基于人体动态特征的三维服装虚拟试穿技术

2021-09-26 02:29黎博文刘玉叶
纺织学报 2021年9期
关键词:骨骼姿态精度

黎博文,王 萍,刘玉叶

(东华大学 信息科学与技术学院,上海 201620)

随着人们生活水平的提高,高品质、个性化的现代时尚需求促进了服装定制产业的发展,同时,线上购物改变了人们消费模式。在线消费服饰与线下实体店购买方式的最明显区别是,顾客在线上购买时缺乏服装试穿的个性化体验与实时交互,而顾客自身的体验感与合适程度是促成购买意愿的重要因素。如今,随着5G通信、人工智能AI、物联网IOT等信息技术的高速发展,特别是5G高清视频通信网络、AR/VR虚拟技术与服装产业间的紧密结合,促进了服装虚拟试穿系统的发展,通过提供个性化的虚拟服装模型贴合在人体身上,实现了便捷试穿的功能,在一定程度上改善了试衣过程的体验感。

现有的虚拟试穿技术总体上可分为2种:基于二维平面的与基于三维空间的。基于二维平面的方法是以二维服装图片进行姿态特征转换来完成的[1-2],但该方法缺乏试穿的三维立体效果[3]。服装制造过程采用三维量体扫描仪采集全部的人体尺寸数据,并与三维服装EDA仿真工具[4-5]结合,展现立体试穿效果,精度高,但设备昂贵、效率低。

三维虚拟试穿系统可分为2类,一种采用基于高精度数据建模的虚拟人体模特进行服装虚拟试穿,代表性产品诸如:印度Fitiquette公司、美国FaceCake Marketing Technologies公司开发的虚拟试衣镜,国内摩登大道公司的迈思体感魔镜等[6]。上述产品将三维服装模型映射到虚拟模特上。新加坡通信研究院的Yuan等[7]提取真实用户面部头像与三维虚拟人体模特结合。然而,虚拟人体模型-服装模型逐点赋值的跟踪方法效率低、数据处理量大、真实感较差。

另一种采用微软Kinect体感摄像头,通过基于RGB-D(灰度、深度)图像感知数据实现人体运动跟踪和三维虚拟服装建模,具有低成本、实时性的优势,因此成为国内外研究的热点。Yousef等[8]基于Kinect人体骨骼点模型和服装锚点位置迭代估计,修正三维服装模型实现对真实人体的短裙虚拟试穿,但该文献没有展现试衣过程中服装随着人体运动姿态变化的动态形变。最近国内薛静雅[6]、李涛等[9]、万燕等[10]人,采用Avatar骨骼控制方法实现动态试穿,但该方法跟踪精度较低,服装对人体的面料覆盖率较差。

本文提出利用Kinect骨骼点模型并融合人体特征数据构建了三维服装骨骼点分层模型,以增强虚拟服装模型对人体运动姿态跟踪。同时,设计了分层迭代GL-SVD算法控制人体运动过程中三维服装模型的整体定位和局部跟踪,实现三维服装模型-真实人体之间动态、实时的协同跟踪与高精度匹配。

1 三维服装骨骼点分层特征模型

人体运动主要通过脊柱和关节带动躯干运动和四肢联动,本文首先以脊柱躯干和四肢区分整体与局部骨骼点的运动特征,以便更加精确匹配人体姿态变化的复杂特征,并基于此建立三维服装骨骼点分层模型。在人体运动过程中,保持服装骨骼点特征与人体骨骼点特征一一对应的动态匹配关系,就可使服装模型跟随人体进行整体定位与局部变化。

基于Kinect体感设备采集的人体骨骼模型数据,定义:人体动态特征点集合X{X1,X2}包括2个子集,如图1所示。其中,子集X1(红色)是人体整体动态特征点集,包括:左肩,右肩,脊柱中心,左髋骨,右髋骨,髋骨中心等关节。X2(绿色)是人体局部动态特征点集,包括左肘、右肘、左腕、右腕、左膝盖、右膝盖、左踝、右踝等关节。

图1 Kinect人体骨骼点模型

同理,服装动态特征点集合Y{Y1,Y2},如图2所示。其中,子集Y1(红色)为服装整体动态特征点集,Y2(绿色)为服装局部动态特征点集。

图2 服装骨骼点模型

