



















收稿日期:2023-05-26責任編輯:溫茂森
基金項目:河北省自然科學基金重點項目(F2021203054);河北省創新能力提升計劃項目(22567619H)
作者簡介:蘇連成(1977-),男,山東菏澤人,博士,副教授,主要研究方向為機器視覺、信號處理、機械故障診斷等,Email:lcsu@ysu.edu.cn。
摘要:針對球籠防塵罩的小口內部毛刺缺陷人工質檢效率低的問題,提出了一種基于圖像處理的實時缺陷檢測方法來使質檢過程自動化,從而提高生產效率。首先,通過一系列無參數化的圖像預處理方法使原始圖像滿足邊緣提取的條件。接著,使用啟發式的邊緣搜索算法得到小口內部邊緣坐標。之后通過最小二乘算法擬合出橢圓參數方程,從而計算得到相似點坐標。最后通過圖像邊緣與擬合橢圓的相似度來判定物料是否存在小口內部毛刺缺陷。最終實驗結果表明,該算法在實際采集的測試數據集中的檢測準確率為100%,并且完全可以實現對小口內部毛刺缺陷的實時檢測。
關鍵詞:缺陷檢測;圖像處理;橢圓檢測;最小二乘算法
中圖分類號: TM391.4文獻標識碼: ADOI:10.3969/j.issn.1007-791X.2024.06.005
0引言
汽車球籠防塵罩位于汽車半軸末端,是防止異物進入球籠的關鍵部件。防塵罩內部小口處的毛刺是常見的生產缺陷,如果不加處理會因為球籠密封不嚴而導致潤滑油泄漏,從而加速半軸磨損。
常規質檢一般都是由人工進行,檢測效率低、產品品質一致性差。機器視覺是一種高精度、高速度的無損傷檢測方法,用來代替人工質檢具有顯著的效率和一致性優勢。常見的機器視覺算法可以分為基于深度學習的檢測算法和基于圖像處理的傳統檢測算法。盡管深度學習算法在缺陷檢測任務中應用廣泛、具有非常好的魯棒性,但是面對一些可以用幾何描述的缺陷特征卻不盡如人意。而采用基于圖像處理的機器視覺算法具有更短的算法開發時間和更好的檢測效果。詹前賢等人將圖像處理技術用到了車載觸摸屏的缺陷檢測上[1]。Tsai等人利用模板匹配算法對印刷電路板進行了檢測[2]。李江波等人利用改進的分水嶺分割算法對桃子的表面缺陷進行了檢測[3]。這些工作都取得了較好的檢測效果,但目前還沒有對球籠防塵罩小口內部毛刺進行檢測的先例。
對于球籠防塵罩的小口內部毛刺缺陷來說,可以依靠提取小口內部的圓形或橢圓形特征來進行檢測。常見的圓檢測方法有基于最小二乘擬合的方法和基于霍夫變換的方法,周顯恩等人利用三圓周定位法實現了對玻璃瓶口的精確定位,本質也是基于擬合的方法[4]。Yuen等人對比研究了標準霍夫、Gerig霍夫、兩階段霍夫以及快速霍夫變換在圓檢測上的效果,最終得出Gerig霍夫的綜合性能最好的結論[5]。吳曉軍等人首先利用模板匹配提取出感興趣區域(Region of Interest, ROI),再利用最小二乘方法,在有噪聲圖像中實現了性能優異的直線和圓檢測[6]。
比較出色的工作是Akinlar和Topal的EDCircle圓檢測算法,該算法首先利用邊緣繪制提取出圖像的邊緣,接著通過無參數邊緣段檢測算法產生連續的邊緣鏈,啟發式地將邊緣鏈組成的圓弧拼接成閉合圓,最后利用亥姆霍茲原理對檢測結果進行驗證,從而實現了無參數、實時、準確的圓和橢圓檢測[7-9]。除最小二乘擬合外,使用學習自動機也可以實現多個圓檢測[10]。而基于霍夫變換檢測圓的方法需要針對不同的圖像設置不同的參數,并且計算量大[11]。盡管朱桂英等對基于霍夫變換的圓檢測算法進行了提速,但是還是沒解決無參數檢測的問題[12]。
圓和橢圓檢測的一個核心步驟就是邊緣特征的提取。為了能夠減小噪聲等因素對邊緣特征提取的干擾,人們通常會對圖像進行閾值分割。郭冠崢等人對Otsu算法進行了改進,利用灰度傾向加權實現了更好的圖像分割效果[13]。Truong和Ng等人也對Otsu算法進行了改進,實現了很好的檢測效果[14-15]。屈爾慶等人提出了基于融入熵的BING檢測算法對Otsu進行了改進,從而實現了熱軋板帶表面缺陷檢測[16]。
為了對球籠防塵罩的小口內部毛刺缺陷進行準確快速的檢測,本文設計了基于圖像處理和最小二乘優化的缺陷檢測方法。本文的主要貢獻有以下三點:
1) 獨特的圖像采集方式結合圖像處理顯著增強缺陷特征。
2) 利用啟發式的邊緣搜索策略得到精確邊緣點。
3) 利用評分和最短步長計算擬合的相似度,得到量化的缺陷判別指標。
1圖像采集系統設計與缺陷分析
本方法的圖像采集裝置以及物料缺陷示意圖如圖1所示。待檢測的物料放置在可旋轉的圓臺上,圓心軸重合,圓臺可根據工控機指令調節轉速勻速旋轉。工業相機放在物料上方,且工業相機的軸心偏離于物料的圓心軸一定距離,使得物料位于工業相機視野中的左邊緣。環形光源套在工業相機的外部,圓心軸重合。當待測物料放到圓盤上后,圓臺會收到工控機信號開始旋轉。物料旋轉一周的同時,工業相機會以均勻的時間間隔采集12張圖像。
圖2為實際采集到的球籠防塵罩小口內部毛刺缺陷的細節。從圖中可以看出,當毛刺缺陷旋轉到遠離相機軸心的位置時(從圖像中看是位于視野的邊緣側),原本不容易看到的毛刺缺陷會因為視野變化而變得明顯。因此對單個物料采集多張圖像,可以增大缺陷被檢出的概率,并且可以減小因為不均勻反光導致的誤判。下文均以此圖為素材進行算法效果的展示。
2毛刺缺陷檢測算法設計
通過對缺陷特征進行分析,可以知道對于球籠防塵罩小口內部毛刺缺陷的檢測只需要計算小口內部邊緣的擬合橢圓與標準橢圓的相似程度即可。因此本算法主要由圖像預處理以及擬合邊緣進行相似度計算兩部分組成。其中在圖像預處理部分,首先通過圖像金字塔下采樣減小計算量,接著由直方圖統計得到自適應二值化閾值。由閾值分割后的二值化圖得到ROI,并通過腐蝕操作使小口內部邊緣連續。在邊緣擬合和相似度計算部分,首先提取出防塵罩小口內部的邊緣,對邊緣像素位置使用最小二乘算法進行擬合,得到橢圓的參數方程和相似點坐標,然后計算出實際邊緣與擬合邊緣的相似程度,最后根據相似程度判斷出該圖應該被判定為合格或不合格。
具體的檢測步驟為:
步驟1:利用圖像金字塔進行下采樣。
步驟2:根據直方圖統計結果計算出二值化的閾值大小。
步驟3:對圖像進行閾值分割。
步驟4:由閾值分割后的二值圖獲取ROI圖像。
步驟5:對ROI圖像進行腐蝕操作。
步驟6:在腐蝕后的圖像中提取防塵罩小口內部邊緣。
步驟7:用最小二乘對提取出的邊緣坐標進行擬合,得到橢圓參數方程和相似點坐標。
步驟8:通過邊緣坐標到相似點坐標的最短步長計算相似度,來判斷是否是缺陷物料。
2.1圖像預處理
由于原始圖像尺寸比較大,因此為了加快圖像處理速度,首先得通過圖像金字塔對原始圖像進行下采樣。兩層圖像金字塔可以將圖像下采樣為原圖尺寸的1/16,這樣可以極大地減少整個算法的計算量。
接著對下采樣之后的圖像進行直方圖統計。由于物料為黑色,結合直方圖統計結果可知第一個整體波峰結束處為物料在圖像中顯示的最高灰度值,以此作為二值化閾值更為準確。為了得到第一個整體波峰結束處的灰度值,采用一維滑動方差的方法進行計算。當滑動窗口的方差滿足式(1)時,窗口停止滑動,窗口的右邊界即為理想的期望二值化閾值,
其中:σ2表示滑動窗口的方差;df表示滑動窗口停止滑動的閾值條件,一般取0~10;j為滑動窗口的左邊界值,初始值為第一個波峰的峰值,由于物料純黑的特性,j不會高于100,每次滑動以1為單位增加;f(i)為窗口中第i個灰度等級的值;μL為滑動窗口中各灰度等級的均值;L為滑動窗口的長度,一般取10~20。如圖3所示,可以看到采用滑動方差方法成功找到了直方圖中第一個整體波峰結束處的灰度值,即期望閾值。而采用Otsu算法得到的閾值則比期望閾值高很多。
基于得到的二值化閾值對整張圖像進行閾值分割,閾值分割的方式為
式中,dexp即為期望的二值化閾值。當圖像中某個像素的灰度值大于等于期望的分割閾值時,將其二值化為1,否則二值化為0。
圖4(a)為根據Otsu算法得到的二值圖,圖4(b)為根據本文算法得到的二值圖。從圖中容易看出采用期望閾值對圖像進行閾值分割后,二值圖對小口內部邊緣還原程度更高,而采用Otsu得到的閾值二值化后小口已經嚴重失真,沒辦法用于接下來的檢測任務。
為了使小口盡量位于圖像中心位置,從而方便獲取到后面對邊緣進行搜索的起始點,必須得到二值圖像的ROI區域。設c(m)為第m行全體像素灰度值的標志,即當第m行全為白色像素時,c(m)取值為255,當第m行有一個像素為黑色時,c(m)取值為0。同理,r(n)為第n列全體像素灰度值的標志。
式中:dx(m)表示第m列的梯度值,m的取值范圍為0≤m≤w,w表示圖像寬度;dy(n)表示第n行的梯度值,n的取值范圍為0≤n≤h,h表示圖像高度。如式(3)所示,當dx(m)lt;0或者c(0),c(1)=0時,所在的圖像列即為物料的左邊界。當dx(m)gt;0時,所在的圖像列即為物料的右邊界。當dy(n)lt;0或者r(0),r(1)=0時,所在的圖像行即為物料的上邊界。當dy(n)gt;0或者r(h-1),r(h)=0時,所在的圖像行即為物料的下邊界。為了使小口盡量位于圖像中心,并進一步減少計算量,當得到的物料邊界不是圖像邊界時,相應的邊界會減去一定數量的值。最后由4條邊界得到ROI的圖像,如圖5所示。
由于小口內部邊緣可能存在的不連續現象會導致邊緣搜索算法失效,因此在做邊緣搜索之前需要先對ROI圖像進行腐蝕操作。在3×3腐蝕核作用下的效果圖如圖6所示。
2.2擬合邊緣進行相似度計算
接下來提取小口內部的邊緣,由于小口已經位于ROI圖像的近似中心位置,所以圖像中心肯定在小口內接橢圓的內部。根據腐蝕圖的尺寸計算出圖像的中心位置,該點即為小口內部邊緣的搜索起點。如圖7水平虛線箭頭所示,從起點開始逐漸減小x的坐標,直到遇到下一個像素的值為0(黑色塊)時停止,當前像素即為小口內部的邊緣點。將當前像素坐標存儲起來,并作為搜索下一個邊緣點的錨點。接下來按順時針順序搜索該錨點周圍的8個相鄰像素,若被搜索到的像素滿足下面三個條件,即為要找的邊緣點,同時更新找到的邊緣點為下一次搜索的錨點。
條件1:該像素點的值為255(白色塊)。
條件2:該點不在已經找到的邊緣點列表中。
條件3:該點的上下或左右相鄰像素的值為0。
不斷搜索滿足上述條件的像素點,并更新錨點,直到又搜索到起始的錨點附近為止,就找到了小口內部所有的邊緣點。
接下來擬合找到的邊緣點。橢圓的參數方程為
其中,(x0,y0)為橢圓的中心點,a為橢圓的半長軸長度,b為橢圓的半短軸長度,θ為橢圓的旋轉角度,α為方程參數。
由于被擬合的邊緣點會與最優擬合橢圓的距離最小[17],因此設p=[a,b,θ,x0,y0]T,可得
其中:F(p)表示有關于向量p的代數距離函數,∑Ni=1(F(p))2表示提取出的N個邊緣點與擬合橢圓的最近代數距離平方和。將式(5)作為最小二乘優化的損失函數,經過迭代求出p,即為最優的擬合橢圓。
式(6)和式(7)中的A、B、C、D、E、F表示用橢圓參數方程的參數計算得到的直角坐標方程系數。由式(6)和式(7)可以計算得出后面求解相似度所需的相似點坐標。
接著開始計算提取出的邊緣點與擬合出的橢圓坐標之間的相似度。如圖8所示,以圖像坐標為(181,326)的邊緣點為例,將該點的y坐標326代入式(7),得到兩個x坐標,取兩個坐標中與181距離最近的值。得到的坐標就是在x方向上擬合出的橢圓上與邊緣點距離最近的像素點。同理也可以得到y方向上距離最近的像素點。最后,對比x和y方向哪個方向的點距離該邊緣點更近。該點即為在該位置上小口內部邊緣距離擬合橢圓的最短步長。對于本例可從圖8中看出,x方向最近為5個像素,y方向最近為34個像素,所以擬合橢圓距離邊緣點最近步長為5個像素。依次計算所有邊緣點與擬合橢圓的最近步長。
為了增大合格物料和不合格物料的在判別上的區分度,對之前求出的最近步長進行打分。若最近步長小于2個像素,則得0分,否則就在原步長上乘以4作為得分,求出的值若大于10,則取10分。最后將小口內部所有邊緣點得分相加通過
求出相似度。其中:R表示最終的相似度,取值為0~1;S為所有點得分之和;N為邊緣點的數量。
根據測試結果,若上述求出的小口內部邊緣與擬合的橢圓的相似度小于0.99,則該物料被判定為不合格物料,否則被認為是合格物料。
3實驗與結果分析
為了更全面分析本缺陷檢測方法的性能,采用F1分數(精確率和召回率的調和平均值)來衡量算法性能。測試合格和不合格的物料各35個,其中合格物料有417張圖像,不合格物料有420張圖像,共837張圖像。每張灰度圖像的分辨率為4 024×3 036。測試電腦的主要配置為:Win11系統,CPU為Intel Core i5-12500H,主頻2.50 GHz,內存16 GB,OpenCV版本為4.5.0,編程語言為C++。
本檢測方案對于小口內部毛刺缺陷主要依靠圓和橢圓擬合的相似度進行判別??紤]到霍夫變換圓檢測算法不是無參數檢測算法,不滿足自動化缺陷檢測需求,因此實驗將EDCircle算法與本文算法進行比較。EDCircle算法是實時的圓和橢圓檢測算法(對于640×480及以下分辨率為實時算法)。進一步考慮到,EDCircle算法擬合相似度計算原理與本文算法不同,所以不能與本文算法設置成同樣的相似度閾值去對缺陷進行判別。經過實驗,EDCircle算法的相似度閾值設置為0.88比較合理,即對于使用EDCircle算法對小口內部毛刺缺陷進行判別時,當相似度大于0.88為合格物料,否則為不合格物料,而本文算法設置的相似度閾值為0.99。
當每個物料只旋轉采集一張圖像時,測試上述837張圖像,即相當于837個物料,測試結果如表1所示。
當每個物料采集12張左右圖像時,評判標準為,當有一張圖像被檢測出存在缺陷則該物料為不合格物料。測試70個物料,總共837張圖像,測試結果如表2所示。
對比表1和表2可以看出,對旋轉的物料采集12張左右的圖像進行統一缺陷檢測的方式,相比于只采集隨機位置的一張圖像判別缺陷的方式,可以確保毛刺缺陷以比較明顯的特征出現在期望的位置上,增加被檢出的概率,使得對單個物料的誤檢率大大降低。結合表2的結果以及圖1所示的缺陷特征,可以看出設置相機安裝位置偏離于物料軸心,會在遠離相機的地方使得缺陷特征更加明顯,增加被檢出的概率。同時,也可以看出本文算法比EDCircle算法的檢測效果更好,且檢測速度更快,達到了實時檢測的效果。
35個不合格物料中,本文算法漏檢1個,原因是缺陷太?。ㄐ∮?.5 mm)以至于被算法忽略。通過分析測試圖像可以知道,在腐蝕后的圖像中,如果缺陷部位顯示的長度大于10個像素,寬度大于2個像素,則該缺陷可以被檢出。35個合格物料全部檢出。
通過分析EDCircle算法的檢測結果可以發現,導致該算法誤檢率與漏檢率高的原因主要是灰度圖中的邊緣信息豐富,以至于算法將物料上的字符、反光等識別為圓或橢圓。其他誤檢的原因是缺陷較小(小于0.5 mm),導致算法檢測出圓的置信度高。值得注意的是,這種大小的缺陷,本文算法可以檢出。EDCircle算法無法檢出的缺陷如圖9中虛線橢圓框中的標記所示,主要為小于0.5 mm的缺陷和反光、字符導致的缺陷。
為了更準確、公平地進行對比實驗,獲取本文算法更真實的性能,將本文算法圖像預處理部分與EDCircle算法進行結合,即將圖像經過本文算法的預處理,得到腐蝕后的圖像后再用EDCircle算法進行檢測。需要注意的是,由于圖像金字塔會導致丟失部分圖像細節,而EDCircle算法的魯棒性較高,從而沒辦法確定合格物料與不合格物料的檢測閾值,所以圖像預處理過程將不包括圖像金字塔的操作。
利用改進后的EDCircle算法檢測70個物料。分別與采用不同金字塔層數的本文算法進行對比,其中“本文算法-n”指使用n層圖像金字塔。檢測結果如表3所示。
通過表3可以看到改進后的EDCircle算法檢測效果相較于之前明顯提高。這也進一步驗證了本文算法的圖像預處理部分在降低誤檢率和漏檢率上的顯著作用。同時可以看到,本文算法在采用一層圖像金字塔之后,雖然檢測耗時增加了差不多一倍,但是已經消除了在測試物料中的誤檢情況。在實際應用中,采用兩層圖像金字塔的算法效果也滿足工程要求,并且速度更快,完全可以做到實時檢測,幾乎在對物料采集完圖像的同時就可以給出檢測結果。
4結論
為了對球籠防塵罩的小口內部毛刺缺陷進行自動化檢測,提出了一種基于圖像處理以及圓相似度的檢測算法對小口內部毛刺缺陷進行判別。經過對實際采集的數據集進行測試,可以看到該算法在檢測效果上可以實現100%的檢測成功率,并且在檢測效率上,該算法完全滿足球籠防塵罩小口內部毛刺缺陷實時檢測的需求,可以顯著提高球籠防塵罩出廠質檢的效率。
參考文獻
[1] 詹前賢,馮增輝,沈奕,等.車載觸摸屏的機器視覺檢測系統設計 [J].機電工程技術,2022,51(9):103-107.
ZHAN Q X,FENG Z H,SHENG Y,et al.Design of machine vision detection system for vehicle touch screen [J].Mamp;E Engineering Technology,2022,51(9):103-107.
[2] TSAI D M,HUANG C K.Defect detection in electronic surfaces using template-based Fourier image reconstruction [J].IEEE Transactions on Components,Packaging and Manufacturing Technology,2019,9(1):163-172.
[3] 李江波,彭彥昆,黃文倩,等.桃子表面缺陷分水嶺分割方法研究 [J].農業機械學報,2014,45(8):288-293.
LI J B,PENG Y K,HUANG W Q,et al.Study on watershed segmentation of peach surface defects [J].Transactions of the Chinese Society for Agricultural Machinery,2014,45(8):288-293.
[4] 周顯恩,王耀南,朱青,等.基于機器視覺的瓶口缺陷檢測方法研究 [J].電子測量與儀器學報,2016,30(5):702-713.
ZHOU X E,WANG Y N,ZHU Q,et al.Research on bottle mouth defect detection method based on machine vision [J].Journal of Electronic Measurement and Instrument,2016,30(5):702-713.
[5] YUEN H K,PRINCEN J,ILLINGWORTH J,et al.Comparative study of Hough transform methods for circle finding [J].Image amp; Vision Computing,1989,8(1):71-77.
[6] 吳曉軍,王鑫歡.一種穩定的直線/圓特征檢測方法:201610006030.2 [P].2016-01-05.
WU X J,WANG X H.A stable line/circle feature detection method:201610006030.2 [P].2016-01-05.
[7] AKINLAR C,TOPAL C.EDCircles:a real-time circle detector with a 1 detection control [J].Pattern Recognition,2013,46(3):725-740.
[8] TOPAL C,AKINLAR C.Edge drawing:a combined real-time edge and segment detector [J].Journal of Visual Communication and Image Representation,2012,23(6):862-872.
[9] AKINLAR C,TOPAL C.EDPF:a real-time parameter-free edge segment detector with a 1 detection control [J].International Journal of Pattern Recognition and Artificial Intelligence,2012,26(1):1255002.
[10] CUEVAS E,WARIO F,OSUNA-ENCISO V,et al.Fast algorithm for multiple-circle detection on images using learning automata [J].IET Image Processing,2012,6(8):1124-1135.
[11]YUEN H K,PRINCEN J,ILLINGWORTH J,et al.Comparative study of Hough transform methods for circle finding [J].Image amp; Vision Computing,1989,8(1):71-77.
[12] 朱桂英,張瑞林.基于Hough變換的圓檢測方法 [J].計算機工程與設計,2008,29(6):1462-1464.
ZHU G Y,ZHANG R L.Circle detection method based on Hough transform [J].Computer Engineering and Design,2008,29(6):1462-1464.
[13] 郭冠崢,廖欽楷,林志賢,等.一種基于灰度傾向加權的Otsu目標檢測法 [J].半導體光電,2021,42(1):132-135.
GUO G Z,LIAO Q K,LIN Z X,et al.An Otsu target detection method based on gray tendency weighting [J].Semiconductor Optoelectronics,2021,42(1):132-135.
[14] TRUONG M T N,KIM S.Automatic image thresholding using Otsu′s method and entropy weighting scheme for surface defect detection [J].Soft Computing,2018,22(13):4197-4203.
[15]NG H F.Automatic thresholding for defect detection [J].Pattern Recognition Letters,2004,27(14):1644-1649.
[16] 屈爾慶,陳海永,劉坤,等.熱軋板帶表面缺陷檢測系統設計與研究 [J].燕山大學學報,2017,41(3):223-229.
QU E Q,CHEN H Y,LIU K,et al.Design of surface defect inspection system for hot rolled strip [J].Journal of Yanshan University,2017,41(3):223-229.
[17] FITZGIBBON A,PILU M,FISHER R B.Direct least square fitting of ellipses [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1999,21(5):476-480.
Defect detection method of automobile constant velocity
joint boots based on image processing
SU Liancheng1,2,LI Jiawei1,2,DING Weili1,2
(1. School of Electrical Engineering,Yanshan University,Qinhuangdao,Hebei 066004,China;
2. Key Laboratory of Intelligent Rehabilitation and Neromodulation of Hebei Province,
Yanshan University,Qinhuangdao,Hebei 066004,China)
Abstract: A real-time defect detection method based on image processing is proposed to address the low efficiency of manual inspection for internal burr defects in the small opening of automobile constant velocity joint boots,thereby automating the quality inspection process and improving production efficiency.First,a series of non-parametric image preprocessing methods are applied to ensure that the original image meets the conditions for edge extraction.Second,a heuristic edge search algorithm is used to obtain the internal edge coordinates of the small opening.Third,the least squares algorithm is employed to fit an ellipse parametric equation,which is then used to calculate the coordinates of matching points.Finally,the presence of internal burr defects in the material is determined by comparing the similarity between the image edges and the fitted ellipse.The experimental results show that the algorithm achieves a 100% detection accuracy on the actual test dataset,and it fully enables real-time detection of internal burr defects in the small opening.
Keywords: defect detection; image processing; ellipse detection; least squares