摘" 要:為實現通過機器視覺對氣門導管、悶蓋孔、護套孔等零部件的定位,特設計一種適用于圓形部件中心點的檢測方法。首先,使用閾值分割、膨脹、腐蝕等算法對圖像進行預處理,篩選出圓形部件所在的區(qū)域。其次,找到圓形部件所在區(qū)域的中心,將此中心作為圓形卡尺工具的測量中心,設置卡尺的檢測半徑和動態(tài)測量范圍,使測量范圍覆蓋圓形部件的外輪廓。利用卡尺測量算子找到圓形輪廓與卡尺柵格的交點集。最后,通過最小二乘圓弧逼近的方法得到圓的中心點,實現對圓形部件的定位。研究表明,該方法的魯棒性較強,精確度較高,提高了裝配的準確率。
關鍵詞:機器視覺;定位;中心點;圓孔;輪廓提取
中圖分類號:TP391.4" 文獻標識碼:A" 文章編號:2096-4706(2024)10-0042-05
Research on the Location System for Circular Component Center Point Based on Machine Vision
SUN Hongfang, LI Xiaolong
(Tangshan Baichuan Industrial Service Co., Ltd., Tangshan" 063000, China)
Abstract: A detection method suitable for circular component center point is designed to achieve the positioning of valve guides, blind cover holes, protective sleeve holes and other components through Machine Vision. Firstly, it uses threshold segmentation, dilation, corrosion and other algorithms to preprocess the image and filter out the region where circular components are located. Secondly, it finds the center of the area where the circular component is located, uses this center as the measurement center for the circular caliper tool, sets the detection radius and dynamic measurement range of the caliper, so that the measurement range covers the outer contour of the circular component. It uses the caliper measurement operator to find the intersection point set between the circular contour and the caliper grid. Finally, the center point of the circle is obtained using the method of least squares arc approximation to locate the circular component. Research has shown that this method has strong robustness, high accuracy, and improves the accuracy of assembly.
Keywords: Machine Vision; positioning; center point; circular hole; contour extraction
0" 引" 言
鑄造件是將熔融金屬澆注到型腔中,以定位銷為基準,最后對鑄造件進行銑面、鉆孔、鉸孔、攻牙等加工。型腔的不同使鑄造件之間的差異過大。因此,在裝配其他零部件時需要通過機器視覺或其他輔助手段對鑄造件進行精確定位,否則會產生安裝不到位、裝偏、相互干擾等情況。
對鑄造件圓孔或圓面中心的定位是相對常見又比較復雜的一種工序,現階段仍處于持續(xù)不斷的探索之中。對光照、算法等進行了一些改進。文獻[1]嘗試將兩個圓錐形光源的中心放在同一個軸上,加強底面中心區(qū)域與外輪廓區(qū)域的差別。文獻[2]通過濾波對篩選區(qū)域進行去噪,處理掉毛刺等干擾,其局限性是對待測零件邊緣成像質量要求較高。文獻[3]作者研發(fā)一種找中心算法,即通過在質心周圍移動36格子計算最小殘差圖像來確定中心,該算法對有毛刺圓孔的定位效果較好,對于邊緣有缺失圓孔的定位不夠準確。文獻[4]通過霍夫變換算法獲取圓孔的圓心坐標及半徑,其也容易受邊緣位置缺陷的影響而使中心定位不夠準確。文獻[5]通過使用歐氏距離變換計算得到圓心的位置,其缺點是易受異常值的干擾。文獻[6-8]先計算出輪廓,然后根據輪廓形態(tài)篩選出圓弧并將篩選出來的圓弧進行擬合圓,這種方法的局限是需要線條單一,無法排除較近位置近似圓弧輪廓的干擾。文獻[9-11]利用模板實現定位,缺點是背景較為復雜或特征點不夠顯著時容易出現誤匹配。在滿足組裝精度要求的情況下,采用三維掃描儀進行檢測的價格一般為工業(yè)相機的幾十倍。
為解決上述問題,本文提出基于Halcon的圓形卡尺測量工具和最小二乘圓弧逼近的擬合方法獲取圓形輪廓,從而得到圓形部件的中心點位置。
1" 總體方案設計
在智能組裝氣缸蓋生產線中,通過使用機械手工夾取各種零件配合檢測臺、壓裝臺等完成氣缸蓋的一系列自動組裝作業(yè)。在對氣缸蓋進行氣門安裝、悶蓋安裝、護套壓裝時均需較高的安裝精度,為此設計一套基于機器視覺的圓形部件中心點定位系統(tǒng)輔助機械手定位,助力其順利完成組裝工作。
在圓形部件中心點定位系統(tǒng)中,根據對目標物體尺寸、所需精度、表面成像效果等條件的分析,選取分辨率為2 048×2 048像素,靶面尺寸為1英寸的Gige接口工業(yè)相機,搭配焦距為25 mm的定焦工業(yè)鏡頭,通過機械連接件將工業(yè)相機固定于機械手第六軸末端的法蘭上。鏡頭前端嵌套一個環(huán)形白色LED面光源,光源內徑為50 mm,外徑為120 mm。相機視野中心與光源中心處于同一軸上。
設置完視覺檢測所需的條件后,使用Halcon的圓點標定板對視覺系統(tǒng)進行手眼標定,采集14~25張標定板圖像和機械手坐標,獲得標定矩陣,以便后續(xù)計算圓形部件中心點在機械手坐標系下的坐標。
標定完成后,將機械手移動至待測目標物體的正上方,打開光源,設置合適的亮度,調整相機的曝光時間,使邊緣輪廓成像最佳,對待測圓形零部件進行圖像采集。圓形部件中心定位檢測流程如圖1所示。
2" 圓孔中心定位檢測流程
采用基于Halcon的二維圖像圓形中心點的檢測方法來實現圓形部件中心的定位,主要包括以下步驟。
2.1" 圖像裁切和預處理
首先通過裁剪算子reduce_domain()切割出圓形零部件所在的區(qū)域,然后通過調用threshold()算子進行灰度值分析和閾值分割。
閾值分割可由式(1)表示[12]:
其中,g(x, y)表示輸入圖像,f (x, y)表示輸出圖
像,K表示閾值,1表示選中區(qū)域,0表示背景區(qū)域。
對選中區(qū)域使用腐蝕算子erosion_rectangle1(),對該區(qū)域邊緣位置進行預處理,去除掉毛邊、瑕疵等干擾。腐蝕算子可由式(2)表示:
其中,A表示原始圖像,B表示形狀為矩形的卷積核,用B覆蓋A,得到像素點,用最小值替代原始圖像中的像素點,實現A圖像腐蝕。
再使用膨脹算子dilation_rectangle1()擴大該區(qū)域邊緣范圍,分割出需要計算的目標圓形部件邊緣所在的區(qū)域,如圖2所示。膨脹算子可由式(3)表示:
其中,A表示原始圖像,B表示形狀為矩形的卷積核,對A和B進行與運算,即用B去替代A中的每一個像素點,實現A圖像的膨脹。
2.2" 擬合圓計算
為獲取較為精確的圓形邊緣,需要對卡尺測量工具進行以下操作:
1)動態(tài)添加卡尺并設置測量范圍。通過步驟一的操作得到主區(qū)域,使用區(qū)域中心計算算子area_center()得到該區(qū)域的中心點(Row,Column),將其作為卡尺測量工具的中心點位置,即可實現根據目標部件出現的位置來設置卡尺,以便在目標部件位置不固定的情況下也能將目標部件的邊緣準確識別出來。
使用add_metrology_object_circle_measure()算子設置卡尺工具的測量范圍,使卡尺工具檢測范圍覆蓋目標邊緣可能出現的區(qū)域,如圖3(a)所示為測量范圍。根據圖像邊緣灰度值范圍,將平滑圖像灰度值的標準偏差MeasureSigma設置為1,將最小邊緣振幅MeasureThreshold設置為15。
2)設置查找邊緣的數量。通過使用set_metrology_object_param(MetrologyHandle, CircleIndex, ‘num_instances', 2)算子設置找圓的個數為2,即測量卡尺檢測輸出兩個圓,如圖4所示。
3)獲取測量結果。使用get_metrology_object_result_contour()算子獲取測量結果Contour;使用算子get_metrology_object_measures (Contours, MetrologyHandle, ‘all', ‘all', Rows, Columns)獲得所有邊緣點集合,即(Rows,Columns)。
圓形卡尺工具的檢測原理:設置無數個小矩形檢測區(qū)域,如圖2(b)放大效果圖所示,無數個小矩形經過旋轉形成環(huán)形檢測范圍,如圖2(a)所示。每個小矩形都對該區(qū)域的圖像進行明暗變化分析,通過對MeasureSigma和MeasureThreshold的參數限制,檢測出所有可能的邊緣點,即卡尺柵格與圖像區(qū)域的交點集,如圖2(c)放大效果圖所示。柵格的步長越小,所得到的交點集越密集,最后擬合的圓輪廓越精確。
4)擬合圓。使用fit_circle_contour_xld(Contour, ‘algebraic', -1, 0, 0, 3, 2, RowCircle, ColumnCircle, RadiusCircle, StartPhi, EndPhi, PointOrder)算子得到圓的中心點坐標(RowCircle, ColumnCircle)和半徑RadiusCircle數據。而算子fit_circle_contour_xld ()支持algebraic、ahuber、atukey、geometric、geohuber、geotukey這6種方式擬合圓。實驗過程中共采集650張圖像,排除掉過暴、過暗以及銹腐過于嚴重無法擬合的圖像52張,對剩下的598張圖像進行中心點計算分析。分別統(tǒng)計擬合圓形邊緣距離實際邊緣的像素值,如表1所示,分別統(tǒng)計了3~5像素偏移、5~10像素偏移、20以上像素偏移以及識別錯誤的圖像(僅識別到一個圓)數量。經綜合比較,algebraic的準確率相對更高,因此,采用最小二乘圓弧逼近的擬合方法,較為適合本文中所示圓形部件中點的檢測。
曲線進行圓弧逼近的圓方程可由式(4)表示[13]:
則曲線上第i點對圓弧的誤差可由式(5)表示:
因此,只需令逼近圓弧對圓上每個點誤差的平方和最小,就能保證該圓弧無限逼近圓。
通過求極值和消元,計算得到A、B、C這3個常量,從而得到圓心(A,B)和半徑 。
2.3" 圓形輪廓篩選
檢測圖像周圍輪廓線條相對復雜,目標圓附近易受其他圓形輪廓的影響,如果只輸出一個圓,在檢測結果的圓集合中,圓度分值最高的圓會被檢測出來,結果具有不確定性。
經過分析,容易出現誤檢的位置是距離目標輪廓最近的外接圓,為解決這一問題,此步驟檢測的目的是找到兩個圓,通過判斷圓的半徑值篩選出兩個圓中半徑較小的圓,獲得其序列號Min。如果檢測結果是僅找到一個圓,那么這個圓就被默認為是目標圓,直接用于后續(xù)計算。
2.4" 篩選后所得到圓的生成和顯示
使用gen_circle_contour_xld ()算子計算出最小圓的輪廓ContCircleMin,然后使用div_display ()算子進行顯示,通過觀察輪廓邊緣與實際目標輪廓的偏離情況,驗證其是否為最終所求目標輪廓。如圖5所示,所求圓形輪廓與實際目標輪廓相符,目標中心點坐標即為(RowCircle[Min], ColumnCircle[Min]),此時的坐標為圖像中的像素坐標。
2.5" 圖像坐標轉化為機械手坐標系
使用image_points_to_world_plane ()算子將中心點的像素坐標轉化為世界坐標系。使用手眼標定矩陣和affine_trans_point_3d ()算子以及矩陣轉化算子計算出圓形部件中心點位于機械手基坐標系下的坐標。
3" 算法驗證及分析
由于機械手的重復精度很高,采用機械手的數據作為標準值與圖像定位結果進行比對,驗證誤差值范圍。驗證步驟如下:
1)移動機械手末端位于待定位圓形部件上方,工業(yè)相機視野范圍包含需定位的圓形部件圖像即A位置,記錄此時的機械手坐標A(Ax,Ay)。視覺系統(tǒng)打開光源,采集圖像,計算此時的圖像中心點坐標,并通過手眼標定矩陣將圖像中心點像素坐標轉化為機械手坐標系,記錄此坐標系下的坐標P1(Px1,Py1)。
2)相機視野仍然包含待定位圓形部件圖像,移動機械手末端至B位置時記錄此時機械手坐標B(Bx,By),視覺系統(tǒng)再次采集圖像,經過轉化得到新的機械手坐標系下的點坐標P2(Px2,Py2)。
3)將通過圖像算法得到的差值(P1 - P2)與機械手移動的距離(A - B)進行比對,以驗證圖像的計算精度Dx = (Px1 - Px2) - (Ax - Bx)和Dy = (Py1 - Py2) - (Ay - By),如表1所示。
由于工業(yè)相機的視野范圍較小,且在位置A和B時都需要采集到完整的圓形部件圖像,所以A、B位置的可移動范圍相對較小。
由表2可知,最大誤差為0.24 mm,經過計算,x軸和y軸上平均誤差為0.106 mm和0.064 mm,滿足氣缸蓋的裝配要求。
除上面的檢測需求外,此算法還適用于以下幾種情況:
1)周圍背景復雜,有其他圓弧狀輪廓干擾。
2)圓形輪廓周圍的對比度較低,很難直接通過閾值分割、中值濾波、高斯濾波等方法得到可靠的輪廓線條。
3)復雜嵌套,由于鑄造件的結構問題造成內外嵌套多層圓環(huán)形干擾。
4)圓形部件內部有污染或異物,圓形邊緣有損傷、銹腐等非閉合區(qū)域。
5)有較大缺口或有倒角干擾造成陰影。
6)齒輪外輪廓不連續(xù),但在同一個圓上。采用其他方法進行齒輪外輪廓的提取是非常煩瑣和復雜的,齒輪外輪廓在圓上,因此采用此算法進行檢測是比較高效的,即便是僅采集到部分齒輪的圖像,也可以十分準確地將齒輪外邊緣所在的圓提取出來。在對齒輪邊緣進行圓擬合時,需要關注圓形卡尺的步長設置,不是卡尺的步長越密集越好,而是需要卡尺柵格與齒輪的最外沿有盡可能多的交點。從圖6中可以看出,該算法的魯棒性較強,以上幾種情況都能適用。
4" 結" 論
針對圓形部件中心點定位檢測系統(tǒng),文中提出了基于區(qū)域分割和卡尺測量工具相結合的方法,再結合代數逼近擬合圓方法得到圓形輪廓,確定圓形部件的中心點位置。實驗結果表明,這種定位方法的定位精度較高,定位誤差在0.2 mm左右,在允許的誤差范圍內,滿足裝配要求,同時這種方法對光照及邊緣缺陷的抗干擾能力強,檢測結果比較穩(wěn)定,其在復雜工業(yè)組裝環(huán)境中的適用性較強,具有廣闊的應用前景。
參考文獻:
[1] CHEN T J,WANG Y N,XIAO C Y,et al. A Machine Vision Apparatus and Method for Can-End Inspection [J].IEEE Transactions on Instrumentation and Measurement,2016,65(9):2055?2066.
[2] 金華強,廖強.一種基于機器視覺的圓孔邊緣跟蹤方法 [J].電子設計工程,2019,27(21):172-176.
[3] 鄧斌攸,池志強,潘云峰,等.家具板件圓形孔位的機器視覺在線檢測算法 [J].木材科學與技術,2022,36(2):60-64.
[4] 聶簫,王鋒,王濤,等.霍夫變換在接觸線磨耗檢測算法中的應用 [J].機車電傳動,2022(4):140-145.
[5] 朱文彬,顧紅,朱曉春.一種用于PCB板圓孔的快速定位檢測方法:CN105787939B [P].2019-05-14.
[6] 馬超,曹國華,丁紅昌.基于工業(yè)機器人的圖像引導圓孔定位方法 [J].機床與液壓,2023,51(3):50-56.
[7] 黨長營,賈立功,曾志強,等.基于機器視覺的雙金屬鑄件圓孔測量方法 [J].制造技術與機床,2021(6):96-99.
[8] 殷春華,楊宏韜,趙愛國,等.復雜背景下基于Halcon的剎車盤視覺檢測 [J].現代電子技術,2019,42(17):49-52.
[9] 廖秉旺,林文煜.基于Halcon的工件視覺分揀系統(tǒng) [J].現代信息科技,2021,5(1):156-158.
[10] 張毅.基于Halcon的零件分揀系統(tǒng)在鋼結構行業(yè)應用的研究 [D].青島:青島理工大學,2022.
[11] BUTT S I,ASGHER U,MUSHTAQ U,et al. Intelligent Machine Vision Based Modeling and Positioning System in Sand Casting Process [J/OL].Advances in Materials Science and Engineering,2017[2013-08-05].https://www.hindawi.com/journals/amse/2017/3192672.
[12] 張堯.基于互信息的特征選擇方法研究 [D].西安:西安理工大學,2019.
[13] 樂英,韓慶瑤,王璋奇.數控加工中非圓曲線的最小二乘圓弧逼近 [J].華北電力大學學報,2006(6):102-104.
作者簡介:孫紅芳(1988—),女,漢族,河北唐山人,工程師,本科,研究方向:機器視覺、人工智能。