一种自动驾驶中基于可变网格的图像特征检测的车辆纵向定位系统及方法与流程

文档序号:11249744阅读:1745来源:国知局
一种自动驾驶中基于可变网格的图像特征检测的车辆纵向定位系统及方法与流程

本发明属于汽车自动驾驶技术领域,涉及一种自动驾驶汽车的自车定位的系统及方法,具体是指一种基于可变网格的图像特征检测在自动驾驶中的车辆纵向定位的系统及方法。



背景技术:

智能车辆的自动驾驶系统需要依赖高精度地图数据,按照指定的目的地信息,动态、经济的完成全局与局部路径规划形成自身导航轨迹,安全、便捷的完成无人车辆的各项控制动作。在这一系统的执行过程中,需要实时、准确的了解车辆自身的高精度定位信息,才能对当前行驶状态控制做出决策层面上的判断。

自动驾驶中常规的定位方式一般为gnss(globalnavigationsatellitesystem)结合imu(inertialmeasurementunit)组成。gnss在郊外平原地带能够获取到较好的定位精度,但在复杂的城区环境中,信号传播的多路径反射效应极易造成数米范围的定位精度误差;imu一般采用陀螺仪、多轴加速度传感器等计量仪器构成,实时检测当前自身的姿态与加速度,根据imu能够准确递推一定距离内的车辆运动信息,但使用imu进行航迹推算的过程中会产生误差积累,随时间增长定位精度的退化越严重。通过融合与插值gnss与imu数据,可以达到较好的高精度定位效果。

然而,在自动驾驶系统中如果仅采用gnss+imu方式完成高精度定位是无法保证在自动决策的执行过程中安全、精确的完成控制动作,需要依赖额外的定位方法与传感器进行辅助。一般的,使用lidar(lightdetectionandranging)获取的激光点云进行匹配以完成车辆在局部环境中的定位,以及使用多摄像机进行目标检测与识别、深度计算、运动估计等来完成定位。这两种分别使用中高成本lidar和低成本多摄像机的方案,与常规基于高成本gnss+imu方案相互辅助校正误差,在自动驾驶中能提供高精度定位信息。

现阶段基于摄像机的自动驾驶辅助定位方式,通常是计算相机姿态变换来构成视觉里程计,这一方法能够较准确的确定出车辆在一定时间范围内的位姿状态。但基于双目摄像机的视觉里程计需要实时进行左右目图像的矫正、配准和视差图的计算,并不能以较高频率输出,对于1600×1200像素尺寸的图像进行双目图像的深度计算帧率小于10fps(framespersecond)。图像处理帧率较低,依赖摄像机所计算得到的定位信息输出频率也较低,与gnss+imu等其他定位信息进行融合时,则需要考虑更多的时间同步、线性/非线性插值等问题,影响高精度定位信息的可靠性、实时性、准确性。能够达到实时、适用、鲁棒的车道级定位精度的多摄像机图像处理技术方案,在智能交通检测系统与自动驾驶领域中占据核心的地位。



技术实现要素:

针对现有技术的不足,本发明要解决的技术问题是提供一种基于可变网格的图像特征检测在自动驾驶中的车辆纵向定位的系统及方法,应用基于可变网格区域(携带尺度信息)的orb特征提取算法,在车载双目视觉系统中检索到特定的前方目标,并输出视觉系统到前方目标的距离,根据这一距离以及双目系统在车辆中的安装位置,即可与高精度导航中的车辆轨迹进行校正,提高自动驾驶中的车辆纵向定位精度。

本发明所采用的技术方案如下:

一种基于可变网格的图像特征检测在自动驾驶中的车辆纵向定位系统,该系统按照功能模块划分包括高精度导航系统、双目摄像机、图像预处理器、目标检测器、目标跟踪器和目标距离计算器;

所述高精度导航系统,用于实时进行地图检索并根据车体当前位置向目标检测器发送车体行进前方的出现或将要出现的目标物的名称id,并根据特定目标距离对高精度导航进行纵向距离矫正;

