改进ICP算法
参考论文:孟艺. 基于逆向工程的废旧零件再制造关键技术研究[D].河北工程大>学,2020.DOI:10.27104/d.cnki.ghbjy.2020.000150.
目的
为减少损伤区域对配准的影响
方法
利用曲率和距离阈值剔除损伤区域的点云数据,将剔除损伤区域后的点云数据进行配准。进而避免对损伤区域的误差均匀化影响配准精度。
具体流程
对已经完成预配准的点云数据,记损伤模型的点集$P_k$中的任意一点$p_{ik}$ ,记原始模型点集$Q$中与$p_{ik}$ 距离最近的点为$q_{ik}$ ,利用ICP算法寻找最近点并将其组成点集$Q_K={q_{ik}|q_{ik}\in{R^3},i=1,2,…,n}$,距离满足公式:
$$
d_{ik}=\parallel p_{ik}-q_{ik} \parallel \rightarrow \mathbf{min}
$$
上式中,k为迭代次数。
然后利用二次曲面法拟合估算点云曲率,设定曲率阈值 ,检查对应点曲率 是否成立。同时设定距离阈值ked ,并检查对应点间的距离k是否成立。将不满足曲率与距离阈值的点判定为损伤区域,然进行剔除。将剔除后新的损伤模型点集记为’kP ,原始模型点集记为’Q 。


曲率约束:
$$
\frac{\left|k_{i}-k_{i}^{\prime}\right|}{\left|k_{i}\right|+\left|k_{i}^{\prime}\right|} \leq r^{\prime}
$$
其中$k_i$为损伤点云中点i的曲率,$k_i’$为原始点云中对应点的曲率。
通过实验确定$r’=0.2$左右时,点云筛选效果最优。
$r’=0.2$
原点对:8127;过滤后:1834


$r’=0.4$
原点对:8127;过滤后:3530
总结
对于曲率k较小的地方,如模型的底部大平面,判别式波动范围较大,且此处点对容易被错误剔除。
法向约束:
距离约束:
自适应距离阈值
当点云对应点间距离平均值与中值满足
$$
d_e^k-d_{mid}\ge0
$$
时,选择$d=1.5d_e^k$作为剔除参考值,则
$$
d_i^k-1.5d_e^k<0
$$
当点云对应点间距离平均值与中值满足
$$
d_e^k-d_{mid}<0
$$
时,选择$d=0.8d_e^k$作为剔除参考值,则
$$
d_i^k-0.8d_e^k<0
$$
其中,$d_i^k$为所有对应点之间的距离,其平均值为$d_e^k$。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!