王婷婷,尹輝俊,尹波
(廣西科技大學(xué)a.機(jī)械與汽車工程學(xué)院;b.創(chuàng)新創(chuàng)業(yè)學(xué)院,廣西柳州 545006)
纜索聚乙烯(Polyethylene,簡稱PE)表面的直徑大小是評(píng)價(jià)纜索在生產(chǎn)線中PE表面包裹均勻度的重要標(biāo)準(zhǔn),如果直徑過大就會(huì)浪費(fèi)外層PE,造成資源的浪費(fèi),而直徑過小會(huì)影響纜索的使用壽命。纜索作為懸架橋和斜拉橋的主要承重結(jié)構(gòu),其直徑不標(biāo)準(zhǔn)必然會(huì)對(duì)懸架橋和斜拉橋安全產(chǎn)生極大的影響。
目前,纜索PE表面直徑測(cè)量主要是靠人工目測(cè)。由于纜索在生產(chǎn)過程中是一直行走的,人工檢測(cè)無法在生產(chǎn)過程中對(duì)纜索進(jìn)行接觸測(cè)量,只能等纜索生產(chǎn)完成后對(duì)纜索PE表面進(jìn)行接觸測(cè)量。人工目測(cè)精度不高,檢測(cè)標(biāo)準(zhǔn)不統(tǒng)一[1-2]。在國內(nèi)針對(duì)機(jī)器視覺的測(cè)量中,鄧斌攸等[3]利用兩級(jí)成像對(duì)家具板件尺寸進(jìn)行檢測(cè),測(cè)量精度為±0.05 mm,但是硬件設(shè)備成本高,且精度較低。李晉鑫等[4]利用最小二乘法擬合直線對(duì)內(nèi)絲接頭尺寸進(jìn)行測(cè)量,測(cè)量精度為±0.01 mm,但局限性較大,對(duì)長度較長的零件測(cè)量精度較低。文中通過對(duì)提取邊緣進(jìn)行分段之后,再進(jìn)行直線擬合,進(jìn)一步提高了測(cè)量的精確度。實(shí)驗(yàn)結(jié)果表明,測(cè)量精度較高,穩(wěn)定性較強(qiáng),可以達(dá)到工廠要求的測(cè)量標(biāo)準(zhǔn)。
硬件系統(tǒng)和軟件系統(tǒng)兩個(gè)部分組成了纜索PE表面直徑檢測(cè)實(shí)驗(yàn)平臺(tái)。硬件部分主要包括了計(jì)算機(jī)、大恒工業(yè)相機(jī)、光學(xué)鏡頭、環(huán)形LED工業(yè)光源及警報(bào)模塊組成。當(dāng)系統(tǒng)啟動(dòng)時(shí),工業(yè)相機(jī)采集生產(chǎn)線上纜索PE表面圖像。其次,軟件系統(tǒng)對(duì)圖片進(jìn)行形態(tài)學(xué)處理、感興趣(ROI)區(qū)域提取、外輪廓線提取,計(jì)算出纜索PE表面的直徑大小。如果檢測(cè)到纜索PE表面直徑大小不在規(guī)定范圍之內(nèi),計(jì)算機(jī)對(duì)警報(bào)模塊進(jìn)行控制,發(fā)出響聲,同時(shí)存儲(chǔ)好纜索PE表面直徑值。實(shí)驗(yàn)平臺(tái)結(jié)構(gòu)如圖1所示。圖2是在實(shí)驗(yàn)室條件下搭建的實(shí)驗(yàn)平臺(tái)。
圖1 實(shí)驗(yàn)平臺(tái)圖
圖2 纜索PE表面直徑在線測(cè)量試驗(yàn)臺(tái)
軟件系統(tǒng)是基于圖像處理軟件Halcon和C#聯(lián)合開發(fā),其核心部分算法如圖3所示。
圖3 核心算法圖
相機(jī)標(biāo)定是機(jī)器視覺測(cè)量檢測(cè)的重要基礎(chǔ)。計(jì)算出鏡頭的畸變,那么就可以將有畸變的圖像轉(zhuǎn)換為正常狀態(tài)的圖像,利用Halcon中的gen_radial_distortion算子生成鏡像畸變映射圖,消除圖片由于畸變產(chǎn)生的扭曲,以便于后續(xù)的測(cè)量。世界坐標(biāo)系(X1,Y1,Z1)即為標(biāo)定板所在的坐標(biāo)系、相機(jī)坐標(biāo)系(X2,Y2,Z2)、圖像坐標(biāo)系(X,Y)是相機(jī)成像的3種成像模型,為了得到攝像機(jī)的內(nèi)部和外部參數(shù),利用Halcon中的CameraParameters算子和CameraPose算子。然后通過gen_caltab算子生成標(biāo)定板,標(biāo)定板如圖4所示,其中黑色圓點(diǎn)行數(shù)和列數(shù)均為7,黑色原點(diǎn)的半徑為0.9375 mm,圓點(diǎn)的中心間距為3.75 mm。標(biāo)定板的數(shù)據(jù)是物理尺寸和像素間的轉(zhuǎn)換至關(guān)重要的部分。
圖4 標(biāo)定板圖
由于本實(shí)驗(yàn)用的是大恒工業(yè)相機(jī),采集到的是黑白圖片,所以不需要對(duì)圖像進(jìn)行灰度化處理。但在纜索生產(chǎn)線上,因環(huán)境因素的影響而產(chǎn)生的噪點(diǎn)會(huì)影響圖像特征的提取,增加圖像算法復(fù)雜度,因此需要對(duì)圖像進(jìn)行濾波處理。常用的濾波有均值濾波[5]、中值濾波[6]、導(dǎo)向?yàn)V波[7]。
利用Halcon 中的guided_filter (Image, Image,ImageGuided, 3, 20)算子。輸入圖像Image設(shè)為I,通過引導(dǎo)圖像Image 設(shè)為H,經(jīng)過濾波后得到的輸出圖像為ImageGuided設(shè)為O,則有
式中:i和j分別為像素下標(biāo);Wij為和引導(dǎo)圖像H相關(guān)的濾波核。
導(dǎo)向?yàn)V波假設(shè)了輸入圖像和引導(dǎo)圖像H在濾波窗口ωi存在局部線性關(guān)系,根據(jù)以下公式計(jì)算位置i濾波后的灰度Oi'值:
圖像經(jīng)過3種濾波處理的效果如圖5~圖8所示,可以看到導(dǎo)向?yàn)V波不僅模糊掉了不需要的細(xì)節(jié)部分,也很好地保留了圖像的邊緣信息。
圖5 原始圖像
圖6 中值濾波
圖7 均值濾波
圖8 導(dǎo)向?yàn)V波
常見的閾值分割有自動(dòng)全局閾值分割和局部閾值分割,經(jīng)過實(shí)驗(yàn)對(duì)比,Halcon中的var_threshold基于局部動(dòng)態(tài)的閾值分割方法在本實(shí)驗(yàn)條件下效果更好。此分割方法是根據(jù)局部的標(biāo)準(zhǔn)差和均值,分割圖像中鄰域像素滿足條件的區(qū)域,在不均勻、嘈雜或不均勻照明的圖片上將纜索區(qū)域提取出來。
常見的邊緣檢測(cè)有Roberts算子[8]、Soble算子[9]、Canny算子[10]。因?yàn)槔|索邊緣灰度值比較陡峭,所以使用Roberts算子對(duì)邊緣進(jìn)行檢測(cè),同時(shí)Roberts邊緣定位比較準(zhǔn)確。
G(x,y)為Robert交叉算子,用梯度函數(shù)的Robert絕對(duì)值來近似以便簡化計(jì)算,則有:
利用Soble算子、Canny算子、Roberts算子處理邊緣效果如圖9~圖11所示。
圖9 Soble算子效果圖
圖10 Canny算子效果圖
圖11 Robert算子效果圖
首先利用skeleton 算子對(duì)Robert算子提取出的邊緣進(jìn)行骨架提取,其次利用gen_contours_skeleton_xld 算子將骨架的輪廓提取出來,然后利用segment_contours_xld 算子,select_contours_xld 算子和union_adjacent_contours_xld將輪廓的亞像素提取出來。效果如圖12所示。
圖12 邊緣亞像素
如圖13所示,檢測(cè)出來的邊緣局部差別較為明顯,因此需要將提取出來的邊緣進(jìn)行等分。利用get_contour_xld(SelectedContours1, Row, Col)得到輪廓的像素點(diǎn)集合,然后將得到的這些點(diǎn)等分成10個(gè)集合,通過gen_contour_polygon_xld把等分好的點(diǎn)集合連接在一起就將輪廓線分成了10段。像素點(diǎn)集合數(shù)據(jù)如圖13所示,輪廓十等分效果如圖14所示。5.3 直線的擬合將得到的十等分的輪廓按照1~10的順序,利用fit_line_contour_xld中的加權(quán)最小二乘法,最小二乘法原理[11-12]如圖15所示。
圖13 集合數(shù)據(jù)圖
圖14 輪廓線十等分圖
如圖15所示,平面存在n個(gè)點(diǎn),f(x1,y1)、f(x2,y2)、…、f(xn,yn),將圖上的n個(gè)點(diǎn)擬合成一條直線,設(shè)這條直線的方程為
圖15 最小二乘法圖
直線的擬合就是計(jì)算出該方程中的系數(shù)a和b。
根據(jù)以下公式,通過求Y方向的差值平方和最小,計(jì)算出a和b:
即要求R最小:
式中,r為點(diǎn)到直線的y方向的距離。
加權(quán)最小二乘法[13]就是在原來模型的基礎(chǔ)上進(jìn)行加權(quán),使之成為一個(gè)新的不存在異方差性的模型。通常權(quán)值可以取為:
式中,τ為人為設(shè)定的閾值。
直線擬合之后的效果如圖16所示。
圖16 直線擬合效果圖
然后利用Halcon中的distance_sl算子計(jì)算出兩條線之間的最小和最大距離,求最小、最大距離的平均值。最后對(duì)十等分的輪廓線距離求平均值,得到最終的纜索直徑。
如圖17所示,軟件系統(tǒng)基于VS2019平臺(tái),使用Halcon開發(fā)圖像處理算法,使用C#的winform技術(shù)編寫軟件界面。軟件界面分為顯示窗口、直徑檢測(cè)、數(shù)據(jù)保存、關(guān)閉系統(tǒng)4個(gè)模塊。當(dāng)檢測(cè)到纜索表面直徑時(shí),會(huì)自動(dòng)記錄纜索直徑并將數(shù)據(jù)保存在指定文件夾內(nèi)。當(dāng)纜索PE表面直徑?jīng)]有在規(guī)定的范圍內(nèi)時(shí),警報(bào)器會(huì)響起,通知工作人員。
圖18是纜索生產(chǎn)線圖。通過實(shí)驗(yàn)對(duì)比可知,視覺測(cè)量和人工測(cè)量的最大偏差數(shù)據(jù)為0.02 mm,檢測(cè)偏差較小。與李晉鑫等[4]直接利用最小二乘法擬合直線相比,平均精度提升了0.02 mm,同時(shí)本實(shí)驗(yàn)法更加適合較大工件的測(cè)量。平均每張圖片的檢測(cè)時(shí)間為215 ms。綜上所述,基于機(jī)器視覺的纜索PE表面直徑無接觸測(cè)量可以達(dá)到工廠的要求。
圖18 纜索生產(chǎn)線圖
本文利用機(jī)器視覺設(shè)計(jì)了纜索PE表面直徑測(cè)量系統(tǒng),利用大恒工業(yè)相機(jī)獲得纜索PE表面圖像,對(duì)圖像進(jìn)行濾波處理,其次利用Roberts算子找到纜索PE表面邊緣。然后將邊緣進(jìn)行十等分,最后通過加權(quán)最小二乘法對(duì)十等分的邊緣按照順序進(jìn)行直線擬合,由此計(jì)算出纜索的直徑。實(shí)際檢測(cè)效率高,測(cè)量精度較高,可以避免人工檢測(cè)過程中各種因素對(duì)測(cè)量精度的干擾,進(jìn)一步提高檢測(cè)的自動(dòng)化程度。但由于生產(chǎn)線中干擾因素的影響,后續(xù)還需要提高測(cè)量的精度,對(duì)算法進(jìn)行進(jìn)一步優(yōu)化,同時(shí)提高測(cè)量速度與精度,提高在線測(cè)量效率。
表1 檢測(cè)結(jié)果對(duì)比圖cm