所述双目摄像机,包括左目摄像机和右目摄像机,用于实时采集车辆行进前方视频图像,并输出给图像处理器进行预处理;

所述图像预处理器,用于根据双目摄像机标定的内外参数进行双目摄像机采集图像的畸变矫正、极线约束校正、图像的灰度化,以及图像的分发工作;

所述目标检测器,用于接收到高精度导航系统发送来的特定目标物名称id,对图像预处理器分发的灰度图像中左目图像进行基于可变网格的图像特征匹配工作,并离线生成的目标物可变网格特征文件;

所述目标跟踪器,用于根据图像预处理器输入的图像以及目标检测器检测到的特定目标物的检测矩形框,完成基于图像区域的跟踪操作,将特定目标区域图像及其邻域部分图像作为卷积模板,在随后的图像帧中判断整幅输入的新场景图像中卷积响应最高的区域,再用最高响应区域更新当前卷积模板;并持续输出每一帧最高响应区域作为目标的跟踪位置;

所述目标距离计算器,用于通过极线几何约束计算双目摄像机距离目标物的垂直方向上的距离,进而得到车体当前帧采集时与特定目标物的距离。

基于上述系统实现的一种基于可变网格的图像特征检测在自动驾驶中的车辆纵向定位方法,包括以下步骤:

s1,在部署过高精度地图与gnss+imu系统的自动驾驶车辆上,安装前向双目摄像机,并对双目摄像机进行内外参数的标定;

s2,根据高精度地图数据库中的场景中特定目标物,结合在实际道路中运行时摄像机采集的视频帧,提取包含特定目标区域的多帧图像,构成目标物提取图像帧序列,进行目标物特征提取,制作基于可变网格的特征描述文件;

s3,在自动驾驶车辆启动准备阶段,依次完成高精度导航系统、双目摄像机、图像预处理器、目标检测器、目标跟踪器、目标距离计算器各个模块的初始化工作;

s4,在自动驾驶线上运行阶段,整套系统需要高精度导航进行检测过程的触发,需要输入系统的数据源是高精度地图中目标物的名称id、导航中计算出的大概距离,以及双目摄像机经过预处理操作输入的图像帧序列,按照“检测”-“跟踪”-“距离输出”的流程进行场景中特定目标物的距离输出;

s5,通过摄像机计算输出的距离,输入至高精度导航模块,辅助执行纵向校正过程。

与现有技术相比,本发明具有以下优点:

1.对于自动驾驶面临的动态复杂道路条件,利用低成本视觉传感器,可以有效地校正gnss+imu定位系统纵向误差,提高自车定位精度;

2.降低了传统双目视觉系统中运算复杂度,使视觉传感器部分的定位达到系统实时性的输出频率要求;

3.在实际目标检测与跟踪过程中,较多计算使用图像卷积操作,便于本发明方法工程应用中在嵌入式+gpu系统中的移植与硬件加速。

附图说明

图1是根据本发明内容实施的自动驾驶中一种基于可变网格的图像特征检测的纵向定位系统结构图及方法流程示意图;

图2是对应本发明内容步骤2的人工标记特定目标物所在区域的结果示意图;

图3是本发明所述的可变网格划分结果示意图,该网格划分方法采用的是步骤42所述的二分划分方法;

图4是特征匹配用于目标物检测与定位的示意图,其中左侧为待检测的目标物,右侧为测试场景,通过特征点检测与匹配过程,能够得到两幅图中的特征点对应关系,计算其对应关系的单应性映射,即可在测试场景中得到目标物的检测结果与目标可能所在的检测区域;

图5描述的是左右目摄像机的图像输入目标检测器并成功完成目标物的检测与提取的运行结果示意图;

图6描绘了渐进度的判断方式:外包矩形abcd(图像外边缘)以及内部对特定目标物检测框矩形mnop,内部矩形框mnop四边分别距离外包矩形的垂直距离为dis_t、dis_r、dis_b以及dis_l;

