本次分享的大纲:

  • Perception Introduction

  • Sensor Setup & Sensor Fusion

  • Perception Onboard System

  • Perception Technical Challenges

1. Perception Introduction

Perception系统是以多种sensor的数据,以及高精度地图的信息作为输入,经过一系列的计算及处理,对自动驾驶车的周围的环境精确感知。能够为下游模块提供丰富的信息,包括障碍物的位置、形状、类别及速度信息,也包括对一些特殊场景的语义理解(包括施工区域,交通信号灯及交通路牌等)。

Perception系统包括多个方面及子系统:

  1. 传感器:传感器的安装,视场角,探测距离,数据吞吐、标定精度,时间同步。因为用到的传感器比较多,时间同步的解决方案这里会起到非常重要的作用。

  2. 目标检测及分类:为了保证车辆百分百的安全,能够达到近似百分之百的召回率及非常高的准确率;这里会涉及到深度学习方面的工作,包括3D点云及2D Image上的物体检测及多传感器融合方面等。

  3. 多目标追踪:跟进多帧的信息计算并预测障碍物的运动轨迹。

  4. 场景理解,包括交通信号灯,路牌,施工区域,以及特殊类别,比如校车,警车。

  5. 机器学习分布式训练基础架构及相关的Evaluation评价系统。

  6. 数据:大量的标注数据,这里包括3D点云数据及2D的图片数据等。

目前传感器主要分为3个类别:

  1. Lidar激光雷达;

  2. Camera相机;

  3. 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点:

  1. 首先是安全,保证近乎百分之百的detection 的recall

  2. Precision要求非常高,如果低于某个阈值,造成False Positive,车辆在自动驾驶状态下会非常不舒适

  3. 尽量输出所有对行车有帮助的信息,包括路牌,交通信号灯及其它场景理解的信息

  4. 保证高效的运行,能够近实时的处理大量的sensor的数据

  5. scalability可扩展性也很重要,deep learning 依赖大量数据,整个模型的泛化能力如何都是非常重要的。能够让我们的model和一些新的算法能够去适配更多的城市和更多的国家。

4. Perception Technical Challenges

下面分享有挑战性的一些场景:

第一部分:precision和recall的balance;

第二部分:长尾场景。

这是晚高峰的十字路口的繁忙场景,有大量行人摩托车穿过十字路口。

通过3D点云数据能够看到的对应的原始数据。

这是目前我们Perception的输出,正确的segmentation结果和类别。

雨天的问题。自动驾驶系统在一些特殊的或者恶劣的天气条件下,处理是非常难的。

比如,激光雷达是能打到水花的。图中白色的是对水花的filter。如果不能对水花进行准确的识别和过滤,会对自动驾驶车辆造成麻烦。这里看到我们目前系统的处理结果,结合Lidar & Camera的数据,对水花有很高的识别率。

长尾的问题

这个是我们在路测时,遇到的两种洒水车。左边是向上喷的雾炮,右边是向两侧喷的洒水车。人类司机可以很容易超过洒水车,但是对于感知系统来说,需要花很多的时间去处理和识别这类场景和车辆,最后让自动驾驶车辆在遇到类似场景获得更好的体感。

小物体的检测

意想不到的事件,路测时比如流浪的小猫小狗的突然出现,我们期望感知系统能够对小物体能够有准确的召回。

对红绿灯来说会更有挑战。会一直遇到新的场景。因为在不同的城市或国家会遇到各种各样的红绿灯。

逆光的问题,或者突然从桥洞下边出来相机曝光的问题。通过动态的去调整相机曝光等方式去解决。

这个也是红绿灯的场景,红绿灯上有倒计时,我们需要识别出倒计时,能够让自动驾驶车辆遇到黄灯时,乘车体验更好。

雨天摄像头的防水问题,也是处理极端气候条件下所必须具备的。

红绿灯进进度条的识别,绿等快变黄要减速。

