APP下载

基于Kinect人体点云三维重建的个性化旗袍虚拟试穿

2022-11-09徐凤仪王萍黎博文于昊冉

微型电脑应用 2022年10期
关键词:试衣位姿旗袍

徐凤仪, 王萍, 黎博文, 于昊冉

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

0 引言

虚拟试穿系统结合了先进的虚拟现实、计算机视觉、深度学习等人工智能技术,提供一种交互式、沉浸式的服装虚拟体验,成为服装高端定制数字化、个性化发展中的重要一环。虚拟试穿的技术类型主要分为二维试穿与三维试穿两种[1]。其中,二维试穿的前沿技术主要是采用机器学习的方法来预测并保留服装特征信息,比如:剪裁、颜色、尺寸、图案等。例如:亚马逊公司建立的Outfit-VITON[2]虚拟试穿系统,利用了一种神经网络智能学习方法来生成接近真实的二维虚拟图像,从而最大程度地保留服装纹理、标识等精细的特征;张习文等[3]提出的DensePoseRCNN模型能够精确预测服装纹理数据,建立人体特征与服装纹理的映射关系,实现二维服装纹理特征的转移。虽然,二维虚拟试衣技术可以模拟出真实纹理,但就立体度而言,三维虚拟试衣技术的表现更加优越。比如,得物公司[4]的虚拟试衣系统、Total Immersion[5]公司的试衣镜。

随着互联网时尚消费的快速发展,人们对互联网时尚消费体验需求越来越高,交互式、个性化、逼真的虚拟试穿技术受到广泛关注。同时,旗袍作为中国传统服饰,是一种具有民族文化特征、风格多样、个性化丰富、典型的高定时尚类型。为了提升交互式、个性化、逼真的3D旗袍虚拟试穿体验效果,试衣人贴体的3D模型数字化旗袍模型扮演着重要角色。当前,数字化服装模型生成方式主要有两种。

其一,基于计算机仿真的3D数字化服装建模。这类方法是通过物理建模法、几何建模法或者混合建模法进行服装建模,还可以采用纹理映射、碰撞检测或者渲染等仿真技术仿真服装的细节[6]。比如:较为流行的韩国软件CLO3D、Marvelous Designer ;此外,国内水平较高的仿真设计软件Style3D可以设计出高度逼真的3D服装,并进行时装的虚拟展示。以旗袍数字化服装建模为例,胡佳琪等[7]利用CLO3D的虚拟缝合功能将预先设计好版型尺寸的二维衣片缝合成三维旗袍,穿在仿真的3D虚拟模特上,以辅助设计师的打板设计。为了获取精确的旗袍样板,研究[8]提出基于标准人体模型的多特征参数化设置方法,或采用三维人体扫描仪自动选取关键点采集人体数据。然而,上述服装仿真建模软件都需要导入人体的三维测量数据,通常采用专业的三维激光扫描测量仪来获取的人体特征,但周期长、成本高,多用于专业型的旗袍设计制造,不适于实时交互式体验的虚拟试穿场景。

其二,基于深度相机点云数据的3D建模。在计算机视觉应用领域中,大规模点云数据实时建模方法基于一种深度相机采集的深度信息,具有灵活性和交互性,被广泛应用。RGB-D深度相机利用视觉SLAM[10]原理可以表达出相机视场中的3D物体表面。比如:微软公司的交互式体感游戏产品Kinect相机[10],可以采用Kinect Fusion[11]算法处理点云数据,并利用TSDF距离函数重建出物体表面;Elastic Fusion[12]算法则使用Surfel面元表示方法,通过点云配准以及Surfel融合等处理,重建出3D物体表面。国内对于SLAM的研究起步较晚。张震等[13]提出了一种结合ORB特征与视觉词典的SLAM算法,首先提取了相邻图像的ORB特征,然后利用k近邻匹配找到对应的最邻近与次邻近匹配,最后采用改进的PROSAC-PnP算法得到对相机位姿的高精度估计;2020年,谷晓琳等[14]提出了一种基于半直接视觉里程计的RGB-D SLAM,其定位阶段采用直接法估计相机的初始位姿,然后通过特征点匹配和最小化重投影误差进一步优化位姿,处理了稀疏纹理、光照变化、移动物体等难题。

近来,基于深度相机的点云数据建模技术在虚拟服装领域的研究已有很多进展。虽然成本低、现场交互性好,但是由于旗袍虚拟试穿对贴身度要求高、对人体特征依赖性高,深度相机的人体三维重建精度仍然面临挑战。比如,当Kinect对试衣人进行连续环绕采集时,需要将不同角度视场里的人体点云数据转换到同一坐标系下,而相机连续移动易造成位姿估计波动、精度下降、误差累计或漂移等问题,导致表面重建精度降低,影响旗袍虚拟试穿效果。此外,实时交互、真人的旗袍个性化虚拟试穿还鲜见公开报道。

