zzL4自动驾驶中感知系统遇到的挑战及解决方案
本次分享的大纲:
Perception Introduction
Sensor Setup & Sensor Fusion
Perception Onboard System
Perception Technical Challenges
1. Perception Introduction
Perception系统是以多种sensor的数据,以及高精度地图的信息作为输入,经过一系列的计算及处理,对自动驾驶车的周围的环境精确感知。能够为下游模块提供丰富的信息,包括障碍物的位置、形状、类别及速度信息,也包括对一些特殊场景的语义理解(包括施工区域,交通信号灯及交通路牌等)。
Perception系统包括多个方面及子系统:
传感器:传感器的安装,视场角,探测距离,数据吞吐、标定精度,时间同步。因为用到的传感器比较多,时间同步的解决方案这里会起到非常重要的作用。
目标检测及分类:为了保证车辆百分百的安全,能够达到近似百分之百的召回率及非常高的准确率;这里会涉及到深度学习方面的工作,包括3D点云及2D Image上的物体检测及多传感器融合方面等。
多目标追踪:跟进多帧的信息计算并预测障碍物的运动轨迹。
场景理解,包括交通信号灯,路牌,施工区域,以及特殊类别,比如校车,警车。
机器学习分布式训练基础架构及相关的Evaluation评价系统。
数据:大量的标注数据,这里包括3D点云数据及2D的图片数据等。
目前传感器主要分为3个类别:
Lidar激光雷达;
Camera相机;
Radar毫米波雷达。
这张图相当于Perception物体检测的输出,能够检测车辆周围的障碍物,包括车辆、行人、自行车等,同时结合高精度地图,会对周边的Background信息进行输出。
图中绿颜色的是一辆车,橙色的是一辆摩托车,黄颜色的是一个行人,灰颜色是一些背景如植被信息。
结合多帧的信息,对运动的行人和车辆的速度,方向,进行精确的输出。
2. Sensor Setup & Sensor Fusion
以上是Perception系统从输入到输出的一个大概介绍。接下来总体介绍Pony.ai第三代车辆的传感器安装方案以及传感器融合的解决方案。
目前我们的整个传感器安装的解决方案,是能够覆盖360度,范围200米的感知距离。从不同传感器的安装,不同角度来看,首先用到了3个激光雷达,顶部和两侧。激光雷达有100米的感知距离。同时通过4个广角的摄像头来覆盖相机360度的视野。远处的视野通过前向的毫米波雷达以及长焦的相机,将感知距离扩到200米的范围。这套传感器配置能保证我们的自动驾驶车辆在居民区、商业区、工业区这样的场景进行自动驾驶。
18年9月份世界人工智能大会上推出的第3代的传感器配置方案。
前边的相机两个广角,一个长焦。使得可以看到更远距离的信号灯的信息,两百米内红绿灯的状态。
上面介绍了整个传感器的安装方案。下面主要介绍下多传感器融合的解决方案。
第一个要解决的问题是把不同的传感器的数据标定到同一个坐标系里。包括相机的内参标定,Lidar到相机的外参标定,雷达到GPS的外参标定。
传感器融合重要的前提是要能把标定精度提高到非常高的一个精度,不管是做结果层面的传感器融合,还是元数据层面的传感器融合,是一个必要的基础。
这张图可以看到,我们将3D的激光点云投射到影像上,可以看到传感器标定的精度还是挺高的。
整个标定的工作基本上已经做到完全自动化的方式。不同传感器标定的方案:
首先是相机内参的标定,内参的标定平台对每一个相机能够在两到三分钟之内做到传感器的标定。
这个图是相机到激光雷达的外参标定,激光雷达是360度旋转的方式,每旋转一周是100毫秒。相机是某一瞬时曝光的问题,所以涉及到时间同步的一个方式,通过Lidar来触发相机曝光。比如说我们有4个相机,能够通过激光雷达去保证时间同步。
3D和2D彼此互补,二者更好的融合能够对感知会有更精确的输出。
下面是整个的一个demo,大家可以看下:
Raw Sensor-fused Output
3. Perception Onboard
上面大概介绍了整个perception的sensor的setup,以及sensor fusion做法。接下来介绍车载的Perception Onboard的架构是什么样的,以及解决方案是什么。
这是整个Perception Onboard的架构。首先用LiDAR,Camera,Radar三种sensor数据通过时间同步,所有的时间误差控制在50毫秒以内。结合sensor的数据,进行frame wise的detection及classification等计算,最后利用多frame信息进行多目标跟踪,最后将相关结果输出。这里涉及到Sensor Fusion, Deep Learning相关的技术细节,这里不做过多的讨论。
整个Perception 系统的解决方案要保证这5点:
首先是安全,保证近乎百分之百的detection 的recall
Precision要求非常高,如果低于某个阈值,造成False Positive,车辆在自动驾驶状态下会非常不舒适
尽量输出所有对行车有帮助的信息,包括路牌,交通信号灯及其它场景理解的信息
保证高效的运行,能够近实时的处理大量的sensor的数据
scalability可扩展性也很重要,deep learning 依赖大量数据,整个模型的泛化能力如何都是非常重要的。能够让我们的model和一些新的算法能够去适配更多的城市和更多的国家。
4. Perception Technical Challenges
下面分享有挑战性的一些场景:
第一部分:precision和recall的balance;
第二部分:长尾场景。
这是晚高峰的十字路口的繁忙场景,有大量行人摩托车穿过十字路口。
通过3D点云数据能够看到的对应的原始数据。
这是目前我们Perception的输出,正确的segmentation结果和类别。
雨天的问题。自动驾驶系统在一些特殊的或者恶劣的天气条件下,处理是非常难的。
比如,激光雷达是能打到水花的。图中白色的是对水花的filter。如果不能对水花进行准确的识别和过滤,会对自动驾驶车辆造成麻烦。这里看到我们目前系统的处理结果,结合Lidar & Camera的数据,对水花有很高的识别率。
长尾的问题
这个是我们在路测时,遇到的两种洒水车。左边是向上喷的雾炮,右边是向两侧喷的洒水车。人类司机可以很容易超过洒水车,但是对于感知系统来说,需要花很多的时间去处理和识别这类场景和车辆,最后让自动驾驶车辆在遇到类似场景获得更好的体感。
小物体的检测
意想不到的事件,路测时比如流浪的小猫小狗的突然出现,我们期望感知系统能够对小物体能够有准确的召回。
对红绿灯来说会更有挑战。会一直遇到新的场景。因为在不同的城市或国家会遇到各种各样的红绿灯。
逆光的问题,或者突然从桥洞下边出来相机曝光的问题。通过动态的去调整相机曝光等方式去解决。
这个也是红绿灯的场景,红绿灯上有倒计时,我们需要识别出倒计时,能够让自动驾驶车辆遇到黄灯时,乘车体验更好。
雨天摄像头的防水问题,也是处理极端气候条件下所必须具备的。
红绿灯进进度条的识别,绿等快变黄要减速。
zzL4自动驾驶中感知系统遇到的挑战及解决方案的更多相关文章
- zz自动驾驶中轨迹规划的探索和挑战
大家好,今天我们主要介绍一下轨迹规划的探索和挑战,我主要从四个方面介绍: 轨迹规划的概念 决策 横向规划 纵向规划 轨迹规划的概念: 轨迹规划的核心就是要解决车辆该怎么走的问题.比如我们知道了附近有行 ...
- 关于虚拟机中Linux系统无法上网之后的解决方案
我刚刚安装好虚拟机上的Linux的时候,宿主机网络正常,但虚拟机中虽然显示网络连接正常,但无法上网,因此我打开了网络设置 这是默认设置,但上不了网,而按照网上的查找结果,选择NAT是没错的,但仅限于w ...
- L3级自动驾驶
L3级自动驾驶 2020年开年 3月9日,工信部在其官网公示了<汽车驾驶自动化分级>推荐性国家标准报批稿,并拟于2021年1月1日开始实施. 按照中国自身标准制定的自动驾驶分级标准,在千呼 ...
- zz自动驾驶多传感器感知的探索1
Pony.ai 在多传感器感知上积累了很多的经验,尤其是今年年初在卡车上开始了新的尝试.我们有不同的传感器配置,以及不同的场景,对多传感器融合的一些新的挑战,有了更深刻的认识,今天把这些经验,总结一下 ...
- zz自动驾驶多传感器感知的探索
案例教学,把“问题”讲清楚了,赞 Pony.ai 在多传感器感知上积累了很多的经验,尤其是今年年初在卡车上开始了新的尝试.我们有不同的传感器配置,以及不同的场景,对多传感器融合的一些新的挑战,有了更深 ...
- zz高精地图和定位在自动驾驶的应用
本次分享聚焦于高精地图在自动驾驶中的应用,主要分为以下两部分: 1. 高精地图 High Definition Map 拓扑地图 Topological Map / Road Graph 3D栅格地图 ...
- Mobileye 自动驾驶策略(一)
Mobileye 自动驾驶策略(一) 详解 Mobileye 自动驾驶解决方案 Mobileye的自动驾驶解决方案.总得来说,分为四种: Visual perception and sensor fu ...
- Preparing Cities for Robot Cars【城市准备迎接自动驾驶汽车】
Preparing Cities for Robot Cars The possibility of self-driving robot cars has often seemed like a f ...
- 自动驾驶汽车数据不再封闭,Uber 开源新的数据可视化系统
日前,Uber 开源了基于 web 的自动驾驶可视化系统(AVS),称该系统为自动驾驶行业带来理解和共享数据的新方式.AVS 由Uber旗下负责自动驾驶汽车研发的技术事业群(ATG)开发,目前该系统已 ...
随机推荐
- ClassLoader.getSystemResourceAsStream("a.txt")获取不到资源文件
一.解决方案 换成XXX.class.getClassLoader().getResourceAsStream("a.txt")即可. 二.场景复现 src/main/resour ...
- Loj #2719. 「NOI2018」冒泡排序
Loj #2719. 「NOI2018」冒泡排序 题目描述 最近,小 S 对冒泡排序产生了浓厚的兴趣.为了问题简单,小 S 只研究对 *\(1\) 到 \(n\) 的排列*的冒泡排序. 下面是对冒泡排 ...
- 从游击队到正规军:马蜂窝旅游网的IM系统架构演进之路
本文引用自马蜂窝公众号,由马蜂窝技术团队原创分享. 一.引言 今天,越来越多的用户被马蜂窝持续积累的笔记.攻略.嗡嗡等优质的分享内容所吸引,在这里激发了去旅行的热情,同时也拉动了马蜂窝交易的增长.在帮 ...
- Oracle SQL调优之表设计
在看<收获,不止sql优化>一书,并做了笔记,本博客介绍一下一些和调优相关的表比如分区表.临时表.索引组织表.簇表以及表压缩技术 分区表使用与查询频繁而更新数据不频繁的情况,不过要记得加全 ...
- mybatis使用collection查询集合属性规则
接上篇mybatis使用associaton进行分步查询 相关的类还是上篇中的类. 查询部门的时候将部门对应的所有员工信息也查询出来 DepartmentMapper.xml <!--嵌套结果集 ...
- 解决centos ssh连接很慢的问题
更改配置文件vi /etc/ssh/sshd_config找到UseDNS 将UseDNS前面的#删除,并将YES改为NO,若找不到UseDNS,则手动添加UseDNS,并将其设置成No保存并重启ss ...
- 一段完整的创建表格的SQL代码
一段完整的创建表格的SQL代码 使用SQL语句创建一张表,不仅可以可以快速熟悉SQL语句,还可以从这看出一个人对该技能点的熟悉程度. 这里先说明几点: PRIMARY KEY:主键,一张表中只允许有一 ...
- Autoware 笔记 No. 5——基于GNSS的定位
1. 前言 在之前的笔记No.2 中,我们直接采用ndt_matching的方法实现定位,但需要在打开rviz中,通过2D Pose Estimate指定初始位置.加入GNSS后,可以帮助ndt_ma ...
- 【MySQL】完整性约束条件与设计范式
完整性约束条件 概念: 对表中的数据进行限定,保证数据的正确性.有效性和完整性. 分类: 主键约束:primary key 非空约束:not null 唯一约束:unique 外键约束:foreign ...
- Qt程序app添加图标复制到其它电脑后不显示的解决方法
原因: 主是要因为Qt显示图标需要依赖一些库来进行转换,而复制到其它电脑后不显示,是没有复制相应的库所致,所以把相应库复制过去就行了. 复制Qt的plugins目录下的imageformats文件到程 ...