felixchenfy / Monocular-Visual-Odometry

A simple monocular visual odometry (part of vSLAM) by ORB keypoints with initialization, tracking, local map and bundle adjustment. (WARNING: Hi, I'm sorry that this project is tuned for course demo, not for real world applications !!!)
MIT License
398 stars 91 forks source link

实时摄像头跑MVO #3

Closed ouyangandy closed 5 years ago

ouyangandy commented 5 years ago

非常感谢您开源您写的MVO的代码,我从您代码中学到了很多。我目前尝试使用实时摄像头跑您的程序,可是遇到了一些障碍,您尝试过使用实时摄像头跑您的程序吗?

felixchenfy commented 5 years ago

您好,我做的这个项目效果很不好,我试了TUM数据集,根本跑步起来. 我最后是选了一个视频质量很高\特征点很充足的视频,跑了一下算法,才得到readme里的效果图. 所以我的代码是没法在真实环境里跑的... 我在readme里也说明了这一点. 不好意思了啊

ouyangandy commented 5 years ago

博主,我也比较困惑,为什么在真实数据集上效果很不好,在模拟数据集上反而不错,从理论上我又没有找到什么不对的地方。 还有就是,博主,你会继续维护这个代码吗?

felixchenfy commented 5 years ago

@ouyangandy 您好

  1. 为什么效果差 我觉得效果差的原因是: 正确匹配的特征点的数量太少了.具体又有两个子原因: (1). 产生的特征点分布不均: 应该写一个算法,在特征点少的部分提取更多的特征点. (2). 匹配的算法需要改进: 我目前是直接将图片-图片,或者图片-地图点的特征点做匹配; 更好的做法是,根据几何信息, 在特定区域(极线附近;3D投影到2D点后的附近)搜索匹配点,这样就能大大增加匹配点的数量. 这两个做法应该ORB-SLAM里都有做. 我是刚学slam,分析的不一定对...

  2. 我还会继续维护吗 我目前在实习, 估计下学期10~11月份的时候会做下改进: (1) 现在的代码有些地方写的不规范,我要把他们改进下. (2) 以及我以上说的特征点匹配的问题,我也是非常想改进一下的.

谢谢!加油