基于机器学习的相邻时序植物点云配准总结
总结
代码部分
循环部分
在循环时需要注意利用 if
判断跳过的部分
例如通过某些特征值进行筛选,对特定的类别赋值时,不应忘记没有通过筛选的部分,要对这些部分也进行赋值,否则会导致赋值顺序与实际顺序无法对应
应用变换部分
在将点云应用变换矩阵的时候应该注意,该函数是否会改变原点云,若会改变则需要深复制点云进行保护
策略部分
归一化部分
数据集的归一化具有必要性
但是针对点云中坐标的归一化不能简单的使用最大最小值归一化,因为这可能会导致点云的压缩
针对点云坐标的归一化应该使用均值方差归一化,即 PointNet
和 PointNet++
所提出的归一化方式
1 | import numpy as np |
配准策略部分
直接对整个点云进行配准可能会面临叶片增加或减少情况,导致配准效果不佳
针对此情况,采取选取植株中最大的三片叶片,对这三片叶片进行计算特征后进行配准
暂时使用的配准方法是使用 open3D 库提供的配准方法
即 计算点云的 FPFH 特征,然后进行粗配准,再进行 ICP 精配准
叶片生长过程中叶片位置、形态可能会发生较大变化
导致相邻时序中选取的叶片并不对应,配准时陷入局部最优(叶片翻转或叶片垂直或叶片偏移)