-
随着三维激光扫描技术的出现,物体的三维模型展现和处理技术也得到了快速发展。这是由于三维模型具有较强的特征展现力,并且可以弥补其他多媒体资源在信息存储、共享和展示等方面的不足。模型检索是三维模型处理技术的一个重要研究内容,是指从大量三维模型中检索出与某一特定模型相似的所有模型的过程。目前,三维模型检索已经在数字图像处理、文物虚拟复原以及计算机辅助设计等领域[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类)。
采用所提检索算法,以图2所示的头部碎片、躯干碎片、裙摆碎片、上肢碎片和下肢碎片为检索的参考模型,首先计算碎片点云模型的曲率和法向夹角,并将其加权融合,然后通过对融合特征的匹配来实现碎片检索。所提算法的碎片检索结果如图3所示。
通过对大量兵马俑碎片的点云数据模型进行检索分析,结果发现曲率系数
$\alpha $ 和$\beta $ 对特征参数的计算结果有较大影响。同时由于邻域点的数量跟点云密度及其分布的均匀性有很大关系,因此当点云数据模型的密度较大时,$\alpha $ 和$\;\beta $ 的取值较小,当点云数据模型的密度较小时,$\alpha $ 和$\;\beta $ 的取值较大。通过实验验证,通常建议
$\alpha $ 和$\;\beta $ 的取值范围均在10~30之间。本实验中,$\alpha $ 和$\;\beta $ 的取值均为20。为了验证所提检索算法的精度,对1036个兵马俑碎片再分别采用文献[12]算法、文献[13]算法,以及本文算法中无主曲率和融合特征参数约束的算法进行检索,检索结果的准确率如表1所示。从表1的检索结果可见,所提检索算法的准确率最高,检索效果最佳。
这是由于文献[12]算法是一种基于多层深度网络的三维模型检索算法,通过构建局部信息和全局信息的特征学习模型实现模型检索。虽然该算法在一定程度上提高了检索效率,但是采用的特征表示方法对兵马俑碎片模型的整体信息表达相对较差,因此检索的准确率依旧不够高。文献[13]算法是一种基于模糊C均值和卷积神经网络的模型检索算法,该方法将直觉模糊集引入到模型特征中以实现碎片特征分离,并根据分离特征实现模型检索。但是该算法需要人为设置检索参数,检索时间复杂度较高,对交叉特征的检索效果较差,从而影响了检索的准确率。无约束算法是在所提算法中去除了主曲率和融合特征参数约束,通过直接计算模型特征点的距离实现相似特征的匹配,从而进行模型检索,因此准确率不高。而所提算法融合了兵马俑碎片的两个主曲率和法向夹角特征,并通过迭代地对融合特征进行匹配来实现模型检索,不仅可以准确地描述碎片的几何特征,而且可以避免算法陷入局部极值,从而提高检索精度和速度。由此可见,本文的基于融合特征的三维模型检索算法是一种有效的高精度兵马俑碎片检索方法。
3D Model Retrieval of Terracotta Warriors Fragments Based on Feature Fusion
-
摘要: 基于特征的模型检索是计算机视觉领域的一个重要研究方向,主要包括特征提取和模型检索两个方面,其中特征的鲁棒性对模型检索结果起决定性作用。由于已有检索算法存在局部特征有效性较低的问题,该文提出一种基于特征融合的兵马俑碎片模型检索算法。针对兵马俑碎片的三维点云数据模型,首先计算点的主曲率和法向夹角,并对其加权融合;然后基于该融合特征构造特征匹配算法,通过对融合特征的匹配实现碎片模型检索。实验中,对50个兵马俑的1036个碎片进行了检索,结果表明该算法可以有效提高碎片的检索精度,避免算法陷入局部极值。因此,该基于特征融合的三维模型检索算法是一种有效的兵马俑碎片检索方法。Abstract: Feature-based model retrieval is one of the important research directions in the field of computer vision. It includes two aspects: feature extraction and model retrieval. The robustness of features plays a decisive role in model retrieval algorithm. In order to solve the problem of low efficiency of local features in existing algorithms, a feature fusion based model retrieval algorithm for the fragment of terracotta warriors is proposed. Aiming at the 3D point cloud model of the terracotta warriors fragments, the curvature and normal angle of the points on the fragment point cloud model are calculated and fused weighted firstly. Then, the feature matching algorithm is constructed based on the fusion feature, and the 3D fragment model retrieval is realized by matching the fusion feature. In the experiment, 1036 fragments of 50 terracotta warriors are retrieved. The results show that the algorithm can effectively improve the retrieval accuracy of fragments and avoid the algorithm falling into local extremum. Therefore, the 3D model retrieval algorithm based on feature fusion is an effective method to retrieve the fragments of terracotta warriors.
-
Key words:
- curvature /
- feature fusion /
- feature matching /
- model retrieval /
- normal angle
-
[1] KRIZHECSKY A, SUTSKEVER I, HINTON G E, et al. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84-90. doi: 10.1145/3065386 [2] 吕科, 施泽南, 李一鹏. 微型无人机视觉定位与环境建模研究[J]. 电子科技大学学报, 2017, 46(3): 543-548. doi: 10.3969/j.issn.1001-0548.2017.03.011 LÜ Ke, SHI Ze-nan, LI Yi-peng. Visual localization and environment mapping for micro aerial vehicles[J]. Journal of University of Electronic Science and Technology of China, 2017, 46(3): 543-548. doi: 10.3969/j.issn.1001-0548.2017.03.011 [3] 赵薇, 靳聪, 涂中文, 等. 基于多特征融合的SVM声学场景分类算法研究[J]. 北京理工大学学报(自然科学版), 2020, 40(1): 69-75. ZHAO Wei, JIN Cong, TU Zhong-wen, et al. Support vector machine for acoustic scene classification algorithm research based on multi-features fusion[J]. Transactions of Beijing Institute of Technology, 2020, 40(1): 69-75. [4] 赵清杰, 王浩, 刘浩, 等. 基于相对编辑相似度的近似重复视频检索和定位[J]. 北京理工大学学报(自然科学版), 2018, 38(1): 85-90. ZHAO Qing-jie, WANG Hao, LIU Hao, et al. Near-duplicate video retrieval and localization using relative levenshtein distance similarity[J]. Transactions of Beijing Institute of Technology, 2018, 38(1): 85-90. [5] ZOU K S, IP W H, CHEN A Q, et al. A novel 3D model retrieval approach using combined shape distribution[J]. Multimadia Tools and Application, 2014, 69(3): 799-818. doi: 10.1007/s11042-012-1130-0 [6] LIU A A, NIE W Z, GAO Y, et al. Multi-modal clique-graph matching for view-based 3D model retrieval[J]. IEEE Transaction on Image Processing, 2016, 25(5): 2103-2116. doi: 10.1109/TIP.2016.2540802 [7] ZHAO S, YAO H, ZHANG Y, et al. View-based 3D object retrieval via multi-modal graph learning[J]. Signal Processing, 2015, 112: 110-118. doi: 10.1016/j.sigpro.2014.09.038 [8] MALIGO A, LACROIX S. Classification of outdoor 3D LiDAR data based on unsupervised gaussian mixture models[J]. IEEE Transactions on Automation Science and Engineering, 2017, 14(1): 5-16. doi: 10.1109/TASE.2016.2614923 [9] YOON S M, SCHRECK T, YOON G J. Sparse coding based feature optimisation for robust 3D object retrieval High- precision registration of point clouds based on sphere feature constraints[J]. Sensors, 2017, 17(1): 72-85. doi: 10.1109/JSEN.2016.2622279 [10] AHA D W, MUNOZ A H. Interactive k-d tree GPU raytracing[C]//Symposium on Interactive 3D Graphics and Games. [S.l.]: ACM, 2007: 167-174. [11] YANG J, CAO Z, ZHANG Q. A fast and robust local descriptor for 3D point cloud registration[J]. Information Sciences, 2016(346): 163-179. doi: 10.1016/j.ins.2016.01.095 [12] NIE W Z, XIANG S, LIU A. Multi-scale CNNs for 3D model retrieval[J]. Multimedia Tools and Applications, 2018, 77(6): 50-59. [13] 王瑶瑶. 基于卷积神经网络优化模型的兵马俑碎片分类方法研究[D]. 西安: 西北大学, 2019. WANG Yaoyao. Research on the classification of Terracotta Warriors fragments based on the optimization model of convolutional neural network[D]. Xi ’an: Northwest University, 2019.