基于二维图像的三维人体模型生成

时间:2022-09-21 08:04:48

基于二维图像的三维人体模型生成

摘要摘要:三维人体模型生成是近年来的研究热点,在虚拟现实和游戏领域中有很多应用。提出了一种针对二维图像的人体模型生成方法,首先利用图像分割技术提取出平面人物图像的轮廓,然后通过三维空间中的仿射变换生成三维人体模型,该模型拥有可形变、低复杂度等特点。实验证明,该方法能有效将二维图像与三维人体图形相结合,具备实时性和高效性。

关键词关键词:三维人体;图像分割;虚拟现实

DOIDOI:10.11907/rjdk.162820

中图分类号:TP317.4

文献标识码:A文章编号文章编号:16727800(2017)005019203

0引言

三维人体模型在现阶段被广泛应用于医疗、电子游戏、虚拟现实等领域。目前,获得三维人体模型的方法主要有两种:①利用专业建模软件如3DMAX等绘制人体的三维模型。这些模型精度高、专业性强,一般用户很难做到精准操作;②利用三维扫描仪自动获得真实人体表面的几何数据,但是需要硬件设备和比较高的建模成本。因此,这两种方法均不适用于快速生成大量的、低成本的人体模型。为解决这一问题,文献[1]提出了基于物w的图像变形概念,使用分水岭算法进行图像分割,将目标物体置于三角网格中,使用户可以用语义化的操作实时调整目标物体的形状造型,但是在人体形变方面并没有很好的应用效果。文献[2]将三维的人体扫描结果作为基础,对多个人体皮肤表面模型进行插值,生成个性化的人体皮肤表面模型,这种方法虽然快捷、简便,但仍需要硬件设备并且不具备全局形变能力。文献[3]构建了一套基于多幅图像的三维人体建模系统,此系统以图像上和原始模型上标记的特征点数据作为输入,采用对原始模型变形的方法,获得较精确的目标模型。但该方法需要输入原始的三维模型以及在不同方向进行定标并用摄像机拍摄,流程较为复杂,耗时较长。

本文从普通的二维人物图片出发,提出了通过人体轮廓线生成三维环形点列从而生成人体模型的方法。就目前的实际应用而言,使用图像来展示人物对象是十分真实的,图形数据量大,且真实人物并没有统一的建模方法,而图像则可以避免这些问题,方便于网络传输。例如在网络虚拟试衣过程中,顾客可以通过调整模特的照片来使之更符合自己的身高体重三围,也可以通过简单的可视化操作,来改变自己照片上的人物胖瘦高矮,并在整体上保持协调性和一致性。

1二维人体轮廓提取

对于图片的轮廓提取,现阶段已经有很多成熟的方法。本文利用grab cut方法提取图片中的人物轮廓,该算法利用了图像中的颜色信息和边界信息,只要少量的用户交互操作即可得到比较好的分割结果,用户在原始图片上将人物框入矩形框,便能自动提取出人物前景和轮廓线。如图1(右)所示即为分割提取后的前景人物,背景为黑色。

通过简单的交互标记,可以确定轮廓线上四肢与身体的连接点以及各身体部位各自的轮廓线,如图2所示。

2从轮廓线生成三维人体网格

通过计算出每条轮廓线上每两个轮廓点间的长度并求和来获得每个身体部位的轮廓线总长度如下:

Stotal=∑n-1i=1SPi+1Pi

式中,Pi为第i个组成轮廓线的轮廓点,从上述过程获得各对应部位轮廓线长度后,在同一部位的内外轮廓线上各平均取K个点两两连线成段对轮廓线进行分割,这样的点称为定位点,图3是右臂轮廓线分割示意图。

因为定位点位于人体轮廓线上,这样的线段在一定程度上表示人体肢体的胖瘦程度,以屏幕为xy轴平面,以垂直于屏幕方向的法线为z轴,在起始状态时,各分割线段两端定位点的z值为0,经过该线段中点M且垂直于该线段的向量为Pm,使用如下三维空间中的旋转矩阵将两端的定位点沿Pm进行旋转。

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

式中,α为旋转的角度,x、y、z是向量Pm的坐标值,每旋转α度进行定位,共进行180/α次旋转,经过旋转后生成的点如图4所示。这样就从原始的二维轮廓线得到了三维坐标系中新的立体环形点列。

每个身体部位都有K个这样的环形点列,如图5所示。

计算完所有部位的三维环状点之后,就有了初步的人体三维化模型,接下来需要通过互相连接三维圈中的点生成面片。由于在形成三维圈时,圈上点的标号是固定并且已知的,选取下式中上下相邻点列中的点生成三角面片。

(Fi,j,Fi,j+1,Fi+1,j)(Fi,j,Fi+1,j,Fi+1,j+1)

式中F表示相邻点列的编号。这样就得到了从普通二维图片生成的三维人体网格模型,如图6所示。

由于在计算手肘,膝盖等部位时可能会有较大的方向变化,因此要将手臂分为大臂与小臂,腿部分为大腿与小腿,分别进行环形三维点列的生成,并且在手肘处和膝盖处对应的定位点生成点列,这样获得的点列在之后生成面片连接时就可以避免上述问题。

身体各部位的三维横截面是可以进行放缩形变的,由如下三维缩放矩阵所示。

Sx0000Sy0000Sz0(1-Sx)・Xf(1-Sy)・Yf(1-Sz)・Zf1

其中,点(Xf,Yf,Zf)是环形点列的圆心坐标,即定位点对的中点坐标。

通过将每个环形点列沿其径向方向进行缩放,可以改变三维人体模型的身材比例和样式,如图7所示。

3实验及应用

模型中每一个三维环形点列的点的个数可以调节,每次旋转的α角度越小,得到的点数越多,模型越精细,但同时会降低效率。表1为不同点数的点列形变效果和耗时,对应的三维人体模型如图8所示。

采用纹理映射的方式可以使三维人体网格上填充相应的纹理图案。纹理映射是真实感图像制作的一个重要部分,通过在(0,1)插值计算的方式获得每一个网格点在原先二维图片中的纹理坐标。

图9是将原先人物照片纹理映射到三维人体网格上并进行胖瘦变化的效果。

4结语

本文从二维人体轮廓线出发,通过轮廓点找到每个身体部位内外轮廓线的定位点,通过一对二维定位点,生成三维圈,通过连接前后三维圈上的点形成三角网格,计算纹理坐标并对三维圈进行缩放变换,便可以实现二维图片中的人体胖瘦变化,且可以选择各部位进行自由放大缩小,并能保证任意形变不失真。实验证明本文方法是可靠可行的,在当前庞大的互联网服装销售背景下,该方法在虚拟试衣、休闲娱乐方面具有很大应用价值。

参考文献参考文献:

[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]王征,O济洲,孙美君.基于多幅图像的低成本三维人体重建[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.

上一篇:山地自行车越野 下一篇:智能家居中的多屏互动技术研究