CN112528829A - 一种基于视觉的非结构化道路的居中行驶方法 - Google Patents
一种基于视觉的非结构化道路的居中行驶方法 Download PDFInfo
- Publication number
- CN112528829A CN112528829A CN202011416257.7A CN202011416257A CN112528829A CN 112528829 A CN112528829 A CN 112528829A CN 202011416257 A CN202011416257 A CN 202011416257A CN 112528829 A CN112528829 A CN 112528829A
- Authority
- CN
- China
- Prior art keywords
- road
- contour
- point
- points
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000009466 transformation Effects 0.000 claims abstract description 38
- 239000011159 matrix material Substances 0.000 claims abstract description 27
- 238000013528 artificial neural network Methods 0.000 claims abstract description 16
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 13
- 240000004050 Pentaglottis sempervirens Species 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 6
- 238000009499 grossing Methods 0.000 claims description 6
- 238000013135 deep learning Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 230000001133 acceleration Effects 0.000 claims description 3
- 230000005284 excitation Effects 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 238000010937 topological data analysis Methods 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 claims 1
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000004575 stone Substances 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/34—Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于视觉的非结构化道路的居中行驶方法,通过基于车载摄像头拍摄图片进行图像处理,利用神经网络预测出的透视变换矩阵,能够适用于非平整路面,并且使得变换后的道路轮廓可用圆弧或者直线进行拟合,鸟瞰图变换提取出道路轮廓后,将道路边缘的点转化成激光数据发布出去以建设虚拟墙,最后在道路两边的虚拟墙中间设置若干个轨迹点作为推荐点以使无人车在道路中间行驶。本发明能够不需要额外的成本生产额外辅助的硬件设备,能够适用于非结构化路面,使用更加的方便、灵活、快捷。
Description
技术领域
本发明属于自动驾驶领域,具体涉及一种基于视觉的非结构化道路的居中行驶方法。
背景技术
无人车在道路行驶中,由于非结构化路面边缘没有车道线和清晰的道路边界,例如:乡村道路、山区道路、城市非主干道等,一般也没有路肩石,或者路肩石很矮,而车载激光一般放在车顶或者车中间,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度时的解(xk *,yk *):
y=tan(k)x
Ax2+Ay2+Dx+Ey+F=0
其中,k为1,2,3...180;
然后,计算(xk *,yk *)到原点的欧式距离dk,单位为像素,再除以鸟瞰图的分辨率即可得到单位为米的距离;
其次,把角度和距离赋值给laserScan的数据项,并将dk(k=1,2,3...180)传入ranges数组即可生成激光数据;
最后,将激光数据发布出去建立虚拟墙;
4)道路居中行驶路径点推荐:
4.1)计算轮廓质心;
4.2)根据质心确定道路轮廓左上点plt、右上点prt、右下点prd和左下点pld4个顶点;
4.3)确定求出轨迹所需的三个道路中点:寻找左轮廓到plt,pld的中点plm的倾斜角最接近prt到plt的倾斜角的二分之一的点pl,以及右轮廓到plt,pld的中点plm的倾斜角最接近prt到plt的倾斜角的二分之一的点pr,并计算二者的中点pm,对于道路是直线的情况也按此处理,已完全确定pdm、pm和ptm,并将pdm、pm和ptm三点转化为摄像机坐标;
4.4)轨迹点生成:利用atan2函数获取pm到pdm的角度θ1,ptm到pm的角度θ2,如果θ1和θ2的角度差不超过设定度数,则认为该轨迹是直线,否则认为是圆弧,共生成多个轨迹点。
进一步地,所述步骤2.2)中神经网络包括6层普通卷积层和2层全连接网络,每层卷积网络的激励函数用ReLU函数,利用批规范化加速网络训练,每两层普通卷积以后采用平均池化的方法缩小输出向量维数,学习得到变换矩阵H。
进一步地,所述步骤2.3)中围绕关系为确定外边界、孔边界以及两者的层次关系,外轮廓是像素为1连通域内像素为0连通域环绕的轮廓点,孔轮廓是像素为0的连通区域被像素为1的连通区域环绕的轮廓点。
进一步地,所述步骤3.2)中主轮廓平滑包括:首先对主轮廓进行中值滤波,去除小噪声;然后对主轮廓进行填充恢复成新的二值图像;最后对新的二值图像进行闭运算,填充道路图像的细小空洞并且平滑边界。
进一步地,所述步骤3.3)中轮廓拟合包括:首先,把道路边缘轮廓从图像坐标系转换到摄像机坐标系,采用如下公式:
x2=x1-width/2
y2=height-y1
其中,(x1,y1)为轮廓在图像坐标系下的点,(x2,y2)为轮廓在摄像机坐标系下的点,width为图像的宽,height为图像的高;
然后,在摄像机坐标系下用Ax2+Ay2+Dx+Ey+F=0来对轮廓进行拟合,A=0时为直线。
更进一步地,所述步骤3.3)中摄像机坐标系下对轮廓进行拟合包括:
a)通过坐标y去重新预测x的过程:假设道路轮廓的坐标为mi=[xi,yi,1]∈M,利用神经网络输出的变换矩阵H对坐标进行转换得到xi'和yi':M'=HM;
进一步地,所述步骤3.4)中鸟瞰图的分辨率计算如下:
假设原图分辨率为p,取原图中的水平的两个像素p1(x1,y1)和p2(x2,y1),经过透视变换以后的像素坐标为p′1(x′1,y1')和p'2(x2',y′1),则鸟瞰图的分辨率如下:
则(xk *,yk *)到原点的实际欧式距离为:
进一步地,所述步骤4.1)中计算轮廓质心包括:对于一幅M×N的数字图像f(i,j),其p+q阶几何矩mpq为:
其中,f(i,j)代表图像在(i,j)的灰度值,m00可看作图像的质量,即轮廓点总数;
进一步地,所述步骤4.2)中4个顶点确定方法包括:
首先,遍历道路轮廓,寻找不同角度范围之内距离质心最远的4个点即为4个顶点,采用atan2(y,x)函数对角度进行判断,atan2取值范围为[-π,π],对应关系如下:
然后,计算轮廓的凸包,4个顶点在凸包的点集中:
左上点plt(xlt,ylt),满足如下约束:
右上点prt(xrt,yrt),满足如下约束:
③右下点prd(xrd,yrd),满足如下约束:
④左下点pld(xld,yld),满足如下约束:
则确定上下两个道路中点pdm和ptm。
进一步地,所述步骤4.4)中对于直线轨迹:
根据pdm和ptm两点确定直线方程,并可得到中间n个点如下:
对于圆弧轨迹:
根据pdm、pm和ptm三点确定圆,方法如下:
a=xdm-xm
b=ydm-ym
c=xdm-xtm
d=ydm-ytm
e=bc-ad
圆心(x0,y0):
确定圆心半径R后,中间n点可通过如下方法计算而出:
pdm和ptm所成弦长的平方C=(xtm-xdm)2+(ytm-ydm)2;
pdm到圆心的倾斜角θ0=atan2(ydm-y0,xdm-x0);
当左拐时,满足xdm>x0,其他点坐标如下:
当右拐时,满足xdm<x0,其他点坐标如下:
与现有技术相比,本发明首先对车载摄像头获得的图片利用深度学习进行可行驶区域检测,检测出可行驶区域和非可行驶区域,二者交界则为道路边缘,对图像进行二值化处理,然后构建神经网络,构造损失函数对透视变换矩阵进行预测,使得道路轮廓可用圆弧或者直线表示,接着对道路俯视图提取轮廓并裁剪细小轮廓,用形态学操作减少边缘锯齿,从而得到较为光滑的道路轮廓图,然后对轮廓用圆弧或直线进行拟合,最后计算拟合线上的点其到摄像头的角度,找到轮廓点到摄像头角度最接近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,传统的方法的透视变化矩阵只计算了一次,以后所有图片都用这个矩阵进行变换,但是一旦碰到上下坡这种路面不平整的情况,那么就会产生较大误差,因此本发明实施例采用神经网络来计算变换矩阵:
首先,a33可为1,为了让水平线在变换下仍然保持水平,对变换矩阵H的系数进行如下约束:
这样转换矩阵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,采用如下公式:
x2=x1-width/2
y2=height-y1
其中,(x1,y1)为轮廓在图像坐标系下的点,(x2,y2)为轮廓在摄像机坐标系下的点,width为图像的宽,height为图像的高;
然后,在在摄像机坐标系下用公式Ax2+Ay2+Dx+Ey+F=0来对轮廓进行拟合,A=0时为直线,具体包括:
a)通过坐标y去重新预测x的过程:假设道路轮廓的坐标为mi=[xi,yi,1]∈M,利用神经网络输出的变换矩阵H对坐标进行转换得到xi'和yi':M'=HM;
3.4)图像数据转激光数据发布:
首先,通过如下方程依次求解1~180度时的解(xk *,yk *):
y=tan(k)x
Ax2+Ay2+Dx+Ey+F=0
其中,k为1,2,3...180;
然后,计算(xk *,yk *)到原点的欧式距离dk,单位为像素,再除以鸟瞰图的分辨率即可得到单位为米的距离;由于透视变换矩阵做了约束,可让水平线变换以后仍为水平,因此,假设原图分辨率为p,取原图中的水平的两个像素p1(x1,y1)和p2(x2,y1),经过透视变换以后的像素坐标为p′1(x′1,y1')和p'2(x2′,y′1),则鸟瞰图的分辨率如下:
则(xk *,yk *)到原点的实际欧式距离为:
其次,把角度和距离赋值给laserScan的数据项:
angle_min=0;
angle_max=180;
angle_increment=1;
并将dk(k=1,2,3...180)传入ranges数组即可生成激光数据;
最后,将激光数据发布出去建立虚拟墙;将激光数据发布出去就相当于用激光检测到道路边缘有障碍物,取到虚拟墙的效果,这样在以后的导航算法中,无人车会把道路边缘自动识别为墙或障碍物,是无法通行的;
4)道路居中行驶路径点推荐:
4.1)计算轮廓质心;选择道路中间点,前面我们通过神经网络学习出的透视变换矩阵使得鸟瞰图的轮廓可以用圆弧或者直线表示。那道路中线也是直线或则圆弧。若为圆弧方式,则需要三个点来得出圆弧轨迹。
无人车要居中行驶,那我们可以首先确定两个点,也就是起点pdm和终点ptm,起点在鸟瞰图下方两边道路边缘的中点,终点在鸟瞰图上方两边道路边缘的中点,为了得到这两个点需要确定道路轮廓左上点plt、右上点prt、右下点prd和左下pld四个点在图像坐标系下的坐标,为此可以先计算轮廓的质心,要计算质心首先需要计算轮廓矩,矩是概率与统计中的一个概念,是随机变量的一种数字特征,设x为随机变量,c为常数,k为正整数,则期望E((x-c)k)称为x关于x点的k阶矩,针对于一幅图像,把像素的坐标看成是一个二维随机变量(X,Y),那么一幅灰度图像可以用二维灰度密度函数来表示,因此可以用矩来描述灰度图像的特征,简单来说,矩是通过对轮廓上所有点进行求和运算(积分运算)而得到的一个粗略特征,因此计算轮廓质心包括:对于一幅M×N的数字图像f(i,j),其p+q阶几何矩mpq为:
其中,f(i,j)代表图像在(i,j)的灰度值,m00可看作图像的质量,即轮廓点总数;
4.2)根据质心确定道路轮廓左上点plt、右上点prt、右下点prd和左下点pld4个顶点,具体包括:
首先,遍历道路轮廓,寻找不同角度范围之内距离质心最远的4个点即为4个顶点,采用atan2(y,x)函数对角度进行判断,atan2取值范围为[-π,π],atan2(取值范围为[-π,π])函数比atan(取值范围为)函数更稳定,当x=0(y≠0)时,atan2仍然可以获得值,而atan函数将会无意义,对应关系如下:
然后,为了减少计算量,计算轮廓的凸包,凸包是计算机几何图形学中的概念,简单来说,凸包就是能够将最外层的点连接起来构成的凸多边形,因此要找的4个顶点在凸包的点集中:
左上点plt(xlt,ylt),满足如下约束:
右上点prt(xrt,yrt),满足如下约束:
③右下点prd(xrd,yrd),满足如下约束:
④左下点pld(xld,yld),满足如下约束:
则确定上下两个道路中点pdm和ptm;
4.3)得到上下两个道路中点pdm和ptm,此时还需要一个点,因为圆心到弦中点的线平分圆心角,因此寻找左轮廓到plt,pld的中点plm的倾斜角最接近prt到plt的倾斜角的二分之一的点pl,以及右轮廓到plt,pld的中点plm的倾斜角最接近prt到plt的倾斜角的二分之一的点pr,并计算二者的中点pm,对于道路是直线的情况也按此处理,已完全确定pdm、pm和ptm,并将pdm、pm和ptm三点转化为摄像机坐标;如图4a、图4b和图4c所示,即为在轮廓上的左右两侧分别通过三个大圈圈出的点,pdm、pm和ptm三点采用步骤3.3)的方法转化为摄像机坐标系下的坐标,下文中坐标均为摄像机坐标系下的坐标;
4.4)轨迹点生成:利用atan2函数获取pm到pdm的角度θ1,ptm到pm的角度θ2,如果θ1和θ2的角度差不超过设定度数,本实施例的设定度数为5度,则认为该轨迹是直线,否则认为是圆弧,共生成多个轨迹点,本实施例以假设轨迹点共生成10个点为例,如图4a、图4b和图4c所示图中中间位置的多个小圈圈出的轨迹点,可套用两个如下模板:
对于直线轨迹:
根据pdm和ptm两点确定直线方程,并可得到中间n个点如下,本实施例中,n为8:
对于圆弧轨迹:
根据pdm、pm和ptm三点确定圆,方法如下:
a=xdm-xm
b=ydm-ym
c=xdm-xtm
d=ydm-ytm
e=bc-ad
圆心(x0,y0)
确定圆心半径R后,中间n点可通过如下方法计算而出:
pdm和ptm所成弦长的平方C=(xtm-xdm)2+(ytm-ydm)2;
pdm到圆心的倾斜角θ0=atan2(ydm-y0,xdm-x0);
当左拐时,满足xdm>x0,其他点坐标如下:
当右拐时,满足xdm<x0,其他点坐标如下:
形成10个道路居中路径推荐点形成的轨迹,无人车可按照此轨迹居中行驶。
本发明对无人驾驶车上自带的摄像头所获得的图片进行处理,对道路进行检测,利用神经网络对鸟瞰图变换所需的透视变换矩阵进行预测,由于鸟瞰图只能得到无人车前方一定距离(4米左右)的图片,在距离一定小的情况下,可以用圆弧或者直线来拟合道路轮廓,预测以输入图像为条件,允许网络在地平面变化下调整投影参数,使得变换后的车道线可以用直线或者圆弧进行拟合,将道路二值图像转化成鸟瞰图,提取其道路轮廓,并通过一系列图像处理等操作将其道路边缘转化成激光数据发布出去从而建立虚拟墙,防止无人车驶离道路出现安全隐患,该方法不需要额外的辅助设备,降低了成本,而且可以做到实时要求,时刻保证无人车的安全,无论无人车在何处,都可通过当前路面图片构建虚拟墙,即使到了新的地方也不需要重新手动设置虚拟墙,最后就是通过寻找轮廓的质点来确定可行驶区域的上下两个中点,最后按照直线或者圆弧模板生成道路中线推荐点,在道路两边的虚拟墙中间设置若干个轨迹点作为推荐点以使无人车在道路中间行驶。
与现有的虚拟墙生成技术相比,本发明没有用到额外的传感器,都是基于无人车上自带的传感器进行虚拟墙的生成,而且实时性好,只要摄像头获取到了图像,就可以实时建立虚拟墙,不需要重新移动设备或者重新绘制虚拟墙,不需要额外的成本生产额外辅助的硬件设备,使用更加的方便、灵活、快捷。
与现有的鸟瞰图变换相比,本发明采用神经网络学习出的透视变换矩阵是针对每张获得的地图,即使在非结构化道路同样能进行鸟瞰图变换,误差小,适用性广。
与现有的道路居中行驶相比,本发明方法可针对于非结构化路面,即使没有车道线,没有路肩石,依然可生成对应的推荐点,无论何种道路情况,计算距离轮廓质心最远的点都可精确确定道路顶点,并以此计算出居中行驶推荐点,而且通过在轮廓凸包中搜寻道路顶点可减少计算量,算法复杂度低,容易实现,不需要额外的辅助设备,具有实时性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于视觉的非结构化道路的居中行驶方法,其特征在于,包括以下步骤:
1)可行驶区域检测:对车载摄像头获得的图片利用深度学习进行可行驶区域检测,得到道路图片,并检测出可行驶区域和非可行驶区域,二者交界则为道路边缘;
2)道路轮廓提取:
2.1)二值化图像处理:对可行驶区域检测得到的道路图片进行二值化处理,得到二值化图;
2.2)鸟瞰图变换:首先对变换矩阵H的系数进行如下约束:
然后构建神经网络,学习得到变换矩阵H;
最后利用变换矩阵H将二值化图转换为鸟瞰图;
2.3)提取轮廓:对鸟瞰图进行拓扑分析,确定鸟瞰图边界的围绕关系,得到多条轮廓;
3)轮廓优化并计算出发布激光数据需要的角度对应的距离:
3.1)寻找主轮廓:计算每条轮廓的长度,选择轮廓数最大的作为主轮廓;
3.2)主轮廓平滑;
3.3)轮廓拟合:对平滑后的主轮廓采用步骤2.3)方法进行轮廓提取,并用圆弧对主轮廓进行拟合;
3.4)图像数据转激光数据发布:
首先,通过如下方程依次求解1~180度时的解(xk *,yk *):
y=tan(k)x
Ax2+Ay2+Dx+Ey+F=0
其中,k为1,2,3...180;
然后,计算(xk *,yk *)到原点的欧式距离dk,单位为像素,再除以鸟瞰图的分辨率即可得到单位为米的距离;
其次,把角度和距离赋值给laserScan的数据项,并将dk(k=1,2,3...180)传入ranges数组即可生成激光数据;
最后,将激光数据发布出去建立虚拟墙;
4)道路居中行驶路径点推荐:
4.1)计算轮廓质心;
4.2)根据质心确定道路轮廓左上点plt、右上点prt、右下点prd和左下点pld4个顶点;
4.3)确定求出轨迹所需的三个道路中点:寻找左轮廓到plt,pld的中点plm的倾斜角最接近prt到plt的倾斜角的二分之一的点pl,以及右轮廓到plt,pld的中点plm的倾斜角最接近prt到plt的倾斜角的二分之一的点pr,并计算二者的中点pm,对于道路是直线的情况也按此处理,已完全确定pdm、pm和ptm,并将pdm、pm和ptm三点转化为摄像机坐标;
4.4)轨迹点生成:利用atan2函数获取pm到pdm的角度θ1,ptm到pm的角度θ2,如果θ1和θ2的角度差不超过设定度数,则认为该轨迹是直线,否则认为是圆弧,共生成多个轨迹点。
2.根据权利要求1所述的一种基于视觉的非结构化道路的居中行驶方法,其特征在于,所述步骤2.2)中神经网络包括6层普通卷积层和2层全连接网络,每层卷积网络的激励函数用ReLU函数,利用批规范化加速网络训练,每两层普通卷积以后采用平均池化的方法缩小输出向量维数,学习得到变换矩阵H。
3.根据权利要求1所述的一种基于视觉的非结构化道路的居中行驶方法,其特征在于,所述步骤2.3)中围绕关系为确定外边界、孔边界以及两者的层次关系,外轮廓是像素为1连通域内像素为0连通域环绕的轮廓点,孔轮廓是像素为0的连通区域被像素为1的连通区域环绕的轮廓点。
4.根据权利要求1所述的一种基于视觉的非结构化道路的居中行驶方法,其特征在于,所述步骤3.2)中主轮廓平滑包括:首先对主轮廓进行中值滤波,去除小噪声;然后对主轮廓进行填充恢复成新的二值图像;最后对新的二值图像进行闭运算,填充道路图像的细小空洞并且平滑边界。
5.根据权利要求1所述的一种基于视觉的非结构化道路的居中行驶方法,其特征在于,所述步骤3.3)中轮廓拟合包括:首先,把道路边缘轮廓从图像坐标系转换到摄像机坐标系,采用如下公式:
x2=x1-width/2
y2=height-y1
其中,(x1,y1)为轮廓在图像坐标系下的点,(x2,y2)为轮廓在摄像机坐标系下的点,width为图像的宽,height为图像的高;
然后,在摄像机坐标系下用Ax2+Ay2+Dx+Ey+F=0来对轮廓进行拟合,A=0时为直线。
9.根据权利要求1所述的一种基于视觉的非结构化道路的居中行驶方法,其特征在于,所述步骤4.2)中4个顶点确定方法包括:
首先,遍历道路轮廓,寻找不同角度范围之内距离质心最远的4个点即为4个顶点,采用atan2(y,x)函数对角度进行判断,atan2取值范围为[-π,π],对应关系如下:
然后,计算轮廓的凸包,4个顶点在凸包的点集中:
左上点plt(xlt,ylt),满足如下约束:
右上点prt(xrt,yrt),满足如下约束:
③右下点prd(xrd,yrd),满足如下约束:
④左下点pld(xld,yld),满足如下约束:
则确定上下两个道路中点pdm和ptm。
10.根据权利要求1所述的一种基于视觉的非结构化道路的居中行驶方法,其特征在于,所述步骤4.4)中对于直线轨迹:
根据pdm和ptm两点确定直线方程,并可得到中间n个点如下:
对于圆弧轨迹:
根据pdm、pm和ptm三点确定圆,方法如下:
a=xdm-xm
b=ydm-ym
c=xdm-xtm
d=ydm-ytm
e=bc-ad
圆心(x0,y0):
确定圆心半径R后,中间n点可通过如下方法计算而出:
pdm和ptm所成弦长的平方C=(xtm-xdm)2+(ytm-ydm)2;
pdm到圆心的倾斜角θ0=atan2(ydm-y0,xdm-x0);
当左拐时,满足xdm>x0,其他点坐标如下:
当右拐时,满足xdm<x0,其他点坐标如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416257.7A CN112528829B (zh) | 2020-12-07 | 2020-12-07 | 一种基于视觉的非结构化道路的居中行驶方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416257.7A CN112528829B (zh) | 2020-12-07 | 2020-12-07 | 一种基于视觉的非结构化道路的居中行驶方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112528829A true CN112528829A (zh) | 2021-03-19 |
CN112528829B CN112528829B (zh) | 2023-10-24 |
Family
ID=74997930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011416257.7A Active CN112528829B (zh) | 2020-12-07 | 2020-12-07 | 一种基于视觉的非结构化道路的居中行驶方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112528829B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240631A (zh) * | 2021-04-22 | 2021-08-10 | 北京中科慧眼科技有限公司 | 基于rgb-d融合信息的路面检测方法、系统和智能终端 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270301A (zh) * | 2011-06-07 | 2011-12-07 | 南京理工大学 | 一种svm与激光雷达结合检测非结构化道路边界的方法 |
CN105404844A (zh) * | 2014-09-12 | 2016-03-16 | 广州汽车集团股份有限公司 | 一种基于多线激光雷达的道路边界检测方法 |
CN107577996A (zh) * | 2017-08-16 | 2018-01-12 | 中国地质大学(武汉) | 一种车辆驾驶路径偏移的识别方法及系统 |
CN110008893A (zh) * | 2019-03-29 | 2019-07-12 | 武汉理工大学 | 一种基于车载图像传感器的车辆行驶跑偏自动检测方法 |
CN110647850A (zh) * | 2019-09-27 | 2020-01-03 | 福建农林大学 | 一种基于逆透视原理的车道偏移自动测量方法 |
US20200125861A1 (en) * | 2018-10-22 | 2020-04-23 | Toyota Jidosha Kabushiki Kaisha | Road line detection device and road line detection method |
CN111178190A (zh) * | 2019-12-17 | 2020-05-19 | 中国科学院深圳先进技术研究院 | 基于深度图像的目标检测方法、装置及存储介质 |
EP3654241A1 (en) * | 2018-11-19 | 2020-05-20 | Nauto, Inc. | System and method for vehicle localization |
US20200200896A1 (en) * | 2018-01-12 | 2020-06-25 | Tiejun Shan | System and Method of Utilizing a LIDAR Digital Map to Improve Automatic Driving |
US10824880B2 (en) * | 2017-08-25 | 2020-11-03 | Beijing Voyager Technology Co., Ltd. | Methods and systems for detecting environmental information of a vehicle |
-
2020
- 2020-12-07 CN CN202011416257.7A patent/CN112528829B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270301A (zh) * | 2011-06-07 | 2011-12-07 | 南京理工大学 | 一种svm与激光雷达结合检测非结构化道路边界的方法 |
CN105404844A (zh) * | 2014-09-12 | 2016-03-16 | 广州汽车集团股份有限公司 | 一种基于多线激光雷达的道路边界检测方法 |
CN107577996A (zh) * | 2017-08-16 | 2018-01-12 | 中国地质大学(武汉) | 一种车辆驾驶路径偏移的识别方法及系统 |
US10824880B2 (en) * | 2017-08-25 | 2020-11-03 | Beijing Voyager Technology Co., Ltd. | Methods and systems for detecting environmental information of a vehicle |
US20200200896A1 (en) * | 2018-01-12 | 2020-06-25 | Tiejun Shan | System and Method of Utilizing a LIDAR Digital Map to Improve Automatic Driving |
US20200125861A1 (en) * | 2018-10-22 | 2020-04-23 | Toyota Jidosha Kabushiki Kaisha | Road line detection device and road line detection method |
EP3654241A1 (en) * | 2018-11-19 | 2020-05-20 | Nauto, Inc. | System and method for vehicle localization |
CN110008893A (zh) * | 2019-03-29 | 2019-07-12 | 武汉理工大学 | 一种基于车载图像传感器的车辆行驶跑偏自动检测方法 |
CN110647850A (zh) * | 2019-09-27 | 2020-01-03 | 福建农林大学 | 一种基于逆透视原理的车道偏移自动测量方法 |
CN111178190A (zh) * | 2019-12-17 | 2020-05-19 | 中国科学院深圳先进技术研究院 | 基于深度图像的目标检测方法、装置及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240631A (zh) * | 2021-04-22 | 2021-08-10 | 北京中科慧眼科技有限公司 | 基于rgb-d融合信息的路面检测方法、系统和智能终端 |
CN113240631B (zh) * | 2021-04-22 | 2023-12-12 | 北京中科慧眼科技有限公司 | 基于rgb-d融合信息的路面检测方法、系统和智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN112528829B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790668B2 (en) | Automated road edge boundary detection | |
US11681746B2 (en) | Structured prediction crosswalk generation | |
Zai et al. | 3-D road boundary extraction from mobile laser scanning data via supervoxels and graph cuts | |
CN110531770B (zh) | 一种基于改进的rrt路径规划方法和系统 | |
CN114842438B (zh) | 用于自动驾驶汽车的地形检测方法、系统及可读存储介质 | |
US11250697B2 (en) | Missing traffic face detector | |
CN114812581B (zh) | 一种基于多传感器融合的越野环境导航方法 | |
CN106780524A (zh) | 一种三维点云道路边界自动提取方法 | |
CN101975951B (zh) | 一种融合距离和图像信息的野外环境障碍检测方法 | |
CN100494900C (zh) | 适用于自主移动车辆的环境感知的单目视觉导航方法 | |
JP2017223511A (ja) | 道路構造化装置、道路構造化方法、及び道路構造化プログラム | |
CN111542860A (zh) | 用于自主车辆的高清地图的标志和车道创建 | |
CN108845569A (zh) | 生成三维高清道路图水平弯道行车线的半自动点云方法 | |
US11693424B2 (en) | Robot, system and method detecting and/or responding to transitions in height | |
Perrollaz et al. | A visibility-based approach for occupancy grid computation in disparity space | |
CN112070756B (zh) | 一种基于无人机倾斜摄影的路面立体病害测量方法 | |
CN112561944A (zh) | 一种基于车载激光点云的车道线提取方法 | |
CN112528829B (zh) | 一种基于视觉的非结构化道路的居中行驶方法 | |
CN117289301A (zh) | 一种未知越野场景下空地无人平台协同路径规划方法 | |
CN117036374A (zh) | 一种用于自动驾驶的激光雷达点云分割与运动规划方法 | |
KR20220151572A (ko) | IPM 이미지와 정밀도로지도(HD Map) 피팅을 통해 노면객체의 변화를 자동으로 판단하고 갱신하는 정밀도로지도 자동갱신 방법 및 시스템 | |
EP4078087B1 (en) | Method and mobile entity for detecting feature points in an image | |
Raaijmakers et al. | Circle detection in single-layer laser scans for roundabout perception | |
KR20220071112A (ko) | 자율 주행을 위한 지도 생성 및 관리 방법 그리고 이를 이용한 위치 인식 방법 및 장치 | |
Li et al. | 3D-lidar based negative obstacle detection in unstructured environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |