王 展, 杜正春
(上海交通大學 機械動力工程學院,上海 201100)
密封條是現代汽車內的重要部件之一,通常應用在車門、車窗和發動機等需要保證密閉性的位置,具有隔音、防塵和防水等功能,對于提高駕駛舒適性與安全性有著重要的作用[1],對幾何尺寸精度要求較高。傳統的密封條長度測量方式為人工使用帶刻度的夾具進行固定與測量,但是這種方法效率低下,且測量精度受人為因素影響難以達到要求。使用機器視覺檢測技術能夠解決這一問題,提高密封條長度檢測的精度和效率。
機器視覺是指將采集到的圖像進行處理,提取其中的特征信息。在常用的特征提取方法中模板匹配法使用最為廣泛[2],將待識別圖像與標準模板進行匹配,具有快速、準確等優點,廣泛應用于各種檢測過程[3-5]。但傳統模板匹配對圖像旋轉與噪聲特別敏感,極易出現匹配錯誤,密封條本身易變形且不反光的特點會給模板匹配造成一定影響。
為了消除圖像旋轉給模板匹配造成的影響,不少學者對此展開研究,如使用外接矩陣求得待匹配區域的旋轉角度[6],對其修正后進行匹配,但這種方法只適用于長寬差距較大的特征;一些學者從模板角度出發,使用多模板匹配的方法[7-8]增加匹配成功率,但需要一開始就將所有可能出現的模板進行儲存,適用性不強;不使用圖像本身,而使用一些具有旋轉不變性的特征向量進行模板匹配[9-11],可以增強模板匹配的適用性,但要求圖像本身具有比較強的紋理特征,特征點的數量充足。使用深度學習法[12-14]也能夠對旋轉圖像進行識別,但需要大量數據進行訓練,部署起來十分困難。綜上所述,這些方法均不適用于密封條長度檢測過程。
筆者針對模板匹配在汽車密封條長度檢測的實際情況,提出一種基于Hough變換的自適應模板更新優化算法,該算法通過對傳統模板匹配結果進行判斷,利用Hough變換結合Mark點的幾何特征,實現模板的自動更新。由于Hough變換本身不受圖像旋轉影響,因此該算法具有對旋轉不敏感的優點。通過實際測量實驗證明了該算法可以提高模板匹配的穩定性,在密封條長度檢測過程中具有較強的應用價值。
汽車密封條通常由橡膠組成,是汽車重要的組件之一,由于其本身具有非常好的彈性和抗壓縮變形等特點,可以起到防風、防水、防震等作用,但同時其易變形性也會給密封條的長度測量造成一定的困擾,通常采取在特定位置添加Mark點的方法來計算各個尺寸信息。圖1為典型的汽車密封條局部圖與Mark點示意圖,可以看出其具有密封條本身對比度不高和Mark點特征不夠明顯的特點,給圖像處理工作帶來了一定困難。后續除原圖外,其余圖像均利用相同對比度拉伸的方法進行增強,方便顯示。

圖1 汽車密封條局部圖與Mark點示意圖
針對汽車密封條的上述特點,設計出密封條長度視覺測長設備。圖2為視覺測長機三維結構圖。該設備主要由床身、絲杠傳動裝置、工業相機和夾具組成。圖3為該設備的工作流程圖。密封條通過專用夾具固定在測長機的工作臺面,絲杠傳動系統驅動工業相機在密封條各個位置處拍照,由于密封條固定在夾具上,其特征點在圖像中的位置相對固定,故選擇劃分適合大小的感興趣區域(Region of Interest,ROI)加快識別速度。通過模板匹配的方法識別出模板在ROI區域內的準確位置,模板內包含特征點的具體坐標,通過相應的坐標系轉換將特征點在模板內的位置轉化為世界坐標系中的位置,通過世界坐標系內不同特征點的位置計算出相應的長度。

圖2 視覺測長機三維結構圖

圖3 視覺測長機工作流程圖
模板匹配是一項在一幅圖片中尋找與模板圖像最匹配部分的技術。其基本原理是在被測圖像中自上而到下、自左到右歷遍與模板圖像大小相同的區域,依據不同的方法計算區域內部與模板的匹配程度,匹配程度越大,說明重合度越高,尋找到重合度最高的區域即找到了模板在圖片中的位置。
本項目采用OpenCV庫中的模板匹配函數,假設原始圖像矩陣為R(x,y);模板圖像矩陣為T(x′,y′);原始圖像每個位置(x,y)的相關系數為I(x,y)。該函數有6種匹配方法。
① TM_SQDIFF。該方法將圖像與模板對應位置的像素值做平方差,匹配值越大表明當前區域匹配效果越差。
(1)
② TM_SQDIFF_NORMED。將方法①進行歸一化處理,匹配值越大表明當前區域匹配效果越差。
(2)
③ TM_CCORR。該方法將圖像與模板對應位置的像素值做乘積,匹配值越大表明當前區域匹配效果越好,該方法通常具有一定的局限性。