图7描述的是按照基于可变网格的图像特征匹配算法的0,1,2序列号进行匹配的结果图;左侧为不同序列号检测模板的重绘图,右侧为实际摄像机采集的场景图像帧,从左侧至右侧连接的线段为绘制的对应特征匹配点连线;

图8为连续的20帧图像跟踪序列;左上角图像为输入的第一帧图像以及待跟踪的目标矩形框,其余图像为连续帧的跟踪结果。

具体实施方式

为了使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

本发明提供了一种基于可变网格的图像特征检测算法,通过在自动驾驶系统中安装摄像机所采集到的车辆周边影像,通过输入高精度导航系统中给出的关于特定场景目标信息与高精度导航中道路计算的目标距离,通过应用一种基于可变网格区域大小(携带尺度信息)的特征提取算法,可以在车载双目视觉系统中检索到特定的前方目标,并输出视觉系统到前方目标的距离。根据这一距离信息以及双目系统在车辆中的安装的物理位置,即可与高精度导航中的车辆轨迹进行校正,提高自动驾驶中的车辆纵向定位精度。

上述高精度地图中的特定场景目标,指的是各种交通信息指示牌等固定的场景物体,这些特定目标一般存在于高精度地图数据库内,因此能够在自动驾驶的导航系统中被提前约定数据关系,即一系列属于某一特定目标的可变网格特征描述,与高精度地图数据中对应目标的名称。在自动驾驶车辆运动过程中,高精度导航系统预判前方可能出现到车载摄像机视场内的目标物名称,将这一信息发送至目标检测模块调用数据库中预制的可变网格特征文件,用以完成特定目标的检测与匹配。

本发明在自动驾驶的纵向辅助定位上提供一种基于可变网格的图像特征检测与提取方法,具体步骤如下:

s1,在部署过高精度地图与gnss+imu系统的自动驾驶车辆上,安装前向双目摄像机,并对双目摄像机进行内外参数的标定;

这一步骤中,需要详细记录的设备属性与参数有:左目摄像机相对于车身坐标系的安装位置信息,左目摄像机内参m1、d1,右目摄像机内参m2、d2,和左右目摄像机的外参r、t,其中m1与m2分别表示两个摄像机的焦距fx、fy和主点位置cx、cy,形式为3*3矩阵形式:d1、d2分别表示左右目摄像机的成像畸变系数;外部参数r、t用于描述右目摄像机的位置相对于左目摄像机的旋转角度和平移距离。

通过双目摄像机的内参数可以校正摄像机成像畸变,以及在进行视差计算、深度计算中应用左右目摄像机外参。一方面可以通过内参数校正由于镜头透镜安装引入的切向与径向畸变,使成像结果中类似平整直线边缘退化成弧线边缘的畸变误差被尽可能消除;另一方面,右目相机像平面中一点(x′,y′)与场景中的3d点(x,y,z)之间的投影关系可以通过相机内、外参数给出:其中s仅代表在尺度上的变化量。

s2,根据高精度地图数据库中的场景中特定目标物,结合在实际道路中运行时摄像机采集的视频帧,提取包含特定目标区域的多帧图像,构成目标物提取图像帧序列,进行目标物特征提取,制作基于可变网格的特征描述文件;

其中,进行目标物特征提取的图像,源于左目摄像机采集的视频帧。对于特定目标物进行特征提取的视频帧,可按照粗略估算的近、中、远采集3帧图像构成目标物提取序列。特别的,本发明支持更多帧目标物图像进行特征提取,但实际应用中出于对特征匹配效率的考虑,不大于3帧视频帧进行特征提取为优。

这一步骤中,可根据特定目标检测算法和/或手动标记的方法,在图像帧中检测和/或框选出场景中的特定目标物,特征描述文件中需要记录此时框选的网格尺寸。距离目标物不同距离时所采集的图像序列,网格尺寸能够反馈采集时摄像机(自动驾驶车辆)距离目标物的距离信息,以及网格内的目标物在图像中所呈现的细节、特征点数列,即含有丰富的尺度信息。

