王 展, 杜正春
(上海交通大學(xué) 機(jī)械動(dòng)力工程學(xué)院,上海 201100)
密封條是現(xiàn)代汽車內(nèi)的重要部件之一,通常應(yīng)用在車門、車窗和發(fā)動(dòng)機(jī)等需要保證密閉性的位置,具有隔音、防塵和防水等功能,對(duì)于提高駕駛舒適性與安全性有著重要的作用[1],對(duì)幾何尺寸精度要求較高。傳統(tǒng)的密封條長(zhǎng)度測(cè)量方式為人工使用帶刻度的夾具進(jìn)行固定與測(cè)量,但是這種方法效率低下,且測(cè)量精度受人為因素影響難以達(dá)到要求。使用機(jī)器視覺(jué)檢測(cè)技術(shù)能夠解決這一問(wèn)題,提高密封條長(zhǎng)度檢測(cè)的精度和效率。
機(jī)器視覺(jué)是指將采集到的圖像進(jìn)行處理,提取其中的特征信息。在常用的特征提取方法中模板匹配法使用最為廣泛[2],將待識(shí)別圖像與標(biāo)準(zhǔn)模板進(jìn)行匹配,具有快速、準(zhǔn)確等優(yōu)點(diǎn),廣泛應(yīng)用于各種檢測(cè)過(guò)程[3-5]。但傳統(tǒng)模板匹配對(duì)圖像旋轉(zhuǎn)與噪聲特別敏感,極易出現(xiàn)匹配錯(cuò)誤,密封條本身易變形且不反光的特點(diǎn)會(huì)給模板匹配造成一定影響。
為了消除圖像旋轉(zhuǎn)給模板匹配造成的影響,不少學(xué)者對(duì)此展開(kāi)研究,如使用外接矩陣求得待匹配區(qū)域的旋轉(zhuǎn)角度[6],對(duì)其修正后進(jìn)行匹配,但這種方法只適用于長(zhǎng)寬差距較大的特征;一些學(xué)者從模板角度出發(fā),使用多模板匹配的方法[7-8]增加匹配成功率,但需要一開(kāi)始就將所有可能出現(xiàn)的模板進(jìn)行儲(chǔ)存,適用性不強(qiáng);不使用圖像本身,而使用一些具有旋轉(zhuǎn)不變性的特征向量進(jìn)行模板匹配[9-11],可以增強(qiáng)模板匹配的適用性,但要求圖像本身具有比較強(qiáng)的紋理特征,特征點(diǎn)的數(shù)量充足。使用深度學(xué)習(xí)法[12-14]也能夠?qū)πD(zhuǎn)圖像進(jìn)行識(shí)別,但需要大量數(shù)據(jù)進(jìn)行訓(xùn)練,部署起來(lái)十分困難。綜上所述,這些方法均不適用于密封條長(zhǎng)度檢測(cè)過(guò)程。
筆者針對(duì)模板匹配在汽車密封條長(zhǎng)度檢測(cè)的實(shí)際情況,提出一種基于Hough變換的自適應(yīng)模板更新優(yōu)化算法,該算法通過(guò)對(duì)傳統(tǒng)模板匹配結(jié)果進(jìn)行判斷,利用Hough變換結(jié)合Mark點(diǎn)的幾何特征,實(shí)現(xiàn)模板的自動(dòng)更新。由于Hough變換本身不受圖像旋轉(zhuǎn)影響,因此該算法具有對(duì)旋轉(zhuǎn)不敏感的優(yōu)點(diǎn)。通過(guò)實(shí)際測(cè)量實(shí)驗(yàn)證明了該算法可以提高模板匹配的穩(wěn)定性,在密封條長(zhǎng)度檢測(cè)過(guò)程中具有較強(qiáng)的應(yīng)用價(jià)值。
汽車密封條通常由橡膠組成,是汽車重要的組件之一,由于其本身具有非常好的彈性和抗壓縮變形等特點(diǎn),可以起到防風(fēng)、防水、防震等作用,但同時(shí)其易變形性也會(huì)給密封條的長(zhǎng)度測(cè)量造成一定的困擾,通常采取在特定位置添加Mark點(diǎn)的方法來(lái)計(jì)算各個(gè)尺寸信息。圖1為典型的汽車密封條局部圖與Mark點(diǎn)示意圖,可以看出其具有密封條本身對(duì)比度不高和Mark點(diǎn)特征不夠明顯的特點(diǎn),給圖像處理工作帶來(lái)了一定困難。后續(xù)除原圖外,其余圖像均利用相同對(duì)比度拉伸的方法進(jìn)行增強(qiáng),方便顯示。
圖1 汽車密封條局部圖與Mark點(diǎn)示意圖
針對(duì)汽車密封條的上述特點(diǎn),設(shè)計(jì)出密封條長(zhǎng)度視覺(jué)測(cè)長(zhǎng)設(shè)備。圖2為視覺(jué)測(cè)長(zhǎng)機(jī)三維結(jié)構(gòu)圖。該設(shè)備主要由床身、絲杠傳動(dòng)裝置、工業(yè)相機(jī)和夾具組成。圖3為該設(shè)備的工作流程圖。密封條通過(guò)專用夾具固定在測(cè)長(zhǎng)機(jī)的工作臺(tái)面,絲杠傳動(dòng)系統(tǒng)驅(qū)動(dòng)工業(yè)相機(jī)在密封條各個(gè)位置處拍照,由于密封條固定在夾具上,其特征點(diǎn)在圖像中的位置相對(duì)固定,故選擇劃分適合大小的感興趣區(qū)域(Region of Interest,ROI)加快識(shí)別速度。通過(guò)模板匹配的方法識(shí)別出模板在ROI區(qū)域內(nèi)的準(zhǔn)確位置,模板內(nèi)包含特征點(diǎn)的具體坐標(biāo),通過(guò)相應(yīng)的坐標(biāo)系轉(zhuǎn)換將特征點(diǎn)在模板內(nèi)的位置轉(zhuǎn)化為世界坐標(biāo)系中的位置,通過(guò)世界坐標(biāo)系內(nèi)不同特征點(diǎn)的位置計(jì)算出相應(yīng)的長(zhǎng)度。
圖2 視覺(jué)測(cè)長(zhǎng)機(jī)三維結(jié)構(gòu)圖
圖3 視覺(jué)測(cè)長(zhǎng)機(jī)工作流程圖
模板匹配是一項(xiàng)在一幅圖片中尋找與模板圖像最匹配部分的技術(shù)。其基本原理是在被測(cè)圖像中自上而到下、自左到右歷遍與模板圖像大小相同的區(qū)域,依據(jù)不同的方法計(jì)算區(qū)域內(nèi)部與模板的匹配程度,匹配程度越大,說(shuō)明重合度越高,尋找到重合度最高的區(qū)域即找到了模板在圖片中的位置。
本項(xiàng)目采用OpenCV庫(kù)中的模板匹配函數(shù),假設(shè)原始圖像矩陣為R(x,y);模板圖像矩陣為T(x′,y′);原始圖像每個(gè)位置(x,y)的相關(guān)系數(shù)為I(x,y)。該函數(shù)有6種匹配方法。
① TM_SQDIFF。該方法將圖像與模板對(duì)應(yīng)位置的像素值做平方差,匹配值越大表明當(dāng)前區(qū)域匹配效果越差。
(1)
② TM_SQDIFF_NORMED。將方法①進(jìn)行歸一化處理,匹配值越大表明當(dāng)前區(qū)域匹配效果越差。
(2)
③ TM_CCORR。該方法將圖像與模板對(duì)應(yīng)位置的像素值做乘積,匹配值越大表明當(dāng)前區(qū)域匹配效果越好,該方法通常具有一定的局限性。
(3)
④ TM_CCORR_NORMED。將方法③進(jìn)行歸一化處理,匹配值越大表明匹配效果越好。
(4)
⑤ TM_CCOEFF。該方法將模板圖像每個(gè)位置像素值對(duì)其均值的差與匹配區(qū)域每個(gè)像素對(duì)其均值的差進(jìn)行相關(guān)性匹配,匹配值最大處為最佳匹配位置,匹配值最小處未最差匹配位置。w、h分別為模板的寬和高。
(5)
⑥ TM_CCOEFF_NORMED。對(duì)方法⑤進(jìn)行歸一化處理,匹配值越大匹配效果越好。
(6)
不同的匹配方法適應(yīng)不同的匹配場(chǎng)景,為了確定最佳的匹配方法,本文在第3節(jié)設(shè)計(jì)了相關(guān)實(shí)驗(yàn)確定具體的模板匹配方法。
由上文可知,即使密封條在夾具的固定下每次變形量并不大,但是模板匹配由于自身匹配機(jī)制的局限性,并不能保證每次識(shí)別成功。針對(duì)該問(wèn)題以及Mark點(diǎn)本身的結(jié)構(gòu)特征,設(shè)計(jì)出一種模板自適應(yīng)更新的模板匹配算法,該算法流程如圖4所示,主要分為圖像預(yù)處理、直線檢測(cè)及篩選、圓檢測(cè)及篩選和模板更新4個(gè)部分。
圖4 算法流程圖
首先需要對(duì)模板匹配結(jié)果進(jìn)行判斷,由上文可知,模板匹配過(guò)程中會(huì)依據(jù)匹配方式的不同而選擇不同的評(píng)價(jià)標(biāo)準(zhǔn),得到圖像不同區(qū)域的置信度,選取置信度最大的區(qū)域作為該模板的位置,依據(jù)置信度的范圍可以通過(guò)設(shè)定合適的閾值Threshold來(lái)對(duì)當(dāng)前模板匹配效果進(jìn)行一個(gè)判斷。
如果此次模板匹配的置信度小于閾值,則認(rèn)為該次模板匹配效果不好,進(jìn)入模板更新階段,在模板更新階段,會(huì)先對(duì)原始圖像進(jìn)行預(yù)處理。預(yù)處理主要包含對(duì)圖像的濾波和邊緣檢測(cè)。傳統(tǒng)的濾波方式如高斯濾波可以很好地去除噪聲,但是也會(huì)造成邊緣模糊,不利于高頻細(xì)節(jié)的保留。雙邊濾波器是一種非線性的濾波方法,它在傳統(tǒng)的高斯濾波的基礎(chǔ)上增加了高斯方差sigmd-d,它是基于空間分布的高斯濾波函數(shù),可以實(shí)現(xiàn)在消除低頻噪聲的基礎(chǔ)上很好地保留高頻細(xì)節(jié),其公式為
(7)
式中:(i,j)為當(dāng)前被卷積像素的像素點(diǎn);(k,l)為相鄰像素的坐標(biāo)點(diǎn)??梢钥闯?,它取決于被卷積像素與周圍像素之間的灰度值差。當(dāng)灰度值差較大時(shí),會(huì)產(chǎn)生一個(gè)較小的權(quán)值,減少濾波帶來(lái)的影響;灰度值差較小時(shí),會(huì)產(chǎn)生一個(gè)較大的權(quán)值,不影響正常的濾波功能。該公式與高斯濾波卷積核相乘,可以得到雙邊濾波的計(jì)算公式為
(8)
圖5為雙邊濾波與高斯濾波的效果對(duì)比,可以看出,邊緣濾波相對(duì)于高斯濾波,Mark點(diǎn)周圍的細(xì)節(jié)得到了很好的保留,同時(shí)對(duì)背景進(jìn)行了平滑處理,減少了噪聲,對(duì)雙邊濾波后的圖像進(jìn)行邊緣檢測(cè),可以將Mark點(diǎn)很好地提取出來(lái)。
圖5 預(yù)處理效果圖
在得到邊緣檢測(cè)后的二值圖像后,需要利用Hough變換對(duì)特征點(diǎn)坐標(biāo)進(jìn)行提取。該過(guò)程主要由直線檢測(cè)與篩選、圓檢測(cè)與篩選組成。
Hough直線檢測(cè)是常用的直線提取方法,該方法將圖像從原圖像空間變換到參數(shù)空間,即將每個(gè)像素點(diǎn)中所有可能存在的曲線在極坐標(biāo)下的斜率與節(jié)距(θ,r)進(jìn)行統(tǒng)計(jì),通過(guò)對(duì)離散的(θ,r)進(jìn)行計(jì)數(shù),通過(guò)提取其峰值坐標(biāo)得到可能存在的直線參數(shù),該方法可以有效地提取處圖像中的直線信息。在得到直線之后,依據(jù)Mark點(diǎn)其中一條直線與另一條直線垂直的特點(diǎn),對(duì)得到的直線進(jìn)行初步篩選,同時(shí)記錄每一對(duì)垂直的直線的交點(diǎn)坐標(biāo),圖6為直線檢測(cè)的原始圖像與篩選過(guò)后的圖像。
圖6 直線檢測(cè)效果圖
Hough圓原理與直線類似,只不過(guò)其參數(shù)空間為圓心坐標(biāo)(a,b)和半徑r組成的三維空間,同樣是對(duì)離散的(a,b,r)進(jìn)行計(jì)數(shù),通過(guò)提取峰值坐標(biāo)得到可能存在的圓參數(shù)。由于三維參數(shù)空間樣本數(shù)量劇增,因此一般會(huì)限定半徑r的范圍來(lái)減少計(jì)算量。通過(guò)給定Mark點(diǎn)外接圓的直徑范圍,對(duì)原圖像進(jìn)行圓檢測(cè),檢測(cè)完成后對(duì)圓進(jìn)行初步篩選,計(jì)算每一個(gè)圓心的坐標(biāo)與垂直線對(duì)交點(diǎn)的距離,保留距離小于閾值的圓的信息。
在完成圓的初篩工作后,需要對(duì)圓進(jìn)行復(fù)篩,通常來(lái)說(shuō)此時(shí)圓會(huì)分散在圖像的各個(gè)區(qū)域,其中Mark點(diǎn)周圍的圓數(shù)量是最多的,此時(shí)對(duì)圓進(jìn)行聚類算法。對(duì)初篩后的圓進(jìn)行歷遍,將當(dāng)前圓的圓心坐標(biāo)與已分類的不同類別的圓心坐標(biāo)平均值作比較,距離小于某個(gè)閾值則認(rèn)為該圓屬于該類別,否則將圓視為一種新的類別。此算法可以將初篩后的圓根據(jù)圓心坐標(biāo)分為不同的類。之后將數(shù)量最多的類的圓心坐標(biāo)平均值作為Mark點(diǎn)的坐標(biāo)。圖7為圓檢測(cè)及篩選過(guò)程,可以看出該算法具有較好的識(shí)別效果。
圖7 圓檢測(cè)圖像效果圖
在完成識(shí)別工作后,將識(shí)別出的最大圓直徑的1.1倍作為模板圖像的尺寸,在原始圖像中截取相應(yīng)部分作為新的模板圖像,同時(shí)將特征點(diǎn)的坐標(biāo)位置記錄下來(lái),組成完整的模板信息,供下次匹配使用。
為了能夠?qū)δ0暹M(jìn)行自適應(yīng)更新,需要利用模板匹配的置信度與閾值Threshold進(jìn)行對(duì)比。好的模板匹配方法應(yīng)該有較高的準(zhǔn)確性、較快的識(shí)別速度,同時(shí)置信度有較大的變化范圍,為了探究最適合密封條模板匹配的方法和Threshold參數(shù),對(duì)同一根密封條重復(fù)裝夾16次,其中前13次為謹(jǐn)慎規(guī)范裝夾后拍攝圖片,后3次為模擬操作工不規(guī)范裝夾導(dǎo)致Mark點(diǎn)有輕微形變后拍攝圖片,將第1張圖片中的特征點(diǎn)信息作為模板,以此探究傳統(tǒng)模板匹配法在實(shí)際檢測(cè)過(guò)程中的效果。
利用模板與圖像進(jìn)行匹配得到各個(gè)方法的匹配精度與平均時(shí)間,以及不同匹配情況下置信度的范圍區(qū)間,6種模板匹配方法效果如表1所示。其中由于每張圖片尺寸不同,因此只記錄3種歸一化方法的置信度區(qū)間。
由實(shí)驗(yàn)可以看出,6種方法的平均時(shí)間相近,但是準(zhǔn)確性有較大差別,雖然TM_CCORR_NORMED較 TM_CCOEFF_NORMED精度略高,但前者識(shí)別置信度在0.98~0.99之間,而后者置信度在0.4~0.95之間,相比之下具有更高的辨識(shí)度。綜合考慮,本文選擇TM_CCOEFF_NORMED方法作為模板匹配的標(biāo)準(zhǔn)方法。同時(shí)Threshold參數(shù)設(shè)置為0.6,用來(lái)判斷模板匹配效果的好壞。
表1 6種模板匹配方法效果
依據(jù)上述實(shí)驗(yàn)結(jié)果,TM_CCOEFF_NORMED模板匹配方法在12張規(guī)范裝夾照片中識(shí)別出了11張,3張不規(guī)范裝夾照片中識(shí)別出了1張,可以看出在規(guī)范裝夾時(shí)模板匹配識(shí)別成功率較高,但是面對(duì)不規(guī)范裝夾導(dǎo)致的圖像旋轉(zhuǎn)等形變時(shí),模板匹配就失效了。
為了探究本文提出的優(yōu)化算法的效果,需要驗(yàn)證該優(yōu)化算法中Hough變換算法本身的準(zhǔn)確度。選取與上節(jié)相同的模板與待匹配圖像進(jìn)行實(shí)驗(yàn),同時(shí)對(duì)上述15張待匹配圖片分別順時(shí)針、逆時(shí)針旋轉(zhuǎn)20°,以此模擬在實(shí)際檢測(cè)過(guò)程中特征點(diǎn)的極限旋轉(zhuǎn)情況。兩種算法對(duì)比如表2所示。
表2 模板匹配算法與Hough算法對(duì)比
該實(shí)驗(yàn)證明Hough算法相較于傳統(tǒng)的模板匹配算法,在實(shí)際檢測(cè)過(guò)程中具有更高的準(zhǔn)確性,同時(shí)可以克服圖像旋轉(zhuǎn)帶來(lái)的影響,識(shí)別效果更加穩(wěn)定。但是耗時(shí)較長(zhǎng),不利于快速檢測(cè)。圖8為模板匹配與優(yōu)化算法識(shí)別效果,可以看到其中一張圖片旋轉(zhuǎn)前后兩種方法的識(shí)別結(jié)果對(duì)比。
在實(shí)際的測(cè)量過(guò)程中,優(yōu)化算法只會(huì)在模板匹配置信度低于閾值時(shí)調(diào)用Hough算法,生成新的模板便于下次模板匹配。為了驗(yàn)證優(yōu)化算法在實(shí)際測(cè)量中的效果,對(duì)同一根密封條進(jìn)行重復(fù)裝夾30次的實(shí)驗(yàn),對(duì)拍攝的圖像分別使用模板匹配法與優(yōu)化算法進(jìn)行對(duì)比,得到的實(shí)驗(yàn)結(jié)果如表3所示。
圖8 模板匹配與優(yōu)化算法識(shí)別效果
表3 模板匹配算法與優(yōu)化算法效果對(duì)比
由上述實(shí)驗(yàn)可以發(fā)現(xiàn),相對(duì)于模板匹配法,自適應(yīng)模板更新算法有更高的準(zhǔn)確性,該算法將模板匹配與Hough變換相結(jié)合,在模板匹配失效時(shí)生成新的模板圖像進(jìn)行儲(chǔ)存,下一次識(shí)別失敗的時(shí)候會(huì)優(yōu)先調(diào)用儲(chǔ)存的模板圖片,如果所有的模板圖片均匹配失敗則再啟動(dòng)模板更新的算法,可以保證匹配速度的同時(shí)提升匹配的準(zhǔn)確性。
針對(duì)特征檢測(cè)過(guò)程中模板匹配對(duì)于圖像形變異常敏感的問(wèn)題,提出一種基于Hough變換的自適應(yīng)模板更新算法。利用傳統(tǒng)模板匹配結(jié)果置信度判斷匹配效果的好壞,將原始圖像進(jìn)行雙邊濾波、Hough變換和篩選后提取出特征點(diǎn)相關(guān)信息,形成新的模板進(jìn)行儲(chǔ)存,用于下一次模板匹配。該算法創(chuàng)新性地將模板匹配與Hough變換相結(jié)合,實(shí)現(xiàn)了模板的自適應(yīng)更新,不僅維持了模板匹配法匹配速度快的優(yōu)點(diǎn),同時(shí)極大地提升了實(shí)際測(cè)量的準(zhǔn)確度,在實(shí)時(shí)性和精度方面均能滿足實(shí)際檢測(cè)的需求,具有較高的應(yīng)用價(jià)值。但是該算法對(duì)非剛性形變檢測(cè)準(zhǔn)確率較低,有待進(jìn)一步提高。