国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于邊緣檢測(cè)和Hough變換的圓定位算法

2018-08-24 01:36,,2
關(guān)鍵詞:瑕疵像素點(diǎn)灰度

, ,2

(1.浙江理工大學(xué)機(jī)械與自動(dòng)控制學(xué)院,杭州 310018;2.浙江大學(xué)能源工程學(xué)院,杭州 310007)

0 引 言

圖形識(shí)別是圖像處理和模式識(shí)別領(lǐng)域的一個(gè)重要問(wèn)題,圓形的識(shí)別和位置檢測(cè)是機(jī)器視覺(jué)常見(jiàn)的問(wèn)題之一,廣泛應(yīng)用于工業(yè)測(cè)量。目前機(jī)器視覺(jué)中檢測(cè)圓形算法主要有標(biāo)準(zhǔn)Hough變換算法及其優(yōu)化算法。但是由于標(biāo)準(zhǔn)Hough算法使用三維空間參數(shù)累積的方法,數(shù)據(jù)量大,大量占用計(jì)算內(nèi)存,運(yùn)算速度較慢。針對(duì)這一缺陷Xu等[1]提出了隨機(jī)Hough變換算法,通過(guò)隨機(jī)采樣三個(gè)非共線(xiàn)的邊緣點(diǎn)進(jìn)行累積得出圓的位置參數(shù),對(duì)復(fù)雜圖像進(jìn)行處理時(shí),由于該方法大量引入無(wú)關(guān)樣本點(diǎn),造成計(jì)算量過(guò)大。目前一些改進(jìn)算法[2-7]主要對(duì)Hough變換進(jìn)行降維處理,以減少計(jì)算量。陳珂等[6]提出了以線(xiàn)段為投票主體的一維概率Hough變換,對(duì)標(biāo)準(zhǔn)Hough變換進(jìn)行了降維處理,但是其對(duì)于半徑小于8像素的圓較難捕獲。Manznaera等[7]通過(guò)估計(jì)灰度圖像中的曲率導(dǎo)數(shù),對(duì)所有像素進(jìn)行投票,通過(guò)Hough變換直接計(jì)算相關(guān)參數(shù),不需要計(jì)算輪廓即可得出圓孔相關(guān)位置參數(shù)。但當(dāng)圓孔有瑕疵時(shí),該算法也會(huì)對(duì)瑕疵點(diǎn)進(jìn)行投票,得到無(wú)關(guān)參數(shù),影響檢測(cè)結(jié)果的準(zhǔn)確性。相關(guān)文獻(xiàn)[8-10]對(duì)預(yù)處理階段的邊緣檢測(cè)算法進(jìn)行了優(yōu)化,減少干擾噪聲提升檢測(cè)精度。陳小艷等[8]提出在Canny邊緣檢測(cè)后過(guò)濾圖像邊界的方法來(lái)提升Hough變換的檢測(cè)效率,但并沒(méi)考慮Canny算法自身的缺點(diǎn)。劉可平等[9]針對(duì)傳統(tǒng)Canny算法的缺點(diǎn),提出了用雙邊濾波代替算法中的高斯濾波,該方法能夠有效去除干擾并保留邊緣信息,但當(dāng)邊緣有瑕疵時(shí),該方法也會(huì)提取瑕疵邊緣,對(duì)檢測(cè)結(jié)果造成影響。以上文獻(xiàn)多是對(duì)大直徑少量圓進(jìn)行研究,在對(duì)小直徑多圓進(jìn)行檢測(cè)時(shí),由于圓直徑小數(shù)量多,這些基于提取圓特征的改進(jìn)算法并不適合,且計(jì)算量大。

本文主要對(duì)機(jī)器視覺(jué)系統(tǒng)中圓檢測(cè)算法進(jìn)行研究和改進(jìn),提出了基于邊緣檢測(cè)和Hough變換的圓定位算法,該算法可運(yùn)用于小直徑多圓的檢測(cè)場(chǎng)合。首先對(duì)傳統(tǒng)Canny邊緣檢測(cè)算法相關(guān)步驟進(jìn)行改進(jìn),削弱無(wú)關(guān)瑕疵點(diǎn)對(duì)檢測(cè)結(jié)果的影響,并完整提取出孔位邊緣;在此基礎(chǔ)上,對(duì)邊緣像素點(diǎn)采取75%的抽樣并限定檢測(cè)圓直徑,以提升Hough變換圓檢測(cè)的效率。將算法應(yīng)用在具有多圓小直徑特征的牙刷頭上,以驗(yàn)證其有效性。

