本發(fā)明屬于計(jì)算機(jī)應(yīng)用領(lǐng)域、三維重建、配準(zhǔn),具體講,涉及基于稀疏表示的全局非剛性表面對(duì)齊與重建方法。
背景技術(shù):
在計(jì)算機(jī)圖形學(xué)和計(jì)算機(jī)視覺(jué)領(lǐng)域,動(dòng)態(tài)三維重建是一個(gè)熱點(diǎn)研究問(wèn)題,它旨在通過(guò)單個(gè)或多個(gè)相機(jī)恢復(fù)出相應(yīng)的動(dòng)態(tài)場(chǎng)景。隨著商用深度相機(jī)的出現(xiàn),例如微軟的kinect,重建出一個(gè)場(chǎng)景的模型和紋理變的越來(lái)越方便,而且成本也越來(lái)越低。如今,它在很多領(lǐng)域得到了應(yīng)用,比如3d打印、游戲和電影。
為了實(shí)現(xiàn)動(dòng)態(tài)的三維重建,一些研究組設(shè)計(jì)了一些多相機(jī)系統(tǒng)。李坤等人(lik,daiq,xuw.markerlessshapeandmotioncapturefrommultiviewvideosequences.[j].ieeetransactionsoncircuits&systemsforvideotechnology,2011,21(3):320-334.)于清華大學(xué)用20個(gè)相機(jī)搭建了一個(gè)圓頂狀的多相機(jī)系統(tǒng),這個(gè)系統(tǒng)的原理是通過(guò)多視角立體方法和基于體素變形方法實(shí)現(xiàn)同步采集和恢復(fù)動(dòng)態(tài)場(chǎng)景里的任意目標(biāo)和其紋理。aguiar等人(deaguiare,stollc,theobaltc,etal.performancecapturefromsparsemulti-viewvideo[j].acmtransactionsongraphics,2008,27(3):15-19.)用8個(gè)相機(jī)構(gòu)建了一個(gè)稀疏采樣的系統(tǒng),此系統(tǒng)是通過(guò)結(jié)合基于表面的變形技術(shù)和基于體素的變形技術(shù)實(shí)現(xiàn)了對(duì)三維目標(biāo)的形態(tài)和動(dòng)作的有效獲取和重建。然而,這種多相機(jī)系統(tǒng)在實(shí)際應(yīng)用中會(huì)遇到很多的限制,比如,這種多相機(jī)系統(tǒng)成本很高,難以維護(hù)而且不易攜帶。因而,由于微軟公司kinect相機(jī)的低成本和其多傳感器,使它得到了很廣的應(yīng)用。tong等人(tongj,zhouj,liul,etal.scanning3dfullhumanbodiesusingkinects[j].ieeetransactionsonvisualization&computergraphics,2012,18(4):643-650.)用三個(gè)相機(jī)重建出一個(gè)完整的三維人體模型,但它要求人體目標(biāo)在采集過(guò)程中保持不動(dòng)。guo等人(guok,xuf,wangy,etal.robustnon-rigidmotiontrackingandsurfacereconstructionusingl0regularization[c]//ieeeinternationalconferenceoncomputervision.2015:3083-3091.)用三個(gè)手持的kinect相機(jī)實(shí)現(xiàn)了無(wú)標(biāo)記的交互的動(dòng)態(tài)重建。為了能更簡(jiǎn)單和便捷,li等人(lih,vougae,gudyma,etal.3dself-portraits[j].acmtransactionsongraphics,2013,32(6):2504-2507.)只用單個(gè)kinect重建出一個(gè)完整的三維模型,但它要求人在各個(gè)視角下的保持相同的姿勢(shì)。dou等人(doum,taylorj,fuchsh,etal.3dscanningdeformableobjectswithasinglergbdsensor[c]//computervisionandpatternrecognition.ieee,2015:493-501.)用單個(gè)kinect設(shè)計(jì)了一個(gè)允許目標(biāo)物體能有較大變形的系統(tǒng),但這種系統(tǒng)要求相鄰視角的變形不能大,而且它有很高的復(fù)雜度和很大的計(jì)算量,因而用時(shí)也很長(zhǎng)。
基于以上的問(wèn)題,我們提出了一種新的基于單個(gè)kinect的可變形物體全局的非剛性配準(zhǔn)和重建方法,我們的方法允許目標(biāo)物體有較大的動(dòng)作變形,而且所用數(shù)據(jù)更少,用時(shí)更短。
技術(shù)實(shí)現(xiàn)要素:
為克服現(xiàn)有技術(shù)的不足,本發(fā)明旨在實(shí)現(xiàn)處理三維目標(biāo)物體的大動(dòng)作的變形。本發(fā)明采用的技術(shù)方案是,可變形物體的全局非剛性配準(zhǔn)與重建方法,假定有n個(gè)視角的模型,記為u1,u2,…,un。對(duì)于任意一個(gè)模型p,
求解低分辨率模型之間的變換的過(guò)程如下:
其中權(quán)重aj定義如下:
r是有效半徑,將其定義為低分辨率模型上所以邊長(zhǎng)的加權(quán)平均的兩倍,
基于相鄰模型間的對(duì)應(yīng)關(guān)系,構(gòu)建如下的能量函數(shù)方程:
edata(x)是數(shù)據(jù)項(xiàng),表示數(shù)據(jù)項(xiàng)的目標(biāo)函數(shù)能量,用來(lái)保證經(jīng)旋轉(zhuǎn)平移變換后對(duì)應(yīng)點(diǎn)之間的距離總和最小;esmooth(x)是平滑項(xiàng),表示平滑項(xiàng)的目標(biāo)函數(shù)能量,保證臨近的點(diǎn)擁有盡量相似的變換;erig(x)是正交項(xiàng),它約束局部變換要是剛性的;最后,earap是拉普拉斯約束項(xiàng),它約束模型的邊的長(zhǎng)度在變換前后保持盡可能的不變,α,γ和β分別是衡量數(shù)據(jù)項(xiàng)、平滑項(xiàng)和拉普拉斯項(xiàng)的權(quán)重,這四項(xiàng)定義如下:
⑴數(shù)據(jù)項(xiàng)edata(x):相鄰兩個(gè)視角模型up,up+1間的配準(zhǔn)和一般的配準(zhǔn)問(wèn)題一樣,先找模型間點(diǎn)的對(duì)應(yīng)關(guān)系fp,求解模型間的變換xp,因?yàn)椴皇悄P蛈p上的每個(gè)點(diǎn)
上面的式子寫成:
diag表示輸入向量的對(duì)角化塊矩陣,記作
其中h為
⑵平滑項(xiàng)esmooth(x):對(duì)于模型up上的點(diǎn)
平滑項(xiàng)寫成:
記作b=diag(b1,…,bn),得
⑶正交項(xiàng)erig(x):從實(shí)際的目標(biāo)物體觀察得知,它們的物理形態(tài)是滿足局部剛性變換的,引入局部剛性約束項(xiàng)來(lái)減小變換的靈活性,特別地,假定一個(gè)變換
di是一個(gè)3*4的常量矩陣,它用于提取
⑷拉普拉斯項(xiàng)earap(x):引入拉普拉斯保長(zhǎng)約束項(xiàng),此約束的作用是使得模型的邊長(zhǎng)在變換前后盡可能的保持不變,分別記作
這里將
通過(guò)單極值分解,得到
權(quán)重
αij和βij是邊(i,j)的相對(duì)角。然后關(guān)于
因此,拉普拉斯項(xiàng)寫成
lp代表上式左邊的線性組合,也叫離散的拉普拉斯-貝拉米特算子;bp是一個(gè)n維向量,它的第i行代表上式右邊的表達(dá)式,并通過(guò)
邊界條件:為了使我們的優(yōu)化問(wèn)題有唯一解,將第一個(gè)視角模型設(shè)為參考視角,則第一個(gè)模型的變換x1設(shè)為單位陣,結(jié)合以上四項(xiàng),得到優(yōu)化問(wèn)題如下:
其中c和a是輔助變量。
對(duì)優(yōu)化問(wèn)題利用增廣拉格朗日方法進(jìn)行求解,具體步驟如下:
①輸入各個(gè)視角及其降采樣之后的模型up,up,s和相鄰模型間的對(duì)應(yīng)點(diǎn);
②如果x沒(méi)有收斂,重新找對(duì)應(yīng)關(guān)系fp:up→up+1。否則轉(zhuǎn)到④;
③更新ti,用增廣拉格朗日方法求解x。否則轉(zhuǎn)到②;
④輸出x。
本發(fā)明的特點(diǎn)及有益效果是:
本發(fā)明針對(duì)具有大的動(dòng)作變形的目標(biāo)物體進(jìn)行全局非剛性的配準(zhǔn)與重建,具有以下特點(diǎn):
①本算法提出全局配準(zhǔn)的框架,即相鄰兩個(gè)視角模型相互注冊(cè),避免了傳統(tǒng)方法中的閉環(huán)檢測(cè)問(wèn)題。因而有效的緩解了配準(zhǔn)過(guò)程中的誤差積累問(wèn)題。
②本算法在較少的數(shù)據(jù)量(一般視角模型數(shù)量為15~30)的條件下能處理目標(biāo)物體的大動(dòng)作變形,且能重建出較好的完整模型。另外,本算法的計(jì)算復(fù)雜度要比傳統(tǒng)方法小很多。
③本算法運(yùn)用多分辨率的方法,這使得求解此優(yōu)化問(wèn)題可以得到唯一解,而避免了傳統(tǒng)方法易于陷入局部最小的問(wèn)題。此外,這也降低了處理大規(guī)模數(shù)據(jù)的難度,進(jìn)一步減小了計(jì)算復(fù)雜度。
④本算法加入了拉普拉斯保長(zhǎng)約束項(xiàng),緩解了在配準(zhǔn)過(guò)程中不完整模型配準(zhǔn)后的收縮問(wèn)題,也為最后重建完整模型提供了保障。
附圖說(shuō)明:
本發(fā)明所述的一系列優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)例的描述中將變得明顯和容易理解:
圖1為利用標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)的數(shù)據(jù)(完整的三維模型),(a)是所選的10個(gè)標(biāo)準(zhǔn)完整模型,它們有大的動(dòng)作變形;(b)是方法1:”yangj,lik,lik,etal.sparsenon-rigidregistrationof3dshapes[c]//computergraphicsforum.2015:89-99.”的結(jié)果;(c)是方法2:”robustnon-rigidregistrationwithreweighteddualsparsities”的結(jié)果;(d)是本算法的結(jié)果。用顏色標(biāo)記的部分為誤差大小,誤差歸一化為0~1。
由圖1可知,方法1最差,有很大的擬合誤差;而方法2的擬合總誤差為9.738,我們的方法總誤差為3.0604。因此,我們的方法有更好的結(jié)果。
圖2為從標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)的數(shù)據(jù)通過(guò)提取各個(gè)視角的可見(jiàn)部分得到的數(shù)據(jù)集(共35個(gè)視角模型),實(shí)驗(yàn)結(jié)果如下圖。圖中第一行為方法1的結(jié)果,第二行為方法2的結(jié)果,第三行為本算法結(jié)果。第一列為模型1-2的配準(zhǔn)結(jié)果,第二列為模型1-20的配準(zhǔn)結(jié)果,第三列為所有模型的結(jié)果,第四列為泊松重建的結(jié)果??梢悦黠@看出本算法得到了更好的配準(zhǔn)結(jié)果和重建結(jié)果。
圖3和圖4是用kinectv2采集的真實(shí)數(shù)據(jù)的結(jié)果(分別有30個(gè)和15個(gè)視角模型)。同樣,本算法說(shuō)明了更好的配準(zhǔn)和重建結(jié)果。
圖5為本發(fā)明流程圖。
具體實(shí)施方式
為解決現(xiàn)有方法的問(wèn)題,能處理三維目標(biāo)物體的大動(dòng)作的變形。為此,本發(fā)明采取的方案是,基于稀疏表示的全局非剛性配準(zhǔn)方法。假定有n個(gè)視角的模型,記為u1,u2,…,un。對(duì)于任意一個(gè)模型p,
其中權(quán)重aj定義如下:
r是有效半徑,將其定義為低分辨率模型上所以邊長(zhǎng)的加權(quán)平均的兩倍。
基于相鄰模型間的對(duì)應(yīng)關(guān)系,可以構(gòu)建如下的能量函數(shù)方程:
edata(x)是數(shù)據(jù)項(xiàng),表示數(shù)據(jù)項(xiàng)的目標(biāo)函數(shù)能量,用來(lái)保證經(jīng)旋轉(zhuǎn)平移變換后對(duì)應(yīng)點(diǎn)之間的距離總和最小;esmooth(x)是平滑項(xiàng),表示平滑項(xiàng)的目標(biāo)函數(shù)能量,保證臨近的點(diǎn)擁有盡量相似的變換;erig(x)是正交項(xiàng),它約束局部變換要是剛性的;最后,earap是拉普拉斯約束項(xiàng),它約束模型的邊的長(zhǎng)度在變換前后保持盡可能的不變。α,γ和β分別是衡量數(shù)據(jù)項(xiàng)、平滑項(xiàng)和拉普拉斯項(xiàng)的權(quán)重。這四項(xiàng)定義如下:
⑴數(shù)據(jù)項(xiàng)edata(x):相鄰兩個(gè)視角模型up,up+1間的配準(zhǔn)和一般的配準(zhǔn)問(wèn)題一樣,先找模型間點(diǎn)的對(duì)應(yīng)關(guān)系fp,求解模型間的變換xp。因?yàn)椴皇悄P蛈p上的每個(gè)點(diǎn)
上面的式子可以寫成:
diag表示輸入向量的對(duì)角化塊矩陣。記作
其中h為
⑵平滑項(xiàng)esmooth(x):對(duì)于模型up上的點(diǎn)
平滑項(xiàng)可以寫成:
記作b=diag(b1,…,bn),可得
⑶正交項(xiàng)erig(x):從實(shí)際的目標(biāo)物體(人體或動(dòng)物)觀察可以得知,它們的物理形態(tài)是滿足局部剛性變換的。例如,人的腿通常是剛體運(yùn)動(dòng)的。因此,本算法引入局部剛性約束項(xiàng)來(lái)減小變換的靈活性。特別地,假定一個(gè)變換
di是一個(gè)3*4的常量矩陣,它用于提取
⑷拉普拉斯項(xiàng)earap(x):在初期的實(shí)驗(yàn)過(guò)程中,我們發(fā)現(xiàn)模型的邊有向里收縮的傾向,為了緩解這種失真問(wèn)題,本算法引入拉普拉斯保長(zhǎng)約束項(xiàng)。此約束的作用是使得模型的邊長(zhǎng)在變換前后盡可能的保持不變。我們分別記作
這里將
通過(guò)單極值分解,可以得到
權(quán)重
αij和βij是邊(i,j)的相對(duì)角。然后關(guān)于
因此,拉普拉斯項(xiàng)可以寫成
lp代表上式左邊的線性組合,也叫離散的拉普拉斯-貝拉米特算子;bp是一個(gè)n維向量,它的第i行代表上式右邊的表達(dá)式,并通過(guò)
邊界條件:為了使我們的優(yōu)化問(wèn)題有唯一解,本算法將第一個(gè)視角模型設(shè)為參考視角,則第一個(gè)模型的變換x1設(shè)為單位陣。結(jié)合以上四項(xiàng),可得到本算法的優(yōu)化問(wèn)題如下:
其中c和a是輔助變量。
對(duì)以上的優(yōu)化問(wèn)題可以利用增廣拉格朗日方法進(jìn)行求解,具體步驟如下:
①輸入各個(gè)視角及其降采樣之后的模型up,up,s和相鄰模型間的對(duì)應(yīng)點(diǎn)。
②如果x沒(méi)有收斂,重新找對(duì)應(yīng)關(guān)系fp:up→up+1。否則轉(zhuǎn)到④。
③更新ti,用增廣拉格朗日方法求解x。否則轉(zhuǎn)到②。
④輸出x。
本發(fā)明所述的一系列優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)例的描述中將變得明顯和容易理解:
圖2為從標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)的數(shù)據(jù)通過(guò)提取各個(gè)視角的可見(jiàn)部分得到的數(shù)據(jù)集(共35個(gè)視角模型),實(shí)驗(yàn)結(jié)果如下圖。圖中第一行為方法1的結(jié)果,第二行為方法2的結(jié)果,第三行為本算法結(jié)果。第一列為模型1-2的配準(zhǔn)結(jié)果,第二列為模型1-20的配準(zhǔn)結(jié)果,第三列為所有模型的結(jié)果,第四列為泊松重建的結(jié)果??梢悦黠@看出本算法得到了更好的配準(zhǔn)結(jié)果和重建結(jié)果。
圖3和圖4是用kinectv2采集的真實(shí)數(shù)據(jù)的結(jié)果(分別有30個(gè)和15個(gè)視角模型)。同樣,本算法說(shuō)明了更好的配準(zhǔn)和重建結(jié)果。
本發(fā)明首先采用求對(duì)應(yīng)點(diǎn)的算法(如”tamgkl,martinrr,rosinpl,etal.diffusionpruningforrapidlyandrobustlyselectingglobalcorrespondencesusinglocalisometry[j].acmtransactionsongraphics,2014,33(1):57-76.”)找出相鄰模型間的初始對(duì)應(yīng)關(guān)系,然后由對(duì)應(yīng)關(guān)系構(gòu)建數(shù)據(jù)項(xiàng)約束,再由其他先驗(yàn)可以構(gòu)建平滑項(xiàng)、正交項(xiàng)約束,為了緩解對(duì)于不完整模型變形產(chǎn)生的收縮問(wèn)題,引入拉普拉斯項(xiàng)約束,以上四項(xiàng)共同組成我們的優(yōu)化函數(shù)方程。最后,利用增廣拉格朗日法和方向選擇法對(duì)優(yōu)化函數(shù)方程進(jìn)行求解。具體方法包括如下步驟:
1)對(duì)每一個(gè)初始模型up進(jìn)行降采樣得到相應(yīng)的低分辨率的模型u(p,s),u(p,s-1),…,u(p,1),并為每一對(duì)相鄰模型找出初始的對(duì)應(yīng)關(guān)系fp。
2)由以上原始模型上的對(duì)應(yīng)關(guān)系為約束,加上模型的先驗(yàn)特征,可以構(gòu)建優(yōu)化函數(shù)方程如下:
edata(x)是數(shù)據(jù)項(xiàng),表示數(shù)據(jù)項(xiàng)的目標(biāo)函數(shù)能量,用來(lái)保證經(jīng)旋轉(zhuǎn)平移變換后對(duì)應(yīng)點(diǎn)之間的距離總和最?。籩smooth(x)是平滑項(xiàng),表示平滑項(xiàng)的目標(biāo)函數(shù)能量,保證臨近的點(diǎn)擁有盡量相似的變換;erig(x)是正交項(xiàng),它約束局部變換要是剛性的;最后,earap是拉普拉斯約束項(xiàng),它約束模型的邊的長(zhǎng)度在變換前后保持盡可能的不變。α,γ和β分別是衡量數(shù)據(jù)項(xiàng)、平滑項(xiàng)和拉普拉斯項(xiàng)的權(quán)重。
3)定義稀疏矩陣h,b,l
構(gòu)建數(shù)據(jù)項(xiàng):
平滑項(xiàng):esmooth(x)=∑p‖bx‖1,其中b=diag(b1,…,bn);
正交項(xiàng):
拉普拉斯項(xiàng):
4)利用增廣拉格朗日方法和方向選擇法對(duì)以下優(yōu)化函數(shù)方程進(jìn)行求解。
s.tc=hx
a=bx