專利名稱:基于標(biāo)記點(diǎn)的人肢體三維建模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于標(biāo)記點(diǎn)的人肢體三維建模方法,用于感知接口,運(yùn)動分析和虛擬現(xiàn)實(shí)等應(yīng)用領(lǐng)域,在醫(yī)學(xué)圖像、生物醫(yī)學(xué)、手勢識別、視頻會議、視頻游戲、自動新聞播放、電影制作、材料變形、圖象壓縮等方面都有實(shí)際應(yīng)用價值。屬于計(jì)算機(jī)視覺和計(jì)算機(jī)圖形學(xué)領(lǐng)域。
背景技術(shù):
運(yùn)動分析領(lǐng)域的研究對象主要分為剛性物體、連接剛體和非剛性物體等。計(jì)算機(jī)視覺中的運(yùn)動分析研究均主要集中在對剛體運(yùn)動的研究,且學(xué)者們已取得了一系列的成果,并建立了較為完善的理論框架,但是,在現(xiàn)實(shí)世界中大多是非剛體運(yùn)動。人體屬于非剛體。
在過去的十幾年中,可變形的人體建模已經(jīng)取得了一些成績。Nahas等使用了B樣條曲面表示人身體和臉部的柔軟的運(yùn)動。Petland等介紹了一種基于有限元的方法模型。Terzopoulos等介紹了表達(dá)成一個超橢球形式的全局形狀參數(shù)和樣條形式的局部自由度相結(jié)合的可變形的超二次曲面的模型。Min等使用三種基本軟體來對各種形狀的人體上肢和肩部肌肉建模,一個點(diǎn)基元產(chǎn)生一個橢圓體,一組連接的線段產(chǎn)生一個圓柱體,一個三角網(wǎng)格產(chǎn)生一個復(fù)雜的形狀。Sminchisescu等提出了一種人體模形,它由運(yùn)動骨架和肌肉構(gòu)成,連接的節(jié)點(diǎn)構(gòu)成的骨架由節(jié)點(diǎn)的角度參數(shù)控制,并覆蓋了包含輔助錐化和彎曲參數(shù)的超二次橢圓面構(gòu)成的肌肉。模型包含30個節(jié)點(diǎn)參數(shù)和8個內(nèi)部比例參數(shù),并且每個肢體又包含9個變形參數(shù)。Plankers等把一種稱為元球或軟體的隱式曲面附在人體的連接骨架上并按照解剖學(xué)的近似程度來排列這些元球。這個人體模型共使用了230個元球,并使用B樣條曲面片進(jìn)行蒙皮。還可以用blobby分子、軟體、卷積曲面等各種隱式曲面進(jìn)行人體建模。但這些方法都采用較為復(fù)雜的非剛體運(yùn)動模型,控制參數(shù)較多,不能很好的滿足輪廓表示的評價標(biāo)準(zhǔn)即表示的簡潔性和適合于后處理階段的計(jì)算。所以這些模型在表示人體輪廓方面缺乏實(shí)用性。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有人體三維模型代表皮膚變形的參數(shù)過多的不足,提出一種基于標(biāo)記點(diǎn)的人肢體三維建模方法,簡單而實(shí)現(xiàn)容易,建立的模型使用非常少的參數(shù)就可以代表人肢體皮膚的變形,降低運(yùn)動分析的計(jì)算量,適合于各種彈性連接剛體的建模。
為實(shí)現(xiàn)這樣的目的,本發(fā)明建立的人肢體三維模型分為兩層骨架層和皮膚層。骨架層代表了人肢體的骨架結(jié)構(gòu),由關(guān)節(jié)點(diǎn)和連接這些關(guān)節(jié)點(diǎn)的線段組成。皮膚層用一種新的旋轉(zhuǎn)圓錐曲面表示,每個肢體只需調(diào)整一個變形參數(shù)就能反映出皮膚的變形。首先使用雙目立體視覺系統(tǒng)拍攝人肢體擺姿勢的圖像序列,從雙目圖像序列中提取、匹配標(biāo)記點(diǎn),通過雙目立體視覺方法確定圖像標(biāo)記點(diǎn)的空間三維坐標(biāo),再根據(jù)標(biāo)記點(diǎn)三維坐標(biāo)和先驗(yàn)知識求出骨架的空間三維位置信息。把各個肢體上標(biāo)記點(diǎn)的三維坐標(biāo)值代入所屬的旋轉(zhuǎn)圓錐曲面方程組求出各個肢體的變形參數(shù)。最后使用圓球體和旋轉(zhuǎn)圓錐曲面繪制人肢體模型。
本發(fā)明的建模方法主要包括以下幾個步驟1.從圖像中提取、匹配標(biāo)記點(diǎn),求出標(biāo)記點(diǎn)對應(yīng)的空間三維坐標(biāo)。
分別在人的上肢體、下肢體上各設(shè)置三個標(biāo)記點(diǎn),采用雙目立體視覺系統(tǒng)拍攝得到人肢體擺姿勢的圖像序列,提取各個時刻左、右圖像中這些標(biāo)記點(diǎn)的圖像平面二維坐標(biāo),并得出左側(cè)攝像機(jī)圖像與右側(cè)攝像機(jī)圖像上標(biāo)記點(diǎn)之間的對應(yīng)關(guān)系。通過攝像機(jī)標(biāo)定技術(shù)求出左、右攝像機(jī)圖像上平面二維坐標(biāo)與世界坐標(biāo)系空間三維坐標(biāo)的對應(yīng)關(guān)系,由得到的各個時刻左、右圖像上標(biāo)記點(diǎn)二維坐標(biāo)求出對應(yīng)的空間三維坐標(biāo)。
因每個肢體只需要3個特征點(diǎn)就能求出其變形參數(shù),本發(fā)明方法在人肢體皮膚上貼了六個紙標(biāo)記點(diǎn),其中三個在上肢體、三個在下肢體。
2.提取人肢體骨架位置信息。
根據(jù)各個肢體三個標(biāo)記點(diǎn)中兩端的兩個標(biāo)記點(diǎn)A、B的三維坐標(biāo)和事先測量得到的標(biāo)記點(diǎn)A、B處肢體半徑,求出各個時刻骨架端點(diǎn)的空間三維坐標(biāo),由此獲得骨架的空間三維位置信息;3.求出變形參數(shù)在肢體的兩個標(biāo)記點(diǎn)A、B形成的直線上方設(shè)定空間一點(diǎn)C,經(jīng)過三點(diǎn)A、B、C的平面外設(shè)定一點(diǎn)D,四點(diǎn)A、B、C、D形成三個平面ACD、BCD、ABD,根據(jù)這三個平面確定經(jīng)過點(diǎn)A、B且與直線AC、BC相切的圓錐曲面方程,此圓錐曲面與經(jīng)過A、B、C三點(diǎn)的平面的交線形成圓錐曲線,把圓錐曲線繞骨架直線旋轉(zhuǎn)形成旋轉(zhuǎn)圓錐曲面,建立旋轉(zhuǎn)圓錐曲面方程組,把得到的各個肢體上標(biāo)記點(diǎn)的空間三維坐標(biāo)值代入所屬的旋轉(zhuǎn)圓錐曲面方程組求解,得到各個時刻各個肢體的旋轉(zhuǎn)圓錐曲面的變形參數(shù)ρ。
4.模型繪制本發(fā)明使用OpenGL程序采用平行投影方法繪制三維人肢體模型,使用三個圓球體代表肢體的三個關(guān)節(jié)點(diǎn),采用求得的兩個旋轉(zhuǎn)圓錐曲面方程繪制出的曲面來代表上肢體和下肢體皮膚,連接這三個圓球體和兩個曲面構(gòu)成人肢體模型。
本發(fā)明方法簡單,實(shí)現(xiàn)容易。建立的模型使用非常少的參數(shù)就可以代表人肢體皮膚的變形,每個肢體只需一個變形參數(shù),具有高層次描述和預(yù)測遮擋的能力。本發(fā)明方法適合于許多彈性連接剛體的模型建立。實(shí)驗(yàn)采用便宜、容易安裝的視頻攝像頭來采集數(shù)據(jù),不需要附加設(shè)備,代表皮膚變形的旋轉(zhuǎn)圓錐曲面方程組和求解算法簡單,大大降低了運(yùn)動分析的計(jì)算復(fù)雜性。
圖1為本發(fā)明采用的圓錐曲線。
圖1中,A,B,C為三個頂點(diǎn),通過這三個頂點(diǎn)坐標(biāo)確定圓錐曲線方程。
圖2為人肢體的骨架結(jié)構(gòu)。
圖2中,j1、j2、j3是關(guān)節(jié)點(diǎn),一個手臂有兩個肢體上肢體和下肢體。
圖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),過P點(diǎn)做與線段L垂直的平面,此平面與圓錐曲線S的交點(diǎn)為PS,此平面與線段L的交點(diǎn)為O,A、B是圓錐曲線S的兩個端點(diǎn),AL、BL是線段L的兩個端點(diǎn)。
圖4為本發(fā)明基于圖像標(biāo)記點(diǎn)建模的實(shí)驗(yàn)結(jié)果。
圖4中,第一行是左側(cè)攝像機(jī)拍攝的圖像序列,第二行是對應(yīng)于第一行圖像的反映人肢體運(yùn)動和皮膚變形的三維模型表達(dá)。
具體實(shí)施例方式
為了更好地理解本發(fā)明的技術(shù)方案,以下結(jié)合附圖和實(shí)施例作進(jìn)一步的詳細(xì)描述。實(shí)施例具體針對附圖4左側(cè)第一幅圖像(第一時刻左側(cè)攝像機(jī)拍攝)進(jìn)行人肢體建模過程的描述。
1.從圖像中提取、匹配標(biāo)記點(diǎn)并求出標(biāo)記點(diǎn)對應(yīng)的空間三維坐標(biāo)。如圖4左側(cè)第一幅圖像,因每個肢體只需要3個特征點(diǎn)就能求出其變形參數(shù),在人體的手臂皮膚上貼了六個紙標(biāo)記點(diǎn),其中三個標(biāo)記點(diǎn)在手臂上肢、三個在手臂下肢。使用雙目立體視覺系統(tǒng)拍攝人肢體擺姿勢的圖像序列。提取上肢體標(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)。通過攝像機(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)對應(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)。
2.提取人肢體骨架位置信息。人肢體骨架模型包含關(guān)節(jié)點(diǎn)j1、j2、j3和連接這些關(guān)節(jié)點(diǎn)的線段(上肢體、下肢體),如圖2所示。因?yàn)閳D4中所示上肢體三個標(biāo)記點(diǎn)中兩端的標(biāo)記點(diǎn)A、B處肢體半徑幾乎不改變,由事先測量得出標(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處肢體半徑可求出骨架端點(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。
3.求出變形參數(shù)。在肢體兩端的標(biāo)記點(diǎn)A、B形成的直線上方設(shè)定空間一點(diǎn)C(-6.5983,30.516,-853.52),如圖1所示。經(jīng)過三點(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形成三個平面ACD、BCD、ABD,這三個平面的方程分別為平面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ù)這三個平面確定經(jīng)過點(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)圓錐曲面方程組 其中 把前面求得的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)和ρ=-412.2517,ρ是此時刻上肢體旋轉(zhuǎn)圓錐曲面的變形參數(shù)。
采用同樣的方法可求得代表下肢體皮膚的旋轉(zhuǎn)圓錐曲面方程。
4.模型繪制。如圖4第2行,使用OpenGL程序采用平行投影方法繪制得到的三維右臂模型,使用三個半徑分別為50、40、30的圓球體代表j1、j2、j3三個關(guān)節(jié)點(diǎn),采用代表上肢體和下肢體皮膚的旋轉(zhuǎn)圓錐曲面方程繪制出曲面,連接這三個關(guān)節(jié)點(diǎn)和兩個曲面構(gòu)成人肢體模型。
權(quán)利要求
1.一種基于標(biāo)記點(diǎn)的人肢體三維建模方法,其特征在于包括如下具體步驟1)分別在人的上肢體、下肢體上各設(shè)置三個標(biāo)記點(diǎn),采用雙目立體視覺系統(tǒng)拍攝得到人肢體擺姿勢的圖像序列,提取各個時刻左、右圖像中這些標(biāo)記點(diǎn)的圖像平面二維坐標(biāo),并得出左側(cè)攝像機(jī)圖像與右側(cè)攝像機(jī)圖像上標(biāo)記點(diǎn)之間的對應(yīng)關(guān)系,通過攝像機(jī)標(biāo)定技術(shù)求出左、右攝像機(jī)圖像上平面二維坐標(biāo)與世界坐標(biāo)系空間三維坐標(biāo)的對應(yīng)關(guān)系,由得到的各個時刻左、右圖像上標(biāo)記點(diǎn)二維坐標(biāo)求出對應(yīng)的空間三維坐標(biāo);2)根據(jù)各個肢體三個標(biāo)記點(diǎn)中兩端的兩個標(biāo)記點(diǎn)A、B的三維坐標(biāo)和事先測量得到的標(biāo)記點(diǎn)A、B處肢體半徑,求出各個時刻骨架端點(diǎn)的空間三維坐標(biāo),由此獲得骨架的空間三維位置信息;3)在肢體的兩個標(biāo)記點(diǎn)A、B形成的直線上方設(shè)定空間一點(diǎn)C,經(jīng)過三點(diǎn)A、B、C的平面外設(shè)定一點(diǎn)D,四點(diǎn)A、B、C、D形成三個平面ACD、BCD、ABD,根據(jù)這三個平面確定經(jīng)過點(diǎn)A、B且與直線AC、BC相切的圓錐曲面方程,此圓錐曲面與經(jīng)過A、B、C三點(diǎn)的平面的交線形成圓錐曲線,把圓錐曲線繞骨架直線旋轉(zhuǎn)形成旋轉(zhuǎn)圓錐曲面,并建立旋轉(zhuǎn)圓錐曲面方程組,把得到的各個肢體上標(biāo)記點(diǎn)的空間三維坐標(biāo)值代入所屬的旋轉(zhuǎn)圓錐曲面方程組求解,得到各個時刻各個肢體的旋轉(zhuǎn)圓錐曲面的變形參數(shù);4)使用OpenGL程序采用平行投影方法繪制三維人肢體模型,使用三個圓球體代表肢體的三個關(guān)節(jié)點(diǎn),采用求得的兩個旋轉(zhuǎn)圓錐曲面方程繪制出的曲面來代表上肢體和下肢體皮膚,連接這三個圓球體和兩個曲面構(gòu)成人肢體模型。
全文摘要
一種基于標(biāo)記點(diǎn)的人肢體三維建模方法,首先采用雙目立體視覺系統(tǒng)拍攝人肢體擺姿勢的圖像序列并從中提取、匹配標(biāo)記點(diǎn),確定各個時刻左、右圖像標(biāo)記點(diǎn)對應(yīng)的空間三維坐標(biāo),據(jù)此求出各個時刻各個肢體骨架的空間三維位置信息,把各個肢體上標(biāo)記點(diǎn)的三維坐標(biāo)值帶入所屬的旋轉(zhuǎn)圓錐曲面方程組求出變形參數(shù),最后使用圓球體和旋轉(zhuǎn)圓錐曲面繪制人肢體模型。本發(fā)明方法簡單、實(shí)現(xiàn)容易,建立的人肢體三維模型分為骨架層和皮膚層,骨架層代表人肢體的骨架結(jié)構(gòu),由關(guān)節(jié)點(diǎn)和連接這些關(guān)節(jié)點(diǎn)的線段組成,皮膚層用旋轉(zhuǎn)圓錐曲面表示,每個肢體只需調(diào)整一個變形參數(shù)就能反映出人肢體皮膚變形,解決了人體三維模型代表皮膚變形參數(shù)過多的問題。
文檔編號G06T17/00GK1617175SQ200410089300
公開日2005年5月18日 申請日期2004年12月9日 優(yōu)先權(quán)日2004年12月9日
發(fā)明者潘海朗, 劉允才 申請人:上海交通大學(xué)