APP下载

基于手绘草图的三维模型检索

2021-03-28邱泳锋高雪瑶刘嘉源林威良张家豪贾龙雨

科学技术创新 2021年6期
关键词:草图特征向量视图

邱泳锋 高雪瑶 刘嘉源 林威良 张家豪 贾龙雨

(哈尔滨理工大学 计算机科学与技术学院, 黑龙江 哈尔滨150080)

1 概述

近年来,三维CAD 模型的数量和种类急剧增加,CAD 模型库的规模也随之变大。据统计目前全世界已有300 多亿个三维模型。从模型库中精确地寻找满足用户设计意图的模型无疑会缩短开发周期,提高设计效率,为企业带来更多的利益。同时,重用已有CAD 模型也会让企业节约更多的成本。

常见的三维模型检索方法主要有:基于文本的三维模型检索、基于特定指令的三维模型检索和基于内容的三维模型检索。

1.1 基于文本的三维模型检索。通过对目标三维模型进行恰当描述,与海量数据中的三维模型文本标签进行自动匹配来完成检索、但是,三维模型的文本描述相对有限、无法真正将三维模型特征一一列举。

1.2 基于特定指令的三维模型检索。使用定义好的笔画或者笔画集合来表示基本图形,然后利用笔画来完成三维模型检索。但是,这种方法仅适用于极少部分三维模型的检索,适应范围太小。

1.3 基于内容的三维模型检索。以反应对象自身的视觉特征的内容索引为基础,计算视觉特征的相似性来查找用户所需要的目标模型。但是,这种方法不仅依赖于文本,而且也依赖于三维模型和草图等[1]。

本文利用固定投影方法获取三维模型的二维视图[2],提取草图和二维视图的集成特征,并以此为基础来度量草图与三维模型之间的相似程度。

2 基于草图的三维模型检索框架

基于手绘草图的三维模型检索过程分为在线检索与线下处理两个阶段,如图1 所示。线下检索部分,主要包括:二维视图提取模块、全局特征提取模块和二维形状特征提取模块。为了便于实现基于草图的三维模型检索,不仅需要存储三维模型,而且还需要存储三维模型的二维视图以及二维视图所对应的特征向量。在线检索部分主要包括:二维草图绘制模块、全局特征提取模块、二维形状特征提取模块、模型相似性计算模块和三维模型检索模块(图1)。

在线下处理过程中,首先利用固定投影方法对三维模型进行降维处理,获取三维模型的二维视图集。选择固定的角度和固定的投影数量进行投影。在水平面以上30 度角位置,每隔60度放置一个虚拟摄像机,指向三维模型的中心,可以生成6 个二维视图,如图2 所示。

图1 三维模型检索框架

图2 三维模型的固定投影

所提取的二维视图是三维模型在某个角度的投影图片,即投影图像。提取每幅视图的全局特征与二维形状特征,其中,全局特征主要包括视图的D1 形状分布特征、D2 形状分布特征、D3 形状分布特征和Gist 特征。同时,根据视图的像素灰度数值来提取二维形状特征。组合全局特征与二维形状特征,获得了视图的集成特征。因此,每一个三维模型都对应着6 个二维视图,每一个二维视图都对应着一个集成特征。利用这6 个二维视图的集成特征来表示三维模型。草图与三维模型的相似度计算将被转化为草图与其6 个二维视图之间的相似度计算问题。三维模型A 对应的6 个二维视图为{v1, v2, v3, v4, v5, v6}。二维视图v1、v2、v3、v4、v5、v6的集成 特征向 量分别 为Xv1、Xv2、Xv3、Xv4、Xv5、Xv6。

按上述方法抽取所有三维模型的二维视图的集成特征向量。按照每一个三维模型进行分类组织,形成三维模型数据库,其逻辑结构如图3 所示。在三维模型数据库中,主要包括:模型层、视图层和向量层。在模型层中,存储三维模型的存储地址。在视图层中,存储二维视图的存储地址。在向量层中,存储二维视图的集成特征向量。因此,每一个三维模型与二维视图之间存在着一对多关系,每一个二维视图与集成特征向量之间存在着一对一关系。

图3 三维模型数据库的逻辑结构

在检索过程中,用户在界面中手动绘制二维草图s。系统提取草图s 的全局特征与二维形状特征,其中,全局特征主要包括草图s 的D1 形状分布特征、D2 形状分布特征、D3 形状分布特征和Gist 特征。同时,根据草图s 的像素灰度数值来提取二维形状特征。组合全局特征与二维形状特征,获得了草图s 的集成特征Xs。

3 三维模型相似度计算

草图s 和三维模型A 之间的相似度计算如公式(1)所示。

其中,|X-Y|为向量X 与向量Y 之间的欧式距离。

计算草图s 与二维视图vi之间的距离。若距离越小,则表明二者之间的相似程度越高。反之,则说明二者之间的相似程度越低。计算草图s 与三维模型A 的每幅视图之间的距离。从这6 幅视图中,选择距离最小的一幅视图作为三维模型A 的代表,并将二者之间的距离的倒数作为草图s 和三维模型A 之间的相似度。

计算草图s 与数据库中的每一个三维模型之间的相似度。按相似度从大到小依次排序,将相似度最高的前8 个模型显示在检索界面之中。

4 实验

本文使用VS2012 C++开发了一个基于草图的三维模型检索系统,使用了MySQL 数据库存储三维模型、二维视图和集成特征向量,如图4 所示。

图4 基于草图的三维模型检索系统

从ModelNet40 中抽取了4 类三维模型作为源模型,分别是“car”、“chair”、“dresser”和“person”。从每个类中抽取了10 个模型,每个模型对应于6 二维视图。从SHEREC13 中抽取1 个“car”草图、1 个“chair”草图、1 个“dresser”草图和1 个“person”草图作为目标草图。利用所开发的系统分别检索与目标草图最相似的三维源模型,使用F 测度来度量系统的检索性能,如表1所示。系统检索的F 测度为0.460。

表1 系统的检索性能

5 结论

本文在分析了现有三维模型检索技术的基础上,提出了一种基于手绘草图的三维模型检索框架。在水平面以上30 度角位置,每隔60 度放置一个虚拟摄像机,抽取6 个二维视图,提取二维视图的集成特征。同时,提取二维草图的集成特征,以草图和二维视图的集成特征为基础,计算二者之间的相似度,并选择相似度最大的三维源模型作为匹配结果。

猜你喜欢

草图特征向量视图
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
SolidWorks二维草图的绘制经验与技巧
不能承受的生命之轻
三个高阶微分方程的解法研究
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
画好草图,寻找球心
Django 框架中通用类视图的用法