基于二维图像的三维服装重建

2020-05-08 11:25钟跃崎
纺织学报 2020年4期
关键词:泊松三维重建重构

潘 博, 钟跃崎,2

(1. 东华大学 纺织学院, 上海 201620; 2. 东华大学 纺织面料与技术教育部重点实验室, 上海 201620)

二维服装重建对于虚拟商品展示、虚拟试衣技术等在提高用户体验、增强沉浸感方面具有重要的现实意义。尽管三维模型可由人工手动创建,但该方法不适于工业化应用。扫描仪的出现填补了三维重建技术的空白,不仅提供了现成的工具,且获得的模型精度高,但受限于其设备价格昂贵,重建模型的规模和形状,以及获取的模型不包含纹理,无法进行进一步的完善[1]等问题,研究者们开始将研究方向聚焦在二维图像到三维模型的转化问题上。运动结构恢复(SFM)[2-3]和视觉即时定位与地图构建技术(VSLAM)是2种常用于二维图像恢复三维信息的方法。VSLAM被广泛应用在机器人定位和场景的实时构建技术中,但同样可用来恢复二维照片中的三维信息,与SFM方法最显著的区别在于,VSLAM需要得到二维图像的序列先验,且不支持离线算法,鉴于适用性的考虑,本文基于SFM方式进行展开。SFM是一种通过收集二维图像,并利用图像中的对应关系估计相机姿态,还原三维信息的一种技术,SFM包含3个主要步骤:1)图像内特征(包括点、线、颜色等多种信息)的提取与匹配;2)相机姿态估计;3)利用估计的相机姿态和提取的特征点恢复三维结构(最小化重投影误差的方式)。

三维重建技术在纺织行业中早有应用:杨晓波等[4]设计了一种仪器利用三维重建织物轮廓来评价织物起皱,其还在设计过程中结合模糊聚类与Woodham[5]的光度视觉技术进行织物种类的识别;沙莎等[6]利用织物物理模型、线圈模型和纱线真实感三方面对织物外观进行三维模拟研究等。目前,三维重建主要应用在纱线、织物的三维动态仿真以及织物评价等方面,针对服装模型整体的重建研究较少,尚处在起步阶段。该方法旨在从若干幅图片中计算提取出目标的三维深度信息,重构出具备真实感的三维服装模型。

此前已有不少报道对于图像的三维重建进行过相关研究[7-9],但大部分工作集中于建筑、文物等刚性物体的重建,且多数研究仅停留在点云重构层面。然而,作为典型的柔性材料,这种技术路线下的服装三维重建往往存在由自遮蔽问题所导致的点云模型局部缺失,进而引起三维表面网格重构错误。针对此问题,本文提出利用点云融合提高网格模型逼真度的改进措施,同时针对不同的图像拍摄方式获取的模型效果进行比较,并给出重建结果与深度相机获取的点云数据的比对结果。

图2 增广式SFM流程示意Fig.2 Incremental structure from motion pipeline

1 三维服装重建流程简介

本文三维服装模型重建的具体流程包括如下步骤:首先,提取二维图像特征点,然后利用SFM构建服装模型的稀疏点云,通过SFM恢复的相机姿态利用多视角立体视觉(multi-view stereo)获取服装模型的稠密点云;之后使用泊松重建获取模型网格;最后应用法线映射贴图技术得到包含纹理的服装模型。利用二维图像获取三维模型的重建过程效果展示如图1所示。

图1 服装模型重建效果展示Fig.1 Garment reconstruction result display. (a) Sparse point cloud; (b) Dense point cloud; (c) Mesh; (d) Texture mapping

1.1 SFM点云稀疏重建

SFM可将不同观察角度得到的待重建物体的二维图片重建生成三维模型的稀疏点云。作为一种端到端的重建技术,与其他三维重建技术相比,这种方式不需要对相机进行标定,可直接从二维图像中推导出相机姿态。按照SFM过程中图像添加顺序的拓扑结构,SFM可分为增广式SFM、全局式SFM以及混合式SFM。增广式SFM的优势在于对错误的特征匹配对更加鲁棒,总体精度更高;而缺点在于重建时间较长,且随着相机注册步骤会存在误差累积的现象。全局式SFM与之相反,虽然提高了重建效率,避免了相机注册过程中的误差累积,但对于错误的匹配对鲁棒性差,难以修正。混合式SFM则是二者在效率和效果上的折中。鉴于本文以服装作为重建对象,数据集较小,全局式SFM的效率优势并没有明显体现且误差累积不显著,所以本文主要以增广式SFM进行讨论。增广式SFM[10]技术的流程示意图如图2所示。

1.2 多视角立体视觉稠密点云重建

鉴于SFM通过特征匹配重构三维点云,因此,由其生成的点云只能是稀疏的点云模型。在此基础上,本文引入多视角立体视觉[11-12]技术,该技术是对二维图像中每个像素进行匹配,从而使得所得三维点的密集程度可较为接近图像展示出的清晰度。具体流程如下。

