自动驾驶学习资源整理

2018/10/20 Create

2019/05/19 First update

2019/08/30 Second update

2019/09/15 Third update
博观而约取,厚积而薄发。这是我很喜欢的一句话。
Coder & Engineer,这是对我的职业目标的另外一种描述。

我的目标是成为自动驾驶系统(软件)工程师。因此,在掌握专业知识的基础上,足够广的知识面、旺盛的好奇心、超快的学习速度才是我一直找的核心竞争力。另外,知识面宽广和专精一处并不是矛盾的事,有自己的专业研究方向不一定意味着把其他领域的路限死。

这篇博客是我两年来在网上搜集到的各种自动驾驶学习资源,内容包括学术论文,书本,开源项目,甚至微信公众号等等等。在学习的过程中,我每次找到好的资源都会高兴一阵子,每次遇到不好的资源半途而废就会不开心。一年下来,去粗取精,大致有以下的结果。

微信公众号

自动驾驶(汽车)类
  • 智车科技 | 从学术界转载较多,眼光总体不错
  • 厚势 | 关注自动驾驶市场新闻,穿插有跟自动驾驶各方面相关的论文,与智车科技有相似之处
  • 智东西 | 我平常很少看这个公众号,但他们做了一系列很棒的公开课,可在里面找到资源
  • Apollo开发者社区 | 有Apollo项目的教程推送
  • 泡泡机器人SLAM | 关注SLAM领域的研究
  • 计算机视觉Life | 主要是围绕视觉的知识,从这点来看,它类似泡泡机器人,但更杂一些
  • 点云PCL | 如名字所述,主要是关于激光雷达LIDAR点云处理的内容
  • 机器视觉 | 排版垃圾,但是内容丰富接地气,包含各种有关机器视觉学习的讨论
  • 睿慕课 | 有比较多机器人相关的课程
  • 新智驾 | 偏重于自动驾驶市场新闻
  • 高工智能汽车 | 偏重于自动驾驶市场新闻
  • 自动驾驶说 | 偏重于自动驾驶产品设计,大概是因为负责运营者是一位产品经理
  • 佐思汽车研究 | 偶尔会有内容质量比较高的咨询报告放出
  • 同济智能汽车研究所 | 主要内容是论文翻译,翻译质量还算可以保证
    人工智能类
  • 新智元 | 包含人工智能的市场信息,基础知识,论文研读均有涉猎
  • 量子位 | 定位与新智元基本相似
  • 机器之心 | 更偏重于研究前沿,学习资源,这是质量最高的一个人工智能公众号
  • 七月在线实验室 | 偏向于人工智能学习资源以及开源收集和,同时关注具体的就业面试问题
  • SIGAI | 提供的推文内容是比较踏实的
    编程类
  • 五分钟学算法 | 我最喜欢的算法公众号,作者是真正有思考和总结的,总结的很好,思考也深入
  • labulalong | 风格跟上面的五分钟学算法差不多
  • 花花酱LeetCode | 如名字所述,一个总结LeetCode题目的网站
  • LintCode领扣 | 如名所示
  • 程序员乔戈里 | 很少涉及具体知识了,但讲了一些其他公众号很少讲的大实话
其他
  • 36氪 | 关注世界动态
  • CVer | 内容杂但是有可取之处

书本

  • 《The DARPA Urban Challenge》 | 看自动驾驶相关论文时,发现他们的文献综述大多都在讲DARPA,应该都是取自这本书的各种论文。这本书由参与2009城市DARPA挑战赛的队伍所写论文集合而成,相当于创世纪著作了。在新技术层出不穷的当下,这本书也依然非常有价值。
  • 《第一本无人驾驶书》 | 作为入门是很好的书,覆盖了自动驾驶研究领域的方方面面,深度虽不足,但广度足够,可以阅读此书以获得一个总体认识。
  • 《HandBook of Intelligent Vehicles》 | 如你所见,这是一本手册,不可能阅读完的,近乎1700页的论文合集,主要由几个section组成,每个section关注自动驾驶汽车的一个方面,像是《第一本无人驾驶书》的全面增强版。
  • 《Probabilistic Robotics 概率机器人》 | 机器人领域的经典著作,SLAM研究的经典与权威
  • 《2017中国自动驾驶产业研究报告》 | 准确来说,这是一篇研究报告,对当前国内外自动驾驶市场做了一个非常细致的研究,对把握当前大局很有用处。
  • 《无人驾驶车辆智能行为及其测试与评价》 | 一本偏向于自动驾驶测试的书,属于这个细分领域内比较好的科普书。
  • 与计算机和控制以及动力学相关的书籍在这边不专门列出,感兴趣的可以联系我再做讨论

自动驾驶相关学术会议

这是论文的入口了,日常最新文章和学术资源可以在这里寻找。

