无人驾驶简介
自动驾驶能力等级
自动驾驶等级 | 定义 |
---|
L0 – No automation | 车辆行为完全由人控制,系统可以提供预警提示类的 ADAS 功能,包括车道偏离预警,前撞预警等,并无主动干预功能 | L1 – Driver assistance | 驾驶辅助,人操控车辆,但是系统可以调整车辆速度和方向。包括自适应巡航,车道保持,紧急刹车等功能 | L2 – Partial automation | 部分自动驾驶,具备自动加速,自动刹车,自动转向能力,系统具备自主驾驶功能,但是监控任务依然需要人来主导,紧急情况下需要人工介入 | L3 – Conditional automation | 有条件的自动驾驶,指在限定区域或限定环境下,可以实现车辆完全感知环境,并进行自主决策控制。不过在紧急情况下,系统可以主动寻求人工介入 | L4 – Full automation | 全自动驾驶,不需要人工驾驶员,不需要人工介入,不限定场景和运行环境 |
无人驾驶 - 架构
GNSS + IMU:组合导航
无人驾驶 - 线上流程
- 确认起点/终点,规划路线
- Where Am I (HD map & Localization):不定期确认当前位置,按路线行驶
- What’s Around Me (Perception):观察自车周围环境信息
- Where Will Happen (Prediction):预测其它交通参与物行为(并线/超车/行人横穿等)
- What Should I Do (Planning & Control):决策本车行为(加减速/绕行等)并实施
高精地图与定位
感知简介
- 感:通过主动/被动式传感器,接收原始的环境信息
- 知:对接收的信息进行处理,得到属性和关系构成的整体
激光雷达
- Velodyne - 32 线激光雷达:32 线代表激光雷达从上到下同步发射 32 条激光,利用 TOF (time of flight) 原理进行测距;角分辨率 0.2 度 表示激光雷达每转 0.2 度就发射一次激光
- Velodyne - 32 线激光数据可视化示例
传感器数据
- 激光数据 (Point Cloud):3D 信息精确感知,但成本高,易受噪点干扰,稀疏小目标易遗漏,识别能力弱 (在雨雪雾等极端天气下性能较差,不能全天侯工作)
- 图像数据 (Pixel):被动传感器,受光照影响大,3D 功能弱
- 毫米波雷达数据:毫米波抗干扰能力强,可以全天候工作,且测距,测速能力强,但高度信息缺失 (相比激光雷达,测距范围更远但测距精度更差)
业界现状
Top-down 全自动驾驶 (L4)
- 特点:重激光雷达,多传感器融合
- 优点:感知能力强,计算资源大
- 不足:传感器成本高,数据扩展慢
Bottom-up 渐进式自动驾驶 (L2 ~ L3)
- 特点:传感器受限,辅助驾驶,人机结合
- 优点:成本受控,规模化应用,数据扩展快
- 不足:感知能力相对弱
感知任务
- 障碍物感知:障碍物 3D 空间信息(位置,尺寸)+ 属性信息(速度,类型,状态)
- 场景理解:场景语义信息
- 信号灯识别 / 交通标识感知:红绿灯的状态信息(红/黄/绿/坏/黄闪/数字等)
障碍物感知
- 任务目标:给出周围环境中的目标信息,包括空间位置/尺寸/朝向/速度/类型以及其它有用的属性
一种障碍物感知框架图
激光障碍物感知 - 预处理
ROI (Region of Interest ) filter: 感兴趣区域滤波
- 通过规则 / 先验知识去除非相关信息,提升处理效率 / 改进感知效果 (如下图所示,滤除了路边无关的点云信息)
地面分割
- 区分地面点和非地面点 (基本原理: (局部)平面假设;高度先验)
- 平面栅格法:1) 将 X-Y 平面划分为多个栅格(grid),点云投影到对应栅格中;2) 计算每个栅格中 3D 点集的
z
z
z 坐标统计值,如平均值,方差,偏差(高度差);3) 基于统计值和预先设置的 threshold 来判定实现栅格的地面/非地面二分类
- 优势:利用点云高度的统计特性,简单/直观
- 劣势:倾斜坡面难以处理,远距离栅格点较少统计特性不够稳定
- 模型拟合法:平面拟合 - RANSAC 法:随机选择 3 个点迭代,求解平面方程
A
x
+
B
Y
+
C
Z
+
D
=
0
Ax+BY+CZ+D=0
Ax+BY+CZ+D=0,把所有点依次代入该平面方程内,计算该平面的内点个数 (设定一个阈值,点到平面的距离小于阈值就认为该点为内点);迭代中内点最多的平面即为最优平面,该平面的内点即为地面点,外点即为非地面点 (Fast segmentation of 3D point clouds: A paradigm on LiDAR data for autonomous vehicle applications)
- 优势:可以找到倾斜地面
- 劣势:平面不等于地面,未利用场景先验,计算复杂
- 面元网格法:1) 选择种子点(高度/曲率/法向量);2)区域增长,评测种子点和领域点的局部结构(高度差/水平偏角/法向量偏差)等,满足条件的领域点扩展进入地面点候选;3)重复生长得到局部地面集合,对局部地面集合做平面拟合和矫正,得到精细地面点集
- 优势:利用局部几何结构,可以得到多个局部地平面
- 劣势:计算复杂
激光障碍物检测 - 规则方法 (Rule-based method)
- Rule based detector:对前处理后的点基于点云的密度/空间距离做聚类 (k-means, mean-shift, dbscan),得到障碍物 candidate
激光障碍物检测 - 深度学习算法
Voxelnet: End-to-end learning for point cloud based 3d object detection
Deep Learning for 3D Point Clouds: A Survey
激光障碍物分类
Pointnet: Deep learning on point sets for 3d classification and segmentation
激光障碍物跟踪
视觉障碍物感知
- Object detection:Object Detection in 20 Years: A Survey
- 视觉 3D 感知:2D detection
→
\rightarrow
→ 3D box
- 单目几何约束估计:Vision-based ACC with a Single Camera: Bounds on Range and Range Rate Accuracy
接地点法:
Z
=
f
H
y
Z=\frac{fH}{y}
Z=yfH? 模板估计法:
d
/
f
=
x
/
h
1
d/f=x/h_1
d/f=x/h1?,
d
/
f
=
(
x
+
w
)
/
h
2
d/f=(x+w)/h_2
d/f=(x+w)/h2? (
w
w
w:目标的真实宽度,假设预定义) - 双目 3D 估计 (Multiple View Geometry in computer vision):triangulation refers to the process of determining a point in 3D space given its projections onto two, or more, images. In order to solve this problem it is necessary to know the parameters of the camera projection function from 3D to 2D for the cameras involved, in the simplest case represented by the camera matrices
- 基于深度学习的方法:
单目深度估计 Deeper Depth Prediction with Fully Convolutional Residual Networks,3DV 2016 Deep Ordinal Regression Network for Monocular Depth Estimation. CVPR 2018 From Big to Small: Multi-Scale Local Planar Guidance for Monocular Depth Estimation Group-wise Correlation Stereo Network,CVPR 2019 双目深度估计 Learning for Disparity Estimation through Feature Constancy,CVPR 2018 SegStereo: Exploiting Semantic Information for Disparity,ECCV 2018 Group-wise Correlation Stereo Network,CVPR 2019 单目 3D 检测 Pseudo-LiDAR from Visual Depth Estimation: Bridging the Gap in 3D Object Detection for Autonomous Driving. CVPR 2019 Monocular 3D Object Detection via Geometric Reasoning on Keypoints. arXiv:1905.05618 Monocular 3D Object Detection Leveraging Accurate Proposals and Shape Reconstruction. CVPR 2019
障碍物融合感知
基于融合的处理形式
场景感知
Why we need scene understanding ?
场景感知 - 施工区域
Special object detection & bottom-up clustering
场景感知 - 水坑识别
Image segmentation + 3D polygon fitting
场景感知 - 天气识别
Image classification
场景感知 - 车道线检测
传统方法
- (1) 图像映射到 BEV 视角(可选)
- (2) 二值化/边缘检测
- (3) 后处理:边缘点提取 + 直线/曲线拟合,或霍夫变换 + 规则过滤
深度学习方法 - Spatial As Deep: Spatial CNN for Traffic Scene Understanding. AAAI 2018
信号灯感知
- 红绿灯:固定红绿灯/移动红绿灯;机动车道灯/非机动车道灯/人行横道信号灯;箭头灯/圆形灯/条形灯/读秒灯;正常灯/故障灯
- 红绿灯感知: 寻找有效控制灯,识别有效灯的颜色
一种固定信号灯识别的流程
- 选灯:由高精定位&地图获取车道信息,然后由高精地图获取控制灯信息 (当前车道对应路口的哪个控制信号灯)
- 红绿灯坐标转换过程:
- 红绿灯 ROI Crop:绿框:基于高精地图/定位的红绿灯投影框;黄框:基于投影框扩大范围得到的 ROI Crop 区域;红框:对黄框区域做红绿灯检测的结果
- 投影检测匹配:把检测出的红绿灯检测框和基于高精地图/定位的红绿灯投影框进行匹配;基于检测框到投影框的整体距离,常见的有匈牙利匹配算法
匈牙利匹配的局限:由漏检/误检导致的匹配混淆 解决方法:距离匹配
?
\Rightarrow
? 结构匹配 - 规则校验:
基于语义的红绿灯识别 基于规则的红绿灯校验:有限状态机推理
移动红绿灯识别
- 触发机制:(1) 无固定红绿灯路口;(2) 固定红绿灯坏掉的时候
- 工作原理:(1) 全图识别初始化;(2) 通过高精地图/lidar检测校验
Corner case
- 基于其它红绿灯结果的推理:控制信号灯被遮挡时,可以利用其他未被遮挡的信号灯进行推理
- 基于交通流的推理
无人驾驶感知 - 参考材料
Open course
- CSC2541 - Visual Perception for Autonomous Driving
- MIT 6.S094: Deep Learning for Self-Driving Cars
- 无人驾驶干货铺
Survey
- Computer Vision for Autonomous Vehicles: Problems, Datasets and State of the Art Self-Driving Cars: A Survey
- Towards Fully Autonomous Driving: Systems and Algorithms
- A Survey of Autonomous Driving: Common Practices and Emerging Technologies
- Self-Driving Cars: A Survey
Open source
- Apollo - https://github.com/ApolloAuto
- Autoware.ai - https://www.autoware.ai/
Labs & guys
- CASIL-MIT,Robotics-CMU,SAIL-Stanford
- Raquel Urtasun (University of Toronto),Andreas Geiger (University of Tübingen)
|