多视角单目服装图像三维重建算法的研究与实现

2021-11-26 23:31胡新荣曾潇刘军平彭涛何儒汉陈常念
现代纺织技术 2021年6期

胡新荣 曾潇 刘军平 彭涛 何儒汉 陈常念

摘 要:为降低服装三维模型的重建难度,提升三维服装模型的重建效率,提出一种基于多视角单目的服装三维重建方法,该方法首先获取服装图像序列,然后对服装图像序列进行实例化分割获得含服装部分的轮廓信息,使用SIFT算法提取每张图像的特征点和匹配对,加入双重约束去除误差匹配对。然后进行稀疏点云以及稠密点云的重建,最后使用泊松重建还原服装表面细节。结果表明:在多视觉单目服装三维重建过程加入实例分割和双重约束后可以将特征的匹配率提升至88.3%,三维重建的速度较传统方法提升了22%。该方法在服装三维模型重建的过程中也能较好还原服装表面细节。

关键词:服装重建;实例分割;特征点检测;特征点匹配;点云

中图分类号: TP391.41

文献标志码:A

文章编号:1009-265X(2021)06-0084-07

Research and Implementation of 3D Reconstruction Algorithm for Images of

Multi-view Monocular Garment

HU Xinrong, ZENG xiao, LIU Junping, PENG Tao, HE Ruhan, CHEN Changnian

(School of Computer Science and Artificial Intelligence, Wuhan Textile University, Wuhan 430200, China)

Abstract: In order to reduce the difficulty of 3D garment model reconstruction and improve the efficiency of 3D garment model reconstruction, a 3D reconstruction method based on multi-view monocular garment is presented. In this method, the garment image sequence is firstly obtained, and then the contour information of garment is obtained by instantiating and segmenting the garment image sequence. The feature points and matching pairs of each image are extracted by using SIFT algorithm and error matching pairs are eliminated by adding dual constraints. Then, sparse point cloud and dense point cloud are reconstructed, and finally the surface details of the garment are restored by Poisson reconstruction. The results show that after adding instance segmentation and dual constraints to the 3D reconstruction process of multi-view monocular garment, the matching rate of features can increase to 88.3%, and the speed of 3D reconstruction can increase by 22% compared with the traditional method. This method can also restore the surface details of the garment properly in the process of 3D model reconstruction.

Key words: garment reconstruction; instance segmentation; feature point detection; feature point matching; point cloud

收稿日期:2020-03-20  網络首发日期:2020-12-17

基金项目:国家自然科学基金项目(61103085);湖北省高校优秀中青年科技创新团队计划项目(T201807)

作者简介:胡新荣(1974- ),女,武汉人,教授,博士,主要从事图形图像处理方面的研究。

随着互联网技术和虚拟现实技术的发展,三维服装模型广泛应用于服装设计、个性化定制、虚拟试衣、影视娱乐、动漫游戏各领域[1]。三维服装模型的制作同时也吸引了越来越多服装及图形学相关领域研究者的兴趣。由于服装具有材质柔软、易变形、易褶皱及结构复杂等特性,使得服装三维建模相较于其他刚性物体建模具有更大的难度。

服装三维重建根据方法的不同可以分为以下四类:几何法、扫描法、深度学习法、多视角法。几何法的基本原理是基于物体都是由许多微小几何体构成的集合,常用于几何法制作服装三维模型的工具有CAD、Maya、CLOTH[2-4]等,这些工具可以较好地完成服装的建模。但是,该类工具操作起来难度较大,耗时较长,且无法准确地还原服装表面的细节。扫描法基本原理是利用脉冲的反射时间从而计算服装的表面细节,这类方法常用的工具有Kinect、Li-Diar等[5]。扫描法可以快速有效地完成服装表面的重建,但该类设备对应的场景有限,其价格也较为昂贵,难以大规模普及。深度学习法的基本原理是通过大量的服装数据训练,得到合适的服装三维重建模型,这类方法对数据量要求极高,且得到的服装模型结果有较大的局限性[6]。多视角法根据相机数量的不同又可分为双目多视角和单目多视角[7-9],其基本原理都是围绕服装表面拍摄一组图像序列,然后根据一定图形几何学原理生成三维模型。其中,双目多视角在操作过程中需要将多个相机维持在一个固定距离,相比单目多视角而言不仅增加了成本也加大了操作难度。此外,单目多视角在服装三维重建过程中具有成本低、操作简单、鲁棒性好等优势。

