摘要
随着计算机硬件性能的不断提升以及计算机图形学算法的飞速发展,三维模型在医疗、动画、建筑、游戏等领域得到越发广泛地应用,人们对三维模型的研究也越发地深入。三维模型的特征点作为反映三维模型几何与语义特征的最基本元素,被广泛用于三维模型视点选择、分类分割、形状检索、人脸识别等领域,因此,三维模型特征点检测一直以来都是计算机图形学领域的研究热点和重点。近年来,随着三维模型扫描技术精度的日益提升以及建模技术的不断进步,模型变得愈发精细,模型自身所包含的细节信息也愈发丰富,传统的特征点检测算法已经不能胜任精度日益提高的特征点检测任务。为此,本文提出一种基于分层学习的三维网格模型特征点检测算法,算法流程如下所述: 首先提取得到三维网格模型表面全部顶点的特征向量;然后把人工标记的特征点划分为稀疏特征点和密集特征点,对于稀疏特征点,可在整个三维网格模型上训练神经网络,对于密集特征点,则可在特征点分布较为密集的区域单独训练神经网络;之后对两个训练好的神经网络进行特征向量匹配操作,得到一个分类器,该分类器用于三维模型特征点的提取预测。测试时,输入新的三维模型,提取该模型表面所有顶点的特征向量后,将提取的特征向量输入到已经训练完毕的分类器中进行预测操作,之后使用改进过的密度峰值聚类算法提取特征点。本文算法采取了一种分层学习的策略,解决了传统算法在三维模型细节处的特征点检测准确率不够高的问题。 以公开数据集SHREC''11中的20类模型作为评估标准,和3种传统的三维模型特征点检测算法作比较,实验结果表明,本文算法提取特征点的准确率更高,产生的遗漏特征点和错误特征点更少,对于解决精细度越来越高的三维模型特征点检测问题有较大帮助。