張光龍, 張建偉
(成都大學(xué) 信息科學(xué)與工程學(xué)院, 四川 成都 610106)
由于工業(yè)化進(jìn)程和工廠對流水線智能生產(chǎn)的需求,企業(yè)現(xiàn)在需要采用自動識別裝置來檢測產(chǎn)品是否合格.模板匹配是模式識別算法中比較經(jīng)典的一種,一般情況下,模板匹配算法可以通過其匹配度和灰度值作為判斷條件快速完成檢測.單一背景下檢測較容易實(shí)現(xiàn),但是檢測零配件上的卡扣是否安裝卻不容易,因?yàn)槠浔尘拜^為復(fù)雜.圖像是由場景中的物體反射、投射或吸收照射源的能量而產(chǎn)生的,照射源可以是可見光、雷達(dá)波、紅外線及X射線等[1].在不同受光角度下,物體產(chǎn)生不同程度的反光,使得圖像背景極其復(fù)雜,難以檢測.對此,本研究針對零件卡扣在不同受光角度下的不同程度復(fù)雜背景,對卡扣自動檢測算法進(jìn)行了探討.
卡扣自動檢測系統(tǒng)結(jié)構(gòu)示意圖如圖1所示.通常,在流水生產(chǎn)線上,電荷耦合器件(Charge coupled device,CCD)相機(jī)和光源(普通光源)是固定不變的,不確定的是被檢測物的傾斜度(被測面傾斜度改變相當(dāng)于被測平面不變,光源角度改變).在調(diào)整被檢測面的角度時(shí),由于光線與被照面角度的原因使得被檢測區(qū)域產(chǎn)生不同程度的反光效果,檢測圖像背景變得復(fù)雜.同時(shí),在其他角度下由于背光等原因使得被檢測面可能不產(chǎn)生反光,也可能不但沒有反光,而且很暗淡,對比度極低,難以檢測.
圖1卡扣自動檢測系統(tǒng)結(jié)構(gòu)示意圖
由圖1可知,被檢測平面與水平面的夾角為θ,且不確定.
1)θ為15 °時(shí),被側(cè)面卡扣位置清晰,特征比較明顯,背景區(qū)域呈黑色,有微弱的反光,如圖2所示.
圖2θ=15 °時(shí)被測圖像
2)θ為0 °時(shí),被側(cè)面卡扣非常清晰,特征明顯,但是反光效果強(qiáng)烈,使得卡扣周圍背景呈灰白色,如圖3所示.
3)θ為-15 °時(shí),光線較暗,卡扣與周圍環(huán)境對比度很小,特征不明顯,雖然無反光效果,但背景噪聲復(fù)雜,如圖4所示.
圖3θ=0 °時(shí)被測圖像
圖4θ=-15 °時(shí)被測圖像
數(shù)字圖像是由有限數(shù)量的元素組成的,每個(gè)元素都有一個(gè)特殊的位置和數(shù)值[2].組成數(shù)字圖像的基本單位是像素,就是說,數(shù)字圖像是像素的集合[3].模板匹配算法實(shí)際上是通過滑窗的方式將模板與原圖的子圖進(jìn)行對比來尋找模板與子圖像的相似性.假如存在模板T(W×M),將其疊放在原圖S(H×N)上平移,那么原圖稱為被搜索圖,而在被搜索圖上模板覆蓋的那塊區(qū)域稱為子圖Sij,(i,j)為子圖左上角在被搜索圖S上的坐標(biāo)[4].其搜索范圍是,
(1)
通過比較T和Sij的相似性,完成模板匹配.
實(shí)際項(xiàng)目中,被搜索圖往往是整張圖像,對比之下需要檢測的部分是非常小的.所以,在不影響檢測效果的前提下,應(yīng)盡量減小被搜索區(qū)域的面積來減少計(jì)算量,同時(shí)也可提高檢測質(zhì)量.
圖像處理領(lǐng)域中,為了專注或簡化工作過程,需要設(shè)置感興趣區(qū)域(Region of interest,ROI),也就是從圖像中選擇一個(gè)圖像區(qū)域,這個(gè)區(qū)域是圖像分析所關(guān)注的重點(diǎn).圖5為取不同尺寸大小Roisize的被搜索區(qū)域圖.
圖5 3張不同尺寸大小的被搜索區(qū)域圖
如圖5所示,(a)、(b)與(c)分別是(140×140)、(120×120)與(100×100)的3張被搜索圖.最小面積的(c)圖在匹配運(yùn)算中速度最快,也與模板匹配度最高.
為了衡量模板T和子圖Sij的匹配程度,本研究將歐式距離相似性函數(shù)式(2)右邊展開,得式(3),
(2)
(3)
式(3)中,第1項(xiàng)和第3項(xiàng)在選定模板之后則為定值,相似度其實(shí)只取決于第2項(xiàng),對于歐式距離而言,值越大相似性越低,即第2項(xiàng)值越小越相似.
將中間項(xiàng)歸一化,有,
(4)
當(dāng)R(i,j)=1時(shí),表示模板與子圖完全相等.
卡扣自動檢測算法流程圖如圖6所示.
圖6中,左側(cè)為原始圖像的處理步驟:首先對輸入的圖像數(shù)據(jù)進(jìn)行預(yù)處理,在不影響檢測效果的情況下,可以將彩色圖像轉(zhuǎn)化為灰度圖像,以便減少數(shù)據(jù)量而提高算法效率,然后采用二值化對圖像進(jìn)一步處理[5].圖像在成像、傳輸、轉(zhuǎn)換或存儲的過程中會受到各種隨機(jī)干擾信號即噪聲的影響,從而會使畫面變得粗糙、質(zhì)量下降、特征淹沒.為了減弱噪聲、還原真實(shí)圖像,圖像數(shù)據(jù)需要濾波處理.常用的濾波方法有中值濾波、雙邊濾波、均值濾波及高斯濾波等, 中值濾波是圖像處理技術(shù)中最常用的預(yù)處理技術(shù),它在平滑脈沖噪聲方面非常有效,同時(shí)它可以保護(hù)圖像尖銳的邊緣.
圖6卡扣自動檢測算法流程圖
圖6中,右側(cè)是模板的處理步驟:同理,首先獲取模板的圖像數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行灰度化和二值化處理,之后用中值濾波降噪.
最后,將處理后子圖和模板進(jìn)行匹配運(yùn)算,如果得到的結(jié)果在設(shè)定的閾值之內(nèi),那么檢測成功,否則失敗.
本研究利用C++編程語言實(shí)現(xiàn)卡扣自動檢測算法,Tempsize是模板尺寸(40×40),Roisize是被搜索圖(即原圖的子圖)尺寸(根據(jù)項(xiàng)目的實(shí)際情況,此處被搜索尺寸不宜太小,綜合分析后取120×120).分割閾值Threshold取28,匹配閾值MatchingValue取值400.而dMax表示匹配差值像素點(diǎn)的個(gè)數(shù),其值越大表示模板與子圖相似度越低,檢測效果越差;其值越小,表示相似度越高,檢測效果越好;當(dāng)dMax=0時(shí),說明兩圖完全相同,檢測效果最好.
在2.5 GHz Inter i5-7300處理器及8 GB內(nèi)存的Windows 10系統(tǒng)下,本研究利用Visual Studio 2010和OpenCv 2.4.6.0軟件配置環(huán)境進(jìn)行自動檢測算法仿真實(shí)驗(yàn),結(jié)果如圖7所示.
圖7(a)、7(b)及7(c)分別是圖2、圖3及圖4的檢測結(jié)果.仿真實(shí)驗(yàn)得到的相似度情況如表1所示.
由表1可知,不同的θ值對應(yīng)不同程度的復(fù)雜背景.第2組和第1組比較時(shí)背景反光明顯增強(qiáng),因此圖像匹配結(jié)果相似度值增大(相似度值越小越相似).第3組和第2組相比,雖然沒有了反光,但是由于光線暗淡的原因使得卡扣與周圍環(huán)境的對比度極低,周圍環(huán)境很容易成為噪聲干擾,因此相似度值也增大了很多,超出了本研究所設(shè)定的匹配閾值,自動檢測失敗.不同被搜索圖尺寸下的檢測結(jié)果如表2所示.
圖7 不同θ值對應(yīng)的檢測結(jié)果圖
表2 不同Roisize值對應(yīng)結(jié)果
表2中的每一行數(shù)據(jù)分別對應(yīng)圖5(a)、5(b)、5(c),被搜索區(qū)域面積最小的(c)匹配相似度最高.
流水生產(chǎn)線上的卡扣自動識別檢測受圖像背景的影響,雖然在仿真過程中兩組反光背景下卡扣都成功被檢測到,但是反光和光線太暗會使檢測結(jié)果的值偏大從而造成檢測效果低下,甚至檢測失敗.背景越復(fù)雜,自動檢測越會被干擾;背景越單純,對比度適當(dāng)提高越有利于檢測.所以,在實(shí)際流水生產(chǎn)線上選擇將θ值固定以確保背景不會變得更復(fù)雜,從而提高檢測質(zhì)量.由項(xiàng)目現(xiàn)場測試數(shù)據(jù)顯示,本卡扣自動檢測算法的成功率可達(dá)98%.