基于球体投影的三维模型检索

2020-04-07 10:49:30杨秋翔景志宇
计算机工程与应用 2020年7期
关键词:投影图轮廓线草图

潘 婷,杨秋翔,景志宇

中北大学 软件学院,太原030051

1 引言

三维模型是对现实世界实体或虚构物体进行建模后存储在计算机中的数据。由于三维模型具有强烈的视觉感知及立体特征,它已成为继声音、图像和视频之后的第四种多媒体数据类型[1]。三维模型被广泛应用于各个领域:医疗领域使用精密的三维人体器官模型进行教学指导及辅助治疗;文物保护领域使用三维建模进行文物展示及文物重建;游戏领域用三维模型进行场景搭建;教育领域利用三维建模技术辅助教学等。三维建模技术的高速发展,使得三维模型数量呈现出指数式增长的态势,如何识别、检索、重用和重新构建三维数据已成为设计师、工程师和研究人员共同关注的问题[2]。

传统的基于文本信息的搜索不适用于三维模型检索。具体而言,不同的人对同一对象的描述会有差异,这些差异可归因于他们的文化背景、世界观、生活环境甚至情感状态。基于文本信息的检索需要手动注释,随着模型数量的爆炸式增长,这已成为一项非常繁琐和艰巨的任务。因此,研究人员提出了基于内容的三维模型检索框架,主要包括两个类别:基于实例的三维模型检索和基于草图的三维模型检索。基于实例的三维模型检索需要用户提供相似的三维模型,属于同域检索问题,因此检索准确率更高[3-4]。但是三维模型并不容易获取到,需要一定的专业技术,给用户带来了很多的不便。草图是人们认识三维物体最直观的方式,包含了许多信息。设计人员一般在设计阶段都会将脑海中所构思的物体以草图的形式描绘出来。因此,基于草图的三维模型检索技术越来越受到计算机视觉领域的关注。

基于草图的三维模型检索因其简单性、直观性和易用性而被采纳。然而,基于草图的三维模型检索的研究还面临着很多严峻的挑战[1,4]:(1)草图具有高度的抽象性和可变性,同一物体可以以不同的风格进行绘制,从而产生不同程度的抽象和变形。(2)草图主要是由黑色和白色线条组成,缺乏颜色和纹理信息,不同物体有可能会被绘制成相似的草图,例如:柠檬、甜甜圈和轮胎绘制成草图后,由于缺乏颜色和细节纹理变得难以区分,这对检索算法区分物体的能力提出了极高的要求。(3)草图与三维模型属于不同的空间类型,二者在视觉感知上存在明显的差异,直接使用草图进行检索存在一定的困难。

在本文中,提出了一种基于球体投影的三维模型网络检索框架。主要的创新点如下:(1)提出了一种新的基于球体的三维模型投影算法。该算法利用外接球体对三维模型进行多角度的投影。(2)利用高斯滤波差分和贝塞尔曲线逼近相结合的三维模型线图计算方法来提取线图。(3)将转移学习算法用于对三维模型投影视图的分类,通过对二维投影视图数据集进行训练,获得最佳投影视图。

2 相关工作

近年来,基于草图的三维模型检索的研究已经取得了很大的进展。由于草图的抽象性和独特性,许多研究者对草图的识别进行了深刻的探索。Paulson 等人[5]提出了一种新的识别系统,它可以识别八种简单图形和简单图像的组合。文献[6]提出了一种基于语义的三维模型检索,通过监督学习捕捉草图的所要表达的含义。Cao等人[7]提出了一种基于三视图的新型三维模型检索方法,该方法的创新之处在于对用户的个性化草图进行建模。Yoon 等人[8]利用无监督算法自动学习和优化草图和三维模型特征,克服了从黑白素描图像中提取鲁棒特征的难度。Tasse 等人[9]提出了一种新颖的跨域检索方法,将草图和三维模型嵌入到相同的向量空间。Muhammad等人[10]提出了一个草图抽象模型,在草图的可识别性和笔画数之间进行权衡,预测如何安全去除笔画而不影响草图的可识别性。Sun等人[11]将化学结构式(CSF)应用到草图识别系统,建立图结构来描述草图的所含信息。Sert等人[12]使用转移学习进行草图识别。

