專利名稱:基于肌肉體積不變性的人肢體三維建模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于肌肉體積不變性的人肢體三維建模方法,用于感知接口,運(yùn)動(dòng)分析和虛擬現(xiàn)實(shí)等應(yīng)用領(lǐng)域,在醫(yī)學(xué)圖像、生物醫(yī)學(xué)、手勢(shì)識(shí)別、視頻會(huì)議、視頻游戲、自動(dòng)新聞播放、電影制作、材料變形、圖象壓縮等方面都有實(shí)際應(yīng)用價(jià)值。屬于計(jì)算機(jī)視覺(jué)和計(jì)算機(jī)圖形學(xué)領(lǐng)域。
背景技術(shù):
運(yùn)動(dòng)分析領(lǐng)域的研究對(duì)象主要分為剛性物體、連接剛體和非剛性物體等。計(jì)算機(jī)視覺(jué)中的運(yùn)動(dòng)分析研究均主要集中在對(duì)剛體運(yùn)動(dòng)的研究,且學(xué)者們已取得了一系列的成果,并建立了較為完善的理論框架,但是,在現(xiàn)實(shí)世界中大多是非剛體運(yùn)動(dòng)。人體屬于非剛體。
在過(guò)去的十幾年中,可變形的人體建模已經(jīng)取得了一些成績(jī)。Nahas等使用了B樣條曲面表示人身體和臉部的柔軟的運(yùn)動(dòng)。Petland等介紹了一種基于有限元的方法模型。Terzopoulos等介紹了表達(dá)成一個(gè)超橢球形式的全局形狀參數(shù)和樣條形式的局部自由度相結(jié)合的可變形的超二次曲面的模型。Min等使用三種基本軟體來(lái)對(duì)各種形狀的人體上肢和肩部肌肉建模,一個(gè)點(diǎn)基元產(chǎn)生一個(gè)橢圓體,一組連接的線段產(chǎn)生一個(gè)圓柱體,一個(gè)三角網(wǎng)格產(chǎn)生一個(gè)復(fù)雜的形狀。Sminchisescu等提出了一種人體模型,它由運(yùn)動(dòng)骨架和肌肉構(gòu)成,連接的節(jié)點(diǎn)構(gòu)成的骨架由節(jié)點(diǎn)的角度參數(shù)控制,并覆蓋了包含輔助錐化和彎曲參數(shù)的超二次橢圓面構(gòu)成的肌肉。模型包含30個(gè)節(jié)點(diǎn)參數(shù)和8個(gè)內(nèi)部比例參數(shù),并且每個(gè)肢體又包含9個(gè)變形參數(shù)。Plankers等把一種稱為元球或軟體的隱式曲面附在人體的連接骨架上并按照解剖學(xué)的近似程度來(lái)排列這些元球。這個(gè)人體模型共使用了230個(gè)元球,并使用B樣條曲面片進(jìn)行蒙皮。還可以用blobby分子、軟體、卷積曲面等各種隱式曲面進(jìn)行人體建模。但這些方法都采用較為復(fù)雜的非剛體運(yùn)動(dòng)模型,控制參數(shù)較多,不能很好的滿足輪廓表示的評(píng)價(jià)標(biāo)準(zhǔn)即表示的簡(jiǎn)潔性和適合于后處理階段的計(jì)算。所以這些模型在表示人體輪廓方面缺乏實(shí)用性。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有人體三維模型代表皮膚變形的參數(shù)過(guò)多的不足,提出一種基于肌肉體積不變性的人肢體三維建模方法,簡(jiǎn)單而實(shí)現(xiàn)容易,建立的模型使用非常少的參數(shù)就可以代表人肢體皮膚的變形,降低運(yùn)動(dòng)分析的計(jì)算量,適合于各種彈性連接剛體的建模。
為實(shí)現(xiàn)這樣的目的,本發(fā)明建立的人肢體三維模型分為兩層骨架層和皮膚層。骨架層代表了人肢體的骨架結(jié)構(gòu),由關(guān)節(jié)點(diǎn)和連接這些關(guān)節(jié)點(diǎn)的線段組成。皮膚層用一種新的旋轉(zhuǎn)圓錐曲面表示,每個(gè)肢體只需調(diào)整一個(gè)變形參數(shù)就能反映出皮膚的變形。首先采用雙目立體視覺(jué)系統(tǒng)拍攝人肢體擺姿勢(shì)的圖像序列,從雙目圖像序列中提取、匹配標(biāo)記點(diǎn),通過(guò)雙目立體視覺(jué)方法確定各個(gè)時(shí)刻左右圖像標(biāo)記點(diǎn)的空間三維坐標(biāo),再根據(jù)標(biāo)記點(diǎn)三維坐標(biāo)和先驗(yàn)知識(shí)求出各個(gè)時(shí)刻各個(gè)肢體骨架的空間三維位置信息。把第一幀圖像上各個(gè)肢體上標(biāo)記點(diǎn)的三維坐標(biāo)值代入所屬的旋轉(zhuǎn)圓錐曲面方程組求出第一幀圖像各個(gè)肢體的變形參數(shù),并求出各個(gè)旋轉(zhuǎn)圓錐曲面的體積。根據(jù)人體皮膚變形時(shí)每個(gè)肢體的肌肉體積基本保持不變的性質(zhì),根據(jù)第一幀圖像得到的各個(gè)肢體旋轉(zhuǎn)圓錐曲面體積求出之后的各幀圖像各個(gè)肢體的變形參數(shù)。利用各個(gè)時(shí)刻各個(gè)肢體的變形參數(shù)得到各個(gè)時(shí)刻各個(gè)肢體的旋轉(zhuǎn)圓錐曲面,最后使用圓球體和旋轉(zhuǎn)圓錐曲面繪制人肢體模型。
本發(fā)明的建模方法主要包括以下幾個(gè)步驟1.從圖像中提取、匹配標(biāo)記點(diǎn),求出標(biāo)記點(diǎn)對(duì)應(yīng)的空間三維坐標(biāo)。
分別在人的上肢體和下肢體上各設(shè)置三個(gè)標(biāo)記點(diǎn),采用雙目立體視覺(jué)系統(tǒng)拍攝得到人肢體擺姿勢(shì)的左、右兩個(gè)圖像序列,提取各個(gè)時(shí)刻左、右圖像中這些標(biāo)記點(diǎn)的圖像平面二維坐標(biāo),其中第一幀圖像上每個(gè)肢體提取三個(gè)標(biāo)記點(diǎn),之后的各幀圖像上每個(gè)肢體只提取兩端兩個(gè)標(biāo)記點(diǎn),得出左側(cè)攝像機(jī)圖像與右側(cè)攝像機(jī)圖像上標(biāo)記點(diǎn)之間的對(duì)應(yīng)關(guān)系。通過(guò)攝像機(jī)標(biāo)定技術(shù)求出左、右攝像機(jī)圖像上平面二維坐標(biāo)與世界坐標(biāo)系空間三維坐標(biāo)的對(duì)應(yīng)關(guān)系,由得到的各個(gè)時(shí)刻左、右圖像上標(biāo)記點(diǎn)二維坐標(biāo)求出對(duì)應(yīng)的空間三維坐標(biāo)。
2.提取人肢體骨架位置信息。
因?yàn)楦鱾€(gè)肢體三個(gè)標(biāo)記點(diǎn)中兩端的兩個(gè)標(biāo)記點(diǎn)處肢體半徑不因?yàn)槠つw的變形而改變。所以根據(jù)各個(gè)肢體三個(gè)標(biāo)記點(diǎn)中兩端的兩個(gè)標(biāo)記點(diǎn)的三維坐標(biāo)和事先測(cè)量得到的兩端兩個(gè)標(biāo)記點(diǎn)處肢體半徑,并根據(jù)標(biāo)記點(diǎn)與骨架端點(diǎn)的位置關(guān)系求出各個(gè)時(shí)刻骨架端點(diǎn)的空間三維坐標(biāo),由此獲得骨架的空間三維位置信息;3.求出旋轉(zhuǎn)圓錐曲面對(duì)第一幀圖像,在肢體的三個(gè)標(biāo)記點(diǎn)中兩端的兩個(gè)標(biāo)記點(diǎn)A、B形成的線段上方設(shè)定空間一點(diǎn)C,經(jīng)過(guò)三點(diǎn)A、B、C的平面外設(shè)定一點(diǎn)D,四點(diǎn)A、B、C、D形成三個(gè)平面ACD、BCD、ABD,根據(jù)這三個(gè)平面確定經(jīng)過(guò)點(diǎn)A、B且與直線AC、BC相切的圓錐曲面方程,此圓錐曲面與經(jīng)過(guò)A、B、C三點(diǎn)的平面的交線形成圓錐曲線,把圓錐曲線繞骨架直線旋轉(zhuǎn)形成旋轉(zhuǎn)圓錐曲面,建立旋轉(zhuǎn)圓錐曲面方程組,把得到的各個(gè)肢體上標(biāo)記點(diǎn)的空間三維坐標(biāo)值代入所屬的旋轉(zhuǎn)圓錐曲面方程組求解,得到各個(gè)肢體旋轉(zhuǎn)圓錐曲面的變形參數(shù)ρ,并求出各個(gè)肢體旋轉(zhuǎn)圓錐曲面的體積。
雖然各個(gè)時(shí)刻各個(gè)肢體皮膚會(huì)發(fā)生變形,但各個(gè)肢體的肌肉體積是保持不變的。因此根據(jù)得到的第一幀圖像各個(gè)肢體旋轉(zhuǎn)圓錐曲面體積,求出之后各幀圖像上各個(gè)肢體旋轉(zhuǎn)圓錐曲面的變形參數(shù)ρ。由各個(gè)時(shí)刻各個(gè)肢體變形參數(shù)ρ確定各個(gè)時(shí)刻各個(gè)肢體的旋轉(zhuǎn)圓錐曲面。
4.模型繪制本發(fā)明使用OpenGL程序采用平行投影方法繪制三維人肢體模型,使用三個(gè)圓球體代表肢體的三個(gè)關(guān)節(jié)點(diǎn),采用求得的旋轉(zhuǎn)圓錐曲面來(lái)代表上肢體和下肢體皮膚,連接這三個(gè)圓球體和兩個(gè)旋轉(zhuǎn)圓錐曲面構(gòu)成人肢體模型。
本發(fā)明方法簡(jiǎn)單,實(shí)現(xiàn)容易。建立的模型使用非常少的參數(shù)就可以代表人肢體皮膚的變形,每個(gè)肢體只需一個(gè)變形參數(shù),具有高層次描述和預(yù)測(cè)遮擋的能力。本發(fā)明方法適合于許多彈性連接剛體的模型建立。實(shí)驗(yàn)采用便宜、容易安裝的視頻攝像頭來(lái)采集數(shù)據(jù),不需要附加設(shè)備,代表皮膚變形的旋轉(zhuǎn)圓錐曲面方程組和求解算法簡(jiǎn)單,大大降低了運(yùn)動(dòng)分析的計(jì)算復(fù)雜性。
圖1為本發(fā)明采用的圓錐曲線。
圖1中,A,B,C為三個(gè)頂點(diǎn),通過(guò)這三個(gè)頂點(diǎn)坐標(biāo)確定圓錐曲線方程。
圖2為人肢體的骨架結(jié)構(gòu)。
圖2中,j1、j2、j3是關(guān)節(jié)點(diǎn),連接這些關(guān)節(jié)點(diǎn)的線段構(gòu)成一個(gè)手臂的兩個(gè)肢體上肢體和下肢體。
圖3為本發(fā)明的旋轉(zhuǎn)圓錐曲面結(jié)構(gòu)示意圖。
圖3中,L是代表人肢體骨架的線段,S是圓錐曲線,S繞L旋轉(zhuǎn)一周形成旋轉(zhuǎn)圓錐曲面。P0是線段L上的一點(diǎn),e是線段L的方向向量,P是旋轉(zhuǎn)圓錐曲面上任意一點(diǎn),過(guò)P點(diǎn)做與線段L垂直的平面,此平面與圓錐曲線S的交點(diǎn)為PS,此平面與線段L的交點(diǎn)為O,A、B是圓錐曲線S的兩個(gè)端點(diǎn),AL、BL是線段L的兩個(gè)端點(diǎn)。
圖4為本發(fā)明基于圖像標(biāo)記點(diǎn)建模的實(shí)驗(yàn)結(jié)果。
圖4中,第一行是左側(cè)攝像機(jī)拍攝的圖像序列,第二行是對(duì)應(yīng)于第一行圖像的反映人肢體運(yùn)動(dòng)和皮膚變形的三維模型表達(dá)。
具體實(shí)施例方式
為了更好地理解本發(fā)明的技術(shù)方案,以下結(jié)合附圖和實(shí)施例作進(jìn)一步的詳細(xì)描述。實(shí)施例具體針對(duì)附圖4第一行第一幀和第二幀圖像(左側(cè)攝像機(jī)拍攝)上肢體進(jìn)行人肢體建模過(guò)程的描述。
1.從圖像中提取、匹配標(biāo)記點(diǎn)并求出標(biāo)記點(diǎn)對(duì)應(yīng)的空間三維坐標(biāo)。本發(fā)明方法在人肢體皮膚上貼了六個(gè)紙標(biāo)記點(diǎn),其中三個(gè)在上肢體、三個(gè)在下肢體。使用雙目立體視覺(jué)系統(tǒng)拍攝人肢體擺姿勢(shì)的圖像序列。圖4第一行所示各幀圖像為左側(cè)攝像機(jī)拍攝得到的圖像序列。本發(fā)明在第一幀圖像上每個(gè)肢體只需要3個(gè)特征點(diǎn)就能求出其變形參數(shù),之后的各幀圖像上每個(gè)肢體只需要2個(gè)特征點(diǎn)就能求出其變形參數(shù)。
在第一幀圖像上提取上肢體標(biāo)記點(diǎn)A、B、P的圖像平面二維像素坐標(biāo),左側(cè)攝像機(jī)圖像上標(biāo)記點(diǎn)的像素坐標(biāo)分別為A1(365,266),B1(519,190),P1(444,218);右側(cè)攝像機(jī)圖像上標(biāo)記點(diǎn)的像素坐標(biāo)分別為A2(552,289),B2(700,209),P2(627,241)。通過(guò)攝像機(jī)標(biāo)定技術(shù)求出左、右圖像像素坐標(biāo)與世界坐標(biāo)系空間三維坐標(biāo)的關(guān)系ZC1u1v11=997.95950372.727600994.4506301.477000010xyz1]]>ZC2u2v21=990.50910361.381600986.1246310.2779000100.9097-0.00530.4150-190.49810.00050.99990.01171.9943-0.4150-0.01040.909741.15330001xyz1]]>其中(u1,v1)為左側(cè)攝像機(jī)圖像上二維像素坐標(biāo),(u2,v2)為右側(cè)攝像機(jī)圖像上二維像素坐標(biāo),(x,y,z)為空間三維坐標(biāo)。
把標(biāo)記點(diǎn)A、B、P在左、右圖像的像素坐標(biāo)值帶入上述方程求出這些標(biāo)記點(diǎn)對(duì)應(yīng)的空間三維坐標(biāo)A(-6.5983,30.516,-853.52),B(115.99,86.684,-791.21),P(58.9288,67.4501,-824.7681)。
采用同樣方法求出第二幀圖像上肢體三個(gè)標(biāo)記點(diǎn)中兩端的兩個(gè)標(biāo)記點(diǎn)A、B對(duì)應(yīng)的空間三維坐標(biāo)A(1.0742,43.654,-838.63),B(119.48,92.469,-782.87)。
2.提取人肢體骨架位置信息。人肢體骨架模型包含關(guān)節(jié)點(diǎn)j1、j2、j3和連接這些關(guān)節(jié)點(diǎn)的線段(上肢體、下肢體),如圖2所示。因?yàn)閳D4中所示上肢體三個(gè)標(biāo)記點(diǎn)中兩端的兩個(gè)標(biāo)記點(diǎn)A、B處肢體半徑幾乎不因?yàn)槠つw的變形而改變,由事先測(cè)量得出標(biāo)記點(diǎn)A處肢體半徑是40,標(biāo)記點(diǎn)B處肢體半徑是49,在第一幀圖像上,由標(biāo)記點(diǎn)A、B的空間三維坐標(biāo)和標(biāo)記點(diǎn)A、B處肢體半徑并根據(jù)圖3中標(biāo)記點(diǎn)A、B與骨架端點(diǎn)AL、BL的位置關(guān)系求出骨架端點(diǎn)的空間三維坐標(biāo)AL(xLA,yLA,zLA)=(6.3824,-6.0572,-847.1456)、BL(xLB,yLB,zLB)=(132.3959,41.6061,-782.6021)。就可得骨架的方向向量e(m,n,p),其中m=xLB-xLA=126.0135,n=y(tǒng)LB-yLA=47.6633,p=zLB-zLA=64.5435。
對(duì)第二幀圖像采用同樣的方法求出骨架端點(diǎn)的空間三維坐標(biāo)AL(xLA,yLA,zLA)=(13.73116,6.18132,-832.70774)、BL(xLB,yLB,zLB)=(134.97276,46.5473,-775.52578)。骨架的方向向量是e(m,n,p),其中m=xLB-xLA=121.2416,n=y(tǒng)LB-yLA=40.3660,p=zLB-zLA=57.1820。由此獲得骨架的空間三維位置信息。
3.求出旋轉(zhuǎn)圓錐曲面。在第一幀圖像上,在上肢體三個(gè)標(biāo)記點(diǎn)中兩端的兩個(gè)標(biāo)記點(diǎn)A、B形成的線段上方設(shè)定空間一點(diǎn)C(-6.5983,30.516,-853.52),如圖1所示。經(jīng)過(guò)三點(diǎn)A、B、C的平面方程為fABC(x,y,z)=-0.5937·x-0.0087·y+1.1759·z+1000=0。在平面fABC(x,y,z)外設(shè)定一點(diǎn)D(10,10,10),四點(diǎn)A、B、C、D形成三個(gè)平面ACD、BCD、ABD,這三個(gè)平面的方程分別為平面ACDa0+a1·x+a2·y+a3·z=1000-0.2333·x-91.024·y-8.7428·z=0平面BCDb0+b1·x+b2·y+b3·z=1000-9365.3·x+8874.4·y+390.9·z=0平面ABDu0+u1·x+u2·y+u3·z=1000+85.1095·x-179.2157·y-5.8939·z=0根據(jù)這三個(gè)平面確定經(jīng)過(guò)點(diǎn)A、B且與直線AC、BC相切的圓錐曲面方程是(a0+a1·x+a2·y+a3·z)(b0+b1·x+b2·y+b3·z)-ρ(u0+u1·x+u2·y+u3·z)=(1000-0.2333·x-91.024·y-8.7428·z)·(1000-9365.3·x+8874.4·y+390.9·z)-ρ(1000+85.1095·x-179.2157·y-5.8939·z)=0建立旋轉(zhuǎn)圓錐曲面方程組m(x-xS)+n(y-yS)+p(z-zS)=0(x-xL)2+(y-yL)2+(z-zL)2=(xS-xL)2+(yS-yL)2+(zS-zL)2(a0+a1xS+a2yS+a3zS)(b0+b1xS+b2yS+b3zS)=ρ(u0+u1xS+u2yS+u3zS)2fABC(xS,yS,zS)=0]]>其中xL=xLA+m·(-m(xLA-xS)+n(yLA-yS)+p(zLA-zS)m2+n2+p2)yL=yLA+n·(-m(xLA-xS)+n(yLA-yS)+p(zLA-zS)m2+n2+p2)zL=zLA+p·(-m(xLA-xS)+n(yLA-yS)+p(zLA-zS)m2+n2+p2)]]>根據(jù)此方程組的第一個(gè)方程式求出xS和xL的關(guān)系方程xS=T(xL)。
把前面求得的AL(xLA,yLA,zLA),e(m,n,p),(a0,a1,a2,a3,b0,b1,b2,b3,u0,u1,u2,u3),fABC(x,y,z)的值代入上述非線性方程組,把P(xP,yP,zP)值代入上述方程組中的(x,y,z),采用非線性最小二乘法求出未知參數(shù)PS(xS,yS,zS)和ρ=0.5463,ρ是此時(shí)刻上肢體旋轉(zhuǎn)圓錐曲面的變形參數(shù)。旋轉(zhuǎn)圓錐曲面體積公式為V=∫xLAxLBπ{[T(xL)-mT(xL)-n[yLA-n′xLA-yS(T(xL))]-p[zLA-p′xLA-zS(T(xL))]m+n·n′+p·p′]2+[yS(T(xL))]]>-yLA-n′[mT(xL)-n[yLA-n′xLA-yS(T(xL))]-p[zLA-p′xLA-zS(T(xL))]m+n·n′+p·p′-xLA]]2+[zS(T(xL))-zLA]]>-p′[mT(xL)-n[yLA-n′xLA-yS(T(xL))]-p[zLA-p′xLA-zS(T(xL))]m+n·n′+p·p′-xLA]]2}1+n′2+p′2dxL]]>其中y=y(tǒng)S(x)和z=zS(x)是旋轉(zhuǎn)圓錐曲線S的參數(shù)方程形式,n′=nm,]]>,p′=pm.]]>根據(jù)旋轉(zhuǎn)圓錐曲面體積公式求出上肢體旋轉(zhuǎn)圓錐曲面體積為585250。采用同樣的方法可求得代表下肢體皮膚的旋轉(zhuǎn)圓錐曲面變形參數(shù)和體積。
雖然各個(gè)時(shí)刻各個(gè)肢體皮膚會(huì)發(fā)生變形,但各個(gè)時(shí)刻各個(gè)肢體的肌肉體積是不變的。對(duì)第二幀圖像,根據(jù)肌肉體積不變性原理把第一幀圖像上得到的上肢體旋轉(zhuǎn)圓錐曲面體積值和AL(xLA,yLA,zLA),BL(xLA,yLA,zLA),e(m,n,p),n’,p’,(a0,a1,a2,a3,b0,b1,b2,b3,u0,u1,u2,u3),fABC(x,y,z),xS=T(xL),y=y(tǒng)S(x),z=zS(x)的值帶入旋轉(zhuǎn)圓錐曲面體積公式求出變形參數(shù)ρ=1.1281,采用同樣的方法可求得代表下肢體皮膚的旋轉(zhuǎn)圓錐曲面變形參數(shù)。由各個(gè)時(shí)刻各個(gè)肢體變形參數(shù)ρ確定各個(gè)時(shí)刻各個(gè)肢體旋轉(zhuǎn)圓錐曲面。
4.模型繪制。如圖4第2行,使用OpenGL程序采用平行投影方法繪制得到的三維右臂模型,使用三個(gè)半徑分別為50、40、30的圓球體代表j1、j2、j3三個(gè)關(guān)節(jié)點(diǎn),采用求得的旋轉(zhuǎn)圓錐曲面來(lái)代表上肢體和下肢體皮膚,連接這三個(gè)關(guān)節(jié)點(diǎn)和兩個(gè)曲面構(gòu)成人肢體模型。
權(quán)利要求
1.一種基于肌肉體積不變性的人肢體三維建模方法,其特征在于包括如下具體步驟1)分別在人的上肢體、下肢體上各設(shè)置三個(gè)標(biāo)記點(diǎn),采用雙目立體視覺(jué)系統(tǒng)拍攝得到人肢體擺姿勢(shì)的左、右兩個(gè)圖像序列,提取各個(gè)時(shí)刻左、右圖像中這些標(biāo)記點(diǎn)的圖像平面二維坐標(biāo),得出左側(cè)攝像機(jī)圖像與右側(cè)攝像機(jī)圖像上標(biāo)記點(diǎn)之間的對(duì)應(yīng)關(guān)系,通過(guò)攝像機(jī)標(biāo)定技術(shù)求出左、右攝像機(jī)圖像上平面二維坐標(biāo)與世界坐標(biāo)系空間三維坐標(biāo)的對(duì)應(yīng)關(guān)系,由得到的各個(gè)時(shí)刻左、右圖像上標(biāo)記點(diǎn)二維坐標(biāo)求出對(duì)應(yīng)的空間三維坐標(biāo);2)根據(jù)各個(gè)肢體三個(gè)標(biāo)記點(diǎn)中兩端的兩個(gè)標(biāo)記點(diǎn)的三維坐標(biāo)和事先測(cè)量得到的兩端兩個(gè)標(biāo)記點(diǎn)處肢體半徑,并根據(jù)標(biāo)記點(diǎn)與骨架端點(diǎn)的位置關(guān)系求出各個(gè)時(shí)刻骨架端點(diǎn)的空間三維坐標(biāo),由此獲得骨架的空間三維位置信息;3)對(duì)第一幀圖像,在肢體的兩端兩個(gè)標(biāo)記點(diǎn)A、B形成的線段上方設(shè)定空間一點(diǎn)C,經(jīng)過(guò)三點(diǎn)A、B、C的平面外設(shè)定一點(diǎn)D,四點(diǎn)A、B、C、D形成三個(gè)平面ACD、BCD、ABD,根據(jù)這三個(gè)平面確定經(jīng)過(guò)點(diǎn)A、B且與直線AC、BC相切的圓錐曲面方程,此圓錐曲面與經(jīng)過(guò)A、B、C三點(diǎn)的平面的交線形成圓錐曲線,把圓錐曲線繞骨架直線旋轉(zhuǎn)形成旋轉(zhuǎn)圓錐曲面,建立旋轉(zhuǎn)圓錐曲面方程組,把得到的各個(gè)肢體上標(biāo)記點(diǎn)的空間三維坐標(biāo)值代入所屬的旋轉(zhuǎn)圓錐曲面方程組求解,得到各個(gè)肢體的旋轉(zhuǎn)圓錐曲面的變形參數(shù)ρ,并求出各個(gè)肢體旋轉(zhuǎn)圓錐曲面的體積;根據(jù)得到的第一幀圖像各個(gè)肢體旋轉(zhuǎn)圓錐曲面的體積,求出之后的各幀圖像上各個(gè)肢體旋轉(zhuǎn)圓錐曲面的變形參數(shù)ρ,由各個(gè)時(shí)刻各個(gè)肢體變形參數(shù)ρ確定各個(gè)時(shí)刻各個(gè)肢體旋轉(zhuǎn)圓錐曲面;4)使用OpenGL程序采用平行投影方法繪制三維人肢體模型,使用三個(gè)圓球體代表肢體的三個(gè)關(guān)節(jié)點(diǎn),采用求得的旋轉(zhuǎn)圓錐曲面來(lái)代表上肢體和下肢體皮膚,連接這三個(gè)圓球體和兩個(gè)旋轉(zhuǎn)圓錐曲面構(gòu)成人肢體模型。
全文摘要
一種基于肌肉體積不變性的人肢體三維建模方法,采用雙目立體視覺(jué)系統(tǒng)拍攝人肢體擺姿勢(shì)的圖像序列并從中提取、匹配標(biāo)記點(diǎn),確定這些標(biāo)記點(diǎn)對(duì)應(yīng)的空間三維坐標(biāo),據(jù)此求出各個(gè)時(shí)刻各肢體骨架的空間三維位置信息,對(duì)第一幀圖像,把各肢體上標(biāo)記點(diǎn)的三維坐標(biāo)值帶入所屬的旋轉(zhuǎn)圓錐曲面方程組求出對(duì)應(yīng)的變形參數(shù)和體積,根據(jù)肌肉體積不變性利用第一幀圖像得到的各肢體體積求出之后的各幀圖像各肢體旋轉(zhuǎn)圓錐曲面的變形參數(shù),最后使用圓球體和旋轉(zhuǎn)圓錐曲面繪制人肢體模型。本發(fā)明建立的人肢體三維模型分為骨架層和皮膚層,骨架層由關(guān)節(jié)點(diǎn)和連接關(guān)節(jié)點(diǎn)的線段組成,皮膚層用旋轉(zhuǎn)圓錐曲面表示,每個(gè)肢體只需調(diào)整一個(gè)變形參數(shù)就能反映出人肢體皮膚變形。
文檔編號(hào)G06T17/00GK1645416SQ200510023459
公開(kāi)日2005年7月27日 申請(qǐng)日期2005年1月20日 優(yōu)先權(quán)日2005年1月20日
發(fā)明者潘海朗, 劉允才 申請(qǐng)人:上海交通大學(xué)