首页> 中国专利> 一种基于视觉的非结构化道路的居中行驶方法

一种基于视觉的非结构化道路的居中行驶方法

摘要

本发明公开了一种基于视觉的非结构化道路的居中行驶方法,通过基于车载摄像头拍摄图片进行图像处理,利用神经网络预测出的透视变换矩阵,能够适用于非平整路面,并且使得变换后的道路轮廓可用圆弧或者直线进行拟合,鸟瞰图变换提取出道路轮廓后,将道路边缘的点转化成激光数据发布出去以建设虚拟墙,最后在道路两边的虚拟墙中间设置若干个轨迹点作为推荐点以使无人车在道路中间行驶。本发明能够不需要额外的成本生产额外辅助的硬件设备,能够适用于非结构化路面,使用更加的方便、灵活、快捷。

著录项

  • 公开/公告号CN112528829A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 中国科学院深圳先进技术研究院;

    申请/专利号CN202011416257.7

  • 申请日2020-12-07

  • 分类号G06K9/00(20060101);G06K9/34(20060101);G06K9/40(20060101);G06K9/44(20060101);G06N3/04(20060101);

  • 代理机构11430 北京市诚辉律师事务所;

  • 代理人范盈

  • 地址 518055 广东省深圳市南山区深圳大学城学苑大道1068号

  • 入库时间 2023-06-19 10:19:37

说明书

技术领域

本发明属于自动驾驶领域,具体涉及一种基于视觉的非结构化道路的居中行驶方法。

背景技术

无人车在道路行驶中,由于非结构化路面边缘没有车道线和清晰的道路边界,例如:乡村道路、山区道路、城市非主干道等,一般也没有路肩石,或者路肩石很矮,而车载激光一般放在车顶或者车中间,2D激光就会有一些视野盲区,看不见高度低于它所在位置的地方,无法探测到道路边缘障碍或者误差较大,容易产生安全隐患。

路面检测常用于无人驾驶领域,路面检测在自动驾驶中是不可或缺的一部分,例如,提取基本道路元素和车道以供导航规划。只有检测出了可行驶区域,无人车才能正常行驶。非结构化道路的居中行驶能够保证无人车的安全,由于道路情况复杂多变,在道路边缘设置虚拟墙并让无人车沿着道路中间的推荐点行驶是很有必要的。虚拟墙是一堵假墙,对于移动设备却可以达到物理墙的效果,可以阻挡移动设备穿过此处,一般用于安全考虑不允许机器人进入某些位置,扫地机或移动机器人的设置的虚拟墙经常采用硬件来实现,如红外墙或磁性条等。目前的方法多是基于使用额外的辅助设备,利用机器视觉或者手工在地图上描绘设置虚拟墙。把道路边缘设置成虚拟墙,能够防止无人车进入非行驶区域,让无人车行驶更加安全。道路的居中行驶同样也是为了保障行车安全,在非结构化道路中,道路情况复杂多变,可能会出现各种不安全的情况,道路居中行驶能够给无人车足够多的时间来应对突发情况。

然而,相关技术采用鸟瞰图变换建立虚拟墙,步骤繁琐并且不具有鲁棒性,一方面,如果摄像头发生晃动或者位置移动,先前计算的透视变换矩阵就不再适用;另一方面,即使摄像头没有发生位置偏差,路面不平整都会造成变换的不准问题。另外,现有虚拟墙的建立有的需要额外的成本生产辅助硬件设备,而且在机器人和虚拟墙上需安装相关的感应装置,而且在设置新的虚拟墙需要重新移动硬件设备进行生成,有的需要进行人手工在地图上进行绘制,当在新的地图上又需要重新进行绘制,不够方便灵活,步骤较为繁琐,不够智能化。常用道路居中行驶路线推荐的方法有通过构造广义的Vornoni图,需要采用扩展障碍物边界的方法,该方法复杂度较高,不易实现,也有的方法是遍历可行驶区域,发射方向相反的光线,如果光线碰到障碍物的距离相等,则该点为道路中线上的点,但是该方法在部分非结构化路面,如没有路肩石的路面,光线碰不到障碍物,则无法形成道路中线推荐点。