zzL4自动驾驶中感知系统遇到的挑战及解决方案的更多相关文章

  1. zz自动驾驶中轨迹规划的探索和挑战

    大家好,今天我们主要介绍一下轨迹规划的探索和挑战,我主要从四个方面介绍: 轨迹规划的概念 决策 横向规划 纵向规划 轨迹规划的概念: 轨迹规划的核心就是要解决车辆该怎么走的问题.比如我们知道了附近有行 ...

  2. 关于虚拟机中Linux系统无法上网之后的解决方案

    我刚刚安装好虚拟机上的Linux的时候,宿主机网络正常,但虚拟机中虽然显示网络连接正常,但无法上网,因此我打开了网络设置 这是默认设置,但上不了网,而按照网上的查找结果,选择NAT是没错的,但仅限于w ...

  3. L3级自动驾驶

    L3级自动驾驶 2020年开年 3月9日,工信部在其官网公示了<汽车驾驶自动化分级>推荐性国家标准报批稿,并拟于2021年1月1日开始实施. 按照中国自身标准制定的自动驾驶分级标准,在千呼 ...

  4. zz自动驾驶多传感器感知的探索1

    Pony.ai 在多传感器感知上积累了很多的经验,尤其是今年年初在卡车上开始了新的尝试.我们有不同的传感器配置,以及不同的场景,对多传感器融合的一些新的挑战,有了更深刻的认识,今天把这些经验,总结一下 ...

  5. zz自动驾驶多传感器感知的探索

    案例教学,把“问题”讲清楚了,赞 Pony.ai 在多传感器感知上积累了很多的经验,尤其是今年年初在卡车上开始了新的尝试.我们有不同的传感器配置,以及不同的场景,对多传感器融合的一些新的挑战,有了更深 ...

  6. zz高精地图和定位在自动驾驶的应用

    本次分享聚焦于高精地图在自动驾驶中的应用,主要分为以下两部分: 1. 高精地图 High Definition Map 拓扑地图 Topological Map / Road Graph 3D栅格地图 ...

  7. Mobileye 自动驾驶策略(一)

    Mobileye 自动驾驶策略(一) 详解 Mobileye 自动驾驶解决方案 Mobileye的自动驾驶解决方案.总得来说,分为四种: Visual perception and sensor fu ...

  8. Preparing Cities for Robot Cars【城市准备迎接自动驾驶汽车】

    Preparing Cities for Robot Cars The possibility of self-driving robot cars has often seemed like a f ...

  9. 自动驾驶汽车数据不再封闭,Uber 开源新的数据可视化系统

    日前,Uber 开源了基于 web 的自动驾驶可视化系统(AVS),称该系统为自动驾驶行业带来理解和共享数据的新方式.AVS 由Uber旗下负责自动驾驶汽车研发的技术事业群(ATG)开发,目前该系统已 ...

随机推荐

  1. VScode Python 虚拟环境

    安装python环境 在VScode里设置Python 虚拟环境查找路径(Settings -> Extensions -> Python Configurations -> Env ...

  2. MySQL实战45讲学习笔记:第三十七讲

    一.本节概况 今天是大年初二,在开始我们今天的学习之前,我要先和你道一声春节快乐! 在第 16和第 34篇文章中,我分别和你介绍了 sort buffer.内存临时表和 join buffer.这三个 ...

  3. 分布式共识算法 (四) BTF算法(区块链使用)

    系列目录 分布式共识算法 (一) 背景 分布式共识算法 (二) Paxos算法 分布式共识算法 (三) Raft算法 分布式共识算法 (四) BTF算法 一.引子 前面介绍的算法,无论是 Paxos ...

  4. 字节跳动笔试题:1. 小于N的质数数量;2. 逆时针二维数组;3. 判断a+b>c

    1. 小于N的质数数量 import java.util.Scanner; /** * 计算小于N的质数数量 * @author Turing * */ public class Main4 { pu ...

  5. SpringMVC_处理器方法的返回值

    一.返回ModelAndView    若处理器方法处理完后,需要跳转到其他资源,且又要在跳转的资源间传递数据,此时处理器方法返回ModelAndView比较好.当然,若要返回ModelAndView ...

  6. Linux iSCSI 磁盘共享管理

    Linux iSCSI 磁盘共享管理 iSCSI 服务是通过服务端(target)与客户端(initiator)的形式来提供服务.iSCSI 服务端用于存放存储源的服务器,将磁盘空间共享给客户使用,客 ...

  7. Java匹马行天下之学编程的起点——走进编程的殿堂

    学编程的起点——走进编程的殿堂 前言: 知其然,知其所以然,努力固然重要,但是思维的提升会让你事半功倍,我会用我花费时间换来的“思维”带更多的朋友入门,让你们明明白白学编程,学编程,不迷茫. 转变思维 ...

  8. Servlet中实现多个功能案例

    如何实现一个Servlet中的多个功能 前言:唉,打脸了,前脚刚说过要跟Servlet正式告别,后脚这不又来了,哈哈,总结出一点东西,纠结了一下还是做个分享吧,学习知识比面子重要,对吧,下回再也不约S ...

  9. .net core 3.0中的Json API

    在.net core 3.0中,内置了一套新的json api,主要用于去除asp.net core对json.net的依赖,同时也提供了更好的性能(直接处理 UTF-8,而无需转码到 UTF-16) ...

  10. SpringCloud的阿里巴巴相关开源组件

    Sentinel 阿里巴巴开源产品,把流量作为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性. Nacos 阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现.配置管理和服 ...