草图和模型属于不同的维度空间,为了让草图与三维模型进行匹配,将三维模型投影成二维视图。Su 等人[13]采用固定视角的方案,其方案假设三维模型是直立向上的,并在模型周围每隔30°放置一个摄像机进行投影。对于不满足直立向上的模型,Su等人[13]提出了另一种方案,该方案将模型周围的正二十面体上的二十个顶点上放置相机。张海龙[14]将三维模型投影成三个二维图像。Kainai[15]和Yoon等人[16]采用平行投影的方法,利用正射投影与对等轴测投影将三维模型投影成14个二维图像,包括6 个正投影图像以及8 个对等轴测投影图像。Chen等人[17]采用中心投影的方法,提出了利用光场描述符来表示三维模型的二维投影图像,通过将光源均匀分布和定位在一个常规的十二面体的各个顶点上,从每个顶点出发按照三条棱的方向进行投影。Yasseen等人[18]提出了一种新的方法来描述二维投影图像的视觉突出部分。Wang等人[19]利用极简主义的方法定义二维投影视图,提出的方法不依赖“最佳视图”和“手工制作”的特性。

为了使三维模型更易与草图进行匹配,可以将三维模型渲染成与草图类似的二值非真实感线条图。常用的渲染方法有剪影图、外轮廓线图和轮廓线图。剪影图只显示模型的外部轮廓线,内部全用黑色填充;外轮廓线图只提取模型最外层的封闭轮廓线;轮廓线图由外轮廓线和内轮廓线共同组成。文献[13]将模型向13 个方向进行正交投影,得到13 张不同的的外轮廓线图像。文献[20]提出了一种自适应获取模型视图的方法,并结合剪影图和外轮廓线图共同描述三维模型二维投影。剪影图和轮廓线图只能描述模型的外部轮廓信息,无法描述内部结构信息。轮廓线图可以同时表达模型内部、外部的形状结构信息。获取轮廓线图由两种方式:一是提取三维轮廓线后投影成轮廓线图;二是先投影成二维图像再提取轮廓线图。文献[21]提出视角相关的Suggestive三维轮廓线提取方法,该方法能够提取外轮廓线图和内部轮廓线图。文献[22]利用Suggestive轮廓线投影为二维图像,用于三维模型检索。文献[23]利用渲染缓冲提取轮廓线图,但是渲染图象容易受光照的影响。文献[24]在获取的深度图像上利用拉普拉斯滤波,细化及高斯滤波的方法获取二维线图进行三维模型检索。但是该方法存在锯齿现象。

3 检索框架

图1 三维模型检索框架

本文检索方法框架如图1 所示。在基于草图的三维模型检索时,需要从多个方向渲染数据库中的三维模型以获取每个模型的二维投影视图。本文采用基于球体虚拟照相的投影方法来获取二维视图。由于手绘草图是通过线条来描述物体的大致轮廓,需要将二维投影视图表示为与草图类似的线图结构。因此,采用高斯滤波差分和贝塞儿曲线逼近相结合的线图提取方法来获得三维模型线图。在获取三维模型线图后,采用转移学习算法获取最优视图。使用草图检索所需三维模型时,需要计算草图与三维模型的相似度。但是,草图和三维模型在计算机中是以离散的像素点矩阵存在的,不能使用像素信息进行区分。因此,通过对图像提取特征,构建相应特征描述符。本文采用改进的SBLBP描述符用于图像分类,并利用两个Siamese 网络进行基于草图的三维模型检索。

4 框架细节

4.1 三维模型的二维表示

获取三维模型的二维投影视图方法有很多种,主要分为两类:平行投影和中心投影。通过对现有投影方法进行分析,发现中心投影投射的图形与人类观察物体所产生的视觉效果相近,所绘制的图形立体感较强,更能反应三维模型的特性,也更有利于投影视图特征的提取。因此,本文采用中心投影的方法。在对模型渲染时需要指定角度,倘若从每个角度对模型进行渲染,就会导致信息表达出现冗余,计算量过于庞大。本文提出一种基于球体虚拟照相的投影方法,从指定角度对模型进行投影,既获取了对模型信息的充分表达,也降低了后续的计算量。为了使投影视图更易与草图进行匹配,本文利用高斯滤波差分和Bezier 曲线逼近相结合的三维模型线图计算方法来提取线图,以克服假边缘过多及边缘定位不准的情况。具体步骤如下:

步骤1 模型预处理。首先,对模型进行平移不变性的预处理,本文采用基于加权面积的方法,该方法表示如下:

其中,Pi是三维模型上的任意一点,Pˉ是三维模型的重心坐标顶,Si是三维模型上每一个顶点的相邻面片的平均面积,Sj是每个顶点的各相邻面片的面积;其次,采用基于法线分布调整CPCA 主轴的旋转归一化方法[25]来完成模型旋转不变性的预处理;最后,通过一个变换因子,实现三维模型的缩放不变性。将三个坐标轴方向的变换因子分别设为Tx、Ty、Tz,则三维模型的缩放不变因子为:

步骤2 投影角度。在三维模型外围外接一个球体,在球体半圆弧上每隔30°的地方放置一个虚拟照相机,并确保照相机镜头垂直于模型质心同摄像机之间的连线。一次拍摄后,将半圆弧旋转30°继续拍摄,直至半圆弧回归原位。必须注意的是,要始终保持照相机镜头垂直于模型质心同摄像机之间的连线。图2 为投影示意图。

图2 三维模型投影示意图

步骤3 视图的渲染。采用MATLAB工具内置的三角网格绘制函数trimesh 来完成视图渲染。渲染时,设置函数属性AmbientStrength=0.2,DiffuseStrength=0.6,SpecularStrength=0;三个属性分别对应冯氏光照模型中的环境光照、漫反射光照和镜面光照;设置函数属性FaceLighting 为Gouraud,即采用Gouraud 方案对三角面着色。

步骤4 线图的提取。本文采用光滑可矢量的二维线图提取方法[26]。首先,利用尺度空间高斯差分方法提炼投影视图的轮廓边缘。不同尺度空间图像进行差分运算即可获取近似边缘图像,如式(4)所示,将图像与不同高斯核差分进行卷积得到差分边缘图像。

其中,pi为Bezier曲线的控制点,即多边形顶点,n 为曲线的阶数,即多边形顶点个数,t 为时间参数。

4.2 最优视图

草图与三维模型分属不同域,但是同一类别下的草图和三维模型存在一定的相似性。草图是人类对直观事物的一种抽象性的表达,它体现了事物的共性和特性。换句话说,草图可以代表一个小类别的三维模型。假设一个三维模型属于某一类别,那么这个三维模型的投影视图中肯定存在多个与该类别草图具有很大相似性的投影视图。本文利用三维模型投影视图与草图之间的相似性,构建了一个分类器,并使用它为不同模型选择最优视图。最优视图的选取,可以减少投影视图数量,在对投影视图进行特征提取时,可以降低计算量。本文选择效果较好的神经网络作为分类器。

整体过程如图3所示,具体的步骤如下。

图3 最优视图获取流程图

图4 构建图结构的过程

其中σ=0.2,dapp=(gi,hj)表示标准化欧式距离。草图中,gi的平均方向表示为θi;投影视图中,hj的平均方向表示为θj。假设W ni 表示从gi开始长度为n 的步长;同样地,W nj 表示从hj开始长度为n 的步长。步行距离公式表示为:

其中,|li|是Es的个数。

草图是光滑的,包含的顶点数比投影视图少。因此,参数n 的值非常重要。如果n 值过大,则顶点数可能小于n,导致步行失败;n 值过大,还会导致计算时间过长。因此,n 被设置为4以获取准确的结果并且降低计算要求。

步骤2 训练样本。模型的最优视图需要通过学习框架来获得,但是学习框架中的网络需要大量样本来支撑。Eitz的草图数据集[27]在每个类别中包含80个草图,本文在每个类别的80个草图和多投影视图之间建立关系,并定义鉴别函数D 来对样本进行分类。

对属于第i 类草图集Si的草图和投影视图,定义概率函数p(0 <p <1):

综上,定义一个辨别函数D 以区分与多投影视图相关的正样本和负样本:

步骤3 训练和测试。使用SoftMax 激活函数输出网络分析结果。具体地,通过定义一个Score 函数来表示MLP 网络的最终输出结果。对于每个投影图像,Score 函数可以表示为:

步骤4 排名。本文采用Zhao等人[28]提出的排名方法。该方法避免从特定角度关注投影图像,主要目的在于保持投影图像的多样性。由于每个投影视图都是从模型的边界球体密集采集的,因此附近的视点通常具有非常相似的轮廓,会出现相似的分数。如果直接对得分最高的值进行排序,选择前N 个最好的值,结果可能只来自模型的一侧,这个结果往往是无效的。因此,为了保证投影视图的多样性,同时抑制从邻近视点获得投影视图,采用Zhao等人[28]提出的分数抑制方法进行排名。

从方程(13),可以得到每个投影视图的得分。然后利用排名策略调整该得分。定义一个新函数S~:

5 实验及分析

