Branch and Bound(BnB)算法及其在点云配准上的应用

本文介绍了点云配准中的关键算法BnB(分支定界),它通过构建搜索树和上下界优化来寻找全局最优解。BnB在点云配准的应用,如Olsson的早期工作和Go-ICP算法,能有效避免局部最优。Go-ICP结合ICP实现全局优化,提高了配准的准确性。然而,由于分支判断,其收敛速度可能较慢。未来研究将继续探索更高效的配准方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前言

点云配准在点云数据处理应用领域,一直是一个热点问题,包括TPAMI,CVPR,ICCV等顶刊顶会,每年都会有相应的工作被提出。众所周知,ICP算法在对于解决点云配准问题上,应用最广。当然ICP算法本身也有显著的问题,如局部最优,尺度敏感,对局部到全局的对应缺少鲁棒性等。很多方法尝试基于ICP算法,提出改进,以解决上述问题,如NDT,PFH等等。近年来,一些工作利用BnB与ICP的结合构建配准算法框架,变成一个流行趋势。BnB可以被理解为一个基于上下定界的优化搜索问题,通过BnB,能够迭代的寻找到更加准确的点云变换矩阵。本文就来展开介绍下BnB算法及其在点云配准方面的应用。

2. BnB(分支定界)算法介绍

部分内容来自:

https://www.cnblogs.com/dengfaheng/p/11225612.html

https://www.jianshu.com/p/c738c8262087

BnB算法用最简单的方法来理解,就是通过将一个复杂的问题,通过划定小的问题域来求解,进而降低求解难度的方法。这些小的问题域被整合在一个搜索树结构中,通过求解问题的上下界,实现对最优解的搜索,直到全局收敛。整个过程可以被看作是有约束的枚举过程。

BnB算法只关心目标函数的极值。

BnB算法如果在一个分支上,所获得理论最有解差于其他分支,则算法将舍弃该分支,实现枚举约束。

一个实例:整数规划

可以设置当前解为负无穷,部分文章会建议设置一个随机值。

通过线性松弛求得两个子问题的upper bound为Z_LP1 = 12.75,Z_LP2 = 12.2,优于当前解,继续搜索。

问题3得不到解,被放弃。问题4满足约束,更新最优解为10。问题5的upper bound为11.87, 大于当前最优,可继续搜索。问题6的upper bound为9,小于当前最有,丢弃。之后我们搜索问题5。

最后我们基于问题五,得到一个新的解,但是比当前最有解差,所有得到全局最优解为10。

我们可以看到,根据upper bound的估计,我们删除了很多不必要的计算。因此BnB最重要的问题就是如何估计upper bound(有些问题可能会有 lower bound)以及如何基于当前节点建立子节点进行搜索。

3. BnB算法在点云配准中的应用

较早的提出将BnB用在配准问题的是Olsson在2008年的工作 [Olsson2008]。该方法能够使用点对点,点对线和点对面的对应,来解决不同姿态下的配准问题。

另外一个非常成功的应用就是Go-ICP算法 [Yang 2015]。Go-ICP算法从全局优化的角度来合理规划不同阶段的ICP更新任务,其最大优点就是尽可能减少了局部最优的情况,算法伪代码如下:

Go-ICP:全局优化ICP配准方法:

Result of GoICP:

作者同时给出了算法实现:https://github.com/yangjiaolong/Go-ICP.

我在更多的实验数据上做了测试,发现收敛速度还是有一点慢。主要原因是BnB毕竟还是要做很多的分支判断,仅仅是对穷举的一种变相优化。

未来我还会探索更多有效率的配准方法。

参考文献:

[Kahl 2008]C. Olsson, F. Kahl, M. Oskarsson. Branch-and-bound methods for euclidean registration problems[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 31(5): 783-794.

[Yang 2016] J. Yang, H. Li, D. Campbell, et al. Go-ICP: A globally optimal solution to 3D ICP point-set registration[J]. IEEE transactions on pattern analysis and machine intelligence, 2016, 38(11): 2241-2254.

三维点云技术在计算机视觉和机器人学中扮演着关键角色,尤其是在SLAM(Simultaneous Localization and Mapping,即同时定位与地图构建)过程中,有效地解决点云问题至关重要。为了提升效率和确性,可以采用快速分支定界(Branch and Bound, BnB算法,该算法能够帮助我们在全局范围内寻找到最佳的参数。 参考资源链接:[快速BnB算法:三维点云的平移-旋转分离优化](https://wenku.csdn.net/doc/1v5tvykryk?spm=1055.2569.3001.10343) 首先,BnB算法在处理六自由度(SE(3)空间,包含三维平移和三维旋转)参数空间优化问题时,能够有效地分解成平移搜索和旋转搜索两个相对独立的过程。通过这种方法,可以先固定旋转部分,单独对平移参数进行搜索优化。在此过程中,可以使用快速BnB算法来加速搜索过程,该算法通过定义一个代价函数来评价不同平移参数带来的效果,并以此来剪枝搜索树,从而避免不必要的搜索,减少计算量。 在平移参数优化完成后,接下来的挑战是如何高效地找到最佳的旋转参数。此时,可以引入旋转不变特征来指导旋转搜索。旋转不变特征是指在三维空间中,即使在不同的旋转下,其特征值仍然保持不变的特征。利用这些特征可以设计旋转搜索策略,从而将旋转搜索限定在一个较小的范围内,从而进一步提升搜索效率。 具体实现时,可以将点云分割成若干个小块,对每个小块分别进行旋转不变特征的计算和匹,之后再通过迭代优化的方式,逐步逼近全局最优解。在这整个过程中,需要合理设计代价函数,使得它能够确反映点云的质量,同时也要优化算法的搜索策略,以适应实际应用场景中的性能需求。 综上所述,通过将BnB算法应用于平移搜索,并结合旋转不变特征,可以在三维点云中实现高效的全局优化。这不仅提升了算法的理论效率,也在实际应用中显示出了优越的性能。为了更深入理解该方法的具体实现细节和应用案例,建议参考《快速BnB算法:三维点云的平移-旋转分离优化》一文,该文详细介绍了算法的理论基础和实际应用,是解决三维点云问题的宝贵资源。 参考资源链接:[快速BnB算法:三维点云的平移-旋转分离优化](https://wenku.csdn.net/doc/1v5tvykryk?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿老甘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值