楊武飛 蔣建軍 陳雪梅 李中偉 周鋼
摘要:為了解決低對(duì)比度成像條件下傳統(tǒng)三維輪廓重建算法精度偏低的問題,提出一種基于鄰域距離最小化準(zhǔn)則、由粗到細(xì)的高精度輪廓三維重建算法。首先使用Canny算子對(duì)目標(biāo)圖像進(jìn)行邊緣檢測,再利用目標(biāo)形狀、尺寸等先驗(yàn)信息剔除分割出的虛假目標(biāo)邊緣。隨后,計(jì)算邊緣點(diǎn)法線方向上的梯度加權(quán)值作為工件初始化輪廓,根據(jù)左右一致性原則篩選出粗匹配點(diǎn)對(duì),在匹配點(diǎn)對(duì)鄰域附近使用亞像素進(jìn)行精細(xì)搜索,利用鄰域距離最小化準(zhǔn)則估算出當(dāng)前最佳亞像素匹配點(diǎn)對(duì),并將其用于激光刻形工件的尺寸測量,總體精度可達(dá)0.1mm。該方法有效降低了輪廓重建算法對(duì)邊緣定位精度的依賴,同時(shí)提高了輪廓重建精度。
關(guān)鍵詞:低對(duì)比度圖像;輪廓三維重建;鄰域距離最小化準(zhǔn)則;尺寸測量;激光刻形
DOI:10.11907/rjdk.192081 開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP317.4文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2020)006-0223-04
0 引言
圖像邊緣輪廓對(duì)于描述目標(biāo)形狀、位置、尺寸等信息具有至關(guān)重要的作用,現(xiàn)有高精度輪廓三維重建算法都嚴(yán)重依賴于輪廓定位精度。激光刻形圖像存在目標(biāo)輪廓對(duì)比度低、輪廓定位難度大、虛假輪廓多等特點(diǎn),給輪廓重建帶來了巨大困難。工件邊緣輪廓定位精度是決定輪廓重建精度的主要因素,因此高精度邊緣輪廓檢測算法成為國內(nèi)外學(xué)者的重點(diǎn)研究對(duì)象。當(dāng)前輪廓檢測算法大體上可分為4類,分別是基于像素、基于邊緣、基于區(qū)域與基于深度學(xué)習(xí)網(wǎng)絡(luò)的方法。由于激光刻形工件圖像中普遍存在典型的直線、圓弧等特征,因而一般采用基于邊緣檢測的方法對(duì)工件圖像進(jìn)行檢測,再通過對(duì)邊緣進(jìn)行篩選與連接得到適用的工件輪廓。如Jermyn&Ishikawam描述一種根據(jù)圖像域邊界空間定義的新能量形式,提出圖像邊緣輪廓提取的優(yōu)化框架;Schoenemann等在該框架基礎(chǔ)上,通過對(duì)邊界區(qū)域施加曲率約束,第一次提出一種基于比率的圖像區(qū)域提取方法;Wang等提出一種比率輪廓方法,用于提取顯著的區(qū)域邊界,尤其是將文獻(xiàn)[3]中提出的方法專門用于提取對(duì)稱邊界,但對(duì)稱邊界相比輪廓而言是有限制的,應(yīng)用領(lǐng)域較為狹窄;Zhu等使用被稱為解開循環(huán)的分組標(biāo)準(zhǔn),利用顯著輪廓的固有拓?fù)?D結(jié)構(gòu),從其它2D圖像雜波中提取輪廓,從而克服了這種限制?;谶吘壍膱D像輪廓提取算法雖然取得了一定成就,但目前在效率與精度上仍然存在一定缺陷,無法得到完全通用的輪廓提取效果。因此,一些學(xué)者嘗試在邊緣檢測基礎(chǔ)上,使用其它輔助手段提高輪廓重建精度。如何袱、達(dá)飛鵬在極線校正的兩幅匹配圖像中,利用Prewitt邊緣算子搜索并構(gòu)建一條封閉的區(qū)域邊緣,接著采用歸一化互相關(guān)系數(shù)計(jì)算匹配代價(jià),通過Winner-Take-All區(qū)域優(yōu)化算法獲取視差,并引入圖像平滑技術(shù)進(jìn)一步降低誤匹配,該方法對(duì)高對(duì)比度輪廓的重建效果較好,但對(duì)于低對(duì)比度、重復(fù)紋理的圖像輪廓?jiǎng)t重建誤差較大;Li通過使用Hough變換檢測圖像中的直線對(duì)進(jìn)行匹配,該方法嚴(yán)重依賴Hough直線檢測效果,雖然一定程度上降低了誤匹配,但對(duì)于低對(duì)比度圖像效果仍不理想;方建中等使用Zernike矩方法對(duì)預(yù)處理圖像進(jìn)行亞像素邊緣檢測,對(duì)獲得的亞像素點(diǎn)進(jìn)行聚類與擬合,計(jì)算擬合曲線的交點(diǎn),一定程度上提高了重建精度。
對(duì)于低對(duì)比度圖像,由于邊緣檢測算法的缺陷,容易出現(xiàn)漏檢或檢測出過多虛假邊緣的情況,因此對(duì)其真實(shí)邊緣的精確定位難度非常大。為此,本研究并不直接追求很高的邊緣檢測精度,而是利用在圖像中相鄰邊緣點(diǎn)重建出的點(diǎn)云在局部具有強(qiáng)連續(xù)性的假設(shè),使用法線方向加權(quán)輪廓作為初始化輪廓,局部搜索最佳亞像素匹配點(diǎn)對(duì),降低了系統(tǒng)對(duì)邊緣檢測算法的要求,對(duì)低對(duì)比度和多重虛假邊緣圖像具有較高的輪廓重建精度,算法適用性強(qiáng)。
1 由粗到細(xì)的高精度輪廓重建算法
1.1 算法流程
為了降低后續(xù)對(duì)應(yīng)點(diǎn)匹配難度,首先對(duì)拍攝到的左右相機(jī)圖像進(jìn)行畸變矯正,然后使用Bouguet極線校正算法[9-223將非平行相機(jī)系統(tǒng)校正為平行相機(jī)系統(tǒng),之后利用經(jīng)典Canny算子進(jìn)行邊緣檢測??紤]到待檢測的目標(biāo)邊緣輪廓形狀和尺寸可作為先驗(yàn)條件,本文僅保留邊緣檢測圖像中與目標(biāo)形狀、尺寸一致性較好的區(qū)域。計(jì)算每一個(gè)點(diǎn)法線方向加權(quán)平均輪廓作為初始值,根據(jù)左右一致性原則獲得粗匹配點(diǎn),再使用鄰域最小距離準(zhǔn)則估算出真實(shí)的亞像素匹配點(diǎn)對(duì),經(jīng)過三角法之后即可獲得目標(biāo)邊緣輪廓的點(diǎn)云,主要流程如圖1所示。
1.2 立體極線校正
在雙目視覺中,本文預(yù)先對(duì)相機(jī)采集的雙目圖像進(jìn)行極線矯正,使非平行相機(jī)系統(tǒng)轉(zhuǎn)換為平行相機(jī)系統(tǒng),校正之后圖像中的對(duì)應(yīng)點(diǎn)位于圖像中相同的Y軸上。該方式不僅降低了對(duì)應(yīng)點(diǎn)誤匹配概率,同時(shí)在基于距離準(zhǔn)則的極線匹配過程中,無需搜索所有點(diǎn),僅需考慮匹配相同Y坐標(biāo)上的點(diǎn)即可,極大地提高了對(duì)應(yīng)點(diǎn)匹配速度。
1.3 法線方向亞像素邊緣輪廓定位
傳統(tǒng)邊緣檢測方法的檢測精度通常只能達(dá)到像素級(jí),但是隨著科學(xué)技術(shù)的飛速發(fā)展,工業(yè)檢測等應(yīng)用對(duì)精度的要求不斷提高,傳統(tǒng)像素級(jí)邊緣檢測方法已不能滿足實(shí)際測量需要,因此需要精度更高的邊緣檢測方法,如亞像素邊緣檢測方法。首先使用經(jīng)典Canny邊緣檢測算子作為初始輪廓定位算子,通過對(duì)輪廓施加單像素約束,對(duì)輪廓點(diǎn)按順時(shí)針方向排序,計(jì)算每一個(gè)像素點(diǎn)法線方向的梯度加權(quán)輪廓作為最終的亞像素輪廓結(jié)果,具體過程如下:
1.3.1 法線方向計(jì)算
首先需要計(jì)算的是輪廓上當(dāng)前點(diǎn)的法線方向,對(duì)于直線、圓、矩形、圓角矩形而言,局部輪廓都是直線或圓弧,因而可采用尋找當(dāng)前點(diǎn)按順時(shí)針方向前后固定間隔點(diǎn)的方式實(shí)現(xiàn),分別稱為點(diǎn)Pointpre、Pointnow、Pointnext,則法線方向定義為點(diǎn)Pointpre和點(diǎn)Pointnext所連直線中垂線的方向。當(dāng)Pointpre與Pointnext所連直線與X軸平行時(shí),法線方向平行于Y軸,否則為:
1.3.2 法線延長線計(jì)算
計(jì)算完當(dāng)前點(diǎn)法線方向后,還需要計(jì)算當(dāng)前點(diǎn)在法線方向上的延長線,將延長線直線上加權(quán)平均梯度作為目標(biāo)輪廓亞像素點(diǎn),具體過程如下:
(1)計(jì)算法線上距離當(dāng)前點(diǎn)為固定距離的兩個(gè)點(diǎn),可按照下式進(jìn)行計(jì)算:
其中,D為常數(shù),用于定義當(dāng)前點(diǎn)Pointnow與順時(shí)針方向點(diǎn)Pointpre之間的測地距離(本文設(shè)置為7)。
(2)計(jì)算點(diǎn)P1與P2之間的連線段,將線段中垂線與工件初始輪廓交點(diǎn)設(shè)為P,沿法線方向分別取間距相等的點(diǎn)連成線段,計(jì)算線段上坐標(biāo)點(diǎn)(x,Y)均值作為最終的亞像素坐標(biāo)位置。
1.4 左右一致性粗匹配與鄰域距離最小準(zhǔn)則精細(xì)匹配
左右一致性是立體匹配中一種常用的匹配策略,對(duì)邊緣輪廓圖像L(圖4(。))與邊緣輪廓圖R(圖4(d))按照從上往下、從左往右的順序進(jìn)行遍歷,對(duì)于第i行,將邊緣輪廓圖像L中像素灰度值為255點(diǎn)的亞像素坐標(biāo)存人數(shù)組P,將邊緣輪廓圖像R中像素灰度值為255點(diǎn)的亞像素坐標(biāo)存人數(shù)組Q,將數(shù)組P第一個(gè)元素Pi(x1,y1)與Q的第一個(gè)元素Qi(x1,y1)、數(shù)組P最后一個(gè)元素Pi(x2,y2)與Q最后一個(gè)元素Qi(x2,y2)分別設(shè)置為對(duì)應(yīng)的粗匹配點(diǎn),如圖5(a)中編號(hào)為1的點(diǎn)與圖5(b)中編號(hào)為1的點(diǎn),以及圖5(a)中編號(hào)為3的點(diǎn)與圖5(b)中編號(hào)為3的點(diǎn)分別為粗匹配的對(duì)應(yīng)點(diǎn)。
2 實(shí)驗(yàn)結(jié)果
測量系統(tǒng)由2個(gè)CCD相機(jī)、鏡頭、LED藍(lán)光光源、圓形標(biāo)定板、支架與電腦組成,其中CCD采用Basler ace系列,型號(hào)為aeA2440-20gm,分辨率為2048x2048像素的工業(yè)相機(jī),搭載焦距為16ram的Computar鏡頭,電腦主頻為3.0GHz,實(shí)驗(yàn)過程采用LED藍(lán)光光源。
對(duì)比圖4與圖7可以看出,雖然目標(biāo)輪廓的邊緣定位精度較差,平均大于1.5像素,但由于本文算法在初始邊緣輪廓附近強(qiáng)制使用了-2-2范圍鄰域的亞像素進(jìn)行精細(xì)搜索,搜索精度為0.2像素,因此重建的三維點(diǎn)云精度仍然較高,這對(duì)于低對(duì)比度圖像輪廓的高精度重建尤其有效。
3 結(jié)語
由于測量工件材質(zhì)的固有特性,激光刻形前后工件圖像存在邊緣輪廓對(duì)比度低、虛假邊緣多、輪廓定位精度差等難題,使用傳統(tǒng)對(duì)應(yīng)點(diǎn)匹配重建算法難以保證重建精度。為此,本文并不單純追求較高的輪廓定位精度,而是利用工件形狀等先驗(yàn)信息,使用Canny算子預(yù)先檢測工件邊緣輪廓,剔除虛假邊緣以降低后續(xù)輪廓誤匹配概率,同時(shí)使用鄰域法線方向加權(quán)梯度對(duì)邊緣輪廓進(jìn)行合并,強(qiáng)制使用單像素約束定位到理想輪廓附近,并利用最小距離準(zhǔn)則搜索最佳亞像素匹配點(diǎn)對(duì),從而實(shí)現(xiàn)低對(duì)比度成像條件下的高精度輪廓重建,具有一定的實(shí)用價(jià)值。