本发明涉及一种基于图像几何特征的车道线检测方法,属于深度学习目标检测相关领域。
背景技术:
经济的快速发展,我国汽车保有量逐年增长,交通事故发生的频率也在逐年提高,交通安全问题引起了人们的高度关注。应运而生的智能车辆作为一种智能移动机器人,通过融合计算机、车载传感、自动控制、人工智能等多种技术从而实现人、车、路的智能信息交换,使汽车具备环境感知能力并达到智能驾驶。车道线检测是智能车辆驾驶辅助系统中的重要环节。快速且有效地检测道路图像中的车道线不仅有利于协助路径规划、进行道路偏移预警与车流分析等功能,并且能为精确导航提供参照。
目前,车道线检测解决方案主要分为传统图像处理和深度学习两种,传统车道检测方法依赖于高度专业的手工特征标记和后处理启发式算法的组合,这些技术计算昂贵,并且由于道路现场变化而易于扩展。基于灰度特征的检测方法,该方法是利用从灰度图像中提取的灰度特征检测出道路边界及车道标识,其中的灰度图像既可以由系统直接采集,也可以由原始图像转换生成。该方法结构简单,应用广泛,尤其适用于车道线清晰且路面均匀的结构化道路。但当路面存在阴影或异物遮挡、光照变化强烈或非结构化路面等情况时,该方法一般无法达到理想检测效果。基于纹理特征的检测方法,该方法是在包含多个像素点的区域中对纹理强度和纹理方向进行统计计算,以获得满足车道线检测要求的结果,具有较强的抗噪能力。但当图像的分辨率改变时,统计计算结果可能会有较大偏差。另外,由于受光照等因素干扰,从二维图像中得到的纹理不一定是三维物体表面的真实纹理,这也对检测结果有一定影响。同时,在实际场景中,这些传统算法的鲁棒性确实不太理想,除去光照和邻近车辆的影响外,车道中间的指示箭头和人行道也是此类算法很难处理的挑战。
近几年以来,深度学习在计算机视觉领域发展迅速,在目标检测、目标识别、目标分割等计算机视觉任务上取得了显著的成果。regionswithcnnfeatures(rcnn)系列算法解决了目标检测大部分问题,youonlylookonce(yolo)系列算法则将实时多目标检测推向另一个高度。车道线检测则可以看作是目标检测和目标分割的结合。其中,将车道检测作为实例分割问题来实现,如scnn,vpgnet,lanenet。虽解决了一些传统方法缺陷问题,如车道线被遮挡问题,但这类网络受噪声影响较大,对各种环境条件要求较高(光照、阴影等),且更多应用在有结构化的道路上,对于无明显车道线划分的非结构化道路检测效果不太理想。同时也没有进行车道线分类,不能真实有效模拟现实场景车道线对车辆运行轨迹的影响。
技术实现要素:
本发明的目的是:实现非机构化道路车道线检测,降低检测误检率和提高检测精确度。
为了达到上述目的,本发明的技术方案是提供了一种基于图像几何特征的车道线检测方法,其特征在于,包括如下步骤:
步骤一、通过lsd矩形检测算法获取车道线图像线段信息,并根据车道线图像线段信息生成锚框;
步骤二、构建主干网络,包括卷积层、池化层和全连接层,用于对车道线图像线段信息进行特征提取得到特征图。
步骤三、通过锚框和特征图之间的映射关系得到特征图的roi;
步骤四、通过池化层对所有roi提取得到大小统一的roi;
步骤五、将步骤四得到的roi喂入全连接层进行分类回归;
步骤六、使用分类损失函数和回归损失函数进行训练。
优选地,所述步骤二中通过largeseparableconvolution填充融合特征图,得到大小不变通道数较少的特征图。
优选地,所述步骤四中通过位置敏感的候选区域池化对所有roi基于batch提取得到大小统一的roi,具体为roi的边界坐标值和每个roi中所有矩形单元的边界值保持浮点数形式,在每个矩形单元中计算出固定位置固定数量的采样点的像素值作平均池化。
优选地,所述步骤一中基于车道线图像线段中心点生成锚框。
优选地,所述分类损失是多分类的交叉熵损失,
其中,ncls为训练挑选的roi的总数,nreg为roi的位置数量,λ为保证分类和回归损失等权重的值,pi为roi的预测概率,
回归损失代表roi的损失,ti={tx,ty,tw,th}为roi的中心坐标、宽度和高度的预测偏移量,ti*为相对于标签的实际偏移量,回归损失函数如下:
lreg(ti,ti*)=r(ti-ti*}
r是
与现有技术相比,本发明的有益效果是:
本发明在深度学习背景下,采用卷积神经网络对车道线进行学习并分类的方法,提高车道线分类的速度和准确率,该方法不仅可以有效检测车道线,而且可以判别车道线类型。本发明可以检测不同种类车道线,为驾驶员做出不同反应(如黄实线不能越过)提供依据,有效检测稀少种类的车道线,通过海量数据集的训练减少误检率和提高精确度。
附图说明
图1为本方法的总体网络框架示意图;
图2为largeseparableconvolution工作原理示意图;
图3为位置敏感的候选区域池化工作原理示意图。
具体实施方式
为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。
本发明一种基于图像几何特征的车道线检测方法,其特征在于,包括如下步骤:
步骤一、通过lsd矩形检测算法获取车道线图像线段信息具体为获取图像上所有的线段的坐标信息,并根据车道线图像线段信息生成锚框;对上述方法得到的线段进行融合,如剔除离散点和长度较小线段、近邻搜索、平行线融合等。通过lsd对图像线段信息进行提取和优化融合,减少线段数量,降低噪声,更精确地生成锚框,不需要基于整张图像像素点设置锚框数量,大大减少了锚框数量。本实施例中锚框大小设置为5个aspectratios{1:3,1:2,1:1,2:1,3:1}和5个scales{32^2,64^2,128^2,256^2,512^2},并通过nms来降低重叠。针对于车道线比较狭长的情况,做出针对性调整,保证目标被完整检测到。
步骤二、构建主干网络,用于对车道线图像线段信息进行特征提取得到特征图。主干网络包括卷积层、池化层和全连接层,通过largeseparableconvolution填充融合特征图,得到大小不变,通道数较少的特征图。
如直接将特征图喂入分类回归网络,通道数过大,导致参数量过大,因此通过largeseparableconvolution对特征图进行瘦身,减少通道数,降低参数量,获得通道数较少的特征图,达到提速效果,同时利用分离卷积操作也可以提取更多局部特征信息。如把车道线分成20类,经过此操作通道数由21*p*p变成5*p*p,这里5相当于类的个数,也可以为其他小于20的数字。
步骤三、通过锚框和特征图之间的映射关系得到特征图的roi;
步骤四、通过池化层对所有roi提取得到大小统一的roi,具体为通过位置敏感的候选区域池化对所有roi基于batch提取得到大小统一的roi;
位置敏感的候选区域池化是在特征聚集时人工引入位置信息,从而有效改善较深的神经网络对物体位置信息的敏感程度,实现了对所有roi的基于batch的提取。同时,也可以尝试采用positionsensitiveroialign的算法,提取更多边缘信息,提高对小目标的检测能力。roi的边界坐标值和每个roi中所有矩形单元的边界值保持浮点数形式,在每个矩形单元中计算出固定位置固定数量的采样点的像素值作平均池化。
步骤五、由于有20个类别,而通道数为5*p*p,无法实现直接分类,因此,对所有roi要接全连接层做通道数变换,将步骤四得到的roi喂入全连接层进行分类回归。对于优化器,优先采用adadelta和adam。
步骤六、使用分类损失函数和回归损失函数进行训练,其中分类损失是多分类的交叉熵损失。
对主干网络输入的图片进行预处理,主干网络为vgg16,也可以是残差网络等。因为由远及近看较短车道线,线会发生形变,这会影响网络的训练,因此需要做个仿射变换(投影变换)以保证目标不会发生形变;预处理的图像数据作为主干网络的输入,然后本发明将会对图像数据进行图像特征的学习。由于车道线语义信息单一,因此可以减少卷积操作层数,减少参数量,提高速度,如vgg16可去掉最后一组的三个卷积核、三个激活函数,此方法在道路标识检测上已有效果,准确度不会下降太多。
通过卷积操作得到特征图,大小为7*7*512;为进一步降低计算量,通过largeseparableconvolution进行分离卷积操作,得到通道数为5*7*7的深度更小的特征图,即通道数由512变为245;这时将特征图与用lsd生成的锚框结合,一个锚框提取出一个大小为5*7*7的roi;在分类网络中,将5*7*7的特征图先使用一个512通道数的全连接,再接一个21通道数的全连接用于分类,接一个21*4通道数的全连接用于回归。
如图2所示为largeseparableconvolution工作原理,将k*k的卷积转化为1*k和k*1,1*k和k*1分别乘以cmid*cout得到1*k*cmid*cout和k*1*cmid*cout,将1*k*cmid*cout和k*1*cmid*cout分别乘以k*1*cmid*cout和1*k*cmid*cout,最后通过填充融合特征图,得到大小不变的特征图,整个计算的复杂度可以通过cmid和cout来控制,在此方法中设k为15,cmid为64,cout为245。
如图3所示算法将每一个候选区域(roi)被平均分割成k^2个矩形单元,前序特征图先通过一层1*1的卷积核生成通道数为k^2*(c 1)的特征图。k^2代表一个roi里所有矩形单元的数量,c 1代表所有的类别数加上背景。这k^2*(c 1)张特征图每c 1张分成一组、共包含k^2组,每组负责向对应的矩形单元进行响应。池化每一个roi时,各个点(一共k^2个),均由上一层中对应分组的对应位置区域通过平均池化获得。由此获得一组c 1张特征图。最后,将这些特征图经过全局平均池化,得到c 1维的向量,计算分类损失函数。全图卷积,降低第二阶段的计算量,推荐窗口只需要经过全局的平均就可以分类;不同的卷积核提取不同位置的特征,可能是车道线的一部分,能体现位置信息。
车道线分成20类,分别是道路边缘平行实线、白色单平行实线、黄色单平行实线、白色单平行虚线、黄色单平行虚线、白色双平行实线、黄色双平行实线、黄色双平行虚线、白色单垂直实线(即停止线)、白色双平行虚线、黄色单垂直实线、白色单垂直虚线、黄色单垂直虚线、白色双垂直实线、黄色双垂直实线、白色双垂直虚线、黄色双垂直虚线、道路边缘平行虚线、道路边缘垂直实线、道路边缘垂直虚线等20个类别,平行线是相对于车辆前进方向定义的,垂直线是相对于垂直车辆前进方向定义的,一般规则下,垂直线提示车辆不可越过或注意慢行,常见车道线类别为前9个类别,后11个类别较少。
分类回归损失函数详细情况如下:
其中分类损失是多分类的交叉熵损失,ncls为训练挑选的框(roi)的总数(一般为batchsize大小),pi为框(roi)的预测概率,
回归损失代表框的损失,ti={tx,ty,tw,th}为框的中心坐标、宽度和高度的预测偏移量,ti*为相对于标签的实际偏移量,回归损失函数如下:
lreg(ti,ti*)=r(ti-ti*}
r是
对于每个框计算完lreg(ti,ti*)部分后还要乘以
本发明并不限于上述应用场景车道线检测,一般目标都可以,对于比较规则且线段信息更直观的目标尤为甚,均在本专利的保护范围之内。
1.一种基于图像几何特征的车道线检测方法,其特征在于,包括如下步骤:
步骤一、通过lsd矩形检测算法获取车道线图像线段信息,并根据车道线图像线段信息生成锚框;
步骤二、构建主干网络,包括卷积层、池化层和全连接层,用于对车道线图像线段信息进行特征提取得到特征图。
步骤三、通过锚框和特征图之间的映射关系得到特征图的roi;
步骤四、通过池化层对所有roi提取得到大小统一的roi;
步骤五、将步骤四得到的roi喂入全连接层进行分类回归;
步骤六、使用分类损失函数和回归损失函数进行训练。
2.如权利要求1所述的一种基于图像几何特征的车道线检测方法,其特征在于:所述步骤二中通过largeseparableconvolution填充融合特征图,得到大小不变通道数较少的特征图。
3.如权利要求1所述的一种基于图像几何特征的车道线检测方法,其特征在于:所述步骤四中通过位置敏感的候选区域池化对所有roi基于batch提取得到大小统一的roi,具体为roi的边界坐标值和每个roi中所有矩形单元的边界值保持浮点数形式,在每个矩形单元中计算出固定位置固定数量的采样点的像素值作平均池化。
4.如权利要求1所述的一种基于图像几何特征的车道线检测方法,其特征在于:所述步骤一中基于车道线图像线段中心点生成锚框。
5.如权利要求1所述的一种基于图像几何特征的车道线检测方法,其特征在于:所述分类损失是多分类的交叉熵损失,
其中,ncls为训练挑选的roi的总数,nreg为roi的位置数量,λ为保证分类和回归损失等权重的值,pi为roi的预测概率,
回归损失代表roi的损失,ti={tx,ty,tw,th}为roi的中心坐标、宽度和高度的预测偏移量,ti*为相对于标签的实际偏移量,回归损失函数如下:
lreg(ti,ti*)=r(ti-ti*}
r是