(3)
④ TM_CCORR_NORMED。將方法③進行歸一化處理,匹配值越大表明匹配效果越好。
(4)
⑤ TM_CCOEFF。該方法將模板圖像每個位置像素值對其均值的差與匹配區域每個像素對其均值的差進行相關性匹配,匹配值最大處為最佳匹配位置,匹配值最小處未最差匹配位置。w、h分別為模板的寬和高。

(5)
⑥ TM_CCOEFF_NORMED。對方法⑤進行歸一化處理,匹配值越大匹配效果越好。
(6)
不同的匹配方法適應不同的匹配場景,為了確定最佳的匹配方法,本文在第3節設計了相關實驗確定具體的模板匹配方法。
由上文可知,即使密封條在夾具的固定下每次變形量并不大,但是模板匹配由于自身匹配機制的局限性,并不能保證每次識別成功。針對該問題以及Mark點本身的結構特征,設計出一種模板自適應更新的模板匹配算法,該算法流程如圖4所示,主要分為圖像預處理、直線檢測及篩選、圓檢測及篩選和模板更新4個部分。

圖4 算法流程圖
首先需要對模板匹配結果進行判斷,由上文可知,模板匹配過程中會依據匹配方式的不同而選擇不同的評價標準,得到圖像不同區域的置信度,選取置信度最大的區域作為該模板的位置,依據置信度的范圍可以通過設定合適的閾值Threshold來對當前模板匹配效果進行一個判斷。
如果此次模板匹配的置信度小于閾值,則認為該次模板匹配效果不好,進入模板更新階段,在模板更新階段,會先對原始圖像進行預處理。預處理主要包含對圖像的濾波和邊緣檢測。傳統的濾波方式如高斯濾波可以很好地去除噪聲,但是也會造成邊緣模糊,不利于高頻細節的保留。雙邊濾波器是一種非線性的濾波方法,它在傳統的高斯濾波的基礎上增加了高斯方差sigmd-d,它是基于空間分布的高斯濾波函數,可以實現在消除低頻噪聲的基礎上很好地保留高頻細節,其公式為
(7)
式中:(i,j)為當前被卷積像素的像素點;(k,l)為相鄰像素的坐標點。可以看出,它取決于被卷積像素與周圍像素之間的灰度值差。當灰度值差較大時,會產生一個較小的權值,減少濾波帶來的影響;灰度值差較小時,會產生一個較大的權值,不影響正常的濾波功能。該公式與高斯濾波卷積核相乘,可以得到雙邊濾波的計算公式為
(8)
圖5為雙邊濾波與高斯濾波的效果對比,可以看出,邊緣濾波相對于高斯濾波,Mark點周圍的細節得到了很好的保留,同時對背景進行了平滑處理,減少了噪聲,對雙邊濾波后的圖像進行邊緣檢測,可以將Mark點很好地提取出來。

圖5 預處理效果圖
在得到邊緣檢測后的二值圖像后,需要利用Hough變換對特征點坐標進行提取。該過程主要由直線檢測與篩選、圓檢測與篩選組成。
Hough直線檢測是常用的直線提取方法,該方法將圖像從原圖像空間變換到參數空間,即將每個像素點中所有可能存在的曲線在極坐標下的斜率與節距(θ,r)進行統計,通過對離散的(θ,r)進行計數,通過提取其峰值坐標得到可能存在的直線參數,該方法可以有效地提取處圖像中的直線信息。在得到直線之后,依據Mark點其中一條直線與另一條直線垂直的特點,對得到的直線進行初步篩選,同時記錄每一對垂直的直線的交點坐標,圖6為直線檢測的原始圖像與篩選過后的圖像。

圖6 直線檢測效果圖
Hough圓原理與直線類似,只不過其參數空間為圓心坐標(a,b)和半徑r組成的三維空間,同樣是對離散的(a,b,r)進行計數,通過提取峰值坐標得到可能存在的圓參數。由于三維參數空間樣本數量劇增,因此一般會限定半徑r的范圍來減少計算量。通過給定Mark點外接圓的直徑范圍,對原圖像進行圓檢測,檢測完成后對圓進行初步篩選,計算每一個圓心的坐標與垂直線對交點的距離,保留距離小于閾值的圓的信息。
在完成圓的初篩工作后,需要對圓進行復篩,通常來說此時圓會分散在圖像的各個區域,其中Mark點周圍的圓數量是最多的,此時對圓進行聚類算法。對初篩后的圓進行歷遍,將當前圓的圓心坐標與已分類的不同類別的圓心坐標平均值作比較,距離小于某個閾值則認為該圓屬于該類別,否則將圓視為一種新的類別。此算法可以將初篩后的圓根據圓心坐標分為不同的類。之后將數量最多的類的圓心坐標平均值作為Mark點的坐標。圖7為圓檢測及篩選過程,可以看出該算法具有較好的識別效果。

