jypjypjypjyp / lvio_fusion

Lvio-Fusion: A Self-adaptive Multi-sensor Fusion SLAM Framework Using Actor-critic Method (IROS 2021)
246 stars 50 forks source link

对于实验效果的疑问 #6

Closed xuwuzhou closed 3 years ago

xuwuzhou commented 3 years ago

如果仅仅使用camera+IMU+lidar, 最终的效果不如lidar里程计(甚至也没有明显的比vins有优势),那么前端这三个传感器融合的生成的里程计的意义是什么呢,后段回环用到的也是视觉回环加上gps,换句话说就是lidar的加入引起了前端里程计性能的下降,后段回环也没有用到lidar,那么加入他的意义在于什么呢

jypjypjypjyp commented 3 years ago

首先,论文给出结果,在KITTI中要比LIO-SAM效果好,LIO-SAM在部分数据集上就完全飘掉。并不是“效果不如Lidar里程计”(LIO-SAM是比较新的Lidar里程计); 其次,论文的主要议题并不在比拼精度上,而是在多源融合,自适应方面。 最后,论文所提出的工作并不完美,当然有其他更好更强的工作。

xuwuzhou commented 3 years ago

抱歉,我的意思不是批评这个工作,首先我很佩服这份工作,因为这个工作也是我想做的,但是因为工作量太大,我目前只实现到了激光和视觉的前端里程计的联合优化,但是从我自己的实验结果来看,这两个传感器放在一起联合优化得出的位姿,大部分都不如激光里程计的结果,所以我对前端里程计多残差联合优化是否能起到作用感到怀疑。

在跑了lvio这个demo以后,如果是加入GPS校准的情况下,位姿精度确实很高,但是如果去掉GPS,得出的位姿结果确实不如我之前测试FLOAM或者ALOAM的结果,也就是说在这份工作中,如果只是激光传感器加视觉传感器加惯性机进行前端里程计的融合,最终生成的位姿是不太好的(这个问题和我自己实验遇到的问题很像)

所以我是想知道激光和视觉的残差联合优化是否真的能够最终成功,不知道作者是怎么看待这个问题

jypjypjypjyp commented 3 years ago

我激光部分使用的是由Lego-Loam改进并以关键帧(大概一秒三帧,在汽车上基本上帧与帧距离5m)为单位来优化,并且没有加入Lego/Aloam等的全局优化部分,最终精度不如纯激光项目也是可以理解的,因为只占用了更少的算力。 但不代表激光视觉融合没有意义。视觉和激光有不完全相同的适用场景,视觉无法应对晚上,(loam系列的)激光算法需要依赖场景中线面特征,并且存在退化的情况。而且多模态信息除了精度,在语义等其他应用上更具发展空间

xuwuzhou commented 3 years ago

好的,谢谢,另外阅读lvio里程计残差计算部分的代码(应该是environment.cpp的optimize()函数吧),我发现在lvio中,是先优化视觉的残差,再优化激光的残差,这感觉并不是真正意义上的多残差联合优化。

jypjypjypjyp commented 3 years ago

激光优化有视觉的先验参与。 ceres::CostFunction *cost_function = PoseErrorYXY::Create(para, frame->features_left.size() * frame->weights.visual); 当然要把它们放在一起优化更好。

xuwuzhou commented 3 years ago

好的,谢谢解答