本研究从传统单目多视角出发,拍摄一组服装图像序列,然后使用Mask R-CNN[10]用于服装目标检测和语义分割从而降低后期生成点云的噪声,也加快了三维重建的速度。得到语义分割的服装图像之后使用SIFT算法提取服装图像的特征点和匹配对,由于SIFT在粗匹配过程中会产生大量的误差匹配对,在此基础上,本研究加入双重约束,有效地减少了特征点误差匹配对。接着使用SFM算法对特征点进行稀疏点云重建,再使用多视角密集匹配算法CMVS/PMVS将稀疏点云转为稠密点云。最后使用泊松表面重建算法将稠密点云转为光滑连续的服装三维模型。

1 图像获取和服装轮廓提取

二维服装的图像获取是服装三维重建的第一步,获取的图像的质量将直接影响后续系列的重建操作。服装轮廓的提取是为了减少后续的计算量,同时减少冗余点云的产生。

1.1 图像获取

由于视角和遮挡等原因,单张图像往往无法包含一个物体表面的所有信息,为获得服装表面更多丰富的细节,需要对服装表面进行多角度拍摄从而获得一组图像序列。拍摄时,所选择服装的颜色应避免整体单一,并且应避免其颜色与所拍摄背景颜色相同。同时服装材质的选择应为质地清晰纹理分明的材质,如服装表面带有条纹或格子。实验拍摄对场地无特殊要求,仅光源足以清晰的拍摄出主体即可。手持相机顺时针均匀的围绕服装表面拍摄一组图像序列,拍摄的每张图像须包含主体在此角度的全部信息。进行拍摄时相邻两张图像的角度不能超过30°,由SIFT算法特性决定,在两张图像角度相差大于30°时,其匹配对明显减少,从而导致重建效果不理想。图1为图像拍摄方式,图2为拍摄的部分服装图像序列。

1.2 服装实例分割

实例分割是指检测图像中的目标物,并完成对目标物的分类、图像分割以及目标区域定位。本研究使用Mask R-CNN用于服装图像的实例分割,Mask R-CNN算法具有操作简捷、识别精度高等优点,是目前最优秀的实例分割算法之一。Mask R-CNN的基本思想是先用RPN(Region proposal network)区域建议网络对图像进行检测并找到图像中的ROI(Region of interest)候选区域,再使用卷积层提取图像中所有的特征,随之使用ROIAlign对特征进行检测并通过FCN将图像中不同实例进行分类,最后得到目标实例的结果。

实验选用DeepFashion、COCO数据集,同时结合實际情况采用Lableme图像标识工具完成对服装图像的标识处理。香港中文大学所开放的数据集DeepFashion,总共涵盖80多万张不同场景、角度各异的买家秀服装图像。

Mask R-CNN实例分割的网络结构分为两部分:Faster R-CNN[11]检测器和FCN,流程如图3所示。

Faster R-CNN由两部分组成:RPN和ROI Pool。RPN的主要功能是选取目标物候选框并对ROI进行分类。ROI Pool则是对每个候选框的特征进行提取,然后进行分类和回归操作。

FCN是对Faster R-CNN提取的候选框添加掩模,然后对目标对象进行分割的操作。其中掩模表示的是各个候选框之间的位运算。

本研究模型选用101层的深度残差网络ResNet101,通过该网络的使用能够从第四阶段对应的最终卷积层完成特征的提取处理操作。在实验训练过程中,是将图像作为中心,将目标图像边长尺寸相对较小的一侧归一化处理至800像素,类似Faster RCNN完成其相应参数的设置。

在实验训练过程中,各样本的ROI均存在一个与之对应的损失函数(Loss,L),L的相关定义如式(1):

2 图像特征点检测和匹配

服装图像特征点的检测和匹配的好与坏直接影响后续SFM稀疏点云的质量。本研究关于特征点的提取与匹配使用的是SIFT算法,由Lowe[12]提出,其具有较好的尺度、旋转、平移不变性。

2.1 特征点检测

