Apollo自动驾驶教程学习笔记-Apollo感知之旅3-3

视频链接:http://bit.baidu.com/Course/detail/id/289.html http://bit.baidu.com/Course/detail/id/290.html
讲师:夏添 Apollo主任架构师

感知算法

简单列一下这一节内容的主要章节,这一集视频有1个小时,内容很丰富,夏添老师也是我看了这么多集课程后感觉讲解的最好的一位。

  • Lidar感知:
    • 启发式方式:Ncut
    • DL方式:CNNSeg
  • 视觉感知:
    • DL检测
    • 跟踪
    • 红绿灯识别
  • Radar感知
  • 超声波感知

Lidar感知

激光雷达采集到的是点云信息,apollo无人车上使用的是64线激光雷达,转速是10HZ,所以大概一帧点云能够采集几十万个点,这些点需要经过算法,最后估计出道路上的障碍物,包括类别、朝向、速度等。
其中算法比较核心的一个工作是点云分割。

启发式方式

基于一个假设,就是:空间平滑性假设,即认为在空间上连续的点应该属于一个障碍物(其实我认为这个假设本身就已经不完全成立,从而限制了算法的普遍适用性)。
然后将点云构建成Graph,比如使用KNN来划分Graph,Graph的组成包括点、线和权重,划分成cluster,可以认为每个cluster是一个障碍物。
之后可能还会有一个异常过滤,最后得到估计结果。
该方法的优点是很容易解释,进而可以通过解释来更新算法。
该方法的缺点是模型相对简单,难以适应复杂的道路情况,对于像草丛、防护栏这种特别的case很难区分。
核心原因是缺少语义级别的信息。

DL方式

深度学习算法是采用数据驱动的方法,替代掉由人来标定特征的方法,采用机器来标定,这样提取的信息会更加丰富和有效。apollo无人车项目上开源的一个算法是CNNSeg,这个算法是2015年百度实验室发表的论文中发明的算法。采用CNN来提取特征信息。
DL方式能够在一个更加全局的角度来利用数据提取信息,来解决点云分割问题。
通过大量数据来训练模型,这需要去真实的采集环境信息。

视觉感知

视觉感知是在视觉ADAS发展而来的,提到了一家公司叫mobileye,做ADAS很厉害。
然而,视觉感知相对于ADAS来说也有特殊之处,DL在视觉感知中扮演重要作用,视觉感知是DL加后处理的算法组合,这需要对车载计算硬件进行升级,对数据的需求也大,而且需要评估如何保证车辆安全性。
算法相比较ADAS的特点:

  • 无人车视觉感知是3D的,ADAS是2D的
  • 无人车视觉感知是环视,ADAS是前向
  • 无人车视觉感知是感知、定位、和地图的技术融合

视觉检测

现在的检测主要是在CV里做,而不是在AD里做,传统的检测更宽泛,但在自动驾驶技术中,是有很多内在约束的,比如周围环境的状态、尺寸、包含物体的特征(主要是车、路和路边的场景)。
检测需要输出信息来辅助后处理,是一个持续的过程,帧连贯,需要考虑历史帧。
整个感知的过程分为:环境信息->检测->2D到3D->追踪->位置速度等信息,这样一个过程,或者也有不到3D,2D直接跟踪的过程。之前CNN只负责检测工作,现在后边的过程也开始用CNN做。

CNN分割

与检测相区别的一点是,对物体不同粒度的差别,分割的粒度更粗,而方法是类似的。

  1. 一个应用是场景分割,通过Lidar点云和图像分割相结合的方式做数据融合。
  2. 还有区分可行驶区域,障碍物互补,区分非结构化道路与结构化道路。
  3. 还有是车道线区分(可以用检测或分割来做),遮挡的车道线可以通过DL学习出来,车道线要做非线性拟合,求出方程,最后用到3D模型中或者是给PNC。

后处理

这块讲解的特别详细。

  1. 2D到3D的几何计算
  • 相机Pose的影响,因为车辆会抖动,所以相机pose实际上是会变化的,这个对图像有一定影响,需要实时的估计相机的pose
  • 接地点识别、2D框(障碍物最小外框),绝对尺寸(障碍物固定的尺寸大小)
  • 稳定性(帧与帧之间的平滑性,避免突变)
  1. 时序信息计算:跟踪
  • 相机的帧率不能太低,一般要大于15fps,太低很难跟踪
  • 不能太耗时,跟踪每一个物体,所以跟踪阶段的总时间是每个的时间乘物体总数,所以要轻量化(学术上很多跟踪算法不能用,因为比较耗时)
  • 利用CNN模型的特征,利用CNN输出的类别的结果做跟踪
  1. 多相机的环视融合
  • 环视(多相机)布局很重要,影响环视融合
  • 需要做好冗余区域覆盖,否则识别会困难

最后就是,前边3个模块密不可分

感知红绿灯

要求在距离停止线50m到-2m距离内,准确感知到红绿灯,主要要点:

  • 绿灯的识别准确度要很高
  • 各种场景都要能正常工作(雨天雾天之类)
  • 各种红绿灯都要能兼容(红绿灯样式非常多)

现有的技术:

  • camera的参数要好,分辨率高,双camera(长短焦搭配)
  • 高精地图的交互(提高鲁棒性,现在还是很依赖于高精地图)
  • 深度学习,主要用于颜色判断(这个模块是深度学习用在apollo智能驾驶上的第一个模块,实际效果可以)

感知红绿灯实际上是一个很复杂的工作。

Radar和超声波

最后这块,用视频和照片来展示。

最后

老师留下开放性问题,未来无人驾驶的感知传感器,Lidar和camera更倾向于哪个?我认为未来随着算法技术的发展,camera会更加重要,但是Lidar也不会被取代,因为camera无法做到lidar的测距精度,虽然我们人类开车不需要很精确的距离感知,但是对于无人车不一样,因为无人驾驶需要很多的信息来辅助,而且很多信息也是非常精确的,比如高精地图这些,所以lidar依然在测距这块无法被替代。同时,也很憧憬camera这块视觉的技术能更加进步,视觉感知能够达到或超过人类的水平,这个可能会在很长时间会是无人驾驶技术发展的一个瓶颈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章