易煥銀





摘要:為了解決產品制造企業對R型銷的間隙測量難度大、效率低的問題,本文提出了一種基于機器視覺的R型銷間隙測量方法,介紹了測量方法的整體結構,首先利用連通域分析進行圖像預處理并提取對象邊沿,然后利用Hough變換檢測外邊沿直線并分區搜索兩個較寬間隙端點的大致位置,再利用最小二乘法擬合得到內邊沿直線并獲取各間隙拐點的準確位置,最后搜索各間隙的另一端點并計算出各間隙的寬度。實驗表明,此方法自動適應被測對象型號、位置和角度的變化,用C++實現的該算法平均運行時間約為50 ms。在5個對象各100次隨機擺放的重復性測量實驗中,窄、中、寬三間隙的最大絕對誤差分別為0.038 mm、0.059 mm和0.071 mm,最大相對誤差分別為3.360%、1.059%和0.670%,滿足企業實際應用的需要。
關鍵詞:機器視覺R型銷間隙測量霍夫變換最小二乘法
中圖分類號: TP391.4 文獻標志碼: A
R-pin Gap Measurement Method Based on Machine Vision
YI Huanyin
(Guangdong Communication Polytechnic, Guangzhou, Guangdong Province, 510800 China)
Abstract: In order to solve the problem of high difficulty and low efficiency in the gap measurement of R-pins by manufacturers, a method for measuring the gap of R-pins based on machine vision is proposed. The overall structure of the measurement method is introduced. Firstly, connected component analysis is used to preprocess the image and the edge of the object is extracted. Then, the Hough transform is used to detect the outer edge line and partitioned search for the approximate positions of the two wide gap endpoints. After that, least square method is used to fit the inner edge straight line and obtain the accurate position of the inflection point of each gap. Finally, the other endpoints of each gap is searched and the width of each gap is calculated. Experiments show that the method automatically adapts to changes in the model, position and angle of the measured object. The average running time of the algorithm implemented in C++ is about 50 ms. In the repeatability measurement experiment with 5 objects each placed 100 times randomly, the maximum absolute errors of the narrow, medium, and wide gaps are 0.038 mm, 0.059 mm and 0.071 mm, and the maximum relative errors are 3.360%, 1.059% and 0.670% respectively, meeting the actual application needs of enterprises.
Key Words: Machine vision; R-pin; Gap measurement; Hough transform; Least square method
R型銷,又稱B型開口銷或彈簧銷,作為一種限位類零件,因其鎖緊程度高,在汽車、鐵路、機械、電力等行業應用廣泛[1]。由于R型銷的間隙大小對裝配后產品整體的可靠性和運行性能有重要影響,因此生產企業要求在裝配前檢測其間隙值是否在工藝要求的范圍內。而產品或零部件的間隙測量一直是工業測量的痛點問題,人工測量R型銷間隙的方法效率過低、可重復性精度不高。
關于開口銷的視覺檢測方法,相關文獻[2-6]基于深度學習和傳統圖像處理技術,提出了多種應用場景下的開口銷缺失、松脫等各類缺陷的視覺檢測方法。馬官兵等人[7]搭建了一套水下核電廠堆內構件的控制棒導向筒開口銷的超聲檢測系統。而關于間隙的工業測量方法,張鵬賢等人[8]提出了一種基于激光的管道焊口間隙的視覺檢測方法,路亞緹、陳健等人[9-10]提出了基于OpenCV的盾尾間隙視覺測量系統,張智森等人[11]設計了一種測量柱塞組件軸向間隙的夾具。
為了解決制造企業檢測R型銷的各間隙難度大、效率低的問題,本文提出了一種基于機器視覺的對R型銷的各間隙進行快速、無接觸的測量方法,實現了對不同型號和位置隨機擺放的對象的自動識別與間隙測量。經過實驗驗證,此方法在速度和精度方面都達到了企業實際應用的要求。
1 ?方法設計
圖1(a)為典型的R型銷,圖1(b)中的h1、h2和h3為待測量的3個間隙,p1與p2、p3與p4、p5與 p6分別為h1、h2和h3的2個端點。
本方法由5個模塊構成,如圖2所示:圖像采集模塊、圖像預處理模塊、間隙拐點的獲取模塊、各間隙另一端點獲取模塊和各間隙寬度的檢測與結果顯示模塊,其中間隙拐點的獲取模塊是核心。圖2中的p1至p6對應于圖1中的p1至p6,直線L1、L2對應于步驟1.3中的L1、L2。
1.1圖像采集
圖像采集模塊用于獲取R型銷的輪廓圖像,包括工業相機、鏡頭、視覺光源和計算機等硬件,其中視覺光源的選型和調節是關鍵。圖3(a)為采集到的原圖,記為f(x,y)。系統采用500萬像素的國產CMOS面陣工業相機和亮度可調的國產LED背光源,鏡頭采用日本某公司生產的25mm工業鏡頭。調光時,在不損傷檢測對象邊沿的情況下適當增大背景亮度。
1.2 圖像預處理
預處理的目的是提取對象邊沿部分并去除背景中的噪點。
首先,對原圖f(x,y)進行反向二值化處理,得到的圖像g_b (x,y),由式(1)表示,式中T為經過調光實驗獲得的最優閾值。
再對圖像g_b (x,y)進行連通域分析并保留最大連通域以去除對象外的噪點,得到以R型銷為前景的二值化圖像g(x,y),并由g(x,y)得到R型銷的重心G。
其次,分別對二值圖g(x,y)進行形態學膨脹和腐蝕操作,結構化元素均使用7×7的矩形,再將二者結果相減,得到較粗的R型銷邊沿。對于本問題,對比Canny、Sobel等邊沿提取算法,基于形態學的邊沿提取方法所獲取的R型銷的邊沿更加完整、穩定。
最后,進行連通域分析并保留面積最大的連通域以去除噪點,得到R型銷的外邊沿圖g_o (x,y),如圖3(b)所示。此部分獲取較粗的外邊沿是為了保證后續Hough直線檢測步驟獲得對象的外邊沿直線段的完整性。
1.3 間隙拐點獲取
間隙拐點是指3個間隙在彎曲邊沿上的端點,如圖1(b)中的p1、p3、p5所示。3個間隙拐點的準確獲取是本問題的關鍵,包括如下7個步驟。
(1)首先采用概率霍夫變換[12]對圖3(b)中的g_o (x,y)進行直線檢測,然后合并距離相近且夾角較小的線段并保留最長的線段L1,如圖4(a)中的虛線所示。合并的原因是外邊沿的直線段并非嚴格直線(由圖4(a)可見,該對象外邊沿直線段中間部分有一定的彎曲),Hough直線檢測無法獲得外邊沿直線段的完整擬合直線,這將導致后續間隙拐點的檢測結果偏差過大。合并方法為兩兩比較霍夫直線檢測的輸出線段,若兩線段的中點到另一方所在直線的距離及兩線段之間的夾角都小于各自閾值,則進行合并,在兩個線段的4個端點中保留距離最大的2個,作為合并后的新線段。
(2)先對1.2中得到的二值圖g(x,y)進行形態學腐蝕操作,得到結果圖g_e (x,y),結構化元素使用3×3的矩形,再將二者結果相減得到較細的邊沿圖像g_t (x,y),由式(2)表示。此部分獲取較細的邊沿是為了保證后續步驟準確定位R型銷的邊界以提高測量結果的精度。最后求取g_t (x,y)前景的最小外接矩形T,并根據與L1的位置關系將矩形T的4個頂點r0、r1、r2、r3的順序調整至圖中位置,結果如圖4(b)所示,其中點c為矩形T的中心,點G為步驟1.2得到的R型銷的重心。
g_t (x,y)=g(x,y)-g_e (x,y) (2)
(3)對邊沿圖像g_t (x,y)進行連通域分析,保留第二大的連通區域,得到R型銷的內邊沿圖,記為g_i (x,y),如圖4(c)中的實線部分所示。
(4)求取2個較寬間隙的拐點p1和p5的大致位置p1_a、p5_a。首先,分別求取重心G到三直線r0-r1、r0-r3和r1-r2的垂足PP1、PP2和PP3。然后,由點G、PP1、r0、PP2及G、PP1、r1、PP3得到2個矩形,圖4(c)中用虛線框繪出,c1、c2為2個矩形的中心點。最后,遍歷內邊沿g_i (x,y)連通域的所有像素,求各矩形框內前景點到直線L1距離最大的點,即為2個較寬間隙拐點的大致位置,如圖4(c)中的p1_a、p5_a兩點所示。式(3)為L1的直線方程,邊界點到直線L1的距離由式(4)表示,其中(x0, y0)為邊界點的坐標。由于此步驟分區搜索是基于位置較為粗略的外邊沿(由步驟1中的Hough直線檢測并合并相近直線后得到)的條件下進行的,因此得到結果僅為2個較寬間隙拐點的大致位置。
Ax+By+C=0 (3)
d=|(Ax_0+By_0+C)/√(A^2+B^2 )| (4)
(5)求間隙端點p2、p6的大致位置p2_a、p6_a,并擬合得到內邊沿直線段部分的擬合直線L2。首先,將p1_a、p5_a周圍小范圍置零(方法為分別以p1_a、p5_a為圓心以10像素為半徑繪制背景色的實心圓,目的是排除周圍毛刺點對后續線搜索步驟的干擾)。然后,求p1_a、p5_a關于L1的對稱點,并從p1_a、p5_a出發向各自的對稱點方向進行線搜索,各自找到的首個前景點即為間隙端點p2、p6的大致位置p2_a、p6_a。再將p2_a、p6_a周圍小范圍置零,進行連通域分析后得到的第二大連通域即為p2_a、p6_a之間的內邊沿部分。最后,以第二大連通域內的所有點為參數進行最小二乘法直線擬合即可得到內邊沿直線段的擬合直線L2,結果如圖4(d)中的直線L2所示。
(6)求取2個較寬間隙的拐點p1和p5的準確位置。方法與步驟4類似,用直線L2替換直線L1,其他參數保持不變,即可求得2個較寬間隙的拐點p1和p5的準確位置,結果如圖4(d)所示。
(7)求最窄間隙的拐點p3。首先在細邊沿內邊沿圖像g_i (x,y)中將拐點p1、p5小范圍置零。然后進行連通域分析并保留第二大連通域,如圖4(e)所示。最后遍歷連通域的所有像素點,求取與直線L2距離最小的點即為最窄間隙拐點p3。最終獲得3個間隙拐點p1、p3、p5,如圖4(f)所示。
1.4 各間隙另一端點的獲取
首先,將3個間隙拐點p1、p3、p5周圍小范圍區域置零,方法和目的與1.3中的步驟5相同,結果如圖5(a)所示。然后,求各間隙的另一端點的位置p2、p4、p6。求取p1、p3、p5關于直線L2的對稱點p11、p31、p51,分別以間隙拐點p1、p3、p5為起點,在至p11、p31、p51的線段上進行線搜索,找到的第一個邊界點即為各間隙的另一端點p2、p4、p6,如圖5(b)所示。
(a) 將3個間隙拐點p1、p3、p5周圍小范圍置零 (b)利用線搜索得到的各間隙的另一端點p2、p4、p6
圖5 獲取各間隙另一端點的過程
1.5 各間隙寬度的檢測與結果顯示
首先,計算由1.3和1.4中獲得的各間隙的2個端點之間的距離,即為各間隙的測量值。然后,以1.3中獲得的最小外接矩形的長度為依據判定R型銷的型號。最后,獲取該型號預設的閾值信息,并根據3個間隙的測量值是否均在閾值范圍內,判斷該對象是否通過檢測。
2 ?實驗驗證
以5個R型銷為實驗對象,先進行各個對象水平放置條件下的單次測量實驗,再進行位置和角度隨機擺放條件下的測量結果可重復性實驗。檢測系統基于MFC和OpenCV開發實現,實驗中像素當量(pixel equivalent)測定為0.0278 mm/pix,即采集圖像中的每個像素對應視野中的實際物理尺寸為0.0278 mm。
首先,將5個R型銷均在水平擺放的條件下,采用提出的方法對各個間隙進行測量,以物理接觸式探針設備測量的結果作為各間隙的實際值,測量和誤差計算結果如表1所示。
由表1可見,在最大絕對誤差方面,窄間隙為0.023 mm,中間隙為0.026 mm,寬間隙為0.043 mm。在最大相對誤差方面,窄間隙為2.034%,中間隙為0.467%,寬間隙為0.406%。最大絕對誤差和最大相對誤差都達到了企業應用的精度要求。雖然窄間隙的最大絕對測量誤差最小,但由于窄間隙的實際值較小,因此最大相對誤差較大。
其次,為了驗證方法在不同擺放條件下測量結果的可重復精度,將上述5個R型銷分別隨機擺放至100個不同的位置后進行測試,共得到500組實驗數據,測量數據及誤差的統計結果如表2所示。算法平均運行時間約為50 ms,速度上完全滿足企業應用的需要。
由表2可見,100次隨機擺放的測量結果偏差較小,在最大絕對誤差方面,窄間隙為0.038 mm,中間隙為0.059 mm,寬間隙為0.071 mm。在最大相對誤差方面,窄間隙為3.360%,中間隙為1.059%,寬間隙為0.670%。相對于水平擺放測試,100次隨機擺放條件下測量數據的最大絕對誤差和最大相對誤差都有所增大,但依然在企業實際應用的允許波動范圍內。導致誤差增加的主要原因是不同擺放條件下成像的邊界差異。
3 ?結語
根據制造企業的生產工藝需求,本文設計了一種對R型銷間隙進行快速測量的視覺方法。通過將對象邊沿分割并獲取各段邊沿到內邊沿擬合直線的極值得到各間隙拐點,再利用線搜索獲得各間隙的另一端點并計算出間隙值。此方法自動識別不同型號的R型銷,且支持被測對象任意擺放。通過實驗驗證,此方法運行速度較快、精度較高,與傳統的人工測量方法相比,基于此方法實現的檢測系統在測量精度和檢測效率方面具有明顯的優勢,達到了生產企業的實際應用要求。
參考文獻
[1] 張攀,張勇,榮溪超,等. R型銷類零件裝配到位判定方法[J].上海計量測試,2019,46(3):47-49.
[2] 閔鋒,郎達,吳濤.基于語義分割的接觸網開口銷狀態檢測[J].華中科技大學學報:自然科學版,2020,48(1):77-81.
[3] 王健,羅隆福,鄒津海,等.基于圖像識別的高鐵接觸網緊固件開口銷故障分類方法[J].電氣化鐵道,2020,31(2):45-49.
[4] 王昕鈺,王倩,程敦誠,等.基于三級級聯架構的接觸網定位管開口銷缺陷檢測[J].儀器儀表學報,2019,40(10):74-83.
[5] 鐘俊平,劉志剛,陳雋文,等.高速鐵路接觸網懸掛裝置開口銷不良狀態檢測方法研究[J].鐵道學報,2018,40(6):51-59.
[6] 崔耀林.基于深度自編碼網絡的接觸網開口銷缺失識別[J].電氣化鐵道,2019,30(3):43-47.
[7] 馬官兵,丁輝,王韋強,等.核電廠控制棒導向筒開口銷超聲檢測系統設計開發[J].核動力工程,2021,42(2):144-147.
[8] 張鵬賢,韋志成,劉志輝.管道焊口間隙量與錯邊量的激光視覺檢測[J].焊接學報,2018,39(11):103-107,133-134.
[9] 路亞緹,徐智良.基于Labview的視覺盾尾間隙測量系統研究[J].現代隧道技術,2020,57(1):197-202.
[10] 陳健,周兆釗,劉飛香,等.基于盾構機盾尾間隙空間結構的視覺測量研究[J].機床與液壓,2020,48(19):116-121,107.
[11] 張智森,趙勇,康林春,等.某型柱塞組件軸向間隙測量夾具優化設計[J].組合機床與自動化加工技術,2016(10):140-141,144.
[12] J. MATAS,C. GALAMBOS,J. KITTLER.Robust detection of lines using the progressive probabilistic Hough transform[J].Computer Vision & Image Understanding,2000,78(1):119-137.