特别的,本发明在进行基于可变网格的图像特征提取的计算过程中,使用的特征描述算法为经典orb(orientedbrief)特征描述算法。进一步,经序列化后存储的目标物可变网格特征文件的存储内容定义如下:

a)高精度地图数据库中,可检索的目标物的名称id;一般的,为一串数字编号;

b)根据图像采集时距离目标物的远近程度,为采集到的图像帧序列分配的序列号;从0开始分配序列号。当前目标物采集3帧,则对应0,1,2的图像序列编号。

c)在对应不同序列号的图像帧中,特定目标物网格中的关键特征点序列,所述的关键特征点序列指的是多帧之间可以被匹配的特征点子集,即在图像帧序列中表示同一点的特征点所组成的序列;

d)与特征点序列相对应的特征点的orb特征描述;

e)存储图像中特定目标物的检索网格相关信息,一般的,包括该网格的左上角图像坐标与网格在图像中的宽与高;对于人工标记的方法,网格即对应该帧图像中目标物的最大外包矩形;对于特定的目标检测算法而言,网格对应了当前帧运行目标检测算法时获取的目标物检测定位输出的矩形窗口;

f)根据当前传统的gnss+imu导航系统所得到的采集时与目标物之间的距离信息。

进一步,可以离线的完成基于可变网格的图像特征的提取,即制作了与高精度地图数据中特定目标物相关的特征模板库文件。

s3,在自动驾驶车辆启动准备阶段,依次完成各个模块的初始化工作;

按照本系统的功能模块划分,需要依次完成高精度导航系统、双目摄像机、图像预处理器、目标检测器、目标跟踪器、目标距离计算器的各个模块初始化任务。

图像预处理器需要完成双目摄像机采集图像的畸变矫正、极线约束校正、图像的灰度化,以及图像的分发工作,因此在初始化时需要依赖步骤1中摄像机标定的内、外参数。进一步,彩色图像的灰度化需要通过0.299*b+0.587*g+0.114*r完成,b、g、r分别代表每一像素点的蓝色、绿色、红色三通道的像素强度。

目标检测器需要完成的任务是,在接收到高精度导航系统发送来的特定目标物名称,对图像预处理器分发的灰度图像中左目图像进行基于可变网格的图像特征匹配工作。因此,目标检测器需要初始化步骤2中离线生成的特征文件。

目标跟踪器会完成基于图像区域的跟踪操作,由于该模块使用了通用离散傅里叶变换的运算库fftw(fastestfouriertransforminthewest),需要在初始化阶段完成fftw的预设参数读入。

目标距离计算器是执行基于双目摄像机的深度运算的核心模块,初始化依赖于双目摄像机的内外参数。

s4、在自动驾驶线上运行阶段,整套系统需要高精度导航进行检测过程的触发,需要输入系统的数据源是高精度地图中目标物的名称、导航中计算出的大概距离,以及双目摄像机经过预处理操作输入的图像帧序列,按照‘检测’——‘跟踪’——‘距离输出’的流程进行场景中特定目标物的距离输出。

进一步,所述步骤4包括以下子步骤:

s41,利用高精度导航系统发送进入地图检索范围的目标物名称id,将在步骤s3中初始化好的目标物对应的特征描述文件预读取至目标检测器;特别的,需要预读取出对应的网格相关信息与采集时距离信息,即步骤2中存储内容定义e与定义f。

s42,利用高精度导航系统触发时估计的目标物距离值,与步骤s41中预读取的目标物特征描述文件内容,判断出此时可变网格使用的网格尺寸信息,并采用基于二分查找的划分方法,使用该网格尺寸对图像预处理器输出的左目摄像机采集的图像进行划分,得到当前可变网格;计算过程如下:

(1/2)(n+1)*lenglobal<=lenblock<=(1/2)n*lenglobal