SIFT特征点的检测分为5步,如图4所示,分别是尺度空间的构建、极值点的检测、去除边缘效应点、关键点主方向的确定、描述子。

a)构建尺度空间需要依赖高斯滤波器G(a,b,σ):

式中:I(a,b,σ)表示为一个尺度空间,M(a,b)表示为原图像,G(a,b,σ)为高斯滤波核,a,b表示为服装图像的像素位置,表示卷积运算,σ表示为尺度空间,其值越小,表示图像越平滑,对应的图像尺度也就越小。

根据σi的取值不同,可以得到一组尺度空间。然后对这组尺度空间的图像进行降采样处理得到只有原图像大小的二分之一的一组尺度空间。对第一组尺度空间进行多次降采样得到O层数据。

其中O层的求解方法如下:

为了使算法具有尺度不变性,还需对同一组中尺度大小不一致的相邻图像进行相减得到高斯差分金字塔D(a,b,σ)。

式中:k为整数。

b)极值点检测。在高斯差分金字塔中寻找极值。若高斯差分金字塔中某一像素点同时大于或小于同一尺度中周围8个位置,以及上下相邻两个尺度18个点位置时,将该点列为极值点。进一步将检测到的极值点作泰勒展开,得到其精准极值点位置。

c)去除边缘点。上一步得到的极值点中有比较多的多余点,因此需要使用Hessain矩阵,若高斯差分金字塔中对a,b的二阶偏导之和与a,b二阶混合偏导的差之间的比值小于给定的阈值,称该点为边缘点,应予以剔除。

d)确立主方向。根据步骤c)中留下的最终特征点,以其特征点为圆心,以该特征点所在高斯图像尺度的1.5倍为半径作圆,统计圆内所有像素的梯度方向以及其梯度幅值,依据统计得到的最多数据值为主方向。

e)描述子。根据关键点的主方向,先将圆内的16个子区域旋转成与主方向一致。然后统计每个子区域中8个方向上的数值,构成含有128个维度的向量。最终,SIFT特征点检测结果如图5所示。

2.2 特征点匹配

SIFT获取特征点之后,接下来需要进行特征点的匹配。通常判定两个描述子之间是否存在相似性使用欧氏距离表示。根据特征点提取的过程知道描述子是具有128个维度的向量。假设其中一个经由SIFT提取的描述子为Xi=(Xi1...Xi128),另一待匹配的描述子為Yi=(Yi1...Yi128),这两个描述子经欧氏距离计算的过程如下:

经过上述的欧式距离可以得到比较多的匹配对,由于欧氏距离计算的是向量之间的距离,却没计算不同向量之间的相关性。所以还需将欧氏距离得到的匹配对进一步筛选。因此,在欧氏距离基础上加入余弦相似度和切比雪夫距离作为双重约束用于过滤粗匹配对。余弦相似度检测两向量的特征关系时,当余弦值越接近0时,越说明两向量不相关,即为误匹配点,应予以剔除。

最后,通过Ransac(Random sample consensus)随机采样一致方法作为最后的提纯,得到最佳匹配对结果。Ransac算法是一个迭代不断寻找最优解的过程。其具体步骤为:首先随机选取四对匹配点,根据这四对匹配点建立一个初始的模型。接着将该模型用于检测其他匹配点,并统计其中的误差匹配点数目是否满足某一阈值。若满足则将该模型作为最终方法,若不满足,然后重建选取四对匹配点完成上述过程。但若特征点匹配过程中误差对较多的时候,那么此时加入Ransac算法反而会降低匹配精度同时减少正确的匹配对数目。为此,对Ransac算法进行了改进。

假设两幅图像中存在一组正确的特征点匹配对分别是(Xi,Yi),(Xj,Yj),其中d(Xi,Xj)表示两个维度向量Xi和Xj之间的距离,同理d(Yi,Yj)表示Yi和Yj的距离。因为是在一组正确匹配对,因此d(Xi,Xj)和d(Yi,Yj)两者间的距离也相似。相对应的,若相邻两幅图像的左图和右图中的Xi和Xj的距离与左图中Yi和右图中的Yj距离相似,可以认为这两点之间存在匹配关系,于是提出以下约束函数关系:

式中:D(i,j)表示的是d(Xi,Xj)和d(Yi,Yj)的平均距离,e(i,j)表示e(-tij),e(-tij)为e(-tij)=d(Xi,Xj)-d(Yi-Yj)D(i,j)即Xi与Yi和每对潜在点的距离相似差异。

具体实现步骤如下:

首先求出所有ν(i)的值,然后计算ν(i)的平均值ν,若ν(i)大于0.8倍的ν,认为这两点之间存在正确匹配,则将该两个数据进行保留,否则,删除。最后,将保留得到的一组精度较高的特征点通过Ransac迭代方式进行最后提纯。

图6为特征点匹配效果图。其中图6(a)表示为仅为SIFT特征点匹配结果,图6(b)为Ransac算法提纯后效果,图6(c)为加入双重约束后效果。其特征点匹配数目实验分析如表1所示。

根据表1中数据可知,在传统SIFT特征点匹配过程中,能够提取较多的匹配对,其匹配的平均准确率为62.2%,无法满足服装三维建模过程的精度。Ransac算法能够较大程度提高特征点的匹配率,其平均准确率为84.3%,但由于Ransac在匹配过程中同时也剔除了较多的正确匹配对,使得特征匹配对数目较少。针对SIFT特征点匹配率低、Ransac提取特征匹配对数少,加入双重约束即余弦相似度约束和Ransac前置约束,其特征匹配准确率为88.3%,可以有效提高其匹配对同时提升匹配的准确率,这将提高服装模型重建过程中点云的数量,细节还原更加逼真。

3 服装三维重建

3.1 稀疏点云重建

选用SFM(Struct from motion)[13]算法对服装进行稀疏点云重建。SFM算法具有迭代性,第一步选择匹配对数目最多的相邻两幅图像作为算法的开始,通过两幅图像之间的匹配对信息使用三角测量得到三维点云信息,此时得到的点云信息对应着真实服装在空间中的部分特征。依此方法逐渐加入更多服装图像从而得到更多的三维点云信息。最后通过最小化重投影误差(Bundle ajustment,BA)[13]方法进行优化。

最小化重投影误差算法使用的是非线性最小二乘法技术[14],重投影误差计算的式为:

式中:n表示三维点个数,m表示服装图像总数量,Xij表示第j张服装图像上的第i的三维点,vij表示在第j张服装图像上第i个三维点的映射系数。

当映射系数为1时,说明两者有映射关系,若映射系数等于2则说明没有映射关系。aj表示的是每幅图像对应的相机,bi表示三维点为i的向量。函数Q(aj,bi)表示的是在三维点bi在aj相机下对应的投影位置,即预测值,d则表示点坐标与预测点坐标的空间距离。

3.2 稠密点云重建

SFM算法对服装进行三维重建后,得到的是具有低点云密度的三维特征点,包含服装信息较少。为了使服装模型更加饱满还需要对稀疏点云进行稠密重建。本研究使用CMVS/PMVS[13]多视角密集匹配进行服装的稠密重建。CMVS(Clustering multi-view stereo)可以对SFM得到的稀疏点云进行聚簇分类以及优化,减少密集匹配所需的时间从而提高效率。PMVS(Patch-based multi-view stereo)对得到的密集匹配进行匹配、扩展以及过滤。

PMVS方法是基于区域增长[14-17]:首先使用Harris和高斯差分查找图像中的特征点t,然后在其他图像中找到和t相匹配的特征t,组成一个匹配集合T。再根据三角测量公式将匹配集合演变为空间三维点云,通过迭代在已有稀疏点云面片的基础上不断增加点云的密度,从而得到稠密点云;最后将得到的稠密点云使用滤波算法进行矫正,从而得到一个完整的服装三维稠密点云。

3.3 泊松表面重建

稠密点云得到的服装三维模型,中间仍然包含许多孤立的三维点集合,从而导致服装表面出现许多难以修复的孔洞。采用泊松表面重建方法[18],对稠密点云数据求解泊松方程,从而得到表面连续光滑的服装三维表面。

泊松表面重建的流程可以分为4个部分:离散化、向量场的创建、求解泊松等式、提取等值面。为了将泊松公式离散化,首先创建函数空间F,然后定义一个八叉树,将稠密点云集合存入八叉树节点。为提高八叉树的搜索效率还需通过三线性插值方法创建向量场。通过向量场求解泊松方程得到指示函数的值。最后根据指示函数求解等值面,并通过平均值法将等值面进行提取,随后通过移动立方体得到最终服装模型。