为了更好地促进3D旗袍虚拟试穿技术的普及与应用,实现交互式、个性化、贴体逼真的旗袍虚拟试穿体验,同时结合深度相机感测数据的低成本优势,本文围绕虚拟3D旗袍建模中高精度、实时的人体点云数据三维重建问题,研究提出一种Surfel-BA相机跟踪与稠密重建优化算法,通过提高相机连续移动过程中Surfel面元融合的稳定性,从而快速地生成贴合试衣人的人体点云三维重建模型,并在TUM数据集上进行了精度性能比测分析;然后,利用服装建模软件Marvelous Designer设计构建了相应的数字化人台以及虚拟3D旗袍模型,并在Unity交互环境下实现了虚拟旗袍试衣预览;最后,试衣人面对Kinect相机进行了旗袍模型的现场虚拟试穿体验,验证所提出建模方法的有效性和逼真的虚拟试穿体验效果。

1 深度相机三维重建原理

视觉SLAM是指用深度相机解决视觉场的定位和建图问题,属于一种机器视觉技术。为了重建出三维物体的表面,深度相机在移动中不断对连续帧的RGB信息与深度信息进行特征提取与匹配,建立起一个视角场中的3D点云特征,同时估计自己的运动位姿,融合由位姿估计定位的新表面并进行更新。

通常,三维重建[15]主要包括以下步骤:其一,预处理深度图,去除图像噪声;其二,相机位姿估计和点云配准,将不同位姿下的图像信息与点云数据建立起统一的对应关系;其三,表面融合,将当前深度图像融合到已经重建的表面,生成完整的三维重建模型。

依据深度相机三维重建原理,三维物体表面可采用一种Surfel面元表述方法来描述。 一个Surfel可以理解成物体表面的一个小面元,如图1所示。Surfel属性诸如空间点坐标、空间法向量、颜色、权重/置信度、时间戳等。深度相机的三维重建过程如同一个个新面元沿着相机视角轨迹动态生长并自洽融合。于是,Surfel面元与深度图融合即可构建出三维模型表面。因此,相机跟踪与稠密重建是视觉SLAM的关键。然而,在实际应用中,深度相机移动中会引起位姿估计误差积累、飘移等各种问题,极易降低Surfel表面的精度和稳定性,影响大规模点云建模的质量。

图1 Surfel面元表述模型

作为一款普通消费级的交互式体感设备,Kinect搭载彩色相机、红外激光发射器和深度相机,其工作原理采用了基于TOF飞行法获取深度信息。工作时,利用红外激光发射器向被测物体发射红外激光,物体反射的光脉冲被相机接收。通过探测光脉冲的飞行往返时间可以计算被测物体离相机的距离。

2 高精度数字化人台建模

2.1 Surfel-BA高精度3D人体建模原理

Surfel点云数据三维重建系统基于视觉SLAM原理,对深度相机感测获得的RGB-D数据进行实时3D点云数据建模处理。首先,深度相机采集RGB-D信息流并进行RGB-D帧注册。彩色图像通过ORB(oriented fast and rotated brief)特征提取与匹配算法进行检测和匹配,深度图像通过ICP(iterative closest point)配准算法进行位姿估计;然后,位姿估计与Surfel面元进行集成融合、投影生成3D模型表面。

当深度相机环人体进行移动感测时,相机跟踪的位姿会不断变化,系统对输入连续帧的RGB-D信息进行点云数据处理,诸如特征提取匹配、点云配准等。如果每一帧的相机跟踪的位姿估计出现波动或偏差,帧位姿估计误差被带入到新建的Surfel流中进行后续的Surfel融合处理。于是,表面重构误差会随着连续移动而偏离相机轨迹,不断积累。人体3D模型精度低将影响之后试衣人的数字化人台效果。

为了避免深度相机移动引起的位姿估计精度与表面稳定性下降,提出了Surfel-BA高精度3D人体建模方法:在Surfel面元重建基础,引入全局BA优化对全局地图的位姿进行校正。其工作原理如图2所示。Surfel面元融合是形成全局地图的关键步骤,将当前帧的Surfel面元融合到已有的3D模型表面中。由于位姿估计误差导致的全局地图可能含有多个帧的位姿估计累计误差,通过全局反馈提升全局地图估计位姿的精度,则可消除位姿估计误差引起的Surfel面元融合质量的下降。

图2 Surfel-BA高精度3D人体建模原理图

接下来,对RGB-D帧注册过程中采用的ORB和ICP位姿估计算法、全局BA优化算法分别进行详细设计。

2.2 ORB特征提取与匹配

