-
开放科学(资源服务)标识码(OSID):
-
手绘草图是一种普遍的交流和艺术方式,它跨越障碍,将人类社会联系在一起,是人类最原始、最直接的表达方式之一,无需特定的工具和技能,只需一支笔、一张纸就能将脑海中的想法和情感生动地呈现出来。在远古时期,我们的祖先就已经开始在洞穴墙壁和陶器上绘制各种图形和符号,用以记录生活、表达情感和传递信息。随着人类社会的发展,手绘草图逐渐演变成为一种重要的沟通工具,被广泛应用于各个领域。无论是科学家、工程师、建筑师,还是艺术家、设计师、教师等都可以通过手绘草图来表达自己的想法和创意。手绘草图具有很强的直观性和表现力,能够将复杂的概念和抽象的想法变得具体而形象。它能够跨越语言和文化障碍,让人们在没有文字的情况下也能够理解和交流。特别是在现代社会,随着全球化的推进,手绘草图作为一种国际语言越来越受到人们的重视。与专业素描、法医素描、漫画、技术绘画和油画等其他相关表现形式不同,手绘草图不需要训练,也不需要特殊设备,因此不受年龄、种族、语言、地域或国界的限制,可以被视为大脑内部对世界的表述,无论是感知的、还是想象的。
自由手绘草图尽管高度简洁和抽象,但却能说明问题,在交流和设计等各种场景中非常有用。因此,手绘草图在计算机视觉和模式识别[1]、计算机图形学[2]、人机交互[3]、机器人学[4]和认知科学[5]等领域被广泛研究。其中,早期的研究可追溯到20世纪60、70年代。近年来,基于草图的方法已被应用于内容创作支持的各个领域,例如图像生成[6]、3D模型重建[7]和动画控制[8]。3D汽车模型在娱乐、视觉效果和汽车设计等多个领域被大量使用。由于生成与现实世界相似特征模型的过程通常既耗时又费力,因此从单个图像输入重建3D模型的自动方法可以作为有效的解决方案。
尽管在相关领域进行了大量研究,但由于多种原因,复杂3D汽车模型的高质量重建仍然具有挑战性。在动画、游戏和汽车制造行业,设计过程通常涉及汽车概念图,而概念图通常是在预定义视角上以草图形式表现出来,因此以往使用照片输入的方法在设计新形状或修改现有设计时并不实用。对基于深度学习的方法来讲,不同类型汽车(如SUV和卡车)具有明显不同的特征,使得单一神经网络难以学习复杂的数据分布。汽车建模细节是一个明显的问题,因为汽车既有共同特征,如车轮的位置,也有独特部分,如尾翼和车顶形状。因此,构建一个能够充分表达常见汽车特征和独特汽车特征的多样化汽车子空间是一项挑战。
近年来,触摸屏设备普及使草图创建变得更加便捷,进而推动了面向草图的应用程序流行。同时,深度学习不断进步推动了手绘草图在3D汽车模型设计领域的研究和应用,而基于深度学习的方法成功实现了从单一简单草图生成更简洁、更准确模型的目标。文献[9]尝试通过将模板网格变形为目标形状的方式从草图中生成3D模型,这是一种常见的从单一视角图像还原3D模型的方法;而文献[10]则利用隐式函数学习方法,通过学习符号距离函数(SDF)来生成目标形状。然而,文献[9]可能受到模板模型拓扑结构的限制;而文献[10]则仅限于水密的3D网格设计。
本文的目标是从用户手绘草图中生成非水密的3D汽车模型。为了解决这个问题,采用了无符号距离函数隐式场,通过系统从手绘草图生成3D汽车模型,进而生成非水密网格的汽车3D模型,这是一种在处理非水密网格时具有卓越性能的表示方式。使用无符号距离函数(UDF)能够更加灵活地捕捉和呈现手绘草图中的复杂形状,而无需受限于特定模板的拓扑结构。UDF的引入使得本文系统能够更加自由地生成非水密网格的汽车3D模型,更好地满足用户对手绘草图的设计需求。通过应用UDF,可成功克服文献[9]和文献[10]模型中存在的限制,从而提升本文模型的灵活性和适用性。本文的创新之处在于:
1) 提出了一种新颖的基于草图的3D汽车模型生成系统。相较于基于图像的建模,该方法更注重用户通过手绘草图传达设计意图,使生成的3D模型更加贴合用户需求。
2) 利用深度学习技术估计手绘草图的无符号距离字段(UDF),并通过Marching Cubes算法从估计的字段中提取模型网格。UDF的使用对复杂形状建模更为灵活,尤其适用于处理非水密网格。
3) 引入了深度学习驱动的自动编码器结构,系统不仅生成汽车模型,还提供了用户友好的编辑功能。用户可以通过编辑生成的网格实现对模型的个性化定制,为创造性和设计灵活性提供了更多的空间。
HTML
-
基于图像的3D形状建模文献很多,主要可分为单视图和多视图 3D形状建模,现有方法可以根据所使用的3D标识进一步分类。基于体素的模型是研究最广泛的模型,其中卷积神经网络(CNN)已被成功应用于学习给定2D视图图像的3D对象重建的概率潜在空间。然而,这些方法往往受到计算效率限制,经常导致产生的体素数量不满足。为了缓解这种情况,研究人员提出了基于八叉树的网络和点云模型来生成更高分辨率的模型。目前,基于多边形网格的方法由于同时编码了几何(点云)和拓扑(表面连通性)线索,获得了广泛关注。然而,这些方法仍然受到模板形状拓扑限制,难以准确地重建亏格大于0的形状。一些学者已经提出将表面法线和深度图的多个视图作为监督信号来训练3D建模系统。使用额外的融合步骤将其合并到点云中,然后使用预测的轮廓去除异常值。
-
由于两个主要因素,从人体草图估计3D形状比从单个图像估计更具挑战性:①模糊性,即多个3D形状可能投影到同一张图纸上;②失真,即草图和3D形状之间存在错位。早期的研究尝试通过利用几何属性来推断3D形状,即主要通过推断局部几何属性来预测3D形状。手工设计规则通常用于将轮廓拉伸或抬高成光滑的3D表面。同时,一些方法采用多面体脚手架、横截面线和曲率流线等工具来创建自由曲面。这些早期方法试图应对模糊性和失真这两个挑战,从而提高依据人体草图估计3D形状的准确性。
近年来,深度学习方法被用于基于草图的建模任务。蔡兴泉等[11]建议首先将输入草图转换为深度/法线图,并将其融合构建完整的3D模型。但是,所有这些方法都是基于整体草图执行的,导致缺少对象的细节。Li等[12]利用深度神经网络从2D草图中预测人脸的潜在代码,生成详细的人脸模型。蔺琛皓等[13]则训练网络来预测程序模型参数,从草图中生成详细的形状。这些方法可以生成复杂的高分辨率模型,但仅适用于通过编程方式生成的形状。为了处理更复杂的形状,Li等[14]设计了一个端到端的卷积神经网络,给定输入草图且基于体积的表示形式生成相应的3D形状,但是这种方法仅限于低分辨率3D网格。Liu等[15]提出了一个基于生成对抗网络(GAN)框架的方法用于生成法线图,并通过结合用户特定法线的交互过程来提高生成结果的质量。但该方法的实现成本相对较高,因为它需要额外的点掩模和用户指南输入。Liu等[16]采用对抗性训练将合成图像和来自3D形状库的参考3D形状作为源,形成联合特征,尽管取得了令人满意的结果,但该方法严重依赖画廊中的模板形状,在很大程度上限制了其普适性。Ma等[17]基于图像空间轮廓渲染得到的合成草图进行训练,致力于3D形状建模,通过单视图CNN和更新程序CNN训练,成功地从草图生成了占用体素网格。然而,该方法在重建薄结构方面存在一定的局限性。
1.1. 基于图像的3D形状建模
1.2. 基于草图的3D形状建模
-
本文基于草图的汽车模型生成框架利用自动编码器结构神经网络从用户手绘草图中重建3D汽车形状模型。图 1概述了该框架从输入草图生成及编辑3D模型的过程,目的是通过等值面提取和UDF的三角化网格生成,从输入草图重建3D模型。基于汽车形状模型抽取隐式UDF字段,构建学习数据集,可用于绘制草图以及查看和编辑生成的模型。
该系统由两个网络组成:①将草图图像编码为潜码Kc的编码器;②根据潜向量K生成UDF的解码器。解码器根据Kc预测所有ux∈A的无符号距离dxp,并输出UDF。然后,使用行进立方体算法获得三维模型网格,同时用户还可以编辑生成的模型。
-
将UDF用于形状表面表示,设3D模型所在的三维空间为Ω。对于任何坐标u,UDF Φ(u)的计算如公式(1)所示。
式中:∂Ω表示Ω的边界;d(u,∂Ω)表述坐标u到三维模型边界∂Ω的最小距离;坐标u到∂Ω的距离d可通过公式(2)计算;Ω表示三维模型占据的空间区域。
式中:r表示边界∂Ω上的任意点;|u-r|表示坐标u与点r之间的欧几里得距离。由于形状表面可以用零水平集UDF=0表示,因此本文可以采用诸如行进立方体等网格重建算法,以生成网格。
-
基于合成方法降低了获取昂贵成对2D和3D训练样本的成本,同时生成数据库可以很容易地扩展为更大的尺寸和规模。本文使用条件GAN生成轮廓草图,并从3D网格创建点云表示。通过等高线草图注释,使不具备三维建模技术的用户也可以轻松地使用该方法。通过特征保留数据增强技术,创建逻辑正确的汽车网格。
本文的汽车网格来源于ShapeNet,因为该数据库提供了各种型号汽车的不同变化情况,有效地训练深度学习系统需要具备足够规模的数据库。采用文献[18]中提及的方法对汽车网格进行增强,该方法可以改变汽车形状并同时保留局部特征,核心在于对网格进行体素化,并通过对增强(即缩放)体素网格进行插值来改变顶点位置。本文系统将网格分辨率设置为5×10×15,随后以±20%、±15%、±10%和±5%的缩放率分别应用于高度和长度方向。通过对7 028个汽车网格的应用增强方法,成功地生成了56 224个不同的网格,如图 2所示。
为了从草图生成UDF,需要草图和UDF的成对数据。
(1) UDF数据进行采样
本文系统旨在学习网格的UDF场分布,因此需要从给定网格中对UDF场进行采样。UDF字段表示一组采样顶点以及从顶点到网格表面的无符号距离。将网格数据归一化为最大坐标值1,使其适合训练。由于采样是从曲面外部和内部执行的,因此调整比例拟合任意半径略小于1的曲面,以便从曲面外部距离模型中心最远处及调整后的网格上执行采样。根据以往经验,本文中的量表设置为0.8。
对于每个Wx网格,采样顶点数设置为T,距离dxp从T个3D顶点坐标ux到Wx计算曲面。采样次数没有限制,但考虑到数据处理速度,将T设置为120 000,以便在尽可能短的时间内获得尽可能多的样本。采样数据由曲面上、曲面附近和网格周围边界框中的随机点组成,采样集中在网格表面上。在实现中,从表面0.05以内的坐标中获取48 000个样本;从表面0.3以内的坐标中获取32 000个样本。此外,还有24 000个随机抽样来自Wx曲面,16 000个在边长为2(范围[-1, 1])的边界框内采样。本文中dxp使用KDTree计算。Wx网格不需要特殊处理。
(2) 草图—网格配对数据
本文使用的数据集不提供成对的草图图像,要获得草图需要首先为每个模型生成渲染图像,然后使用渲染图像生成草图图像。考虑到手绘草图的稀疏特征,本文从渲染深度图中以不同角度提取目标网格的二值化轮廓作为草图图像。深度图可以删除不必要的细节生成更高质量的轮廓。对于每个网格Wx,本文从多个角度渲染深度图。通过这种方法获得的网格数据与草图数据配对,如图 3所示。
-
在这项研究中,本文使用深度学习的自动编码器结构进行UDF训练。设E是将输入草图编码为潜在向量的编码器,D是生成UDF数据的解码器,S是输入草图。编码器E将输入草图S编码为潜在代码Kc。网格是在三维空间[-1, 1]3中对三维形状进行离散法网格采样的结果,用A表示。将潜码Kc与A串联形成潜向量K,由解码器D生成UDF,过程如公式(3)所示。解码器可预测所有输入坐标ux∈A的无符号距离dxp。
-
网络的学习目标是为给定的S生成最合适的UDF。学习中的优化目标如公式(4)所示,利用L1距离,其中dfanp为基础真值。为了减少分散在网络中样本坐标的影响,dfanp和D(K)在δ处设置阈值以去除离散值,称为夹紧函数。此外,本文采用几何正则化损失来改进网络学习,如公式(5)所示。正则化损失是一种广泛应用技术,在机器学习和深度学习领域具有实际效果和价值。例如,正则化损失在图像分类任务中的应用,通过对神经网络权重进行正则化,可以提高模型对新样本的泛化能力,从而避免对训练数据过拟合。在自然语言处理中,正则化损失有助于防止循环神经网络(RNN)模型在处理长序列时产生梯度爆炸或梯度消失问题,提高其在不同文本数据上的性能。对输入潜在向量K进行归一化,并对归一化结果进行优化。归一化损失如公式(6)所示。γ和λ分别表示归一化因子和UDF值的标量。基于上述内容,网络损失函数由公式(7)计算。
式中:δ表示夹紧阈值,用于抑制离散点的影响;γ表示几何正则化强度系数;T表示采样点总数;λ表示归一化损失权重。
-
在对生成结果的优化和编辑中,本文参考了Hertz等[19]的方法。将草图结果和倒角距离最小化,以优化作为解码器输入的潜向量,并将倒角距离作为优化的限制约束。倒角距离是在2D中实现的,2D倒角损失LCD由公式(8)计算。
式中:Su表示3D网格的投影轮廓点集;Fs表示草图区域的指示函数;Fs(us)=0表示点us在草图区域内;uu表示投影轮廓上的点;us表示草图区域上的点;uu-us表示两点间的欧几里得距离平方。
由于生成结果和输入之间的损失,对生成结果的优化本质上是反向传播梯度值。由于UDF数据和3D模型都是不可微分的,因此优化目标是解码器输入的潜在向量。由于潜在向量作为网络学习过程的一部分是可微分的,因此可以进行优化。这种优化允许对网络输出结果进行调优。具体来讲,如果生成的3D网格为W,其表面顶点的采样为Q,则使用公式(9)计算潜在向量K的梯度
$ \frac{\partial L_{C D}}{\partial K}$ 。计算出的梯度通过反向传播过程优化潜在向量。式中:
$ \nabla D(q, K)$ 表示解码器对坐标q和潜在向量K的梯度。通过优化的潜在向量,利用解码器生成UDF数据,从而实现对3D模型的重建。 -
本文系统的深度学习部分通过PyTorch和PyTorch 3D实现。在UDF生成阶段,使用自动编码器采用行进立方体算法进行实现,解码器由9个感知器层组成。MLP层的隐藏维度数为512,激活函数使用ReLU。为了减少激活函数导致的详细信息损失,对输入的3D坐标进行傅里叶位置编码。编码器使用ResNet将草图图像编码为潜在向量。在训练过程中,损失函数由UDF导致的L1损失[公式(4)]和输入归一化损失[公式(6)]的总和构成。散射去除因子δ设置为0.1,归一化强度λ为10-4。网络训练流程如图 4所示。
批量大小为16,epoch数为2 000。本文采用的优化器为Adam,并根据公式(10)中后续训练周期数来设置学习率。lrinit为初始学习率,初始值设置为0.5×10-3。ω为0.5,γ为500。在编码器参数设置方面,设α=1;在解码器参数设置方面,设α=0.1。训练过程使用两个NVIDIA GeForce RTX 3090进行。每个epoch的训练时间约为10 s,完整训练时间约为5.5 h。其中,学习率的计算公式为:
式中:ω表示衰减因子;epoch表示当前训练轮数;γ表示衰减步长;α表示编码器和解码器的权重系数。
2.1. 无符号距离字段
2.2. 数据集构建
2.3. 隐式曲面表示学习
2.3.1. 目标函数
2.3.2. 生成模型优化
2.3.3. 网络培训
-
在实验部分:①将本文方法与从图像和草图中重建3D形状的最新工作进行定性和定量比较;②对本文方法每个组成部分的重要性进行评估;③演示将本文方法应用于草图实例级3D形状检索的过程。
-
随机将ProSketch 3D数据集分成450个用于训练的3D形状和50个用于测试的3D形状。由于ProSketch 3D数据集的大小有限,本文使用ShapeNet数据集中6 278个3D汽车生成草图来预训练benw网络和所有竞争对手。对于每个3D形状,使用非照片级真实感渲染生成相应的正面和侧面正交投影,预训练后进一步在ShapeNet数据集训练分区上对网络进行训练。
对比分析本文系统与其他3种方法(文献[15-17]),由于原始实现中使用的自定义修改版(Caffe库版本)已过时,本文在PyTorch中重新实现了它们的工作,采用Adam优化器将学习率设置为0.000 5,并将批量大小设定为64。
-
首先将本文方法生成的单个视点与文献[15]生成的视点进行比较(图 5),这两种方法每个视图都是通过融合每个视图的法线图、深度图和前景掩膜生成的。从图 5中可以看出,本文方法生成的视图具有更精细的细节和更清晰的轮廓。
将本文方法生成的3D模型与文献[16-17]生成的模型进行比较(图 6)。从图 6中可以明显看出,本文系统生成的3D形状不仅具备更为丰富的细节,而且其轮廓也更加清晰。相较于其他几种方法,本文系统生成的3D形状在质量和精准度上都有显著优势。使用本文方法进行3D形状重建,可以更加精确地呈现出原始草图的各个部分,同时也能更好地捕捉到那些精细的局部细节。
-
本文使用5个指标来定量评估生成的3D汽车形状质量:①法线角度距离(NAD)和真实三维形状之间每对最近点的平均法向角距离。②豪斯多夫距离(HD)测量重建形状上每个表面点到参考形状上最近表面点的最大距离。③深度误差(DE)是生成的深度图和重建的深度图之间的欧几里得像素距离。④掩膜误差(ME)通过测量预测掩模和真实掩模之间逐像素平均误差来计算。⑤倒角距离(CD)评估的是生成形状上每个点(每个形状随机抽取5 000个点)到真实形状上最近表面点的平均距离。从表 1可知,所有指标(数值越小性能越优)均显示本文方法优于现有对比方法。
-
专业艺术家的草图虽然比新手草图更准确,但与简单的合成草图相比仍然会出现严重的失真。为了评估真实人类草图在训练阶段的重要性,本文比较了对ProSketch 3D数据集训练分集进行微调所获得的结果,以及对训练分集中3D图形合成草图进行微调所获得的结果,如图 7所示。由图 7可知,仅仅使用简单合成草图进行训练,即使是在ProSketch 3D数据集中精心创建的草图,也不能很好地推广到人类草图中。结果表明,仅使用合成草图进行训练,不如使用专业草图进行训练效果好。
-
对于检索,本文利用编码器作为查询草图和3D形状的2D投影的特征描述符,并计算该特征空间中的欧几里得距离。在实验中,测试集中的所有汽车都被用作查询草图,图库集包含了来自ShapeNetCore的所有6 778个3D汽车形状,对比结果如图 8所示。
从图 8中可以看出,检索到的排名靠前的3D形状在视觉上与ground-truth三维形状高度相似。排名靠前的结果与真实形状非常相关,且与自动生成的结果表现出较高的相似性(真值除外)。
在识别方面,本文使用PointNet++ 来测量生成的3D汽车模型的识别程度。识别准确率如图 9所示。由图 9可知,与其他3种对比方法相比,本文方法生成的数据更容易被正确分类,表明其具有优势。
3.1. 数据拆分和实施细节
3.2. 结果和讨论
3.2.1. 定性结果
3.2.2. 定量结果
3.2.3. 使用合成数据进行训练
3.3. 3D形状检索和识别
-
在电脑游戏、视觉效果和汽车设计等领域,3D汽车模型得到广泛应用,因此以最低劳动力成本生产这类模型变得越来越重要。为了解决这一问题,本文提出一种新颖系统,可使用单个2D手绘草图重建详细的3D汽车形状,且设计生成的系统利用自动编码器结构学习UDF隐式表示,并输出UDF数据。网格通过行进立方体方法从UDF中提取,同时该系统还允许普通用户绘制草图并编辑生成3D汽车模型。当用户编辑生成模型轮廓时,基于优化潜向量编码器实现模型编辑,并通过评估实验,验证本文系统在从手绘草图生成3D汽车模型方面的有效性。虽然本文方法是产品设计中通用的方法,但为了实现这一目标需要构建更多的通用数据集,包含各种产品类型的配对草图图像和3D模型。该数据集将涵盖家居用品、电子产品、交通工具等多种不同类型的产品,未来将进一步深入探索更多的方向,例如可以利用宜家数据集从草图图像中生成3D家具模型,该数据集包含大量家具设计草图及相应的3D模型,可供训练和测试框架使用。通过使用该数据集,能够提高家具设计领域内的模型准确性和效率,从而进一步推动产品设计发展。除了家具设计外,还可以探索服装设计、工业设计等其他领域的应用。