田苗苗,楊秋翔,楊 劍,蘇承啟
(中北大學(xué)電子與計算機(jī)科學(xué)技術(shù)學(xué)院,山西 太原 030051)
三維視覺測量中,圖像匹配是三維重構(gòu)過程中最關(guān)鍵的一步。通常的三維掃描系統(tǒng)從不同的視角得到物體的一部分點云數(shù)據(jù),要得到物體的三維結(jié)構(gòu),需要對多個點云數(shù)據(jù)進(jìn)行拼接。把不同視角拍攝的圖片采用相應(yīng)的技術(shù)轉(zhuǎn)換到同一坐標(biāo)系下,從而得到物體完整的三維形狀。
對于點云拼接的技術(shù),大體分為2大類。
第1類技術(shù)采用經(jīng)過高精度定標(biāo)的儀器獲取的多視點數(shù)據(jù)以及它們之間原始變換關(guān)系或引入特征點信息,利用場景中原有的信息進(jìn)行匹配。這類方法需要改變探頭的方向或?qū)Ρ粶y物體進(jìn)行重定位,將從不同角度獲取的圖像轉(zhuǎn)換到同一坐標(biāo)系下。但是改變探頭方向每次拍攝都需要對探頭的外參數(shù)進(jìn)行重新標(biāo)定。這種方法操作復(fù)雜,不便于實際應(yīng)用[1]。如果采用探頭方向不變,把物體放到旋轉(zhuǎn)的轉(zhuǎn)臺上進(jìn)行測量,這種方法雖然不需要每次進(jìn)行探頭標(biāo)定,但是拍攝物體時無法獲取物體的頭部和底部[2]。這類技術(shù)可以概括為2類:基于區(qū)域的匹配和基于特征的匹配[3]?;趨^(qū)域的匹配是在一幅圖片像點的相鄰區(qū)域內(nèi)利用圖片的灰度信息找到另一幅圖片相同或相似的灰度進(jìn)行匹配。這類方法的缺點在于對圖像的旋轉(zhuǎn)、縮放、光強(qiáng)以及對比度的變化比較敏感,因此匹配的精度較低,不能用于精確的測量領(lǐng)域。基于特征的匹配由于在不同視角下,特征點之間具有空間特征不變性,采用不同的算法進(jìn)行匹配,例如松弛算法[4]、動態(tài)規(guī)劃算法[5]、或者尺度不變特征轉(zhuǎn)移[6](Scale Invariant Feature Transform,SIFT)算法等,相比于區(qū)域匹配方法,特征匹配方法受光照以及形變等因素影響較小,可以得到比較可靠的結(jié)果。
第2類技術(shù)是在被測物體表面或者周圍環(huán)境中人為布置若干具有定向反射性質(zhì)的人工標(biāo)志點[3],這些標(biāo)志點具有不同的形狀圖案,利用這些圖案的特性,如找到圖案的原點或交叉點,對標(biāo)志點進(jìn)行編碼,進(jìn)行編碼的定向反射標(biāo)志點稱為“編碼元”,每一個編碼元進(jìn)行唯一的身份標(biāo)識后,就可以方便地進(jìn)行多幅圖像的匹配。這類方法操作簡單,易于實際應(yīng)用。本文主要采用此類方法進(jìn)行研究和改進(jìn)。
迄今為止,在計算機(jī)測量領(lǐng)域編碼圖案的設(shè)計已經(jīng)有很多種[7-12],主要采用以下幾種:圓形、方形、直線型,如圖1所示。它們在編碼的過程中都是根據(jù)自己的幾何特性或沿著給定的路徑進(jìn)行解碼。
圖1 編碼方案
通過對現(xiàn)有圖案的分析與比較,圓形圖案具有抗噪性強(qiáng)、提取精度高且易于提取的特點??紤]到圓形固有的優(yōu)勢,文獻(xiàn)[12]提出了一種圓形靶標(biāo)的設(shè)計方法,如圖1f。而圓形編碼方案涉及到橢圓中心的提取。在實際應(yīng)用中,由于圖像的旋轉(zhuǎn)和光強(qiáng)等因素的影響,常常會出現(xiàn)橢圓中心的提取錯誤,現(xiàn)有的方法通常都忽略出錯的編碼點,這大大降低了圖像點云的匹配精度,甚至一些關(guān)鍵編碼點的提取錯誤將直接導(dǎo)致三維重建任務(wù)的失敗。針對此種情況,本文提出對圖案編碼進(jìn)行糾錯的改進(jìn)算法。將信道編碼的可糾錯編碼技術(shù)用于編碼點的設(shè)計,實現(xiàn)了編碼元的自動識別、精確定位以及自動糾錯等功能。
針對編碼過程中出現(xiàn)的中心定位錯誤,提出可糾錯的編碼方案是需要切實關(guān)注的問題??杉m錯的信道編碼有多種,例如分組碼、卷積碼等,本文采用使用廣泛的差錯控制分組碼漢明碼進(jìn)行糾錯,如果采用n個碼長的編碼點a=(an-1,…,a1,a0),其中信息元的位數(shù)是 k,則校驗元的位數(shù)是n-k,則碼字就以(n,k)表示,以(7,4)編碼為例,可以建立如下的線性方程組
式(2)可以簡寫為H·AT=OT,
式(1)也可以改寫成如下的矩陣形式
比較式(2)和式(3),可以看出式(3)的右側(cè)式子是矩陣H的一部分。
式(3)兩側(cè)作矩陣轉(zhuǎn)置,得
矩陣G稱為生成矩陣。
由生成矩陣G可以得到整個碼組,如下公式所示
式(6)可以看出,任何一個碼組都是生成矩陣G的各行的線性組合,得到表1。
表1 糾錯編碼點
然而由于實際工作中各種因素的影響,CCD采集到的編碼點經(jīng)過識別后得到相應(yīng)的編碼,其表示為R,如果用c表示正確的編碼,E表示錯誤圖樣,則
式中:S為伴隨矩陣,其和錯誤圖樣對應(yīng),從而可進(jìn)行編碼點的糾錯。
本例中伴隨矩陣 S=[S1,S2,S3],分別是3個監(jiān)督式中的校正子,S的值與錯碼位置的對應(yīng)關(guān)系如表2所示。
表2 校正子與錯碼位置
現(xiàn)有圓形的編碼方案沒有涉及到編碼糾錯問題,為了提高編碼的抗噪能力,提出了一種新的糾錯編碼設(shè)計方案。
編碼元全部由圓形組成,包括標(biāo)志點、參考點與編碼點,根據(jù)標(biāo)志點所處的位置不同,可以設(shè)計2種不同的編碼模式,如圖2所示,本節(jié)以第2種編碼模式進(jìn)行說明。
圖2 編碼圖案,圖示的編碼值為0110011
如圖2所示,標(biāo)志點的半徑最大,參考點和多個編碼點等角度均勻地分布于標(biāo)志點圓形內(nèi)部周圍。為了區(qū)別于編碼點,參考點的半徑大于編碼點的半徑。標(biāo)志點的中心位置作為整個編碼元的中心位置,參考點是編碼元譯碼的起始點。
從參考點開始,逆時針旋轉(zhuǎn)固定的角度進(jìn)行讀碼,編碼位上編碼點的有無對應(yīng)為二進(jìn)制“0”和“1”,由編碼點組成的不同序列代表不同的編碼字。引入?yún)⒖键c的方法,使譯碼簡單,確保了編碼的唯一性,圖2b給出了表1中1個7位編碼長度的實例:0110011。
假設(shè)標(biāo)志點對應(yīng)的橢圓參數(shù)為 (X0,Y0,a0,b0,β0),(Xc,Yc)是編碼圓和參考圓成像后對應(yīng)的橢圓中心,如圖3a所示。在進(jìn)行編碼元識別之前,需要將橢圓圖像進(jìn)行逆投影變換,如圖3b所示。
圖3 圓形靶標(biāo)坐標(biāo)轉(zhuǎn)換
解碼的過程中,設(shè)編碼長度為k,那么從參考點為起點,逆時針方向第i個編碼(如果存在)位所對應(yīng)的十進(jìn)制權(quán)值為
式中,INT表示取整運(yùn)算。那么,最終得到編碼元的編碼值
在圖像編解碼的過程中,獲取照片之后,首先應(yīng)該進(jìn)行邊緣檢測,其中Canny算子在邊緣檢測中具備非常好的檢測效果,具有低誤碼率、高定位精度和抑制虛假邊緣等優(yōu)點;接著的工作是橢圓中心定位,現(xiàn)有的方法分別是最小二乘擬合法、變量含誤差模型和基于HEIV模型的橢圓擬合方法;最后就是編碼點的解碼過程。如圖4給出了圖像編解碼的流程。
圖4 編解碼的流程
為了驗證文中糾錯編碼點的可行性,做了實驗進(jìn)行驗證。實驗采用大恒DH-HV1351UM相機(jī),像素分辨力為1280×1024。采用表1中的4種可糾錯編碼點(0100110),(0011110),(0101101),(0110011),編碼長度7,編碼元實際的物理尺寸為25 mm,最小的編碼圓直徑為4 mm,拍攝距離約1.5 m。設(shè)計的編碼點如圖5所示。
圖5 編碼點設(shè)計圖
本文對編碼點的解碼過程應(yīng)用編碼識別和提取算法進(jìn)行了MATLAB仿真實驗,仿真的步驟如下:
1)對拍攝的圖像去噪,設(shè)定閾值將圖像二值化;
2)用Canny算法進(jìn)行邊緣檢測;
3)進(jìn)行輪廓跟蹤將目標(biāo)邊緣點連成一條連續(xù)的邊界,同時盡可能去除非目標(biāo)邊緣點;
4)目標(biāo)粗識別;
5)根據(jù)邊緣點進(jìn)行橢圓的擬合,確定橢圓點的中心;
6)根據(jù)各個圓的半徑,判斷起始點并按照逆時針旋轉(zhuǎn)角度43°,顏色為黑則灰度記為0,白則記為1,從而可以得到解碼的編碼點。
如圖6所示,圖6a為圖像的求反圖像,圖6b為邊緣檢測和圓點中心的擬合結(jié)果。從圖6b中可以看到,從上到下從左至右解碼為(0100110),(0011110),(0101101),(0111011)。
圖6 編碼點解碼結(jié)果圖
由此可以看出編碼點的識別出現(xiàn)錯誤。根據(jù)本文介紹的改進(jìn)算法,可以對錯誤碼點進(jìn)行糾錯。這種改進(jìn)算法與編碼識別和提取的算法進(jìn)行糾錯能力對比,比較結(jié)果如表3所示。
表3 糾錯能力對比
編碼識別和提取的改進(jìn)算法根據(jù)(4)式可知,將解碼結(jié)果乘以H,得到4個伴隨矩陣S:(000),(000),(000),(011)。從伴隨矩陣可以看出,第4幅圖編碼點出現(xiàn)了錯誤,這也從圖6b中可以看出,未能檢測出1個編碼圓點的中心。解碼錯誤在現(xiàn)有方法中是經(jīng)常出現(xiàn)的問題,通過對比錯誤樣圖可以糾正錯誤的點,從而得到正確的編碼點(0110011)。
綜上所述,本文提出的新的可糾錯的編碼點是可行的,并有較強(qiáng)的實用價值,其優(yōu)點在于編碼點由圓點組成,簡單易行,同時將信息論中信道編碼的理論用于編碼點的設(shè)計,實現(xiàn)了編碼點的自糾錯性,較好地解決了實際應(yīng)用中編碼點識別錯誤的問題。經(jīng)過實驗驗證,該方法在編碼出現(xiàn)1位錯誤時可以實現(xiàn)自修正的功能。多個編碼錯誤的識別與糾錯是下一步研究的方向。
[1]CHE Chenggang,NI Jun.A ball-target-based extrinsic calibration technique for high-accuracy 3D metrology using off-the-shelf laser-stripe sensors[J].Precision Engineering,2000(24):210-219.
[2]WANG G J,WANG C C,F(xiàn)RANK S H.Reverse engineering of sculptured surfaces by four-axis non-contacting scanning[J].The international journal of Advanced Manufacturing Technology,1999(15):800-809.
[3]周曉剛.立體視覺測量技術(shù)中編碼匹配方法研究[D].北京:北京機(jī)械工業(yè)學(xué)院,2003.
[4]POLLARD S B,MAYHEW J E,F(xiàn)RISBY J P.A stereo correspondence algorithm using a disparity gradient limit[J].Perception,1985,14(4):449-470.
[5]BAKER H H.Depth from edge and intensity based stereo[D].Illinois:University of Illinois at Urbina Chanmpaign,1981.
[6]LOWE D.G.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[7]FRASER C S.Automation in digital close-range photogrammetry[C]//Proc.First Trans Tasman Surveyors Conference.Newcastle,Australia:IEEE Press,1997:202-205.
[8]NIEDERY?ST M,MAAS H G.Automatic deformation measurement with a digital still video camera[C]//Proc.4 th Conference on optical 3D measurement techniques.Zurich,Switzerland:IEEE Press,1997:356-358.
[9]FORBES K,VOIGT A,BODIKA N.An inexpensive,automatic and accurate camera calibration method[EB/OL].[2012-04-03].http://www.prasa.org/proceedings/2002/prasa02-01.pdf.
[10]SHORTIS M R,SEAGER J W,ROBSON S,et al.Automatic recognition of coded targets based on a hough transform and segment matching[EB/OL].[2012-04-05].http://proceedings.spiedigitallibrary.org/proceedings.aspx?articleid=756122.
[11]DONG Mingli,ZHOU Xiaogang,ZHU Lianqing,et.al.Automated image matching with coded points in stereo vision measurement[J].Chi-nese Journal of mechanical Engineering,2005,18(3):453-456.
[12]AHN S J,RAUH W.Circular coded target for automation of optical 3D measurement and camera calibration[J].International Journal of Pattern Recognition and Artificial Intelligence,2001,15(6):905-919.