1 Canny算法的改進(jìn)

傳統(tǒng)Canny算法能較好地去除圖像噪聲并提取出圖像邊緣,但在相機(jī)采集圖像的過(guò)程中,由于受到各方面的影響,傳統(tǒng)Canny算法存在以下缺陷:a)高斯濾波對(duì)圖像平滑處理過(guò)度,丟失部分邊緣信息。b) 采用2×2鄰域求解梯度容易將噪聲提取為邊緣。c) 人為設(shè)定高、低閾值具有較大的隨機(jī)性,自適應(yīng)能力較差。這些缺陷影響了Canny算法邊緣提取的效果,進(jìn)而影響圓檢測(cè)結(jié)果的準(zhǔn)確性。本文從濾波方法、梯度計(jì)算和閾值選取三方面對(duì)傳統(tǒng)Canny算法進(jìn)行改進(jìn)。

1.1 采用中值濾波替換高斯濾波

傳統(tǒng)Canny算法采用高斯濾波對(duì)圖像進(jìn)行濾波處理,難以在去噪和保邊取得好的平衡,這個(gè)缺點(diǎn)普遍存在于線(xiàn)性濾波器中。故本文采用非線(xiàn)性濾波器中的中值濾波[11]對(duì)圖像進(jìn)行濾波處理。

中值濾波采用像素點(diǎn)領(lǐng)域灰度值中的中值替代該像素的灰度值,在去除噪聲的同時(shí)又能保留圖像邊緣細(xì)節(jié)。但是傳統(tǒng)中值濾波會(huì)對(duì)每個(gè)像素點(diǎn)進(jìn)行濾波處理,造成邊緣像素點(diǎn)在濾波后變得模糊。故本文引進(jìn)邊緣點(diǎn)判斷機(jī)制解決該問(wèn)題,以像素點(diǎn)A(x,y)為中心選取十字領(lǐng)域的4個(gè)像素,設(shè)T為閾值,f(xi,yi)(i=1,2,3,4)為鄰近4像素灰度值,f(x,y)為中心像素灰度值,s為中心像素與邊緣像素灰度值相似個(gè)數(shù)。具體實(shí)現(xiàn)步驟如下:

a) 計(jì)算d=fxi,yi-fx,y,若d

b)s加1,若a

c) 判定該點(diǎn)為邊緣像素點(diǎn),輸出像素值f(x,y);

d) 判定該點(diǎn)為噪聲點(diǎn)或不是邊緣像素點(diǎn),進(jìn)行中值濾波,輸出濾波后的像素值f′(x,y)。

1.2 改進(jìn)的梯度計(jì)算方法

傳統(tǒng)Canny算法采用2×2的鄰域?qū)休^強(qiáng)噪聲的圖片進(jìn)行梯度計(jì)算時(shí),檢測(cè)時(shí)會(huì)引入無(wú)關(guān)邊緣并丟失邊緣細(xì)節(jié),所以本文采用3×3鄰域求解梯度幅值。為了使邊緣能夠進(jìn)行多方向的檢測(cè),在原算法的基礎(chǔ)上增加了45°方向和135°方向進(jìn)行梯度幅值計(jì)算。首先計(jì)算圖像G(x,y)各個(gè)方向的一階偏導(dǎo)數(shù):

(1)

其中:Mx(x,y)為x方向偏導(dǎo)數(shù),My(x,y)為y方向偏導(dǎo)數(shù),Mi(x,y)為45°方向偏導(dǎo)數(shù),Mj(x,y)為135°方向偏導(dǎo)數(shù)。然后,分別求出水平方向和垂直方向的差分:

(2)

其中:MH(x,y)為水平方向差分,MV(x,y)為垂直方向差分。最后分別求得梯度幅值g和梯度方向θ:

對(duì)梯度幅值在梯度方向上進(jìn)行非極大值抑制,將局部最大值之外的所有梯度值抑制為0,保留所有可能是邊緣的像素點(diǎn)。

1.3 閾值的改進(jìn)算法

傳統(tǒng)Canny算法閾值由人工設(shè)定,難以獲得良好的邊緣效果,采用最大類(lèi)間方差法[12]進(jìn)行改進(jìn),使其能夠自主選取最高閾值。設(shè)圖像G(x,y)總像素為N,灰度等級(jí)為[0,L-1],灰度等級(jí)i對(duì)應(yīng)的像素?cái)?shù)為Ni,t為目標(biāo)與背景的分割閾值,則背景類(lèi)像素灰度值在[0,t]內(nèi),目標(biāo)類(lèi)像素灰度值在[t+1,L-1],設(shè)u0(t)為背景灰度均值,u1(t)為目標(biāo)灰度均值,則