匹配点对是相机跟踪过程的关键之一。当相机在移动过程中获取的彩色图像视角不断移动变化,图像中物体的灰度值也在变化。此时,通过对物体特征提取与匹配确定不同视角场中的同一个物体。

ORB是将FAST特征检测和BRIEF特征描述子结合在一起的关键点检测与匹配算法,具有旋转不变性与噪声抑制,受相机移动或光线影响小,且速度较快。定义FAST特征检测的图像块的矩为

(1)

其中,I(x,y)表示像素灰度值。令m00表示关键点(x,y)的领域内所有像素灰度值之和,m10和m01分别表示关于x和y的一阶矩,则该图像块的质心C为

(2)

特征点的方向θ为特征点与图像块质心的夹角:

θ=arctan(m01,m10)

(3)

以BRIEF描述子向量描述关键点周围的像素(p,q):

(4)

2.3 ICP点云配准

点云配准是指通过一个变换T使得目标点云P和源点云Q的变换结果T(P)和T(Q)尽可能重合。通过点云配准将在不同视角中感测到的点云数据准配到同一个坐标系中。

ICP是一种点云精配准算法。对于刚性变换,点云配准可以描述为一个目标函数优化问题。利用最小二乘法计算出匹配最优的参数旋转矩阵R和平移矩阵t,使得目标误差函数最小,从而获得从源点云Q到目标点云P的最佳刚性变换R和t。目标误差函数公式如下:

(5)

其中,(pi,qi)是最邻近点。

2.4 Surfel-BA面元融合

RGB-D帧与Surfel数据流融合集成到局部地图时, Surfel根据其时间戳分为active区域和inactive区域。在相机跟踪与稠密重建过程中,局部地图中active区域通过反馈与新的RGB-D帧融合,不断更新局部地图。

Surfel集成块将新的RGB-D帧与active区域的Surfel集成在一起。之后,Surfel投影块里active区域中的图像生成点、法线和颜色。将新帧与局部地图投影图像进行比较,如果位置和法线的值足够接近,则根据以下公式更新局部地图中的表面:

(6)

(7)

(8)

通常,回环检测可以在一定程度上校正对当前关键帧的处理误差,有效生成Surfel表面模型。但实际上,关键帧Surfel表面仍可能有累计误差存在。因此,本文引入全局BA优化方法,优化全局地图的关键帧位姿和地图点坐标。

BA(bundle adjustment)优化属于非线性优化,是计算机视觉领域常用的一种位姿优化的图优化方法。假定空间点p经过一个内参矩阵为K、外参为(R,t) 的针孔相机投影,在像素平面上得到p的像素坐标为z,则根据针孔相机成像原理可知,z与p满足:

sz=K(Rp+t)

(9)

误差函数e实际上是重投影误差:

(10)

其中,s为尺度因子,ξ∧为相机外参(R,t) 对应李代数的反对称矩阵,(p,1)T为空间点p的齐次坐标表示。

对上述重投影误差求和以构建出一个最小二乘问题然后通过L-M方法求解,得到最优解,目标函数为

(11)

2.5 精度指标

深度相机位姿估计精度影响虚拟试穿的3D人台建模精度,最终将影响旗袍虚拟试穿的贴身体验。本文采用ATE绝对位姿误差和RPE相对位姿误差描述位姿估计精度。其中,ATE是估计位姿与真实位姿之间差值,用于直观地反应算法精度和轨迹全局一致性。RPE主要描述的是两帧之间位姿差别,反应在Kinect采集中位姿估计的漂移情况。

假定:算法估计位姿为P1,…,Pn∈SE(3),真实位姿为Q1,…,Qn∈SE(3),从估计位姿到真实位姿的转换矩阵为S∈SE(3) ,则第i帧的ATE误差分布矩阵Fi以及统计特性RSME分别定义如式(12)、式(13):

(12)

(13)

其中,trans(Fi)代表平移部分的绝对误差。

第i帧的RPE误差分布矩阵Ei以及统计特性RSME分别定义如式(14)、式(15):

(14)

(15)

其中,Δ是时间间隔,trans(Ei)代表平移部分的绝对误差。

3 基于感测的个性化3D旗袍建模

基于感测的个性化3D旗袍建模流程如图3所示,主要包括Kinect深度相机感测、高精度Surfel-BA 三维实时重建,以及3D数字化旗袍建模3个功能部分组成。其中,上述提出的Surfel-BA三维实时重建技术在CPU i7-8750H 8G、显卡为GTX 1060 6G的电脑与Ubuntu18.04运行环境下,采用C++语言编程设计实现。3D数字化旗袍建模利用建模软件工具Marvelous Designer设计完成。

图3 数字化3D旗袍建模