发明内容

为了解决现有技术中的问题,本发明提出一种基于视觉的非结构化道路的居中行驶方法,不需要额外的辅助设备,无人车实时根据拍摄图片自动建立虚拟墙,具有良好的鲁棒性,可移植性,准确性,能够适用于非结构化路面,使用更加地方便、灵活和快捷。

为了实现以上目的,本发明提供了一种基于视觉的非结构化道路的居中行驶方法,包括以下步骤:

1)可行驶区域检测:对车载摄像头获得的图片利用深度学习进行可行驶区域检测,得到道路图片,并检测出可行驶区域和非可行驶区域,二者交界则为道路边缘;

2)道路轮廓提取:

2.1)二值化图像处理:对可行驶区域检测得到的道路图片进行二值化处理,得到二值化图;

2.2)鸟瞰图变换:首先对变换矩阵H的系数进行如下约束:

然后构建神经网络,学习得到变换矩阵H;

最后利用变换矩阵H将二值化图转换为鸟瞰图;

2.3)提取轮廓:对鸟瞰图进行拓扑分析,确定鸟瞰图边界的围绕关系,得到多条轮廓;

3)轮廓优化并计算出发布激光数据需要的角度对应的距离:

3.1)寻找主轮廓:计算每条轮廓的长度,选择轮廓数最大的作为主轮廓;

3.2)主轮廓平滑;

3.3)轮廓拟合:对平滑后的主轮廓采用步骤2.3)方法进行轮廓提取,并用圆弧对主轮廓进行拟合;

3.4)图像数据转激光数据发布:

首先,通过如下方程依次求解1~180度时的解(x

y=tan(k)x

Ax

其中,k为1,2,3...180;

然后,计算(x

其次,把角度和距离赋值给laserScan的数据项,并将d

最后,将激光数据发布出去建立虚拟墙;

4)道路居中行驶路径点推荐:

4.1)计算轮廓质心;

4.2)根据质心确定道路轮廓左上点p

4.3)确定求出轨迹所需的三个道路中点:寻找左轮廓到p

4.4)轨迹点生成:利用atan2函数获取p

进一步地,所述步骤2.2)中神经网络包括6层普通卷积层和2层全连接网络,每层卷积网络的激励函数用ReLU函数,利用批规范化加速网络训练,每两层普通卷积以后采用平均池化的方法缩小输出向量维数,学习得到变换矩阵H。

进一步地,所述步骤2.3)中围绕关系为确定外边界、孔边界以及两者的层次关系,外轮廓是像素为1连通域内像素为0连通域环绕的轮廓点,孔轮廓是像素为0的连通区域被像素为1的连通区域环绕的轮廓点。

进一步地,所述步骤3.2)中主轮廓平滑包括:首先对主轮廓进行中值滤波,去除小噪声;然后对主轮廓进行填充恢复成新的二值图像;最后对新的二值图像进行闭运算,填充道路图像的细小空洞并且平滑边界。

进一步地,所述步骤3.3)中轮廓拟合包括:首先,把道路边缘轮廓从图像坐标系转换到摄像机坐标系,采用如下公式:

x

y

其中,(x

然后,在摄像机坐标系下用Ax

更进一步地,所述步骤3.3)中摄像机坐标系下对轮廓进行拟合包括:

a)通过坐标y去重新预测x的过程:假设道路轮廓的坐标为m

b)采用误差函数为最小二乘法对多项式参数进行拟合:w=(Y

c)将

进一步地,所述步骤3.4)中鸟瞰图的分辨率计算如下:

假设原图分辨率为p,取原图中的水平的两个像素p

则(x

进一步地,所述步骤4.1)中计算轮廓质心包括:对于一幅M×N的数字图像f(i,j),其p+q阶几何矩m

