Lidar and camera 数据融合障碍物感知学习笔记开篇

Lidar and camera 数据融合障碍物感知学习笔记

入坑自动驾驶一年多,对整个自动驾驶技术框架差不多有一个比较系统的认知。在一年多里学习了很多入门自动驾驶的基础知识和基本的技能。看过不少的论文,CSND技术大牛的博客、以及知乎技术博文、微信技术公众号、知乎公众号等。研究生开始的一年本来是确定了研究方向,接着上上界师兄论文做局部路径规划方面的研究,但随着知识的积累慢慢发现了自己真正想做的方向。现在正式开始做基于Lidar与camera融合的障碍物感知工作。具体来说,涉及到激光雷达点云处理相关算法、图像识别算法、传感器融合算法、传感器的联合标定工作等。这个课题虽然是一个研究性的问题,涉及了很多高大上的算法,但是要想入门首先应该把它当做一个工程问题来看,如果你每天都停留在各种高大上论文,你永远无法造出一辆可以自己跑的车。因而,我们不仅要动脑,更因该把你的双手挥舞在键盘上,把你的想法一个一个通过代码实现出来。既然提到写代码,个人观点:我是车辆工程专业出身的,深知咱们车辆工程的健儿代码能力与计算机专业的科班出身的存在着一道巨大的鸿沟,当然也有很强的大神,我仅仅指是平均水平,大神勿怪。既然存在差距,把差距拉回来就是了,写代码这个东西就是熟能生巧的事情。多练习总是能够进步的。因此,我开此系列博客,记录自己的学习的过程,我将会把相关的技术一步步coding出来,既勉励自己的进步,也希望能给我后面想入坑这个领域的学弟学妹们一点参考。基本的知识库:

  1. PCL/OPENCV 这个是一个开源的点云数据处理库,如果要实现激光雷达点云处理相关算法,这是一个最基本需求,它包含很多点云处理的基本算法和高级算法,是入门的最好的教程。
    OPENCV就不多说了,我也还没学多少,但对于学习图像处理这个玩意也是必不可少;
  2. ROS 早期百度开源无人车框架apollo、日本的autoware都是基于这个平台开发的;
  3. 卡尔曼滤波算法 无人驾驶运用最多的跟踪预测算法、无人车的定位,运动障碍物的跟踪,多传感器的融合等都会使用到这个算法,或该算法的改良版,扩展卡尔曼滤波,无损卡尔曼滤波等 ;
  4. C++/python编程能力 因为ROS主要是基于C++/python开发的,因而学习C++应该是最好的选择(个人观点大神勿喷);
  5. 矩阵运算/概率统计/车辆动力学 是不是以前跟我一样觉得学这些数学没什么毛用,现在可以很负责的告诉你可以在无人驾驶方向使用、不仅可以用,而且可好用了。

如果满足以上的基本的条件,你可以正式起航了:

  1. Lidar and camera 联合标定 这是二者做传感器融合的基本条件,如果你不具备这些传感器硬件条件,你可以去开源的数据网站下载公开的数据包,这些开源数据已经得到了二者数据的标定结果。数据最好的ROSbag格式的,什么是ROSbag你学习了ROS就知道了,另外有很多公开的数据并不是ROSbag格式的,不要慌,只用找一个数据转换的脚本(有很多开源数据会附带这个工具的)把格式转换成bag就行了。
  2. 环境感知算法,数据融合算法以上条件都满足了,可以正式开发你的算法啦,在这之前你可以参考类似autoware、apollo等开源项目的算法、参考这些开源项目具有很强的实践性,论文往往更看重理论,实现的技术细节很难看到。

差不多到这里了,明天开始正式开工。如果你不幸也入坑无人驾驶,欢迎留言一起交流交流。最后送给自己一句话,今天在公交车听到的:
If you are breathing,it is not too late,get up and get going
这句话也献给学习的道路上被虐的体无完肤,依旧乐此不疲的你。

你可能感兴趣的:(Lidar and camera 数据融合障碍物感知学习笔记开篇)