專利名稱:自動(dòng)的深度圖像配準(zhǔn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)虛擬現(xiàn)實(shí)和計(jì)算機(jī)圖形學(xué)技術(shù)領(lǐng)域,具體地說(shuō),是一種根據(jù)深度圖像數(shù)據(jù)自動(dòng)重建物體三維模型的方法,該方法成功地應(yīng)用于各種真實(shí)物體三維模型的重建,特別是應(yīng)用于數(shù)字博物館中珍貴文物三維模型的重建。
背景技術(shù):
重建真實(shí)世界中物體的三維模型,被越來(lái)越廣泛的應(yīng)用在虛擬仿真、計(jì)算機(jī)動(dòng)畫(huà)、反求工程、計(jì)算機(jī)輔助設(shè)計(jì)以及數(shù)字博物館等方面。隨著三維掃描設(shè)備的不斷發(fā)展,基于掃描設(shè)備采集到的點(diǎn)云數(shù)據(jù),即深度圖像,重建真實(shí)物體的模型,逐漸成為一種流行的三維建模方法。真實(shí)物體的幾何形狀往往較復(fù)雜,而三維掃描儀的視角又有限,因此,為了獲取三維物體表面全部的幾何信息,需要在多個(gè)不同的視點(diǎn)掃描,再將每一次采集到的深度圖像拼接起來(lái),恢復(fù)成一個(gè)完整的點(diǎn)云數(shù)據(jù),這一過(guò)程就是深度圖像的配準(zhǔn)。因?yàn)樵诓煌朁c(diǎn)處掃描得到的深度圖像分別處于不同的坐標(biāo)系中,因此配準(zhǔn)兩幅深度圖像的關(guān)鍵,就是找出它們之間的運(yùn)動(dòng)矩陣,在該運(yùn)動(dòng)矩陣的作用下,將第二幅深度圖像中所有頂點(diǎn)變換到第一幅圖像的坐標(biāo)系中。
在深度圖像配準(zhǔn)方法的研究中,Besl,P.J.,McKay,N.D.A method forregistration of 3-d shapes.IEEE Trans.Pattern Anal.Mach.Intell.14(2)(1992)239-256和Chen,Y.,Medioni,G.Object modelling by registration of multiplerange images.Image Vision Comput.10(3)(1992)145-155等人首先提出了配準(zhǔn)兩幅深度圖像的ICP(Iterative Closest Point)算法。ICP算法通過(guò)一個(gè)迭代過(guò)程,不斷的減小兩個(gè)點(diǎn)云集合間預(yù)定義的距離函數(shù),直到達(dá)到某個(gè)閥值,從而計(jì)算出兩幅深度圖像間的運(yùn)動(dòng)矩陣。ICP算法是一種不基于特征的迭代方法,它需要有較好的初始運(yùn)動(dòng)估計(jì)值。目前,它主要被用來(lái)完成兩幅深度圖像間的精細(xì)配準(zhǔn)。
近年來(lái),如何實(shí)現(xiàn)自動(dòng)化的深度圖像的配準(zhǔn),成為了配準(zhǔn)領(lǐng)域研究的新熱點(diǎn)。對(duì)于兩幅深度圖像的自動(dòng)配準(zhǔn),在沒(méi)有初始位置估計(jì)和其他信息(如每次掃描儀的位置或旋轉(zhuǎn)的角度等)的情況下,一般需要先自動(dòng)完成兩幅深度圖像的粗略配準(zhǔn),即估計(jì)出它們之間運(yùn)動(dòng)的初始值;然后再使用ICP或其他算法進(jìn)行優(yōu)化。在這方面的研究中,Chen,C.S.,Hung,Y.P.,Cheng,J.B.A fastautomatic method for registration of partially-overlapping range images.InICCV′98Proceedings of the Sixth Inter-national Conference on ComputerVision,Washington,DC,USA,IEEE Computer Society(1998)242利用兩點(diǎn)間的空間距離作為約束條件,找出兩幅圖像中對(duì)應(yīng)的特征點(diǎn),然后計(jì)算出這兩幅圖像間運(yùn)動(dòng)的近似值。Huber,D.F.Automatic three-dimensional modelingfrom reality.PhD thesis,Carnegie Mellon University(2002)Chair-MartialHebert.采用旋轉(zhuǎn)圖像(Spin Image)描述模型表面的特征,然后結(jié)合統(tǒng)計(jì)學(xué)的方法,粗略配準(zhǔn)兩幅深度圖像。Gelfand,N.,Mitra,N.J.,Guibas,L.J.,Pottmann,H.Robust global registration.InSymposium on Geometry Processing.(2005)197-206則提出使用積分的方法來(lái)描述模型表面的特征,再跟據(jù)計(jì)算出的特征值,尋找出對(duì)應(yīng)的特征點(diǎn)。Sun,Y.,Paik,J.,Koschan,A.,Page,D.,Abidi,M.Point fingerprinta new 3-d object representation scheme.Systems,Manand Cybernetics,Part B,IEEE Transactions on 33(4)(2003)712-717采用了一種自定義的定點(diǎn)指紋來(lái)尋找兩幅深度圖像間的對(duì)應(yīng)點(diǎn)。
在上述已有的各方法中,Chen的方法沒(méi)有考慮模型表面的特征,而僅依靠幾何約束做全局搜索,配準(zhǔn)效率不高。Huber提出的旋轉(zhuǎn)圖像盡管能夠較好的描述模型表面的特征,但其屬于高維的特征,計(jì)算量大且耗費(fèi)大量存儲(chǔ)空間。Gelfand和Sun等人提出的特征描述符在計(jì)算上依然比較復(fù)雜,且在做特征點(diǎn)匹配時(shí),普遍依靠特征自身的信息。但是,在實(shí)際應(yīng)用中,模型表面往往存在相似區(qū)域,僅依靠局部特征很難準(zhǔn)確區(qū)分這些區(qū)域。還有,已有方法在確定特征點(diǎn)集時(shí),常采用均勻采樣或隨機(jī)采樣的方法,前者往往會(huì)引入大量的特征點(diǎn),從而進(jìn)一步增加特征值的計(jì)算量;而后者會(huì)造成選取的特征點(diǎn)質(zhì)量的不穩(wěn)定,從而影響最終的配準(zhǔn)結(jié)果。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問(wèn)題克服現(xiàn)有技術(shù)的不足,提供一種自動(dòng)的深度圖像配準(zhǔn)方法,該方法提高了配準(zhǔn)的速度和精確性,同時(shí)計(jì)算量小和計(jì)算簡(jiǎn)單。
本發(fā)明的技術(shù)解決方案自動(dòng)的深度圖像配準(zhǔn)方法,其特點(diǎn)在于步驟如下(1)對(duì)深度圖像進(jìn)行三角化處理,將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換成三角網(wǎng)格數(shù)據(jù);(2)根據(jù)所述的三角網(wǎng)格數(shù)據(jù),找出深度圖像中的邊界點(diǎn);(3)計(jì)算深度圖像中非邊界頂點(diǎn)的特征值;(4)根據(jù)非邊界頂點(diǎn)的特征值,提取深度圖像中具有突出表面特征的特征點(diǎn)集;(5)對(duì)于待配準(zhǔn)的兩幅深度圖像,尋找它們的特征點(diǎn)之間的匹配關(guān)系,即對(duì)應(yīng)點(diǎn),找出至少三對(duì)對(duì)應(yīng)的頂點(diǎn);(6)根據(jù)所述的對(duì)應(yīng)點(diǎn)計(jì)算出這兩幅深度圖像間運(yùn)動(dòng)的估計(jì)值;(7)采用改進(jìn)的ICP算法優(yōu)化步驟(6)中的結(jié)果,完成兩幅深度圖像的精確配準(zhǔn)。
所述步驟(1)中,將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換成三角網(wǎng)格數(shù)據(jù)的方法是將每幅深度圖像投影到一個(gè)二維平面上,然后使用二維的Delaunay三角剖分,獲得所有點(diǎn)之間的連接關(guān)系,再將這種連接關(guān)系映射回三維空間,就完成了對(duì)點(diǎn)云數(shù)據(jù)的三角化處理。
所述步驟(2)中,根據(jù)所述的三角網(wǎng)格數(shù)據(jù),找出深度圖像中的邊界點(diǎn)的方法為在已知三角網(wǎng)格數(shù)據(jù)的情況下,通過(guò)遍歷整個(gè)的三角網(wǎng)格數(shù)據(jù),找出所有的孤立邊,即那些只屬于一個(gè)三角形的邊,這些孤立邊的集合就是網(wǎng)格數(shù)據(jù)的邊界,屬于這些孤立邊的兩個(gè)頂點(diǎn)即為邊界點(diǎn)。
所述步驟(4)中,提取任意深度圖像中特征點(diǎn)的方法是首先采用八叉樹(shù)細(xì)分深度圖像,然后在八叉樹(shù)的每個(gè)葉節(jié)點(diǎn)中,選取特征值最大的頂點(diǎn)作為該節(jié)點(diǎn)的特征點(diǎn),所有葉節(jié)點(diǎn)的特征點(diǎn)的集合,構(gòu)成這幅深度圖像的特征點(diǎn)集。
本發(fā)明的原理本發(fā)明的核心是特征點(diǎn)的選取和匹配。實(shí)際上,只要在待配準(zhǔn)兩幅深度圖像間,找到三對(duì)對(duì)應(yīng)的特征點(diǎn),就可以利用它們的空間坐標(biāo)計(jì)算出這兩幅圖像間的運(yùn)動(dòng)矩陣的估計(jì)值。本發(fā)明的步驟(3)、(4)和(5)就是計(jì)算特征值、選取特征點(diǎn)和做特征點(diǎn)匹配的過(guò)程,在計(jì)算出運(yùn)動(dòng)矩陣的估計(jì)值后,就可以用步驟(7)中改進(jìn)的ICP算法進(jìn)一步優(yōu)化配準(zhǔn)結(jié)果。另外,因?yàn)闇?zhǔn)確計(jì)算邊界點(diǎn)處的特征值很困難,所以步驟(1)、(2)剔除了深度圖像中的邊界點(diǎn),這樣可以有效避免它們對(duì)配準(zhǔn)結(jié)果的不利影響,提高了配準(zhǔn)精度。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是(1)本發(fā)明在配準(zhǔn)前先剔除邊界點(diǎn),避免了邊界點(diǎn)處不準(zhǔn)確的特征值對(duì)特征點(diǎn)匹配過(guò)程中的負(fù)面影響,從而提高了粗略配準(zhǔn)的效率和準(zhǔn)確性;同時(shí),剔除邊界點(diǎn)也提高了精確配準(zhǔn)的速度和精確性。
(2)本發(fā)明采用采樣點(diǎn)處的主曲率作為特征描述符,和Huber、Gelfand和Sun的方法相比,這種特征描述符更加簡(jiǎn)單直觀,易于計(jì)算和比較,使得計(jì)算量小和計(jì)算簡(jiǎn)單。
(3)本發(fā)明的基于八叉樹(shù)的特征點(diǎn)選取方法,在保證了選取特征點(diǎn)質(zhì)量的基礎(chǔ)上,有效的減少了特征點(diǎn)的數(shù)量,使得計(jì)算更加簡(jiǎn)單。
(4)本發(fā)明在特征點(diǎn)的匹配過(guò)程中,結(jié)合了對(duì)比特征值和全局幾何一致性測(cè)試兩種方法,有效的剔除了由相似區(qū)域特征點(diǎn)造成的錯(cuò)誤的匹配結(jié)果,更加提高了配準(zhǔn)的精確性。
(5)改進(jìn)了經(jīng)典的ICP算法,在迭代過(guò)程中,根據(jù)誤差矩陣動(dòng)態(tài)的調(diào)整距離閥值,從而加快了整個(gè)算法的收斂速度,提高了配準(zhǔn)速度。
圖1為本發(fā)明采用深度為3的八叉樹(shù)細(xì)分深度圖像并提取特征點(diǎn)的結(jié)果;圖2為本發(fā)明采用深度為4的八叉樹(shù)細(xì)分深度圖像并提取特征點(diǎn)的結(jié)果;圖3為采用本發(fā)明配準(zhǔn)Buddha模型的結(jié)果,其中圖3a為圖像數(shù)據(jù)R1和R2配準(zhǔn)前的狀態(tài);圖3b為R1和R2配準(zhǔn)后的狀態(tài);圖3c為R3和R4配準(zhǔn)前的狀態(tài);圖3d為最終的配準(zhǔn)結(jié)果。
具體實(shí)施例方式
(1)對(duì)深度圖像進(jìn)行三角化處理,將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換成網(wǎng)格數(shù)據(jù)。
深度圖像是點(diǎn)云數(shù)據(jù),只包含了頂點(diǎn)的坐標(biāo)信息,而沒(méi)有它們之間的連接關(guān)系,即拓?fù)湫畔ⅰ榱朔奖愫竺娌襟E中的尋找邊界點(diǎn)和計(jì)算頂點(diǎn)特征值等操作,需要先對(duì)它們進(jìn)行網(wǎng)格化的處理。
網(wǎng)格化的方法是對(duì)每幅深度圖像,設(shè)P={P1,...,Pn}為其中所有的頂點(diǎn)。對(duì)于Pi=(xi,yi,zi),忽略Pi的Z坐標(biāo),即將Pi投影到二維平面上的Pi’=(xi,yi),設(shè)P’={P1’,...,Pn’}為投影得到的新點(diǎn)集,然后使用二維的Delaunay三角剖分(B.Delaunay,Sur la sphère vide,lzvestia Akademii Nauk SSSR,OtdelenieMatematicheskikh i Estestvennykh Nauk, 7793-800,1934),獲得P’中頂點(diǎn)間的連接關(guān)系,若Pi’和Pj’間存在連接關(guān)系,則Pi和Pj間也應(yīng)存在連接關(guān)系,如此將二維平面上的連接關(guān)系直接映射到三維空間中,從而完成了點(diǎn)云數(shù)據(jù)的三角化。
(2)根據(jù)三角網(wǎng)格,找出深度圖像中的邊界點(diǎn)。
由于深度圖像邊界點(diǎn)附近的幾何信息不完整,故難以準(zhǔn)確的計(jì)算出它們的特征值。為了保證配準(zhǔn)結(jié)果的準(zhǔn)確性,需要在計(jì)算頂點(diǎn)的特征值以及對(duì)應(yīng)頂點(diǎn)匹配等操作之前,找出并剔除這些邊界點(diǎn)。
在已知三角網(wǎng)格數(shù)據(jù)的情況下,通過(guò)遍歷整個(gè)的三角網(wǎng)格數(shù)據(jù),找出所有的孤立邊,即那些只屬于一個(gè)三角形的邊,這些孤立邊的集合就是網(wǎng)格數(shù)據(jù)的邊界,屬于這些孤立邊的兩個(gè)頂點(diǎn)即為邊界點(diǎn)。
具體的步驟是首先定義一個(gè)空集合E,然后對(duì)網(wǎng)格數(shù)據(jù)中的每個(gè)三角面片Ti(i=1,...,n;n為三角面片總數(shù)),對(duì)Ti的每一條邊ej(j=1,2,3),判斷E中是否包含ej,若E中已包含ej,表明ej已經(jīng)屬于另一個(gè)三角面片,故ej不是孤立邊,在E中刪除ej,若E中不包含ej,將ej加入E。如此處理所有的三角面片后,E中剩余的邊即為網(wǎng)格數(shù)據(jù)的孤立邊,而屬于這些孤立邊的頂點(diǎn)即為邊界點(diǎn)。
(3)計(jì)算深度圖像中非邊界頂點(diǎn)的特征值。
本發(fā)明采用物體表面的微分特性作為特征描述符。曲率是物體表面微分特性的主要描述手段,其中又包括主曲率、平均曲率、高斯曲率等,由于主曲率中蘊(yùn)含著其他曲率,所以采用頂點(diǎn)處的主曲率作為該頂點(diǎn)特征值。
設(shè)p是曲面S上的一個(gè)點(diǎn),考慮通過(guò)p點(diǎn)的所有曲線Ci,可以計(jì)算出每條曲線在p點(diǎn)處的曲率ki。令這些曲率中最大的是k1,最小的是k2,則k1、k2組成了曲面S的p點(diǎn)處的主曲率。經(jīng)典微分幾何理論中的曲率是定義在正則曲面上的,對(duì)于網(wǎng)格數(shù)據(jù),本發(fā)明采用曲面擬合的方法計(jì)算頂點(diǎn)處的曲率。首先用多項(xiàng)式近似表示曲面,再用最小二乘法對(duì)曲面進(jìn)行擬合。對(duì)于網(wǎng)格表面的任意頂點(diǎn)p,設(shè)p的k個(gè)最近點(diǎn)為{p1,p2,......,pk},待擬合多項(xiàng)式為f(x,y)=z,將k個(gè)點(diǎn)的坐標(biāo)代入f(x,y)=z,得到一個(gè)線性方程組Ax=b,其中A是一個(gè)k×n矩陣,n為f(x,y)中系數(shù)的個(gè)數(shù),b為這k個(gè)點(diǎn)的z坐標(biāo)構(gòu)成的向量。方程的最小二乘解即為f(x,y)=z的擬合系數(shù)。
一般的,使用二次曲面f(x,y)=a0+a1x+a2y+a3xy+a4x2+a5y2作為待擬合曲面,在計(jì)算任意頂點(diǎn)p點(diǎn)處的主曲率時(shí),首先將二次曲面表示為參數(shù)形式r(u,v)=(u,v,a0+a1u+a2v+a3uv+a4u2+a5v2),接著計(jì)算出第一類(lèi)和第二類(lèi)基本參數(shù)E=ru·ru,F(xiàn)=ru·rv,G=rv·rv,L=ruu·n,M=ruv·n,N=rvv·n,然后計(jì)算Weingarten矩陣LG-MFEG-F2MG-NFEG-F2ME-LFEG-F2NE-MFEG-F2,]]>最后計(jì)算出其特征值即為待計(jì)算的主曲率(κ1,κ2)。
(4)根據(jù)頂點(diǎn)的特征值,選取具有突出表面特征的特征點(diǎn)集。
使用八叉樹(shù)細(xì)分每一幅深度圖像,并在八叉樹(shù)的每個(gè)葉節(jié)點(diǎn)中,選取特征值最大的頂點(diǎn)作為該節(jié)點(diǎn)的特征點(diǎn),所有八叉樹(shù)葉節(jié)點(diǎn)的特征點(diǎn)的集合,即構(gòu)成這幅深度圖像的特征點(diǎn)集。八叉樹(shù)的深度決定特征點(diǎn)的數(shù)目和整個(gè)配準(zhǔn)過(guò)程的耗時(shí),即深度越大,提取的特征點(diǎn)越多,配準(zhǔn)結(jié)果越準(zhǔn)確,但配準(zhǔn)時(shí)間越長(zhǎng)。一般地,八叉樹(shù)的深度取3或4,即可合理的時(shí)間內(nèi)取得較好的配準(zhǔn)結(jié)果。圖1和圖2分別是采用深度為3和4的八叉樹(shù)細(xì)分深度圖像并提取特征點(diǎn)的結(jié)果。
(5)對(duì)于第一幅圖像的每個(gè)特征點(diǎn),在第二幅圖像的所有頂點(diǎn)中搜索主曲率最相近的點(diǎn)作為候選對(duì)應(yīng)點(diǎn),并采用歐式距離和夾角等全局幾何約束條件,剔除錯(cuò)誤的對(duì)應(yīng)關(guān)系;最后找出至少三對(duì)對(duì)應(yīng)的特征點(diǎn)。
具體步驟是首先,將第二幅深度圖像中每個(gè)頂點(diǎn)的主曲率看作二維空間的一個(gè)點(diǎn),構(gòu)建一棵kd-tree,接著對(duì)第一幅圖像中所有的特征點(diǎn),在kd-tree中搜索第二幅圖像中與它們特征值最接近的特征點(diǎn),組成特征點(diǎn)對(duì),設(shè)(pi,qi){i=1,......,n}是這兩幅深度圖像間的n對(duì)特征對(duì)應(yīng)點(diǎn);然后對(duì)這n對(duì)特征對(duì)應(yīng)點(diǎn)進(jìn)行以下兩個(gè)幾何一致性測(cè)試|‖pi-pj‖-‖qi-qj‖|<ε1|pi·pj-qi·qj|<ε2滿足條件的點(diǎn)對(duì)即為對(duì)應(yīng)特征點(diǎn),其中的ε1和ε2為預(yù)先指定的閥值。
(6)根據(jù)這些對(duì)應(yīng)點(diǎn)計(jì)算出這兩幅深度圖像間運(yùn)動(dòng)的估計(jì)值。
本發(fā)明采用Horn,B.Closed-form solution of absolute orientation usingunit quaternions.Journal of the Optical Society of America 4(1987)629-642中的方法,根據(jù)兩幅深度圖像間至少三對(duì)對(duì)應(yīng)點(diǎn)計(jì)算出它們之間的運(yùn)動(dòng)矩陣。當(dāng)存在不唯一的對(duì)應(yīng)點(diǎn)對(duì)時(shí),需要計(jì)算出每種對(duì)應(yīng)關(guān)系下的運(yùn)動(dòng)矩陣,并計(jì)算在該運(yùn)動(dòng)矩陣變換下,兩幅深度圖像間的距離,然后找出距離最小時(shí)的運(yùn)動(dòng)矩陣,并將其作為粗略配準(zhǔn)的結(jié)果。
(7)使用一種改進(jìn)的ICP算法優(yōu)化步驟(6)中的結(jié)果,完成兩幅深度圖像的精確配準(zhǔn)。本方法在Besl,P.J.,McKay,N.D.A method for registration of3-d shapes.IEEE Trans.Pattern Anal.Mach.Intell.14(2)(1992)239-256中ICP經(jīng)典算法上做了以下改進(jìn)在做迭代之前,先提取出深度圖像的邊界點(diǎn),在后面的迭代過(guò)程中,不再考慮這些點(diǎn),從而提高了配準(zhǔn)結(jié)果的準(zhǔn)確性;在每一次迭代過(guò)程中,根據(jù)誤差矩陣動(dòng)態(tài)的調(diào)整距離閥值,從而加快了算法的收斂速度。
具體步驟如下第一步,初始化,本發(fā)明設(shè)精確配準(zhǔn)所求的變換矩陣T為單位矩陣,初始的距離閾值ε由用戶指定。
第二步,選取參考點(diǎn)在第一幅圖像中均勻選取非邊界點(diǎn)作為參考點(diǎn),因?yàn)閽呙璧纳疃葓D像中包含密集采樣點(diǎn),為了提高計(jì)算效率,僅選擇其中一些點(diǎn)參與精確配準(zhǔn),根據(jù)本文的實(shí)驗(yàn)結(jié)果,可以選取全部點(diǎn)的10%左右作為參考點(diǎn)。第三步,設(shè)定距離閾值計(jì)算上次迭代后的誤差e=1nΣi=1n||pi-qi||2,]]>設(shè)新的距離閾值ε=3e。
第四步,匹配為每個(gè)參考點(diǎn)在第二幅圖像中匹配對(duì)應(yīng)點(diǎn)。由于每次迭代后誤差減小,這樣在下次迭代時(shí),減小了搜索范圍,提高搜索速度。使用kd-tree在第二幅圖像中搜索距離閾值范圍內(nèi)的最近點(diǎn)作為對(duì)應(yīng)點(diǎn),如果閾值內(nèi)沒(méi)有點(diǎn)或最近點(diǎn)為邊界點(diǎn),則該參考點(diǎn)為無(wú)效點(diǎn),否則為有效參考點(diǎn)的對(duì)應(yīng)點(diǎn)。
第五步,最小化誤差函數(shù)。計(jì)算出對(duì)第一幅圖像的剛性變換矩陣Tk,使其對(duì)第一幅圖像變換后誤差Σi=1n||Tkpi-qi||2]]>最小。其中平移變換是點(diǎn)集pi和qi重心重合的平移變換,平移變換后,使用四元數(shù)計(jì)算旋轉(zhuǎn)變換。設(shè)pixpiy分別表示pi的x、y坐標(biāo),qixqiy分別表示qi的x、y坐標(biāo),Smn=Σi=1npimqin,]]>為了計(jì)算旋轉(zhuǎn)變換,計(jì)算矩陣
N=Sxx+Syy+SzzSyz-SzySzx-SxzSxy-SuxSyz-SzySxx-Syy-SzzSxy+SyxSzx+SxzSzx-SxzSxy-Syx-Sxx+Syy-SzzSyz+SzySxy-SyxSzx+SxzSyz+Szy-Sxx-Syy+Szz]]>矩陣N的最大特征值對(duì)應(yīng)的特征向量作為旋轉(zhuǎn)變換的四元數(shù)q=(w,x,y,z),保證了是最優(yōu)變換,設(shè)q所表示的旋轉(zhuǎn)變換的矩陣表示為R3×3,t3×1表示平移向量,由旋轉(zhuǎn)變換和平移變換得到這次迭代的剛性變換矩陣Tk=Rt00014×4.]]>所求的總的變換矩陣變?yōu)門(mén)=TkT。若誤差大于預(yù)先指定閾值,轉(zhuǎn)第2步,否則,退出。
如圖3所示,以Buddha模型的配準(zhǔn)過(guò)程進(jìn)行說(shuō)明。Buddha模型共包含15幅原始的深度圖像數(shù)據(jù),按掃描順序設(shè)它們依次為R1,...,R15,即相鄰兩幅深度圖像存在重合區(qū)域。設(shè)Ti(i=1,...,14)為Ri和Ri+1間的運(yùn)動(dòng)矩陣,即通過(guò)RkTk-1(k=2,...,14)即可將Rk變換到Rk-1的坐標(biāo)系中。
采用本文方法,依次對(duì)Ri和Ri+1(i=1...14)做兩兩配準(zhǔn),獲得它們間的運(yùn)動(dòng)矩陣Ti,然后通過(guò)Ri+1’=Ri+1TiTi-1...T1,將Ri+1轉(zhuǎn)換到R1的坐標(biāo)系中,Ri+1’即為Ri+1在R1坐標(biāo)系中對(duì)應(yīng)的圖像。最后合并R1,R2’,...,R15’,即可以得到Buddha模型的完整點(diǎn)云數(shù)據(jù)。
其中圖3a為R1和R2配準(zhǔn)前的狀態(tài);圖3b為R1和R2配準(zhǔn)后的狀態(tài);圖3c為R2和R3配準(zhǔn)前的狀態(tài);圖3d為最終的配準(zhǔn)結(jié)果。
權(quán)利要求
1.一種自動(dòng)的深度圖像配準(zhǔn)方法,其特征在于它包括步驟如下(1)對(duì)深度圖像進(jìn)行三角化處理,將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換成三角網(wǎng)格數(shù)據(jù);(2)根據(jù)所述的三角網(wǎng)格數(shù)據(jù),找出深度圖像中的邊界點(diǎn);(3)計(jì)算深度圖像中非邊界頂點(diǎn)的特征值;(4)根據(jù)非邊界頂點(diǎn)的特征值,提取深度圖像中具有突出表面特征的特征點(diǎn)集;(5)對(duì)于待配準(zhǔn)的兩幅深度圖像,尋找它們的特征點(diǎn)之間的匹配關(guān)系,即對(duì)應(yīng)點(diǎn),找出至少三對(duì)對(duì)應(yīng)的頂點(diǎn);(6)根據(jù)所述的對(duì)應(yīng)點(diǎn)計(jì)算出這兩幅深度圖像間運(yùn)動(dòng)的估計(jì)值;(7)采用改進(jìn)的ICP算法優(yōu)化步驟(6)中的結(jié)果,完成兩幅深度圖像的精確配準(zhǔn)。
2.根據(jù)權(quán)利要求1所述的自動(dòng)的深度圖像配準(zhǔn)方法,其特征在于所述步驟(1)中,將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換成三角網(wǎng)格數(shù)據(jù)的方法是將每幅深度圖像投影到一個(gè)二維平面上,然后使用二維的Delaunay三角剖分,獲得所有點(diǎn)之間的連接關(guān)系,再將這種連接關(guān)系映射回三維空間,就完成了對(duì)點(diǎn)云數(shù)據(jù)的三角化處理。
3.根據(jù)權(quán)利要求1所述的自動(dòng)的深度圖像配準(zhǔn)方法,其特征在于所述步驟(2)中,根據(jù)所述的三角網(wǎng)格數(shù)據(jù),找出深度圖像中的邊界點(diǎn)的方法為在已知三角網(wǎng)格數(shù)據(jù)的情況下,通過(guò)遍歷整個(gè)的三角網(wǎng)格數(shù)據(jù),找出所有的孤立邊,即那些只屬于一個(gè)三角形的邊,這些孤立邊的集合就是網(wǎng)格數(shù)據(jù)的邊界,屬于這些孤立邊的兩個(gè)頂點(diǎn)即為邊界點(diǎn)。
4.根據(jù)權(quán)利要求1所述的自動(dòng)的深度圖像配準(zhǔn)方法,其特征在于所述步驟(3)中,采用模型表面每一頂點(diǎn)處的主曲率作為該頂點(diǎn)的特征值。
5.根據(jù)權(quán)利要求1所述的自動(dòng)的深度圖像配準(zhǔn)方法,其特征在于所述步驟(4)中,提取任意深度圖像中特征點(diǎn)的方法是首先采用八叉樹(shù)細(xì)分深度圖像,然后在八叉樹(shù)的每個(gè)葉節(jié)點(diǎn)中,選取特征值最大的頂點(diǎn)作為該節(jié)點(diǎn)的特征點(diǎn),所有葉節(jié)點(diǎn)的特征點(diǎn)的集合,構(gòu)成這幅深度圖像的特征點(diǎn)集。
6.根據(jù)權(quán)利要求5所述的自動(dòng)的深度圖像配準(zhǔn)方法,其特征在于所述的八叉樹(shù)的深度取3或4。
7.根據(jù)權(quán)利要求1所述的自動(dòng)的深度圖像配準(zhǔn)方法,其特征在于所述步驟(5)中,尋找兩幅深度圖像對(duì)應(yīng)點(diǎn)的方法是(1)將第二幅深度圖像中每個(gè)頂點(diǎn)的主曲率看作二維空間的一個(gè)點(diǎn),構(gòu)建一棵kd-tree,接著對(duì)第一幅圖像中所有的特征點(diǎn),在kd-tree中搜索第二幅圖像中與它們特征值最接近的特征點(diǎn),組成特征點(diǎn)對(duì),設(shè)(pi,qi){i=1,……,n}是這兩幅深度圖像間的n對(duì)特征對(duì)應(yīng)點(diǎn);(2)對(duì)這n對(duì)特征對(duì)應(yīng)點(diǎn)進(jìn)行以下兩個(gè)幾何一致性測(cè)試|‖pi-pj‖-‖qi-qj‖|<ε1|pi·pj-qi·qj|<ε2滿足條件的點(diǎn)對(duì)即為對(duì)應(yīng)特征點(diǎn),其中的ε1和ε2為預(yù)先指定的閥值。
8.根據(jù)權(quán)利要求1所述的自動(dòng)的深度圖像配準(zhǔn)方法,其特征在于所述步驟(6)中,根據(jù)所述的對(duì)應(yīng)點(diǎn)計(jì)算出這兩幅深度圖像間運(yùn)動(dòng)的估計(jì)值的方法為估算出一個(gè)運(yùn)動(dòng)矩陣,并計(jì)算在這個(gè)運(yùn)動(dòng)矩陣下,兩幅深度圖像的距離;若該距離小于當(dāng)前的最小值,取該距離為當(dāng)前最小值,并記錄當(dāng)前的運(yùn)動(dòng)矩陣;如此計(jì)算所有滿足的點(diǎn)對(duì),找出距離最小時(shí)的運(yùn)動(dòng)矩陣,并將其作為粗略配準(zhǔn)的結(jié)果。
9.根據(jù)權(quán)利要求1所述的自動(dòng)的深度圖像配準(zhǔn)方法,其特征在于所述步驟(7)中改進(jìn)的ICP算法為(1)初始化,設(shè)精確配準(zhǔn)所求的變換矩陣T為單位矩陣,初始的距離閾值ε由用戶指定;(2)選取參考點(diǎn)在第一幅圖像中均勻選取非邊界點(diǎn)作為參考點(diǎn);(3)設(shè)定距離閾值計(jì)算上次迭代后的誤差e=-n1Σi=1n||pi-qi||2,]]>設(shè)新的距離閾值ε=3e;(4)匹配為每個(gè)參考點(diǎn)在第二幅圖像中匹配對(duì)應(yīng)點(diǎn),使用kd-tree在第二幅圖像中搜索距離閾值范圍內(nèi)的最近點(diǎn)作為對(duì)應(yīng)點(diǎn),如果閾值內(nèi)沒(méi)有點(diǎn)或最近點(diǎn)為邊界點(diǎn),則該參考點(diǎn)為無(wú)效點(diǎn),否則為有效參考點(diǎn)的對(duì)應(yīng)點(diǎn);(5)最小化誤差函數(shù)計(jì)算出對(duì)第一幅圖像的剛性變換矩陣Tk,使其對(duì)第一幅圖像變換后誤差Σi=1n||Tkpi-qi||2]]>最小,其中平移變換是點(diǎn)集pi和qi重心重合的平移變換,平移變換后,使用四元數(shù)計(jì)算旋轉(zhuǎn)變換,設(shè)pixpiy分別表示pi的x、y坐標(biāo),qixqiy分別表示qi的x、y坐標(biāo),Smn=Σi=1npimqin,]]>計(jì)算矩陣N=Sxx+Syy+SzzSyz-SzySzx-SxzSxy-SuxSyz-SzySxx-Syy-SzzSxy+SyxSzx+SxzSzx-SxzSxy-Syx-Sxx+Syy-SzzSyz+SzySxy-SyxSzx+SxzSyz+Szy-Sxx-Syy+Szz]]>矩陣N的最大特征值對(duì)應(yīng)的特征向量作為旋轉(zhuǎn)變換的四元數(shù)q=(w,x,y,z),設(shè)q所表示的旋轉(zhuǎn)變換的矩陣表示為R3×3,t3×1表示平移向量,由旋轉(zhuǎn)變換和平移變換得到這次迭代的剛性變換矩陣Tk=Rt00014×4,]]>所求的總的變換矩陣變?yōu)門(mén)=TkT,若誤差大于預(yù)先指定閾值,轉(zhuǎn)入第2步,否則,退出。
全文摘要
一種自動(dòng)的深度圖像配準(zhǔn)方法,步驟為對(duì)深度圖像進(jìn)行三角化處理,將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換成三角網(wǎng)格數(shù)據(jù);根據(jù)所述的三角網(wǎng)格數(shù)據(jù),找出深度圖像中的邊界點(diǎn);計(jì)算深度圖像中非邊界頂點(diǎn)的特征值;根據(jù)非邊界頂點(diǎn)的特征值,提取深度圖像中具有突出表面特征的特征點(diǎn)集;對(duì)于待配準(zhǔn)的兩幅深度圖像,尋找它們的特征點(diǎn)之間的匹配關(guān)系,即對(duì)應(yīng)點(diǎn),找出至少三對(duì)對(duì)應(yīng)的頂點(diǎn);根據(jù)所述的對(duì)應(yīng)點(diǎn)計(jì)算出這兩幅深度圖像間運(yùn)動(dòng)的估計(jì)值;最后采用改進(jìn)的ICP算法優(yōu)化前一步的結(jié)果,完成兩幅深度圖像的精確配準(zhǔn)。本發(fā)明是一種自動(dòng)的深度圖像配準(zhǔn)方法,提高了配準(zhǔn)的速度和精確性,同時(shí)計(jì)算量小和計(jì)算簡(jiǎn)單。
文檔編號(hào)G06T7/00GK101082988SQ20071011904
公開(kāi)日2007年12月5日 申請(qǐng)日期2007年6月19日 優(yōu)先權(quán)日2007年6月19日
發(fā)明者趙沁平, 齊越, 沈旭昆, 楊棽 申請(qǐng)人:北京航空航天大學(xué)