其中,f(i,j)代表图像在(i,j)的灰度值,m

进一步地,所述步骤4.2)中4个顶点确定方法包括:

首先,遍历道路轮廓,寻找不同角度范围之内距离质心最远的4个点即为4个顶点,采用atan2(y,x)函数对角度进行判断,atan2取值范围为[-π,π],对应关系如下:

然后,计算轮廓的凸包,4个顶点在凸包的点集中:

左上点p

右上点p

③右下点p

④左下点p

则确定上下两个道路中点p

进一步地,所述步骤4.4)中对于直线轨迹:

根据p

对于圆弧轨迹:

根据p

a=x

b=y

c=x

d=y

e=bc-ad

圆心(x

半径

确定圆心半径R后,中间n点可通过如下方法计算而出:

p

p

p

当左拐时,满足x

当右拐时,满足x

与现有技术相比,本发明首先对车载摄像头获得的图片利用深度学习进行可行驶区域检测,检测出可行驶区域和非可行驶区域,二者交界则为道路边缘,对图像进行二值化处理,然后构建神经网络,构造损失函数对透视变换矩阵进行预测,使得道路轮廓可用圆弧或者直线表示,接着对道路俯视图提取轮廓并裁剪细小轮廓,用形态学操作减少边缘锯齿,从而得到较为光滑的道路轮廓图,然后对轮廓用圆弧或直线进行拟合,最后计算拟合线上的点其到摄像头的角度,找到轮廓点到摄像头角度最接近1~180度的点的位置,记录下这些点,并计算该轮廓点距离摄像头的距离,最终可得到1~180度分别对应的轮廓点距离摄像头距离,有了这两个数据就可以发布虚拟的激光数据,由此便可创建出虚拟墙,接着进行道路居中行驶规划,有了光滑的道路轮廓图,可计算出该轮廓的质心,接下来就是计算轮廓点距离质心最远的4个点,也就对应着道路俯视图中道路的左下点、右下点、右上点和左上点,由此便可计算出道路上下两个中点,利用直线轨迹和圆弧轨迹的特征计算出道路最中间点,根据上述三点依据轨迹模型生成连续的多个点作为无人车行驶推荐点。本发明不需要额外的辅助设备,无人车实时根据拍摄图片自动建立虚拟墙,具有良好的鲁棒性,可移植性,准确性,能够适用于非结构化路面,使用更加地方便、灵活和快捷。

附图说明

图1为本发明的方法流程图;

图2为本发明的图像坐标系和摄像机坐标系图;

图3a为本发明的直线轨迹鸟瞰图;图3b为本发明的右拐轨迹鸟瞰图;图3c为本发明的左拐轨迹鸟瞰图;

图4a为本发明的直线轨迹的道路居中路径点推荐图;图4b为本发明的右拐圆弧轨迹的道路居中路径点推荐图;图4c为本发明的左拐圆弧轨迹的道路居中路径点推荐图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种基于视觉的非结构化道路的居中行驶方法,以无人车的非结构化道路居中为例,无人车一般搭载了激光传感器和摄像头,在非结构化的道路进行行驶,并且无人车的轨迹假设为直线行驶或者以圆弧形式行驶,主要包括以下步骤:

1)可行驶区域检测;

2)道路轮廓提取;

3)轮廓优化并计算出发布激光数据需要的角度对应的距离;

4)道路居中行驶路径点推荐。

参见图1,具体包括:

1)可行驶区域检测:对车载摄像头获得的图片利用深度学习进行可行驶区域检测,得到道路图片,并检测出可行驶区域和非可行驶区域,二者交界则为道路边缘;可行驶区域检测采用深度学习检测,利用路面标注数据集进行训练识别可行驶区域,通过监督学习实现路面的分类提取;

2)道路轮廓提取:

2.1)二值化图像处理:对可行驶区域检测得到的道路图片进行二值化处理,得到二值化图;

