马 昊, 李淑琴, 丁 濛, 孟 坤
(1北京信息科技大学计算机学院,北京100101;2北京信息科技大学感知与计算智能联合实验室,北京100101)
众所周知,对于许多用户而言,使用例如Maya或3Ds Max等传统建模软件进行三维建模具有比较陡峭的学习曲线,在软件的使用上往往需要经过专业的培训,如此就能让使用者根据软件的输入规则实现复杂的三维建模。传统的三维建模软件强调使用繁琐的交互规则对使用者的输入形式进行限制,从而提高建模精度,因此,即使对于专业的建模人员而言,建模任务也将花费巨大的时间开销。为了打破传统建模技术的束缚,Zeleznik[1]提出了一种基于手势的针对构造表示(CSG)建模的方法,这种方法可以做到对于简单三维模型的快速建模。基于草图的三维建模技术的设计主要面对着具有绘画能力、但缺乏三维建模软件使用经验的用户。根据以上这一点,Igarashi[2]和 Li等人[3]随即研究了针对低细节对象模型的快速建模系统,这样一来就使用户可以运用二维草图方式进行原型设计,最终系统将自动生成相应的三维模型。
近年来,人们越来越多地将基于草图的建模技术用于三维建模的研究,其中一些已经常见于某部分特定的功能领域,如视频游戏、服装设计、动物研究等。通过较少的二维草图笔划,用户可以使用草图输入界面进行具有自由几何表面的复杂对象建模,从而能够以更有效的方式大大减少建模时间。
基于草图的建模方法有2种主要类型,对此可阐述如下。
(1)是用户在工作空间上简单地使用鼠标或触摸笔绘制二维形状,然后,系统可以把这个形状解释为三维对象,用户可以通过额外操作(如切断或添加截面)在原始模型的基础上进行修改来完成最终整体的建模工作,在这种类型的研究中,比较有代表性的是 Teddy[2〛]和 FiberMesh[4]。
(2)是用户将一张或多张二维图像或照片作为草图建模系统的背景图层,并在背景图层上绘制二维草图的轮廓,系统可以自动结合背景图层与草图轮廓将二维图像转换为三维模型,这种建模方法即如文献[5]和文献 [6],在此过程中通常不需要或只需要少量的用户操作。
在此基础上,本文拟将对此课题展开研究论述如下。
基于草图的建模技术涉及到的研究范围相对广阔,其中涵盖了处理不同领域模型的大量研究方法,而其面临的难点之一就是进行二维草图捕捉并以一种可行的方式实现草图识别。众所周知,人们倾向于使用简单的草图来描述物体,并且希望使用尽可能少的笔画传达物体的几何信息,因此,二维草图的识别是草图建模研究的第一步。在以往的研究中,一种典型的建模过程是使用球体或立方体这样简单的设计作为二维草图到三维模型转换的基础模型,这些基础模型可以简单地表示从二维到三维的映射关系,然后,用户可以使用这些基础模型作为基本输入,并逐步构建出更加复杂的完整模型。在实际应用中,这种建模过程通过用户对控制点或三维小部件进行交互来让用户创建各种精确、平滑的三维模型[5,7-8]。另一种过程是使用隐式曲面进行三维草图建模[5,9],用户通过指定目标模型的骨架,系统可以根据模型骨架自动生成光滑且自然的几何表面,进而生成相应的三维模型。
尽管上述方法有效地实现了从二维草图到三维模型的重建功能,但是由于许多自然界物体具有较为复杂的几何表面,而这些方法却无法保证生成曲面的多样程度,因此仍然存在明显的局限性。为了应对此类问题与不足,以文献[3]为代表的研究提出了允许用户使用草图方式进行复杂表面轮廓模型的建模方法。
实际上,上述相关的研究均可追溯至基于三维计算机图形技术这一源头,而据分析可知从草图创建三维模型本身就具有潜在的病态性,因此基于数据驱动和基于学习的方法已然开始应用于基于草图的技术。用于基于草图的建模的早期数据驱动方法使用用户输入草图与三维模型数据库中的模型相匹配的方式,检索并匹配与草图输入相似的形状,借此达到还原三维模型的目的,典型的研究参见文献[10]和文献[11]。为了平衡交互的简易性与生成模型的复杂性,近期的草图建模研究工作使用卷积神经网络(CNN)来建立从输入草图到三维模型的映射关系[12-13],再通过网络模型具体化三维模型重建过程的参数,再从中识别最能与输入草图相匹配的参数值,至此整个重建过程宣告结束。在实际运行中,基于学习的方法可以在训练数据集足够丰富的条件下完成实时的二维草图到三维模型的重建过程。当然,任何事物都有两面性,虽然通过基于数据驱动与学习的建模方法能够为用户提供便利的建模条件,但是却会受到机器学习方法对于训练数据的依赖性的限制,这些方法常常仅限于通过固定视点与特定类别的模型对象进行建模,并且训练数据的丰富程度直接决定了最终的结果,因此训练数据集合必须足够庞大和多样化,如此才能保证最终生成模型的灵活性。
随着诸如 Teddy[2]及其更新版本[14]等基于草图建模系统所取得的研究成果的陆续问世,基于草图的建模技术吸引了学界的高度关注。迄至目前,草图建模技术触及到的研究领域正日趋完善,在分类上可将其划定为5种,这里将对其给出探讨与详述如下。
这种类型的方法从最初的Teddy系统[2]作为开端,主要依据是使用轮廓曲线来推断三维几何形状。其中,文献[2,15]通过使用草图轮廓对三维生成曲面进行形状约束,从而生成低复杂度的三维曲面。文献[16-17]使用距离变换和隐式函数根据曲线轮廓生成低频度的三维曲面。该类方法还支持通过一些用户的额外操作从而丰富最终结果模型的细节,例如标记位置、法向量、深度信息,或通过细化和混合隐式函数,以生成更为具体的几何信息。
许多研究基于在真实世界中的物体大多具有对称性这一特征,利用具有对称性的简单三维模型作为基本单元,用户只需要绘制简单的轮廓曲线来确定其延展形状,系统会自动将输入轮廓匹配到对应的基本三维模型单元并自动恢复模型的对称信息。其中,文献[7]使用广义椭球体与广义圆柱体作为基本单元,通过用户二维草图中提供的注释信息来定义基本单元的具体位置信息,以及这些部分的对称与邻接关系。类似地,在文献[8]中,用户首先绘制对象的二维轮廓,通过选择基本三维模型单元并将模型定位在二维平面,系统可以自动实现基本模型单元到二维草图的拟合。文献[18]使用两组笔画来描绘三维表面的正交曲线,并通过将一组笔画沿着另一组笔画扫描来恢复表面。基于现实世界具有对称性这一特征,文献[19]通过草图来确定空间中广义椭球体的对称性关系并进行组合,最终生成完整的三维卡通人物模型。结合上述方法,BendSketch[3]通过扩展草图范例以平滑高频表面,通过允许用户描述跨表面的曲率变化以及运用附加的平滑细节从而丰富输出模型的复杂程度。
这种方法着重于从二维笔划中还原三维曲线网络的几何信息,并推断其所表示的三维表面曲线[20-21]。 文献[22-23]使用感知驱动表面方法通过插值得到的曲线网络来创建三维模型。True2Form[20]通过执行许多人造物体固有的各种规律,包括交叉曲线的正交性、物体表面的平行性与正交性、曲线的平面性等,将二维曲线网络转换成三维。此种方法主要以人造形状为目标并且适用于具有相对较低变化的曲线模型中。
由于基于草图的建模方法针对许多繁琐的三维建模工作均可探寻出有效技术途径,因此许多草图方法现已广泛应用于特定领域的研究,如三维字符创建[24-25]、 具有折叠的可展表面[26-27]、 城市建筑[12]、分层模型[28]或发型模型[29]。 这些方法利用领域特定的固化信息实现从草图到三维模型的重建,但并不适合更加通用的场景。
近来,研究人员倾向于将数据驱动的方法用于计算机图形学以及基于草图的建模技术。早期的基于草图的数据驱动的建模方法使用用户草图作为搜索模型数据库的键值,并检索特征与草图相似的形状模型。 实例包括场景建模[10]和对象建模[11]的应用。这些方法的明显限制是数据库必须足够大、且多样化,用来保证建模的灵活性。
随着神经网络的出现及其在计算机图形学和计算机视觉领域的有效应用,特别是卷积神经网络(CNN)的成功应用,研究者们开始利用神经网络的深层学习技术来建立从用户草图到三维模型的直接映射并指定三维模型生成过程中的参数信息[12-13]。
另一系列方法用于从草图信息中重建法向量,使用法线将一系列渲染效果应用于基础草图。文献[30]创建了一个浅浮雕三维代理,以便能够渲染出具有生动形态的三维模型。文献[31]利用绘制轮廓线之间的正交性来推断法向量。类似地,BUI等人[32]根据轮廓曲线计算平滑变化的法向量,这些轮廓线也被认为是曲率线。
目前,基于草图的建模技术正在不断推出大量的研究成果。每年在ACM SIGGRAPH会议上就发表了该方面数目可观的主题性论文。草图方式是人类创造形状最自然的方式之一,且已被人类史前史所用。研究显示,人类具有理解二维草图的内在能力,并能够通过简单的笔画描摹手绘内容,而这一点正是基于草图建模技术所关注重点,即在三维世界中也能用二维手绘的方式创建复杂的模型。基于草图的建模技术使得用户即便没有专业三维建模技能,也能够高效自如地应对繁琐的建模工作,用户只需要使用鼠标或触摸笔在工作空间进行绘图,系统会自动完成从二维到三维的重建工作。并且随着机器学习方法在计算机图形学上的发展,基于数据驱动与学习的方法也逐渐成为草图建模技术的发展方向。
本文对基于草图的建模技术进行了要点概述,同时根据所使用的方法与使用场景的不同将整个草图建模技术分为5个类别,并分别研究了每个类别的发展演变轨迹与当前状况。最后对草图建模技术的趋势也给出了前景分析,利用草图建模技术可以大幅降低三维建模的交互复杂度,并且可以用一种对于人类而言更为自然的输入方式实现复杂的建模过程。在未来的研究中,基于草图的建模技术也将得到研究人员的更多关注。