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)开发,目前该系统已 ...
随机推荐
- CF1278C-Berry Jam-(前缀和)
https://vjudge.net/problem/CodeForces-1278C 题意:有2n瓶果酱,中间有一个楼梯隔开,从中间往左或右两边清空果酱,使得两种果酱的数量相等,最少要清空多少瓶 思 ...
- 【day08】PHP
一. 函数 1.函数:封装的,可以重复使用的完成特定功能的代码段. 2.函数分类: (1)系统函数 (2)自定义函数 3.自定义函数 (1)格式 function 函数名称([参数[= ...
- Reat学习笔记4
相信很多初学react的朋友在研究组件的路由配置问题时都很困扰,我也是折腾了半天才搞明白的. 一般情况下路由配置包含path和component两个信息: component顾名思义是组件的意思,指的 ...
- Kubernetes 弹性伸缩全场景解读(二)- HPA 的原理与演进
前言 在上一篇文章 Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局中,我们介绍了在 Kubernetes 在处理弹性伸缩时的设计理念以及相关组件的布局,在今天这篇文章中,会为大家 ...
- Kubernetes Job与CronJob(离线业务)
Kubernetes Job与CronJob(离线业务) Job Job分为普通任务(Job) 一次性执行 应用场景:离线数据处理,视频解码等业务 官方文档:https://kubernetes.i ...
- putty连接centos慢
用的vmware下的centos minimal镜像,开发时,用putty连接很慢,一分多钟, 解决方案: 禁用GSSAPI认证有两个方式:客户端和服务端 直接配置你ssh客户端的文件/etc/ssh ...
- js 设计模式——代理模式
代理模式 代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问. 生活中有很多的代理模式的场景.例如,明星有经纪人作为代理,老板有秘书作为代理等等,当有事情的时候,会找到经纪人或秘书,再由他 ...
- Seata为什么效率高
1. Seata为什么效率高 1.1. 应对面试官的解释 Seata的解决方案是两阶段提交的升级版,传统两阶段提交资源管理器(RM)放在数据库端,由数据库管理,需要数据库支持XA协议. 而Seata把 ...
- 【转载】Gradle for Android 第二篇( Build.gradle入门 )
理解Gradle脚本 当然我们现在讨论的所有内容都是基于Android studio的,所以请先行下载相关工具.当我们创建一个新的工程,Android studio会默认为我们创建三个gradle文件 ...
- rhel安装输入法
# yum install "@Chinese Support" 安装完成后,设置输入法: System -> Preferences -> Input Method