点云匹配
功能介绍
模块位置:定位-点云匹配
对两个3D数据(点云或3D图像)进行刚体配准,求解从源数据到目标数据的3×4外参矩阵。支持图像/点云混合输入(两端需同类型:图像↔图像或点云↔点云),典型用途:多视角点云拼接、在线定位与抓取、基准模型与实测件对齐、工位重复定位。
方法
通过不同方法进行点云匹配。
粗匹配
基于几何一致的四点集合进行全局搜索,容错大、对初始位姿不敏感,适合大范围初始误差;
精匹配
在有一定初始对齐的前提下,迭代最近点优化均方误差,收敛得到高精度结果;
使用场景
用于点云匹配。
示例说明
以下示例为粗匹配方法。选择同类型的源数据和目标数据。参数设置采样点数量设为3000,采样间隔Δ设为0.1,归一化不勾选,近似重叠率设为0.1(源数据和目标数据是整体和部分的关系,因此近似重叠率取低值),分数阈值设为0.5,法向量最大差异设为5,线程数设为4:
- 输入点云目标(此处作为基准,整体的点云):

- 输入点云源(和目标点云是整体和部分的关系,去匹配目标点云):

-
按照参数设置用源数据匹配目标数据得到变换矩阵;
-
结果验证(将源数据使用变换矩阵做3D变换,然后将变换后的数据和目标数据合并,查看显示效果):
![]() | ![]() |
|---|---|
| 点云匹配前 | 点云匹配结果(重叠效果) |
- 其中框出来的部分就是匹配后的源数据和目标数据重叠的区域
输入
| 输入 | 类型 | 说明 |
|---|---|---|
| 源数据 | 图像/点云 | / |
| 目标数据 | 图像/点云 | 类型需与源数据一致 |
参数说明
采样点数量
粗匹配算法的采样点数量。样本点数量决定了点云特征的采样密度,更多的采样点通常会提高精度,但计算量会增加,默认值:2000。单位:个。范围:1 ~ 10,000,000(建议:1,000 ~ 20,000)
采样间隔Δ
粗匹配中一个重要参数,设定用于建立点对的搜索范围的空间尺度,值越大速度更快但精度可能下降,默认值:1.0;若数据已做体素滤波,可直接采用体素大小。单位:与点云坐标一致(mm);当勾选“归一化”时为无量纲(按目标点云直径归一化)。范围:0.001 ~ 10,000,000(建议:体素尺寸 ~ 5×体素尺寸)
归一化
- 勾选:用目标点云直径归一化Δ,归一化后点云的大小和坐标被标准化,使参数与场景尺寸无关。
- 不勾选:不使用归一化方法,默认不使用。
近似重叠率
估计源点云和目标点云的重叠比例,用于缩小搜索空间并加速早停,一般重叠越少,设置值越低,默认值:0.5。范围:0 ~ 1(建议:0.1 ~ 0.9;整体对整体 ≈ 0.5,整体对局部可取 0.05 ~ 0.3)
分数阈值
设定粗匹配算法的分数阈值,该分数用于衡量点对对齐的质量,匹配得分达到此值即提前终止计算,默认值:0.5。范围:0 ~ 1(建议:0.5 ~ 0.9)
法向量最大差异值
设定点云之间对应点法向夹角上限,用于过滤不合理匹配,超过该值的点对将被认为是不匹配的,默认值:5。单位:度(°)。范围:0 ~ 180°(建议:1° ~ 30°;表面较粗糙时可适当放宽)
线程数
并行线程数,加速采样和对应搜索。
最大对应点距离
精匹配算法中源点云和目标点云之间允许的最大对应距离。超出这个距离的点对将被视为异常点并忽略,值越小需更好初始对齐但收敛更快,默认值:1.5。单位:与点云坐标一致(mm)。范围:0.001 ~ 10,000,000(建议:1 ~ 3×体素尺寸或场景噪声量级)
平移收敛阈值
该参数决定了精匹配算法的停止条件,指的是精匹配在每次迭代中计算出的平移变换矩阵的变化量,如果变化量小于这个值,则认为收敛,可以提前终止迭代。默认值:1.0,内部按输入值×1e-6使用。单位:与点云坐标一致(mm)范围:0.001 ~ 10,000,000(建议:0.1 ~ 100)
旋转收敛阈值
该参数决定了精匹配算法的停止条件,指的是精匹配在每次迭代中计算出的旋转变换矩阵的变化量,如果变化量小于这个值,则认为收敛,可以提前终止迭代。默认值:1.0,内部按输入值×1e-6使用。单位:与点云坐标一致(mm)范围:0.001 ~ 10,000,000(建议:0.1 ~ 100)
欧式误差收敛阈值
该参数决定了精匹配算法的停止条件,即点云对齐后所有点的均方误差是否小于该值,如果误差小于该值,可以提前终止迭代。默认值:1.0,内部按输入值×1e-4使用。单位:与点云坐标一致(mm)范围:0.001 ~ 10,000,000(建议:0.1 ~ 100)
输出
| 输出 | 类型 | 默认启用 | 额外启用条件 | 说明 |
|---|---|---|---|---|
| 变换矩阵 | 矩阵 | 是 | / | 从源数据到目标数据的刚体变换矩阵。 |
| 均方误差 | 实数 | 是 | / | 收敛后的均方误差,越小越好。 |

