• 无人驾驶之激光雷达&摄像头(主要from 速腾CEO 邱纯鑫分享)


    无人驾驶之激光雷达&摄像头

    (from 速腾CEO 邱纯鑫公开课分享)

    根据听的一些讲座和看的书籍,个人感觉:目前现在的自动驾驶,根本问题还是在于感知(路况,周边物体,交通标识等等),控制的方法论问题并没有根本性的改变。

    激光雷达与摄像头性能对比

    摄像头的优点是成本低廉,技术上相对比较成熟。

    摄像头的劣势,第一,获取准确三维信息非常难(单目摄像头几乎不可能,也有人提出双目或三目摄像头去做);另一个缺点是受环境光限制比较大。

    激光雷达的优点在于,其探测距离较远,而且能够准确获取物体的三维信息;

    另外它的稳定性相当高,鲁棒性好。但重要的缺点是,目前激光雷达成本较高,而且产品的最终形态也还未确定。百度车上顶的一个就50W+。

    就两种传感器应用特点来讲,摄像头和激光雷达摄像头都可用于进行车道线检测。除此之外,激光雷达还可用于路牙检测。对于车牌识别以及道路两边,比如限速牌和红绿灯的识别,主要还是用摄像头来完成。如果对障碍物的识别,摄像头可以很容易通过深度学习把障碍物进行细致分类。但对激光雷达而言,它对障碍物只能分一些大类,但对物体运动状态的判断主要靠激光雷达完成。

    从这里来看,激光雷达主要还是提供动态性能,但是,激光雷达对于信号的连续性又缺乏支持,需要摄像头来标定前后帧。

    激光雷达和摄像头分别完成什么工作?

    无人驾驶过程中,环境感知信息主要有:

    一是行驶路径上的感知,对于结构化道路可能要感知的是行车线,就是我们所说的车道线以及道路的边缘、道路隔离物以及恶劣路况的识别;对非结构道路而言,其实会更加复杂。

    周边物体感知,就是可能影响车辆通行性、安全性的静态物体和动态物体的识别,包括车辆,行人以及交通标志的识别,包括红绿灯识别和限速牌识别。

    对于环境感知所需要的传感器,我们把它分成三类:

    1. 感知周围物体的传感器,包括激光雷达、摄像头和毫米波雷达这三类;
    2. 实现无人驾驶汽车定位的传感器,就是 GPS 、IMU 和 Encoder;
    3. 其他传感器,指的是感知天气情况及温、湿度的传感器。

    感觉,跟移动机器人并没有本质上的区别。

    车道线检测:

    图像一般实际处理的是灰度图像,没用到彩色的作用,

    车道线,特征提取,图像增强,二值化,变成黑白,然后做边缘提取,

    直线拟合

    无人驾驶环境感知中摄像头的用处:

    车道线检测,障碍物检测,交通标识识别

    无人驾驶环境感知中激光雷达的用处:

    1.路沿检测,包括车道线
    2.障碍物识别,对静态物体和动态物体的识别
    3.定位以及地图构建
    

    路沿检测大致分三个步骤:

    1. 拿到原始点云,
    2. 地面店检测、提取路沿点
    3. 通过路沿点的直线拟合,可以把路沿检测出来

    障碍物的检测,大致包括:

    1. 获取三维点云数据后,对障碍物进行聚类
    2. 聚类后,提取三维物体信息(最难)
    3. 获取到新物体之后,把这个物体放到训练集里面,然后用SVM分类器把物体时别出来。(看来svm还是经典中的稳定战斗机),此处,选择特征也非常重要吧,对于每一个物体,可能包括它的反射强度,横纵向的宽度,以及位置姿态。(速腾的方法)

    辅助定位:

    利用激光雷达进行辅助定位。定位理论有两种:基于已知地图的定位方法以及基于未知地图的定位方法。

    基于已知地图定位方法,顾名思义,就是事先获取无人驾驶车的工作环境地图(高精度地图),然后根据高精度地图结合激光雷达及其它传感器通过无人驾驶定位算法获得准确的位置估计。现在大家普遍采用的是基于已知地图的定位方法。

    制作高精度地图也是一件非常困难的事情。举个例子,探月车在月球上,原来不知道月球的地图,只能靠机器人在月球上边走边定位,然后感知环境,相当于在过程中既完成了定位又完成了制图,也就是我们在业界所说的 SLAM 技术。(Google 开源的slam 值得研究下)

    激光雷达是获取高精度地图非常重要的传感器。通过 GPS、IMU 和 Encoder 对汽车做一个初步位置的估计,然后再结合激光雷达和高精度地图,通过无人驾驶定位算法最终得到汽车的位置信息。

    高精地图可分为基础层、道路信息层、周围环境信息层和其他信息层。

    比如基础层,有车道的宽度、坡度、倾斜角、航向、高程、车道线信息、人行道和隔离带等等。之后还有信息层,相当于告诉每一个道路上限速的标记、红绿灯标记,还有一个就是环境信息层,相当于周围建筑物的三维模型。其他信息层,比如说天气信息、施工信息等等,天气信息非常重要,它提供一个场景信息,比如说天气非常恶劣的时候,比如下雨天,如果高精度地图能提供天气信息,或者无人驾驶汽车车身所携带的传感器,能够感知到下雨信息,这时非常有利于指导无人驾驶汽车做一些决策。

    现在对高精度地图的定义,不同地图厂家有不同定义的方式。做高精度地图是为了辅助无人驾驶,所谓高精度地图就是相比之前的导航地图,前者精确度更高,可以达到厘米级;另一个就是高精度地图包含更多的信息量,比如说车道的宽度、倾斜度等信息。

    摄像头和激光雷达的融合

    第一步,标定

    激光雷达与摄像头融合,其实相当于是激光雷达发挥激光雷达的优势,摄像头发挥摄像头的优势,他们在某些地方是做得不够好,需要两个传感器甚至多个传感器信息进行底层的融合。
    
    在融合的时候,首先第一步,标定。比如说左上角(上图),我看到凳子,左下角激光雷达也看到的是凳子,那么我通过标定的方式告诉它,其实两个是同一个物体。
    
    其实摄像头发现同一个物体是非常容易的,比如做人的跟踪或车的跟踪。对于激光雷达而言, 要去识别前后帧是否同一辆车和同一个行人是非常困难的。
    

    第二步,根据目标设计融合算法

    激光雷达有一个好处:如果可以通过摄像头告诉它前后两帧是同一个物体,那么通过激光雷达就可以知道物体在这前后两帧间隔内:运动速度和运动位移是多少。这是非常关键的,因为只有做运动物体的跟踪才能做一些预测。
    
    人在驾驶的过程中,他得时刻知道周围物体的运动状态。对于无人驾驶,除了对车辆进行位置的估计以及导航之外,其实还需要对周边物体、运动物体的跟踪和预测,这是非常有意义的。
    

    问:相机和激光雷达融合中还有哪些要去解决的技术问题?

    邱纯鑫:首先是标定,如何标定才更好?再有一个就是时间戳的问题。相机在这一时刻获取到的图片跟激光雷达获取到的三维信息如何很好匹配下来。算法融合,运动物体跟踪,通过摄像获取同一个物体,通过激光雷达去识别同一个物体的距离信息。

  • 相关阅读:
    毫秒级从百亿大表任意维度筛选数据,是怎么做到的...
    编译时异常和运行时异常的区别
    ajax同步与异步的区别
    jdk、jre、jvm三者联系
    java可变参数
    String 堆内存和栈内存
    构造方法
    为什么成员变量不用先初始化
    Javascript 创建对象方法的总结
    Java四种读取和创建XML文档的例子教程
  • 原文地址:https://www.cnblogs.com/Qwells/p/6125341.html
Copyright © 2020-2023  润新知