式中,n是需要根据迭代计算出的二分查找次数,即均分次数;lenglobal为经过预处理的摄像机图像的长或宽;lenblock为当前的可变网格使用的尺度信息中,网格尺寸的长或宽;通过从n=1开始迭代运算直到计算出满足上式的n值;需要注意的是,这里分别按照图像的y、x方向计算基于图像的长、宽所对应的ny和nx;分别在左目摄像机经预处理后的输入图像上,平均划分长为ny份、划分宽为nx份,所划分的图像网格即为当前可变网格。

s43,依次遍历上一步骤得到的基于可变网格划分后的图像区域,对每一区域进行orb特征提取,并完成与目标物特征描述文件中的关键特征点序列及特征点的orb特征描述(即步骤41中载入的存储内容定义c、定义d)的检测与匹配;若匹配成功,则对图像预处理器输出的右目摄像机采集的图像进行相同的检测与匹配并跳转至步骤s44;否则图像预处理器读入下一帧的左目图像,重新执行该步骤;

进一步的,匹配过程具体包括以下内容:首先,通过orb特征点描述的差异距离来判断是否两个orb特征点为相似,对每一区域的特征点与步骤s41载入的模板特征点之间首先完成一次特征点匹配,得到一个从“检测区域”到“模板区域”的特征点匹配对的序列,再反向的从“模板区域”到“检测区域”完成同样的操作得到交叉验证的特征点匹配对的序列;所述检测区域指左目相机采集到的特定目标物所在区域,所述模板区域指从高精度地图数据库中的特征目标物所在区域;其次从两组匹配对序列中得到“检测区域”与“模板区域”之间存在的特征点的映射关系,并将正向映射与反向映射之间存在的可逆变换,定义为重映射关系;然后检测当前匹配过程中,是否特征点对的数量达到可求取映射矩阵的阈值,一旦超过4个特征点对那么即可计算映射矩阵,再进行重映射关系检测,如果满足,则本次匹配过程成功,否则失败。

进一步的,若匹配过程一直失败,直到高精度导航组件从地图数据中检索到当前车辆已离开了特定目标物的可视区域,则宣告当前一次检测任务失败,本次计算流程不再继续进行下去。

s44,分别将成功完成目标物检测的左、右目图像帧与左右目图像检测矩形框作为参数,完成对左目图像、右目图像的特定区域的跟踪器,跟踪器初始化过程需要传入的参数是上一步骤成功获取到的左、右目检测矩形框以及对应的左右目图像,一旦跟踪器初始化成功,后续过程中持续的将图像预处理器输出的左右目图像帧分别输入至对应的目标跟踪器,目标跟踪器将特定目标区域图像及其邻域部分图像作为卷积模板,在随后的图像帧中判断整幅输入的新场景图像中卷积响应最高的区域,再用最高响应区域更新当前卷积模板;所述特定目标区域图像即为特定目标物的检测矩形框区域;

目标跟踪器持续输出每一帧最高响应区域作为目标的跟踪位置;

进一步的,判断跟踪位置与摄像机采集的图像中边缘的接近程度,使用[0,1]区间的渐进度量化。渐进度的计算方法是分别计算当先的特定目标跟踪位置的外包矩形4顶点分别到图像外部4个边缘的距离最小值dbmindis,根据场景图像的高hscn与宽wscn,可以计算渐进度矩形(当前帧图像中目标跟踪的外包矩形框距离场景图像边缘的最短距离,作为一个虚拟的、名为渐进度矩形的每一条边与场景图像边缘的距离)与场景图像矩形面积的比值((hscn-2*dbmindis)*(wscn-2*dbmindis))/(hscn*wscn)。当比值越趋近于1则跟踪位置越接近于图像边缘。从成像意义上描述,当车辆即将从目标物旁行驶经过时,从摄像机所采集的图像上看,目标物的图像也是即将从图像中心附近移动到图像边缘,然后越过图像边缘(超出摄像机视场角)直到从图像边缘消失。

