点云注册模块

Icon

导入点云

可以一次性导入多个点云


法线

可以计算,更新,光滑所有点云的法线,按钮具体含义可以参考点云处理模块的法线功能


有序-顺序注册点云

  • 一键顺序注册点云,按照点云文件名的顺序依次注册:2->1, 3->2, 4->3......
  • 参数-NoMark:是否需要无标记注册
  • 参数-ICP:是否需要ICP
  • 参数-Grid:如果点云是有序点云,可以勾选这项,拼接速度会更快
  • 参数-Color:点云如果有颜色,可以应用颜色信息来辅助拼接。注意,带颜色的ICP目前只支持有序点云。

  • 全局注册

  • 点云全局注册,用于提升点云的注册精度。
  • 参数-MaxIterations:注册的最大迭代次数,默认参数为10。数据精度越高,初始对齐越好,需要的迭代次数越少,如果数据不好,可以提高迭代次数.
  • 参数-Speed:注册速度,参数范围是[0, 1],数值越大,注册速度越快,当然精度有可能会比速度慢的低一些。快速注册一般用于点云数目比较多的情况。
  • 参数-Mark:如果点云有标记点,可以勾选这项,用标记点辅助拼接。"标记"按钮可以导入标记点
  • 参数-Color:点云如果有颜色,可以应用颜色信息来辅助拼接。注意,目前此选项只支持有序点云。
  • 参数-Feature:如果点云有颜色特征,可以借助这些特征辅助拼接。
  • globalregistration
  • 一个室内扫描数据的全局注册例子:
  • globalregistration
  • 一个借助颜色进行平面区域全局注册的例子:
  • align_global_color

    非刚性全局注册

  • 参数-MaxIterations:注册的最大迭代次数,默认参数为10。
  • 参数-NonRigidSize:非刚体变换的数量,每个刚体变换作用于点云的一个子片区。数量越多,非刚性越强。数量为1时,即为刚体变换.
  • global_nonrigid_car

    全局融合

  • 把注册后的点云融合成一个点云。这里提供了4种融合的方法.
  • 参数-Interval:参数为目标点云密度,数字代表原始点云密度的倍数。参数越大,目标点云密度越大,默认为1,既为原始点云密度。
  • 融合-把距离近的点融合成一个点,适合精度比较高的点云,如下面的椅子点云
  • 拟合-用拟合的方法生成一个整体点云,可以处理精度很低的点云,如下面的集装箱数据。参数为点云置信值,范围(0,1]。
  • 去重叠-去掉重叠部分的点
  • 叠加-把点云叠加到一起
  • 网格-把点云直接拟合成一个网格。参数为点云置信值,范围(0,1]。
  • fusepointcloud
    fusepointcloud
    fusepointcloud

    一键纹理贴图

  • 把注册好的,并且带有点像对应和图像信息的点云,一键生成带有纹理的网格。输入要求:深度点云+点像对应+对应图片。测试方法:先导入注册好的点云,然后通过“点像对应”导入点像对应文件和图片,最后“纹理图”一键创建带纹理的网格。注意:导入点像对应文件和图像后,点云会去对应的像素点拾取颜色。可以根据点云的颜色来检验点像对应文件是否正确。
  • 点像对应:导入点像对应文件和图片。点像对应的格式为:map|mmap。几何意义为点云的点到图像中的坐标。导入点像对应文件和图像后,点云会去对应的像素点拾取颜色。可以根据点云的颜色来检验点像对应文件是否正确。
  • 纹理图:一键生成带有纹理的网格
  • GenerateTextureMesh

    点云颜色融合

  • 单光源点云颜色修正。背景:当摄像机固定,物体自身旋转,比如在转台上,然后单光源固定于模型前面。这种方式采集的图像,有个共同的缺点,就是单帧物体的边缘颜色会比较暗。测试方法:可以导入多帧对齐好的点云,然后用这个功能去除掉黑边色差。参数意义为点云密度的倍数,用于判断不同帧点云是否有重叠,默认为1倍。如果点云比较密,或者对齐效果不是很理想,可以适当提升点云密度倍数。
  • color_tune_single_light

    分步对齐

    分步对齐一般操作流程是:

    1. 导入需要注册对齐的两帧点云 (红色为固定点云,绿色为浮动点云)。
    2. 初对齐: 如果扫描点云有标记点,可以进行有标记点拼接;如果点云没有标记点,也可以进行无标记拼接。
    3. ICP: 点云初始对齐(标记或者无标记)后,用ICP做精细对齐。
    4. 融合:使得两个点云融合成一个红色点云,作为下次注册的不动点云。目前有两种融合方式:去除点云重叠部分的点;或者用绿色点云替换红色点云。前者的融合方式对应了frame to model的拼接方式,后者对应了frame to frame的拼接方式。
    5. 导入下一帧点云,重复上面的步骤: 初始对齐,ICP对齐,融合
    6. 注册融合完所有的点云后,点击注册应用,则进入全局优化的阶段
    registration_workflow

    分步对齐-预处理

  • 法线:这里的法线计算功能和点云工具箱的法线功能是一样的。
  • 特征点:主要用于带标记的扫描注册. 点云标记点格式为:Mark0_X Mark0_Y Mark0_Z ... ... ...

  • 分步对齐-有标记初对齐

  • 用于带标记点的初始对齐,点云需要有法线信息。标记点可以通过鼠标右键在点云上拾取,也可以通过特征点导入。两个点云的标记点拾取顺序不需要一一对应,个数也不需要一样。
  • 参数-MinOverlap: 两帧点云对齐后的最低重叠率。这个参数可以帮助判断拼接是否成功,成功后则提前退出搜索。
  • 参数-Fast:快速模式的搜索空间小一些,所以拼接速度更快
  • mark_registration

    分步对齐-无标记初对齐

  • 用于无标记点的初始对齐(点云如果没有法线,则NOrient==false)
  • 参数-Accuracy:注册精度,范围是[0,1]。参数越大,对齐的可能性越大,速度也越慢。对于重叠部分较少,或者有些对称的点云,可以提高参数精度来提高对齐的稳定性。有颜色的点云,也可以应用颜色信息辅助对齐。
  • 参数-Grid:如果点云是有序点云,可以勾选这项,拼接速度会更快
  • 参数-Color:点云如果有颜色,可以应用颜色信息来辅助拼接。注意:此选项一般用于颜色特征丰富,而几何特征不明显的情况下。
  • 参数-NOrient:点云法线的定向是否是一致的。
  • align_nomark

    分步对齐-ICP注册

  • ICP注册用于有初始对齐的点云,它能提升对齐精度。
  • 参数-Grid:如果点云是有序点云,可以勾选这项,拼接速度会更快
  • 参数-Color:点云如果有颜色,可以应用颜色信息来辅助拼接。注意,目前此选项只支持有序点云。
  • 参数-Mark:如果点云有标记点,可以勾选这项,用标记点辅助拼接。
  • align_icp_example

    分步对齐-非刚性ICP

  • 背景:ICP注册主要用于已经粗注册好的点云,提升注册精度。传统ICP注册是刚体变换。在数据有误差或者微小形变的时候,刚体变换无法完全对齐点云。如图所示,a)是输入的两个点云。这两个点云 有微小的形变;b)是无标记对齐的结果;c)是ICP精细对齐的结果,可以看到点云有些部位的对齐还是有误差的。e是c的注册结果去除重叠,再更新法线的结果。可以看到有些局部法线出现了毛刺的效果,这是对齐误差的体现。为了提升注册精度,引入非刚性变换。如图所示,d是非刚体的ICP对齐的结果,对齐误差明显降低了。f是d的注册结果去除重叠,再更新法线的结果。可以看出对齐误差明显小了很多。参数意义为非刚体变换的数量,每个刚体变换作用于点云的一个子片区。数量越多,非刚性越强。数量为1时,即为刚体变换。
  • nonrigid_compare
  • 参数-NonRigidSize:非刚体变换的数量,每个刚体变换作用于点云的一个子片区。数量越多,非刚性越强。数量为1时,即为刚体变换.

  • 分步对齐-融合

  • 把当前两帧点云融合成一个点云,用于下一次的拼接。
  • 融合-去重叠:去除点云重叠部分的点,此融合方式对应了frame to model的拼接方式
  • 融合-替换:用绿色点云替换红色点云,此融合方式对应了frame to frame的拼接方式

  • 如果您有任何疑问和建议,欢迎发email:

    contact