实验基于TensorFlow深度学习框架,使用Python3.7和C++处理数据及部分可视化。草图数据集来源于Eitz的手绘草图库,其中包含80个不同类别(飞机、台灯、椅子等)的查询草图。三维模型数据集采用普林斯顿形状基准(PSB),该数据集包括1 814个三维模型,其中包括907个测试集和907个训练集。每个模型都有相对应的草图集,每个草图都是由手绘轮廓和封闭边界曲线组成的,符合实验的要求。

5.1 投影视图实验

三维模型的二维投影图像具有足够的代表性,能够捕获到三维模型具有辨识力的特征。不同的三维模型投影方法,对检索性能将产生很大的影响。一般地,认为投影图像越多模型检索准确率越高,但是过多的投影图像会影响检索效率,造成空间上的浪费。将提出的方法与5种现有的投影方法进行对比:张海龙[14]利用基于主平面分析的投影方法获得3 个二维投影图像。Funkhouser 等人[29]将三维模型投影为三视图、四角视图和6个倾斜视图共13个投影图像。Kanai[15]利用立方体将模型投影为6 个正射投影图像和8 个对等轴测投影图像共14个二维图像。Yoon等人[16]利用球体将模型投影为14个投影图像。Chen等人[17]通过光场描述符生成60个投影图像。

表1 不同投影方法的检索平均准确率

从表1可以看出,本文提出的基于球体虚拟照相的投影方法的优于其他4 种投影方法。基于球体虚拟照相的投影方法比其他方法所投射的角度更全面,获取的模型信息足够丰富,因此在检索性能上也具有更好的优势。

5.2 最优视图实验

最优视图的选择对三维模型的检索有着至关重要的作用。将本文方法与Web 图像驱动方法[30]和基于SVM 分类方法[28]进行对比,通过使用不同的试图选择方法来计算数据集中每个模型的候选视角,并得到最终的检索结果。通过改变参数获取不同的候选视角,并绘制其P-R曲线,利用P-R曲线下的面积(Area Under Curve,AUC)来评估检索性能。如图5 所示,本文方法的效果优于其他两种最优视图选择的方法。不良视图图像容易对模型的检索结果产生负面影响,不良图像越多,检索效果越差。主要通过移除不良视图来获取最优视图。

图5 本文方法与其他方法的对比曲线

5.3 检索实验

为了能够进一步说明本文方法的有效性,在基准数据集SHREC2013 上与其他方法进行对比,并采用三维模型检索领域常用的6 种检索评价方法来衡量方法的效果,如表2 所示。从表可知,本文算法在NN、FT、ST、E、DCG 上的指标表现得更好,进一步说明了本文方法在基于草图的三维模型检索上有更高的准确率和优越性。

表2 SHREC2013数据方法评价结果

此外,对于三维模型检索另一个值得注意的问题是用户检索模型所耗费的时间问题,如果检索实时性下降,即使检索准确率有了明显提升那么实用性也不强。Liu 等人[30]的检索方法与本文方法都是通过选取最优视图完成模型检索,因此,将本文方法与Liu 等人[30]的检索方法进行对比。如表3 所示,由于本文方法是基于草图与三维模型的相似性来选取最优视图,而Liu 等人[30]是通过Web 图像选取最优视图,因此在准备率上会高于Liu 等人[30]的方法。从表中,可以看出本文提出的算法能够加速匹配效率,且能够处理复杂的三维模型。

表3 不同检索方法的处理时间

6 结束语

本文提出了一种基于基于球体投影的三维模型检索方法:首先利用基于球体虚拟照相的投影方法获取三维模型多个角度的二维视图,并利用高斯滤波差分和Bezier 曲线逼近相结合的三维模型线图计算方法来提取线图;其次,通过神经网络分类器获取最优视图,并提取视图的SBLBP描述符;最后采用Siamese网络完成基于草图的三维模型检索。实验证明,本文检索方法适用于三维模型的检索,有效地提高了检索的准确率。由于草图和三维模型的二维投影视图具有一定的差异性,接下来的工作将深入研究草图和二维投影视图的特征提取方法,进一步提高检索效果。

猜你喜欢
投影图轮廓线草图
基于分裂状态的规范伪括号多项式计算方法
基于HTML5的凸轮廓线图解法App教学软件研究
节日帽
画好草图,寻找球心
草图
Wendt操作对纽结和链环影响的若干规律
图解荒料率测试投影图及制作方法
虚拟链环的Kauffman尖括号多项式的Maple计算
多轮廓线的三维形体重构技术研究与实现*
一波三折