公开/公告号CN107194957A
专利类型发明专利
公开/公告日2017-09-22
原文格式PDF
申请/专利权人 武汉光庭科技有限公司;
申请/专利号CN201710248914.3
申请日2017-04-17
分类号G06T7/32(20170101);
代理机构42212 武汉河山金堂专利事务所(普通合伙);
代理人胡清堂;陈懿
地址 430000 湖北省武汉市东湖新技术开发区凤凰园三路一号
入库时间 2023-06-19 03:20:27
法律状态公告日
法律状态信息
法律状态
2019-11-22
授权
授权
2017-10-24
实质审查的生效 IPC(主分类):G06T7/32 申请日:20170417
实质审查的生效
2017-09-22
公开
公开
技术领域
本发明属于车辆自动驾驶技术领域,具体涉及一种智能驾驶中激光雷达云点数据与车辆信息融合的方法。
背景技术
自动驾驶系统在运行过程中,需要实时地获取车辆周围的障碍物信息,这些障碍物包括路面上的车辆、行人、动物、建筑物、树木等,不应该包含地面、雨水、雾、霾、雪花、灰尘、烟等。当车辆遇到障碍物时,应该绕过障碍物或者停止自动驾驶;当道路上没有障碍物时,车辆应该沿着车道正常行驶。
目前检测障碍物的一种常用的方法是使用激光雷达进行检测。激光雷达是一种检测精度很高的雷达,可以对障碍物进行厘米级的定位。常用的激光雷达有Ibeo激光雷达、Velodyne激光雷达等。
激光雷达通过发射激光,获取障碍物的轮廓,并以点云数据的形式发给自动驾驶系统别的子系统使用。原始的激光点云数据除了会包含车辆、行人等障碍物外,还会包含地面、雨水、尘埃等自动驾驶系统不希望检测到的障碍物。
除了雷达获取障碍物的原理之外,地面等干扰点云数据形成的原因可能还包含雷达的安装角度、车辆在行驶时的颠簸、地面上的细小颗粒、拐弯时车辆的四个轮子所在平面与地面不平行等,而且这些干扰因素并不容易消除。
正常情况下,自动驾驶系统在运行时,遇到车辆等障碍物时,应该从其旁边绕行过去,当不能绕行通过时,应该停车。遇到下雨的天气,且地面上没有障碍物时,应该顺着车道向前行驶。若有时将雨水和地面当做障碍物,则自动驾驶系统在行驶时,会突然拐弯或停车,给人一种突兀的感觉,应该尽量避免此种情况的发生。
发明内容
针对现有技术的不足,本发明要解决的技术问题是提供一种在智能驾驶中激光雷达点云数据与车辆信息融合的方法,以去除车辆在运行的过程中,激光雷达点云中包含的地面、尘埃等信息对自动驾驶的障碍物判断造成的影响。
本发明所采用的技术方案具体包括以下步骤:
S1,获取当前帧的点云数据、当前帧的车辆速度CurV和车辆航向角CurHeading,对激光雷达数据进行建模,将三维形式的点云数据,去除垂直方向的信息,投影到水平面上,转换成二维形式的信息并进行量化处理,生成具有宽和高的当前帧图像数据;
S2,定义参考帧索引图像;判断当前帧图像是否为系统采集的第一帧图像,若是,则利用当前帧图像数据对参考帧索引图像进行更新,得到当前参考帧索引图像并跳转至步骤S4,否则利用车速与航向角对上一帧图像对应的参考帧索引图像和当前帧图像进行配准,得到当前参考帧索引图像;
S3,对当前参考帧索引图像进行热核扩散处理,减少配准误差并去掉雷达数据中不稳定的噪点,并根据处理后的图像以及当前帧图像更新当前参考帧索引图像;
S4,按照固定阈值,根据当前参考帧索引图像生成二值化的雷达点云数据图像并输出,同时更新计数器,并跳转至步骤S2进行下一帧点云数据的处理。
与现有技术相比,本发明具有以下优点:
以往的算法依赖GNSS定位经纬度位置的精度。当车辆行驶到隧道、高大建筑物中间时,GNSS信号会受到很大的影响,造成GNSS定位精度严重下降,致使建筑物等道路两旁的障碍物信息在融合后,会显示在道路上。
此算法只依赖于激光雷达获取的点云数据、车辆行驶速度和偏航角,鲁棒性更好,适用范围更大。车辆行驶速度和偏航角可以从组合惯导获取,也可以从车辆CAN总线获取,或者从IMU惯性测量单元获取。
附图说明
图1为本发明方法流程图;
具体实施方式
为了使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
智能驾驶中激光雷达点云数据与车辆信息融合的方法,包括以下步骤:
S1,参数初始化,对参考帧索引图像Index赋初值为0,帧数索引CurFrame赋初值0,参考帧的车速RefV赋初值0,参考帧的航向角RefHeading赋初值0,雷达数据的输入帧率FPS,雷达点云数据量化为图像后的像素宽W、像素高H,雷达所在点在图像中的像素坐标(MID_W,MID_H)。
S2,获取当前帧的输入数据
获取当前帧的点云数据,当前帧的车辆速度CurV和车辆航向角CurHeading,根据不同的雷达点云数据协议,将当前帧的点云数据图像存储为(x,y,z)形式的点云数据,该坐标中各个分量的单位均为米,其中(0,0,0)表示雷达所在的位置。
S3,根据下式将当前帧的三维点云数据CurCloud转换为离散的二维图像数据CurM。点云数据转化为图像时,考虑到雷达点云的精度,0.1米的间距量化为1个像素。
其中,0≤i<W,0≤j<H,(x,y,z)为当前帧的点云数据CurCloud中的三维点。这一步是为了将(x,y,z)格式的三维点列表转换为一幅二值图像。其中x,y,z是三维空间坐标系中三个数轴的坐标,取值范围是实数。(MID_W,MID_H)为车辆在图像中的坐标位置。图像中值为0的点表示没有障碍物,255表示有障碍物。转换为图像之后,提供了后面处理步骤的基础。
S4,当CurFrame为0时,跳转到步骤S5,否则跳转到步骤S6;
S5,根据CurM的值,对Index进行初始化,
然后跳转至步骤S8;该步骤是为了对上一帧参考帧索引图像进行初始化,将有障碍物的点的索引值设置为一个合理的值。此步骤中的数值8为一个经验值,也可以设置为别的比0大的整数值。
S6,对上一帧的参考帧索引图像进行配准
利用下式
对当前帧图像CurMn与上一参考帧索引图像Indexn-1做配准,得到配准后的当前参考帧索引图像Indexn';式中,Yaw为第n帧图像与第n-1帧图像中车辆的偏航角,
Yaw=RefHeading-CurHeading
RefHeading为上一参考帧索引图像数据中车辆的航向角,亦即采集上一帧图像时车辆的航向角,CurHeading为采集当前帧图像时车辆的航向角,RefHeading,CurHeading和Yaw的单位均为弧度;ShiftY为车辆在两帧之间前进方向行走的距离,单位是像素,1个像素代表的物理意义是0.1米。
ShiftY=10*((CurV+RefV)/2)/FPS
RefV表示上一参考帧的车速,亦即采集上一帧图像时的车速,CurV表示采集当前帧图像时的车速,FPS表示雷达数据的输入帧率。
找到上一帧图像中点(i,j)到当前帧图像(i',j')的对应关系后,将上一帧的参考帧索引图像Indexn-1转换为对应到当前时刻的索引图像,也即Indexn'。物理意义上讲,当在上一时刻时,一个障碍物位于点(i,j)时,则在当前时刻,这个障碍物会处在点(i',j')处。车辆在运动时,(i,j)和(i',j')是不相同的;当车辆静止时,(i,j)和(i',j')是相同的。
S7,对配准后的参考帧索引图像Indexn'进行热核扩散,得到扩散之后的图像IndexHeat';如下式所示:
模拟物理中热向周围扩散的思想,对配准后的索引图像中每一点进行操作,针对点P,对于其周围上下左右四个位置的点,值增大为P点值的一半,小于该点值一半的点保持值不变;对于周围左上角、右上角、左下角、右下角四个角上的点,值增大为P点值的三分之一,小于P点值三分之一的点保持值不变;P点本身的值减少1。进行热扩散的目的是为了减少配准时产生的误差,以及去掉雷达数据中不稳定的噪点。
根据当前帧的图像,以及配准后的参考帧索引图像,更新参考帧索引图像;
将当前帧中出现的新的障碍物看做新的热源,并在其对应位置在热扩散后的图像上累加一个数值,例如4,达到信息增强的目的;当前帧中没有障碍物的位置维持热扩散的结果不变。这样得到更新后的参考帧图像Index。
更新后的参考帧图像中,每个点的值为0到10之间的整数。计算过程中,计算结果是分数时,对值进行取整,舍弃小数部分;是负数时修改为0;大于10时修改为10。
S8,获取当前帧的输出图像,根据更新后的参考帧索引图像,按照一个固定的阈值,生成二值化后的雷达点云数据图像Obstacle。
雷达点云数据图像Obstacle即为融合后的结果,该图像输出给自动驾驶系统别的功能模块使用。
S9,更新计数器,继续下一帧点云数据的处理,跳转至步骤S2。
在本说明书的描述中,术语“一个实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
说明书中未阐述的部分均为现有技术或公知常识。本实施例仅用于说明该发明,而不用于限制本发明的范围,本领域技术人员对于本发明所做的等价置换等修改均认为是落入该发明权利要求书所保护范围内。
机译: 点云数据处理装置,点云数据处理方法,点云数据处理程序,车辆控制装置和车辆
机译: 点云数据处理装置,点云数据处理方法,点云数据处理程序,车辆控制装置以及车辆
机译: 激光雷达和用于产生激光点云数据的方法