徐萬澤,李柏林,歐 陽,羅劍橋
(西南交通大學(xué) 機(jī)械工程學(xué)院,四川 成都 610031)
模板匹配已經(jīng)被廣泛的應(yīng)用于圖像處理和計(jì)算機(jī)視覺領(lǐng)域[1]。在金屬零件的模板匹配過程中,由于模板圖像中一般只包含零件的一個(gè)特征面,而在采集到的識(shí)別圖像中除了包含特征面以外,還會(huì)出現(xiàn)零件的不同的側(cè)面,金屬零件的其他側(cè)面與特征面具有相似的顏色、加工紋理等特征,使用現(xiàn)有的模板匹配方法并不能很好地解決這類問題,因此需要提出一種新的模板匹配算法。
本文提出了一種利用包含主要紋理特征信息的環(huán)形特征模板代替整幅模板的方法,特征在具有旋轉(zhuǎn)不變性與一定尺度不變性的同時(shí),有效地降低了由于匹配圖像中包含金屬零件不同側(cè)面對(duì)匹配準(zhǔn)確度帶來的干擾。
模板匹配是指在給出模板圖像與目標(biāo)圖像時(shí),通過計(jì)算特征相似度,找出目標(biāo)圖像中與模板圖像最相似的區(qū)域。目前,模板匹配廣泛應(yīng)用于人臉識(shí)別、視覺定位、目標(biāo)追蹤、場(chǎng)景識(shí)別等領(lǐng)域[2,3]。模板匹配的基本方法可大致分為4類:基于頻域和相位的模板匹配、基于灰度值的模板匹配、基于像素梯度的模板匹配、基于局部特征的模板匹配,而現(xiàn)在的研究主要是利用不同特征的融合進(jìn)行的模板匹配,本文的方法主要采用了像素值、像素梯度和局部特征。
例如SAD[4],SSD[5]等算法,通過直接計(jì)算灰度值之間的一階或二階范數(shù),匹配具有較高的精度,但對(duì)噪聲和光照比較敏感。NCC、MTM[6]等算法,通過利用圖像間的互相關(guān)性克服了光照的影響,但不適用于局部遮擋的圖像。
例如基于形狀的模板匹配算法[7],基于廣義霍夫曼變換(GHT)的模板匹配算法,基于局部區(qū)域的模板匹配算法GLOH[8]等。通過計(jì)算像素梯度,可以找到梯度方向相同的成對(duì)特征點(diǎn),可以很好地克服光照變化、局部遮擋和污染對(duì)匹配特征帶來的影響。但這些方法對(duì)于由運(yùn)動(dòng)引起的邊緣模糊、相機(jī)引起的聚焦模糊魯棒性效果欠佳,幾乎不具備尺度不變性和旋轉(zhuǎn)不變性。
例如具有尺度不變性的特征匹配算法SIFT[9]以及加速版的SIFT算法SURF等,采用高斯金字塔差分等方法改變圖像空間尺度,使匹配特征具有尺度不變性,通過計(jì)算梯度主方向?qū)植繄D像塊進(jìn)行方向校正,使匹配特征具有旋轉(zhuǎn)不變性。這類算法通常比其他算法有更優(yōu)越的表現(xiàn),是目前圖像處理領(lǐng)域與計(jì)算機(jī)視覺領(lǐng)域主要使用的方法。但是它們的性能在很大程度上取決于提取的局部特征的質(zhì)量和穩(wěn)定性。如果沒有足夠的感興趣點(diǎn),如在簡(jiǎn)單的曲線圖像中,此類方法的匹配效果將大大降低。
大多數(shù)的模板匹配算法都是針對(duì)特定的問題,而對(duì)于目標(biāo)自身存在方向變化且同時(shí)具有尺度變化和旋轉(zhuǎn)變化的問題研究較少。在自然場(chǎng)景下,往往會(huì)同時(shí)面臨各種復(fù)雜的干擾和不同的變化,如在金屬零件生產(chǎn)線上,圖像采集時(shí)零件擺放的位置和方向不同使匹配圖像中存在零件的不同側(cè)面,同時(shí)還會(huì)產(chǎn)生零件的尺度和旋轉(zhuǎn)的變換,因此需要提出一種能在目標(biāo)自身存在方向變換時(shí),同時(shí)具有尺度不變性和旋轉(zhuǎn)不變性的模板匹配方法。
為了解決目標(biāo)自身存在方向變化對(duì)模板匹配帶來的干擾,本文將特征面分割成幾個(gè)環(huán)形區(qū)域,取包含最多紋理特征的圓環(huán)區(qū)域代替特征面,以避免目標(biāo)圖像中不同側(cè)面帶來的影響。對(duì)于模板圖像T(x,y),首先將模板分為幾個(gè)同心圓區(qū)域,從同心圓區(qū)域提取特征。
第一步:通過雙線性插值,改變模板圖像T的大小,改變尺度變化比例為Si,圖像為Ti,i=∈(1,2,…,N)。
如果T(x,y)的大小為WT×HT,則尺寸改變后的Ti(x,y)的大小為
(1)
第二步:如圖1(A)所示,以圖像中心為圓心,將圖像劃分為若干個(gè)同心圓區(qū)域,在尺度變化比例為Si的模板圖像Ti(x,y)內(nèi)的最大圓半徑為Rmax=min(WTi,HTi)。圓形區(qū)域劃分步長(zhǎng)為d
Ri+1=Ri+d
(2)
在模板匹配過程中,為了減少計(jì)算量和加快算法的整體運(yùn)算速度,首先使用簡(jiǎn)單特征從目標(biāo)圖像中預(yù)篩選出幾個(gè)預(yù)選區(qū)域,再進(jìn)行精確篩選。本文直接采用了每個(gè)圓環(huán)區(qū)域中各自的平均像素大小作為預(yù)選特征,如圖1(B)所示為有三個(gè)圓環(huán)區(qū)域時(shí)的預(yù)選區(qū)域篩選特征。
在ARRCH算法中[10],僅采用圖像像素梯度方向作為匹配特征,就很好體現(xiàn)了目標(biāo)圖像中的邊緣和紋理特征,因此本文也采用像素梯度方向作為精選匹配特征。
1)像素梯度幅值與方向
根據(jù)特征關(guān)聯(lián)算子Sobel近似計(jì)算像素梯度幅值與方向。若原圖為A,Gx及Gy分別代表橫向及縱向像素差分,計(jì)算公式如下
(3)
圖像中每個(gè)像素點(diǎn)的梯度近似幅值G與梯度近似方向θ可用以下公式來計(jì)算
(4)
2)方向矯正
如圖1(C)所示,在尺度變化比例為Si的模板圖像Ti(x,y)上,計(jì)算梯度平均方向βi作為圖像的主方向。
(5)
3)確定環(huán)形特征區(qū)域
穩(wěn)定點(diǎn)的提取分為三步:
(6)
第三步,當(dāng)同時(shí)滿足第一步、第二步條件時(shí)確定為穩(wěn)定點(diǎn)Wi。
如圖1(D)所示,取穩(wěn)定點(diǎn)最多的圓環(huán)特征區(qū)域作為Ti(x,y)上的特征圓環(huán)γi,用環(huán)形區(qū)域圖像γi代替整幅模板圖像作為模板。
4)特征提取
圖1 算法部分中間結(jié)果
根據(jù)2.2節(jié)中的預(yù)選區(qū)域篩選特征和2.3節(jié)中的精確匹配特征,本文設(shè)計(jì)了一種先采用預(yù)選區(qū)域篩選特征進(jìn)行粗定位,再使用精確匹配特征進(jìn)行精確篩選的由粗到精的匹配策略。如圖2所示。
圖2 由粗到精的匹配
1)預(yù)選區(qū)域篩選
2)精確匹配
(7)
為了評(píng)估算法的效果,給出一種評(píng)估方法用于衡量算法的準(zhǔn)確值A(chǔ)C
(8)
式中AC為匹配準(zhǔn)確值,OT為理想模板的中心位置,Ot為匹配區(qū)域的中心位置,D為模板的對(duì)角線長(zhǎng)。從公式可以看出,OT與Ot位置越接近準(zhǔn)確率越高。
從生產(chǎn)線上采集了10種不同種類的零件,在模板圖像中,只包含零件的頂面,作為模板的特征面。在測(cè)試圖像中,圖像除了特征面外,還包含了一到兩個(gè)完全不同的側(cè)面,每種零件采集了4張測(cè)試圖像。另外,為了評(píng)估算法在尺度變化和旋轉(zhuǎn)變換下的性能,每張測(cè)試圖像又進(jìn)行了相應(yīng)的變換,擴(kuò)展測(cè)試集(i)圖像尺度Si變換由0.5-1.75,變換步長(zhǎng)為0.25,共產(chǎn)生200張不同尺寸的圖像。測(cè)試集(ii)旋轉(zhuǎn)變換由60°-300°,變換角度步長(zhǎng)為60°,共產(chǎn)生200張不同角度的圖像。測(cè)試集(iii)圖像同時(shí)具有尺度變化與旋轉(zhuǎn)變換,尺度Si變換由0.1-0.5,變換步長(zhǎng)為0.1,旋轉(zhuǎn)變換由60°-300°,變換角度步長(zhǎng)為60°,兩種變換對(duì)應(yīng)融合,例如當(dāng)尺度Si為0.1時(shí)旋轉(zhuǎn)變換為60°,共產(chǎn)生200張不同尺度和不同旋轉(zhuǎn)角度的圖像。
預(yù)設(shè)最小同心圓半徑為60,步長(zhǎng)d由10到50,每次增加5。對(duì)于同心圓的步長(zhǎng)d,當(dāng)d過大時(shí),同心圓區(qū)域較小,在預(yù)選區(qū)域時(shí)得到的特征維度較低,很容易出現(xiàn)預(yù)選區(qū)域定位偏差較大,從而降低了算法的AC值。而當(dāng)d非常小時(shí),精確匹配環(huán)形區(qū)域中所包含的特征較少,往往會(huì)導(dǎo)致錯(cuò)誤的匹配結(jié)果,也會(huì)降低AC值。為了保證匹配的準(zhǔn)確值A(chǔ)C,并使環(huán)形特征區(qū)域盡量包含多的特征信息,綜合實(shí)驗(yàn)結(jié)果圖3所示,本文采用的步長(zhǎng)d=30。
圖3 不同步長(zhǎng)對(duì)準(zhǔn)確值的影響
本文選用了幾個(gè)常用的傳統(tǒng)模板匹配算法,通過實(shí)驗(yàn)將本文算法RTMM與NCC、SSD、SIFT、SURF進(jìn)行了比較,在數(shù)據(jù)集(i)上驗(yàn)證了尺度變換對(duì)準(zhǔn)確值A(chǔ)C的影響;在數(shù)據(jù)集(ii)上驗(yàn)證了旋轉(zhuǎn)變換對(duì)準(zhǔn)確值A(chǔ)C的影響;在數(shù)據(jù)集(iii)上驗(yàn)證了同時(shí)存在尺度變換和旋轉(zhuǎn)變換時(shí),對(duì)準(zhǔn)確值A(chǔ)C的影響。
尺度變換、旋轉(zhuǎn)變換、尺度與旋轉(zhuǎn)變換的平均準(zhǔn)確值A(chǔ)C如圖4所示。
圖4 對(duì)比試驗(yàn)
觀察圖4(A)可以得出,在針對(duì)圖像的旋轉(zhuǎn)變換時(shí),SIFT、SURF和本文算法有不錯(cuò)的表現(xiàn),它們的準(zhǔn)確率非常接近,均大于0.9。觀察圖4(B)可得出,當(dāng)尺度縮放比例大于1時(shí),SIFT與本文算法均有不錯(cuò)的表現(xiàn),SURF在尺度變換超過一定范圍后,準(zhǔn)確值A(chǔ)C迅速降底,而在尺度縮放比例小于0.75時(shí),本文算法明顯優(yōu)于其他幾種算法。觀察圖4(C)可以得出,在同時(shí)存在尺度變換與旋轉(zhuǎn)變換時(shí),相較于其他算法,本文算法的準(zhǔn)確值具有非常高的穩(wěn)定性且高于其他算法。
本文針對(duì)模板匹配中目標(biāo)自身存在方向變化的問題,提出了一種模板匹配方法RTMM,與現(xiàn)有方法相比在尺度不變和旋轉(zhuǎn)不變方面具有更好的表現(xiàn)。但由于算法的預(yù)選區(qū)域特征使用的是灰度值特征,在非線性光照下算法的準(zhǔn)確值有所降低,如在金屬零件檢測(cè)中,由于金屬具有強(qiáng)反光性,對(duì)圖像采集時(shí)相機(jī)的布置、光照強(qiáng)度和光照方向都有很高的要求。