国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于單個Kinect的簡易高效三維人體重建方法與流程

      文檔序號:11953668閱讀:431來源:國知局
      一種基于單個Kinect的簡易高效三維人體重建方法與流程
      本發(fā)明涉及三維人體建模的
      技術(shù)領(lǐng)域
      ,特別涉及一種基于單個Kinect的簡易高效三維人體重建方法。
      背景技術(shù)
      :三維物體快速建模技術(shù)是當(dāng)前計算機(jī)圖形學(xué)領(lǐng)域的重要研究課題之一,三維物體快速建模技術(shù)是目前物體模型快速重構(gòu)的發(fā)展趨勢。三維物體重建能夠更加便宜,三維模型如照片和視頻一樣容易獲得。這種技術(shù)被應(yīng)用于許多計算機(jī)圖形的應(yīng)用程序,如動畫,計算機(jī)游戲,人機(jī)交互和虛擬現(xiàn)實,都需要精確的三維模型。如電子商務(wù)網(wǎng)站平臺,在線購物網(wǎng)站,游戲領(lǐng)域等。RGB-D相機(jī)是一種新興的掃描設(shè)備。RGB-D相機(jī)結(jié)合了光學(xué)相機(jī)和三維激光掃描儀的優(yōu)勢。它可以獲得測量物體的三維信息,幾乎是一種便攜式的光學(xué)相機(jī)。三維建模通過使用RGB-D攝像機(jī)獲取物體的三維信息比使用掃描儀要經(jīng)濟(jì)實惠得多,尤其是使用微軟的Kinect設(shè)備。Kinect本來是微軟公司開發(fā)的Xbox360主機(jī)的周邊外設(shè),主要用于人機(jī)實時交互?;贙inect的重建技術(shù)有如下的優(yōu)勢:Kinect能夠快速獲取場景三維信息;Kinect是一種主動傳感器,它不受環(huán)境可見光譜的干擾;Kinect的核心設(shè)備是彩色攝像機(jī)、紅外線發(fā)射器和紅外線CMOS攝影機(jī),這些設(shè)備都比較廉價,因而Kinect的售價也較為低廉;此外,Kinect的操作與普通攝像機(jī)類似,易于使用。微軟還開發(fā)了一個開源項目KinectFusion,可以幫助普通用戶同時掃描和重建場景的模型,目前已有很多基于這種技術(shù)的應(yīng)用程序,如紐康等,用KinectFusio來進(jìn)行表面映射和跟蹤,或重建室內(nèi)空間。然而,通過KinectFusion進(jìn)行三維建模只利用了深度信息,并且沒有考慮物體變形的問題。此外,用RGB-D攝像機(jī)進(jìn)行三維人體建模時,為方便掃描,用戶必須使自己的全身都被攝像機(jī)掃描到。雖然也有一種方法是把三臺Kinect在置在前方和后方來達(dá)到全身覆蓋,但掃描的速度和精度都不理想,一個好的掃描策略仍然是提高三維建模的效率和方便性的重要手段。ICP(IterativeClosestPoint)算法,即迭代最近點算法,是一種基于自由形態(tài)曲面的配準(zhǔn)方法。當(dāng)多幀數(shù)據(jù)重疊的區(qū)域非??拷鼤r,因ICP算法具有較高的效率和較好的可靠性,通常被研究者采用。對靜態(tài)物體的掃描,ICP算法是當(dāng)前比較通用的研究三維形狀物體對齊的技術(shù),是一種基于自由形態(tài)曲面的配準(zhǔn)方法。ICP算法的基本思想是:根據(jù)前一幀上的數(shù)據(jù)點集在后一幀掃描數(shù)據(jù)上找到對應(yīng)的點集,即找到初始匹配點。然后以對應(yīng)點間的距離的平方和最小為原則,建立目標(biāo)方程。再根據(jù)最小二乘法原理來轉(zhuǎn)換參數(shù),即找到精確匹配點。三維人體重建所需要的是一組不同角度的人體點云數(shù)據(jù)。重建時要首先解決的問題就是如何通過匹配它們的重疊區(qū)域進(jìn)行剛性的逐幀對齊。目前,基于圖像和基于形狀的方法的研究已經(jīng)得到了很好的成果?;趫D像的對齊通常是基于稀疏特征匹配和極線幾何的方法,如Khoshelham等人提出的一種通過極線搜索來獲得更精確的對齊效果的方法;而基于形狀對齊的方法通常是基于迭代最近點算法(ICP)。由于ICP及其各種衍生算法可以解決局部剛性對準(zhǔn)問題,通常實時三維重建中對齊連續(xù)幀的方法就是基于這樣的方法,特別是使用Kinect進(jìn)行的人體模型重建。數(shù)據(jù)幀對齊算法的效率和魯棒性是有待突破的關(guān)鍵技術(shù)問題。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種基于單個Kinect的簡易高效三維人體重建方法,該方法基于深度攝像機(jī)的三維人體建模技術(shù),使用單個Kinect,通過六個角度,每個角度三幀的掃描獲得人體點云信息,然后經(jīng)由對捕捉到的點云數(shù)據(jù)的處理快速高效生成三維人體模型。本發(fā)明的目的通過下述技術(shù)方案實現(xiàn):一種基于單個Kinect的簡易高效三維人體重建方法,所述方法包括下列步驟:S1、使用單個Kinect掃描人體,獲得人體顏色和深度數(shù)據(jù),進(jìn)行數(shù)據(jù)分割,去除背景,產(chǎn)生點云數(shù)據(jù);S2、進(jìn)行人體點云數(shù)據(jù)的局部對齊,使用剛性ICP將每個角度的三個點云對齊,然后合并成一個點云;S3、進(jìn)行人體點云數(shù)據(jù)的全局對齊,具體包括:S301、初始配準(zhǔn),對初始位置進(jìn)行優(yōu)化,選取點云的邊緣部分的點集作控制點集,用剛性ICP對齊,使點云的邊緣部分重合,為下一步的對齊提供較好的初始狀態(tài);S302、剛性配準(zhǔn),用剛性ICP進(jìn)行點云數(shù)據(jù)間的精細(xì)配準(zhǔn);S303、非剛性配準(zhǔn),用基于EmbeddedDeformationGraph的非剛性配準(zhǔn)方法進(jìn)行點云數(shù)據(jù)間的精細(xì)配準(zhǔn);S4、用得到的完整人體點云進(jìn)行泊松表面重建得到最終的三維人體模型。進(jìn)一步地,所述步驟S1具體包括:S101、使用單個Kinect掃描人體以獲取人體點云數(shù)據(jù);S102、對人體RGB-D數(shù)據(jù)進(jìn)行去背景處理;S103、修復(fù)數(shù)據(jù)誤差,將亮度和色調(diào)落差大的部分從點云中刪去。進(jìn)一步地,所述步驟S101、使用Kinect掃描人體以獲取人體點云數(shù)據(jù)具體過程如下:將Kinect放在人體腰部的高度,距人體水平距離為0.8-1.2米,掃描時,人體首先正面面對Kinect站好,然后依次沿右轉(zhuǎn)5個60度,讓Kinect掃描到人體的6個角度,上述6個角度分別為正面、正面左轉(zhuǎn)60度、正面右轉(zhuǎn)60度、背面、背面左轉(zhuǎn)60度、背面右轉(zhuǎn)60度;在每一個角度中分別拍攝上、中、下三幀圖像,其中上幀對應(yīng)kinect上轉(zhuǎn)20度,下幀對應(yīng)kinect下轉(zhuǎn)20度,中幀對應(yīng)kinect無任何旋轉(zhuǎn)。進(jìn)一步地,所述步驟S2具體包括:S201、將每個角度的上和下兩幀圖像的點云通過旋轉(zhuǎn)變換粗略地對齊到中幀圖像的點云上;S202、使用剛性ICP算法,將上、中、下三幀圖像的點云對齊且合并到中幀圖像的點云上形成一個點云。進(jìn)一步地,所述剛性ICP包括以下步驟:1)分別計算兩個點集P和Q的重心,并把兩個點集分別平移到其重心處;2)根據(jù)一定的幾何特征作為標(biāo)準(zhǔn),分別在兩個點集中選取對應(yīng)點對,生成控制點集C和D;3)通過奇異值分解的方法求出使控制點集C匹配到D上的空間變換f;4)根據(jù)空間變換f對點集P實行變換;5)判定是否達(dá)到精度要求或抵達(dá)最大迭代次數(shù),是則終止算法,否則重復(fù)上述步驟直至算法終止。進(jìn)一步地,所述步驟S303、非剛性配準(zhǔn),用基于EmbeddedDeformationGraph的非剛性配準(zhǔn)方法進(jìn)行點云數(shù)據(jù)間的精細(xì)配準(zhǔn)具體過程如下:S3031、對于輸入的兩個點云P和Q,對點云P下采樣得到一個較小的點云G,對點云P和Q下采樣得到較小的點云C和D;S3032、使用點云G構(gòu)建EmbeddedDeformationGraph,點云G上的點構(gòu)成Graph的節(jié)點,然后每個節(jié)點包含一個變換矩陣,每個變換矩陣由一個旋轉(zhuǎn)矩陣R和一個平移矩陣T組成;S3033、使用點云C和D尋找對應(yīng)點對,即對點云C中的每個點尋找其在點云D上的對應(yīng)點;S3034、使用對應(yīng)點對和EmbeddedDeformationGraph計算變換矩陣,Graph上每一個節(jié)點有一個變換矩陣,每個變換矩陣由一個旋轉(zhuǎn)矩陣和一個平移矩陣組成,最小化E=Erigid+Esmooth+Ecorr,最小化Erigid是為了保證單個旋轉(zhuǎn)矩陣的剛性程度,最小化Esmooth是為了保證整體變換的光滑程度,最小化Ecorr是為了把對應(yīng)點之間的距離縮小;S3035、計算出變換矩陣后便可以使用EmbeddedDeformationGraph將點云P進(jìn)行變形從而對齊到點云Q上。進(jìn)一步地,采用高斯牛頓法求解非線性最小二乘問題E=Erigid+Esmooth+Ecorr,在高斯牛頓法的每一次迭代中,求解線性方程組時用cholesky分解方法。進(jìn)一步地,所述空間變換f的求解思想為:根據(jù)幾何特性對數(shù)據(jù)進(jìn)行匹配,并設(shè)這些匹配點為假想的對應(yīng)點,然后根據(jù)上述對應(yīng)關(guān)系求解運動參數(shù),再利用上述運動參數(shù)對數(shù)據(jù)進(jìn)行變換,并利用同一幾何特征,確定新的對應(yīng)關(guān)系,重復(fù)上述過程。進(jìn)一步地,所述幾何特征是空間中點到平面之間的距離最小的點。進(jìn)一步地,所述剛性ICP的算法具體過程如下:設(shè)三維空間中的兩個點pi=(xi,yi,zi),qi=(xj,yj,zj),它們的歐式距離可以表示為:d(pi,qi)=||pi-qi||=(xi-xj)2+(yi-yj)2+(zi-zj)2;]]>三維點云匹配問題的目的是找到使P匹配上Q的旋轉(zhuǎn)矩陣R和平移矩陣T,對于qi=R·pi+T,i=1,2...N利用最小二乘法求解最優(yōu)解使E=Σi=1N|R·pi+T-qi|2]]>最小時的R和T,先對平移矩陣T進(jìn)行初始的估算,具體方法是分別得到點集P和Q的中心:p=1nΣi=1Npi,q=1nΣi=1Nqi]]>分別將點集P和Q平移至中心點處:p'i=pi-p,q'i=qi-q則上述最優(yōu)化目標(biāo)函數(shù)可以轉(zhuǎn)化為:E=Σi=1N|R·(p′i+p)+T-(q′i+q)|2]]>最優(yōu)化問題分解為求使E最小的R,根據(jù)R求出T;選取P、Q兩個點集中一部分具有可靠的對應(yīng)關(guān)系的點作為控制點,配準(zhǔn)問題轉(zhuǎn)化為:E=Σi=1N|R·ci+T-di|2]]>計算對應(yīng)點對之間的距離時采用點與平面之間的距離,配準(zhǔn)問題可進(jìn)一步轉(zhuǎn)化為:E=Σi=1N((R·ci+T-di)·ni)2]]>這里,ci,di為對應(yīng)點對,ni為di上的法向,ci∈C,di∈D,C、D為包含m個點的控制點集,對C中每一個點ci,在D中都存在一個匹配點di,如此便得到m個對應(yīng)點對;通過奇異值分解的方法求出使E最小的R,具體方法是:首先平移矩陣T的表示形式是:T=100tx010ty001tz0001]]>旋轉(zhuǎn)矩陣R的表示形式是:R=r11r12r130r21r22r230r31r32r3300001]]>其中r11=cosβcosγ,r12=-sinγcosα+cosγsinαsinβ,r13=sinαsinγ+sinβcosαcosγ,r21=cosβsinγ,r22=cosγcosα+sinγsinαsinβ,r23=-sinαcosγ+sinβcosαsinγ,r11=-sinβ,r12=sinαcosβ,r13=cosβcosα,α、β、γ分別代表沿x、y、z軸旋轉(zhuǎn)的角度;那么當(dāng)α、β、γ約等于0時,變換矩陣f=R·T近似為:f=R·T=1-γβtxγ1-αty-βα1tz0001]]>代入原配準(zhǔn)問題,可使原配準(zhǔn)問題進(jìn)一步轉(zhuǎn)化為:(R·ci+T-di)·ni=(M·cixciyciz1-dixdiydiz1)·nixniyniz0]]>上述線性最小二乘問題,用奇異值分解的方法求解。本發(fā)明相對于現(xiàn)有技術(shù)具有如下的優(yōu)點及效果:本發(fā)明公開了一種基于單個Kinect的快速、高效、輕便的三維人體建模方法,能夠使用戶方便地獲取自己的三維人體模型,用戶需要的只是在Kinect面前轉(zhuǎn)一個圈。并且這種方法對環(huán)境的適應(yīng)能力強(qiáng),可以在諸如家里或辦公室這樣狹窄的空間內(nèi)實現(xiàn)三維人體建模,而所需要的設(shè)備也僅僅是一臺個人電腦和一臺Kinect。這種新的三維人體建模方法可適用于大多數(shù)應(yīng)用,比如數(shù)字測量、產(chǎn)品設(shè)計和在線購物,用戶可以利用本方法所生成的人體模型進(jìn)行虛擬試衣,而毋須親自到服裝店去。附圖說明圖1是本發(fā)明中提出的一種基于單個Kinect的三維人體建模方法的流程步驟圖;圖2是本發(fā)明中全局對齊的流程步驟圖;圖3是非剛性對齊的效果示意圖;圖4是本發(fā)明方法的最終模型效果圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。實施例請參見圖1,圖1是本實施例中提出的基于單個Kinect的三維人體建模方法的流程步驟圖。圖1所示的基于單個Kinect的三維人體建模方法,包含四個步驟:S1、用Kinect掃描人體,提取點云,獲取人體的顏色和深度的數(shù)據(jù)。分析得到的數(shù)據(jù),并進(jìn)行數(shù)據(jù)分割,去除背景。S2、進(jìn)行人體點云數(shù)據(jù)的局部對齊。使用剛性配準(zhǔn)將每個角度的三個點云對齊,然后合并成一個點云。S3、進(jìn)行人體點云數(shù)據(jù)的全局對齊,包含初始配準(zhǔn)、剛性配準(zhǔn)和非剛性配準(zhǔn)。初始配準(zhǔn),對初始位置進(jìn)行優(yōu)化,為下一步的對齊提供較好的初始狀態(tài)。剛性配準(zhǔn),用剛性ICP進(jìn)行點云數(shù)據(jù)間的精細(xì)配準(zhǔn)。非剛性配準(zhǔn),用一種基于EmbeddedDeformationGraph的非剛性配準(zhǔn)方法進(jìn)行點云數(shù)據(jù)間的精細(xì)配準(zhǔn),從而克服剛性ICP無法對齊的人體細(xì)微的動作變化。S4、用得到的完整人體點云進(jìn)行泊松表面重建得到最終的三維人體模型。本方法的具體實施步驟如下:具體應(yīng)用中,所述步驟S1具體包括:S101、使用Kinect掃描人體以獲取人體點云數(shù)據(jù);掃描時的布置:Kinect放在人體腰部附近的高度,距人體水平距離為1米。掃描時,人體首先面對Kinect站好,待Kinect掃描完正面后,人體自己沿右轉(zhuǎn)5個60度,讓Kinect掃描到人體的6個角度。這6個角度分別為正面、正左轉(zhuǎn)60度、正面右轉(zhuǎn)60度、背面、背面左轉(zhuǎn)60度、背面右轉(zhuǎn)60度。而每一個角度分別拍攝上(kinect上轉(zhuǎn)20度)、中、下(kinect下轉(zhuǎn)20度)三幅。令Kinect上下轉(zhuǎn)動是通過控制Kinect自身的電機(jī)來實現(xiàn)的。拍攝過后,得到6乘以3即18個點云,點云中的每個點深度信息(三維坐標(biāo)信息)和顏色信息,具體是:每個點儲存有3個浮點數(shù)值,這3個數(shù)值分別代表人體的三維空間坐標(biāo)信息,即x坐標(biāo),y坐標(biāo)和z坐標(biāo)的數(shù)值。其中,y坐標(biāo)代表點的高度,z坐標(biāo)代表Kinect視角的深度,即離Kinect的遠(yuǎn)近,剩下的x坐標(biāo)則代表了水平位置,即左右。3個坐標(biāo)的單位均為毫米(mm)。同時每個點還儲存有3個字節(jié),代表了使用RGB表示的顏色信息,3個字節(jié)分別對應(yīng)R、G、B的值。S102、對人體點云數(shù)據(jù)進(jìn)行去背景處理;遍歷點云中的每個點,根據(jù)點的深度值即z坐標(biāo)的值來判斷屬于前景還是背景,將所有屬于背景的點去掉。由于人體站在距Kinect水平距離為1米的位置,可以大致得出區(qū)分前景和背景的標(biāo)準(zhǔn)是,z坐標(biāo)的值大于1500mm的認(rèn)為是背景并去除掉。這個標(biāo)準(zhǔn)適用于大部分人體,但如果人體的體型較為特殊,也可以進(jìn)行適當(dāng)?shù)恼{(diào)整。S103、修復(fù)數(shù)據(jù)誤差由于Kinect捕捉深度數(shù)據(jù)和顏色數(shù)據(jù)是分別使用了兩個攝像頭的,因此兩種數(shù)據(jù)并不能完全吻合,會存在對應(yīng)上的誤差。由此,對點云進(jìn)行修復(fù)是必要的,否則這種誤差會影響最后的建模效果。鑒于這一誤差出現(xiàn)在單個點云的邊緣位置,可以對18個點云中的每一個點云的邊緣位置進(jìn)行檢測,將亮度和色調(diào)落差大的部分從點云中刪去,來把這個誤差修復(fù)。具體方法是:掃描點云的邊緣部位,將亮度落差>0.2(亮度取值范圍0-1),色調(diào)>10(取值范圍0-360)的點去掉。具體應(yīng)用中,所述步驟S2對人體點云數(shù)據(jù)進(jìn)行局部對齊具體包括:Kinect捕捉到的18個點云,是由6個角度,每個角度由上、中、下3幀構(gòu)成的。局部對齊就是要把每個角度的上、中、下3幀對齊,然后合成1個點云。S201、對齊前的預(yù)備工作;在上面的拍攝中,拍攝上幀和下幀的點云時Kinect分別上轉(zhuǎn)20度和下轉(zhuǎn)20度,因此對上和下的點云分別上轉(zhuǎn)20度、下轉(zhuǎn)20度。這一旋轉(zhuǎn)點云的動作是通過把點云中的每一個點都和同一個旋轉(zhuǎn)矩陣進(jìn)行矩陣運算而實現(xiàn)的。根據(jù)步驟S101中對點云數(shù)據(jù)的描述,點云中的一個點A(x,y,z),其三維坐標(biāo)可轉(zhuǎn)變?yōu)榫仃嘪=[x,y,z]T將點A沿各軸轉(zhuǎn)動對應(yīng)的的各個旋轉(zhuǎn)矩陣為:沿x軸旋轉(zhuǎn):Rx=1000cosθsinθ0-sinθcosθ]]>沿y軸旋轉(zhuǎn):Ry=cosθ0-sinθ010sinθ0cosθ]]>沿z軸旋轉(zhuǎn):Rz=cosθsinθ0-sinθcosθ0001]]>其中θ是旋轉(zhuǎn)的角度,由于此處要把點云上轉(zhuǎn)(下轉(zhuǎn))20度,因此旋轉(zhuǎn)矩陣R應(yīng)取沿x軸旋轉(zhuǎn)的矩陣,θ應(yīng)為20°,把點A與R進(jìn)行矩陣相乘運算即可得到變換后的點A’,依此把點云中的每一個點都作旋轉(zhuǎn)變換后便實現(xiàn)把點云上轉(zhuǎn)(下轉(zhuǎn))20度。S202、使用剛性ICP進(jìn)行局部對齊;局部對齊的方法,是使用剛性ICP對齊,將3個點云對齊(以中間的點云為準(zhǔn),上下分別對齊到其上),然后合并成1個點云。對于Kinect捕捉到的18個點云,共包含6個角度,每個角度有上、中、下3個點云。每個角度的3個點云都要進(jìn)行兩次剛性ICP對齊,一次把上方的點云對齊到中間的點云,一次把下方的點云對齊到中間的點云。也就是說點云都是兩兩使用剛性ICP來對齊,共有12次這樣的剛性ICP。剛性ICP的基本思路是,給定兩個點集P、Q,pi∈P,qi∈Q。求出兩個點集的空間變換f使他們能進(jìn)行空間匹配,f為一未知函數(shù),而且兩點集中的點數(shù)不一定相同。剛性ICP求出空間變換f的基本思想是:根據(jù)某種幾何特性對數(shù)據(jù)進(jìn)行匹配,并設(shè)這些匹配點為假想的對應(yīng)點,然后根據(jù)這種對應(yīng)關(guān)系求解運動參數(shù)。再利用這些運動參數(shù)對數(shù)據(jù)進(jìn)行變換。并利用同一幾何特征,確定新的對應(yīng)關(guān)系,重復(fù)上述過程。設(shè)三維空間中的兩個點pi=(xi,yi,zi),qi=(xj,yj,zj),它們的歐式距離可以表示為:d(pi,qi)=||pi-qi||=(xi-xj)2+(yi-yj)2+(zi-zj)2]]>三維點云匹配問題的目的是找到P和Q變化的矩陣R和T,對于qi=R·pi+T,i=1,2...N利用最小二乘法求解最優(yōu)解使E=Σi=1N|R·pi+T-qi|2]]>最小時的R和T,先對平移向量T進(jìn)行初始的估算,具體方法是分別得到點集P和Q的中心:p=1nΣi=1Npi,q=1nΣi=1Nqi]]>分別將點集P和Q平移至中心點處:p'i=pi-p,q'i=qi-q則上述最優(yōu)化目標(biāo)函數(shù)可以轉(zhuǎn)化為:E=Σi=1N|R·(p′i+p)+T-(q′i+q)|2]]>最優(yōu)化問題分解為求使E最小的R,根據(jù)R求出T。在確定對應(yīng)關(guān)系時,標(biāo)準(zhǔn)的ICP算法所使用的幾何特征是空間中點到點之間的距離最小的點,但是由于這個方法收斂慢,效果不好,采用點與平面的距離替代。需要注意的是這里不需要兩個點集中的所有點,而僅僅是選取一部分具有可靠的對應(yīng)關(guān)系的點,這些點稱為控制點。這時,配準(zhǔn)問題轉(zhuǎn)化為:E=Σi=1N|R·ci+T-di|2]]>采用點與平面之間的距離確定對應(yīng)點對,配準(zhǔn)問題可進(jìn)一步轉(zhuǎn)化為:E=Σi=1N((R·ci+T-di)·ni)2]]>這里,ci,di為對應(yīng)點對,ni為di上的法向,ci∈C,di∈D,C、D為包含m個點控制點集,對C中每一個點ci,在D中都存在一個匹配點di,如此便得到m個對應(yīng)點對??梢酝ㄟ^奇異值分解的方法求出使E最小的R,具體方法是:對于第i對點ci和di,計算點對的矩陣Ai:Ai=0(ci-di)Tci-diDiM]]>其中Di=ci+di,DiM是Di的反對稱矩陣形式。對于每一個矩陣Ai,計算矩陣B:B=Σi=1mAiAiT]]>原最優(yōu)化問題可以轉(zhuǎn)為求B的最小特征值的特征向量,B的最小特征值的特征向量即為E最小時的旋轉(zhuǎn)矩陣R。剩下來還需要進(jìn)行平移矩陣的計算。通過旋轉(zhuǎn)矩陣R和中心點可以計算出平移矩陣:T=q-R·p在初始匹配之后,點集P中所有點根據(jù)求出的旋轉(zhuǎn)矩陣R和平移矩陣T作三維空間變換,然后重新選取控制點,重復(fù)計算旋轉(zhuǎn)矩陣R和平移矩陣T的過程,直至最近點的距離滿足條件或達(dá)到最大迭代次數(shù)后,算法終止??偨Y(jié)下來,剛性ICP算法的大體流程共有五個步驟:1)分別計算兩個點集P和Q的重心,并把兩個點集分別平移到其重心處。2)根據(jù)一定的幾何特征作為標(biāo)準(zhǔn),分別在兩個點集中選取對應(yīng)點對,生成控制點集C和D。3)通過奇異值分解的方法求出使控制點集C匹配到D上的變換f。4)根據(jù)f對點集P實行變換。5)判定是否達(dá)到精度要求或抵達(dá)最大迭代次數(shù),是則終止算法,否則重復(fù)上述步驟直至算法終止。使用剛性ICP算法,可以實現(xiàn)點云之間兩兩配準(zhǔn)。在本方法的局部對齊環(huán)節(jié)中,便是使用剛性ICP對齊將每個角度的3個點云對齊(以中間的點云為準(zhǔn),上下分別對齊到其上),然后合并成1個點云。經(jīng)過12次配準(zhǔn),最終生成了6個角度的點云。具體應(yīng)用中,所述步驟S3、進(jìn)行人體點云數(shù)據(jù)的全局對齊具體包括:在上一步驟S2局部對齊之后,得到了人體6個角度的點云。下一步是分別對齊前3幅點云與后3幅點云。這一全局對齊過程共分3步,以正面和正面左轉(zhuǎn)60度的點云為例,介紹這3步過程:S301、初始配準(zhǔn),即對初始位置的優(yōu)化,方法是選取2個點云的邊緣部分的點集作控制點集,用剛性ICP對齊,使兩點云的邊緣部分重合,給下一步的對齊提供較好的初始狀態(tài)。S302、剛性配準(zhǔn),用剛性ICP將2個點云對齊。剛性ICP算法在步驟S202局部對齊中已經(jīng)闡述過,此處與步驟S202中描述的剛性ICP為同一方法。S303、非剛性配準(zhǔn),用非剛性ICP再次將2個點云對齊。此處的非剛性ICP是基于EmbeddedDeformationGraph的一種非剛性配準(zhǔn)方法。經(jīng)過這三個步驟就將2個點云對齊了,其余3次對齊采取同樣的方法。前3幅點云與后3幅點云對齊后,分別合并得到前和后2個點云。然后最后的這2個點云用同樣的3步對齊后合并得到最終的點云。全局對齊的流程步驟圖可參照附圖2所示。下面對全局對齊中的三個步驟的具體實施方法進(jìn)行詳細(xì)說明:S301、初始配準(zhǔn);初始配準(zhǔn)對齊用了剛性ICP來優(yōu)化初始位置,這樣可以給后續(xù)的對齊提供好的初始狀態(tài)。這一步初始配準(zhǔn)的流程與步驟S202局部對齊中所述的剛性ICP類似,但是選取控制點是通過選取輪廓的方法僅選取一次,也就是說只選取一次控制點,進(jìn)行一次迭代,其具體的實施方法為:分別選取2個點云的邊緣部分作對應(yīng)點對,這個邊緣部分的選取的方法如下:首先對于垂直方向上,以人體點云的總高度,平均分為若干個等距的區(qū)間,一般為10mm一個區(qū)間。即若對于一個身高為170cm的人,會把這個人從上到下分為1700/10=170個區(qū)間,每個區(qū)間高度為10mm。然后在每個區(qū)間選擇5個最左或最右的點(取決于是選擇左邊的輪廓還是右邊的輪廓)作為控制點。以對齊人體正面點云和正面左轉(zhuǎn)60度的點云為例,首先把人體正面左轉(zhuǎn)60度的點云右轉(zhuǎn)60度,然后分別選取2個點云的右邊的輪廓為控制點集,根據(jù)剛性ICP的算法把正面左轉(zhuǎn)60度的點云匹配上正面點云。這樣人體正面點云和正面左轉(zhuǎn)60度的點云就粗略地對齊了,它們的初始位置已經(jīng)非常匹配,接下來則需要用更精確的剛性ICP算法來進(jìn)行精細(xì)的配準(zhǔn)。S302、剛性配準(zhǔn);剛性ICP算法在步驟S202局部對齊中已經(jīng)闡述過,此處與步驟S202中描述的剛性ICP為同一方法。這里不再作具體描述。S303、非剛性配準(zhǔn);非剛性配準(zhǔn)的大體流程共有五個步驟,對于輸入的兩個點云P和Q,這個非剛性配準(zhǔn)通過如下步驟把P匹配到Q上:S3031、對點云P下采樣(采樣單位為50mm)得到一個較小的點云G,對點云P和Q下采樣(采樣單位為15mm)得到較小的點云C和D;S3032、使用點云G構(gòu)建EmbeddedDeformationGraph,點云G上的點構(gòu)成Graph的節(jié)點,然后每個節(jié)點包含一個變換矩陣,每個變換矩陣由一個旋轉(zhuǎn)矩陣R和一個平移矩陣T組成;S3033、使用點云C和D尋找對應(yīng)點對,即對點云C中的每個點尋找其在點云D上的對應(yīng)點;S3034、使用對應(yīng)點對EmbeddedDeformationGraph計算變換矩陣(Graph上每一個節(jié)點有一個變換矩陣,每個變換矩陣由一個旋轉(zhuǎn)矩陣和一個平移矩陣組成);最小化E=Erigid+Esmooth+Ecorr,最小化Erigid是為了保證單個旋轉(zhuǎn)矩陣的剛性程度,最小化Esmooth是為了保證整體變換的剛性程度,最小化Ecorr是為了把對應(yīng)點之間的距離縮小。這一最小化誤差的問題是一個非線性最小二乘問題,可用高斯牛頓法求解。而在高斯牛頓法的每一次迭代中,求解線性方程組時可用cholesky分解(LLT分解)方法。S3035、計算出變換矩陣后便可以使用EmbeddedDeformationGraph將點云P進(jìn)行變形從而對齊到點云Q上。下面對非剛性ICP的具體實施方法進(jìn)行詳細(xì)說明:在說明非剛性配準(zhǔn)的方法之前,首先需要引入EmbeddedDeformationGraph。所謂的EmbeddedDeformationGraph是一種適用于各種圖形的能對圖形進(jìn)行非剛性變換的變形方法。對人體點云數(shù)據(jù)進(jìn)行非剛性配準(zhǔn),首先我們需要的是一種能夠?qū)θ梭w點云數(shù)據(jù)進(jìn)行非剛性變換的方法。EmbeddedDeformationGraph就是一個很好的選擇,使用這種變形方法能夠?qū)θ梭w進(jìn)行各種復(fù)雜的非剛性變換,以實現(xiàn)對人體點云數(shù)據(jù)進(jìn)行非剛性配準(zhǔn)的目的。下面將對EmbeddedDeformationGraph的結(jié)構(gòu)和其變形方法進(jìn)行闡述:所謂EmbeddedDeformationGraph,顧名思義,它是一種圖。這個圖是一個三維空間上的圖。它的每一個節(jié)點就是一個三維空間上的點xi=(x,y,z)。而每一個節(jié)點上還包含有一個旋轉(zhuǎn)矩陣Ai和一個平移矩陣bi。旋轉(zhuǎn)矩陣Ai是一個3行3列的矩陣,其初始值為一單位矩陣。平移矩陣bi是一個3行1列的矩陣,其初始值為一零矩陣。EmbeddedDeformationGraph的每個相鄰節(jié)點之間應(yīng)通過邊相連,但是由于人體點云數(shù)據(jù)是由零散的點組成的,并不包含拓補信息,因此這些相鄰點及相鄰點間的邊可以省去,不作考慮。EmbeddedDeformationGraph中的每一個節(jié)點之所以包含有一個旋轉(zhuǎn)矩陣和一個平移矩陣,是因為每個節(jié)點都代表了一個局部的變換,可以把局部范圍內(nèi)的點進(jìn)行三維空間變換,但對于超出范圍的點則不具影響力,具體是:圖中的每一個節(jié)點xi都會在局部影響區(qū)域內(nèi)對點產(chǎn)生變形,這個局部影響區(qū)域是一個以xi為中心,以ri為半徑的一個球形范圍。任意一個點vj將被這個節(jié)點xi映射到新的位置vj’上:上式中的w’是歸一化后的權(quán)重w,w計算公式為:w(vj,xi,ri)=max(0,(1-d2(vj,xi)/ri2)3)]]>其中d是兩點xi、vj間的歐式距離:d(vj,xi)=||vj-xi||=(xi-xj)2+(yi-yj)2+(zi-zj)2]]>留意到當(dāng)ri大于d時,上式中的權(quán)重w計算結(jié)果為0,因此節(jié)點xi僅可以把局部范圍內(nèi)的點進(jìn)行三維空間變換,對于超出范圍的點不具影響力。此外,計算權(quán)重w的公式中max內(nèi)是比較0和一個立方數(shù),之所以使用立方是為了使遠(yuǎn)離節(jié)點的點受到的影響盡可能小。按照上面的公式可以推出歸一化后的權(quán)重w’的計算公式:w′(vj,xi,ri)=max(0,(1-d2(vj,xi)/ri2)3)/Σximax(0,(1-d2(vj,xi)/ri2)3)]]>點vj變形到新的位置vj’上的公式的含義是,首先方括號內(nèi)的是單獨一個節(jié)點對vj的影響,是以xi為中心對vj進(jìn)行旋轉(zhuǎn)變換Ai,而后再進(jìn)行平移變換bi,然后是計算每一個節(jié)點對vj影響的權(quán)重,由前面的式子可知xi與vj距離大于ri的權(quán)重為0,即不影響vj,因為可能有多個節(jié)點影響vj,因此需要計算權(quán)重,進(jìn)行歸一化,以計算最終的變換。下面來說明EmbeddedDeformationGraph與人體點云數(shù)據(jù)的關(guān)系,對于輸入的兩個點云A和B,對點云A下采樣(采樣單位為50mm)得到一個較小的點云G,這個點云G就是用來構(gòu)造EmbeddedDeformationGraph的,EmbeddedDeformationGraph的節(jié)點xi,其三維空間坐標(biāo)就是點云G的點pi的三維坐標(biāo)。在得到了EmbeddedDeformationGraph后,就可以對點云進(jìn)行非剛性變換。在繼續(xù)說明非剛性配準(zhǔn)方法之前,先回想一下剛性ICP的步驟:首先是根據(jù)一定的幾何特征作為標(biāo)準(zhǔn),分別在兩個點云中選取對應(yīng)點對,生成控制點集C和D,接下來求出使控制點集C匹配到D上的變換f,然后是根據(jù)f對點云P實行變換,最后判定是否達(dá)到精度要求或抵達(dá)最大迭代次數(shù),是則終止算法,否則重復(fù)上述步驟直至算法終止。非剛性ICP也是遵循類似的步驟,但是不同的是非剛性ICP的變換并不僅僅是一個變換矩陣f這么簡單,而是一個圖,即EmbeddedDeformationGraph。假設(shè)這個圖包含n個節(jié)點,因為一個節(jié)點包含一個旋轉(zhuǎn)矩陣Ai(9個未知數(shù))和一個平移矩陣bi(3個未知數(shù)),那么需要求解的未知數(shù)數(shù)量就會達(dá)到12n個之多,因此非剛性ICP的求解過程與剛性ICP有著很大的不同,這同時也是非剛性ICP的一大難點。下面,就這一難點,也就是求解n個變換矩陣進(jìn)行詳細(xì)的說明:求解n個變換矩陣的過程是通過最小化3個能量來實現(xiàn)的。首先,是第一個能量Erigid,最小化Erigid是為了保證旋轉(zhuǎn)矩陣Ai的剛性程度,其具體的公式為:Erigid=Σxi((a1Ta2)2+(a1Ta3)2+(a2Ta3)2+(1-a1Ta1)2+(1-a2Ta2)2+(1-a3Ta3)2)]]>上式中的a1、a2、a3是指轉(zhuǎn)矩陣Ai的3個列向量。這個公式的具體含義是,對每一個節(jié)點xi,其旋轉(zhuǎn)矩陣Ai需要盡可能滿足兩個條件,一個是aiTaj為0,i、j=1、2、3,i≠j,一個是aiTai為1,i=1、2、3。滿足第一個條件是為了使各列向量之間盡可能垂直,滿足第二個條件是為了使列向量盡可能為單位向量。滿足兩條件后便可保證旋轉(zhuǎn)矩陣Ai的剛性程度。接下來,是第二個能量Esmooth,最小化Esmooth是為了保證整體變換的剛性程度,其具體公式為:Esmooth=ΣxiΣxjw′(xi,xj,ri+rj)||Ai(xj-xi)+xi+bi-(xj+bj)||22]]>這個公式的具體含義是,對每一個節(jié)點xi,其它的節(jié)點xj受到這個節(jié)點xi的影響應(yīng)盡可能接近xj對它自身的影響,我們可以計算一下,節(jié)點xj受到這個節(jié)點xi的影響是:xj'=Ai(xj-xi)+xi+bi節(jié)點xj對它自身的影響是:xj'=Aj(xj-xj)+xj+bj=xj+bj這兩項合起來就是Esmooth計算公式的最后一項。由于需要計算所有其它的節(jié)點xj,因此還需要計算權(quán)重,進(jìn)行求和。滿足Esmooth盡可能小后,可以保證當(dāng)一個點v受到復(fù)數(shù)的節(jié)點影響時,v受到的來自每一個節(jié)點的影響是協(xié)調(diào)的。這樣做可以保證變形的平滑性,否則v受到的來自每一個節(jié)點的影響是不協(xié)調(diào)的,那么變形后就會與其余受到單個節(jié)點影響的點有較大的落差,形成噪聲。最后,是能量Ecorr,最小化能量Ecorr是為了把對應(yīng)點之間的距離縮小,計算Ecorr的具體公式為:Ecorr=1mΣi=1m||T·ci-di||2]]>上式中,m是控制點集中點的數(shù)量,T是非剛性變換,ci和di是控制點集C、D中的點。最小化能量Ecorr便可以滿足控制點集C經(jīng)非剛性變換T后匹配控制點集D,然后再把非剛性變換T應(yīng)用到點云P上就可以令點云P匹配上點云Q。把上述三個能量合起來得到最終需要最小化的能量公式:E=αrigidErigid+αsmoothEsmooth+αcorrEcorr上式中,a是控制各能量比例的參數(shù),arigid=500,asmooth=2,acorr=5。最小化能量E是一個非線性最小二乘問題,可用高斯牛頓法求解。高斯牛頓法是一種通過迭代求解線性方程組來解決非線性最小二乘問題的方法,首先會設(shè)定一個初始解,然后在每一次迭代中會求解一個線性方程組,再根據(jù)線性方程組的解更新非線性最小二乘問題的解,從而一步步逼近問題的真實解。非線性最小二乘的問題可化為如下的基本形式:x=argminx{E}首先,要求解的x就是上文說到的n個變換矩陣,即12n個未知數(shù)。要用高斯牛頓法求解x,可以先把E拆分成f(x),根據(jù)的公式是:E=12Σi=1n(fi(x))2=12||f(x)||2=12f(x)Tf(x)]]>然后求出f(x)的雅可比矩陣J,并構(gòu)造線性方程組:(JTJ)h=-JTf(x)h是x在這一次高斯牛頓迭代中的增量,高斯牛頓迭代法就是在每一次迭代中修正x的值,這個就是通過求出x的增量h實現(xiàn)的。求解這個線性方程組,可用cholesky分解方法。求出線性方程組的解h后,更新x:x:=x+h接下來根據(jù)新的x重新計算f(x),然后重新計算J,進(jìn)行下一次迭代,直到h小于一個閥值為止。如此,便求解出了EmbeddedDeformationGraph的n個變換矩陣,完成了求解非剛性變換的過程。接下來就是把非剛性變換應(yīng)用到點云P,然后根據(jù)非剛性ICP的步驟,下一步是判定是否達(dá)到精度要求或抵達(dá)最大迭代次數(shù),是則終止算法,否則繼續(xù)迭代直至算法終止。而得到最終的完整人體點云后,就可以使用泊松表面重建對點云進(jìn)行重建得到人體模型。泊松重建可以使最終得到的網(wǎng)格模型包含點顏色。首先,由于Kinect并不是精確的掃描設(shè)備,這造成的后果就是如果使用Kinect在遠(yuǎn)距離掃描人的整體的話,得到的點云數(shù)據(jù)會是粗糙的,而這種缺陷難以通過后期處理消除。而本發(fā)明采用了一種在近距離進(jìn)行拍攝的方法,把Kinect拉近到離人只有一米的距離,利用Kinect自帶的電機(jī)讓Kinect自己上下旋轉(zhuǎn)來獲取整體的人的點云數(shù)據(jù),這種方法很好地克服了在遠(yuǎn)距離掃描人體而導(dǎo)致的點云數(shù)據(jù)太粗糙的問題,使得經(jīng)過后期處理后的人體模型的精度大幅提升。其次,本發(fā)明采用的方法不需要連續(xù)拍攝多幀數(shù)據(jù),該發(fā)明方法是拍3幅然后把3個點云對齊,數(shù)據(jù)量比較少,拍攝時間相對也較少。并且在后續(xù)處理中,該發(fā)明方法并沒有在對齊前就重建mesh,而是一直用點云最后再泊松重建,因為mesh的包含的信息比點云多,可能會出現(xiàn)更多的誤差。然后,該發(fā)明中對齊方法采用的是一種三步驟的對齊方法。在對齊的第一步里,用了快速的剛性ICP優(yōu)化初始位置,這樣可以給后續(xù)的對齊提供好的初始狀態(tài),第二步是使用精細(xì)的剛性ICP進(jìn)行精確的配準(zhǔn),最后==采用了非剛性ICP進(jìn)行對齊,有效地克服了剛性ICP無法對齊人體細(xì)微動作變化的問題。綜上所述,本發(fā)明公開了一種基于單個Kinect的快速、高效、輕便的三維人體建模方法,能夠使用戶方便地獲取自己的三維人體模型,用戶需要的只是在Kinect面前轉(zhuǎn)一個圈。并且這種方法對環(huán)境的適應(yīng)能力強(qiáng),可以在諸如家里或辦公室這樣狹窄的空間內(nèi)實現(xiàn)三維人體建模,而所需要的設(shè)備也僅僅是一臺個人電腦和一臺Kinect。這種新的三維人體建模方法可適用于大多數(shù)應(yīng)用,比如數(shù)字測量、產(chǎn)品設(shè)計和在線購物,用戶可以利用本方法所生成的人體模型進(jìn)行虛擬試衣,而毋須親自到服裝店去。上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3 
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1