留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于特征融合的文物碎片模型检索

赵夫群 戴翀 耿国华

赵夫群, 戴翀, 耿国华. 基于特征融合的文物碎片模型检索[J]. 电子科技大学学报, 2021, 50(2): 225-230. doi: 10.12178/1001-0548.2020281
引用本文: 赵夫群, 戴翀, 耿国华. 基于特征融合的文物碎片模型检索[J]. 电子科技大学学报, 2021, 50(2): 225-230. doi: 10.12178/1001-0548.2020281
ZHAO Fu-qun, DAI Chong, GENG Guo-hua. 3D Model Retrieval of Terracotta Warriors Fragments Based on Feature Fusion[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(2): 225-230. doi: 10.12178/1001-0548.2020281
Citation: ZHAO Fu-qun, DAI Chong, GENG Guo-hua. 3D Model Retrieval of Terracotta Warriors Fragments Based on Feature Fusion[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(2): 225-230. doi: 10.12178/1001-0548.2020281

基于特征融合的文物碎片模型检索

doi: 10.12178/1001-0548.2020281
基金项目: 国家自然科学基金(61731015);国家重点研发计划(2019YFC1521103);陕西省重点产业链(2019ZDLGY10-01);陕西省自然科学基础研究计划(2021JQ-765);青海省重点研发计划(2020-SF-142)
详细信息
    作者简介:

    赵夫群(1982-),女,博士,副教授,主要从事图形图像方面的研究

    通讯作者: 耿国华,E-mail:ghgeng@nwu.edu.cn
  • 中图分类号: TP391

3D Model Retrieval of Terracotta Warriors Fragments Based on Feature Fusion

图(3) / 表(1)
计量
  • 文章访问数:  4272
  • HTML全文浏览量:  1658
  • PDF下载量:  39
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-07-13
  • 修回日期:  2020-10-29
  • 网络出版日期:  2021-03-31
  • 刊出日期:  2021-03-22

基于特征融合的文物碎片模型检索

doi: 10.12178/1001-0548.2020281
    基金项目:  国家自然科学基金(61731015);国家重点研发计划(2019YFC1521103);陕西省重点产业链(2019ZDLGY10-01);陕西省自然科学基础研究计划(2021JQ-765);青海省重点研发计划(2020-SF-142)
    作者简介:

    赵夫群(1982-),女,博士,副教授,主要从事图形图像方面的研究

    通讯作者: 耿国华,E-mail:ghgeng@nwu.edu.cn
  • 中图分类号: TP391

摘要: 基于特征的模型检索是计算机视觉领域的一个重要研究方向,主要包括特征提取和模型检索两个方面,其中特征的鲁棒性对模型检索结果起决定性作用。由于已有检索算法存在局部特征有效性较低的问题,该文提出一种基于特征融合的兵马俑碎片模型检索算法。针对兵马俑碎片的三维点云数据模型,首先计算点的主曲率和法向夹角,并对其加权融合;然后基于该融合特征构造特征匹配算法,通过对融合特征的匹配实现碎片模型检索。实验中,对50个兵马俑的1036个碎片进行了检索,结果表明该算法可以有效提高碎片的检索精度,避免算法陷入局部极值。因此,该基于特征融合的三维模型检索算法是一种有效的兵马俑碎片检索方法。

English Abstract

赵夫群, 戴翀, 耿国华. 基于特征融合的文物碎片模型检索[J]. 电子科技大学学报, 2021, 50(2): 225-230. doi: 10.12178/1001-0548.2020281
引用本文: 赵夫群, 戴翀, 耿国华. 基于特征融合的文物碎片模型检索[J]. 电子科技大学学报, 2021, 50(2): 225-230. doi: 10.12178/1001-0548.2020281
ZHAO Fu-qun, DAI Chong, GENG Guo-hua. 3D Model Retrieval of Terracotta Warriors Fragments Based on Feature Fusion[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(2): 225-230. doi: 10.12178/1001-0548.2020281
Citation: ZHAO Fu-qun, DAI Chong, GENG Guo-hua. 3D Model Retrieval of Terracotta Warriors Fragments Based on Feature Fusion[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(2): 225-230. doi: 10.12178/1001-0548.2020281
  • 随着三维激光扫描技术的出现,物体的三维模型展现和处理技术也得到了快速发展。这是由于三维模型具有较强的特征展现力,并且可以弥补其他多媒体资源在信息存储、共享和展示等方面的不足。模型检索是三维模型处理技术的一个重要研究内容,是指从大量三维模型中检索出与某一特定模型相似的所有模型的过程。目前,三维模型检索已经在数字图像处理、文物虚拟复原以及计算机辅助设计等领域[1-4]得到了较为广泛的应用。

    根据提取对象的差异,通常可以将三维模型检索方法分为两种类型,即基于文本的检索方法和基于内容的检索方法。基于文本的检索方法需要人为地给三维模型添加相应的关键字,具有较强的主观性;而基于内容的检索方法则是通过提取三维模型的显著几何特征进行检索,可以有效减少人工干预,是目前使用较多的模型检索方法。近年来,国内外学者提出了很多基于内容的三维模型检索算法。文献[5]提出一种基于联合形状分布的三维模型检索算法,通过主面分析和群融合提高了模型检索的精度;文献[6]提出一种多模态视图的三维模型检索算法,通过构造多模态特征空间中图的超边实现模型检索;文献[7]提出一种基于多模态图学习的三维模型检索算法,通过度量模型的多个视图间的相似性实现检索;文献[8]提出一种基于非监督特征学习的三维模型检索算法,有效提高了模型检索的效率;文献[9]提出一种基于梯度描述子优化的支持三维物体检索的有效方法,该方法以稀疏编码为基础,通过实验验证了该方法的有效性。这些三维模型检索算法均具有较高的检索效率,但仍然存在局部特征有效性低、模型整体信息表达差以及检索效率低等缺点,因此不适合用于复杂陶质文物类碎片模型的检索。

    兵马俑是一种较为复杂的文物模型,在出土挖掘过程中破损严重,碎片数量较多,并且存在碎片缺失、形状各异以及特征模糊等问题。在计算机辅助兵马俑虚拟复原时,直接将大量碎片进行拼接复原是一项NP难题,因此有必要设计高效的碎片智能检索方法,将碎片按照一定规则划分为若干子集,降低碎片匹配时的穷举规模,为匹配拼接工作提供指导约束,提高虚拟修复效率。针对兵马俑碎片的三维模型复杂引起的检索困难问题,提出一种基于特征融合的碎片点云数据模型的快速检索算法。该算法通过融合碎片点云的曲率和法向夹角特征,并通过迭代对融合特征进行匹配来实现模型检索。算法不仅可以准确地描述碎片的表面几何特征,而且可以避免算法陷入局部极值,从而提高碎片检索的精度和速度。

    • 曲率可以有效反映点云表面的凹凸程度,越是特征明显的点云区域,其曲率也就越大,而特征不够明显的区域,其曲率也就越小。这里利用k-D tree(k-Dimension tree)算法[10]构造点云上点及其邻域点的切平面来计算曲率。

      对于点云模型${{\mathit{\boldsymbol{D}}}} = \{ {{{\mathit{\boldsymbol{d}}}}_i}\} $$i = 1,2,\cdots,{N_{{\mathit{\boldsymbol{D}}}}}$${N_{{\mathit{\boldsymbol{D}}}}}$表示点云${{\mathit{\boldsymbol{D}}}}$中所包含的点数,首先采用k-D tree算法计算点${{{\mathit{\boldsymbol{d}}}}_i}$$k$近邻点。该算法需要查找在点${{{\mathit{\boldsymbol{d}}}}_i}$周围的固定半径为$r$内的$k$个近邻点,通过判断两点之间的欧氏距离即可实现,具有较高的处理效率。这里,$k$不是一个固定的整数值,需要在实验中设置$k$的上限,而$r$是一个固定半径,也需要在实验中给出。

      k-D tree邻域点查询算法的步骤如下:

      1)确定点云${{\mathit{\boldsymbol{D}}}}$的划分维度和划分点。通常从方差最大的维度开始划分,可确保良好的切分效果和平衡性。根据该维度上的点的数值进行排序,并取中值点作为点云的划分点。

      2)确定点云${{\mathit{\boldsymbol{D}}}}$的左、右子空间。分割超平面过划分点可以将点云${{\mathit{\boldsymbol{D}}}}$划分为两部分,数值小于中值点的划为左子空间,剩下的一部分为右子空间。

      3)对于左、右子空间,分别重复步骤1)和步骤2),以相同的方式递归地进行分割,直到分割的子空间内点的个数满足条件为止,由此构建好k-D tree。

      4)从k-D tree的根结点开始,按照查询点与各个结点的比较结果向下访问k-D tree,直至达到叶子结点。计算查询点与叶子结点上保存的数据之间的距离,若距离小于$r$,则记录该点的索引和距离。

      5)回溯搜索路径,并判断搜索路径上结点的其他子节点空间中是否有与查询点距离小于$r$的点。若有,则跳到该子节点空间中去搜索,执行步骤4)中相同的查找过程;否则,继续回溯过程直到搜索路径为空。

      通过上述步骤即可查询出点云${{\mathit{\boldsymbol{D}}}}$上任意一点${{{\mathit{\boldsymbol{d}}}}_i}$$k$近邻点。假设$x$轴和$y$轴是点云${{\mathit{\boldsymbol{D}}}}$上点${{{\mathit{\boldsymbol{d}}}}_i}$及其$k$近邻点拟合切平面上的两个正交向量,$z $轴是点云${{\mathit{\boldsymbol{D}}}}$的法矢,那么$x$$y$$z$轴就构成了笛卡尔坐标系。可以定义点${{{\mathit{\boldsymbol{d}}}}_i}$的切平面$S(x,y)$为:

      $$S(x,y) = (x,y,z(x,y)) = ax + by + c{x^2} + dxy + e{y^2}$$ (1)

      在式(1)中,存在一组数值$a$$b$$c$$d$$e$使其成立,采用线性方程组可表示为:

      $$\left( {\begin{array}{*{20}{c}} {{x_1}}&{{y_1}}&{x_1^2}&{{x_1}{y_1}}&{y_1^2}\\ {{x_2}}&{{y_2}}&{x_2^2}&{{x_2}{y_2}}&{y_2^2}\\ \vdots & \vdots & \vdots & \vdots & \vdots \\ {{x_s}}&{{y_s}}&{x_s^2}&{{x_s}{y_s}}&{y_s^2} \end{array}} \right)\left( {\begin{array}{*{20}{c}} a\\ b\\ c\\ d\\ e \end{array}} \right) = \left( {\begin{array}{*{20}{c}} {{z_1}}\\ {{z_2}}\\ \vdots \\ {{z_s}} \end{array}} \right)$$ (2)

      求解式(2)的通解$a$$b$$c$$d$$e$,则点${{{\mathit{\boldsymbol{d}}}}_i}$的切平面$S(x,y)$的高斯曲率${K_i}$、平均曲率${\bar H_i}$和两个主曲率${R_{i1}}$${R_{i2}}$分别为:

      $${K_i} = \frac{{2c - {d^2}}}{{{{(1 + {a^2} + {b^2})}^2}}}$$ (3)
      $$ {\bar H_i} = \frac{{(1 + {a^2})e + (1 + {b^2})c - abd}}{{{{(1 + {a^2} + {b^2})}^{3/{\rm{2}}}}}} $$ (4)
      $$ {R}_{i1}={\overline{H}}_{i}-\sqrt{{\overline{H}}_{i}-{K}_{i}},{R}_{i2}={\overline{H}}_{i}+\sqrt{{\overline{H}}_{i}-{K}_{i}} $$ (5)
    • 法向夹角是指数据点法线方向与其邻近点法线方向的夹角,可用于描述点云表面的弯曲程度[11]。对于点云${{\mathit{\boldsymbol{D}}}}$上任意一点${{{\mathit{\boldsymbol{d}}}}_i}$,通过查询${{{\mathit{\boldsymbol{d}}}}_i}$$k$近邻点可计算其协方差矩阵${{{\mathit{\boldsymbol{C}}}}_i}$为:

      $$ {{{\mathit{\boldsymbol{C}}}}}_{i}={\left[\begin{array}{c}{{{\mathit{\boldsymbol{d}}}}}_{i1}-{\overline{{{\mathit{\boldsymbol{d}}}}}}_{i}\\ \vdots \\ {{{\mathit{\boldsymbol{d}}}}}_{ik}-\overline{{{\mathit{\boldsymbol{d}}}}}\end{array}\right]}^{{\rm{T}}}\left[\begin{array}{c}{{{\mathit{\boldsymbol{d}}}}}_{i1}-{\overline{{{\mathit{\boldsymbol{d}}}}}}_{i}\\ \vdots \\ {{{\mathit{\boldsymbol{d}}}}}_{ik}-\overline{{{\mathit{\boldsymbol{d}}}}}\end{array}\right]$$ (6)

      式中,${\bar {{\mathit{\boldsymbol{d}}}}_i}$表示${{{\mathit{\boldsymbol{d}}}}_i}$$k$近邻点的质心。

      计算协方差矩阵${{{\mathit{\boldsymbol{C}}}}_i}$的特征值,假设其特征值为${\lambda _1} \leqslant {\lambda _2} \leqslant {\lambda _3}$,那么点${{{\mathit{\boldsymbol{d}}}}_i}$的法线就是协方差矩阵${{{\mathit{\boldsymbol{C}}}}_i}$的最小特征值对应的特征向量的方向。假设特征值${\lambda _1} \leqslant {\lambda _2} \leqslant {\lambda _3}$对应的特征向量为分别为${{{\mathit{\boldsymbol{e}}}}_1},{{{\mathit{\boldsymbol{e}}}}_2},{{{\mathit{\boldsymbol{e}}}}_3}$,那么特征值${\lambda _1}$就表示点云表面沿法线方向的变化量,点${{{\mathit{\boldsymbol{d}}}}_i}$的法线方向就是${{{\mathit{\boldsymbol{n}}}}_i} = {{{\mathit{\boldsymbol{e}}}}_1}$

      假设点${{{\mathit{\boldsymbol{d}}}}_j}$为点${{{\mathit{\boldsymbol{d}}}}_i}$的任意一个邻近点,点${{{\mathit{\boldsymbol{d}}}}_i}$${{{\mathit{\boldsymbol{d}}}}_j}$的法线方向分别为${{{\mathit{\boldsymbol{n}}}}_{{{{\mathit{\boldsymbol{d}}}}_i}}}$${{{\mathit{\boldsymbol{n}}}}_{{{{\mathit{\boldsymbol{d}}}}_j}}}$,那么点${{{\mathit{\boldsymbol{d}}}}_i}$${{{\mathit{\boldsymbol{d}}}}_j}$的法线方向夹角(即法向夹角)${\theta _{{{{\mathit{\boldsymbol{d}}}}_i}{{{\mathit{\boldsymbol{d}}}}_j}}}$为:

      $${\theta _{{{{\mathit{\boldsymbol{d}}}}_i}{{{\mathit{\boldsymbol{d}}}}_j}}} = {\rm{arccos}} \frac{{{{{\mathit{\boldsymbol{n}}}}_{{{{\mathit{\boldsymbol{d}}}}_i}}} {{{\mathit{\boldsymbol{n}}}}_{{{{\mathit{\boldsymbol{d}}}}_j}}}}}{{|{{{\mathit{\boldsymbol{n}}}}_{{{{\mathit{\boldsymbol{d}}}}_i}}}||{{{\mathit{\boldsymbol{n}}}}_{{{{\mathit{\boldsymbol{d}}}}_j}}}|}}$$ (7)

      式中,${\theta _{{{{\mathit{\boldsymbol{d}}}}_i}{{{\mathit{\boldsymbol{d}}}}_j}}}$的取值范围在$[0,\pi ]$

      定义点${{{\mathit{\boldsymbol{d}}}}_i}$的法线夹角参数${\omega _a}({{{\mathit{\boldsymbol{d}}}}_i})$为:

      $${\omega _a}({{{\mathit{\boldsymbol{d}}}}_i}) = \sum\limits_{{{{\mathit{\boldsymbol{d}}}}_j} \in M({{{\mathit{\boldsymbol{d}}}}_i})} {{\theta _{{{{\mathit{\boldsymbol{d}}}}_i}{{{\mathit{\boldsymbol{d}}}}_j}}}} $$ (8)

      法线夹角参数${\omega _a}({{{\mathit{\boldsymbol{d}}}}_i})$反映了点${{{\mathit{\boldsymbol{d}}}}_i}$的所有$k$近邻点对点云表面弯曲程度的影响。${\omega _a}({{{\mathit{\boldsymbol{d}}}}_i})$越大,点${{{\mathit{\boldsymbol{d}}}}_i}$及其$k$近邻点的表面弯曲程度就越大,点${{{\mathit{\boldsymbol{d}}}}_i}$的邻域成为特征区域的可能性就越大;反之,${\omega _a}({{{\mathit{\boldsymbol{d}}}}_i})$越小,点${{{\mathit{\boldsymbol{d}}}}_i}$$k$近邻点的表面就越光滑,点${{{\mathit{\boldsymbol{d}}}}_i}$的邻域成为特征区域的可能性就越小。

    • 基于以上对曲率和法向夹角参数的计算,定义点${{{\mathit{\boldsymbol{d}}}}_i}$的融合特征参数$\omega {\rm{(}}{{{\mathit{\boldsymbol{d}}}}_i})$为:

      $$\omega {\rm{(}}{{{\mathit{\boldsymbol{d}}}}_i}) = \alpha {R_{i1}} + \beta {R_{i2}} + {\omega _a}{\rm{(}}{{{\mathit{\boldsymbol{d}}}}_i})$$ (9)

      式中,$\alpha $$\beta $表示曲率系数,均为正数。

      由式(9)可见,主曲率${R_{i1}}$${R_{i2}}$、法线夹角${\omega _a}({{{\mathit{\boldsymbol{d}}}}_i})$与融合特征参数$\omega {\rm{(}}{{{\mathit{\boldsymbol{d}}}}_i})$均成正比。${R_{i1}}$${R_{i2}}$${\omega _a}({{{\mathit{\boldsymbol{d}}}}_i})$越大,点${{{\mathit{\boldsymbol{d}}}}_i}$成为特征点的几率就越高;反之,${R_{i1}}$${R_{i2}}$${\omega _a}({{{\mathit{\boldsymbol{d}}}}_i})$越小,点${{{\mathit{\boldsymbol{d}}}}_i}$成为特征点的几率就越低。

    • 基于以上计算的融合特征参数$\omega {\rm{(}}{{{\mathit{\boldsymbol{d}}}}_i})$,通过将大量三维模型与一个已知模型进行融合特征匹配即可实现模型检索。假设已知点云模型为${{\mathit{\boldsymbol{M}}}} = \{ {{{\mathit{\boldsymbol{m}}}}_j}|{{{\mathit{\boldsymbol{m}}}}_j} \in {{{\mathit{\boldsymbol{R}}}}^3}, $$ i = 1,2,\cdots,{N_{{\mathit{\boldsymbol{M}}}}}\} $,某一个待检索的目标点云模型为${{\mathit{\boldsymbol{D}}}} = \{ {{{\mathit{\boldsymbol{d}}}}_i}|{{{\mathit{\boldsymbol{d}}}}_i} \in {{{\mathit{\boldsymbol{R}}}}^3},i = 1,2,\cdots,{N_{{\mathit{\boldsymbol{D}}}}}\} $,采用融合特征匹配算法将${{\mathit{\boldsymbol{M}}}}$${{\mathit{\boldsymbol{D}}}}$进行匹配检索的具体步骤描述如下:

      1)对于参考点云${{\mathit{\boldsymbol{M}}}}$和目标点云${{\mathit{\boldsymbol{D}}}}$,利用k-D tree算法查询其上任意一点${{{\mathit{\boldsymbol{d}}}}_i} \in {{\mathit{\boldsymbol{D}}}}$${{{\mathit{\boldsymbol{m}}}}_j} \in {{\mathit{\boldsymbol{M}}}}$$k$近邻点,并利用式(3)~式(9)计算点的主曲率、法向夹角和融合特征参数;

      2)计算目标点云${{\mathit{\boldsymbol{D}}}}$在参考点云${{\mathit{\boldsymbol{M}}}}$中的相关点$\{ {{\mathit{\boldsymbol{m}}}}_j^s|{{\mathit{\boldsymbol{m}}}}_j^s \in {{{\mathit{\boldsymbol{R}}}}^3},j = 1,2,\cdots,{N_{{\mathit{\boldsymbol{M}}}}}\} $,计算式为:

      $$\min ||{{\mathit{\boldsymbol{m}}}}_j^s - {{\mathit{\boldsymbol{d}}}}_i^s||$$ (10)

      式中,$s$表示迭代次数,初始设置为$s = 0$

      3)判断式(11)和式(12),若成立,那么点${{{\mathit{\boldsymbol{d}}}}_i}$即为点${{{\mathit{\boldsymbol{m}}}}_j}$的匹配点:

      $$\left| {\left[ {{R_{i1}}({{{\mathit{\boldsymbol{d}}}}_i}) + {R_{i2}}({{{\mathit{\boldsymbol{d}}}}_i})} \right] - \left[ {{R_{j1}}({{{\mathit{\boldsymbol{m}}}}_j}) + {R_{j2}}({{{\mathit{\boldsymbol{m}}}}_j})} \right]} \right| \leqslant {\tau _{{\rm{curvature}}}}$$ (11)
      $$|{\omega _\alpha }({{{\mathit{\boldsymbol{d}}}}_i}) - {\omega _\alpha }({{{\mathit{\boldsymbol{m}}}}_j})| \leqslant {\tau _{{\rm{normal}}}}$$ (12)

      式中,${R_{i1}}$${R_{i2}}$表示邻域点的两个主曲率;${\omega _\alpha }$表示邻域点的法向夹角;${\tau _{{\rm{curvature}}}}$${\tau _{{\rm{normal}}}}$分别表示曲率和法向夹角的阈值。

      4)令$s = s + 1$,利用式(13)计算旋转矩阵${{{\mathit{\boldsymbol{R}}}}^s}$、平移矢量${{{\mathit{\boldsymbol{t}}}}^s}$${{{\mathit{\boldsymbol{D}}}}^s} = {{{\mathit{\boldsymbol{R}}}}^s}{{\mathit{\boldsymbol{D}}}} + {{{\mathit{\boldsymbol{t}}}}^s}$

      $$\min \sum\limits_{i = 1}^{{N_M}} {||{{{\mathit{\boldsymbol{R}}}}^k}{{\mathit{\boldsymbol{d}}}}_i^k + {{{\mathit{\boldsymbol{t}}}}^k} - {{\mathit{\boldsymbol{m}}}}_i^k|{|^2}} $$ (13)

      5)从点云${{\mathit{\boldsymbol{M}}}}$的邻近点${{\mathit{\boldsymbol{M}}}}_j^s$中寻找${{{\mathit{\boldsymbol{D}}}}^s}$的任意点${{\mathit{\boldsymbol{D}}}}_i^s$的匹配点,并计算相关点的匹配误差${{\rm{RMS}}^s}$

      $${{\rm{RMS}}^s} = \sum\limits_{i = 1}^{{N_M}} {||{{\mathit{\boldsymbol{D}}}}_i^s - {{\mathit{\boldsymbol{M}}}}_i^s|{|^2} + H({{\mathit{\boldsymbol{D}}}}_i^s,{{\mathit{\boldsymbol{M}}}}_j^s) + {\omega _a}({{\mathit{\boldsymbol{D}}}}_i^s,{{\mathit{\boldsymbol{M}}}}_j^s)} $$ (14)

      6)重复步骤4)到步骤5),直到匹配误差${{\rm{RMS}}^s}$小于预设阈值$\varepsilon $或达到最大迭代次数${{\rm{step}}_{\max }}$为止;

      7)判断,若${{\rm{RMS}}^s}$小于给定阈值$\varepsilon $,那么目标点云${{\mathit{\boldsymbol{D}}}}$就可以和参考点云${{\mathit{\boldsymbol{M}}}}$正确匹配,点云${{\mathit{\boldsymbol{D}}}}$就是检索到的点云${{\mathit{\boldsymbol{M}}}}$的相似模型。否则,点云${{\mathit{\boldsymbol{D}}}}$就不是点云${{\mathit{\boldsymbol{M}}}}$的相似模型,由此实现了模型检索。

      在该检索算法中,寻找两个三维模型的匹配点时,不仅仅利用式(10)计算相应点的距离来实现,而且加入了约束条件式(11)和式(12),通过融合曲率和法线夹角特征来进一步刻画模型上点的邻域曲面的弯曲程度,可以更加精确地描述模型特征,降低相关点的误匹配率,从而避免陷入局部极值,提高模型检索的精度。

    • 实验采用西北大学可视化技术研究所提供的兵马俑碎片验证所提检索算法。以50个已经拼合的兵俑为模板,共包含1036个碎片。由于碎片数量较大,这里仅展示部分碎片,如图1所示,碎片均采用三维点云数据模型表示。按照俑的身体部位,将碎片按照5种类别进行检索,即头部碎片(C1类)、躯干碎片(C2类)、裙摆碎片(C3类)、上肢碎片(C4类)和下肢碎片(C5类)。

      图  1  部分碎片

      采用所提检索算法,以图2所示的头部碎片、躯干碎片、裙摆碎片、上肢碎片和下肢碎片为检索的参考模型,首先计算碎片点云模型的曲率和法向夹角,并将其加权融合,然后通过对融合特征的匹配来实现碎片检索。所提算法的碎片检索结果如图3所示。

      图  2  检索参考模型

      通过对大量兵马俑碎片的点云数据模型进行检索分析,结果发现曲率系数$\alpha $$\beta $对特征参数的计算结果有较大影响。同时由于邻域点的数量跟点云密度及其分布的均匀性有很大关系,因此当点云数据模型的密度较大时,$\alpha $$\;\beta $的取值较小,当点云数据模型的密度较小时,$\alpha $$\;\beta $的取值较大。

      通过实验验证,通常建议$\alpha $$\;\beta $的取值范围均在10~30之间。本实验中,$\alpha $$\;\beta $的取值均为20。

      图  3  碎片检索结果

      为了验证所提检索算法的精度,对1036个兵马俑碎片再分别采用文献[12]算法、文献[13]算法,以及本文算法中无主曲率和融合特征参数约束的算法进行检索,检索结果的准确率如表1所示。从表1的检索结果可见,所提检索算法的准确率最高,检索效果最佳。

      这是由于文献[12]算法是一种基于多层深度网络的三维模型检索算法,通过构建局部信息和全局信息的特征学习模型实现模型检索。虽然该算法在一定程度上提高了检索效率,但是采用的特征表示方法对兵马俑碎片模型的整体信息表达相对较差,因此检索的准确率依旧不够高。文献[13]算法是一种基于模糊C均值和卷积神经网络的模型检索算法,该方法将直觉模糊集引入到模型特征中以实现碎片特征分离,并根据分离特征实现模型检索。但是该算法需要人为设置检索参数,检索时间复杂度较高,对交叉特征的检索效果较差,从而影响了检索的准确率。无约束算法是在所提算法中去除了主曲率和融合特征参数约束,通过直接计算模型特征点的距离实现相似特征的匹配,从而进行模型检索,因此准确率不高。而所提算法融合了兵马俑碎片的两个主曲率和法向夹角特征,并通过迭代地对融合特征进行匹配来实现模型检索,不仅可以准确地描述碎片的几何特征,而且可以避免算法陷入局部极值,从而提高检索精度和速度。由此可见,本文的基于融合特征的三维模型检索算法是一种有效的高精度兵马俑碎片检索方法。

      表 1  4种检索算法的准确率 %

      碎片部位文献[12]算法文献[13]算法无约束算法本文算法
      C181.2282.2480.4488.25
      C277.3078.3576.3984.42
      C375.6976.7374.1682.77
      C478.1179.1277.0385.16
      C576.4977.5175.1785.54
    • 在基于特征的三维模型检索方法中,选择合适的特征并对其进行表示和融合是模型检索要解决的关键问题。提出的三维模型检索算法融合了曲率和法向夹角特征,并通过对融合特征的相似性匹配实现了三维模型的精确检索。通过将该算法应用到兵马俑碎片检索中,可以实现碎片分类,降低后期碎片匹配的穷举规模,为碎片拼接提供指导和约束,提高兵马俑虚拟修复技术在文物数字化保护中的应用能力。但是,本文算法采用的是加权求和的特征融合方式,通用性不够高,因此后期研究中要考虑将视觉显著性应用到模型特征提取中,将多模态应用于特征融合中,进一步提高模型检索的精度。

参考文献 (13)

目录

    /

    返回文章
    返回