一種3d人體模型骨骼自動綁定過程及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及人體3D模型數(shù)據(jù)采集及應(yīng)用領(lǐng)域,特別指一種3D人體模型骨骼自動 綁定過程及方法。
【背景技術(shù)】
[0002] 現(xiàn)代科技的飛速發(fā)展,及3D掃描、打印等3D數(shù)據(jù)采集應(yīng)用等領(lǐng)域的技術(shù)突破,給 3D模型數(shù)據(jù)的應(yīng)用發(fā)展奠定了堅實的基礎(chǔ),人體模型數(shù)據(jù)屬于3D模型數(shù)據(jù)中的一種,其廣 泛應(yīng)用于服裝,動畫,人機(jī)工程以及醫(yī)學(xué)等領(lǐng)域,是發(fā)展人體(人臉)模式識別,特種服裝設(shè) 計(如航空航天服,潛水服),人體特殊裝備(人體假肢,個性化武器裝備),以及開展人機(jī)工 程研究的理想工具;人體3D掃描技術(shù)得到完整、精細(xì)的人體模型數(shù)據(jù),并將其以一定格式 的數(shù)據(jù)文件存儲在計算機(jī)等工具中。
[0003] 人體3D模型數(shù)據(jù)用于動畫及3D游戲領(lǐng)域時,需要控制3D人體模型運動,現(xiàn)有的 游戲動畫模型采用人工建模的方式得到3D模型,比如通過3dmax、maya、3dbuilder等軟件 得到3D模型,再通過unity3等技術(shù)控制3D模型的運動,但是該種技術(shù)的適用客體是通過 人工建模得到的3D模型,對于由3D掃描技術(shù)得到的真人人體3D模型進(jìn)行的運動控制技術(shù) 在國內(nèi)尚屬空白,而真人人體3D模型包括骨骼及皮膚,真人人體3D模型運動必然涉及到骨 骼及皮膚的同時運動,因此首先需要對真人人體3D模型的骨骼進(jìn)行綁定定位,以便后續(xù)控 制其運動。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明要解決的技術(shù)問題是針對上述現(xiàn)有技術(shù)的不足,提供一種基于3D人體掃 描技術(shù)得到的真人3D模型數(shù)據(jù),并定位該真人3D模型的關(guān)節(jié)點及四肢,進(jìn)而確定四肢及軀 干中心線的3D人體模型骨骼自動綁定過程及方法。
[0005] 本發(fā)明采取的技術(shù)方案如下:一種3D人體模型骨骼自動綁定過程及方法,包括以 下步驟: A. 獲取人體3D模型數(shù)據(jù)文件,以得到表示人體三維形狀的點集; B. 對人體3D模型數(shù)據(jù)文件進(jìn)行四肢識別,以便確定人體的關(guān)節(jié)點,繼而確定四肢及軀 干對應(yīng)的點集; C. 對人體3D模型數(shù)據(jù)文件進(jìn)行中心線和關(guān)節(jié)定位,以便通過人體軀干及四肢對應(yīng)的 二個關(guān)節(jié)點,確定兩關(guān)節(jié)點對應(yīng)的兩個平面點集,并通過兩平面點集的中心點確定軀干或 四肢的中心線。
[0006] 優(yōu)選地,所述的步驟B包括以下步驟: BI.將人體3D模型數(shù)據(jù)文件中的點集根據(jù)Z軸大小排序; B2.從小到大依次取人體3D數(shù)據(jù)文件中一高度值,得到該高度值處的平面點集; B3.以點的X軸坐標(biāo)確定平面點集中的界點; B4.通過界點將平面點集分為多個子平面點集; B5.計算各子平面點集的點之間的距離; B6.重復(fù)步驟B2-B5,直至步驟B5中的距離等于零時,得到各平面點集的交點,該交點 即為關(guān)節(jié)點; B7.確定二個相鄰關(guān)節(jié)點之間的點集即為四肢的點集。
[0007] 優(yōu)選地,所述的步驟C包括以下步驟: Cl.確定關(guān)節(jié)點的坐標(biāo),根據(jù)相鄰兩關(guān)節(jié)點的高度確定對應(yīng)高度處的平面點集; C2.確定二平面點集中距離最大的二個點; C3.重復(fù)步驟C2得到另一條直線,得到該直線與步驟C2中的直線的交點,該交點為平 面點集的中心點; C4.重復(fù)步驟C1-C3得到另一平面點集中的中心點; C5.連接步驟C3與步驟C4的兩中心點得到四肢點集的中心線。
[0008] 本發(fā)明的有益效果在于: 本發(fā)明在3D掃描技術(shù)的基礎(chǔ)上進(jìn)行擴(kuò)展研發(fā),通過3D掃描技術(shù)得到真人人體3D模型 數(shù)據(jù),該數(shù)據(jù)文件的格式為obj,obj文件的儲存原理即為將真人人體3D模型放置在三維 坐標(biāo)系中,并將該真人人體3D模型轉(zhuǎn)化為點集的形式得以表示,而點集中的每個點在三維 坐標(biāo)系中均有其唯一的三維坐標(biāo),因此實際上該文件是將真人人體3D模型轉(zhuǎn)化為帶有坐 標(biāo)的點集儲存在計算機(jī)中,以便后續(xù)使用,真人人體3D模型由多個點形成的點集組成其外 部形狀結(jié)構(gòu);本發(fā)明首先獲取掃描得到的真人人體3D模型數(shù)據(jù)obj文件;然后,由腳底至 頭頂逐次取不同高度的點進(jìn)行分析,將obj文件中的關(guān)節(jié)點找到,再通過關(guān)節(jié)點確定人體 四肢及軀干所對應(yīng)的點集;最后利于四肢或軀干的兩關(guān)節(jié)點高度確定關(guān)節(jié)點對應(yīng)的平面點 集,該平面點集形成的形狀與人體關(guān)節(jié)出的橫截面一致,取平面點集中二組點,各組為二個 點,并將二組點分別連接形成連線,兩條連線的交點即可確定為該平面點集的中心,精確度 要求較高時,可以取多個這樣的二組點,多個二組點對應(yīng)的形成多個交點,這些交點重新形 成一個平面點集,按照同樣的方法確定該平面點集的中心,該中心更為接近關(guān)節(jié)點處平面 點集的實際中心,中心的精確性可根據(jù)實際需要確定;得到一個關(guān)節(jié)點平面點集的中心后, 利用同樣的方法得到另一關(guān)節(jié)點的中心,將兩中心連接,從而形成該四肢或軀干的中心線; 本發(fā)明邏輯清晰,步驟精簡,獨創(chuàng)性地提出了一種不需要利用復(fù)雜的計算機(jī)軟件或通過人 工輔助等方式也可實現(xiàn)對真人人體3D模型四肢及軀干的關(guān)節(jié)點及中心線的自動綁定的方 法。
【附圖說明】
[0009] 圖1為本發(fā)明的步驟流程示意圖。
[0010] 圖2為圖1中步驟B的具體流程示意圖。
[0011] 圖3為圖1中步驟C的具體流程示意圖。
[0012] 圖4為圖2中步驟B2至步驟M高度確定情況下具有二個平面點集時平面點集的 劃分示意圖。
[0013] 圖5為圖2中步驟B2至步驟M高度確定情況下具有三個平面點集時平面點集的 劃分示意圖。
[0014] 圖6為圖3中關(guān)節(jié)點處平面點集是中心點確定示意圖。
[0015] 圖7為圖3中二個平面點集的中心線即四肢中心線的確定示意圖。
[0016] 圖8為本發(fā)明3D人體模型骨骼點集平面示意圖。
【具體實施方式】
[0017] 下面將結(jié)合附圖對本發(fā)明作進(jìn)一步描述: 如圖1至圖3所示,本發(fā)明采取的技術(shù)方案如下:一種3D人體模型骨骼自動綁定過程 及方法,包括以下步驟: A. 獲取人體3D模型數(shù)據(jù)文件,以得到表示人體三維形狀的點集; B. 對人體3D模型數(shù)據(jù)文件進(jìn)行四肢識別,以便確定人體的關(guān)節(jié)點,繼而確定四肢及軀 干對應(yīng)的點集; C. 對人體3D模型數(shù)據(jù)文件進(jìn)行中心線和關(guān)節(jié)定位,以便通過人體軀干及四肢對應(yīng)的 二個關(guān)節(jié)點,確定兩關(guān)節(jié)點對應(yīng)的兩個平面點集,并通過兩平面點集的中心點確定軀干或 四肢的中心線。
[0018] 所述的步驟B包括以下步驟: BI.將人體3D模型數(shù)據(jù)文件中的點集根據(jù)Z軸大小排序; B2.從小到大依次取人體3D數(shù)據(jù)文件中一高度值(Z軸的值),得到該高度值處的平面 點集; B3.以點的X軸坐標(biāo)確定平面點集中的界點; B4.通過界點將平面點集分為多個子平面點集; B5.計算各子平面點集的點之間的距離; B6.重復(fù)步驟B2-B5,直至步驟B5中的距離等于零時,得到各平面點集的交點,該交點 即為關(guān)節(jié)點; B7.確定二個相鄰關(guān)節(jié)點之間的點集即為四肢的點集。
[0019] 所述的步驟C包括以下步驟: Cl.確定關(guān)節(jié)點的坐標(biāo),根據(jù)相鄰兩關(guān)節(jié)點的高度確定對應(yīng)高度處的平面點集; C2.確定二平面點集中距離最大的二個點; C3.重復(fù)步驟C2得到另一條直線,得到該直線與步驟C2中的直線的交點,該交點為平 面點集的中心點; C4.重復(fù)步驟C1-C3得到另一平面點集中的中心點; C5.連接步驟C3與步驟C4的兩中心點得到四肢點集的中心線。
[0020] 進(jìn)一步,本發(fā)明在3D掃描技術(shù)的基礎(chǔ)上進(jìn)行擴(kuò)展研發(fā),通過3D掃描技術(shù)得到真 人人體3D模型數(shù)據(jù),該數(shù)據(jù)文件的格式為obj,obj文件的儲存原理即為將真人人體3D模 型放置在三維坐標(biāo)系中,并將該真人人體3D模型