宋韶輝,蔣佳佳,段發(fā)階
(天津大學(xué) 精密測(cè)試技術(shù)及儀器國(guó)家重點(diǎn)實(shí)驗(yàn)室,天津300072)
近年來(lái),視覺(jué)測(cè)量技術(shù)因可以快速準(zhǔn)確地實(shí)現(xiàn)非接觸測(cè)量被大量應(yīng)用到航天、高精尖設(shè)備儀器制造等領(lǐng)域[1-3]。測(cè)量者常在被測(cè)對(duì)象上制作圓標(biāo)記點(diǎn),通過(guò)定位標(biāo)記中心來(lái)實(shí)現(xiàn)被測(cè)物體定位[4]。因此,圓標(biāo)記中心定位精度直接影響整個(gè)測(cè)量系統(tǒng)的精度,研究如何提高圓標(biāo)記中心定位精度具有十分重要的意義[5]。
常用的圓標(biāo)記中心定位方法有形心法、Hough變換和最小二乘曲線(xiàn)擬合法。形心法要求圖像灰度分布均勻,對(duì)標(biāo)記點(diǎn)質(zhì)量要求較高;Hough 變換法計(jì)算開(kāi)銷(xiāo)較大;最小二乘曲線(xiàn)擬合法因?qū)崿F(xiàn)簡(jiǎn)單且計(jì)算量小,得到廣泛應(yīng)用[6]。由于最小二乘擬合法運(yùn)用邊緣點(diǎn)擬合中心,所以邊緣定位精度直接影響了圓心定位的精度[7]。為提高定位精度,學(xué)者們提出了多種亞像素邊緣檢測(cè)算法,如文獻(xiàn)[8]用空間矩來(lái)檢測(cè)邊緣,可以得到較精確的亞像素邊緣但計(jì)算量較大,文獻(xiàn)[9-10]提出利用Zernike 矩來(lái)進(jìn)行邊緣檢測(cè),但由于人工選擇閾值,效率不高且極易誤判,文獻(xiàn)[11]采用梯度質(zhì)心法進(jìn)行圓標(biāo)記亞像素邊緣定位,需確定邊緣的梯度方向和邊緣區(qū)域求出高精度邊緣點(diǎn)。傳統(tǒng)的梯度質(zhì)心法在確定圓標(biāo)記邊緣梯度方向時(shí)根據(jù)像素級(jí)邊緣點(diǎn)的橫縱分量的比值,易受噪聲影響,進(jìn)而影響中心定位精度。
針對(duì)上述邊緣梯度方向確定中遇到的問(wèn)題,本文運(yùn)用徑向截面掃描法[12],以圓標(biāo)記點(diǎn)徑向表示邊緣梯度方向;同時(shí)對(duì)傳統(tǒng)大津法進(jìn)行改進(jìn),根據(jù)粗?jǐn)M合圓心和半徑劃定大津法計(jì)算區(qū)域,得到準(zhǔn)確的邊緣區(qū)域,進(jìn)而高精度地實(shí)現(xiàn)圓標(biāo)記點(diǎn)中心定位。
圓標(biāo)記中心定位算法步驟[13]:像素級(jí)邊緣定位、亞像素級(jí)邊緣定位、中心定位。像素級(jí)邊緣定位算法對(duì)噪聲較為敏感,但進(jìn)行降噪處理會(huì)使得邊緣信息部分丟失,如圖1 所示,在降噪后邊緣梯度峰值下降且偏移。因此本文對(duì)定位算法流程進(jìn)行改進(jìn),運(yùn)用粗定位坐標(biāo)直接在原始圖像上的邊緣區(qū)域內(nèi)進(jìn)行亞像素邊緣搜索,有效地避免了平滑降噪處理造成的邊緣梯度信息的損失,具體流程如圖2 所示。
圖1 邊緣徑向截面梯度幅值曲線(xiàn)Fig.1 Edge radial section gradient amplitude curve
圖2 改進(jìn)的分步圓心定位算法流程Fig.2 Center of the circle algorithm flow chart
本文運(yùn)用Canny 算法進(jìn)行像素級(jí)邊緣的粗定位,Canny 算法[14]是基于邊緣檢測(cè)最優(yōu)準(zhǔn)則的一種像素級(jí)邊緣檢測(cè)算法,雙閾值的設(shè)置可有效地濾除噪聲和減少邊緣誤判。
利用得到的像素級(jí)粗定邊緣擬合出橢圓方程,對(duì)于平面橢圓的一般方程有:
運(yùn)用最小二乘法擬合可得到參數(shù)B、C、D、E、F,即可得到粗定中心(x0,y0):
利用梯度進(jìn)行亞像素邊緣提取的一個(gè)重要的前提是要確定邊緣梯度方向。本文采用徑向截面掃描確定邊緣梯度。如圖3 所示,各徑向截面上的梯度呈類(lèi)高斯分布,如圖4 所示,在圓周上等間隔地?cái)M合得到對(duì)應(yīng)邊緣點(diǎn)的徑向截面,在徑向截面上提取亞像素邊緣點(diǎn)作為圓周點(diǎn)做最小二乘擬合,即可求得精確的標(biāo)記點(diǎn)中心[12]。每一邊緣像素點(diǎn)對(duì)應(yīng)徑向的直線(xiàn)方程由粗定圓心與粗定邊緣點(diǎn)擬合得到:
式中:(x0,y0)為粗定圓心坐標(biāo);(xre,yre)為粗定邊緣點(diǎn)坐標(biāo)。
圖3 標(biāo)記點(diǎn)邊緣梯度幅值徑向截面示意圖Fig.3 Schematic diagram of radial section of gradient amplitude of marking point edge
圖4 徑向截面掃描法原理圖Fig.4 Schematic diagram of radial section scanning method
在標(biāo)記點(diǎn)徑向上以粗定邊緣點(diǎn)為中心在兩側(cè)運(yùn)用雙線(xiàn)插值法,以0.1 像元為步長(zhǎng)插值得到徑向梯度分布。如圖3 所示,邊緣梯度區(qū)域內(nèi)的梯度幅值大于其他區(qū)域,因此可以通過(guò)閾值過(guò)濾來(lái)確定邊緣區(qū)域并排除噪聲干擾。
本文基于大津法進(jìn)行邊緣閾值確定。大津法[15]的判定準(zhǔn)則為邊緣區(qū)域和背景區(qū)域的類(lèi)間方差,取得最大類(lèi)間方差時(shí)T 為最佳閾值。設(shè)N 個(gè)像素點(diǎn)的圖像中,梯度幅值為i 的像素點(diǎn)個(gè)數(shù)為ni。則梯度幅值i 出現(xiàn)的概率為Pi=ni/N。閾值t 將圖像劃分為邊緣與非邊緣兩類(lèi),出現(xiàn)的概率分別為與均值分別為平均梯度幅值為,則可以得到兩類(lèi)的類(lèi)間方差:
運(yùn)用大津法計(jì)算標(biāo)記點(diǎn)邊緣閾值時(shí),非標(biāo)記點(diǎn)區(qū)域像素?cái)?shù)量變化會(huì)使得閾值不穩(wěn)定,由于曝光不均勻等問(wèn)題,每個(gè)標(biāo)記點(diǎn)成像質(zhì)量不盡相同。因此本文對(duì)傳統(tǒng)大津法進(jìn)行改進(jìn),如圖5 所示,通過(guò)每個(gè)標(biāo)記點(diǎn)的粗?jǐn)M合橢圓得出長(zhǎng)軸R,在以粗定中心(x0,y0)為中心,以4R 為邊長(zhǎng)的正方形區(qū)域內(nèi)進(jìn)行大津法閾值確定,得到每個(gè)標(biāo)記點(diǎn)穩(wěn)定準(zhǔn)確的梯度閾值。
圖5 改進(jìn)的區(qū)域大津法作用的區(qū)域Fig.5 Improved area of Otsu algorithm
將徑向上的梯度幅值經(jīng)過(guò)閾值過(guò)濾后得到許多連續(xù)的片段,取包含粗定邊緣的連續(xù)區(qū)域E 得到徑向邊緣區(qū)域, 利用區(qū)域內(nèi)梯度值作為補(bǔ)充信息,采用梯度質(zhì)心法可以確定亞像素級(jí)邊緣[11]。以梯度幅值為權(quán)值求質(zhì)心可得亞像素邊緣坐標(biāo),有:
式中:(xe,ye) 為亞像素邊緣點(diǎn);Gxi和Gyi分別為點(diǎn)(xi,yi)在x 方向和y 方向的梯度幅值。
2.1.1 仿真標(biāo)記點(diǎn)生成
本文采用基于高斯金字塔分解的方法來(lái)生成仿真圓標(biāo)記點(diǎn)圖像,高斯金字塔分解是對(duì)圖像進(jìn)行的一系列低通抽樣濾波。如圖6 所示采樣過(guò)程,設(shè)處理前原圖像為W0,將W0代入遞推公式(7)中得到圖像W1,該運(yùn)算相當(dāng)于對(duì)圖像先進(jìn)行5×5 的高斯濾波后再進(jìn)行間隔抽樣, 如此迭代獲得圖像集合{W0,W1,W2,…}稱(chēng)為高斯金字塔。第k 階圖像W0的每個(gè)像素點(diǎn)都有遞推公式:
式中:ω(m,n)為高斯生成核;wk(i,j)為Wk上像素點(diǎn)。
圖6 高斯金字塔采樣過(guò)程Fig.6 Gaussian pyramid sampling process
生成仿真標(biāo)記點(diǎn)具體流程如下:
(1)生成一張高分辨率的圓形標(biāo)記點(diǎn)圖片W0,標(biāo)記點(diǎn)直徑為D;
(2)采用Canny 算法得到邊緣坐標(biāo),擬合得到標(biāo)記點(diǎn)中心(x0,y0),定位精度為0.1 像元[11];
(3)運(yùn)用高斯金字塔分解得到Wn,圖像尺寸縮小為W0的,Wn上的標(biāo)記點(diǎn)(x0n,y0n)為
2.1.2 仿真實(shí)驗(yàn)結(jié)果及分析
按照2.1.1 節(jié)的流程,對(duì)6400×6400 像素圖像處理得到200×200 像素圖像,得到仿真標(biāo)記點(diǎn)如圖7 所示。此時(shí)用來(lái)作為標(biāo)準(zhǔn)中心點(diǎn)坐標(biāo)的最大誤差為0.0031 像元,在此實(shí)驗(yàn)中可以忽略。得到的中心定位結(jié)果如表1 所示。
圖7 仿真圓標(biāo)記圖像Fig.7 Image of simulated circle marker
設(shè)x 方向的偏差為dx,y 方向的偏差為dy,則總偏差為計(jì)算可得本算法最大總偏差為0.012 像元, 且本算法在標(biāo)記點(diǎn)直徑較小的情況下仍能保持良好的定位精度。
表1 仿真圓標(biāo)記定位偏差(像元)結(jié)果Tab.1 Simulate the result of the positioning deviation(pixel) of the circle mark
根據(jù)文獻(xiàn)[5]中的方法,選取不同直徑的3 個(gè)標(biāo)記點(diǎn),保持拍攝設(shè)備與標(biāo)記點(diǎn)靜止,連續(xù)拍攝50 幅圖像,計(jì)算標(biāo)記點(diǎn)中心定位坐標(biāo)的標(biāo)準(zhǔn)差,拍攝過(guò)程中由于空氣擾動(dòng),曝光時(shí)間等原因,等同于對(duì)標(biāo)記點(diǎn)添加了不同的噪聲,其標(biāo)準(zhǔn)差可有效地反應(yīng)算法的抗噪能力和定位精度。結(jié)果如表2 所示。
設(shè)x 方向的標(biāo)準(zhǔn)差為δx,y 方向的標(biāo)準(zhǔn)差為δy,δx則總標(biāo)準(zhǔn)差為。經(jīng)計(jì)算,本文算法最大總標(biāo)準(zhǔn)差為0.0198 像元,與仿真圓標(biāo)記點(diǎn)仿真實(shí)驗(yàn)得出結(jié)果一致,定位精度優(yōu)于0.02 像元。
表2 實(shí)際標(biāo)記點(diǎn)擬合標(biāo)準(zhǔn)差(像元)結(jié)果Tab.2 Actual markers fit the standard deviation(pixel) results
本文提出了一種高精度提取視覺(jué)測(cè)量系統(tǒng)中圓標(biāo)記點(diǎn)中心坐標(biāo)的方法。該算法以過(guò)邊緣點(diǎn)的圓標(biāo)記徑向作為該點(diǎn)的梯度方向,保證了邊緣梯度方向的準(zhǔn)確性;改進(jìn)了傳統(tǒng)的大津法,根據(jù)標(biāo)記點(diǎn)的粗定圓心和半徑劃定了大津法的計(jì)算區(qū)域,解決了非標(biāo)記點(diǎn)區(qū)域大小變化時(shí)大津法閾值不穩(wěn)定的問(wèn)題,得到高精度的標(biāo)記點(diǎn)中心。經(jīng)仿真實(shí)驗(yàn)和實(shí)際圖像驗(yàn)證均可以達(dá)到0.02 像元的圓心定位精度,為視覺(jué)測(cè)量系統(tǒng)提供了的高精度的位置參數(shù)。