eepfis
泡芙2级
泡芙2级
  • UID145
  • 粉丝1
  • 关注0
  • 发帖数4
阅读:503回复:2

ORB_SLAM2 单目初始化 bundle adjustment

楼主#
更多 发布于:2020-12-16 20:07
在ORB SLAM2中,单目初始化时,在选定两个帧之后,三角化出路标点之后,又进行了一次全局BA。但是这时候只有两个帧,而且所有的路标点都是根据这两个帧三角化得到的,每个路标点只有两个帧观测,这时候做BA有什么作用吗?
相当于,如果只有两个相邻的帧,并且根据这两个帧进行特征点匹配并三角化路标点,这时候对路标点和两个帧之间的R、t进行BA优化,这种情况路标点没有其他的观测量,BA还有意义吗?

最新喜欢:

lyhuanglyhuan...
DreamWaterPro
泡芙6级
泡芙6级
  • UID705
  • 粉丝5
  • 关注2
  • 发帖数28
  • 社区居民
  • 忠实会员
沙发#
发布于:2020-12-18 09:27
有作用,三角化得到的路标点位置并不可靠,而且只考虑单个点的信息;甚至有些特征点的匹配就是错的,三角化结果没有意义,但是你不知道它是对的还是错的。

Full BA通过调节相机位姿和路标点位置最小化路标点的重投影误差,可以认为是从更加全局的角度上取一个尽可能让各个路标点重投影误差都小的优化结果。为了整体上取得比较小的重投影误差,必要时会牺牲个别路标点,这些点的重投影误差会非常大,进而可以被视做为outlier
十六进制带我飞。
eepfis
泡芙2级
泡芙2级
  • UID145
  • 粉丝1
  • 关注0
  • 发帖数4
板凳#
发布于:2020-12-19 23:27
可是在初始化的时候,每一个路标点除了第0帧的参考帧和第一帧之外,也没有其他帧的观测结果了,即使是第0帧和第一帧的匹配错了,那么在BA的时候也没有办法再判断是否为误匹配。我对BA的理解是,当路标点被两个以上的帧观测到时,通过BA能够使得这个路标点在这些帧上的重投影的误差的平方和最小。当路标点只有被两帧观测到时,路标点就是根据这两帧三角化得到的,那么还用这两个帧和这个路标点去做BA并不能提高精度。不知道是不是我对BA的理解不对还是对ORB SLAM2的初始化的流程理解不对?
游客