4 结果与分析

采用小米Max3手机拍摄的一组服装图像序列,实验环境为Ubuntu16.04 64位、C++、Clion。对于拍摄环境没有严格要求,以服装作为目标物,绕其表面拍摄一圈。加入Mask R-CNN作为服装的实例分割降低点云噪声,在特征点匹配过程加入双重过滤算法优化特征点的匹配精度。图7、图8、图9分别表示稀疏点云效果、稠密点云效果以及完整服装三维模型效果。表2为与传统实验数据对比实验结果,表明加入Mask R-CNN作为服装的实例分割降低点云噪声、降低重建所需时间。加入双重约束作为过滤可以有效减少误差匹配对,提高了特征点匹配的精度。本研究重建实验具有较好的鲁棒性。

5 结 语

本研究在SIFT特征匹配基础之上加入双重约束过滤算法能够减少三维重建的时间,降低特征点误匹配对情况,从而提升服装三维重建的效率和效果,在单目图像重建算法的性能方面有较大的改善。虽然在多视角单目服装图像三维重建方面取得了初步进展,但仍然存在不足,如重建所需图片较多,耗时较长无法达到实时重建的效果,重建时没考虑遮挡的数据点等等。下一步工作可以通过服装对称性、插值法增加被遮挡的数据点云的考虑来提高重建性能。

参考文献:

[1]迟晓琳.谈舞蹈服装设计在3D数字游戏中的应用[J].艺术教育,2018(1):186-187.

[2]张菲菲.基于三维扫描的旗袍CAD样板参数化设计[D].芜湖:安徽工程大学,2019.

[3]郭丹,商书元.基于Maya技术的虚拟服饰模型构建[J].电脑知识与技术,2016,12(35):240-241.

[4]黄益品.CLO3D技术在服装款式设计中的应用研究[J].中国文艺家,2019(9):103.

[5]李健,李丰,何斌,等.单Kinect+回转台的全视角三维重建[J].数据采集与处理,2019,34(2):205-213.

[6]DANˇ REK R, DIBRA E, ZTIRELI C, et al. Deep-Garment: 3D garment shape estimation from a single image[J].Computer Graphics Forum, 2017,36(2):269-280.

[7]王欣,袁坤,于晓,等.基于运动恢复的双目视觉三维重建系统设计[J].光学精密工程,2014,22(5):1379-1387.

[8]KANAZAWA A, BLACK M J, JACOBS D W, et al. End-to-end recovery of human shape and pose[C]//CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. IEEE, 2018:7122-7131.

[9]WANG X, YUAN K, YU X, et al. Design of binocular vision 3D reconstruction system based on motion recovery[J]. Optics and Precision Engineering, 2014,22(5):1379-1387.

[10]HE K M, GKIOXARI G, DOLLAR P, et al. Mask R-CNN[C]//2017 IEEE International Conference on Computer Vision (ICCV). Venice. IEEE,2017:6870-6878.

[11]REN S Q, HE K M, ROSS G, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017,39(6):1137-1149.

[12]LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004,60(2):91-110.

[13]張平,王山东,黄瑾娉,等.基于SFM和CMVS/PMVS的建筑物点云重构方法研究[J].苏州科技学院学报(自然科学版),2015,32(3):60-64.

[14]Westoby M J, Brasington J, Glasser N F, et al. 'Structure-from-Motion' photogrammetry: A low-cost, effective tool for geoscience applications[J]. Geomorphology, 2012,179:300-314.

[15]缪君,储珺,张桂梅,等.基于稀疏点云的多平面场景稠密重建[J].自动化学报,2015,41(4):813-822.

[16]FATHI H, BRILAKIS I. Automated sparse 3D point cloud generation of infrastructure using its distinctive visual features[J]. Advanced Engineering Informatics, 2011,25(4):760-770.

[17]何豫航,岳俊.基于CMVS/PMVS多视角密集匹配方法的研究与实现[J].测绘地理信息,2013,38(3):20-23.

[18]刘涛,高媛,秦品乐,等.基于点云增强优化的泊松重建算法[J].计算机应用研究,2018,35(3):940-943.