徐玉冰 程耀瑜 崔亮
摘 要:圖像分割是圖像處理及機(jī)器視覺領(lǐng)域的一項(xiàng)基本技術(shù),分割方法各式各樣,但都僅限于特定的對象。文章針對墊圈工件表面缺陷檢測所做的分割,通過一種全新的分割方法將墊圈表面缺陷檢測出來,先將目標(biāo)圖像掩膜成一圓環(huán),后通過極坐標(biāo)轉(zhuǎn)換將圓環(huán)區(qū)域轉(zhuǎn)換成矩形區(qū)域,再用Sobel算子進(jìn)行Y方向上的分割,從而提取出缺陷。
關(guān)鍵詞:圖像分割;圓環(huán);極坐標(biāo)轉(zhuǎn)換;Sobel算子
針對缺陷檢測,最終提取缺陷都需要圖像分割,從圖像處理誕生以來隨著技術(shù)理論的發(fā)展,研究者已提出上百種分割方法,每種方法只限特定的處理對象,針對每個(gè)圖像處理場合,分割方法都是最優(yōu)化的。不管是閾值分割,還是基于邊緣提取的分割,整合起來都最適宜研究者的應(yīng)用。
本文就是針對火花塞密封墊圈的表面缺陷(裂紋、壓凹等,如圖1所示)檢測,研究了一種新分割方法,下面針對正面裂痕討論這種方法的處理過程及可行性。
圖像中亮圓環(huán)區(qū)域的黑色斑點(diǎn)就是裂痕,提取該缺陷的本質(zhì)就是在亮圓環(huán)區(qū)域內(nèi)查找黑色斑點(diǎn)。
1 缺陷圖像前期處理
缺陷圖像前期處理包括圖像平滑、圖像增強(qiáng)、圖像匹配定位。
1.1 圖像平滑
圖像平滑指抑制噪聲、改善圖像所進(jìn)行的去噪處理,也稱為圖像濾波。平滑目的為抑制CCD暗電流、增強(qiáng)器及圖像傳輸產(chǎn)生的噪聲,相當(dāng)于在傅里葉變換中抑制高頻部分,然而平滑又會(huì)造成含有圖像重要信息的明顯邊緣變得模糊。
本處理過程采用了中值濾波,濾去了噪聲,但也造成了一定程度上的圖像模糊,處理效果如圖2所示。
1.2 圖像增強(qiáng)
對墊圈圖像進(jìn)行去噪聲處理后,噪聲得到了明顯抑制,然而特征與背景對比度降低,特征輪廓變得模糊。為了應(yīng)對檢測需求,突出缺陷信息,需要增加背景與缺陷的對比度,需要用到圖像增強(qiáng)技術(shù)。圖像增強(qiáng)方法一般分為基于空間域的增強(qiáng)和基于頻率域的增強(qiáng),前者對圖像像素灰度直接處理,后者先將圖像變換到某個(gè)頻率域,對變換系數(shù)進(jìn)行相應(yīng)處理,再通過逆變換得到增強(qiáng)圖像[1,2]。
本處理過程采用了灰度拉伸變換對濾波后圖像進(jìn)行增強(qiáng),處理效果如圖3所示。
1.3 圖像匹配定位
圖像匹配定位是將同一傳感器或者不同傳感器在不同成像條件、不同時(shí)間下對同一物體獲取的多幅圖像進(jìn)行空間上的匹配,或者基于已知模板到目標(biāo)圖像中通過一定算法進(jìn)行的匹配。目標(biāo)模板需要有比例的尺寸及方向,在圖像中找到目標(biāo)后,計(jì)算物體在模板圖像和搜索圖像中的關(guān)系,這種關(guān)系應(yīng)盡可能在區(qū)分不同目標(biāo)的前提下對目標(biāo)平移、旋轉(zhuǎn)以及縮放不敏感[3]。對于墊圈來說,由于是圓環(huán),不存在方向性,所以只考慮位移不考慮旋轉(zhuǎn)。
本過程采用歸一化相關(guān)性的匹配方法,能夠不受光照的影響,抗白噪聲的干擾能力強(qiáng)[4],匹配結(jié)果如圖4。其中,圖4(a)為模板圖像,用此圖像創(chuàng)建模板,圖4(b)和4(c)為兩個(gè)缺陷圖像匹配結(jié)果。圖像平滑和圖像增強(qiáng)過程可以稱為圖像預(yù)處理,經(jīng)過預(yù)處理,屏蔽了圖像原本的噪聲等無效信息并增強(qiáng)了目標(biāo)區(qū)域與背景區(qū)域的對比度,非常利于下一步處理的進(jìn)行。圖像匹配定位是對每一個(gè)工件做一個(gè)位置上的匹配,以獲得工件原點(diǎn)坐標(biāo)并進(jìn)行下一步分割處理。
2 分割過程
首先針對缺陷圖像做圓環(huán)外圓的擬合,并獲取圓環(huán)內(nèi)圓與外圓半徑相差的像素個(gè)數(shù)n,然后在該擬合外圓及n基礎(chǔ)上做一掩膜圖像,并將掩膜圖像與原圖像運(yùn)算得到缺陷圖像的掩膜后圖像,將該掩膜后圖像中圓環(huán)轉(zhuǎn)換成矩形,最后在矩形區(qū)域通過Sobel算子分割出斑點(diǎn)。
2.1 采用最小二值法擬合圓
經(jīng)過中值濾波和灰度拉伸后,圓環(huán)外圓、內(nèi)圓輪廓邊緣噪聲極少,此時(shí)采用最小二乘法擬合圓精度比較樂觀。
最小二乘法是一種優(yōu)化的數(shù)學(xué)算法,該方法通過最小誤差平方和尋找一組數(shù)據(jù)的最佳擬合函數(shù)。最小二乘法用簡單方法求不可知的真值,令誤差平方和最小,通常用于曲線擬合。擬合該2個(gè)圓并分別獲取其原點(diǎn)坐標(biāo)(X0,Y0)及半徑R1、R2,可得2個(gè)半徑相差像素個(gè)數(shù)n。
2.2 掩膜
本處理過程采用掩膜的目的在于屏蔽圓環(huán)以外區(qū)域,使這部分區(qū)域不參與處理或不參與處理參數(shù)計(jì)算,或只對圓環(huán)區(qū)域作處理或統(tǒng)計(jì)。
該過程分四步:
(1)先做一與目標(biāo)圖像大小、位深一致的灰度值全部為0的圖像,如圖6所示。
(2)根據(jù)原點(diǎn)坐標(biāo)(X0,Y0)及圓環(huán)外圓半徑R1在圖6上做出該圓,并將該圓內(nèi)部像素灰度設(shè)為255,如圖7所示。
(3)繼續(xù)在圖7中以外圓向內(nèi)減n個(gè)像素做內(nèi)圓,并將內(nèi)圓內(nèi)部所有像素灰度設(shè)為0,如圖8所示。
圖8即掩膜圖像,它代表正常工件的形態(tài)。
將掩膜圖像COPY到缺陷原圖上,得到原圖掩膜后的圖像,也就是我們的掩膜最終效果圖像,如圖9所示。
2.3 圓環(huán)區(qū)域轉(zhuǎn)換矩形區(qū)域
圖9屏蔽了圓環(huán)以外所有區(qū)域特征,只對圓環(huán)進(jìn)行處理即可,但圓環(huán)內(nèi)斑點(diǎn)位置不確定,因?yàn)楸卷?xiàng)目設(shè)計(jì)圖像分割算法查找斑點(diǎn),需要在矩形區(qū)域內(nèi)進(jìn)行,所以要將該圓環(huán)變換為矩形,該過程通過極坐標(biāo)轉(zhuǎn)換直角坐標(biāo)完成,轉(zhuǎn)換效果如圖10所示。
圓環(huán)轉(zhuǎn)換成矩形,圓環(huán)內(nèi)斑點(diǎn)相應(yīng)的轉(zhuǎn)換成了矩形內(nèi)斑點(diǎn),只需通過分割將該斑點(diǎn)提取出來即可。
2.4 Sobel算子分割
圖像邊緣是圖像的基本特征,也是基于灰度突變體現(xiàn)的,與圖像物體有所區(qū)別。對于邊緣檢測來說,本質(zhì)是檢測相鄰像素灰度值突變性,最基本的檢測方法是構(gòu)造邊緣檢測算子,如羅伯特算子、Sobel算子、Prewitt算子、Kirsch算子和拉普拉斯算子等[5 ,6]。本過程采用了Sobel算子進(jìn)行邊緣提取分割。
一般選取3*3鄰域?qū)︵徲騼?nèi)上下左右像素點(diǎn)灰度值加權(quán)平均后計(jì)算微分,從而求出梯度值。該檢測一般選取兩個(gè)3*3鄰域(如圖11),稱為Sobel算子的2個(gè)卷積核,其中一個(gè)相應(yīng)水平方向邊緣,另一個(gè)相應(yīng)垂直方向邊緣。將目標(biāo)像素與卷積核的中心對應(yīng),如公式1和2,先后用左邊卷積核、右邊卷積核對圖像卷積運(yùn)算,得到圖像像素值的平方值,并輸出兩個(gè)平方和的開方根值。
最終選擇Sobel算子在整幅圖像區(qū)域內(nèi)進(jìn)行垂直方向提取邊緣,即屏蔽掉水平方向矩形與背景區(qū)域邊緣,圖12為Sobel算子斑點(diǎn)檢測結(jié)果。
3 OpenCV對以上算法實(shí)現(xiàn)
(1)中值濾波的實(shí)現(xiàn):void medianBlur(InputArray src, OutputArray dst,int ksize);
其中src為源圖像即待平滑圖像,dst為目標(biāo)圖像即處理完的存儲(chǔ)圖像,ksize表示濾波窗口的尺寸,k必須為奇數(shù)并且大于1,因此k至少為3,而本項(xiàng)目中k就取3。
(2)模板匹配的實(shí)現(xiàn):void match Template(InputArray image, InputArray templ,OutputArray result, int method);
其中image為源圖像,templ為模板圖像,result為輸出的結(jié)果圖像,method表示匹配方法,共有4個(gè):
Ⅰ.平方差匹配method=CV_TM_SQDIFF,用平方差進(jìn)行匹配,值越大匹配越差,0表示最佳匹配。
Ⅱ.標(biāo)準(zhǔn)平方差匹配method=CV_TM_SQDIFF_NORMED。
Ⅲ.相關(guān)匹配method=CV_TM_CCORR,采用模板和圖像間的乘法進(jìn)行操作,值越大匹配越好,0表示匹配最壞。
Ⅳ.標(biāo)準(zhǔn)相關(guān)匹配method=CV_TM_CCORR_NORMED。
本項(xiàng)目中采用的是標(biāo)準(zhǔn)相關(guān)匹配。
(3)圓擬合的實(shí)現(xiàn):實(shí)際是根據(jù)已有輪廓擬合橢圓的方法,擬合圓也是為了掩膜圖像的建立。
RotatedRectt_ellipse=fitEllipse(img_Contour[i]);
Point2f t_center=t_ellipse.center;//獲取所擬合橢圓的中心坐標(biāo)
float t_rh=t_ellipse.size.height/2;
float t_rw=t_ellipse.size.width/2;//獲得長度方向半徑和高度方向半徑
float t_r=t_rh (4)圖像掩膜的實(shí)現(xiàn):Mat mask=Mat::zeros(t_img. size(),CV_8UC1);//建立一個(gè)8位的且與目標(biāo)圖像大小一致的所有像素值均為0的圖像。 circle(mask,t_center,t_r,255,-1);//在上面圖像上畫出擬合的外圓,并將該圓內(nèi)部所有像素灰度設(shè)置為255。 circle(mask,t_center,t_r-40,0,-1);//計(jì)算內(nèi)圓與外圓半徑相差40個(gè)像素,在上面圖像中畫出內(nèi)圓,并將該內(nèi)圓內(nèi)部所有像素灰度設(shè)置為0。 以上就是掩膜圖像的建立,然后每個(gè)待檢圖像都對應(yīng)一個(gè)自己的掩膜圖像,經(jīng)過復(fù)制操作,待檢圖像特征體現(xiàn)出來,操作為下面語句—— t_img.copyTo(d_img,mask); 上面d_img即掩膜后顯現(xiàn)目標(biāo)特征的圖像。 (5)極指數(shù)空間映射的實(shí)現(xiàn):cvLogPolar(d_img,d_ dst,cvPoint2D32f(t_center.x,t_center.y),400,CV_INTER_ LINEAR+CV_WARP_FILL_OUTLIERS);
LogPolar是指把圖像映射到極指數(shù)空間,即將圖像中帶有斑點(diǎn)特征的圓環(huán)展開成長矩形,以便于下一步斑點(diǎn)分割的處理。
(6)圖像分割的實(shí)現(xiàn):void Sobel(InputArray src,Out putArray dst,int ddepth,int dx,int dy,int ksize=3,do uble scale=1,double delta=0, int borderType=BORDER_ DEFAULT);
其中src為輸入圖像,dst為輸出圖像,ddepth為輸出圖像深度,dx、dy數(shù)值決定檢測的方向,ksize為核大?。J(rèn)為3),scale為縮放因子(默認(rèn)為1)。由于當(dāng)前進(jìn)行矩形內(nèi)靠近右邊的斑點(diǎn)檢測,且只檢斑點(diǎn),因此設(shè)置dx=0,dy=1。
4 總結(jié)
該分割方法先用圖像平滑、圖像增強(qiáng)對原圖像做了預(yù)處理,然后通過圖像匹配定位獲取工件中心位置坐標(biāo)及旋轉(zhuǎn)坐標(biāo),通過擬合圓獲取圓心坐標(biāo)及半徑,建立掩膜圖像,并對原圖像進(jìn)行掩膜屏蔽掉無關(guān)區(qū)域特征,對掩膜得到的圓環(huán)進(jìn)行轉(zhuǎn)換得到矩形目標(biāo)區(qū)域,再通過Sobel算子在垂直方向上的邊緣提取獲得斑點(diǎn)即缺陷。該方法創(chuàng)新的核心之處在于只做垂直方向上的Sobel運(yùn)算,大大減少了計(jì)算機(jī)處理量,優(yōu)化了算法。
[參考文獻(xiàn)]
[1]劉金春.基于小波變換的數(shù)字圖像處理技術(shù)在變電站監(jiān)控中的應(yīng)用[D].南昌:華東交通大學(xué),2007.
[2]陳朝康.牛頓迭代法在圖像增強(qiáng)中的應(yīng)用[D].西安:西安電子科技大學(xué),2013.
[3]張顯全,郭明明,唐瑩,等.一種新的幾何特征形狀描述子[J].計(jì)算機(jī)工程與應(yīng)用,2007(29):90-92.
[4]張耀宗.圖像匹配算法的研究與應(yīng)用[D].太原:太原理工大學(xué),2010.
[5]楊亮,趙春江.立體視覺技術(shù)及其在農(nóng)業(yè)中的應(yīng)用[J].第一屆國際計(jì)算機(jī)及計(jì)算技術(shù)在農(nóng)業(yè)中的應(yīng)用研討會(huì)暨第一屆中國農(nóng)村信息化發(fā)展論壇,2008.
[6]胡尚舉,田國法,申江波.邊緣檢測算子的分析比較[J].大眾科技,2008(9):48-49.
A New Method for Segmentation of Spots in Annulus
Xu Yubing Cheng Yaoyu Cui Liang
(Information and Communication Engineering Institute,North University of China,Taiyuan 030051,China)
Abstrac:Image segmentation is a basic technology in the field of image processing and machine vision. It can be divided in various ways, but it is limited to specific objects.This article describes the segmentation of gasket surface to defect detection, it is a new segmentation method to detect detection on a gasket surface. First mask the target image into a annulus, then convert the annulus region into rectangle region and segment the rectangle in Y direction through Sobel operator, so as to extract the detection.
Key words:image segmentation;annulus;polar coordinate conversion;sobel operator