杂谈琐事

学生时代最后一个寒假、最难忘的一个寒假

作为一名研三狗,今年的寒假必然是短暂的,因为需要疯狂写毕业论文、做实验,而老天似乎和我开了一个玩笑。一场突如其来的疫情,打乱了我的所有计划,假期延长,返校无望。这一切都让原本还没写多少的论文雪上加霜,有一段时间,躺在床上,一直思考自己该怎么完成实验的论文部分,虽然压力很大,但是我还是冷静了下来,并进行了认真的思考。最后,利用网上的开源数据集、ROS中的Gazebo仿真工具和自己录的数据集勉强完成了实验。正是这样的一段经历,让我又有了写博客的动力。我希望通过分享这段时间内自己学习的东西给相同研究方向的同学一点帮助。另外,也是通过这样的一个经历,希望大家吸取我的教训,论文还是早点开始动笔,尤其是实验这一块,因为黑天鹅事件你是无法预测的,只能早做准备。好了,说完这些,就开始杂谈。

谈谈对研究生阶段进行视觉SLAM研究的看法

我先介绍自己的情况吧。我是在大二的时候进入了学校的实验室,进行图像方面的工作。当时的学习内容主要是学习C++以及看懂一代代学长传下来的有关图像方面的代码,算是在图像处理方面刚刚如个门吧。真正接触视觉SLAM是在大四毕设的时候,为什么会有这样的一个课题呢,这就得提到一位在南开的学长了。由于之前根本没有这方面的了解,自己对于这样的研究课题也不知从何入手。在和实验室的一位老师交流后,我关注了博客园的一位博主,半闲居士,也就是大名鼎鼎的高翔博士。在看了他的一起实现RGB-D SLAM系列的博客后,我对视觉SLAM中的主要部分,前端里程计和后端优化有了一定的了解,但是具体到里面的细节肯定是不够理解的。换句话说,我当时对视觉SLAM的认知太浅了,内心想着就这?就这?后来高博发售了第一本关于视觉SLAM方面的参考书,《视觉SLAM十四讲从理论到实践》。我相信这本书是很多同学入门SLAM的必备之选。从我现在的认知来讲,这本书确实写得好,虽然需要一定的理论基础,但是能帮助我对整个SLAM有一定的认知,并且也涉及到代码的编写,起到的帮助还是挺大的。现在应该是已经出到第二版了。就是靠着这本参考书,我磕磕绊绊地写完了自己的本科毕业论文。在该论文中,由于之前我对深度相机比较熟悉,有相关的开发经验,另外相比其他的传感器而言,在SLAM算法设计上,深度相机也是比较简单的,所以我就直接选用了深度相机。本科的毕业论文嘛,更多是复现别人的工作嘛,所以本科阶段的SLAM学习就以最终的毕业论文为结尾。
到了研究生阶段,由于我是保研的,所以导师方面还是实验室里的老师,因此我的研究方向也没有变,还是让我进行视觉SLAM方面的工作。因为经过本科的学习,自己本身对SLAM还挺感兴趣的,所以就决定研究生还继续做这一方面的工作。整个研究生阶段,随着学习的深入,自己对于SLAM的认知也越来越深了,也有了一定的相关的数学基础。所以也开始看一些开源视觉SLAM的论文和代码,跑一些开源的视觉SLAM代码,主要是RGB-D SLAM、ORB-SLAM2和VINS-MONO。当你的学习进入这一阶段时,你会发现还挺孤独的,尤其是在实验室中没有人和你是一个方向时。当你遇到问题时,更多的只能求助于网上的资料,由于在读代码和读论文时,其实更多的博客都是只介绍了整个视觉SLAM系统的主要部分,真正涉及细节的问题,很少博客会提及,所以这对你的学习热情也会是一种打击,自己不会,也没人交流,网上找的资料也不全。所以后面的学习,我都是硬着头皮去啃视觉SLAM部分的每一部分。这边插播一段广告,如果你也遇到了和我一样的问题,可以去看看深蓝学院上的辅导课,虽然是要钱的,但是真的收获还挺多的,我也报过,收获还挺多的,越早报越好,它能更好地帮助你对你研究的东西有一个很清楚的认识。到了研二开题的时候,由于前期的一些研究,我也最终确定了自己的研究课题。后面就主要围绕着我的研究课题进行学习,查阅了很多的文献,复现了一些算法并进行了改进,然后就到了实验部分,收尾呼应一下,然后遇到了今年的新冠肺炎疫情。论文的主体部分都是在家写的,然后实验的话也是利用了ROS中的Gazebo仿真软件和之前采集的仿真数据做的。
所以听完我讲述自己的学习过程,研究生阶段是否选择视觉SLAM作为自己的课题问题的答案很明显了吧。如果你是孤军奋战,我是真的不建议了,哪怕你感兴趣也还是别入坑了,而且从以后的找工作来讲,SLAM方面的工作门槛也越来越高了,真正想去大公司还是有点困难的,所以,同学们你们知道怎么选了吧。

关于移动机器人方面VSLAM研究的一点看法

目前很多VSLAM的研究,都是通用的解决方案,也就是在位姿的自由选择上都是6自由度的,像无人机。而对于一般的移动机器人,比如轮式移动机器人,它只有3个自由度,所以其实可以把现有的视觉SLAM系统中位姿参数化方式修改一下,在定位精度方面会有一定的提升。另外,现在的前端传感器,比如单目、双目、深度相机、IMU和里程计等,应用于移动机器人端时,可能会失效,像IMU传感器的加速度。所以,在研究移动机器人方面的VSLAM时,传感器的选择也是很重要的,一定要根据自己的需要进行实验验证,再确定前端的感知传感器。

后续博客内容预告

填坑Gazebo内仿真

你可能感兴趣的:(杂谈)