目的:
细节:
- 网上搜索了下,17年初的时候基本VIO算法就是MSCKF最完备。github上面有一个非官方的实现,就下下来研究。
- 但是跑kitti的数据都效果很差。debug的时候甚至还查出一些书写错误,比如x写成y。后面看issue,作者也说不算是完成的代码。
- 然后开始在matlab里面根据论文来写。一个一个模块的调试,最后终于跑了起来,虽然效果不是太好,室内100米差5米样子,室外高速2公里差30米样子。主要还是因为对imu和camera系统的特性不熟,参数调得不好吧。
讨论:
- 这里说下我对怎么吸收一份算法代码的想法:
- 下了代码,编译并跑下作者的数据集
- 用自己的数据集,或者其他网上的数据集来跑代码。这里就需要一些数据转换的代码量。并且基本把算法的输入输出弄清楚了。
- 把其他数据里面效果不好的拿出来,一边分析代码流程一边看哪些模块可能影响效果。然后把这些模块非常仔细的理解,微调这些模块看能不能有所改善。
- 在代码中打时间戳,分析代码的耗时瓶颈。
- 把算法一些比较有意义的模块肢解出来:
- 查清这个模块会用的到输入和输出。然后把这个模块变成一个函数。所有无关的数据都去掉。也就是这个模块的输出和输出都要重新定义。以及不需要依赖的代码都要去掉。
- 弄清这个模块的每个细节,跑不同的输入和输出数据,通过微调看能实现什么样的效果。
- 最后收集到自己的代码库中,以后需要实现什么功能的算法的时候就可以随手拿来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)