从渐进度的计算输出上看,可以很好的反映出此时摄像机是否与目标在合适的距离,以及是否需要根据渐进度作为步骤45以及后续步骤的截止条件。一般的,将设置渐进度阈值为0.8~0.9,大于这个阈值就认为目标过于接近图像的边缘处,可能有部分区域已经超出图像边缘无法完成左、右目直接的图像匹配过程。

s45,判断跟踪位置与摄像机采集的图像中边缘的接近程度,即渐进度,并设置渐进度阈值为0.9,若左、右目所跟踪到的目标外包矩形的图像边缘渐进度都不大于0.9,则进入目标距离计算器,通过极线几何约束来计算双目摄像机距离目标物的垂直方向上的距离,进而得到车体当前帧采集时与特定目标物的距离;否则,认为此时左、右目摄像机已经无法完整的采集到特定跟踪目标物。

进一步,进入目标距离计算器的左右目图像,以及相应的跟踪矩形框区域,能够通过计算极线几何计算出对应目标物的景深,也就是得到了在当前图像帧采集时,双目摄像机距离目标物的垂直方向上的距离,这一距离可以根据左目摄像机在车辆坐标系下的位置得到车体当前图像帧采集时对特定目标物的距离。

步骤5、通过摄像机端计算输出的距离,输入至高精度导航模块,辅助执行纵向校正过程。

结合附图1,对本发明做进一步说明:

首先,在部署了本发明的软硬件系统的自动驾驶车辆上,启动了双目摄像机系统,初始化了图像预处理器,经过预处理的左、右目图像会被相机畸变校正、双目极线校正、裁剪以及缩放。处理后的左、右目图像会按需求被分发至目标检测器、目标跟踪器、目标距离计算器。

其次,使用预制的可变网格离线特征文件初始化目标检测器,使用fftw配置文件初始化目标跟踪器,使用双目摄像机内外参数初始化目标距离计算器。待初始化成功后,整套系统可上线运行。

第三,在自动驾驶车辆行驶过程中,由高精度导航系统发送“需要前方特定目标检测”指令至目标检测器。目标检测器会按照此时通过导航系统计算出目标物距离来调用不同的目标物序列号(对应特征文件存储格式b项),如说明书附图7所示,从上至下反映了按照基于可变网格的图像特征匹配算法的0,1,2序列号进行匹配的结果图,左侧为不同序列号检测模板的重绘图,右侧为实际摄像机采集的场景图像帧,从左侧至右侧连接的线段为绘制的对应特征匹配点连线。

第四,待左目检测成功后,对右目图像进行相同的操作步骤。如果右目依旧检测成功,则将进入目标跟踪器的操作环境。在图8的连续20帧图像跟踪序列中描述了这一过程的实例,图8左上角图像为输入的第一帧图像以及待跟踪的目标矩形框,其余图像为连续帧的跟踪结果。左、右目图像同时输入目标跟踪器,并得到跟踪的结果。

第五,将当前左、右目图像帧的跟踪结果与经过图像预处理器分发的左、右目图像输入目标距离计算器,得到输出的距离值。一般的,如果此步骤返回了失败标示,则需要检测当前左右目图像中是否包含特定检测目标物,即再次调用目标检测器查看返回值,用以判断是否当前目标物脱离了摄像机的可视范围、是否本次特定目标检测、跟踪、距离输出的处理流程完结。

第六,上一步骤中输出的距离计算结果,以及对应的采集摄像机左、右目图像的系统时间戳,一并返回至高精度导航模块,直接或间接校正高精度导航对应系统时间戳的纵向车辆位置。

至此,本发明的实施例结束,即完成了一次自动驾驶中基于可变网格的图像特征检测在车辆纵向定位上的应用实例。

在本说明书的描述中,术语“一个实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

说明书中未阐述的部分均为现有技术或公知常识。本实施例仅用于说明该发明,而不用于限制本发明的范围,本领域技术人员对于本发明所做的等价置换等修改均认为是落入该发明权利要求书所保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1