系统工作时,首先,Kinect深度相机对真实的试衣人进行实时采集,获取试衣人的RGB-D人体感测点云数据;接着,Surfel-BA三维实时重建单元负责将人体点云数据建模生成一个高精度的3D人体点云模型;再由点云处理软件Meshlab进行点云修建与表面重建,生成一个基于感测的数字化3D人台,为接下来建立试衣人合体的旗袍模型提供了支撑;最后,3D数字化旗袍建模单元负责在数字化3D人台上生成一个试衣人的三维旗袍模型。具体地,使用了Marvelous Designer软件的虚拟缝合功能,将旗袍二维衣片版图通过缝合与碰撞检测生成3D虚拟旗袍模型。其中,缝合原理是利用弹簧质点模型来模拟衣片的服装物理性质,并通过指定的缝合点对衣片施加缝合力使衣片缝合成为三维旗袍。碰撞检测原理则可以判断衣片与数字人台网格是否符合正确的空间几何关系,从而保证三维旗袍模型附着于3D人台上。基于试衣人感测数据得到的数字化人台以及三维旗袍建模过程如图4所示。

图4 感测的数字化人台与三维旗袍建模

4 实验测试与结果分析

4.1 位姿估计精度性能

使用TUM测试数据集来测评相机轨迹跟踪的位姿精度。TUM数据集包含多个由 Kinect v1相机采集的真实场景 RGB-D帧序列数据,所有深度和彩色图像都经过校正,提供相机轨迹真值。现有2种流行的RGB-D SLAM方法与本文方法进行比测,一种是利用Surfel重建的ElasticFusion,另一种是基于TSDF表面融合的Kintinous。采用一个评估里程计SLAM算法的位姿软件evo工具进行性能评测。

表1给出了相应的每帧ATE动态分布统计参数对比结果,包括Max(最大值)、Min(最小值)、RMSE、SSE(和方差)、STD(标准差)等指标。图5给出3种算法的RPE相对位姿误差测试结果。对比可见,本文Surfel-BA算法的ATE统计特性参数值均最小,RPE波动小。因此,本文提出的Surfel-BA位姿估计精度更高、更可靠。此外,3种算法的RPE有时突然增加,核对数据集是由于视频序列采集过程抖动引起的。下一步将该系统用于实现试衣人的人体建模,以实现真人的高精度数字化人台模型。

表1 位姿估计ATE统计特性比较

4.2 数字化3D旗袍模型预览测试

首先,依据3D旗袍建模方法和步骤构建试衣人的3D旗袍模型,图6分别给出试衣人的3D人体重建点云模型、数字化人台以及不同风格的三维虚拟旗袍模型;然后,在多平台交互式开发环境Unity3D中建立起一个交互式虚拟试衣间,导入虚拟旗袍模型,便可在数字化人台上预览3D虚拟旗袍模型的效果,如图6(c)、图6(d)所示。可见,试衣人的虚拟旗袍模型与数字人台均能反应出试衣人的人体特征,符合度良好。

(a) Surfel-BA

(a) 人体点云重建模型

4.3 数字化3D旗袍模型虚拟试穿试验

依据文献[16]搭建服装虚拟试穿交互式试验环境,如图7所示,包括Kinect和主机。实验时,试衣人面对Kinect体感设备,通过人机界面UI选择拟试穿的虚拟旗袍模型,通过主机上多平台交互式开发环境Unity3D的发布画面,试衣人可看到自己虚拟试穿该旗袍模型,也可进行现场交互式体验,如图8所示。实验结果表明,试衣人可以体验本文设计的数字化3D虚拟旗袍模型,虚拟试穿效果逼真,具有良好的贴体效果。

图7 虚拟试穿体验实验环境

图8 现场真人体验虚拟旗袍模型试穿效果

5 总结

本文针对个性化旗袍虚拟试穿系统中人体3D点云模型精度受相机移动引起的位姿估计误差与表面融合下降等问题影响,研究提出了一种基于全局BA反馈的Surfel-BA三维重建全局优化算法,在Ubuntu18.04等开发运行环境下,采用C++语言编程实现了基于感测的个性化3D旗袍建模。基于TUM数据集进行了Surfel-BA算法优化与位姿精度性能比测,所得ATE误差统计特性更佳、RPE误差得到有效抑制;在Kinect与Unity集成环境下进行了真人现场交互式旗袍虚拟试穿实验,验证了新的3D旗袍建模方法能获得贴体、逼真的虚拟体验,快速便捷,交互性良好,在互联网数字时尚领域具有良好的应用前景。

猜你喜欢

试衣位姿旗袍
基于大数据虚拟试衣系统的研究
“85后”非遗传承人的旗袍梦
基于位置依赖的密集融合的6D位姿估计方法
曲柄摇杆机构的动力学仿真
零下20℃
优化ORB 特征的视觉SLAM
我来说说旗袍美
基于单目视觉的工件位姿六自由度测量方法研究
想活多久
旗袍找不同