同时,依据人体截面椭圆模型[11]以及Kinect体感设备感知的数据可计算拟合出人体围度尺寸。人体围度值即椭圆周长的计算公式如下:

式中:L为椭圆周长,cm;a和b分别为椭圆的半长轴和半短轴,cm。基于Kinect采集的人体信息RGB等特征数据,通过遍历围度截面的像素点可获得椭圆的半长轴a和半短轴b。表1示出实验中男、女模特单人的围度特征计算数据示例。

表1 个性化人体围度特征

2 三维服装动态特征协同跟踪

在人体运动过程中,三维服装模型的形变控制体现于特征点Y与X的空间位置变化跟踪,以及特征点间关联运动矢量的伸缩形变跟踪,因此,本文动态特征协同跟踪的思想包括2个方面:其一、整体与局部特征点的定位跟踪,其二、关联运动矢量的同步缩放和转动。

特别地,本文提出基于整体-局部迭代分层拟合的GL-SVD分解算法,以优化运动过程中协同跟踪精度与实时性。最后,采用四元数[5]和人体深度特征[6]控制关联矢量的变换。

2.1 服装整体定位

在三维空间中,2个点集之间的坐标配准可表示成旋转加平移的变换,即利用旋转和平移矩阵来实现。在X1和Y1中提取特征点的坐标构建矩阵A和B,分别表示人体和服装的整体动态特征点坐标,矩阵B到A的转换可表示成以下变换公式:

A=R×B+T

式中:R为旋转矩阵;T为平移矩阵。通过上述变换公式,矩阵B和A建立起了对应关系,B可变换成A。

本文通过对矩阵B和A的协方差矩阵H进行奇异值分解(SVD)来求解R和T矩阵,H表示A与B的坐标相关性,即人体与服装模型位置坐标的相关性矩阵,通过对相关性矩阵进行分解找到矩阵B到A坐标系的映射关系,SVD算法的相关计算公式如下:

2.2 服装局部跟踪

通过SVD算法计算局部特征点的预测坐标,针对误差较大的局部特征点,采用骨骼点间欧式距离的约束和误差阈值来优化跟踪精度。以手臂关节为例,手肘与肩部骨骼点的预测间距为dp,计算公式如下:

式中:(x1,y1,z1)与(x2,y2,z2)分别为手肘和肩部骨骼点预测坐标。同理,手肘与肩部骨骼点的真实间距以dt表示,dp与dt的差值公式如下:

d(p,t)=|dp-dt|

式中,d(p,t)表示dp与dt的差值。定义相对跟踪误差M,表示骨骼点预测间距和真实间距的差值与骨骼点跟踪前后间距的比值,计算公式如下:

式中,d(t-1,t)为手肘骨骼点跟踪前后的间距。设定跟踪误差阈值M0,当M大于M0时,迭代计算矩阵R、T来优化相对跟踪误差M。

2.3 动态特征协同跟踪迭代方法

图3示出基于GL-SVD算法的动态特征协同跟踪方法。相对于传统SVD算法,新方法基于分层特征的迭代思想,精度更高。通过优化跟踪误差阈值M0可控制算法的迭代次数,在拟合精度和实时性性能之间平衡。

图3 基于GL-SVD算法的协同跟踪

2.4 关联运动矢量同步缩放与旋转

根据如图4所示投影成像原理,三维物体到二维平面的垂直距离与二维平面上成像的大小保持着一定的比例关系。

图4 投影成像示意图

图中:St-1和Et-1分别为前一帧的人体宽度值和深度值;St和Et为当前帧的人体宽度值和深度值。本文以比例关系建立人体深度特征I,如下式所示:

I=St-1×Et-1=St×Et

深度值Et为人体到成像平面的垂直距离,通过Kinect感知可得深度值数据。当人体前后运动视场远近不同时,利用人体深度特征可对服装模型进行尺寸缩放。

在人体姿态和位置的改变过程中,通过矩阵旋转的四元数可表示姿态转动的变化,而且性能稳定。四元数q可表示为

式中:(x,y,z)=u为单位向量旋转轴;θ为旋转角度,表示三维空间中的某个点绕单位向量旋转轴u旋转θ角度,如图5所示。

图5 四元数旋转示意图

3 测试与分析

3.1 实验环境配置

实验环境由PC端和Kinect体感设备构成,PC端硬件配置为:Windows 10操作系统,i7-9700 3.00 GHz处理器,16 GB内存,GTX 1050ti显卡,软件配置为:maya三维建模软件,unity3d交互演示工具。测试视频的帧率为15帧/s。本文设计的虚拟试穿系统原理图如图6所示。

