肖蘇華,王志勇,張順鈞,羅文斌,曹應(yīng)斌
(1.廣東技術(shù)師范大學(xué) 機(jī)電學(xué)院,廣州 510632;2.湖南恒岳重鋼鋼結(jié)構(gòu)工程有限公司,衡陽(yáng) 421300)
機(jī)器視覺(Machine vision)是一種新型技術(shù),能夠替代操作工人對(duì)工件進(jìn)行精確測(cè)量[1]。機(jī)器視覺系統(tǒng)(Machine vision system)是指采集圖像后將圖像轉(zhuǎn)換成數(shù)字信號(hào),傳給計(jì)算機(jī)系統(tǒng),使用圖像處理算法對(duì)這些數(shù)字化信號(hào)進(jìn)行處理,根據(jù)處理的結(jié)果來(lái)控制執(zhí)行機(jī)構(gòu)[2]。機(jī)器視覺主要應(yīng)用于工業(yè)生產(chǎn)、產(chǎn)品檢測(cè)、表面檢測(cè)、汽車零件及電子工業(yè)等領(lǐng)域[3]。
激光打標(biāo)技術(shù)(Laser marking technology)的主要目的是在物件的表面留有永久性標(biāo)記[4]。目前,激光打標(biāo)技術(shù)已成為一種精密加工方法,廣泛應(yīng)用于各行各業(yè)[5]。由于激光打標(biāo)過(guò)程中,工件上油脂形成的蒸氣易冷凝在防護(hù)罩的激光過(guò)濾鏡上,阻礙激光的穿透從而使得激光打標(biāo)失效[6],因此如何對(duì)激光打標(biāo)產(chǎn)品進(jìn)行缺陷檢測(cè),從而改進(jìn)激光打標(biāo)產(chǎn)品的質(zhì)量至關(guān)重要。現(xiàn)價(jià)段我國(guó)的激光加工技術(shù)發(fā)展飛速,在采用校企合作模式以推動(dòng)激光加工技術(shù)發(fā)展的同時(shí),也為企業(yè)培養(yǎng)了大批的激光先進(jìn)技術(shù)人才[7]。
目前,工件表面缺陷檢測(cè)的方法主要是對(duì)缺陷的灰度特征和圖像的信號(hào)特征進(jìn)行研究。通常,基于機(jī)器視覺的缺陷檢測(cè)開發(fā)都針對(duì)的是特定產(chǎn)品,一旦待檢產(chǎn)品發(fā)生更換,甚至不同規(guī)格產(chǎn)品發(fā)生更換的時(shí)候,就需要重新編程和調(diào)試步驟,因而提高了時(shí)間成本和財(cái)務(wù)成本。針對(duì)上述問(wèn)題,基于OpenCV/C++軟件,筆者編寫并優(yōu)化了缺陷檢測(cè)算法,提供了缺陷區(qū)域面積像素值的自定義功能,提高了系統(tǒng)的適用范圍,革新了當(dāng)前檢測(cè)不同產(chǎn)品,甚至不同規(guī)格產(chǎn)品必須重新定制開發(fā)程序的方法,擴(kuò)大了系統(tǒng)的使用范圍,提高了檢測(cè)速度、檢測(cè)效率和檢測(cè)準(zhǔn)確性。
以手機(jī)適配器激光打標(biāo)缺陷檢測(cè)為例進(jìn)行系統(tǒng)設(shè)計(jì),加工精度高達(dá)0.001 mm。智能缺陷檢測(cè)系統(tǒng)由硬件和軟件兩大部分等組成。硬件部分由工業(yè)網(wǎng)口相機(jī)、工業(yè)鏡頭、相機(jī)支架、光源控制器和光源等組成;軟件部分主要采用OpenCV平臺(tái)研發(fā)了一套機(jī)器視覺系統(tǒng),該系統(tǒng)采用C++優(yōu)化算法,改進(jìn)了圖像預(yù)處理和識(shí)別的算法,結(jié)合了快速傅里葉變換、高斯濾波、亞像素邊緣閾值分割、數(shù)學(xué)形態(tài)學(xué)運(yùn)算、頻域處理和最小二乘法等檢測(cè)算法。
工業(yè)相機(jī)采用德國(guó)Basler(巴斯勒)的互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)相機(jī),其圖像采集的最大分辨率為2 000萬(wàn)像素,精度可識(shí)別市面上主流手機(jī)適配器激光打標(biāo)缺陷。相機(jī)鏡頭選取定焦距??低曠R頭,焦距為28 mm,鏡頭高度應(yīng)適應(yīng)產(chǎn)品大小,以保證需要檢測(cè)的零件在光源和采集范圍內(nèi)。光源選擇了碗形光源產(chǎn)品,利用碗形光的垂直光線對(duì)激光打標(biāo)表面的反射光進(jìn)行處理,效果最佳。光源控制器的用途是給光源供電,并控制光源的亮度。缺陷檢測(cè)智能系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 缺陷檢測(cè)智能系統(tǒng)總體結(jié)構(gòu)示意
模板匹配是軟件的核心功能之一,對(duì)檢測(cè)結(jié)果起到至關(guān)重要的作用,根據(jù)模板在圖像上找出對(duì)應(yīng)位置,裁剪圖像的定位精確度將直接影響缺陷的檢測(cè)效果,模板越多,匹配精度和檢測(cè)效果越好,但是模板過(guò)多,運(yùn)行速度會(huì)變慢。模板匹配流程如圖2所示。
圖2 模板匹配流程圖
因?yàn)橄鄼C(jī)采集到的圖像存在角度偏差,OpenCV的模板匹配算子并不具有角度的功能,所以單純調(diào)用模板匹配不可行,采用多模板匹配可以有效解決這個(gè)問(wèn)題,為了保證匹配速度,設(shè)定了3種模板,分別以負(fù)角度、零度、正角度進(jìn)行創(chuàng)建。
在進(jìn)行模板匹配前,需要?jiǎng)?chuàng)建3種模板,首先要設(shè)定if語(yǔ)句判斷是否有足夠的模板用于匹配,若沒有,則報(bào)錯(cuò)提示“請(qǐng)確認(rèn)是否創(chuàng)建3種模板”。創(chuàng)建足夠的模板后進(jìn)行模板匹配操作,獲取用于匹配的圖像,判斷源圖像是來(lái)自于打開的圖像還是相機(jī)采集的圖像,確認(rèn)好圖像后,用3種模板分別進(jìn)行一次匹配,匹配的數(shù)值將記錄在特定的圖像中,該圖像每一個(gè)像素存放相應(yīng)的匹配值。匹配完成后,獲取最大匹配值和最小匹配值,復(fù)制源圖像,用于后期繪制矩形框顯示,根據(jù)OpenCV模板匹配算子的參數(shù)設(shè)定,匹配精度最高的可以是最大值和最小值,程序選用最小值為精度最高。
獲取3種模板匹配的最小值后,得出全部匹配值的最小值,獲取該值的坐標(biāo)位置,以該最小值的匹配模板為最符合模板圖,獲取最符合模板圖的寬度和高度,從源圖像中定位裁剪出待檢測(cè)的圖像,并繪制出矩形框顯示裁剪部位。當(dāng)窗口中沒有合適的零件時(shí),匹配值都會(huì)相同,并且為精度最低的數(shù)值,此時(shí)程序出錯(cuò),要應(yīng)對(duì)這種情況,需要設(shè)定一個(gè)else判斷,提示“沒有合適模板”,最后顯示最符合模板圖和裁剪的圖像,以便于觀察并為后續(xù)的缺陷檢測(cè)提供圖像。
軟件系統(tǒng)通過(guò)預(yù)留缺陷面積最小值參數(shù)、二值化最小值調(diào)整和灰度值補(bǔ)償參數(shù),以滿足不同產(chǎn)品的檢測(cè)需求,通過(guò)預(yù)留像素差最小值設(shè)置,實(shí)現(xiàn)不同產(chǎn)品、不同精度、不同檢測(cè)速度的優(yōu)化設(shè)置功能,以滿足客戶的自定義檢測(cè)要求,該功能是軟件系統(tǒng)的核心。缺陷檢測(cè)軟件界面設(shè)計(jì)如圖3所示。
圖3 缺陷檢測(cè)軟件界面設(shè)計(jì)
選用求像素差的方法,獲取模板圖像和待檢測(cè)產(chǎn)品圖像存在差異的區(qū)域,按照系統(tǒng)預(yù)設(shè)的區(qū)域像素值進(jìn)行比對(duì),超過(guò)該值即判定為不合格,并在圖像里繪制紅色圓形輪廓。軟件系統(tǒng)能適應(yīng)靜態(tài)檢測(cè)和動(dòng)態(tài)高速檢測(cè),即目標(biāo)物體的離線和在線實(shí)時(shí)缺陷檢測(cè)。缺陷檢測(cè)流程如圖4所示。
圖4 智能缺陷檢測(cè)流程圖
1.3.1 離線缺陷檢測(cè)
離線缺陷檢測(cè)是指計(jì)算機(jī)在不連接工業(yè)相機(jī)的情況下,應(yīng)用開發(fā)的軟件系統(tǒng)對(duì)存儲(chǔ)在本地磁盤的目標(biāo)物體圖像進(jìn)行缺陷檢測(cè)。離線缺陷檢測(cè)流程如圖5所示。
圖5 離線缺陷檢測(cè)流程圖
所研發(fā)的軟件在離線缺陷檢測(cè)時(shí):① 在計(jì)算機(jī)本地磁盤存儲(chǔ)與待檢測(cè)產(chǎn)品一致的無(wú)缺陷標(biāo)準(zhǔn)產(chǎn)品圖像和待檢測(cè)目標(biāo)產(chǎn)品圖像;② 點(diǎn)擊軟件界面的“打開圖片”按鈕,選定存儲(chǔ)在計(jì)算機(jī)本地磁盤的標(biāo)準(zhǔn)產(chǎn)品圖像;③ 點(diǎn)擊軟件界面的“繪制區(qū)域”按鈕,框選出需要檢測(cè)的區(qū)域用于創(chuàng)建模板,再點(diǎn)擊“創(chuàng)建模板”按鈕,框選出的區(qū)域在模板顯示區(qū)域出現(xiàn),并且軟件提示模板創(chuàng)建完成,模板創(chuàng)建完成之后點(diǎn)擊“保存模板”按鈕,可以將創(chuàng)建完成的模板保存到本地磁盤,也可直接在內(nèi)存里運(yùn)行。通過(guò)對(duì)不同產(chǎn)品,甚至不同規(guī)格產(chǎn)品完成模板的創(chuàng)建及保存,可以保證客戶對(duì)不同產(chǎn)品的缺陷檢測(cè)要求。
完成模板創(chuàng)建之后,可以直接點(diǎn)擊“打開圖片”,選擇待檢測(cè)圖片,調(diào)節(jié)二值化閾值的最大值和最小值,獲取待檢測(cè)區(qū)域特點(diǎn),最后點(diǎn)擊“缺陷檢測(cè)”按鈕,實(shí)現(xiàn)檢測(cè)結(jié)果的顯示,或者在創(chuàng)建完成模板之后,點(diǎn)擊“清空界面”按鈕,清空界面之后,點(diǎn)擊“打開圖片”按鈕,選擇本地磁盤的待檢測(cè)產(chǎn)品圖像,待檢測(cè)目標(biāo)產(chǎn)品圖像會(huì)出現(xiàn)在采集圖像顯示區(qū)域中,然后點(diǎn)擊“讀取模板”按鈕,選擇與待檢測(cè)目標(biāo)產(chǎn)品一致的模板,其會(huì)出現(xiàn)在顯示區(qū)域。通過(guò)調(diào)節(jié)二值化閾值的最大值和最小值來(lái)獲取待檢測(cè)區(qū)域。點(diǎn)擊“缺陷檢測(cè)”按鈕,其判斷結(jié)果會(huì)顯示在結(jié)果顯示區(qū)域中,若待檢測(cè)產(chǎn)品檢測(cè)區(qū)域無(wú)缺陷,則顯示綠色“OK”字符,若該區(qū)域有缺陷,則顯示紅色“NG”字符。
為了滿足產(chǎn)品的個(gè)性化定制需求,系統(tǒng)設(shè)計(jì)了缺陷像素面積的自定義功能設(shè)置。通過(guò)點(diǎn)擊“系統(tǒng)設(shè)置”中的“缺陷面積最小值設(shè)置”按鈕,自定義產(chǎn)品缺陷檢測(cè)面積的最小值,如果待檢測(cè)產(chǎn)品的檢測(cè)值超過(guò)該值,即判斷為缺陷。由用戶更換產(chǎn)品時(shí)根據(jù)實(shí)際要求填入,默認(rèn)值為10,以滿足客戶對(duì)不同產(chǎn)品、不同精度的檢測(cè)要求。
1.3.2 實(shí)時(shí)檢測(cè)
在工業(yè)檢測(cè)行業(yè)中,往往需要具有在線實(shí)時(shí)檢測(cè)功能。實(shí)時(shí)檢測(cè)一般在自動(dòng)化生產(chǎn)線中,工件經(jīng)過(guò)傳送帶傳輸?shù)綑z測(cè)位置后,觸發(fā)相機(jī)(外部觸發(fā)或者內(nèi)部觸發(fā))進(jìn)行采集圖像和缺陷檢測(cè),并將檢測(cè)結(jié)果傳送給相應(yīng)的執(zhí)行機(jī)構(gòu),如機(jī)器人、線性模組等,以執(zhí)行良品或不良品的分揀、統(tǒng)計(jì)等流程。實(shí)時(shí)檢測(cè)流程如圖6所示。
圖6 產(chǎn)品實(shí)時(shí)檢測(cè)流程圖
將智能缺陷系統(tǒng)運(yùn)用于3C產(chǎn)品激光打標(biāo)的缺陷檢測(cè)中,系統(tǒng)兼容主流工業(yè)相機(jī)進(jìn)行缺陷檢測(cè),可根據(jù)客戶實(shí)際精度要求進(jìn)行像素差最小值設(shè)置和缺陷面積最小值設(shè)置,其極限識(shí)別精度達(dá)到亞像素級(jí)別(0.01像素)。經(jīng)過(guò)測(cè)試,以不同手機(jī)適配器產(chǎn)品為例進(jìn)行缺陷檢測(cè),實(shí)現(xiàn)系統(tǒng)對(duì)不同產(chǎn)品或者不同規(guī)格產(chǎn)品缺陷檢測(cè)的共用性。
(1) 對(duì)HUAWEI激光打標(biāo)產(chǎn)品進(jìn)行缺陷檢測(cè),檢測(cè)結(jié)果如圖7所示。
圖7 缺陷檢測(cè)結(jié)果(HUAWEI激光打標(biāo)產(chǎn)品)
(2) 對(duì)VIVO手機(jī)適配器激光打標(biāo)產(chǎn)品進(jìn)行缺陷檢測(cè)時(shí),創(chuàng)建了一種模板:白色背景下黑色打標(biāo)字符。系統(tǒng)讀取模板對(duì)產(chǎn)品進(jìn)行缺陷檢測(cè),讀取白色背景下黑色打標(biāo)字符模板對(duì)產(chǎn)品的缺陷檢測(cè)結(jié)果如圖8所示。
圖8 缺陷檢測(cè)結(jié)果(VIVO手機(jī)適配器激光打標(biāo)產(chǎn)品)
開發(fā)了一種創(chuàng)新性的、可重構(gòu)的、開放性的,且具備通用視覺檢測(cè)功能的智能缺陷檢測(cè)系統(tǒng)。該系統(tǒng)通過(guò)預(yù)留缺陷面積最小值參數(shù)、二值化、最小值調(diào)整、灰度值補(bǔ)償參數(shù)來(lái)滿足不同產(chǎn)品的檢測(cè)需求;通過(guò)預(yù)留像素差最小值設(shè)置,實(shí)現(xiàn)了不同產(chǎn)品、不同精度、不同檢測(cè)速度的優(yōu)化設(shè)置功能。經(jīng)過(guò)測(cè)試,系統(tǒng)可以對(duì)不同規(guī)格、不同型號(hào)手機(jī)適配器激光打標(biāo)產(chǎn)品進(jìn)行缺陷檢測(cè),且具有速度快、精度高、穩(wěn)定性強(qiáng)等特點(diǎn),具有良好的應(yīng)用價(jià)值,對(duì)于提高激光打標(biāo)缺陷的檢測(cè)水平具有較好的促進(jìn)作用。