点云配准

点云配准

点云配准(Point Cloud Registration)指的是输入两幅点云  (source) 和 (target) ,输出一个变换 使得 和 的重合程度尽可能高。
  点云配准的主要任务是计算出旋转矩阵R和平移矩阵T。

ICP算法

迭代最近点算法(Iterative Closest Point, ICP)
 ICP算法循环迭代两个步骤:
 1、查找来自目标点云P和源点云Q使用当前变换矩阵T后的对应集K={(p, q)}。
 2、通过最小化在对应集K上定义的目标函数E(T)来更新变换T。

• ICP方法分类
  ICP方法可分为点到点(PointToPoint)和点到平面(PointToPlane)两类。
    1)PointToPoint:计算P(t)和目标点云T的距离采用点到点之间的距离形式。
    2)PointToPlane:计算P(t)中点到目标点云T的点所在平面的距离,这里通常需要用到目标点云的法向

配准函数

open3d.pipelines.registration.registration_icp
    输入是两个点云和一个初始转换,该转换将源点云和目标点云大致对齐,输出是精确的变换,使两点云紧密对齐
   Returns: open3d.pipelines.registration.RegistrationResult
 
##对应用场景引入一些合理假设,比如限制旋转、平移的范围,变换自由度数量等 
 点云配准通常会需要用到两个点云数据。
  第一类点云数据称为原始点云,用S(source)来表示。第二类点云数据称为目标点云,用T(Target)来表示。
  配准就是希望这里的原始数据S可以对其目标数据T的坐标系,让原始点云S在目标点云T的坐标上进行显示

对应代码

icp = open3d.pipelines.registration.registration_icp(
    source=source,
    target=target,
    max_correspondence_distance=0.2,    # 距离阈值
    estimation_method=open3d.pipelines.registration.TransformationEstimationPointToPoint()
)

source.transform(icp.transformation)
points = np.array(source.points)

open3d.io.read_point_cloud(  open3d.geometry.PointCloud
open3d.t.io.read_point_cloud open3d.t.geometry.PointCloud
 
 
 pcd=o3d.geometry.PointCloud()#实例化一个pointcloud类
 pcd.points=o3d.utility.Vector3dVector(B)#给该类传入坐标数据,此时pcd.points已经是一个点云了 

点云配准和点云标定

点云配准

 点云配准(Point Cloud Registration)是指将多个点云数据集融合成一个整体的过程。
  它的目标  是通过将多个点云数据集进行对齐和配准,从而得到一个更完整和准确的点云模型
  它的问题的关键 是如何得到坐标变换的旋转矩阵R和平移向量T,使得两视角下测得的三维数据经坐标变换后距离最小
  目前方法有
    迭代最近点算法(Iterative Closest Point,简称为ICP)
  粗配准(Coarse Registration)和精配准(Fine Registration)	

标定

 点云标定(Point Cloud Calibration)是指确定点云数据与特定坐标系统之间的几何关系的过程
 相机标定: 相机标定是后续计算机视觉工作的前提,其标定的目的是为了确定相机的内参、外参以及畸变参数
 联合标定:指通过标定得到激光雷达坐标系到相机坐标系的外参[R,t]
 在线标定:也叫动态标定,targetless extrinsic calibration",就是不依赖于标志物的外参标定(棋盘格、特定形状的标定板、立方体都属于标志物)

参考

 Function for ICP registration  http://www.open3d.org/docs/release/python_api/open3d.pipelines.registration.registration_icp.html	 
 三维点云配准 -- ICP 算法原理及推导 https://zhuanlan.zhihu.com/p/104735380
 常见点云存储方式有pcd、ply、txt、bin文件,下面分别对其进行介绍。 https://developer.aliyun.com/article/1078498
   点云配准原理概述https://robot.czxy.com/docs/pcl/chapter03/registration_intro/	 
posted @ 2023-10-08 11:12  辰令  阅读(268)  评论(0编辑  收藏  举报