图6 虚拟试穿系统原理图

测试过程中,试衣者可任意摆姿势或者行走移动,由体感设备实时摄录视频。动态虚拟试穿过程变换多种场景测试试穿效果,包括连续更换动作、前后左右快速移动、尝试复杂的姿态变化、遮挡部分身体等等。

3.2 虚拟试穿测试场景与效果比测

基于本文设计的虚拟试穿系统开展了多种场景的个性化虚拟试穿对比实验,男、女试衣者的个性化人体围度尺寸数据见表1。

不失一般性,测试尝试了短袖上衣、无袖上衣、长连衣裙、抹胸裙、长裤、七分裤、五分裤等多种款式和类型的服装模型,试验了站立、蹲下、前后抬腿、侧向抬腿、T字型姿势、手臂弯曲姿势、叉腰姿势、弓步姿势等多种姿态。鉴于篇幅有限,本文给出测试场景如表2所示,包括衣、裤、裙3类典型服装类型和男、女不同试衣者的6种人体姿态。图7、8和9示出本文算法的视频虚拟试穿测试效果的截图。为方便对比测试,表2中的场景1和场景5参考了文献[6,10]中人体姿态与服装类型,其采用Avatar(化身)骨骼控制方法进行虚拟试穿所得的测试效果图如图10所示。

表2 虚拟试穿场景

对比图7(b)与图10(a)以及对比图9(b)与图10(b)可见,Avatar方法显示了较大的服装位置偏差,而本文提出的基于GL-SVD协同跟踪方法能够实时跟随人体姿态的变化,服装模型对身体的覆盖率更高,可适用的服装类型和人体姿态类型更丰富,动态试穿效果测试表现良好。

图7 抬腿姿态试穿效果

图8 弓步姿态试穿效果

图9 上身姿态试穿效果

图10 文献中Avatar方法试穿效果

3.3 实验数据分析

3.3.1 优化动态跟踪精度与实时性

跟踪误差阈值M0影响动态特征点跟踪的精度和实时性。以跟踪手腕动态特征为例,通过对6组情况下的阈值M0开展对比实验,取10次跟踪过程的均值误差和迭代时间作为每组实验的平均值。图11示出相对跟踪误差和迭代计算时间分别随阈值M0变化的结果。

图11 跟踪精度和实时性分析

根据图中可知,M随着M0的增加而增加,T随着M0的增加而减少,为了保证高精度和更少的迭代时间,取跟踪误差阈值M0=15%作为最优值。

3.3.2 人体动态跟踪精度对比

以人体躯干特征点的动态跟踪精度为例,将本文提出的基于GL-SVD协同跟踪方法与文献[6,9-10]采用的Avatar骨骼控制方法进行对比研究,结果如图12所示。

研究表明,相较于Avatar方法,本文提出的基于GL-SVD协同跟踪方法相对跟踪误差M减小约10%,跟踪精度得以明显提升,具有快速、准确的性能优势,因此能保证服装模型动态跟踪的实时性和精度需求,提升了虚拟试穿的真实体验。

4 结 论

本文提出了一种面向人体动态特征跟踪的三维服装骨骼分层模型来区分人体不同部位的运动特征,并设计了一种基于整体-局部迭代GL-SVD算法的协同跟踪方法分层控制三维服装骨骼模型,从而实现对人体姿态的动态跟踪与拟合。基于Kinect体感视频交互环境,通过对多种虚拟试穿场景的试验和性能对比,新的三维动态虚拟试穿技术相对跟踪误差降低约10%以上,能够达到实时、动态的试穿效果,明显提升了服装试穿的个性化体验,可适用于多种服装类型和连续动态的人体姿态变化,具有一定的泛用性和鲁棒性。未来将尝试研究更多复杂的服装式样类型,促进低成本三维虚拟试穿智能系统的应用与发展。

FZXB

猜你喜欢
骨骼姿态精度
基于不同快速星历的GAMIT解算精度分析
热连轧机组粗轧机精度控制
做家务的女性骨骼更强壮
三减三健全民行动——健康骨骼
攀爬的姿态
全新一代宋的新姿态
以工匠精神凸显“中国精度”
另一种姿态
骨骼是如何生长的
神奇的骨骼