王婷婷,尹輝俊,尹波
(廣西科技大學a.機械與汽車工程學院;b.創新創業學院,廣西柳州 545006)
纜索聚乙烯(Polyethylene,簡稱PE)表面的直徑大小是評價纜索在生產線中PE表面包裹均勻度的重要標準,如果直徑過大就會浪費外層PE,造成資源的浪費,而直徑過小會影響纜索的使用壽命。纜索作為懸架橋和斜拉橋的主要承重結構,其直徑不標準必然會對懸架橋和斜拉橋安全產生極大的影響。
目前,纜索PE表面直徑測量主要是靠人工目測。由于纜索在生產過程中是一直行走的,人工檢測無法在生產過程中對纜索進行接觸測量,只能等纜索生產完成后對纜索PE表面進行接觸測量。人工目測精度不高,檢測標準不統一[1-2]。在國內針對機器視覺的測量中,鄧斌攸等[3]利用兩級成像對家具板件尺寸進行檢測,測量精度為±0.05 mm,但是硬件設備成本高,且精度較低。李晉鑫等[4]利用最小二乘法擬合直線對內絲接頭尺寸進行測量,測量精度為±0.01 mm,但局限性較大,對長度較長的零件測量精度較低。文中通過對提取邊緣進行分段之后,再進行直線擬合,進一步提高了測量的精確度。實驗結果表明,測量精度較高,穩定性較強,可以達到工廠要求的測量標準。
硬件系統和軟件系統兩個部分組成了纜索PE表面直徑檢測實驗平臺。硬件部分主要包括了計算機、大恒工業相機、光學鏡頭、環形LED工業光源及警報模塊組成。當系統啟動時,工業相機采集生產線上纜索PE表面圖像。其次,軟件系統對圖片進行形態學處理、感興趣(ROI)區域提取、外輪廓線提取,計算出纜索PE表面的直徑大小。如果檢測到纜索PE表面直徑大小不在規定范圍之內,計算機對警報模塊進行控制,發出響聲,同時存儲好纜索PE表面直徑值。實驗平臺結構如圖1所示。圖2是在實驗室條件下搭建的實驗平臺。

圖1 實驗平臺圖

圖2 纜索PE表面直徑在線測量試驗臺
軟件系統是基于圖像處理軟件Halcon和C#聯合開發,其核心部分算法如圖3所示。

圖3 核心算法圖
相機標定是機器視覺測量檢測的重要基礎。計算出鏡頭的畸變,那么就可以將有畸變的圖像轉換為正常狀態的圖像,利用Halcon中的gen_radial_distortion算子生成鏡像畸變映射圖,消除圖片由于畸變產生的扭曲,以便于后續的測量。世界坐標系(X1,Y1,Z1)即為標定板所在的坐標系、相機坐標系(X2,Y2,Z2)、圖像坐標系(X,Y)是相機成像的3種成像模型,為了得到攝像機的內部和外部參數,利用Halcon中的CameraParameters算子和CameraPose算子。然后通過gen_caltab算子生成標定板,標定板如圖4所示,其中黑色圓點行數和列數均為7,黑色原點的半徑為0.9375 mm,圓點的中心間距為3.75 mm。標定板的數據是物理尺寸和像素間的轉換至關重要的部分。

圖4 標定板圖
由于本實驗用的是大恒工業相機,采集到的是黑白圖片,所以不需要對圖像進行灰度化處理。但在纜索生產線上,因環境因素的影響而產生的噪點會影響圖像特征的提取,增加圖像算法復雜度,因此需要對圖像進行濾波處理。常用的濾波有均值濾波[5]、中值濾波[6]、導向濾波[7]。
利用Halcon 中的guided_filter (Image, Image,ImageGuided, 3, 20)算子。輸入圖像Image設為I,通過引導圖像Image 設為H,經過濾波后得到的輸出圖像為ImageGuided設為O,則有

式中:i和j分別為像素下標;Wij為和引導圖像H相關的濾波核。
導向濾波假設了輸入圖像和引導圖像H在濾波窗口ωi存在局部線性關系,根據以下公式計算位置i濾波后的灰度Oi'值:

圖像經過3種濾波處理的效果如圖5~圖8所示,可以看到導向濾波不僅模糊掉了不需要的細節部分,也很好地保留了圖像的邊緣信息。

圖5 原始圖像

圖6 中值濾波

圖7 均值濾波

