记录最近看文章以及接触SLAM以来的心路历程

好久没写文章了,研二被老师分到做vslam方向,跟研一自己学的数据挖掘大相径庭。还记得那时候研一刚开学,只是想找点东西做,找点不再是嵌入式的东西做,不想再软硬件都自己做了,然后网上找啊找,说python挺好的,说数据挖掘还挺好的。调研了一会就开始入坑,先学python基础知识,再看《机器学习实战》,再看《西瓜书》,那时候给自己安排了一串的学习任务和学习目标,中间寒假殷老师还给了个分类的任务做,因为学校大多数用的matlab,所以我也去学了matlab,后面用了一下svm,记得准确率是45%,这个应该算是我第一个小的工程吧~只不过后来老师好像更喜欢学硕的同学,我就懒得“拉拢关系”“勤奋汇报”了,后面这项工作也不了了之,我还是继续自己的学习路线。学习了python基础知识,机器学习实战在跑的同时,后面去学了数据挖掘在python中比较常用的的几个包(sklearn、numpy、matplotlib、scipy),一开始学也是很不知所措的,迷迷糊糊的,后面用的多了,尤其是在看别人代码和参加比赛的时候,对这几个包的认识更近了一步。当然啦,这项工作还一直持续到我研一暑假未8月底~,只不过中间有些断断续续,因为毕竟要做老师给的方向。除了这个,研一期末到结束的那段时间吧数据结构过了一边~

对slam我是从6月底入的门,自然是看《视觉slam十四讲》啦,看过一遍,把例程跑一下,编译一下,熟悉这一套流程(CMakeLists的编写啊,编译过程啊什么的),过了一遍之后就接触到了ROS,是中科院开源的一个仿真项目,通过这个项目,自己就开始了ROS的相关学习,再后面(8月中,因为8月初参加了个数据挖掘的比赛)就开始看ORB-SLAM论文了(代码是很早就在看的了,大概7月初就有接触,还记得那时候把C++ Primer Plus这本书都看到了11章,把类的知识刚好看完,等于回顾了一遍c++,与此同时,每天还做一道leetcode的题目呢,哈哈)后面实验室放假,还记得放假前跟老师说我不做dl+slam方向的了,还是做VIO这方面的吧,老师拗不过我,也没说啥。后面放假回来,觉得如果只是为了找工作的需要的话,VIO其实在后面临近研二结束再去实现一下,把原理弄懂,其实就差不多了吧。所以那天早上就搜了一下DL+SLAM方向的文章,因为研一学过机器学习,最优化的缘故,特别喜欢,觉得终于可以用到之前学得东西了,然后就一直找文章看。

对于DL+SLAM,我所看到的有两大类,这方向主要以深度学习为主,按学习类型分类,supervised&unsupervised。显然,supervised优点明显,简单。缺点也很明显,要求有label,且泛化能力感人。。以depth predict任务来说,给0~10m的数据集去train,后面如果应用在0~70m的场景下,肯定会死的很惨,所以我喜欢unsupervised,也被unsupervised吸引住了,觉得怎么可能不用给出GROUND TRUTH就可以学习到深度信息,怎么学的,太多的不懂驱使着我想要看懂《Unsupervised Learning of Depth and Ego-Motion from Video》这篇文章,但是遇到不懂的怎么办?老师也不是做这方向的,实验室也没人做这方向的,咋搞??后面实在不懂,觉得没理由是无监督吧,无监督怎么学习啊,硬着头皮去问论文作者,才发现,原来这里的无监督是说没有用到GROUND TRUTH而已,不是没有用到其他的深度信息,或者其他信息。但是还记得,那时候得到CVPR的oral文章的作者的邮件回复,很激动,让我很是向往博士。后面就一直在读文章,读得文章多了看得博客也多了,也想着自己翻译一下,或者摘要几篇出来写个blog,但是一是怕自己理解不到位,二是没有那个冲劲哈哈,今天也是在下载给DSO用的数据集的时候,有这个时间,有这个闲适,就顺便写下接触SLAM以来自己的心路历程,再稍微扩展一下,写到研一的那会~~

猜你喜欢

转载自blog.csdn.net/qq_24509229/article/details/82849519