胡曉彤,田仁贊,王旭迎
(天津科技大學計算機科學與信息工程學院,天津 300222)
金屬罐被廣泛地應(yīng)用在食品、飲料、化工等產(chǎn)品的包裝,作為承載產(chǎn)品信息的表面圖案成為金屬罐質(zhì)量檢測的重點.在金屬罐罐身焊接過程中,因罐體成型前的馬口鐵進入焊機時的方向出現(xiàn)錯誤,經(jīng)常會出現(xiàn)罐體圖案倒置的成型金屬罐.采用人工方式分揀這些不合格的金屬罐,存在效率低、勞動強度大、檢測精度易受人為因素影響等問題,無法保證檢測結(jié)果的可靠性;同時,隨著工業(yè)自動化技術(shù)的發(fā)展,生產(chǎn)線的速度不斷提升,人工檢測已無法滿足實際生產(chǎn)的要求.另一方面,由于金屬罐在生產(chǎn)線上高速前進時位置不固定,使得自動化檢測的難度較大.迄今為止,罐體圖案倒置檢測問題還沒有得到很好的解決.
近年,隨著機器視覺相關(guān)研究的發(fā)展[1-2],該技術(shù)已成功應(yīng)用于PCB 缺陷檢測、瓶裝藥品可見異物檢測、織物疵點檢測[3-5]等多種產(chǎn)品的高速在線檢測中.目前尚未見有基于機器視覺的罐體圖案倒置在線檢測研究的相關(guān)報道.因此,本文針對這一問題進行研究,提出一種基于SURF 特征點的金屬罐圖案檢測算法,并將其應(yīng)用到基于機器視覺的在線檢測系統(tǒng)中.在利用SURF 算法分別提取待檢測罐體圖像與焊接前的馬口鐵圖像的特征點后進行特征點匹配,最終根據(jù)匹配成功的特征點對間的位置關(guān)系實現(xiàn)金屬罐圖案倒置的檢測.
SURF 特征點檢測算法[6-8]是在SIFT 算法的基礎(chǔ)上提出的一種速度快、魯棒性強的圖像局部特征提取算法.該算法不僅對圖像旋轉(zhuǎn)、平移、縮放和噪聲具有較好的魯棒性,而且對光照和視角的變化均有較好的適應(yīng)能力.同時,通過引入積分圖像和盒子濾波器,在運算速度方面提高了近3 倍,綜合性能更加優(yōu)越.
SURF 特征點檢測算法是通過計算Hessian 矩陣行列式的局部極值來確定特征點的位置.其中,尺度為σ 的圖像I 中點 X (x,y) 的Hessian 矩陣定義為
式中:Lxx是高斯二階導與圖像I 中點X 卷積的結(jié)果,其中.Lxy、Lyy具有相同的含義.
SURF 算法采用盒子濾波近似二階高斯濾波,構(gòu)造出一種快速Hessian 矩陣,并使用積分圖像來加速卷積以提高計算速度.為使SURF 特征具有尺度不變性,需要構(gòu)造不同尺度空間,并在各個尺度空間下通過快速Hessian 矩陣行列式得到局部極值點.在此,SURF 算法采用不同大小的盒子濾波器與源圖像進行卷積以獲得不同尺度空間的特征描述.通過盒子濾波處理后,Lxx、Lxy、Lyy分別用Dxx、Dxy、Dyy重新標記,予以區(qū)分.由于盒子濾波是二階高斯濾波的近似估計,因此引入比例因子ω(ω 近似取值0.9),進一步求解得到快速Hessian 矩陣的行列表達式為
其中,det H 為圖像I 中點X 周圍區(qū)域的盒子濾波器響應(yīng)值,用det H 進行極值點的檢測.
求出尺度圖像在各個尺度空間下的局部極值點后,將每個局部極值點及同一尺度的8 個相鄰點以及它上下兩個尺度的各9 個點構(gòu)成一個3 × 3 ×3 的立體鄰域.將尺度空間的每個極值點與立體鄰域相鄰的26 個點進行比較,只有當局部極值點的值均大于(或小于)所有26 個相鄰點時,才將此局部極值點作為候選特征點.為了能夠?qū)蜻x特征點進行亞像素定位,可以在尺度空間和圖像空間中進行插值,得到穩(wěn)定的特征點位置及所在的尺度值.
為保證特征點的旋轉(zhuǎn)不變性,在特征點位置確定后,為每一個特征點確定特征的主方向.在此,以特征點為中心,半徑為6σ (σ 為特征點所在尺度空間的尺度值)的圓形區(qū)域內(nèi),計算圖像在x 和y 方向的Harr 小波響應(yīng)(Harr 小波邊長取4σ),并使用尺度為2σ 的高斯加權(quán)函數(shù)對Harr 小波響應(yīng)值進行高斯加權(quán),使得越靠近特征點的響應(yīng)貢獻越大;然后用π/3大小的扇形區(qū)域遍歷整個圓形區(qū)域,并將響應(yīng)的最大值的方向定義為特征點的主方向.
然后,以特征點為中心,構(gòu)造一邊垂直于主方向且邊長為20σ 的正方形窗口區(qū)域,并將該窗口區(qū)域劃分成 4×4 的子區(qū)域.在每一個子區(qū)域內(nèi),計算5σ 5 ×σ 個采樣點的水平方向和垂直方向的Harr 小波響應(yīng),分別記作 dx和 dy,同樣使用尺度為2σ 的高斯加權(quán)函數(shù)對Harr 小波響應(yīng)值進行高斯加權(quán),以增加對幾何變換的魯棒性.然后將每個子區(qū)域的響應(yīng)值和響應(yīng)值的絕對值相加形成由此,每個子區(qū)域就形成了一個四維分量的矢量
對于每一個特征點,則形成 4 × (4 × 4)=64維的特征向量,如圖1 所示.為保證對光照的不變性,對特征向量進行歸一化處理,得到最終的SURF 特征點描述符.
圖1 特征描述符的構(gòu)成Fig.1 Constitution of feature descriptors
特征點匹配就是根據(jù)特征點的描述符搜索待檢測圖像與模板圖像中唯一的匹配特征點對.本文通過SURF 算法從待檢測圖像與模板圖像中分別提取特征點后,采用雙向K 最近鄰法(K-nearest neighbor algorithm)進行粗匹配[7],采用隨機采樣一致算法(RANSAC)進行精匹配[8-9],最終確定待檢測圖像和模板圖像特征點間的匹配關(guān)系.
因SURF 特征描述算法是基于特征點的鄰域信息構(gòu)建特征點的描述.因此,可通過K 最近鄰法搜索每個特征點潛在的2 個最佳匹配點,并通過匹配點對間的距離最佳值與次佳值的比值優(yōu)選出最佳匹配點對.
設(shè)M1、M2分別為圖像 I1、I2的特征點集合,對M1中的任一特征點 m1i,M2中與 m1i的歐式距離最小的2 個特征點分別為m2j,m2′j,對應(yīng)距離分別為 dij,,如果 dij≤α di′j,則認為m1i與m2j為優(yōu)選的匹配點對.
結(jié)合K 最近鄰法匹配的特點,本算法采用雙向匹配的處理策略,分別使用K 最近鄰匹配法優(yōu)選出從待檢測圖像到模板圖像潛在的匹配點對和從模板圖像到待檢測圖像潛在的匹配點對,形成2 個優(yōu)選的匹配集,再使用對稱性匹配原則進一步優(yōu)化得到的匹配集,從而獲得最優(yōu)匹配點對作為待檢測圖像與模板圖像粗匹配的結(jié)果.圖2 所示為粗匹配運算后的結(jié)果,如圖2 中粗線所示,經(jīng)過特征點粗匹配后存在一些誤匹配.
圖2 特征點粗匹配結(jié)果示意圖Fig.2 Map of the rough match of the feature points
如果直接使用粗匹配點對進行檢測結(jié)果的判定,必定會降低檢測的準確性.因此,采用RANSAC 算法對粗匹配結(jié)果進行處理,實現(xiàn)待檢測圖像與模板圖像特征點的精確匹配.RANSAC 算法是經(jīng)典的圖像特征點匹配算法,其步驟如下:
(1)從粗匹配點對中隨機選取4 對匹配點計算轉(zhuǎn)換矩陣F ;
(2)計算其他匹配點離轉(zhuǎn)換矩陣F 的距離d ;
(3)計算F 對應(yīng)的內(nèi)點并統(tǒng)計內(nèi)點的數(shù)量;
(4)重復步驟(1)到(3)若干次,找到內(nèi)點最多的F 的估計和對應(yīng)的內(nèi)點;
(5)利用最小二乘法計算最后的轉(zhuǎn)換矩陣,并得到最終的匹配結(jié)果.
經(jīng)過精確匹配后,上述誤匹配未出現(xiàn)在圖3 所示的最終匹配特征點對中.
圖3 特征點精確匹配示意圖Fig.3 Map of the accurate match of the feature points
從SURF 特征點提取與匹配的方法可以看出,特征點檢測與描述的計算量與圖像大小及特征點的數(shù)量成正比;特征點匹配的計算量與待檢測圖像和模板圖像中特征點數(shù)量之積成正比.因此,針對實際生產(chǎn)速度與檢測時間的要求,采用分區(qū)域匹配的思想[10],將待檢測圖像與模板圖像分成若干子區(qū)域,并在相對應(yīng)的子區(qū)域間進行特征點匹配,從而在保證檢測精度的前提下,提高算法的處理速度.
對于圓柱形金屬罐,其表面紋理會發(fā)生失真、變形,使得柱面圖像(圖4)兩側(cè)區(qū)域因變形較大無法與模板圖像匹配.因此,根據(jù)柱面反投影原理[11],將金屬罐柱面圖像中間失真、變形小的2/3 區(qū)域作為實際待檢測圖像(圖4 中紅色矩形框區(qū)域).
同時,如圖5 所示,對待檢測圖像進行八等分處理,并將下半部分的4 個子圖像作為主檢測區(qū)域與模板的相應(yīng)子區(qū)域匹配;在主檢測無法達到要求時,將上半部分的4 個子圖像作為輔助檢測區(qū)域,作同樣的子區(qū)域匹配.因匹配處理的運算量與待匹配圖像雙方的特征點數(shù)量之積成正比,所以利用上述待檢測圖像分區(qū)域處理的方法,能夠在保證檢測精度的前提下,提高檢測速度[9].
圖4 金屬罐柱面圖像的實際檢測區(qū)域Fig.4 The detected region of cylindrical metal can image
圖5 待檢測圖像八等分子圖像Fig.5 Eight equal sub-images of the image to be detected
模板圖像的成像質(zhì)量直接關(guān)系著檢測結(jié)果的準確性.同時,由于模板圖像的一邊為金屬罐的周長,所以其寬度為金屬罐柱面圖像寬度(直徑)的3 倍以上.如果以模板的寬度設(shè)計成像系統(tǒng),就會造成成像后的金屬罐圖像分辨率較低,不利于檢測.因此,以金屬罐的直徑為標準設(shè)計成像系統(tǒng),從而保證成像后的圖像具有足夠高的分辨率.然而,這樣就會造成模板圖像無法完整地呈現(xiàn)在相機視野內(nèi).所以采用多次成像后拼接的方式生成完整的模板圖像[12-13],圖6所示為多次成像得到的序列圖像,圖7 為拼接處理后得到的模板圖像.
為與金屬罐圖像分區(qū)域處理相配合,對模板圖像也進行分區(qū)域處理.如圖8、圖9 所示,將模板圖像四等分后組合成2 個模板子圖像,并將其分別作為相應(yīng)待檢測子圖像的標準模板圖像.通過上述模板圖像的分區(qū)域處理,既能夠保障正常罐體和圖案倒置罐體的特征點均能在模板圖像中找到相應(yīng)的匹配點;同時通過縮小模板圖像,能夠達到提高檢測速度的目的.
圖6 序列圖像Fig.6 Sequence images
圖7 模板圖像Fig.7 The template image
圖8 模板圖像四等分子圖像Fig.8 Four equal sub-images of the template image
圖9 新生成的2個模板子圖像Fig.9 The sub-images of two newly generated templates
在待檢測圖像與模板圖像經(jīng)分區(qū)域處理后,如何從模板子圖像快速定位出與待檢測子圖像相似的區(qū)域才是提高算法處理速度的關(guān)鍵.根據(jù)分區(qū)域處理方法以及待檢測子圖像與模板子圖像的相似性關(guān)系,設(shè)計了圖10 所示的匹配策略.
圖中1、2、3、4 分別表示圖案未倒置時待檢測圖像與模板圖像中的1/4 區(qū)域,A、B、C、D 表示待檢測圖像下半部的四等分區(qū)域,箭頭表示待檢測子圖像與相應(yīng)模板子圖像間的匹配.待檢測圖像的2 或3 區(qū)域與對應(yīng)的模板子圖像23 進行匹配;待檢測圖像的1 或4 區(qū)域與對應(yīng)的模板子圖像14 進行匹配.
最終,根據(jù)配準成功的特征點所在區(qū)域的不同,確定金屬罐圖案是否倒置.
為驗證算法的性能,采用C++語言編寫程序,對旺仔牛奶、雀巢咖啡、露露果仁核桃3 種品牌的金屬罐進行檢測試驗.計算機配置為 Intel(R)Core(TM)i7-3770 3.4,GHz 處理器、4,G 內(nèi)存,操作系統(tǒng)為32 位Win7 系統(tǒng).
將采集圖像的下半部作為待檢測全局圖像,利用全局匹配算法與模板圖像進行圖像特征點匹配.對圖像中的下半部進行四等分處理,得到待檢測子圖像A、B、C、D,分別利用分區(qū)域匹配算法與對應(yīng)的模板子圖像進行圖像特征點匹配.圖11、圖12 所示為全局匹配與分區(qū)域匹配的實驗結(jié)果.表1 為待檢測圖像與模板圖像中的特征點與匹配點對的數(shù)量、匹配時間等.
圖11 全局匹配Fig.11 Global match
圖12 子圖像A與模板子圖像23特征點匹配Fig.12 The feature point match of sub image A and sub template image 23
表1 圖像特征點數(shù)目與處理時間Tab.1 Image feature point number and processing time
從表1 可以看出:采用全局圖像與分區(qū)域處理兩種方法,在總特征點與匹配點對的數(shù)量方面相差不大.但在處理時間方面,特別是特征點匹配時間,分區(qū)域處理后明顯降低.這是因為通過減少匹配運算時的待檢測圖像與模板圖像中特征點的數(shù)量,大幅度降低了匹配處理的運算量,從而在保證檢測精度的前提下,能夠滿足高速生產(chǎn)的檢測要求.
為檢測算法的綜合性能,并從每個品牌金屬罐中提取了3 個不同紋理密度的區(qū)域作為待檢測圖像,得到檢測結(jié)果見表2.
從表2 可以看出:對于不同的金屬罐,由于分別選取了紋理密集到稀疏的3 個區(qū)域,所以待檢測圖像1 中的特征點數(shù)量最多,待檢測圖像3 中的特征點數(shù)量最少.通過增加輔助檢測(處理待檢測圖像的上半部),紋理稀疏區(qū)域也能搜索到足夠數(shù)量的匹配特征點對用于檢測,說明本算法能夠適應(yīng)各種金屬罐的檢測.在算法檢測時間上,不同金屬罐不同區(qū)域提取的特征點數(shù)量不同,檢測時間存在著一定的差異.由于采用分區(qū)域主輔檢測策略,所以最長檢測時間均不超過75,ms,能夠滿足每分鐘800 罐的處理速度要求.經(jīng)過20 萬次不同品牌金屬罐(罐體倒置率約為1%,)的測試表明,本算法檢測精度達到99.9%,.
表2 不同金屬罐的檢測結(jié)果Tab.2 Detection results of different brands of metal
本文對金屬罐圖案檢測方法進行了研究,并提出了一種基于SURF 特征點的檢測算法.該算法首先搜索待檢測金屬罐圖像的中心區(qū)域與模板圖像間匹配的特征點對,隨后通過比較特征點對的位置關(guān)系判別金屬罐圖案是否倒置.目前,已通過與基于傳感器的相機觸發(fā)裝置、基于電磁閥的氣動剔除裝置相結(jié)合,構(gòu)建了金屬罐圖案倒置實時在線檢測工業(yè)機器人系統(tǒng),并用于實際生產(chǎn)測試,能夠滿足高速生產(chǎn)條件下的實時檢測要求.
[1]劉振宇,李中生,馮柏潤,等.機器視覺在工業(yè)生產(chǎn)線上的應(yīng)用實現(xiàn)[J].微型機與應(yīng)用,2013,32(17):27-30.
[2]朱作付,徐超,葛紅美.機器視覺技術(shù)在包裝領(lǐng)域的應(yīng)用[J].包裝工程,2010,31(3):124-127.
[3]姚忠偉.基于機器視覺的PCB 缺陷檢測算法研究[D].哈爾濱:哈爾濱工業(yè)大學,2013.
[4]許明國.基于機器視覺的藥液中可見異物檢測技術(shù)的研究[D].長沙:長沙理工大學,2013.
[5]李文羽.基于機器視覺和圖像處理的色織物疵點自動檢測研究[D].上海:東華大學,2014.
[6]Bay H,Ess A,Tuytelaars T,et al.Speeded-Up Robust Feature(SURF)[J].Computer Vision and Image Understanding,2008,110(3):346-359.
[7]趙璐璐,耿國華,李康,等.基于SURF 和快速近似最近鄰搜索的圖像匹配算法[J].計算機應(yīng)用研究,2013,30(3):921-923.
[8]陳藝蝦,孫權(quán)森,徐煥宇,等.SURF 算法和RANSAC算法相結(jié)合的遙感圖像匹配方法[J].計算機科學與探索,2012,6(9):822-828.
[9]Fischler M A,Bolles R C.Random sample consensus:a paradigm for model fitting with applications to image analysis and automated cartography[J].Communications of the ACM,1981,24(6):381-395.
[10]喬勇軍,謝小方,李德棟,等.SURF 特征匹配中的分塊加速方法研究[J].激光與紅外,2011,41(6):691-695.
[11]錢煒燕,胡曉彤.基于柱面反投影算法的三維物體表面紋理重建[J].天津科技大學學報,2009,24(3):58-62.
[12]楊云濤,馮瑩,曹毓,等.基于SURF 的序列圖像快速拼接方法[J].計算機技術(shù)與發(fā)展,2011,21(3):6-9.
[13]朱棟,孫楓,夏芳莉,等.圖像融合研究綜述[J].傳感器與微系統(tǒng),2014,33(2):14-18.