圖8 導向濾波
常見的閾值分割有自動全局閾值分割和局部閾值分割,經過實驗對比,Halcon中的var_threshold基于局部動態的閾值分割方法在本實驗條件下效果更好。此分割方法是根據局部的標準差和均值,分割圖像中鄰域像素滿足條件的區域,在不均勻、嘈雜或不均勻照明的圖片上將纜索區域提取出來。
常見的邊緣檢測有Roberts算子[8]、Soble算子[9]、Canny算子[10]。因為纜索邊緣灰度值比較陡峭,所以使用Roberts算子對邊緣進行檢測,同時Roberts邊緣定位比較準確。

G(x,y)為Robert交叉算子,用梯度函數的Robert絕對值來近似以便簡化計算,則有:

利用Soble算子、Canny算子、Roberts算子處理邊緣效果如圖9~圖11所示。

圖9 Soble算子效果圖

圖10 Canny算子效果圖

圖11 Robert算子效果圖
首先利用skeleton 算子對Robert算子提取出的邊緣進行骨架提取,其次利用gen_contours_skeleton_xld 算子將骨架的輪廓提取出來,然后利用segment_contours_xld 算子,select_contours_xld 算子和union_adjacent_contours_xld將輪廓的亞像素提取出來。效果如圖12所示。

圖12 邊緣亞像素
如圖13所示,檢測出來的邊緣局部差別較為明顯,因此需要將提取出來的邊緣進行等分。利用get_contour_xld(SelectedContours1, Row, Col)得到輪廓的像素點集合,然后將得到的這些點等分成10個集合,通過gen_contour_polygon_xld把等分好的點集合連接在一起就將輪廓線分成了10段。像素點集合數據如圖13所示,輪廓十等分效果如圖14所示。5.3 直線的擬合將得到的十等分的輪廓按照1~10的順序,利用fit_line_contour_xld中的加權最小二乘法,最小二乘法原理[11-12]如圖15所示。

圖13 集合數據圖

圖14 輪廓線十等分圖
如圖15所示,平面存在n個點,f(x1,y1)、f(x2,y2)、…、f(xn,yn),將圖上的n個點擬合成一條直線,設這條直線的方程為

圖15 最小二乘法圖

直線的擬合就是計算出該方程中的系數a和b。
根據以下公式,通過求Y方向的差值平方和最小,計算出a和b:

即要求R最小:

式中,r為點到直線的y方向的距離。
加權最小二乘法[13]就是在原來模型的基礎上進行加權,使之成為一個新的不存在異方差性的模型。通常權值可以取為:

式中,τ為人為設定的閾值。
直線擬合之后的效果如圖16所示。

圖16 直線擬合效果圖
然后利用Halcon中的distance_sl算子計算出兩條線之間的最小和最大距離,求最小、最大距離的平均值。最后對十等分的輪廓線距離求平均值,得到最終的纜索直徑。
如圖17所示,軟件系統基于VS2019平臺,使用Halcon開發圖像處理算法,使用C#的winform技術編寫軟件界面。軟件界面分為顯示窗口、直徑檢測、數據保存、關閉系統4個模塊。當檢測到纜索表面直徑時,會自動記錄纜索直徑并將數據保存在指定文件夾內。當纜索PE表面直徑沒有在規定的范圍內時,警報器會響起,通知工作人員。
圖18是纜索生產線圖。通過實驗對比可知,視覺測量和人工測量的最大偏差數據為0.02 mm,檢測偏差較小。與李晉鑫等[4]直接利用最小二乘法擬合直線相比,平均精度提升了0.02 mm,同時本實驗法更加適合較大工件的測量。平均每張圖片的檢測時間為215 ms。綜上所述,基于機器視覺的纜索PE表面直徑無接觸測量可以達到工廠的要求。

圖18 纜索生產線圖
本文利用機器視覺設計了纜索PE表面直徑測量系統,利用大恒工業相機獲得纜索PE表面圖像,對圖像進行濾波處理,其次利用Roberts算子找到纜索PE表面邊緣。然后將邊緣進行十等分,最后通過加權最小二乘法對十等分的邊緣按照順序進行直線擬合,由此計算出纜索的直徑。實際檢測效率高,測量精度較高,可以避免人工檢測過程中各種因素對測量精度的干擾,進一步提高檢測的自動化程度。但由于生產線中干擾因素的影響,后續還需要提高測量的精度,對算法進行進一步優化,同時提高測量速度與精度,提高在線測量效率。

表1 檢測結果對比圖cm