AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

L4 自动驾驶中感知系统遇到的挑战及解决方案

  • 2019-05-17
  • 本文字数:2794 字

    阅读完需:约 9 分钟

L4自动驾驶中感知系统遇到的挑战及解决方案

本次分享的大纲


  • 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,大家可以看下:


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    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 结果和类别。


    00:00 / 00:00
      1.0x
      • 3.0x
      • 2.5x
      • 2.0x
      • 1.5x
      • 1.25x
      • 1.0x
      • 0.75x
      • 0.5x
      网页全屏
      全屏
      00:00


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


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


      长尾的问题



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


      小物体的检测



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



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



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



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



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



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


      图中部分图片来自互联网,只用做交流学习,若涉及侵权,请联系 DataFun 删除。

      作者介绍:


      李阳光,Pony.ai Tech lead,中科院计算机研究所硕士,此前就职于百度广告搜索部和自动驾驶事业部,任感知系统工程架构负责人,目前在 Pony.ai 负责自动驾驶感知技术研发。


      本文来自 李阳光 在 DataFun 社区的演讲,由 DataFun 编辑整理。


      2019-05-17 08:006780

      评论

      发布
      暂无评论
      发现更多内容

      C++学习---cstdio的源码学习分析07-刷新文件流函数fflush

      桑榆

      c++ 源码分析 10月月更

      【一Go到底】第六天---值类型、引用类型、标识符

      指剑

      Go golang 10月月更

      pgsql数据库自动备份

      衝鋒壹号

      10月月更

      Go设计模式“金旋风”——代理模式

      Regan Yue

      Go 设计模式 代理模式 10月月更

      爬虫练习题(二)

      张立梵

      Python. 10月月更 爬虫案例

      与学长共话成长,领跑毕业新未来

      宇宙之一粟

      校招 10月月更

      高效编程不一定意味着要疯狂写代码

      宇宙之一粟

      程序员 10月月更

      Collections之ArrayList源码解读(七)

      知识浅谈

      ArrayList 10月月更

      单模光缆与多模光缆,网络工程师必知的光缆类型

      wljslmz

      网络工程 10月月更 单模光纤 多模光纤 弱电

      一个 ExpressionChangedAfterItHasBeenCheckedError 错误的解决过程

      汪子熙

      typescript 前端开发 angular web开发 10月月更

      踩上元宇宙的风口后,消费级AR眼镜真的复兴了吗?

      脑极体

      【愚公系列】2022年10月 Go教学课程 020-Go容器之数组

      愚公搬代码

      10月月更

      Qt|使用QuaZip压缩包中文乱码问题解决

      中国好公民st

      c++ qt 10月月更

      微信业务架构图 & 学生管理系统方案

      无语

      「架构实战营」

      你不知道的Java工具类库,十倍提升开发效率

      一灯架构

      Java java面试 10月月更

      推荐一款id 生成器:Hashids

      xiaoxi666

      【一Go到底】第七天---运算符

      指剑

      Go golang 10月月更

      【牛客刷题-算法】加精 _ 合并两个有序的链表 - 从思路设计、bug排除到最终实现的全过程

      清风莫追

      算法 链表 算法数据结构 10月月更

      【C语言难点突破】指针的常见易错点

      Geek_65222d

      10月月更

      开发者有话说|在刷怪升级的成长路上,技术人应该掌握的三个大招

      迷彩

      个人成长 10月月更 学会学习 学会提问 学会思考

      学习编程既要追根溯源、又要紧跟时代步伐

      玄兴梦影

      c 编程 语法

      【结构体内功修炼】结构体实现位段(二)

      Albert Edison

      C语言 结构体 10月月更 位段

      2022-10-06:以下go语言代码输出什么?A:[1 2 3] [1 2 3] ;B:[1 2 3] [3 4 5]; C:[1 2 3] [3 4 5 6 7 8 9];D:[1 2 3] [3

      福大大架构师每日一题

      golang 福大大 选择题

      Vue3入门指北(十)侦听器

      Augus

      Vue3 10月月更

      在Chrome浏览器中最快速实现拾色器(颜色吸管)

      茶无味的一天

      前端 谷歌浏览器

      传统架构面临的挑战及上云的优势

      穿过生命散发芬芳

      企业上云 10月月更

      Android Coder带你了解反射

      子不语Any

      后端 java; 10月月更

      HashMap高阶用法,十倍提升开发效率

      一灯架构

      Java java面试 10月月更

      【牛客刷题-算法】NC151 最大公约数

      清风莫追

      数据结构 算法 最大公约数 10月月更

      竟然还有人说ArrayList是2倍扩容,今天带你手撕ArrayList源码

      一灯架构

      Java java面试 10月月更

      免费申请和使用IntelliJ IDEA商业版License指南

      程序员欣宸

      ide 10月月更 ieda

      L4自动驾驶中感知系统遇到的挑战及解决方案_AI&大模型_DataFunTalk_InfoQ精选文章