李天建
(福建工程學(xué)院,福建 福州 350108)
隨著20世紀(jì)90年代以來光電、自動(dòng)化和計(jì)算機(jī)圖像處理技術(shù)的迅速發(fā)展,機(jī)器人視覺已在包括汽車制造業(yè)在內(nèi)的很多工業(yè)部門得到越來越廣泛的應(yīng)用.在一些用于汽車制造業(yè)的專用設(shè)備,如刀具預(yù)調(diào)測量儀中,機(jī)器人視覺也已替代了傳統(tǒng)的檢測方式[1].
目前國內(nèi)工業(yè)視覺系統(tǒng)尚處于概念導(dǎo)入期,各行業(yè)在解決了生產(chǎn)自動(dòng)化的問題以后,已開始將目光轉(zhuǎn)向視覺測量自動(dòng)化方面[2].在國內(nèi)汽車行業(yè)的應(yīng)用中,如邦納汽車視覺,主要應(yīng)用于汽車密封條涂層視覺檢測,汽車零部件漏裝視覺檢測和汽車零部件表面字符視覺檢測[3]等.
本文通過對機(jī)器人視覺和汽車零配件生產(chǎn)工藝的研究,結(jié)合高斯濾波器、閾值分割、Canny算子等圖像處理方法,提出一種新型的汽車零配件表面檢測系統(tǒng)解決方案,并在西門子系列控制器和ifix組態(tài)軟件上實(shí)現(xiàn)其功能,旨在提高零配件生產(chǎn)環(huán)節(jié)中的檢測技術(shù).
目前,機(jī)器人視覺表面檢測可分為2種方法:①用無缺陷模板與目標(biāo)圖像進(jìn)行匹配,該方法適于具有確定幾何構(gòu)形的物體.②在一個(gè)滑動(dòng)窗口中計(jì)算一組紋理特征,從整幅圖像中尋找特征值的顯著局部偏差;該方法的難點(diǎn)在于需要提取體現(xiàn)圖像紋理信息的充足的紋理特征,而且用多特征向量表達(dá)的紋理維數(shù)很高,這就需要貝葉斯、最大似然、神經(jīng)網(wǎng)絡(luò)等復(fù)雜的分類器來比較模型特征和被檢特征[4].根據(jù)汽車零配件生產(chǎn)的實(shí)際情況,采用模板匹配法不需要復(fù)雜的算法,可以縮短開發(fā)周期.
文中機(jī)器人視覺系統(tǒng)模型如圖1所示,通過“培訓(xùn)”即對零配件建立一個(gè)較為完整的模板信息模型,將目標(biāo)零配件的目標(biāo)信息模型與模板信息模型進(jìn)行匹配,根據(jù)不同的“匹配度”對零配件進(jìn)行質(zhì)量的判斷和分級.
為了獲取檢測對象的有效表面圖像并進(jìn)行識(shí)別,需要對目標(biāo)圖像進(jìn)行一系列處理.其處理流程如圖2所示.
(1)圖像預(yù)處理:通過資料的查閱和實(shí)驗(yàn)結(jié)果對比,汽車零配件的表面圖像中高斯噪聲的頻率最高,可使用二維高斯濾波器進(jìn)行預(yù)處理.其中,二維高斯濾波公式可表示為:
圖1 視覺系統(tǒng)檢測算法模型
實(shí)際上σ越大其作用域就越寬,平滑的力度就越大,其結(jié)果是圖像越模糊.當(dāng)σ2=0.5,系統(tǒng)可以得到3×3的濾波效果較好的模板.將含有噪聲的圖像與該模板做卷積后的結(jié)果作為后續(xù)處理的圖像.
圖2 圖像處理流程圖
(2)圖像分割:圖像分割采用閾值分割和邊緣檢測這兩種技術(shù).首先進(jìn)行邊緣檢測以得到差分的灰度圖來找出物體邊緣,然后使用閾值分割二值化來突出圖像中感興趣的部分.文中采用Canny算子先對原圖像進(jìn)行高斯平滑處理,再進(jìn)行微分操作得到梯度圖,采用“非最大抑制”算法尋找圖像中的可能邊緣點(diǎn),通過雙門限值遞歸尋找圖像邊緣點(diǎn),得到單像素寬度邊緣圖[5].其算法流程如圖3所示.
圖3 Canny算子流程圖
在零配件的圖像分割中,除了獲得有效邊緣的信息外,還需進(jìn)行圖片中區(qū)域的信息.利用閾值分割技術(shù)確定圖像中各像素點(diǎn)歸屬,獲得對應(yīng)的二值圖像.閾值分割操作可以被定義為:
這個(gè)定義式表示當(dāng)圖像ROI內(nèi)灰度在所設(shè)定的灰度值范圍內(nèi),將所選區(qū)域全部點(diǎn)輸送到輸出區(qū)域S內(nèi).
(3)缺陷檢測與特征識(shí)別:分塊圖像相減匹配檢測法的實(shí)質(zhì)是對小塊像素區(qū)域進(jìn)行圖像相減模塊匹配,其基本思想如下:將目標(biāo)圖像和模板圖像劃分成感興趣區(qū)域(ROI,Region Of Interest)和不感興趣區(qū)域,感興趣區(qū)域分為N×N的區(qū)域塊,不感興趣區(qū)域不劃分.檢測過程中,無需對所有的像素全部加入匹配檢測,只需對感興趣區(qū)域進(jìn)行操作.在感興趣區(qū),基于模板匹配法選定參考點(diǎn),將對應(yīng)子區(qū)域與數(shù)據(jù)庫中相應(yīng)模塊圖像相減匹配檢測,進(jìn)而根據(jù)子區(qū)域的相關(guān)系數(shù)來判斷目標(biāo)圖像的圖像質(zhì)量是否相似.分塊圖像相減匹配檢測法流程如圖4所示:
圖4 分塊圖像相減匹配檢測法流程
為了得到更準(zhǔn)確的檢測結(jié)果可用數(shù)學(xué)形態(tài)學(xué)方法對瑕疵邊界缺損進(jìn)行補(bǔ)償.由于篇幅的限制,這里將不做介紹.
本文建立以西門子S7-300 PLC為控制核心、西門子視覺傳感器VS120和VS130-2為主要檢測單元的硬件平臺(tái),并通過Profinet、Profibus等總線與ifix組態(tài)軟件開發(fā)的上位監(jiān)控平臺(tái)連接.由于篇幅的限制,下面簡要介紹S7-300 PLC部分程序和ifix的組態(tài)界面的開發(fā).
PLC程序的主體結(jié)構(gòu)如圖5所示.系統(tǒng)通過調(diào)用了FC1,F(xiàn)C2和FC3等功能來完成對視覺傳感器VS120和VS130-2的控制、讀取等操作,并實(shí)現(xiàn)零配件品質(zhì)分級控制.其中,F(xiàn)C1為VS120的控制程序和零配件的分級程序,F(xiàn)C1中調(diào)用了作為圖像處理算法程序的FB1功能塊和保存控制字和狀態(tài)字的DB1共享數(shù)據(jù)塊,將圖像處理的結(jié)果保存在DB10中,這個(gè)處理結(jié)果可以作為上位機(jī)組態(tài)分析和報(bào)表的重要數(shù)據(jù).
圖5 視覺系統(tǒng)PLC程序主體結(jié)構(gòu)圖
本文使用了視覺傳感器VS120可完成的3種功能中的“正確性判斷”和“完整性判斷”兩種功能.系統(tǒng)將圖像的處理程序封裝在FB1功能塊中可以使FC1方便的調(diào)用功能塊.如圖6所示,F(xiàn)B1塊的I/O地址應(yīng)與VS120硬件組態(tài)設(shè)置一致.因此要做如下設(shè)置:Ladder control和Ladder status都設(shè)為2,LADDER RECEIVE和LADDER SEND都設(shè)為280.同時(shí)我們分配了 M301.0-M301.7作為圖像處理結(jié)果的輸出,實(shí)現(xiàn)零配件的分級功能.
圖6 FB1功能塊圖
系統(tǒng)可根據(jù)分析的結(jié)果進(jìn)行自動(dòng)分級.其具體流程分析如下:在VS120運(yùn)行狀態(tài)下,通過調(diào)整“TRG”管腳的變量M30.1的脈沖給定來完成的目標(biāo)圖像讀取.如果目標(biāo)圖像符合樣本中的圖形,則在“OK”管腳M301.4處輸出脈沖信號(hào);如果不符合則在N_OK處M301.5輸出脈沖,如圖7所示.圖中Q0.0為檢測結(jié)果符合要求的零配件(合格品)的傳輸帶電機(jī),Q0.1為次品時(shí)的傳輸電機(jī).且合格與不合格的數(shù)量將自動(dòng)保存到MW22和MW34中,以便建立報(bào)表和繪制零配件的質(zhì)量變化曲線.
ifix軟件內(nèi)置功能強(qiáng)大的VBA腳本編譯器,能實(shí)現(xiàn)復(fù)雜工程對軟件的要求.ADO組件集成在Visual Basic 6.0中,對于開發(fā)復(fù)雜系統(tǒng)的報(bào)表功能,采用ADO技術(shù)訪問ifix歷史數(shù)據(jù)庫實(shí)現(xiàn)報(bào)表非常靈活[6].同時(shí)采用Excel自帶的強(qiáng)大的函數(shù)和處理數(shù)據(jù)的能力,滿足系統(tǒng)對報(bào)表的需求.
本文介紹的汽車零配件檢測系統(tǒng)的歷史報(bào)表設(shè)計(jì)流程如圖8所示.
圖7 零配件分級plc程序
其中,系統(tǒng)讀寫二維碼信息和零件檢測的報(bào)表程序編寫(節(jié)選)如下:
圖8 汽車零配件報(bào)表設(shè)計(jì)流程
圖9 零配件判別圖
圖10 IFIX界面顯示
文中設(shè)定方形邊框目標(biāo)檢測的區(qū)域.經(jīng)過處理后的零配件圖像的數(shù)據(jù)如零配件偏轉(zhuǎn)角度,XY軸方向上位置和目標(biāo)零配件與目標(biāo)零配件的匹配程度都可以ifix上顯示,并可保存到歷史數(shù)據(jù)庫和Access數(shù)據(jù)庫中.圖9為完整的零配件模板和具有缺陷的零配件經(jīng)過表面檢測后的結(jié)果,這里假設(shè)被紙張掩蓋的零配件為有缺陷的零配件.檢測結(jié)果在ifix界面上顯示相似度只有73.2%,若系統(tǒng)設(shè)定不合格產(chǎn)品的閾值為90%,則判定其不合格產(chǎn)品,判定結(jié)果如圖10所示.
文中選用的高斯濾波器、閾值分割、Canny邊緣檢測等算法都是基于分析各種相似功能的算子.主要影響因素有:①根據(jù)算子對零配件圖像處理要求和特點(diǎn)的滿足度大小來選擇算子,應(yīng)充分考慮各算子之間的銜接和匹配程度,這是影響最終的檢測精度的一個(gè)關(guān)鍵因素.②平滑濾波器的選用直接影響Canny算法的結(jié)果.選擇較小的濾波器產(chǎn)生的模糊效果也較少,可以檢測較小、變化明顯的細(xì)線.反之選擇較大的濾波器所產(chǎn)生的模糊效果也較多.選用二維高斯濾波,其計(jì)算量隨濾波模板寬度成線性增長而不是成平方增長,在一定程度上影響了濾波的質(zhì)量.④在進(jìn)行閾值分割時(shí),不同的閾值會(huì)影響二值化的結(jié)果,導(dǎo)致后續(xù)處理的結(jié)果.⑤在使用分塊圖像相減法獲取圖像的過程中,由于零配件旋轉(zhuǎn)、角度不一致等因素影響檢測區(qū)域的尋找結(jié)果,對于M×N較大的模板,像素點(diǎn)之間的比較會(huì)產(chǎn)生跳躍情況,從而無法很好的獲得目標(biāo)圖像的ROI.
本文主要針對汽車零配件材料材質(zhì)多樣、樣式和功能復(fù)雜等特點(diǎn),從圖像處理的角度出發(fā),結(jié)合機(jī)器人視覺系統(tǒng)技術(shù)和汽車零配件的檢測工藝,使之滿足工業(yè)生產(chǎn)要求.實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)達(dá)到預(yù)期設(shè)計(jì)目標(biāo).
[1]山東重聯(lián).機(jī)器人技術(shù)在汽車制造行業(yè)中的應(yīng)用[Z].重聯(lián)車輛.
[2]王思為,朱明.基于DM642機(jī)器視覺系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2006:1-1.
[3]邦納機(jī)器視覺在汽車行業(yè)的應(yīng)用[EB/OL]http://www.autooo.net/autooo/yibiaoyiqi/news/2011 -05 -29/71849.html.
[4]溫兆麟.機(jī)器視覺新技術(shù)在自動(dòng)表面檢測中的探討[J].廣州航海高等??茖W(xué)校學(xué)報(bào),2011,(4):28.
[5]陳宏申,李環(huán).Canny邊緣檢測算法在機(jī)器人視覺中的應(yīng)用[J].現(xiàn)代計(jì)算機(jī)(下半月版),2011,(11):18.
[6]中國百科網(wǎng).基于ADO技術(shù)的IFIX歷史報(bào)表的設(shè)計(jì)與實(shí)現(xiàn)[EB/OL]http://www.chinabaike.com/z/gyzd/493869.html.