利用單個Kinect計算著裝人體三維凈體模型的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種人體模型計算方法,特別是一種利用單個Kinect為著裝人體計 算三維凈體模型的方法,可方便地為著裝人體計算出真實的三維凈體模型。
【背景技術(shù)】
[0002] 個性化三維人體模型在虛擬現(xiàn)實領(lǐng)域起著至關(guān)重要的作用,電影動畫、三維游戲 設(shè)計、虛擬試穿及三維服裝設(shè)計都與個性化三維人體模型密切相關(guān)。因此,迫切需要快速、 經(jīng)濟、準(zhǔn)確地構(gòu)造個性化三維人體模型?,F(xiàn)存的三維人體模型構(gòu)造方法大致可分為如下幾 類:幾何交互方法、三維掃描方法、深度圖像注冊方法和利用多個Kinect獲取深度圖像的 方法。其中,幾何交互方法分為用現(xiàn)有軟件創(chuàng)建三維人體網(wǎng)格結(jié)構(gòu)和對三維人體模板模型 進行變形兩種方式,該類方法需要專業(yè)技術(shù)人員或依賴于模板本身;三維掃描方法通過結(jié) 構(gòu)光或激光掃描儀獲取人體三維信息,結(jié)構(gòu)光掃描儀受環(huán)境光影響較大,而激光掃描儀往 往體積龐大,兩種掃描儀價格都很昂貴且獲取的數(shù)據(jù)存在較大空洞,需要后續(xù)處理,不適合 普通用戶;深度圖像注冊方法利用深度攝像機獲取人體的RBG-D圖像,并將不同視角的圖 像通過不同方法進行匹配與注冊來獲取完整的三維人體模型,該類方法計算量大且深度攝 像機價格也比較昂貴。隨著微軟公司研發(fā)的廉價的RGB-D攝像頭Kinect的出現(xiàn),已有少數(shù) 基于Kinect的三維人體模型計算方法,但存在裝置復(fù)雜、需要多個Kinect、速度慢且精度 不高等問題,且不是計算三維凈體模型,不適用于虛擬試穿。
【發(fā)明內(nèi)容】
[0003] 針對上述提到的已有的個性化三維凈體模型計算方法無法調(diào)和快速、經(jīng)濟、準(zhǔn)確 之間的矛盾這一問題,本發(fā)明提供了一種利用單個Kinect計算著裝人體三維凈體模型的 方法。
[0004] 本發(fā)明方法通過單個Kinect獲取著裝人體自主旋轉(zhuǎn)一周的RGB-D圖像,受限于 Kinect精度,將不同視角的深度圖像進行注冊以獲取粗糙的三維人體形狀,然后將從三維 凈體樣本模型庫中挑選模板模型與粗糙三維人體形狀進行擬合來獲取精細并準(zhǔn)確的三維 凈體模型。
[0005] 如圖2所示,本發(fā)明所采用的技術(shù)方案包括以下步驟:
[0006] 1)將Kinect深度攝像頭與色彩攝像頭利用OpenNI進行標(biāo)定,著裝人體以站立姿 勢旋轉(zhuǎn)一周,捕捉其多幀RGB-D圖像及其骨架信息,RGB-D圖像包含有RGB圖像和深度圖像; 然后將RGB-D圖像中的深度圖像轉(zhuǎn)換到世界坐標(biāo)系下,并將人體深度圖像從中提取出來, 用隱式曲面擬合法將每一幀人體深度圖像進行去噪處理,以獲取平滑的人體深度圖像;
[0007] 2)自主旋轉(zhuǎn)導(dǎo)致的肢體小幅度運動、肌肉抖動和呼吸等動作造成的人體表面形變 需要用非剛性注冊方法來解決,采用準(zhǔn)剛性分部注冊方法,把人體除頭以外的部分分為多 個剛性部位,然后將人體深度圖像進行分割,得到著裝人體各個剛性部位的分部人體深度 圖像;再將人體正面和背面的分部人體深度圖像分別注冊融合到人體深度圖像的初始幀, 得到人體正面和背面的三維人體形狀;接著利用人體側(cè)面的深度圖像將上述人體正面和背 面的三維人體形狀匹配組合成完整的三維人體形狀,再用隱式曲面擬合法去噪;
[0008] 3)采集多個三維凈體樣本模型作為三維凈體樣本模型庫,構(gòu)造三維凈體樣本模型 矩陣,用主成分分析法對三維凈體樣本模型矩陣進行降維,獲得低維三維凈體樣本矩陣,并 得到低維三維凈體樣本矩陣與三維凈體樣本模型矩陣之間的映射矩陣;
[0009] 4)從三維凈體樣本模型庫中,選取一個與著裝人體體型最相近的三維凈體模型作 為模板模型,將模板模型與人體深度圖像初始幀的人體姿態(tài)對齊;
[0010] 5)利用圓柱坐標(biāo)分部尋找對應(yīng)點,再利用拉普拉斯網(wǎng)格變形法將模板模型與三維 人體形狀進行擬合,由于被拍攝的人體穿著衣服,上述擬合可導(dǎo)致凈體模板模型被拉伸到 人體形狀域外,因此將擬合后的模板模型利用映射矩陣降維,然后乘以映射矩陣獲得三維 凈體模型以消除過度擬合,解決過度擬合問題;
[0011] 6)重復(fù)步驟5)依次迭代,直到相鄰兩次的迭代結(jié)果的平均位移標(biāo)準(zhǔn)差小于位移 標(biāo)準(zhǔn)差閾值D,或迭代次數(shù)大于迭代次數(shù)閾值E次,得到符合人體形態(tài)且最接近真實人體的 三維凈體模型。
[0012] 所述的步驟1)和步驟2)隱式曲面擬合法采用以下過程計算:
[0013]a)計算人體深度圖像點云數(shù)據(jù)的隱式曲面,對任一空間點X,由以下公式表示的 隱式曲面擬合法計算距離函數(shù)f(x):
[0014]
【主權(quán)項】
1. 一種利用單個Kinect計算著裝人體=維凈體模型的方法,其特征在于: 1) 將Kinect深度攝像頭與色彩攝像頭利用化enNI進行標(biāo)定,著裝人體W站立姿勢旋 轉(zhuǎn)一周,捕捉其多帖RGB-D圖像及其骨架信息,RGB-D圖像包含有RGB圖像和深度圖像; 然后將RGB-D圖像中的深度圖像轉(zhuǎn)換到世界坐標(biāo)系下,并將人體深度圖像從中提取 出來,用隱式曲面擬合法將每一帖人體深度圖像進行去噪處理,W獲取平滑的人體深度圖 像; 2) 采用準(zhǔn)剛性分部注冊方法,把人體除頭W外的部分分為多個剛性部位,然后將人體 深度圖像進行分割,得到著裝人體各個剛性部位的分部人體深度圖像; 再將人體正面和背面的分部人體深度圖像分別注冊融合到人體深度圖像的初始帖,得 到人體正面和背面的=維人體形狀;接著利用人體側(cè)面的深度圖像將上述人體正面和背面 的=維人體形狀匹配組合成完整的=維人體形狀,再用隱式曲面擬合法去噪; 3) 采集多個=維凈體樣本模型作為=維凈體樣本模型庫,構(gòu)造=維凈體樣本模型矩 陣,用主成分分析法對=維凈體樣本模型矩陣進行降維,獲得低維=維凈體樣本矩陣,并得 到低維=維凈體樣本矩陣與=維凈體樣本模型矩陣之間的映射矩陣; 4)從=維凈體樣本模型庫中,選取一個與著裝人體體型最相近的=維凈體模型作為模 板模型,將模板模型與人體深度圖像初始帖的人體姿態(tài)對齊; 5)利用圓柱坐標(biāo)分部尋找對應(yīng)點,再利用拉普拉斯網(wǎng)格變形法將模板模型與=維人體 形狀進行擬合,將擬合后的模板模型利用映射矩陣降維,然后乘W映射矩陣獲得=維凈體 模型W消除過度擬合; 6) 重復(fù)步驟5)依次迭代,直到相鄰兩次的迭代結(jié)果的平均位移標(biāo)準(zhǔn)差小于位移標(biāo)準(zhǔn) 差闊值D,或迭代次數(shù)大于迭代次數(shù)闊值E次,得到符合人體形態(tài)且最接近真實人體的=維 凈體模型。
2.根據(jù)權(quán)利要求1所述的一種利用單個Kinect計算著裝人體=維凈體模型的方法,其 特征在于;所述的步驟1)和步驟2)隱式曲面擬合法采用W下過程計算: a) 計算人體深度圖像點云數(shù)據(jù)的隱式曲面,對任一空間點X,由W下公式表示的隱式 曲面擬合法計算距離函數(shù)f(x):
其中,Pi是點云中第i點,ni為Pi的法向量,i是深度圖像點云中點的序數(shù),巧(X)表示 高斯核函數(shù),并采用W下公式計算:
其中,0 2為方差. b) 對于滿足距離函數(shù)f(x) =0條件的所有空間點X組成著裝人體曲面,再剔除其中遠 離該人體曲面距離的點Pi,進行去噪。
3.根據(jù)權(quán)利要求2所述的一種利用單個Kinect計算著裝人體=維凈體模型的方法, 其特征在于;所述步驟b)中剔除其中遠離該