1)计算多张图像的Harris角点,并利用差分金字塔的特征点检测得到图像显著区域的稀疏面片,以这些匹配好的初始特征点作为初始面片。

2)使用与文献[13]中的类似技术,对稀疏点云面片附近的像素进行扩展获取对应关系,最终得到一系列稠密的点云。

3)利用SFM获取的相机内外参数得到极线几何约束,过滤掉错误的匹配对。

为得到较好的重建效果,需要对步骤2)、3)进行多次迭代。在本文中通过大量实验发现,将迭代次数设置为3,可得到质量较好的三维服装表面稠密点云。下面本文通过泊松重建将点云转换为三维世界中更为常用的网格式拓扑结构。

1.3 泊松重建

泊松重建是Kazhdan等[14]于2006年提出的网格重建方法,其核心思想是利用空间点云代表物体表面位置,三维点的法向量代表内外的方向。在具体实现过程中,该方法需要通过八叉树(octree)数据结构存储所输入的三维点集,即根据采样点集的位置定义八叉树,然后细分八叉树使每个采样点都落在深度为D的叶节点中,因此,重建后表面细节程度与深度D密切相关。图3示出稠密点云经不同八叉树深度所得泊松重建效果。可知:泊松重建过程中八叉树深度为5时,无法有效还原重建对象形态;深度为8时,网格模型已基本还原服装形态但缺少细节;深度为11和13时都可有效还原模型形态及细节。经大量的实验,平衡考虑效率和网格细节2种因素,本文最终选择迭代深度为11的泊松重建效果作为原始服装对象的三维重建模型。

3.1.2 基质土配制 基质(或疏松大田土)∶腐熟有机肥和草木灰∶过筛的陈炉渣(或细绵沙)=5∶3∶2,每立方米营养土加入0.5 kg尿素,或10 ml亲土一号或土壤杀菌剂,混合均匀后将拌好的基质土装入72孔的穴盘或8 cm×8 cm的营养钵,然后摆放于搭好的苗床上。

图3 不同八叉树深度泊松重建的表面Fig.3 Poission reconstruction results by different octree depth

2 改善模型重建效果的方法

此前多张二维照片重建三维对象较为成功的应用大都集中在大规模场景重建中,在将其应用在三维服装这种较小规模的对象重建时,需要根据纺织服装行业的需求对算法进行优化和改进,因此,本文通过实验探究,给出通过点云融合解决稠密点云缺失问题的可行性,测试了拍摄方式对点云重建效果以及图片预处理对贴图效果的影响,并在此基础上获得了服装网格与包含纹理图案的服装模型。

2.1 基于最近点迭代的点云配准融合

通过服装图像构建稠密点云的过程中,往往会出现错误重构的问题,如图4所示。

图4 泊松重建网格错误重构Fig.4 Mesh reconstruction error.(a) Initial dense point cloud; (b) Reconstructed mesh effect before improvement; (c) Dense point after fusion; (d) Mesh effect after improvement

错误重构的原因在于2个局域内的点距离很近,且二维图像上彼此存在遮蔽现象。而事实上,这2个局域分属不同的语义空间,如袖子和衣身。在这样的前提下会出现点云缺失,导致后续网格重建过程表面被错误重构,出现“黏连”现象。

为解决该问题,本文提出采用分批拍摄分批重建的方式,分别重建包含衣袖区域的点云P和部分包含衣袖区域的点云Q,并通过最近点迭代(ICP)的方式实现点云P与Q的配准融合。

2.1.1 ICP算法

ICP算法是一种点云的配准方式,在计算机应用领域,三维点云配准在表面重建、相机定位等问题中有着重要应用,可理解为给定2个不同坐标系的三维数据点集,找出2个点集的仿射变换。

Qi=RPi+T

式中,N表示待匹配点云的数目。

2.1.2 点云融合

根据上述算法,用同一件服装在模特身上分 2次进行图像采集工作,分别获取P和Q,具体穿套方式如图5所示。

图5 图像采集过程中不同的穿套方式Fig.5 Different wearing types during images shooting

图6示出点云融合前的准备工作以及融合后的模型效果。为更准确地对点云模型进行融合,在配准步骤中删除了如图6(a)衣袖部分的点云得到如图6(b)所示的点云模型,用图6(b)点云和包含衣袖部分的点云配准后融合,服装摆缝位置的点云及网格效果分别如图4(c)、6(c)所示,融合后稠密点云整体效果如图6(d)所示。

图6 稠密点云的配准实现Fig.6 Realization of dense point cloud registration. (a) Dense point cloud before cropping; (b) Dense point cloud after cropping; (c) Reconstructed mesh after fusion;

2.2 图像数量与拍摄方案对模型的影响

