朱興龍,曹 毓,馬 倩,尹珺瑤
(揚(yáng)州大學(xué) 機(jī)械工程學(xué)院,江蘇 揚(yáng)州 225127)
橢圓擬合在許多領(lǐng)域有著廣泛的應(yīng)用,如模式識別與計(jì)算機(jī)視覺[1]、生物細(xì)胞分割[2]、農(nóng)業(yè)[3]等。作為應(yīng)用,有關(guān)橢圓擬合的算法很多,但通常分為3類:最小二乘法、霍夫變換法和邊緣輪廓追蹤法。基于幾何誤差最小方法[4]可以精確擬合橢圓,并有相應(yīng)的算法[5],但是這類方法也存在不足,如對噪聲非常敏感。霍夫變換也是檢測橢圓中非常著名的方法之一[6],在此基礎(chǔ)上有許多改進(jìn)的方法[7-8],不足之處是這些方法易受圖像中的噪聲影響。邊緣追蹤法研究連續(xù)的邊緣像素來檢測橢圓[9-10],這類方法主要策略是檢測弧,然后將它們分組歸類,當(dāng)然弧輪廓上的噪點(diǎn)也會影響弧的檢測與分類的正確性。為了提高水下目標(biāo)辨識的準(zhǔn)確性,Prasad等[11]采用側(cè)掃聲納方法實(shí)現(xiàn)對圖像的分割,分割之前要能有效地去除噪聲,還要能有效地保留邊緣特征等有意義的細(xì)節(jié),這樣才能保證分割簡單和準(zhǔn)確。Huo等[12]采用活動輪廓模型(active contour model,ACM)對光學(xué)或醫(yī)學(xué)圖像中的目標(biāo)進(jìn)行目標(biāo)檢測,但大的噪聲會嚴(yán)重影響和干擾采用合成孔徑雷達(dá)(synthetic aperture radar,SAR)圖像的處理效果。Sridar等[13]同樣采用活動輪廓模型用于紅外圖像的處理,因?yàn)樵摲椒▽τ谠肼暰哂幸欢ǖ聂敯粜?。采用激光斑點(diǎn)切向干涉法檢測表面內(nèi)缺陷、通過斑點(diǎn)圖像進(jìn)行高精度絕對位移的測量以及測量晶元直徑等,都涉及斑點(diǎn)輪廓噪聲問題[14-16]。
以上方法在不同的場合取得了很好的應(yīng)用效果,但在實(shí)際情況下,由于被測表面存在缺陷等原因,CCD獲取的斑點(diǎn)圖像經(jīng)圖像處理后會存在輪廓噪點(diǎn),擬合的斑點(diǎn)圖像的中心位置會出現(xiàn)偏移,將影響深度信息的測量精度。針對輪廓噪點(diǎn)對斑點(diǎn)中心的影響,本文提出了基于統(tǒng)計(jì)學(xué)原理的一種輪廓去噪方法,并通過理想數(shù)據(jù)和實(shí)際圖像數(shù)據(jù)驗(yàn)證了所提方法和算法的可行性,保證成像斑點(diǎn)中心坐標(biāo)值的魯棒性。
運(yùn)用單目視覺與激光點(diǎn)復(fù)合進(jìn)行測量,激光點(diǎn)作為主動標(biāo)記點(diǎn),照射在被測表面上,通過標(biāo)記點(diǎn)在CCD上斑點(diǎn)圖像的位置獲取深度信息,如圖1所示。
圖1 透鏡成像模型Figure 1 Lens imaging model
圖1中,L為被測表面與CCD面之間的距離;lp為激光點(diǎn)中心與透鏡光軸之間的距離;y為成像面上光斑點(diǎn)中心的y坐標(biāo)值;u、v分別表示物距和像距;f為透鏡焦距,γ為激光源軸線與光軸的夾角。
在圖1中,單目視覺CCD面與激光源對稱偏置于在透鏡光軸的兩側(cè),且使激光源軸線、透鏡光軸及CCD面的y軸線位于同一平面內(nèi),這樣配置的目的:當(dāng)被測物體發(fā)生移動時(shí),成像斑點(diǎn)中心坐標(biāo)值在CCD面上只有y坐標(biāo)值發(fā)生變化,而x坐標(biāo)值保持不變。
假設(shè)測量系統(tǒng)在初始位置,記L0為測量表面與CCD表面之間的距離,lp0為激光點(diǎn)中心在初始位置與光軸之間的偏置距離,y0為成像斑點(diǎn)的中心坐標(biāo),由透鏡成像公式,可得
(1)
若被測物體相對初始位置移動ΔL,調(diào)節(jié)透鏡位置,使成像斑點(diǎn)再次服從透鏡成像規(guī)律,則有
(2)
激光點(diǎn)在被測表面移動后的偏置距離lp與初始位置偏置距離lp0之間的關(guān)系如式(3)所示:
lp=lp0-ΔLtanγ。
(3)
由式(2)-式(1)整理得
(4)
由式(4)可知,當(dāng)測量系統(tǒng)安裝完成后,深度信息L僅與成像斑點(diǎn)中心坐標(biāo)值y有關(guān),如果成像斑點(diǎn)中心坐標(biāo)值存在擾動,將直接影響深度信息的測量精度。
由于激光照射到物體表面時(shí),因表面粗糙度影響會產(chǎn)生散射,在成像斑點(diǎn)輪廓周圍會產(chǎn)生一些散射的不規(guī)則光斑。由于燈光、日光、反光物等影響,也會產(chǎn)生背景噪點(diǎn),如圖2所示。
圖2 表面有背景噪點(diǎn)的激光斑點(diǎn)圖像Figure 2 Laser speckle image with background noise
這樣經(jīng)過圖像處理,獲取的輪廓邊緣,利用輪廓數(shù)據(jù)獲取斑點(diǎn)中心時(shí),中心坐標(biāo)值將受噪點(diǎn)影響而產(chǎn)生擾動,影響測量精度。
由以上分析可知,深度信息與斑點(diǎn)圖像的中心坐標(biāo)值有關(guān),去噪的具體過程如圖3所示。由于成像斑點(diǎn)呈橢圓狀,其斑點(diǎn)輪廓離散點(diǎn)服從橢圓分布,如圖3(a)所示。
圖3 去噪過程Figure 3 Denoising process
采用最小二乘橢圓法進(jìn)行橢圓擬合,記擬合橢圓為C,其中心坐標(biāo)為(x0,y0),長短軸為a、b,傾角為θ,輪廓離散點(diǎn)集為Ai(xi,yi),i=1,2,…,n。則橢圓C:
(5)
式中:xt=(x-x0)cosθ+(y-y0)sinθ;yt=-(x-x0)sinθ+(y-y0)cosθ。
記δ為輪廓離散點(diǎn)集A偏離擬合橢圓C的誤差δi的點(diǎn)集,即
(6)
式中:xt,i=(xi-x0)cosθ+(yi-y0)sinθ;yt,i=-(xi-x0)sinθ+(yi-y0)cosθ。
根據(jù)統(tǒng)計(jì)學(xué)原理,考慮輪廓點(diǎn)誤差點(diǎn)集δ,其均值為
(7)
均方差為
(8)
(9)
在擬合橢圓長、短軸a、b的基礎(chǔ)上,設(shè)外擴(kuò)橢圓的長短軸分別為(1+S2)a和(1+S2)b,構(gòu)造的外擴(kuò)橢圓方程Ce為
(10)
設(shè)內(nèi)斂橢圓的長短軸分別為(1-S1)a和(1-S1)b,構(gòu)造的內(nèi)斂橢圓方程Ci為
(11)
則構(gòu)造的內(nèi)外橢圓如圖3(b)所示。
同樣,記輪廓離散點(diǎn)集A偏離外擴(kuò)橢圓Ce和內(nèi)斂橢圓Ci的誤差分別為δei和δii,則由式(10)、(11)得
(12)
式中:若δei>0,則Ai(xi,yi)在Ce之外,定義為輪廓噪點(diǎn),如圖3(c)紅點(diǎn)所示;若δei≤0,則Ai(xi,yi)在Ce之內(nèi)或Ce上,定義為輪廓點(diǎn)。
(13)
式中:若δii<0,則Ai(xi,yi)在Ci之內(nèi),定義為輪廓噪點(diǎn),如圖3(b)紅點(diǎn)所示;若δii≥0,則Ai(xi,yi)在Ci之內(nèi)或Ci上,定義為輪廓點(diǎn)。
通過以上方法,每一輪中將輪廓噪點(diǎn)剔除,然后再利用去噪后的輪廓數(shù)據(jù)進(jìn)行橢圓擬合,如圖3(c)所示。當(dāng)置信區(qū)間S1→0,且S2→0,從而實(shí)現(xiàn)輪廓噪點(diǎn)的剔除,如圖3(d)所示。
由S1→0,S2→0,則由式(9)得
(14)
(15)
由式(15)-式(14)得
(16)
根據(jù)以上提出的剔除方法,算法流程圖如圖4所示。在圖4中,Num1為斑點(diǎn)輪廓的總點(diǎn)數(shù);Ai為輪廓點(diǎn)集,S1、S2為置信區(qū)間端點(diǎn),p、q為置信區(qū)間放大系數(shù),r、s為置信區(qū)間壓縮系數(shù),p1x[count1]、p2x[count2]、p1y[count1]、p2y[count2]為臨時(shí)存放輪廓點(diǎn)數(shù)據(jù)的數(shù)組;con1為位于外擴(kuò)橢圓Ce外部的輪廓噪點(diǎn)數(shù)目;count1為位于外擴(kuò)橢圓Ce邊界和內(nèi)部的輪廓點(diǎn)數(shù)目;δei為點(diǎn)集Ai與外擴(kuò)橢圓Ce的偏差;δii為點(diǎn)集Ai與內(nèi)斂橢圓Ci的偏差;con2為位于內(nèi)斂橢圓Ci內(nèi)部的輪廓噪點(diǎn)數(shù)目;count2為位于內(nèi)斂橢圓Ci邊界和外部的輪廓點(diǎn)數(shù)目;εe為外擴(kuò)橢圓偏差變量;εi為內(nèi)斂橢圓偏差變量。
圖4 算法流程圖Figure 4 Algorithm flow chart
(1)在上述流程圖中,考慮到實(shí)際斑點(diǎn)輪廓點(diǎn)集Ai(xi,yi)是離散的像素坐標(biāo),為了避免斑點(diǎn)輪廓點(diǎn)在最初去噪中的損失,因此最初確定內(nèi)外橢圓邊界時(shí),將S1和S2適當(dāng)放大,其中內(nèi)斂橢圓邊界S1=S1/p,外擴(kuò)橢圓邊界S2=S2/q,且p+q=1。
由于位于內(nèi)斂橢圓Ci內(nèi)的輪廓噪點(diǎn)出現(xiàn)的可能性較小,所以p取值較小,在本算例中,p=0.382,即放大后的邊界為S1=2.618S1,S2=1.618S2。
(2)由于放大的邊界經(jīng)過一輪搜索后,可能不存在噪點(diǎn),所以在第二輪搜索時(shí),引入了邊界壓縮系數(shù)r、s,且r+s=1,其中S1=rkS1,S2=skS2。這樣將外擴(kuò)橢圓邊界向內(nèi)壓縮,把內(nèi)斂橢圓邊界向外推移,如果仍然沒有噪點(diǎn)產(chǎn)生,繼續(xù)按上述壓縮系數(shù)做進(jìn)一步邊界壓縮,直至出現(xiàn)輪廓噪點(diǎn),其中k表示第k次壓縮,r、s取值為0.5。
(3)當(dāng)有輪廓噪點(diǎn)出現(xiàn)后,剔除出現(xiàn)的輪廓噪點(diǎn),重置輪廓點(diǎn)數(shù)和輪廓點(diǎn)集Ai(xi,yi),本算例中,count2即為剔除輪廓噪點(diǎn)后的輪廓點(diǎn)數(shù)目,p2x[count2]和p2y[count2]為剔除輪廓噪點(diǎn)的點(diǎn)集,然后對外偏差變量εe和內(nèi)偏差變量εi與給定的誤差允許值εe0和εi0進(jìn)行比較判別,如果不滿足條件,則進(jìn)入新一輪搜索,新一輪搜索重復(fù)上一輪搜索的過程,不同之處是輪廓點(diǎn)數(shù)和輪廓點(diǎn)集皆采用剔除噪點(diǎn)后的數(shù)據(jù);如果滿足條件,則停止搜索,輸出斑點(diǎn)中心坐標(biāo)值(x0,y0)。本實(shí)例中,考慮到實(shí)際圖像輪廓為離散整數(shù)值,故εe0和εi0分別取0.05個(gè)像素,而非理論值0。
所提算法驗(yàn)證采用理想數(shù)據(jù)驗(yàn)證和實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證。理想數(shù)據(jù)主要驗(yàn)證算法的收斂性,即中心坐標(biāo)值的穩(wěn)定性和魯棒性。采用的方法是制作一個(gè)已知橢圓中心坐標(biāo),長短軸及傾角的橢圓斑點(diǎn)圖像,如圖5中紅色橢圓斑點(diǎn),然后加入噪點(diǎn),包括邊緣噪點(diǎn)和背景噪點(diǎn)。本文中噪點(diǎn)采用一段外圓弧,模擬測量面上的凸緣,如圖5中綠色所示;一段內(nèi)圓弧,模擬凹坑,如圖5中青色所示;還有一個(gè)離橢圓斑點(diǎn)之外的圓形斑點(diǎn),模擬背景燈光噪點(diǎn),如圖5中粉紅色所示。橢圓的中心坐標(biāo)值為(10 mm,10 mm),經(jīng)組合形成7種帶噪點(diǎn)的圖像,加上一種無噪點(diǎn)的圖像,總共8種理想斑點(diǎn)與噪點(diǎn)組合的圖像,如圖5所示。
圖5 理想斑點(diǎn)與噪點(diǎn)組合圖像Figure 5 Image combination of ideal speckle and noise
采用圖像處理,得到灰度圖像,經(jīng)二值化后,按一定規(guī)律提取輪廓離散點(diǎn),如圖6所示。
分別采用重心法、高斯法[17]及本文算法,得到橢圓斑點(diǎn)圖像的中心坐標(biāo)值如表1所示。從表1中數(shù)據(jù)可以看出:高斯法,重心法所得到的中心坐標(biāo)與理想中心坐標(biāo)都有不同程度的誤差。采用本文提出的算法,在8種情況下,通過去除噪點(diǎn)能夠很好地收斂到理想中心坐標(biāo)位置,說明本算法具有很好的魯棒性和穩(wěn)定性。
表1 橢圓斑點(diǎn)中心坐標(biāo)值Table 1 Center coordinates of elliptical spots mm
上述驗(yàn)證是在已知圖像中心坐標(biāo)情況下,驗(yàn)證了算法能否收斂到所期望的橢圓中心坐標(biāo),但是實(shí)際情況下,由于橢圓斑點(diǎn)中心無法通過測量準(zhǔn)確獲取,通過算法獲取的中心坐標(biāo)是否就是橢圓斑點(diǎn)中心坐標(biāo)值無法驗(yàn)證,為此本文設(shè)計(jì)了一種間接驗(yàn)證本算法獲取的中心坐標(biāo)值是否反映實(shí)際橢圓圖像中心的方法,即通過被測表面移動距離的測量值與實(shí)際檢測值對比,驗(yàn)證去噪算法的可行性。由于測量方法在物距接近兩倍焦距的鄰域內(nèi)測量精度高以及透鏡調(diào)整直線電機(jī)行程的限制,確定被測表面移動距離在1 mm的范圍內(nèi)。
首先構(gòu)成了測量系統(tǒng),該系統(tǒng)由相機(jī)、光纖激光器、透鏡等組成。相機(jī)采用BaumerTXG50c,分辨率為2 480像素×1 920像素,像素尺寸為3.45 μm×3.45 μm,透鏡焦距為25 mm。采用VS2 010開發(fā)環(huán)境和OpenCV開發(fā)工具,實(shí)驗(yàn)系統(tǒng)如圖7所示。
圖7 實(shí)驗(yàn)系統(tǒng)Figure 7 Experimental system
3.4.1 標(biāo)定數(shù)學(xué)模型
調(diào)節(jié)好測量系統(tǒng)位置(物距、像距),使CCD成像清晰,采用千分表記錄被測物體表面的位移ΔL,通過實(shí)驗(yàn)平臺獲得激光斑點(diǎn)的圖像,如圖8(a)所示;經(jīng)圖像處理獲得其灰度圖像,如圖8(b)所示;然后通過輪廓提取方法并去噪得到輪廓邊緣,如圖8(c)所示。
圖8 斑點(diǎn)圖像處理Figure 8 Speckle image processing
采用重心法,高斯法和本文提出的算法,移動測量表面ΔLc,ΔLc為實(shí)際測量值,處理橢圓斑點(diǎn)圖像依次獲取斑點(diǎn)中心坐標(biāo)值y,具體數(shù)據(jù)如表2所示。
表2 斑點(diǎn)中心坐標(biāo)值y Table 2 Spot center coordinate value y
根據(jù)表2的數(shù)據(jù),可用兩種擬合函數(shù)。第一種是本文所推導(dǎo)出的式(4),第二種采用直線法進(jìn)行擬合[17]。
(1)采用本文所提出的函數(shù)擬合,即
(17)
得到擬合的數(shù)學(xué)模型的系數(shù),如表3所示。
表3 擬合的數(shù)學(xué)模型中的系數(shù)Table 3 Coefficients in the fitted mathematical model mm
(2)采用直線擬合,即ΔL=c1+c2y,得到擬合的數(shù)學(xué)模型中的系數(shù)如表4所示。
表4 擬合的數(shù)學(xué)模型中的系數(shù)Table 4 Coefficients in the fitted mathematical model mm
3.4.2 實(shí)驗(yàn)驗(yàn)證
以上通過標(biāo)定,獲取了幾種方法的擬合數(shù)學(xué)模型,下面通過實(shí)測驗(yàn)證模型是否能真實(shí)反映斑點(diǎn)輪廓的中心。移動被測物體表面至不同位置,獲取斑點(diǎn)輪廓中心坐標(biāo)值y,如表5所示。
表5 實(shí)測斑點(diǎn)中心坐標(biāo)值yTable 5 Measured spot center coordinate value y
根據(jù)擬合模型,計(jì)算被測物體的位移值ΔL1,與實(shí)際測量值ΔLc比較得到絕對誤差Δ,即Δ=|ΔLc-ΔL1|,具體數(shù)據(jù)如表6所示。
表6 實(shí)測值與計(jì)算值比較Table 6 Comparison of measured and calculated values μm
從表6中看出,按本文導(dǎo)出的函數(shù)擬合,重心法最大誤差為24.9 μm,高斯法最大誤差為14.8 μm,而本文所提算法最大誤差為2.3 μm。
根據(jù)直線標(biāo)定模型,計(jì)算被測物體的位移值,并與實(shí)際測量值比較得到絕對誤差,如表7所示。
從表7中看出,按直線擬合,重心法的最大誤差為25.2 μm,高斯法的最大誤差為16.7 μm,而本文所提算法的最大誤差為1.9 μm。由表6、7可以看出,無論是采用直線擬合,還是以本文推導(dǎo)的函數(shù)擬合,盡管實(shí)驗(yàn)中高斯法個(gè)別點(diǎn)的誤差優(yōu)于本文算法,但本文算法的誤差總體上都是最好的。
表7 實(shí)測值與計(jì)算值比較Table 7 Comparison of measured and calculated values μm
通過上述比較,間接驗(yàn)證了本文算法獲取的橢圓中心坐標(biāo)更加接近實(shí)際目標(biāo)的中心坐標(biāo),所以該算法對實(shí)際圖像邊緣噪點(diǎn)的剔除是可行的。
在采用透鏡成像模型的單目視覺深度信息測量系統(tǒng)中,激光斑點(diǎn)成像中心位置對測量精度有著重要的影響。本文提出一種基于統(tǒng)計(jì)學(xué)原理確定內(nèi)斂外擴(kuò)橢圓邊界去除噪點(diǎn)的方法,即根據(jù)內(nèi)斂外擴(kuò)橢圓邊界確定輪廓噪點(diǎn),如果存在輪廓噪點(diǎn),則進(jìn)行剔除,然后利用剔除噪點(diǎn)后的輪廓數(shù)據(jù)再重新確定內(nèi)斂外擴(kuò)橢圓邊界,直至滿足收斂條件;如果不存在輪廓噪點(diǎn),則通過不斷壓縮內(nèi)斂外擴(kuò)橢圓邊界,直至出現(xiàn)輪廓噪點(diǎn),然后剔除這些噪點(diǎn),再重新確定內(nèi)斂外擴(kuò)橢圓邊界,直至滿足收斂條件。通過理想數(shù)據(jù)的仿真和實(shí)際圖像的實(shí)驗(yàn)驗(yàn)證,該方法能夠剔除輪廓噪點(diǎn),使斑點(diǎn)中心坐標(biāo)值在有限輪次后趨于收斂并穩(wěn)定,對單目視覺和激光點(diǎn)復(fù)合進(jìn)行深度信息測量的準(zhǔn)確性具有一定的意義。