圖7 圓檢測圖像效果圖
在完成識別工作后,將識別出的最大圓直徑的1.1倍作為模板圖像的尺寸,在原始圖像中截取相應部分作為新的模板圖像,同時將特征點的坐標位置記錄下來,組成完整的模板信息,供下次匹配使用。
為了能夠對模板進行自適應更新,需要利用模板匹配的置信度與閾值Threshold進行對比。好的模板匹配方法應該有較高的準確性、較快的識別速度,同時置信度有較大的變化范圍,為了探究最適合密封條模板匹配的方法和Threshold參數,對同一根密封條重復裝夾16次,其中前13次為謹慎規范裝夾后拍攝圖片,后3次為模擬操作工不規范裝夾導致Mark點有輕微形變后拍攝圖片,將第1張圖片中的特征點信息作為模板,以此探究傳統模板匹配法在實際檢測過程中的效果。
利用模板與圖像進行匹配得到各個方法的匹配精度與平均時間,以及不同匹配情況下置信度的范圍區間,6種模板匹配方法效果如表1所示。其中由于每張圖片尺寸不同,因此只記錄3種歸一化方法的置信度區間。
由實驗可以看出,6種方法的平均時間相近,但是準確性有較大差別,雖然TM_CCORR_NORMED較 TM_CCOEFF_NORMED精度略高,但前者識別置信度在0.98~0.99之間,而后者置信度在0.4~0.95之間,相比之下具有更高的辨識度。綜合考慮,本文選擇TM_CCOEFF_NORMED方法作為模板匹配的標準方法。同時Threshold參數設置為0.6,用來判斷模板匹配效果的好壞。

表1 6種模板匹配方法效果
依據上述實驗結果,TM_CCOEFF_NORMED模板匹配方法在12張規范裝夾照片中識別出了11張,3張不規范裝夾照片中識別出了1張,可以看出在規范裝夾時模板匹配識別成功率較高,但是面對不規范裝夾導致的圖像旋轉等形變時,模板匹配就失效了。
為了探究本文提出的優化算法的效果,需要驗證該優化算法中Hough變換算法本身的準確度。選取與上節相同的模板與待匹配圖像進行實驗,同時對上述15張待匹配圖片分別順時針、逆時針旋轉20°,以此模擬在實際檢測過程中特征點的極限旋轉情況。兩種算法對比如表2所示。

表2 模板匹配算法與Hough算法對比
該實驗證明Hough算法相較于傳統的模板匹配算法,在實際檢測過程中具有更高的準確性,同時可以克服圖像旋轉帶來的影響,識別效果更加穩定。但是耗時較長,不利于快速檢測。圖8為模板匹配與優化算法識別效果,可以看到其中一張圖片旋轉前后兩種方法的識別結果對比。
在實際的測量過程中,優化算法只會在模板匹配置信度低于閾值時調用Hough算法,生成新的模板便于下次模板匹配。為了驗證優化算法在實際測量中的效果,對同一根密封條進行重復裝夾30次的實驗,對拍攝的圖像分別使用模板匹配法與優化算法進行對比,得到的實驗結果如表3所示。

圖8 模板匹配與優化算法識別效果

表3 模板匹配算法與優化算法效果對比
由上述實驗可以發現,相對于模板匹配法,自適應模板更新算法有更高的準確性,該算法將模板匹配與Hough變換相結合,在模板匹配失效時生成新的模板圖像進行儲存,下一次識別失敗的時候會優先調用儲存的模板圖片,如果所有的模板圖片均匹配失敗則再啟動模板更新的算法,可以保證匹配速度的同時提升匹配的準確性。
針對特征檢測過程中模板匹配對于圖像形變異常敏感的問題,提出一種基于Hough變換的自適應模板更新算法。利用傳統模板匹配結果置信度判斷匹配效果的好壞,將原始圖像進行雙邊濾波、Hough變換和篩選后提取出特征點相關信息,形成新的模板進行儲存,用于下一次模板匹配。該算法創新性地將模板匹配與Hough變換相結合,實現了模板的自適應更新,不僅維持了模板匹配法匹配速度快的優點,同時極大地提升了實際測量的準確度,在實時性和精度方面均能滿足實際檢測的需求,具有較高的應用價值。但是該算法對非剛性形變檢測準確率較低,有待進一步提高。