机器人领域
  • IFRR RSS | 文章理论创新性,实验验证完备性要求都很高
  • IROS | 规模(千人左右)和影响力仅次于ICRA的顶级国际会议
  • ICRA | 该领域规模(千人以上)和影响力最大的顶级国际会议。
    计算机视觉领域
  • CVPR | 世界顶级的计算机视觉会议,被认为有着很强的影响力和很高的排名
  • ICCV | 文录用率非常低,是三大会议中公认级别最高的 (另外两个是CVPR和ECCV)
  • ECCV | 三大顶会之一
    自动驾驶领域
  • IEEE IV | 总感觉质量稍微差了那么一点意思
  • ITSC | IEEE智能交通系统学会的年度旗舰会议,偏向于交通场景的研究
  • ICEVS
    人工智能会议
  • AAAI
  • IJCAI

仿真/开发平台

商业仿真平台
  • ROS
    不多说
  • Prescan
    在国内的商业化做的是最好的
  • VTD(virtual test drive)
    在世界层面想多更受欢迎一些
  • GaiA
    初创公司做的仿真软件,在传感器建模方面表现良好
  • 51VR
    以视觉起价,因而环境建模有自己的独到之处
  • Panosim
    邓主导的平台,具体效果就不太清楚了
开源仿真平台
  • Carla
    更新迭代快,功能齐全,接口丰富。偶尔还有控制人的肢体动作这样令人惊喜的功能。它是最能满足基本开发者需求的仿真软件。
  • Arisim
    是github上标星数目最多的开源仿真软件,和Carla一样,它也是基于Unreal做的。由于是微软开发的软件,所以对windows的支持力度更大一些。它的star数目自然是有理由的,丰富详细的文档,足够使用的API,稳定的性能表现。唯一令人遗憾的是,它已经停止了更新,不会再前进了。
  • Apollo
    Apollo 的仿真平台主要是面向决策规划系统的,它有预置的场景,开发者可以更换apollo算法中的特定模块,再结合场景完成仿真,从而达到评价系统效果的功用。
  • lgsvl
    一个基于Unity的自动驾驶仿真器,我曾经写过一篇Unity自动驾驶仿真,现在来看,这个模拟器是它的集大成者。另外,这个模拟器还提供对Apollo5.0、Apollo3.5、Autoware的支持,这是它最大的优势。它连接仿真器和被测算法的方式也是我们可以学习的。另外,lg在开发软件之前,曾在ROS的官方论坛区提出过一个“你理想中的仿真器应该有怎样的功能”这样一个问题,下面的讨论热烈且深入。这是一个很有心的软件。

编程能力

语言

语言学习有一点很重要,其一是一边看书一边实际敲代码,另外就是要实际动手项目,而不是一直在语法上打转,那样就是陷入陷阱中了。关于语言学习,可以参考孟岩的博客。除了这些,其他实际入门时,可参考如下参考资料。另外,在学习语言时,由浅到深,稳扎稳打,不用给自己设限。想真正精通一门语言需要好多年,不要只学了一些基础语法就停滞不前了。

  • C++,从《essential C++》读起,之后借助各方大佬的博客,对于细节查询可以去看《C++ Primer Plus ++》,当然这是我的个人路线,网上关于C++学习有很多好的方案。
  • Python,确实比较容易,在掌握基本语法后,主要是去看基于Python提供各种的库、模块、框架,这一块才是重点。另外,要好好利用Python的优势,关于这一点,可以去看《写好Python代码的91个建议》,另外,要写出Pythonic的代码,可参考《Python Cookbook》
  • Java,包括go,php等其他各种语言,不要畏惧语言。除了C++工程师,对于其他大部分人来说,语言是我们的工具,是我们使用语言实现想法,完成工程的实现,而不是他们使用我们。
算法和数据结构

这部分的学习资源,重质不重量,求精不求多,我这里只是示例性的列出了精品资源的一部分,这部分的学习也是近乎于无穷无尽的,还有很多进阶之路。但入门的话,可以考虑先把这两个搞定。

  • 算法。斯坦福的算法第四讲,是最好的算法学习资源。书本、教程、视频、习题一应俱全。书本里在讲解算法时都用到了易学的配图,这一系列教程采用的语言是java,学习起来相对较简单,且在学习这门语言的过程中可以掌握面向对象编程的精髓。具体介绍,请参考算法第四版
  • 数据结构。清华邓俊辉数据结构。一个资源足够了。
系统

想要做开发还是要使用Linux系统,原因不再赘述。Ubuntu作为Linux一个发行版相对其他版本上手会更容易些,资源整理如下表。

计算机网络
  • 《TCP/IP网络编程》
刷题

刷题可以在短期内提高代码能力。可参考

数学知识

  • 线性代数(矩阵论),参照本博客,《线性代数学习》
  • 高等数学(微积分),只需要掌握基础内容即可,youtube上的3blue1brown是非常不错的。
  • 统计学。使用《统计学习方法—李航》密码:adep
  • 优化相关(凸优化)。当然就是斯坦福的凸优化,但是这块儿内容不建议直接学,可以在用到时候再进行学习。

机器学习

对于这块儿内容,网上有无穷多的总结资料了,总结下来,无非是那几本书,那几个视频,那几个框架而已。我一直感觉,普通人研究机器学习的速度赶不上顶级公司的开源速度。学习的时候不要一直自己疯狂造轮子。

0%