根据图像采集方式的不同,本文将拍摄方式定义为如图7所示的环式和半球式拍摄方案 2种。环式是保持固定拍摄距离,均匀环绕重建对象拍摄采集图像的方法;半球式是在环式拍摄重建对象的同时,通过改变拍摄距离、相机高度以及相机方向等因素,增加重建对象细节图像拍摄的一种方法。

图7 拍摄方案Fig.7 Shooting scheme. (a) Ring style; (b) Hemisphere style

为探究图像数量对模型重建效果的影响,本文采用环式拍摄方式共采集了100张待重建服装的图像,并从中均匀筛选40、60、80、100张图像分别用于重建任务。图8示出不同拍摄方案和图像数量的稠密点云重建效果。按重建图片数量递增的顺序获取的点云数量(单位:百万)依次为0.35、1.3、1.7、1.8。通过观察结果不难看出,点云数量随着输入图像的增加而增加,且数量大于60时已可完整还原重建对象的空间形态。值得强调的是,虽然点云片数量不断的增加,但图8(b)、(c)、(d)中的模型都存在着肩部点云稀疏的问题,如图9(a)所示。这不利于后续的网格重建工作。

图8 重建效果对照Fig.8 Reconstruction effect comparison. (a) Ring/40; (b)Ring/60; (c) Ring/80; (d) Ring/100; (e) Hemisphere/80

图9 不同拍摄方案下肩部点云的效果对比Fig.9 Point cloud comparison on shoulder parts with different shooting scheme. (a) Ring; (b) Hemisphere

前文比对实验中,环形拍摄方式获取的二维图像中存在着大量的重叠区域,有利于重建对象特征点的匹配以及三维空间点位置的计算,但过于密集的重叠带来的冗余信息可能在增加了计算资源消耗的同时,却并没有带来有效的效果提升,导致前面提及的肩部点云稀疏问题难以改善。为此,本文采用2种不同拍摄方式各拍摄80张图像进行重建,半球式重建方案分别选取了50张环绕服装拍摄的图像以及30张不同拍摄角度和服装细节的图像,以此探究拍摄方式对重建效果的影响(见图8(e))。结果显示,输入同样数量的图像,半球式与环式拍摄方案都完整重建出了服装的空间形态,且重建出的点云数目基本相同,但半球式拍摄方案更好地改善了肩部点云稀疏的现象,如图9(b)所示。

综上分析可认为,在对服装的二维图像进行三维重建任务时,图像数目多于60张即可有效构建重建对象的空间形态,半球式拍摄方案增加了图像的表面细节,对特定区域点云稀疏问题有更好的改善效果。

2.3 三维重建精度

为验证本文提出的服装重建算法精度,从 kinect V2 型设备扫描获取的点云数据中筛选出服装点云作为基准进行测试。因为不涉及标定步骤,本文将重建的服装网格模型进行缩放后,与扫描得到的点云数据经泊松重建后的网格进行比对,以此来探究误差的大小与分布情况,结果如图10所示。颜色深浅不同代表扫描的点云数据到重建服装的欧式距离的绝对值。可看出,本文算法重建的服装与扫描数据较为相近,最大误差为5.8 mm,标准偏差为0.6 mm。

图10 重建结果误差分布Fig.10 Reconstruction result error distribution

3 结 论

本文针对服装二维图像重构三维模型的问题,提出了一种利用最近点迭代(ICP)点云配准算法处理服装点云模型摆缝位置点云缺失的问题。由实验验证可知:本文提出的基于点云融合技术的服装二维图像三维重构方法可有效避免服装模型网格重建的“黏连”现象,有效提高了模型真实感。泊松表面重建工作中八叉树深度设置为11时,可在有效重建服装空间形态、保留网格细节的同时兼顾重建效率。从稠密点云比对效果来看,环式拍摄方案始终存在模型肩部点云稀疏的缺陷,本文定义的半球式拍摄方案结合了重叠的环形图像以及改变拍摄视角、拍摄距离的图像,结果表明,半球式拍摄方式可有效改善点云稀疏的问题,可更有效地利用计算资源提高重建效果。本文最终利用拍摄的二维服装图像实现了服装模型的三维重建工作,获得的三维模型完整保留了目标服装的空间形态和网格细节,保证了模型真实性,对服装虚拟展示等应用领域有一定参考意义。

猜你喜欢
泊松三维重建重构
基于泊松对相关的伪随机数发生器的统计测试方法
视频压缩感知采样率自适应的帧间片匹配重构
长城叙事的重构
一类带有两个参数的临界薛定谔-泊松方程的多重解
带有双临界项的薛定谔-泊松系统非平凡解的存在性
基于Mimics的CT三维重建应用分析
北方大陆 重构未来
北京的重构与再造
基于关系图的无人机影像三维重建
三维重建结合3D打印技术在腔镜甲状腺手术中的临床应用