虞佳佳,張 耀,何 勇
(1.浙江機(jī)電職業(yè)技術(shù)學(xué)院,浙江 杭州 310053;2.浙江大學(xué) 生物系統(tǒng)工程與食品科學(xué)學(xué)院,浙江 杭州 310058)
隨著工業(yè)科技的發(fā)展,磁性材料以其優(yōu)良的性能在信息化、電子化、機(jī)電一體化以及醫(yī)學(xué)和國防等領(lǐng)域的應(yīng)用越來越廣泛[1]。筆者選取的鋁鎳鈷磁棒類(LNG磁棒)主要用于石油化工、采礦、汽輪機(jī)、冶金、制藥、食品、陶瓷、紡織、橡膠、塑料和機(jī)械等行業(yè),這些行業(yè)對LNG磁棒尺寸和表面缺陷有較高的要求,品質(zhì)檢測要求極高。目前對磁性材料的檢測主要有渦流法、漏磁法、微分磁導(dǎo)率檢測模型法和視覺檢測法等。渦流法適合于檢測導(dǎo)體缺陷或近表面缺陷,不適于檢測導(dǎo)體的內(nèi)部缺陷;漏磁技術(shù)[2]是通過材料表面缺陷處形成的漏磁場大小檢測缺陷大小,已被廣泛應(yīng)用于油氣管道金屬損失缺陷檢測等領(lǐng)域,該項(xiàng)技術(shù)雖然沒有高頻信號干擾,但仍然存在如何提高檢測缺陷的信噪比的問題;微分磁導(dǎo)率檢測模型也可以實(shí)現(xiàn)無損檢測,利用正面缺陷特征值實(shí)現(xiàn)正、反面缺陷的識(shí)別[3-4];隨著工業(yè)和制造業(yè)的發(fā)展,近些年國內(nèi)部分檢測設(shè)備供應(yīng)商針對磁性材料研發(fā)采用光學(xué)控制技術(shù)的設(shè)備,主要運(yùn)用非接觸式光學(xué)測量的方式完成檢測,從而達(dá)到快速檢測工件尺寸和外觀缺陷的目的[5-7]。Li等[8]、Huang等[9]基于圖像處理,采用閾值分割、紋理分析等方法檢測磁瓦表面的裂縫、崩角、氣泡和劃痕等,準(zhǔn)確率為92%~93.5%;Xie等[10-11]利用神經(jīng)網(wǎng)絡(luò)算法和機(jī)器視覺進(jìn)行了磁瓦的缺陷檢測;張晉等[12]也采用了DCGANs網(wǎng)絡(luò)對磁瓦的缺損、裂紋、磨損和氣孔等進(jìn)行了檢測,其準(zhǔn)確率為88.76%~90.29%;Yang等[13-14]、胡浩等[15]也利用磁瓦圖像的小波變換和卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了缺陷檢測的研究。結(jié)合機(jī)器視覺,以深度學(xué)習(xí)作為工件的缺陷檢測算法是目前發(fā)展的方向,但深度學(xué)習(xí)法對樣本類型和數(shù)量要求比較高[16],誤檢率高仍然是將其推廣到產(chǎn)業(yè)應(yīng)用時(shí)面臨的一個(gè)主要問題。
基于機(jī)器視覺的快速檢測在磁性材料檢測中的應(yīng)用雖然比較多,但是準(zhǔn)確率相對還是比較低,因此仍需要繼續(xù)研究以提高檢測的準(zhǔn)確率。目前對邊緣崩角裂紋的檢測研究較少,企業(yè)需求卻很大。LNG磁棒端面外觀檢測系統(tǒng)提出了以LNG磁棒為對象,研究一種基于機(jī)器視覺的LNG磁棒端面缺陷合格性檢測算法,提出了一套完整的基于機(jī)器視覺的LNG磁棒在線檢測分揀系統(tǒng)方案,提高了磁棒的檢測效率和準(zhǔn)確性,降低了檢測時(shí)間和成本。
被測LNG磁棒長15.95 mm,端面半徑為4.75 mm。根據(jù)企業(yè)對LNG磁棒端面外觀的評價(jià)標(biāo)準(zhǔn),端面外觀檢測內(nèi)容包括表面缺角、崩角和污點(diǎn)等,其中缺角、崩角缺陷判定依據(jù)為單個(gè)缺陷尺寸大于0.1 mm×0.1 mm,污點(diǎn)判定缺陷依據(jù)為單個(gè)污點(diǎn)面積大于0.15 mm×0.15 mm,其中崩角和缺角主要在端面邊緣出現(xiàn),污點(diǎn)主要在端面內(nèi)出現(xiàn)。
在磁棒端面外觀檢測過程中最大的難點(diǎn)是邊緣的缺角和崩角,人工和視覺檢測都比較容易誤判,因此筆者重點(diǎn)進(jìn)行了邊緣缺角崩角算法的研究。
由于基于端面外觀檢測對精度無實(shí)質(zhì)性要求,選擇了MV-CA013-20GM??得骊嘒igE相機(jī)與8 mm FA鏡頭,配合15 mm×15 mm環(huán)形光源(藍(lán)色)進(jìn)行端面外觀檢測,MV-CA013-20GM的分辨率為1 280×1 024,靶面為0.5 in,采用Global快門。檢測整機(jī)效果圖如圖1所示。
圖1 機(jī)器視覺檢測系統(tǒng)Fig.1 Machine vision detection system
LNG磁棒端面外觀檢測總體設(shè)計(jì)示意圖如圖2所示。系統(tǒng)工控機(jī)主要包括i7-7500 CPU、4 G內(nèi)存和支持4個(gè)千兆網(wǎng)口的通訊接口等,軟件運(yùn)行環(huán)境為Windows 7,算法基于Visual Studio 2010 C#編寫,通過Halcon 11.0實(shí)現(xiàn)。以西門子PLC S7-1200為控制器,視覺系統(tǒng)通過控制器觸發(fā)后,軟件將算法檢測結(jié)果通過Modbus TCP協(xié)議與控制器交互,實(shí)現(xiàn)分揀控制。
圖2 LNG磁棒端面外觀檢測總體設(shè)計(jì)示意圖Fig.2 The overall design diagram of LNG end surface appearance inspection
LNG磁棒端面外觀缺陷的檢測樣本如圖3所示,表現(xiàn)了缺陷樣本的缺角、崩角和污點(diǎn)等主要特征。
圖3 LNG磁棒端面外觀缺陷的檢測樣本圖Fig.3 Samples of LNG end appearance defects
圖3(b,d)的邊緣缺陷在成像上有呈現(xiàn),但是缺陷區(qū)域較小,很難檢測,通過簡單圖像處理無法獲取缺陷信息,因此筆者提出一種基于輪廓與擬合圓距離差的算法來檢測邊緣崩角和缺角信息,算法總體流程如圖4所示。
圖4 LNG磁棒端面外觀檢測算法流程Fig.4 Algorithm flow of LNG end appearance detection
為了更好地剔除背景信息,提取LNG磁棒端面有效信息,先對采集到的圖像進(jìn)行分割處理,圖像分割算法包括閾值分割法、區(qū)域生長法、區(qū)域分裂合并法和分水嶺算法等。閾值分割是一種經(jīng)典的圖像分割方法[17],基于圖像的灰度特征來計(jì)算一個(gè)或多個(gè)灰度閾值,并將圖像中每個(gè)像素的灰度值與閾值作比較,最后根據(jù)比較結(jié)果將像素分到合適的類別中。根據(jù)灰度直方圖的波峰和波谷的位置參數(shù)選擇一個(gè)合適的閾值,其閾值分割表達(dá)式為
Q={(x,y)∈D|Graymin≤f(x,y)≤Graymax}
(1)
式中:Q為在圖像范圍內(nèi)的灰度值處于Graymin和Graymax之間的像素點(diǎn);D為圖像域范圍;f(x,y)為圖像中橫坐標(biāo)x、縱坐標(biāo)y上的灰度值,根據(jù)圖5所示的LNG磁棒端面的灰度直方圖顯示,區(qū)域范圍為[20,80]。
圖5 LNG磁棒端面的灰度直方圖Fig.5 Gray histogram of LNG end appearance
對閾值分割后的圖像作進(jìn)一步處理,將因?yàn)槿苯潜懒岩鸬膯为?dú)區(qū)域剔除,選取更清晰的端面外觀特性圖。采用開閉運(yùn)算的方式進(jìn)行圖像處理,開閉計(jì)算中關(guān)鍵的腐蝕和膨脹計(jì)算公式為
R⊕S={x,y|Sxy∩R≠?}
(2)
RΘS={x,y|Sxy?R}
(3)
式中:R為目標(biāo)對象;S為形態(tài)學(xué)結(jié)構(gòu)。式(2)為用結(jié)構(gòu)S去膨脹R,使目標(biāo)檢測范圍變大;式(3)為用結(jié)構(gòu)S去腐蝕R,使目標(biāo)檢測范圍變小。圖像形態(tài)學(xué)處理開運(yùn)算即先腐蝕再膨脹,閉運(yùn)算為先膨脹再腐蝕,因本系統(tǒng)檢測對象為圓形,故采用結(jié)構(gòu)S為圓形、半徑為5個(gè)像素點(diǎn)的開運(yùn)算處理。經(jīng)過形態(tài)學(xué)處理后的分割圖像如圖6所示。
圖6 形態(tài)學(xué)處理后的分割圖像Fig.6 Image segmentation after morphological processing
由于磁棒端面本身有尺寸公差范圍,加上投影成像的影響,簡單采用閾值面積會(huì)漏檢端面的崩角和缺角信息,因此采用基于輪廓與擬合圓距離公差的方式檢測邊緣崩角、缺角信息。首先基于Canny算子獲取工件的邊緣信息,其圖像處理原理是:通過高斯平滑后,建立Sobel算子,為原圖像進(jìn)行卷積計(jì)算,通過加權(quán)值計(jì)算獲取灰度梯度值,其中的Sobel算子的卷積核即為其權(quán)值,利用Sobel水平算子(Sobelx)、垂直算子(Sobely)和輸入圖像卷積計(jì)算dx和dy,計(jì)算式為
dx=f(x,y)?Sobelx(x,y)
(4)
dy=f(x,y)?Sobely(x,y)
(5)
根據(jù)dx和dy計(jì)算梯度幅度和方向,計(jì)算式為
(6)
(7)
系統(tǒng)圖片分辨率為1 280×1 024,視野為15 mm,因此單像素精度為0.014 6 dpi/mm,而產(chǎn)品檢測缺陷檢測精度要求為0.1 mm,因此選最小的3×3的卷積核參數(shù)即可滿足系統(tǒng)要求,筆者采用的Sobel算子為
(8)
(9)
運(yùn)用以上Sobel算子的卷積核參數(shù)運(yùn)算,最后獲取連通圖,如圖7(a)所示為通過Canny邊緣檢測后獲得邊緣線,并將其邊緣點(diǎn)坐標(biāo)信息保存為數(shù)組L。對邊緣線L進(jìn)行二次開運(yùn)算,獲取有效連續(xù)的邊緣線并進(jìn)行圓擬合,獲得圖7(b)所示的擬合圓邊界圖Circle。根據(jù)預(yù)設(shè)的距離閾值的像素,結(jié)合擬合圓輪廓疊加邊緣缺陷信息,獲得新的邊緣曲線,計(jì)算圖7(a)中的邊緣點(diǎn)到圖7(b)的最小距離獲得圖7(c)所示的邊緣缺陷信息圖,計(jì)算式為
D(x,y)=dist(Li,Circle)
(10)
圖7 基于輪廓與擬合圓距離差檢測邊緣崩角、缺角Fig.7 Defect detection based on distance difference between contour and fitting circle
在提出基于輪廓與擬合圓距離差算法獲取邊緣缺陷的前提下,檢測端面污點(diǎn)也是磁棒檢測不可或缺的一部分,在筆者系統(tǒng)中,端面污點(diǎn)的檢測采用了基于輪廓區(qū)域的Blob分析。Blob分析是對圖像中相同像素的連通域進(jìn)行分析,該連通域稱為Blob。經(jīng)二值化(Binary thresholding)處理后的圖像中斑點(diǎn)即為Blob分析的對象,在Halcon中Blob分析通過如下函數(shù)實(shí)現(xiàn):
1) threshold (rawimage,segmentimage,100,255)獲取二值分割圖segmentimage。
2) connection (segmentimage,blob_region)獲取連通區(qū)域blob_region。
3) select_shape (blob_region,target_region,‘a(chǎn)rea’,‘a(chǎn)nd’,200)獲取端面信息。
4) fill_up (target_region,target_region_fillup)獲取無污點(diǎn)的端面信息target_region_fillup。
5) different (target_region,target_region_fillup,spot_target)初步獲取污點(diǎn)端面信息spot_target。
6) 通過形態(tài)學(xué)開運(yùn)算opening_circle (spot_target,spot_target_opening,10)去掉毛刺信息spot_target_opening。
7) select_shape (spot_target_opening,spots,‘a(chǎn)rea’,‘a(chǎn)nd’,30)獲取最終的端面污點(diǎn)信息spots。
因此,通過Blob分析檢測磁棒端面的污點(diǎn)信息,結(jié)合邊緣崩角缺角信息,獲得如圖8所示端面缺陷的檢測結(jié)果,其檢測準(zhǔn)確率和檢測效率符合企業(yè)檢測要求。
圖8 端面缺陷的檢測結(jié)果Fig.8 The results of end defects detection
在基于輪廓與擬合圓距離差算法檢測邊緣崩角和缺角信息算法中,為了設(shè)定合適的距離差閾值以提高系統(tǒng)的穩(wěn)定性,筆者離線采集了110張樣本來驗(yàn)證算法的有效性。其中30張為合格樣品,20張僅帶有邊緣缺陷,10張僅帶有污點(diǎn)缺陷,60張邊緣缺陷和污點(diǎn)均存在。將距離差閾值分別設(shè)定為1,3,5,8,10個(gè)像素,單獨(dú)對邊緣檢測準(zhǔn)確率進(jìn)行統(tǒng)計(jì),結(jié)果如表1所示。對檢測結(jié)果進(jìn)行分析,可以看出:準(zhǔn)確率與距離差閾值相關(guān),當(dāng)距離閾值過小時(shí)會(huì)將過多的非邊緣缺陷樣本誤判成缺陷樣本,而當(dāng)距離差閾值設(shè)置過大時(shí),會(huì)將部分邊緣缺陷樣本過濾掉,導(dǎo)致邊緣缺陷檢測的準(zhǔn)確率下降。
表1 距離差閾值測試結(jié)果Table 1 The test results of distance difference threshold
由表1可以看出:閾值設(shè)置為5個(gè)像素和8個(gè)像素時(shí),準(zhǔn)確率均較高。在企業(yè)實(shí)際應(yīng)用中,將合格樣本認(rèn)定為不合格為過殺,將不合格樣本認(rèn)定為合格視作漏殺。企業(yè)對品質(zhì)檢測“寧可錯(cuò)殺一千,不可放過一個(gè)”,對漏殺率指標(biāo)的關(guān)注度最高,因此將距離差閾值設(shè)置為5個(gè)像素。
通過離線采集的100張圖像驗(yàn)證算法的有效性后,在i7-7500 CPU、內(nèi)存4 G的工控機(jī)環(huán)境下運(yùn)行算法,采用軟觸發(fā)模式,測試中保證單幀速率小于30。為了更好驗(yàn)證端面缺陷檢測算法的效果,將2 800個(gè)磁棒進(jìn)行自動(dòng)分選,LNG磁棒分揀系統(tǒng)如圖9所示?,F(xiàn)場對照LNG磁棒檢測分揀評價(jià)表判定,端面缺陷樣本數(shù)為800個(gè),合格產(chǎn)品為2 000個(gè),通過分選系統(tǒng)獲得的結(jié)果如表2所示,合格件判定準(zhǔn)確率為96.4%,缺陷件判定準(zhǔn)確率為98.75%,總體準(zhǔn)確率達(dá)到97.07%,滿足產(chǎn)業(yè)分揀要求。
圖9 LNG磁棒分揀系統(tǒng)Fig.9 LNG defects detection system
表2 算法測試結(jié)果Table 2 The result of algorithm test
針對基于機(jī)器視覺的鋁鎳鈷磁棒材料缺陷檢測,創(chuàng)新性地提出了一種基于輪廓與擬合圓距離差作為評價(jià)標(biāo)準(zhǔn)的檢測邊緣崩角和缺角的提取算法。首先,通過Canny算法獲取檢測圖像的輪廓;然后,基于輪廓最大連通曲線擬合端面圓,輪詢計(jì)算輪廓點(diǎn)與擬合的端面圓距離,由此精確獲取邊緣崩角和缺角信息;最后,通過Blob分析法分析端面污點(diǎn)信息。實(shí)驗(yàn)和測試結(jié)果表明:系統(tǒng)可對產(chǎn)品的兩端面外觀缺陷進(jìn)行篩選,實(shí)現(xiàn)對其表面缺角、崩角和污點(diǎn)等的檢測,在所設(shè)計(jì)的鋁鎳鈷磁性材料的分揀系統(tǒng)的應(yīng)用中檢測準(zhǔn)確度大于97%,符合企業(yè)分揀需求。在圖像采集過程中,采用環(huán)形光源采集凹坑裂紋信息比較清晰,但是該光源對反光強(qiáng)的污點(diǎn)的信息采集能力較弱,需要通過增加新的光源配置工位來提高圖像信息的完整性。此外,算法對端面裂紋的敏感性不高,需要進(jìn)一步更新算法,后續(xù)會(huì)加入神經(jīng)卷積網(wǎng)絡(luò)的深度學(xué)習(xí)方法來提高算法對端面外觀缺陷的檢測能力。