張光龍, 張建偉
(成都大學 信息科學與工程學院, 四川 成都 610106)
由于工業化進程和工廠對流水線智能生產的需求,企業現在需要采用自動識別裝置來檢測產品是否合格.模板匹配是模式識別算法中比較經典的一種,一般情況下,模板匹配算法可以通過其匹配度和灰度值作為判斷條件快速完成檢測.單一背景下檢測較容易實現,但是檢測零配件上的卡扣是否安裝卻不容易,因為其背景較為復雜.圖像是由場景中的物體反射、投射或吸收照射源的能量而產生的,照射源可以是可見光、雷達波、紅外線及X射線等[1].在不同受光角度下,物體產生不同程度的反光,使得圖像背景極其復雜,難以檢測.對此,本研究針對零件卡扣在不同受光角度下的不同程度復雜背景,對卡扣自動檢測算法進行了探討.
卡扣自動檢測系統結構示意圖如圖1所示.通常,在流水生產線上,電荷耦合器件(Charge coupled device,CCD)相機和光源(普通光源)是固定不變的,不確定的是被檢測物的傾斜度(被測面傾斜度改變相當于被測平面不變,光源角度改變).在調整被檢測面的角度時,由于光線與被照面角度的原因使得被檢測區域產生不同程度的反光效果,檢測圖像背景變得復雜.同時,在其他角度下由于背光等原因使得被檢測面可能不產生反光,也可能不但沒有反光,而且很暗淡,對比度極低,難以檢測.

圖1卡扣自動檢測系統結構示意圖
由圖1可知,被檢測平面與水平面的夾角為θ,且不確定.
1)θ為15 °時,被側面卡扣位置清晰,特征比較明顯,背景區域呈黑色,有微弱的反光,如圖2所示.

圖2θ=15 °時被測圖像
2)θ為0 °時,被側面卡扣非常清晰,特征明顯,但是反光效果強烈,使得卡扣周圍背景呈灰白色,如圖3所示.
3)θ為-15 °時,光線較暗,卡扣與周圍環境對比度很小,特征不明顯,雖然無反光效果,但背景噪聲復雜,如圖4所示.

圖3θ=0 °時被測圖像

圖4θ=-15 °時被測圖像
數字圖像是由有限數量的元素組成的,每個元素都有一個特殊的位置和數值[2].組成數字圖像的基本單位是像素,就是說,數字圖像是像素的集合[3].模板匹配算法實際上是通過滑窗的方式將模板與原圖的子圖進行對比來尋找模板與子圖像的相似性.假如存在模板T(W×M),將其疊放在原圖S(H×N)上平移,那么原圖稱為被搜索圖,而在被搜索圖上模板覆蓋的那塊區域稱為子圖Sij,(i,j)為子圖左上角在被搜索圖S上的坐標[4].其搜索范圍是,

(1)
通過比較T和Sij的相似性,完成模板匹配.
實際項目中,被搜索圖往往是整張圖像,對比之下需要檢測的部分是非常小的.所以,在不影響檢測效果的前提下,應盡量減小被搜索區域的面積來減少計算量,同時也可提高檢測質量.
圖像處理領域中,為了專注或簡化工作過程,需要設置感興趣區域(Region of interest,ROI),也就是從圖像中選擇一個圖像區域,這個區域是圖像分析所關注的重點.圖5為取不同尺寸大小Roisize的被搜索區域圖.

圖5 3張不同尺寸大小的被搜索區域圖
如圖5所示,(a)、(b)與(c)分別是(140×140)、(120×120)與(100×100)的3張被搜索圖.最小面積的(c)圖在匹配運算中速度最快,也與模板匹配度最高.
為了衡量模板T和子圖Sij的匹配程度,本研究將歐式距離相似性函數式(2)右邊展開,得式(3),
(2)
(3)
式(3)中,第1項和第3項在選定模板之后則為定值,相似度其實只取決于第2項,對于歐式距離而言,值越大相似性越低,即第2項值越小越相似.
將中間項歸一化,有,
(4)
當R(i,j)=1時,表示模板與子圖完全相等.
卡扣自動檢測算法流程圖如圖6所示.
圖6中,左側為原始圖像的處理步驟:首先對輸入的圖像數據進行預處理,在不影響檢測效果的情況下,可以將彩色圖像轉化為灰度圖像,以便減少數據量而提高算法效率,然后采用二值化對圖像進一步處理[5].圖像在成像、傳輸、轉換或存儲的過程中會受到各種隨機干擾信號即噪聲的影響,從而會使畫面變得粗糙、質量下降、特征淹沒.為了減弱噪聲、還原真實圖像,圖像數據需要濾波處理.常用的濾波方法有中值濾波、雙邊濾波、均值濾波及高斯濾波等, 中值濾波是圖像處理技術中最常用的預處理技術,它在平滑脈沖噪聲方面非常有效,同時它可以保護圖像尖銳的邊緣.

圖6卡扣自動檢測算法流程圖
圖6中,右側是模板的處理步驟:同理,首先獲取模板的圖像數據,然后對數據進行灰度化和二值化處理,之后用中值濾波降噪.
最后,將處理后子圖和模板進行匹配運算,如果得到的結果在設定的閾值之內,那么檢測成功,否則失敗.
本研究利用C++編程語言實現卡扣自動檢測算法,Tempsize是模板尺寸(40×40),Roisize是被搜索圖(即原圖的子圖)尺寸(根據項目的實際情況,此處被搜索尺寸不宜太小,綜合分析后取120×120).分割閾值Threshold取28,匹配閾值MatchingValue取值400.而dMax表示匹配差值像素點的個數,其值越大表示模板與子圖相似度越低,檢測效果越差;其值越小,表示相似度越高,檢測效果越好;當dMax=0時,說明兩圖完全相同,檢測效果最好.
在2.5 GHz Inter i5-7300處理器及8 GB內存的Windows 10系統下,本研究利用Visual Studio 2010和OpenCv 2.4.6.0軟件配置環境進行自動檢測算法仿真實驗,結果如圖7所示.
圖7(a)、7(b)及7(c)分別是圖2、圖3及圖4的檢測結果.仿真實驗得到的相似度情況如表1所示.
由表1可知,不同的θ值對應不同程度的復雜背景.第2組和第1組比較時背景反光明顯增強,因此圖像匹配結果相似度值增大(相似度值越小越相似).第3組和第2組相比,雖然沒有了反光,但是由于光線暗淡的原因使得卡扣與周圍環境的對比度極低,周圍環境很容易成為噪聲干擾,因此相似度值也增大了很多,超出了本研究所設定的匹配閾值,自動檢測失敗.不同被搜索圖尺寸下的檢測結果如表2所示.


圖7 不同θ值對應的檢測結果圖

表2 不同Roisize值對應結果
表2中的每一行數據分別對應圖5(a)、5(b)、5(c),被搜索區域面積最小的(c)匹配相似度最高.
流水生產線上的卡扣自動識別檢測受圖像背景的影響,雖然在仿真過程中兩組反光背景下卡扣都成功被檢測到,但是反光和光線太暗會使檢測結果的值偏大從而造成檢測效果低下,甚至檢測失敗.背景越復雜,自動檢測越會被干擾;背景越單純,對比度適當提高越有利于檢測.所以,在實際流水生產線上選擇將θ值固定以確保背景不會變得更復雜,從而提高檢測質量.由項目現場測試數據顯示,本卡扣自動檢測算法的成功率可達98%.