(3)

總的灰度均值定義為:

ut=w0t×u0t+w1t×u1t

(4)

圖像背景和目標(biāo)兩類(lèi)像素的類(lèi)間方差表示為:

(5)

2 改進(jìn)的Hough變換圓檢測(cè)算法

傳統(tǒng)Hough變換檢測(cè)圓時(shí)會(huì)對(duì)圓直徑從0~∞進(jìn)行累積,計(jì)算量巨大檢測(cè)效率較低,本文采取限定目標(biāo)圓直徑并對(duì)邊緣像素點(diǎn)采取75%抽樣的方法來(lái)減少無(wú)關(guān)累積。設(shè)邊緣上隨機(jī)采樣點(diǎn)(x1,y1),該點(diǎn)為圓直徑的一個(gè)端點(diǎn),限定直徑的取值范圍[dmin,dmax],則直徑的另一端點(diǎn)(x2,y2)在以(x1,y1)為圓心,以dmin為小徑,dmax為大徑的圓環(huán)內(nèi),如圖1所示。

圖1 點(diǎn)(x2,y2)的范圍

通過(guò)Hough變換進(jìn)行累加,若(x2,y2)點(diǎn)在圖2所在的圓環(huán)內(nèi),則可確定該點(diǎn)為圓直徑的另一端點(diǎn),可得到圓的參數(shù)為:

(6)

計(jì)算所有抽樣像素點(diǎn)可得到數(shù)組A(a,b,r),對(duì)數(shù)組進(jìn)行累加,累加結(jié)果中的峰值(a0,b0,r0)即為圓孔的圓心坐標(biāo)和半徑。

3 算法流程與實(shí)驗(yàn)分析

采用本文算法對(duì)植毛孔進(jìn)行檢測(cè)的算法流程如圖2所示,主要步驟為:

a) 原圖灰度化后進(jìn)行邊緣點(diǎn)判斷,對(duì)非邊緣點(diǎn)進(jìn)行中值濾波處理;

b) 在3×3鄰域求解濾波后圖像的梯度幅值和方向;

c) 對(duì)梯度幅值進(jìn)行非極大值抑制,將局部極大值之外的所有梯度幅值抑制為0,剔除非邊緣像素點(diǎn);

d) 最大類(lèi)間方差法求出的高低閾值對(duì)邊緣像素點(diǎn)進(jìn)行檢測(cè)和連接,將閾值之外的像素點(diǎn)剔除;

e) 對(duì)抽樣像素點(diǎn)在限定檢測(cè)圓直徑范圍內(nèi)進(jìn)行Hough變換圓檢測(cè)并輸出參數(shù)。

圖2 改進(jìn)算法流程

為了驗(yàn)證本文改進(jìn)邊緣檢測(cè)算法的效果,以VS2010為實(shí)驗(yàn)平臺(tái)進(jìn)行模擬仿真,實(shí)驗(yàn)用圖為200萬(wàn)像素的CMOS相機(jī)在背光源的情況下拍攝的牙刷頭圖像,圖3(a)和(b)示出兩種牙刷頭圖像,圖3(c)示出瑕疵圓孔。將本文算法與文獻(xiàn)[9]的改進(jìn)算法和傳統(tǒng)Canny算法進(jìn)行對(duì)比,對(duì)比結(jié)果如圖3所示,為突出對(duì)圓孔瑕疵的處理,僅示出瑕疵圓的處理結(jié)果。可見(jiàn),圖3(d)中傳統(tǒng)Canny算法邊緣檢測(cè)引入較多偽邊緣,并存在較多噪聲;圖3(e)中文獻(xiàn)[9]用雙邊濾波替代高斯濾波,一定程度上減少了偽邊緣,但削弱細(xì)小瑕疵的能力較差;圖3(f)中本文算法通過(guò)對(duì)Canny算法進(jìn)行改進(jìn),很好地消除了圖像噪聲和圓孔內(nèi)細(xì)小瑕疵,邊緣檢測(cè)清晰,保留了真實(shí)邊緣??梢?jiàn)本文檢測(cè)算法檢測(cè)效果優(yōu)于傳統(tǒng)Canny算法和文獻(xiàn)[9]的算法。

圖3 瑕疵圓邊緣檢測(cè)效果圖

