一種面向個(gè)性化虛擬試衣的真實(shí)人體三維建模方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)視覺領(lǐng)域,具體涉及一種面向個(gè)性化虛擬試衣的真實(shí)人體三維建模方法。
【背景技術(shù)】
[0002]隨著虛擬現(xiàn)實(shí)技術(shù)的發(fā)展,人體三維建模受到了越來越多的關(guān)注,并成為影視特效、動(dòng)畫仿真、虛擬試衣等技術(shù)的基礎(chǔ)環(huán)節(jié)?,F(xiàn)有的人體三維表面重建方法主要包括主動(dòng)測(cè)量方法、參數(shù)建模方法和基于深度圖像的建模方法。
[0003]主動(dòng)測(cè)量方法是指利用激光掃描儀、結(jié)構(gòu)光掃描儀等設(shè)備對(duì)人體表面進(jìn)行掃描并得到點(diǎn)云的三維坐標(biāo)。使用這類設(shè)備獲取目標(biāo)表面三維信息的方式比較直接,結(jié)果比較精確,常用于標(biāo)準(zhǔn)三維人體模板的制備。但是該方法使用的掃描設(shè)備結(jié)構(gòu)復(fù)雜、價(jià)格昂貴且不易操作。此外,此類方法測(cè)量時(shí)間長(zhǎng),被測(cè)者的舒適性差,而且很難處理人體自身的遮擋冋題。
[0004]參數(shù)建模方法需要獲取人體少數(shù)特定部位的控制點(diǎn)和特征尺寸(如身高、腰圍、臂長(zhǎng)等),根據(jù)幾何約束對(duì)人體拓?fù)浣Y(jié)構(gòu)進(jìn)行調(diào)整,最后利用曲面對(duì)表面進(jìn)行建模。這類方法簡(jiǎn)單易行,常用于服裝設(shè)計(jì)相關(guān)領(lǐng)域,根據(jù)輸入的參數(shù)可以獲得實(shí)時(shí)重建效果。然而,該類方法容易受到非專業(yè)人士測(cè)量誤差的影響,而且人體大部分區(qū)域是沒有獲得測(cè)量數(shù)據(jù)的,在這些區(qū)域上的重建精度不高。
[0005]基于深度圖像的建模方法利用深度相機(jī)(如微軟的Kinect)在拍攝彩色圖像的同時(shí),獲得每個(gè)像素的深度信息。該方法操作簡(jiǎn)單、設(shè)備價(jià)格低廉,比主動(dòng)測(cè)量方法更具通用性,但其得到的深度信息包含空洞和較多噪聲,適用于對(duì)精度要求不高的實(shí)時(shí)動(dòng)態(tài)人體三維重建。此外,深度相機(jī)遠(yuǎn)遠(yuǎn)低于普通數(shù)碼相機(jī)的普及率也限制了當(dāng)前該技術(shù)的應(yīng)用范圍。
[0006]近20年來,隨著計(jì)算機(jī)視覺理論的完善和普通數(shù)碼成像設(shè)備的普及,從圖像中恢復(fù)場(chǎng)景三維結(jié)構(gòu)的技術(shù)取得了很大進(jìn)展。運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)(Structure from Mot1n,SFM)的方法只需一組無序圖像作為輸入便可完全自動(dòng)地估計(jì)出相機(jī)參數(shù)和稀疏三維點(diǎn)云,因此得到了廣泛的應(yīng)用。典型的SFM過程包含特征匹配、相機(jī)參數(shù)估計(jì)和相機(jī)參數(shù)優(yōu)化三個(gè)主要步驟。然而,由于人體不屬于靜態(tài)剛體目標(biāo)并且缺乏豐富的紋理信息,SFM算法得到的三維模型在精度和完整度上都很難達(dá)到實(shí)際應(yīng)用的要求,無法直接用于人體三維建模。因此,研宄基于計(jì)算機(jī)視覺技術(shù)的人體三維重建算法,改善人體圖像匹配精度和相機(jī)參數(shù)估計(jì)精度,提高重建模型的完整性,不僅有很強(qiáng)的理論意義,而且具有非常廣闊的應(yīng)用前景。
【發(fā)明內(nèi)容】
[0007]本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有SFM技術(shù)針對(duì)人體三維重建存在的缺陷,僅以視頻作為基本數(shù)據(jù)內(nèi)容,提出一種面向個(gè)性化虛擬試衣的真實(shí)人體三維建模方法,從而構(gòu)建尺度精確、結(jié)構(gòu)完整、效果真實(shí)的人體三維模型,重建后的模型可用于游戲和動(dòng)畫設(shè)計(jì)、影視特效以及個(gè)性化虛擬試衣等。
[0008]按照本發(fā)明,提出了一種面向個(gè)性化虛擬試衣的真實(shí)人體三維建模方法,該算法具體包括以下步驟:
[0009](I)數(shù)據(jù)準(zhǔn)備。
[0010]這里描述的步驟僅僅用于獲取人體數(shù)據(jù),便于從數(shù)據(jù)中恢復(fù)人體裸身尺寸信息。由于運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)技術(shù)只能對(duì)靜態(tài)剛體場(chǎng)景進(jìn)行重建,無法處理動(dòng)態(tài)的非剛體場(chǎng)景,因此必須要求被測(cè)者保持站立姿勢(shì)不動(dòng)。被測(cè)者的雙臂不應(yīng)自然下垂或緊貼身體,應(yīng)保持伸直姿態(tài)并向身體兩側(cè)略微張開25至50度;同樣地,被測(cè)者的雙腿不應(yīng)并攏,應(yīng)保持直立姿態(tài)并分開與肩同寬。這樣做是為了避免手臂和腿部?jī)?nèi)側(cè)被多度遮擋,使更多身體表面暴露在視野范圍之內(nèi)。在三維服裝設(shè)計(jì)和虛擬試衣的應(yīng)用中,重建得到的人體模型應(yīng)該是能反映特定個(gè)體真實(shí)尺寸的裸身模型。如果被測(cè)者身著寬松的衣物參與數(shù)據(jù)采集,重建得到的模型尺寸將會(huì)與裸身尺寸產(chǎn)生較大偏差。然而,處于隱私保護(hù)和倫理觀念的考慮,要求被測(cè)者裸身或者身著內(nèi)衣進(jìn)行數(shù)據(jù)采集是不可行的。因此,在本發(fā)明中要求被測(cè)者A身著印有圖案的緊身衣。這一策略有兩個(gè)優(yōu)點(diǎn):第一,身穿緊身衣既不會(huì)對(duì)模型尺寸造成較大影響,又不會(huì)產(chǎn)生隱私和倫理的糾紛;第二,緊身衣上印刷的花紋大大簡(jiǎn)化了特征提取和匹配的過程,便于后面利用SFM進(jìn)行重建。
[0011]本發(fā)明中對(duì)花紋的具體樣式不做限定,但應(yīng)盡量保證花紋包含較豐富的紋理信息,避免大面積的單色區(qū)域,同時(shí)花紋應(yīng)盡量均勻地覆蓋整個(gè)人體。具體地,可以讓被測(cè)者A身穿印有黑白棋盤網(wǎng)格的緊身衣保持站立姿勢(shì)不動(dòng),測(cè)量者B使用手機(jī)或數(shù)碼相機(jī)圍繞被測(cè)者A拍攝一段視頻。
[0012](2)對(duì)視頻中相鄰的兩幀圖像進(jìn)行特征提取與匹配,根據(jù)匹配構(gòu)建特征點(diǎn)的軌跡。
[0013]特征點(diǎn)的軌跡是指一個(gè)特征點(diǎn)在一段連續(xù)子序列的每一幀上的匹配點(diǎn)構(gòu)成的集合,每個(gè)軌跡對(duì)應(yīng)于空間中的一個(gè)三維點(diǎn)。這些軌跡將在SFM算法中用于對(duì)相機(jī)參數(shù)的估計(jì)和優(yōu)化。
[0014](3)對(duì)視頻進(jìn)行處理分析,剔除冗余信息,抽取視頻中關(guān)鍵幀用于重建。關(guān)鍵幀的選取應(yīng)當(dāng)滿足兩個(gè)約束:即相鄰兩個(gè)關(guān)鍵幀之間有足夠多的匹配,同時(shí)相鄰兩個(gè)關(guān)鍵幀的基線盡可能寬。
[0015](4)人體三維點(diǎn)云模型的生成。根據(jù)特征點(diǎn)的軌跡估計(jì)并優(yōu)化所有關(guān)鍵幀的相機(jī)參數(shù),得到軌跡對(duì)應(yīng)的稀疏的三維點(diǎn)云,并通過點(diǎn)云在三維空間中的擴(kuò)展得到稠密的人體三維點(diǎn)云模型。
[0016](5)將預(yù)先制備的標(biāo)準(zhǔn)人體模型向重建得到的點(diǎn)云模型映射,映射過程中允許發(fā)生一定程度的姿態(tài)變化和表面形狀變化,以便標(biāo)準(zhǔn)模型能最大程度地?cái)M合重建模型,最終得到完整光滑的人體表面模型;
[0017](6)根據(jù)關(guān)鍵幀和對(duì)應(yīng)的相機(jī)參數(shù),對(duì)生成的人體表面模型進(jìn)行紋理映射,得到最終重建結(jié)果。
[0018]在本發(fā)明的一個(gè)實(shí)施例中,所述步驟(2)具體包括:
[0019](2.1)在視頻第一幀上提取特征點(diǎn),并利用光流法對(duì)其進(jìn)行跟蹤,得到在下一幀上特征點(diǎn)位置的預(yù)測(cè)值;
[0020](2.2)為了減少噪聲的干擾,需要通過可靠性驗(yàn)證來過濾不可靠的跟蹤結(jié)果;
[0021](2.3)隨著新的場(chǎng)景進(jìn)入視野,需要在沒有特征點(diǎn)的圖像區(qū)域重新提取特征點(diǎn);
[0022](2.4)根據(jù)特征點(diǎn)匹配的結(jié)果構(gòu)建特征點(diǎn)的軌跡。
[0023]進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述步驟(2.4)中特征點(diǎn)的軌跡是指一個(gè)特征點(diǎn)在一段連續(xù)子序列的每一幀上的匹配點(diǎn)構(gòu)成的集合。
[0024]在本發(fā)明的一個(gè)實(shí)施例中,所述步驟(3)具體包括:
[0025](3.1)清空關(guān)鍵幀隊(duì)列,并將視頻序列的第一幀作為初始關(guān)鍵幀加入關(guān)鍵幀隊(duì)列;
[0026](3.2)設(shè)置搜索起始幀為關(guān)鍵幀隊(duì)列的最后一幀,然后將當(dāng)前幀初始化為搜索起始幀;
[0027](3.3)判斷當(dāng)前幀是否是視頻序列的最后一幀。如果是,則執(zhí)行步驟(3.7),如果不是,則當(dāng)前幀沿視頻序列向后移動(dòng)一幀;
[0028](3.4)根據(jù)搜索起始幀和當(dāng)前幀之間的匹配計(jì)算基礎(chǔ)矩陣,統(tǒng)計(jì)滿足極線幾何約束的匹配點(diǎn)的數(shù)量,并將不滿足該約束的匹配剔除;
[0029](3.5)根據(jù)搜索起始幀和當(dāng)前幀之間的匹配計(jì)算單應(yīng)變換矩陣,統(tǒng)計(jì)滿足單應(yīng)變換矩陣約束的匹配點(diǎn)數(shù)量占所有匹配點(diǎn)數(shù)量的比例;
[0030](3.6)判斷搜索起始幀和當(dāng)前幀之間滿足極線幾何約束的匹配點(diǎn)數(shù)量是否小于預(yù)先設(shè)定的閾值,判斷搜索起始幀和當(dāng)前幀之間滿足單應(yīng)變換的匹配點(diǎn)比例是否小于一個(gè)閾值。如果二者滿足其一,即終止當(dāng)前向后搜索過程,把當(dāng)前幀作為新的關(guān)鍵幀加入關(guān)鍵幀隊(duì)列的尾部,并執(zhí)行步驟(3.2);如果二者皆不滿足,則執(zhí)行步驟(3.3)。
[0031](3.7)關(guān)鍵幀選取過程結(jié)束,返回關(guān)鍵幀隊(duì)列。
[0032]在本發(fā)明的一個(gè)實(shí)施例中,所述步驟(4)具