python 点云配准_点云的全局配准

点云配准就是将当前点云匹配进行变换使其和目标点云匹配上. 先推荐一个python的点云处理库: opend3d.

什么时候需要全局配准?我说我知道的场景相机的角度变化太大了.

极少角度的物体重建.

3D 模型的恢复(3D model retrival).

基于点云的重定位

物体识别(object recognition)

这些场景主要是相对位姿变化很大, 或者说是点云的重合度不高. 主要是有两种方法, 特征点匹配的方法和全局ICP的方法. 特征点的方法通过全局特征匹配达到全局配准, 全局ICP的方法通过对变量空间进行搜索的方法达到全局最优解, 目前主要利用Branch and Bound进行搜索. 特征点的方法相对于global ICP来说就是快, 但是它依赖于特征点描述子的表达性能. 如果当前点云和目标点的噪声不一样,比如目标点很光滑几乎没有噪声, 但是当前点很多噪声, 就很容易导致匹配失败, 因为同一特征点的描述子差太多啦. 而ICP的方法可以解决这一点, 因为ICP更多的是形状匹配, 或者说是结构匹配. 下面我们分别介绍一下相关主要论文

feature-based methodsFGR是通过构造函数将非凸的问题通过平滑进行凸化, 但是该算法是找到误差最小的解, 但是由于重合率的问题导致特征点存在超高的无匹配率, 所以最小误差的解并不一定是匹配的最优解.代码已经在opend3d里面有.Fast Global Registration​link.springer.comteaser利用仿射变换的不变性不断的降低误匹配的点的影响来提高匹配精度. TEASER系列工作开源啦, 本人测试过其代码, 很快很鲁棒, 但是在大规模点云重定位上表现不佳, 主要原因我觉得有两个方面(这个问题应该是feature based的方法存在的通病):局部点云和全局点云的重合率很低, 场景中相似的关键点很多

局部点云的观察的从一个新的角度,导致计算的特征描述子差很多, 不过最近有很多学习的特征描述子, 我还没有试过, 不知道在这种情况下效果怎么样.TEASER: Fast and Certifiable Point Cloud Registration​arxiv.org

为什么点云的描述子不能像基于图片的描述子那么好使呢? 主要是因为没有了颜色纹理信息, 只能利用空间曲率来进行计算. 而很多地方的曲率的相似度很高, 导致描述子的表达性和区分性明显降低. 这就跟重复纹理的场景, 2D特征也不好使是差不多的。Deep global registration, 相比于之前各种学习描述子,这个工作另辟溪径学习的是匹配. 这个工作我还没有测试过,就先不做评论啦, 但是给出的效果是非常好的, 非常值得一试.Deep Global Registration​openaccess.thecvf.com

Global ICP

Global ICP的缺点就是太慢啦, 很多场景不适用.Go-ICP​ieeexplore.ieee.org

另外该工作也没有做对重合率的鲁棒性做处理. 如果两个点云的重合率很低,该算法也很容易匹配失败.

你可能感兴趣的:(python,点云配准)