圓孔邊緣的提取直接關(guān)系到Hough變換圓檢測(cè)的準(zhǔn)確性,為了驗(yàn)證本文改進(jìn)的邊緣檢測(cè)算法和Hough變換圓檢測(cè)算法的效果,將本文算法檢測(cè)結(jié)果應(yīng)用在數(shù)控牙刷植毛機(jī)系統(tǒng)中。對(duì)植毛孔進(jìn)行識(shí)別和定位時(shí),通過(guò)圖像處理得到的結(jié)果是基于像素的,為了得到實(shí)際幾何尺寸,需要找到兩者的對(duì)應(yīng)關(guān)系。在標(biāo)準(zhǔn)狀態(tài)下,取d=10 mm的卡尺作為系統(tǒng)的標(biāo)定工件,經(jīng)過(guò)圖像采集,圖像處理獲取出標(biāo)定工件的像素長(zhǎng)度為dpixel=160.1690,即標(biāo)定系數(shù)k=d/dpixel=0.0624。利用求出的標(biāo)定系數(shù)k將像素尺寸轉(zhuǎn)化為實(shí)際物理尺寸,同時(shí)利用人工測(cè)量的方式用三坐標(biāo)測(cè)量?jī)x對(duì)圖3(a)和圖3(b)圓孔進(jìn)行位置檢測(cè)。

將Hough變換得到的檢測(cè)誤差與允許誤差對(duì)比分析如圖4所示。圖4分別示出兩種牙刷頭在Hough變換圓檢測(cè)后植毛孔圓心坐標(biāo)在x方向和y方向的誤差,圖4(c)和(f)示出Hough變換測(cè)得圓心位置與真實(shí)圓心位置的偏移,從圖中可以看出本文算法的檢測(cè)誤差在允許誤差范圍0~0.06 mm之間,檢測(cè)精度為0.06 mm,可見(jiàn)算法檢測(cè)結(jié)果是合理的,且所用相機(jī)的分辨率越高,圓心位置的檢測(cè)結(jié)果越準(zhǔn)確。

圖4 誤差對(duì)比

4 結(jié) 論

本文提出了一種改進(jìn)的小直徑多圓檢測(cè)算法。通過(guò)對(duì)傳統(tǒng)Canny邊緣檢測(cè)算法進(jìn)行改進(jìn)提升邊緣檢測(cè)效果;在此基礎(chǔ)上利用Hough變換尋找抽樣像素點(diǎn)在限定直徑范圍內(nèi)的最佳累積圓,實(shí)現(xiàn)圓孔定位。該方法具有如下特點(diǎn):a) 適合小直徑多圓的檢測(cè)場(chǎng)合;b) 當(dāng)圓孔中有細(xì)小瑕疵時(shí)也能進(jìn)行圓檢測(cè)。對(duì)兩種具有多圓小直徑特征的牙刷植毛孔進(jìn)行檢測(cè),結(jié)果表明在圓孔內(nèi)有瑕疵的情況下也能較精確得出圓位置參數(shù),實(shí)驗(yàn)結(jié)果表明檢測(cè)精度可達(dá)0.06 mm。

猜你喜歡
瑕疵像素點(diǎn)灰度
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過(guò)濾技術(shù)
圖像二值化處理硬件加速引擎的設(shè)計(jì)
登記行為瑕疵與善意取得排除的解釋論
Bp-MRI灰度直方圖在鑒別移行帶前列腺癌與良性前列腺增生中的應(yīng)用價(jià)值
基于局部相似性的特征匹配篩選算法
Arduino小車(chē)巡線(xiàn)程序的灰度閾值優(yōu)化方案
哦,瑕疵
哦,瑕疵
基于像素點(diǎn)篩選的艦船湍流尾跡檢測(cè)算法
基于canvas的前端數(shù)據(jù)加密
霸州市| 丹江口市| 洮南市| 溧水县| 吴忠市| 凤冈县| 肇庆市| 库尔勒市| 靖西县| 逊克县| 师宗县| 汤原县| 清流县| 宜宾县| 景泰县| 宿迁市| 淮北市| 奈曼旗| 红桥区| 襄垣县| 徐水县| 疏勒县| 鲁甸县| 阳山县| 昆山市| 区。| 太和县| 观塘区| 禹州市| 盖州市| 巴林左旗| 万源市| 宁蒗| 龙岩市| 定结县| 土默特左旗| 原平市| 文登市| 南澳县| 桃江县| 瑞丽市|