夏陽 董洪偉
摘要摘要:三維人體模型生成是近年來的研究熱點,在虛擬現(xiàn)實和游戲領域中有很多應用。提出了一種針對二維圖像的人體模型生成方法,首先利用圖像分割技術提取出平面人物圖像的輪廓,然后通過三維空間中的仿射變換生成三維人體模型,該模型擁有可形變、低復雜度等特點。實驗證明,該方法能有效將二維圖像與三維人體圖形相結(jié)合,具備實時性和高效性。
關鍵詞關鍵詞:三維人體;圖像分割;虛擬現(xiàn)實
DOIDOI:10.11907/rjdk.162820
中圖分類號:TP317.4
文獻標識碼:A文章編號文章編號:16727800(2017)005019203
0引言
三維人體模型在現(xiàn)階段被廣泛應用于醫(yī)療、電子游戲、虛擬現(xiàn)實等領域。目前,獲得三維人體模型的方法主要有兩種:①利用專業(yè)建模軟件如3DMAX等繪制人體的三維模型。這些模型精度高、專業(yè)性強,一般用戶很難做到精準操作;②利用三維掃描儀自動獲得真實人體表面的幾何數(shù)據(jù),但是需要硬件設備和比較高的建模成本。因此,這兩種方法均不適用于快速生成大量的、低成本的人體模型。為解決這一問題,文獻[1]提出了基于物體的圖像變形概念,使用分水嶺算法進行圖像分割,將目標物體置于三角網(wǎng)格中,使用戶可以用語義化的操作實時調(diào)整目標物體的形狀造型,但是在人體形變方面并沒有很好的應用效果。文獻[2]將三維的人體掃描結(jié)果作為基礎,對多個人體皮膚表面模型進行插值,生成個性化的人體皮膚表面模型,這種方法雖然快捷、簡便,但仍需要硬件設備并且不具備全局形變能力。文獻[3]構建了一套基于多幅圖像的三維人體建模系統(tǒng),此系統(tǒng)以圖像上和原始模型上標記的特征點數(shù)據(jù)作為輸入,采用對原始模型變形的方法,獲得較精確的目標模型。但該方法需要輸入原始的三維模型以及在不同方向進行定標并用攝像機拍攝,流程較為復雜,耗時較長。
本文從普通的二維人物圖片出發(fā),提出了通過人體輪廓線生成三維環(huán)形點列從而生成人體模型的方法。就目前的實際應用而言,使用圖像來展示人物對象是十分真實的,圖形數(shù)據(jù)量大,且真實人物并沒有統(tǒng)一的建模方法,而圖像則可以避免這些問題,方便于網(wǎng)絡傳輸。例如在網(wǎng)絡虛擬試衣過程中,顧客可以通過調(diào)整模特的照片來使之更符合自己的身高體重三圍,也可以通過簡單的可視化操作,來改變自己照片上的人物胖瘦高矮,并在整體上保持協(xié)調(diào)性和一致性。
1二維人體輪廓提取
對于圖片的輪廓提取,現(xiàn)階段已經(jīng)有很多成熟的方法。本文利用grab cut方法提取圖片中的人物輪廓,該算法利用了圖像中的顏色信息和邊界信息,只要少量的用戶交互操作即可得到比較好的分割結(jié)果,用戶在原始圖片上將人物框入矩形框,便能自動提取出人物前景和輪廓線。如圖1(右)所示即為分割提取后的前景人物,背景為黑色。
通過簡單的交互標記,可以確定輪廓線上四肢與身體的連接點以及各身體部位各自的輪廓線,如圖2所示。
2從輪廓線生成三維人體網(wǎng)格
通過計算出每條輪廓線上每兩個輪廓點間的長度并求和來獲得每個身體部位的輪廓線總長度如下:
Stotal=∑n-1i=1SPi+1Pi
式中,Pi為第i個組成輪廓線的輪廓點,從上述過程獲得各對應部位輪廓線長度后,在同一部位的內(nèi)外輪廓線上各平均取K個點兩兩連線成段對輪廓線進行分割,這樣的點稱為定位點,圖3是右臂輪廓線分割示意圖。
因為定位點位于人體輪廓線上,這樣的線段在一定程度上表示人體肢體的胖瘦程度,以屏幕為xy軸平面,以垂直于屏幕方向的法線為z軸,在起始狀態(tài)時,各分割線段兩端定位點的z值為0,經(jīng)過該線段中點M且垂直于該線段的向量為Pm,使用如下三維空間中的旋轉(zhuǎn)矩陣將兩端的定位點沿Pm進行旋轉(zhuǎn)。
cosα+(1-cosα)x2(1-cosα)xy-(sinα)z(1-cosα)xz+(sinα)y(1-cosα)yx+(sinα)zcosα+(1-cosα)y2(1-cosα)yz-(sinα)x(1-cosα)zx+(sinα)y(1-cosα)zy+(sinα)xcosα+(1-cosα)z2
式中,α為旋轉(zhuǎn)的角度,x、y、z是向量Pm的坐標值,每旋轉(zhuǎn)α度進行定位,共進行180/α次旋轉(zhuǎn),經(jīng)過旋轉(zhuǎn)后生成的點如圖4所示。這樣就從原始的二維輪廓線得到了三維坐標系中新的立體環(huán)形點列。
每個身體部位都有K個這樣的環(huán)形點列,如圖5所示。
計算完所有部位的三維環(huán)狀點之后,就有了初步的人體三維化模型,接下來需要通過互相連接三維圈中的點生成面片。由于在形成三維圈時,圈上點的標號是固定并且已知的,選取下式中上下相鄰點列中的點生成三角面片。
(Fi,j,F(xiàn)i,j+1,F(xiàn)i+1,j)(Fi,j,F(xiàn)i+1,j,F(xiàn)i+1,j+1)
式中F表示相鄰點列的編號。這樣就得到了從普通二維圖片生成的三維人體網(wǎng)格模型,如圖6所示。
由于在計算手肘,膝蓋等部位時可能會有較大的方向變化,因此要將手臂分為大臂與小臂,腿部分為大腿與小腿,分別進行環(huán)形三維點列的生成,并且在手肘處和膝蓋處對應的定位點生成點列,這樣獲得的點列在之后生成面片連接時就可以避免上述問題。
身體各部位的三維橫截面是可以進行放縮形變的,由如下三維縮放矩陣所示。
Sx0000Sy0000Sz0(1-Sx)·Xf(1-Sy)·Yf(1-Sz)·Zf1
其中,點(Xf,Yf,Zf)是環(huán)形點列的圓心坐標,即定位點對的中點坐標。
通過將每個環(huán)形點列沿其徑向方向進行縮放,可以改變?nèi)S人體模型的身材比例和樣式,如圖7所示。
3實驗及應用
模型中每一個三維環(huán)形點列的點的個數(shù)可以調(diào)節(jié),每次旋轉(zhuǎn)的α角度越小,得到的點數(shù)越多,模型越精細,但同時會降低效率。表1為不同點數(shù)的點列形變效果和耗時,對應的三維人體模型如圖8所示。
采用紋理映射的方式可以使三維人體網(wǎng)格上填充相應的紋理圖案。紋理映射是真實感圖像制作的一個重要部分,通過在(0,1)插值計算的方式獲得每一個網(wǎng)格點在原先二維圖片中的紋理坐標。
圖9是將原先人物照片紋理映射到三維人體網(wǎng)格上并進行胖瘦變化的效果。
4結(jié)語
本文從二維人體輪廓線出發(fā),通過輪廓點找到每個身體部位內(nèi)外輪廓線的定位點,通過一對二維定位點,生成三維圈,通過連接前后三維圈上的點形成三角網(wǎng)格,計算紋理坐標并對三維圈進行縮放變換,便可以實現(xiàn)二維圖片中的人體胖瘦變化,且可以選擇各部位進行自由放大縮小,并能保證任意形變不失真。實驗證明本文方法是可靠可行的,在當前龐大的互聯(lián)網(wǎng)服裝銷售背景下,該方法在虛擬試衣、休閑娛樂方面具有很大應用價值。
參考文獻參考文獻:
[1]WA BARRETT,AS CHENEY.Objectbased image editing[J].Acm Transactions on Graphics,2002,21(3):777784.
[2]SEO H,CORDIER F,PHILIPPON L,et al.Interactive modelling of MPEG-4 deformable human body models[EB/OL].http:∥www.miralab.unige.ch papers 115.pdf,2004.
[3]王征,孫濟洲,孫美君.基于多幅圖像的低成本三維人體重建[J].計算機應用,2009,29(7):19101913.
[4]劉松濤,殷福亮.基于圖割的圖像分割方法及其新進展[J].自動化學報,2012,38(6):911922.
[5]S ZHOU,H FU,L LIU,et al.Parametric reshaping of human bodies in images[J].Acm Transactions on Graphics,2010,29(4):157166.
[6]MJ BLACK,AO BALAN.Detailed human shape and pose from images[C].In CVPR,2007.
[7]TJ CASHMAN,AW FITZGIBBON.What shape are dolphins? building 3D morphable models from 2D images[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2013,35(1):23244.
[8]B ALLEN,B CURLESS,POPOVIC',ZORAN.The space of human body shapes:reconstruction and parameterization from range scans[J].ACM Trans.Graph,2003,22(3):587594.
[9]Y YANG,Y YU,Y ZHOU.Semantic parametric reshaping of human body models[C].International Conference on 3d Vision,2014:4148.
[10]H SEO,N MAGNENATTHALMANN.An example based approach to human body manipulation[J].Graphical Models,2004,66(1):123.
[11]N HASLER,C STOLL,M SUNKEL,et al.A statistical model of human pose and body shape[C].Computer Graphics Forum,2009:337346.
[12]AO BLAN,MJ BLACK.The naked truth:estimating body shape under clothing[C].In ECCV ,2008.
[13]X CHEN,Y GUO,B ZHOU.Deformable model for estimating clothed and naked human shapes from a single image[J].Visual Computer,2013,29(11):11871196.
[14]L PISHCHULIN.Articulated people detection and pose estimation:reshaping the future[C].IEEE Conference on Computer Vision & Pattern Recognition,2012:31783185.
[15]D VLASIC,I BARAN,W MATUSIK,et al.Articulated mesh animation from multiview silhouettes[J].ACM Trans.Graph,2008,27(3):97.
[16]L BOURDEV,J MALIK.Poselets:body part detectors trained using 3D human pose annotations[C].In ICCV,2009.
[17]Z HU,G WANG,X LIN,H YAN.Recovery of upper body poses in static images based on joints detection[J].Pattern Recognition Letters,2009,30(5):503512.
[18]M YE,X WANG,R YANG,et al.Accurate 3D pose estimation from a single depth image[C].International Conference on Computer Vision,2011:731738.
責任編輯(責任編輯:孫娟)