2.2)鸟瞰图变换:对二值化图做鸟瞰图变换,鸟瞰图变换需要一个变换矩阵H,将二值图转化成鸟瞰图,传统的方法是通过设置4对相应的点进行透视变换实现,透视变换通用公式为:

(u,v)原图坐标,(x=x'/w',y=y'/w')为变换后的图像坐标,计算公式如下:

给定原图4对坐标(u,v)和变换后图像的对应坐标想(x,y)即可求出变换矩阵H,传统的方法的透视变化矩阵只计算了一次,以后所有图片都用这个矩阵进行变换,但是一旦碰到上下坡这种路面不平整的情况,那么就会产生较大误差,因此本发明实施例采用神经网络来计算变换矩阵:

首先,a

这样转换矩阵H只有6个参数,也就是只需要让神经网络最后的输出为一个6维向量;

然后,构建神经网络,神经网络包括6层普通卷积层和2层全连接网络,每层卷积网络的激励函数用ReLU函数,利用批规范化加速网络训练,每两层普通卷积以后采用平均池化的方法缩小输出向量维数,学习得到变换矩阵H;

最后,利用变换矩阵H将二值化图转换为鸟瞰图,通过相应地调整转换参数,对地面坡度变化具有鲁棒性,效果如图3a、图3b和图3c所示,为了使得变换后的轨迹可用圆弧拟合,其优化函数具体见步骤3.3);

2.3)提取轮廓:对鸟瞰图进行拓扑分析,确定鸟瞰图边界的围绕关系,得到多条轮廓,围绕关系为确定外边界、孔边界以及两者的层次关系,外轮廓是像素为1连通域内像素为0连通域环绕的轮廓点,孔轮廓是像素为0的连通区域被像素为1的连通区域环绕的轮廓点;

3)轮廓优化并计算出发布激光数据需要的角度对应的距离:

3.1)寻找主轮廓:根据步骤2.3)获得多条轮廓,包括主轮廓和一些由于噪声和误差产生的小轮廓,因此,首先计算每条轮廓的长度,选择轮廓数最大的那条,然后清除剩余的小轮廓,这样轮廓只剩下只包含道路的主轮廓了,下文所讲轮廓均指的都是对主轮廓的处理;

3.2)主轮廓平滑:首先对主轮廓进行中值滤波,去除小噪声;然后对主轮廓进行填充恢复成新的二值图像;最后对新的二值图像进行闭运算,填充道路图像的细小空洞并且平滑边界;对主轮廓进行中值滤波,去除小噪声,然后对主轮廓进行填充恢复成新的二值图像,此时已经去除了小轮廓,接下来对裁剪过细小轮廓的道路图像进行闭运算,也就是先膨胀再腐蚀,闭运算能填充道路图像的细小空洞并且平滑边界,由于噪声的问题,深度学习得出的可行驶区域里面可能并不是完整的,可能存在一些空洞的情况,经过闭运算以后,这些本来被当作背景或者障碍物的地方被消除,更加适合无人车进行行驶;

3.3)轮廓拟合:对平滑后的主轮廓采用步骤2.3)方法进行轮廓提取,并用圆弧对主轮廓进行拟合;具体包括以下步骤:

首先,把道路边缘轮廓从图像坐标系(o,x,y)转换到摄像机坐标系(o’,x’,y’),参见图2,采用如下公式:

x

y

其中,(x

然后,在在摄像机坐标系下用公式Ax

a)通过坐标y去重新预测x的过程:假设道路轮廓的坐标为m

b)采用误差函数为最小二乘法对多项式参数进行拟合:w=(Y

c)将

3.4)图像数据转激光数据发布:

