韓 碩, 陳曉榮, 張彩霞, 郭蓉蓉, 王曉龍
(上海理工大學 光電信息與計算機工程學院,上海 200093)
隨著科技的高速發(fā)展,各領(lǐng)域?qū)ξ锪嫌嫈?shù)的要求也在大幅度提高。目前,物料計數(shù)方法主要有人工檢測法、稱重法和光電檢測法等。其中,人工檢測法的工作強度大、效率低并且容易受到主觀因素的影響,導致計數(shù)準確率不高。稱重法對物料的質(zhì)量均勻性要求較高,容易因為物料之間的差異性造成計數(shù)錯誤。光電檢測法更適用于物料依次通過的情況,在多個物料并排通過或者發(fā)生粘連時容易出現(xiàn)計數(shù)錯誤,并且光電管存在一定程度的滯后反應(yīng),使計數(shù)準確度降低,無法滿足工業(yè)生產(chǎn)中實時、高效的計數(shù)檢測要求[1]。針對上述情況,研究能夠?qū)ξ锪线M行自動計數(shù)的檢測方法,可以有效提高檢測效率和準確性。由于要保證物料計數(shù)的實時性,所以采集的每1幅圖像較小,1個完整的物料無法呈現(xiàn)在1幅圖像中。隨著數(shù)字圖像處理技術(shù)的進步而發(fā)展起來的圖像拼接技術(shù)則為這一問題提供了很好的解決方法。
Lowe[2]等提出了尺度不變特征變換(scale-invariant feature transform,SIFT)算法,可在圖像中檢測出關(guān)鍵點進行匹配,并且不受光照影響,但是當待測物體出現(xiàn)較大形變時,其匹配準確度較低;Brown[3]等提出了一種稱為Auto Stitch的全局對齊方法來自動縫合多幅圖像,但當場景接近平面時,可能會出現(xiàn)錯位和偽影,導致具有視差的圖像無法精確對齊;張見雙[4]等提出Harris角點檢測算法提取圖像中的特征點,結(jié)合使用RANSAC剔除誤匹配點,提高了匹配精度,但是該算法對尺度較敏感,并且其消耗的時間較長;Hu[5]等提出圖像高斯金字塔變換(Gaussian pyramid transformation,GPT)匹配算法,采用遍歷匹配方法保證了匹配的準確性,但是用時較長;Gong[6]等提出使用粒子群算法(particle swarm optimization,PSO)搜尋最佳匹配位置,減少了匹配次數(shù)從而縮短匹配時間,但是易過早收斂陷入局部解,容易導致匹配準確性不高。上述方法取得了一定效果,然而拼接時間較長并且在圖像匹配準確度上依然存在一定的缺陷。
模板匹配算法(template matching algorithm,TMA)是一種圖像拼接算法,TMA與SIFT、GPT和PSO等算法相比,具有原理簡單、適用面廣、魯棒性能好等特點[7~9],然而TMA算法匹配的搜索范圍較廣,算法運行時間長。本文在傳統(tǒng)模板匹配算法的基礎(chǔ)上,提出了一種基于雙模板搜索方式和位置約束r的改進模板匹配算法(improved template matching algorithm,ITMA),將ITMA與Canny邊緣檢測算法相結(jié)合,通過Canny邊緣檢測算法求解ITMA模板,求出最優(yōu)邊緣,從而獲得最佳的模板圖像,然后對圖像進行拼接,實現(xiàn)物料計數(shù)。
Canny邊緣檢測算法是Canny于1986年研究出來的一個多級邊緣檢測算法[10~13],本文采用Canny邊緣檢測算法來檢測圖像的邊緣像素可以做到降低錯誤率,精確定位到物料邊緣位置,便于后續(xù)物料圖像的匹配。Canny算法具體步驟為:
步驟1:高斯濾波。由于受到拍攝硬件設(shè)施、采集環(huán)境等因素的影響,導致采集到的圖像存在截然不同的成像特性,這些特性對后續(xù)算法處理有很大的影響。為了盡可能減少噪聲對邊緣檢測結(jié)果的影響,采用高斯濾波完成圖像去噪,便于后續(xù)對圖像的邊緣檢測。
(1)
式中G(x,y)是標準差為σ的二維高斯核。
平滑后圖像g(x,y)表示為:
g(x,y)=f(x,y)*G(x,y)
(2)
式中f(x,y)為初始圖像。
步驟2:計算梯度值和梯度方向值?;叶葟姸茸兓顝姷奈恢眉刺荻确较?,通過計算水平方向梯度Gx和垂直方向梯度Gy來檢測圖像中的水平、垂直和對角邊緣,即可確定像素點的梯度幅值和方向。
水平方向的梯度為:
(3)
垂直方向的梯度為:
(4)
該像素點的梯度的幅值和方向分別為:
(5)
θ=arctan(Gy/Gx)
(6)
步驟3:進行非極大值抑制。對圖像進行梯度計算后,并不能夠提取出比較清晰的邊緣,需要使用非極大值抑制來尋找像素點的局部最大值,將非極大值點所對應(yīng)的灰度值抑制為0,這樣就可以篩除一部分不屬于邊緣的點。
模板匹配算法是尋找待測圖像中具有模板圖像相同特征的算法之一,其尋找待測圖像中的每一個可能的位置,計算模板的所有相關(guān)位姿與圖像各個位置的相似度,當相似度足夠高時,則認為找到目標[14~20]。該算法相較于其他匹配算法,易于實現(xiàn),匹配速度較快,因此本文選用模板匹配算法作為圖像拼接的主要方法。
模板匹配算法的基本思想是首先確定模板圖像,以模板圖像T與待測圖像S的原點為參考點,使模板圖像T在待測圖像S的區(qū)域內(nèi)以平移的形式進行搜索,待測圖像被模板覆蓋的區(qū)域為子圖Si,j。搜索范圍為:
1≤i≤W-M
(7)
1≤j≤H-N
(8)
式中:M,N表示模板圖像T的像素個數(shù);W,H表示待測圖像S的像素個數(shù);i,j為模板覆蓋區(qū)域左上角在待測圖像S上的坐標。
通過比較模板圖像與待測圖像中被模板圖像覆蓋區(qū)域的相似度,完成模板匹配過程。歸一化相關(guān)系數(shù)衡量模板T和子圖Si,j的匹配程度,其計算式為:
(9)
式中:R(i,j)表示(i,j)處圖像的相關(guān)系數(shù),0≤R(i,j)≤1;(s,t)表示在模板內(nèi)的所有像素點;E(Si,j)、E(T)分別表示(i,j)處待測圖像和模板圖像的平均灰度值。
模板匹配就是尋找最佳匹配位置的過程,歸一化相關(guān)系數(shù)R越大,待測圖像與模板的相似度越高;當模板在待測圖像上搜索所得最大R(i,j)時,其對應(yīng)的點(i,j)就是最佳匹配位置,則完成圖像匹配的過程。
由于模板匹配算法存在難以實現(xiàn)實時性的缺點,本文提出基于雙模板搜索方式和位置約束系數(shù)的改進模板匹配算法(ITMA)來提高傳統(tǒng)算法的運行速度和準確度。
3.2.1 雙模板搜索方式
圖1 雙模板搜索示意圖
由于采用背光照射方式采集圖像,待測圖像目標與背景灰度值相差較大,且目標灰度值小于背景灰度值,所以小于待測圖像灰度平均值E(S)的區(qū)域即為目標像素區(qū)域;在縮小匹配區(qū)域后,可得到待測圖像目標像素區(qū)域高度hs,最后在目標像素區(qū)域內(nèi)尋找與模板匹配的區(qū)域即可,從而減少了算法的運行時間。
3.2.2 位置約束系數(shù)r
在待測圖像目標區(qū)域中,同時也存在與模板不匹配的區(qū)域,會導致模板匹配過程中尋找最佳匹配位置時出現(xiàn)誤差。為了提高匹配的準確度,本文加入一個位置約束系數(shù)r,以減少待測圖像目標區(qū)域與模板不匹配的區(qū)域。
令搜索區(qū)域F=rhs,其中:
(10)
式中:gr表示模板圖像重心的高度;gs表示待測圖像目標區(qū)域重心的高度。
綜上所述,將位置約束系數(shù)r作為匹配時求取最優(yōu)解時的約束條件,結(jié)合歸一化相關(guān)系數(shù)R(i,j)可以精確求取最優(yōu)解。
將本文提出的圖像拼接算法ITMA與Canny邊緣檢測算法相結(jié)合,用Canny邊緣檢測算法求最優(yōu)模板圖像,為匹配做最佳準備。
步驟1:獲取最優(yōu)模板圖像T。利用Canny邊緣檢測算法提取物料圖像最佳邊緣特征,作為最優(yōu)模板圖像。
步驟2:雙模板搜索。將模板圖像T分成T1和T2兩部分并計算圖像灰度平均值E(S),在待檢測圖像S上進行雙模板搜索。灰度值小于E(S)的區(qū)域記為目標區(qū)域D1,反之則記為背景區(qū)域D2。
步驟3:約束目標區(qū)域D1。將位置約束系數(shù)r作為匹配求取最優(yōu)解時的約束條件,約束條件為式(10)。
步驟4:獲取匹配最優(yōu)解。根據(jù)式(11)計算模板和檢測到的與模板相匹配的圖像誤差,并結(jié)合式(9)獲取匹配最優(yōu)解。
(11)
式中E(i,j)為最小值即為匹配目標。
步驟5:判斷E(i,j)得到最小值和R(i,j)得到最大值的匹配目標是否為同一目標。如果是同一目標則記為Sbest,Sbest為最佳匹配目標。否則重復步驟2~步驟5。
物料在運動過程中存在一些影響因素,導致物料計數(shù)有一定的復雜性[21,22]。主要分為2種情況;第1種是每個物料之間互相獨立;第2種是物料之間存在一定的粘連。具體物料計數(shù)步驟為:
步驟1:取得單個標準樣本的面積特征作為判定物料是否存在粘連的準則。
步驟2:雙峰法閾值分割。由于采用背光照射方式,物料全景圖中目標與背景灰度對比度相差較大,所以采用雙峰法閾值分割。將灰度值0和平均灰度Kr分別作為閾值分割的最小閾值和最大閾值,準確分割出背景與目標,對分割后的目標連通域進行計數(shù)。
步驟3:判斷是否存在物料粘連。將連通域區(qū)域面積與單個標準樣本面積進行對比,判定大于單個標準樣本面積的區(qū)域存在物料粘連。
步驟4:斷開粘連部分。先對物料區(qū)域進行填充,減少腐蝕對存在孔洞的物料的影響,再通過腐蝕將物料粘連部分斷開。
步驟5:物料計數(shù)。將粘連斷開后,通過對處理后的全景圖像的連通域進行計數(shù),得到物料數(shù)目。
根據(jù)物料下落特點,設(shè)計了一套圖像采集裝置,整個裝置包括1個面陣相機、1個LED光源、1個置物架以及1個接收掉落物料的盒子,如圖2所示。
圖2 圖像采集裝置圖
在設(shè)計圖像采集裝置中,曝光時間、曝光速度和照明方式是其中非常重要因素。曝光時間決定了圖像的清晰度;曝光速度決定了在相同采集環(huán)境下,采集到的多幅圖像中每相鄰的2幅圖像之間是否存在重疊的部分;照明方式則會影響圖像的成像效果以及后續(xù)圖像處理所需的時間[23]。為方便后續(xù)物料圖像拼接,盡可能使采集到的連續(xù)圖像之間存在重疊區(qū)域,因此需要根據(jù)物體下落速度設(shè)置曝光速度,物體下落速度越快,設(shè)置的曝光速度則需越大。經(jīng)過大量實驗,曝光速度設(shè)置在800~1 200幀/s之內(nèi)可以滿足本實驗中的物料拼接要求。本文中相機參數(shù)設(shè)置見表1所示,采用背光照射的方式使背景與目標產(chǎn)生較大的灰度差,突出物料圖像的邊緣特征。
表1 采集過程中相機參數(shù)設(shè)置
本文采用安全帶插片、大蒜、小鏟子3種物料作為實驗樣本,由于采集到的單幀圖像無法顯示1個完整物料,每1種單個完整物料存在于多幀圖像中,其中每1種單個物料在掉落過程中按照采集順序得到的連續(xù)10幀圖像如圖3所示。
圖3 采集到的物料圖像
為驗證本文算法優(yōu)化效果,分別用傳統(tǒng)TMA算法、GPT優(yōu)化TMA算法[5]和本文算法對3種物料進行實驗,圖4為在相同環(huán)境下分別對安全帶插片、大蒜和小鏟子進行拼接實驗效果圖。
圖4 3種物料拼接部分效果圖
實驗表明,在相同實驗環(huán)境下,傳統(tǒng)TMA算法和GPT優(yōu)化TMA算法拼接效果不佳,存在拼接錯位現(xiàn)象;錯位現(xiàn)象的出現(xiàn)容易將1個物料判斷為多個,從而導致物料計數(shù)錯誤。本文算法能夠較好地拼接出物料全景圖,不存在錯位現(xiàn)象,具有較好的拼接效果。
4.3.1 系統(tǒng)穩(wěn)定性驗證
為了驗證本文算法的高效穩(wěn)定性,本文以主頻2.1 GHz,內(nèi)存8 GB的處理器為系統(tǒng)實驗環(huán)境。選取安全帶插片、大蒜以及小鏟子3種物料,其中安全帶插片450個,大蒜235個,小鏟子538個。采集大小為1 344×87的物料圖像進行處理,通過其他兩種算法以及本文算法對物料進行檢測,其檢測結(jié)果見表2。
由表2可知,本文算法對物料數(shù)量檢測的準確度達到97.36%以上,表明,本文算法對于物料計數(shù)的檢測具有準確度高,可靠性好的優(yōu)點。
表2 物料檢測結(jié)果
4.3.2 物料計數(shù)準確度對比
由于傳統(tǒng)TMA算法和GPT優(yōu)化TMA算法在進行拼接時精度較低,出現(xiàn)的錯位情況較多,導致計數(shù)準確度不高。
本文算法與傳統(tǒng)TMA算法相比,計數(shù)準確度由77.32%提高到97.36%以上,與GPT優(yōu)化TMA算法相比,計數(shù)準確度由84.94%提高到97.36%以上,由此可知通過本文算法進行處理,物料的計數(shù)準確度得到有效提升。
4.3.3 物料拼接時間對比
3種不同算法的物料拼接時間對比結(jié)果如表3所示。由表3可知,本文算法與傳統(tǒng)TMA算法相比,處理一張樣本圖片的平均時間由0.013 s縮短為0.008 s,與GPT優(yōu)化TMA算法相比,處理一張樣本圖片的平均時間由0.011 s縮短為0.008 s。由此可知,本文算法有效減少了物料拼接時間,提高了物料計數(shù)檢測效率。
表3 3種算法拼接時間對比結(jié)果
4.3.4 拼接精度對比
方根誤差(RMSE)可用于比較不同模型在同一數(shù)據(jù)集上的預測表現(xiàn)。拼接誤差越大均方根誤差越大,本文采用均方根誤差來衡量拼接結(jié)果的精度[24]。3種算法拼接后圖像均方根誤差對比結(jié)果見圖5。由圖5可知,對于3種物料,采用本文算法拼接后的圖像均方根誤差較小,即錯位情況較少;因此本文算法的拼接精度高,可以克服傳統(tǒng)算法的缺點,大幅度減少圖像拼接的錯位情況,避免物料計數(shù)錯誤。
圖5 3種算法均方根誤差對比結(jié)果
本文提出了一種基于雙模板搜索和位置約束系數(shù)的改進模板匹配物料計數(shù)算法。通過對改進的模板匹配算法進行穩(wěn)定性檢測以及與其他兩種算法的檢測結(jié)果進行對比,驗證本文算法在檢測時間、拼接精度以及計數(shù)準確度等方面都得到了有效的提高;實驗中存在的誤差可能是因為在進行物料圖像采集時,存在物料大面積粘連的情況,需要進一步改進硬件設(shè)備并且進行更深入的算法研究。實驗證明了改進的模板匹配算法具有穩(wěn)定性好、準確性高和檢測速度快的特點,可以滿足工業(yè)生產(chǎn)中物料計數(shù)的要求。