视频链接: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分割
与检测相区别的一点是,对物体不同粒度的差别,分割的粒度更粗,而方法是类似的。
- 一个应用是场景分割,通过Lidar点云和图像分割相结合的方式做数据融合。
- 还有区分可行驶区域,障碍物互补,区分非结构化道路与结构化道路。
- 还有是车道线区分(可以用检测或分割来做),遮挡的车道线可以通过DL学习出来,车道线要做非线性拟合,求出方程,最后用到3D模型中或者是给PNC。
后处理
这块讲解的特别详细。
- 2D到3D的几何计算
- 相机Pose的影响,因为车辆会抖动,所以相机pose实际上是会变化的,这个对图像有一定影响,需要实时的估计相机的pose
- 接地点识别、2D框(障碍物最小外框),绝对尺寸(障碍物固定的尺寸大小)
- 稳定性(帧与帧之间的平滑性,避免突变)
- 时序信息计算:跟踪
- 相机的帧率不能太低,一般要大于15fps,太低很难跟踪
- 不能太耗时,跟踪每一个物体,所以跟踪阶段的总时间是每个的时间乘物体总数,所以要轻量化(学术上很多跟踪算法不能用,因为比较耗时)
- 利用CNN模型的特征,利用CNN输出的类别的结果做跟踪
- 多相机的环视融合
- 环视(多相机)布局很重要,影响环视融合
- 需要做好冗余区域覆盖,否则识别会困难
最后就是,前边3个模块密不可分
感知红绿灯
要求在距离停止线50m到-2m距离内,准确感知到红绿灯,主要要点:
- 绿灯的识别准确度要很高
- 各种场景都要能正常工作(雨天雾天之类)
- 各种红绿灯都要能兼容(红绿灯样式非常多)
现有的技术:
- camera的参数要好,分辨率高,双camera(长短焦搭配)
- 高精地图的交互(提高鲁棒性,现在还是很依赖于高精地图)
- 深度学习,主要用于颜色判断(这个模块是深度学习用在apollo智能驾驶上的第一个模块,实际效果可以)
感知红绿灯实际上是一个很复杂的工作。
Radar和超声波
最后这块,用视频和照片来展示。
最后
老师留下开放性问题,未来无人驾驶的感知传感器,Lidar和camera更倾向于哪个?我认为未来随着算法技术的发展,camera会更加重要,但是Lidar也不会被取代,因为camera无法做到lidar的测距精度,虽然我们人类开车不需要很精确的距离感知,但是对于无人车不一样,因为无人驾驶需要很多的信息来辅助,而且很多信息也是非常精确的,比如高精地图这些,所以lidar依然在测距这块无法被替代。同时,也很憧憬camera这块视觉的技术能更加进步,视觉感知能够达到或超过人类的水平,这个可能会在很长时间会是无人驾驶技术发展的一个瓶颈。