首先,通过如下方程依次求解1~180度时的解(x

y=tan(k)x

Ax

其中,k为1,2,3...180;

然后,计算(x

则(x

其次,把角度和距离赋值给laserScan的数据项:

angle_min=0;

angle_max=180;

angle_increment=1;

并将d

最后,将激光数据发布出去建立虚拟墙;将激光数据发布出去就相当于用激光检测到道路边缘有障碍物,取到虚拟墙的效果,这样在以后的导航算法中,无人车会把道路边缘自动识别为墙或障碍物,是无法通行的;

4)道路居中行驶路径点推荐:

4.1)计算轮廓质心;选择道路中间点,前面我们通过神经网络学习出的透视变换矩阵使得鸟瞰图的轮廓可以用圆弧或者直线表示。那道路中线也是直线或则圆弧。若为圆弧方式,则需要三个点来得出圆弧轨迹。

无人车要居中行驶,那我们可以首先确定两个点,也就是起点p

其中,f(i,j)代表图像在(i,j)的灰度值,m

4.2)根据质心确定道路轮廓左上点p

首先,遍历道路轮廓,寻找不同角度范围之内距离质心最远的4个点即为4个顶点,采用atan2(y,x)函数对角度进行判断,atan2取值范围为[-π,π],atan2(取值范围为[-π,π])函数比atan(取值范围为

然后,为了减少计算量,计算轮廓的凸包,凸包是计算机几何图形学中的概念,简单来说,凸包就是能够将最外层的点连接起来构成的凸多边形,因此要找的4个顶点在凸包的点集中:

左上点p

右上点p

③右下点p

④左下点p

则确定上下两个道路中点p

4.3)得到上下两个道路中点p

4.4)轨迹点生成:利用atan2函数获取p

对于直线轨迹:

根据p

对于圆弧轨迹:

根据p

a=x

b=y

c=x

d=y

e=bc-ad

圆心(x

半径

确定圆心半径R后,中间n点可通过如下方法计算而出:

p

p

p

当左拐时,满足x

当右拐时,满足x

形成10个道路居中路径推荐点形成的轨迹,无人车可按照此轨迹居中行驶。

本发明对无人驾驶车上自带的摄像头所获得的图片进行处理,对道路进行检测,利用神经网络对鸟瞰图变换所需的透视变换矩阵进行预测,由于鸟瞰图只能得到无人车前方一定距离(4米左右)的图片,在距离一定小的情况下,可以用圆弧或者直线来拟合道路轮廓,预测以输入图像为条件,允许网络在地平面变化下调整投影参数,使得变换后的车道线可以用直线或者圆弧进行拟合,将道路二值图像转化成鸟瞰图,提取其道路轮廓,并通过一系列图像处理等操作将其道路边缘转化成激光数据发布出去从而建立虚拟墙,防止无人车驶离道路出现安全隐患,该方法不需要额外的辅助设备,降低了成本,而且可以做到实时要求,时刻保证无人车的安全,无论无人车在何处,都可通过当前路面图片构建虚拟墙,即使到了新的地方也不需要重新手动设置虚拟墙,最后就是通过寻找轮廓的质点来确定可行驶区域的上下两个中点,最后按照直线或者圆弧模板生成道路中线推荐点,在道路两边的虚拟墙中间设置若干个轨迹点作为推荐点以使无人车在道路中间行驶。

与现有的虚拟墙生成技术相比,本发明没有用到额外的传感器,都是基于无人车上自带的传感器进行虚拟墙的生成,而且实时性好,只要摄像头获取到了图像,就可以实时建立虚拟墙,不需要重新移动设备或者重新绘制虚拟墙,不需要额外的成本生产额外辅助的硬件设备,使用更加的方便、灵活、快捷。

与现有的鸟瞰图变换相比,本发明采用神经网络学习出的透视变换矩阵是针对每张获得的地图,即使在非结构化道路同样能进行鸟瞰图变换,误差小,适用性广。

与现有的道路居中行驶相比,本发明方法可针对于非结构化路面,即使没有车道线,没有路肩石,依然可生成对应的推荐点,无论何种道路情况,计算距离轮廓质心最远的点都可精确确定道路顶点,并以此计算出居中行驶推荐点,而且通过在轮廓凸包中搜寻道路顶点可减少计算量,算法复杂度低,容易实现,不需要额外的辅助设备,具有实时性。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号