首页> 中国专利> 一种基于机器视觉的摩托车车道偏离报警方法和系统

一种基于机器视觉的摩托车车道偏离报警方法和系统

摘要

本发明提供一种基于机器视觉的摩托车车道偏离报警方法和系统,通过车道线检测和拟合,获得车道线位置信息,并且通过目标跟踪算法,获取摩托车位置信息,利用惯性传感器获得摩托车倾角数据,结合机器学习GRU神经网络,从而判断摩托车是否偏离当前车道,若偏离,则报警。采用上述摩托车车道偏离报警方法和系统,可以保证摩托车行驶过程中,在摩托车即将偏离车道时能够及时报警,并且具备较为良好的准确性。

著录项

  • 公开/公告号CN112215058A

    专利类型发明专利

  • 公开/公告日2021-01-12

    原文格式PDF

  • 申请/专利权人 中国矿业大学(北京);

    申请/专利号CN202010871214.1

  • 发明设计人 蒋磊;许政;马六章;

    申请日2020-08-26

  • 分类号G06K9/00(20060101);G06K9/46(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);G08B7/06(20060101);G08G1/16(20060101);

  • 代理机构11833 北京化育知识产权代理有限公司;

  • 代理人尹均利

  • 地址 100083 北京市海淀区学院路丁11号

  • 入库时间 2023-06-19 09:32:16

说明书

技术领域

本发明属于车道偏离报警系统技术领域,特别涉及一种基于机器视觉的摩托车车道偏离报警方法和系统。

背景技术

近年来,随着机动车数量的增长,交通事故的数量也在不断增加,每年都会造成巨大的生命财产损失。交通安全问题逐渐得到了人们的广泛关注。

车道偏离报警系统作为最一种常见的辅助驾驶系统,在保障驾驶员安全行驶上起到了关键作用,目前国内外对于汽车车道偏离报警的研究较为丰富,一些国家已经将成熟的车道偏离报警系统应用于实际车辆中。与汽车相比,针对摩托车的车道偏离报警的研究相对较少,摩托车安全性和稳定性都较弱。

因此,亟需提供一种针对摩托车的车道偏离的报警方法和系统。

发明内容

本发明的目的在于提供一种基于机器视觉的摩托车车道偏离报警方法和系统,能够在摩托车即将偏离车道时及时报警,具备较为良好的准确性。

为解决上述技术问题,本发明提供一种基于机器视觉的摩托车车道偏离报警方法,包括以下步骤:

S1.获取摩托车前方路面的图像;

S2.采用车道线检测算法检测车道线,根据车道线拟合获得车道线位置信息;并且,采用目标跟踪算法获得当前摩托车位置信息;

S3.采集安装在摩托车上的惯性传感器数据,获得摩托车的倾角数据,进而判断摩托车是否进行主动变道;

S4.判断所述摩托车位置与所述车道线位置之间的间距是否小于阈值;若所述摩托车位置与所述车道线位置之间的间距小于所述阈值且摩托车不是处在主动变道过程,则报警提示车辆偏离。

优选地,在上述摩托车车道偏离报警方法中,在所述步骤S1中,对于初始定位的第一帧图像,需要数据初始化,框选初始摩托车位置,提取摩托车前端图像当作模板图片。

优选地,在上述摩托车车道偏离报警方法中,所述步骤S2中,所述目标跟踪算法采用OpenCV开源视觉库来完成目标追踪,首先,使用OpenCV中特征检测的方法提取模板图片和当前帧的SIFT特征,然后将两者特征进行匹配,根据所匹配特征点的对应关系,通过矩阵变换,将矩形模板四个顶点映射到当前帧中,确定具体坐标,最后利用该坐标初始化目标追踪器。

优选地,在上述摩托车车道偏离报警方法中,所述步骤S2中,所述车道线检测算法为卷积神经网络。

优选地,在上述摩托车车道偏离报警方法中,所述车道线检测算法采用车道线检测网络LaneNet模型。

优选地,在上述摩托车车道偏离报警方法中,所述步骤S4中,报警提示采用震动、蜂鸣或闪灯。

本发明还提供了一种基于机器视觉的摩托车车道偏离报警系统,包括:

摄像头单元,用于获取摩托车前方路面的图像;

位置检测单元,用于:采用车道线检测算法检测车道线,根据车道线拟合获得车道线位置信息;并且,采用目标跟踪算法获得当前摩托车位置信息;

惯性传感单元,用于:利用惯性传感单元获得摩托车倾角数据;

车辆预警单元,用于:判断所述摩托车位置与所述车道线位置之间的间距是否小于阈值;若所述摩托车位置与所述车道线位置之间的间距小于所述阈值且摩托车不是处在主动变道过程,则报警提示车辆偏离。

本发明提供一种基于机器视觉的摩托车车道偏离报警方法和系统,通过车道线检测和拟合,获得车道线位置信息,采集安装在摩托车上的惯性传感器数据,获得摩托车的倾角数据,进而判断摩托车是否进行主动变道,并且通过目标跟踪算法,获取摩托车位置信息,从而判断摩托车是否偏离当前车道,若偏离,则报警。采用上述摩托车车道偏离报警方法和系统,可以保证摩托车行驶过程中,在摩托车即将偏离车道时能够及时报警,并且具备较为良好的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本方案提供的摩托车车道偏离报警方法的流程框图。

具体实施方式

本发明的核心是提供一种基于机器视觉的摩托车车道偏离报警方法和系统,能够在摩托车即将偏离车道时及时报警,具备较为良好的准确性。

为了使本领域的技术人员更好地理解本发明提供的技术方案,下面将结合附图和具体实施例对本发明作进一步的详细说明。

请参考图1,本发明提供一种基于机器视觉的摩托车车道偏离报警方法,包括以下步骤:

S1.获取摩托车前方路面的图像;具体地,读取当前帧图像特征。

S2.采用车道线检测算法检测车道线,根据车道线拟合获得车道线位置信息;并且,采用目标跟踪算法获得当前摩托车位置信息;

S3.采集安装在摩托车上的惯性传感器数据,获得摩托车的倾角数据,进而判断摩托车是否进行主动变道;

S4.判断摩托车位置与车道线位置之间的间距是否小于阈值;若摩托车位置与车道线位置之间的间距小于阈值且摩托车不是处在主动变道过程,则报警提示车辆偏离。在报警提示后,随后进入下一帧循环;若摩托车位置与车道线位置之间的间距大于等于阈值,则直接进入下一帧循环。以此循环往复。

需要说明的是,本案基于机器视觉,通过固定在摩托车上的相机采集车辆行驶时的道路图像以及摩托车前端图像,再从中识别和计算出车道线位置以及车辆位置,根据特定的车道偏离算法判断车辆是否偏离。

目标追踪通过在第一帧中给定待跟踪目标的情况下,对目标进行特征提取,对感兴趣区域进行分析;然后在后续图像中找到相似的特征和区域,进而在下一帧图像中确定目标的位置。简单来说,目标追踪就是在连续的视频帧中,逐帧确定物体的位置,进而得到物体完整的运动轨迹。

本案通过车道线检测和拟合,获得车道线位置信息,采集安装在摩托车上的惯性传感器数据,获得摩托车的倾角数据,进而判断摩托车是否进行主动变道,并且通过目标跟踪算法,获取摩托车位置信息,从而判断摩托车是否偏离当前车道,若偏离,则报警。采用上述摩托车车道偏离报警方法,可以保证摩托车行驶过程中,在摩托车即将偏离车道时能够及时报警,并且具备较为良好的准确性。

对于第一帧图像,目标跟踪算法需要在第一帧中给出目标的具体位置,本文采用特征匹配的办法,对目标进行初始定位。

在具体实施方式中,步骤S1中,对于初始定位的第一帧图像,需要数据初始化,框选初始摩托车位置,提取车辆前端图像当作模板图片。根据事先采集的图像,制作车辆前端的图片模板,用来进行初始定位。为避免背景的干扰,图片中应尽可能的只包含所需要的车辆前端部分,在实际中,可以通过更换模板图片来将该算法应用于不同车辆。

进一步地,目标跟踪算法采用OpenCV开源视觉库来完成目标追踪。首先,使用OpenCV中特征检测的方法提取模板图片和当前帧的SIFT(尺度不变特征变换)特征,然后将这两者特征进行匹配,认为在当前帧中满足至少10个特征点匹配的区域就是我们要寻找的车辆前端位置,之后根据所匹配特征点的对应关系,通过矩阵变换,将矩形模板四个顶点映射到当前帧中,从而确定具体坐标。最后利用该坐标初始化目标追踪器。

初始化追踪器时,在视频的开始,读取第一帧图像,采用上文提到的特征匹配的方法确定图像中车辆前端的具体位置,用矩形框选出来,将矩形顶点的坐标作为tracker.init函数的输入,该函数用来初始化追踪器。

更新目标位置时,tracker.update函数会根据第一帧矩形框的位置和目标图像特征,调用KCF追踪算法,在当前帧图像中返回所追踪的车辆前端的位置。其具体返回信息包括两部分,当前帧中所更新的矩形框顶点坐标以及是否追踪失败。

步骤S2中,车道线检测算法为卷积神经网络。与传统方法相比,卷积神经网络特征提取能力极强,其检测识别准确性显著提高,具有巨大的优势。卷积神经网络主要由卷积层、激活层、池化层和全连接层构成。在车道线检测中利用卷积神经网络能够在复杂道路环境中比较准确的提取到车道线。

进一步地,由于网络深度的影响,卷积神经网络计算成本较大,实时性不足。此外,深度学习获取的车道线特征通常不够平滑,还需要进一步处理。因此,车道线检测算法采用车道线检测网络LaneNet模型。

本文车道线检测算法采用2018年提出的一种端到端的车道线检测网络LaneNet(参考文献(Neven D,Brabandere B.D,Georgoulis S,et al.Towards End-to-End LaneDetection:an Instance Segmentation Approach[C]//2018IEEE Intelligent VehiclesSymposium(IV).Changshu:IEEE,2018:286-291.)),以下为语义分割网络LaneNet检测车道线的介绍:

通过提出连通域检测、Mean shift聚类、最小二乘法拟合等一系列模型后处理步骤,对图像中不同的车道线进行区分并拟合。

1)关于网络结构

LaneNet是一种将语义分割和对像素进行向量表示结合起来的多任务模型,模型有两个分支,分别为车道分割分支和车道嵌入分支,前者负责进行语义分割,对像素进行二分类,判断每个像素点属于车道线还是背景;后者用于车道线的实例分割,对像素进行嵌入向量表示,每个像素点对应一个N维向量,在这个N维嵌入空间中,同一条车道线像素向量距离足够接近,不同车道线像素向量距离足够远。在后处理部分,将两个分支的输出结果进行结合,利用Mean-Shift算法进行聚类,就可以得到车道线实例分割的结果。

LaneNet是基于ENet的编码器—解码器模型,ENet是一种用于实时语义分割的神经网络,由5个阶段组成,其中第2阶段和第3阶段结构基本相同,前3个阶段属于编码器,后2个阶段属于解码器。

由于Enet编码器包含的参数多于解码器,LaneNet两个分支之间完全共享编码器会使结果不理想。其中,车道分割和车道嵌入两个任务分支共享编码器中的1,2阶段,并将阶段3和后面的解码层(即4,5阶段)作为各自的分支单独进行训练;其中,车道分割分支输出单通道图像,尺寸为W*H*1,车道嵌入分支的输出为N通道图像,尺寸为W*H*N,W,H分别为输入图像的宽和高,N为嵌入向量的维度。

2)关于损失函数

损失函数被用来衡量神经网络前向计算结果和实际标签之间的差异大小,损失函数的结果越小,表示神经网络前向计算结果越接近于实际标签,网络准确度越高,预测能力越强。

LaneNet的作者将两个任务分支的损失等权重求和作为总损失函数,根据总损失来更新网络权重,模型总损失函数如下式3-1所示。式中,车道分割分支损失函数L

L

车道分割分支使用交叉熵损失函数训练网络,该函数目前被广泛应用于多分类任务中,如式(3-2)所示。其中,N为类别总数,y

为解决2.1中指出的样本分布不均衡问题,作者引入了Enet论文中提出的有界逆类加权函数对交叉熵损失函数进行加权,与直接使用逆概率加权相比,当类的概率接近0时,权重是有界的。如式(2-3)所示,p

车道嵌入分支损失函数L

3)关于模型后处理——连通域检测

车道分割分支在对每个像素进行二分类时,难免将路面或者背景区域中亮度较大的像素点判断成车道线这一类别,出现误检情况。误检像素的出现不仅会增大下一步聚类操作所耗费的时间,还会对车道线拟合部分造成严重的干扰。使得拟合出来的曲线偏离实际车道线趋势。不过通常情况下,这类误检像素距离真实车道线像素较远,并且所占区域相对较小,我们可以通过对二值图像进行连通域检测,删除面积小于一定阈值的连通域,达到去除误检像素的效果。

4)关于模型后处理——Mean shift聚类

车道嵌入分支只是在向量空间区分出了不同的车道线,为了在实际图像中区分车道线实例,我们还需要以训练出的嵌入向量为特征进行聚类,这里利用Mean shift算法,完成具体车道线实例的分割。

聚类算法是当前使用比较广泛的无监督学习算法,它可以根据不同数据之间的特征差异大小将数据分成多个不相交的集合,而无需提前对数据进行标注。Mean shift算法是经典聚类算法之一。Mean shift其实是一个迭代的过程,先计算出当前点的偏移均值向量,移动该点到其偏移均值向量处,然后以此为新的起始点,继续移动,直至最终收敛。

为了方便聚类,对前文中提到的车道嵌入分支损失函数加以限制,设定阈值参数δ

5)关于模型后处理——最小二乘法拟合车道线

本文直接在原图上使用最小二乘法对检测出的车道线像素点坐标进行拟合。最小二乘法用来在样本空间中找到最佳拟合模型。通过最小化所有样本与拟合模型间的误差平方和来求解最佳拟合的参数。最小二乘法在确定拟合模型的参数时,只用对所有样本遍历一次,该方法计算量小,速度快,当前被广泛应用于机器学习领域。

对于给定的m个车道线像素点(u

u(v)=a

其中,a

通过使拟合曲线对所有车道线像素点的误差平方之和最小,来达到所拟合的曲线尽可能接近车道线实际趋势的效果,根据最小二乘原理,误差平方和是拟合系数的函数,因此可写为

为求函数Q的最小值,取Q关于a

整理可得到二次多项式函数的法方程,如式所示

拟合系数a

由于相机固定在驾驶员头部的缘故,图像的底部通常包含摩托车车身前端,利用这部分信息可以获取车辆在车道中的位置。由于摩托车的不稳定性导致相机位置不固定,不能简单的判定图像底部中点就是车辆位置中心。本文采取目标追踪的办法实时获取摩托车在图像中的位置。

目标追踪通过在第一帧中给定待跟踪目标的情况下,对目标进行特征提取,对感兴趣区域进行分析;然后在后续图像中找到相似的特征和区域,进而在下一帧图像中确定目标的位置。简单来说,目标追踪就是在连续的视频帧中,逐帧确定物体的位置,进而得到物体完整的运动轨迹。

根据摩托车在行使过程中的特点,采用卷积神经网络检测当前车道线的像素,并对检测结果进行了测试和分析。之后对车道线检测结果进行聚类、拟合,最终得到能够代表车道线位置的二次函数。该网络结构简单,前向传播速度快,理论上速度可以达到约50fps,模型在Tusimple车道线数据集上预测准确率达到了96.4%。

具体地,步骤S4中,报警提示采用震动、蜂鸣或闪灯。当在驾驶员非主动变道情况下,检测到车辆有驶离当前车道的行为时,系统就会及时采取相应方式,如震动、蜂鸣、闪灯等警示驾驶员,纠正这种无意识的偏离车道的危险行为。而在驾驶员主动换道时,为了避免误触发系统,通常设定为在转向灯开启情况下,偏离报警系统自动关闭。

需要说明的是,本文通过相机采集到的图像做出偏离报警决策,当然还可以使用其他传感器获取摩托车在行使过程中的状态信息。

本文使用双分支语义分割网络LaneNet对当前车道线进行检测,该网络车道分割分支识别车道像素,车道嵌入分支得到区分不同车道线实例的嵌入向量。在后处理部分通过连通域检测去除误检像素,使用Mean Shift对嵌入向量聚类,得到具体车道线实例的像素,最后利用最小二乘法对不同车道线实例的像素进行拟合,获得车道线的抛物线数学模型。

本文利用OpenCV视觉库中KCF Tracker函数,使用目标跟踪的方法获得摩托车在图像中的位置,根据车道线数学模型以及车辆位置,设计出了一种车道偏离报警算法,能较为准确的检测摩托车偏离当前车道的行为。

本方案还提供一种基于机器视觉的摩托车车道偏离报警系统,包括摄像头单元、位置检测单元和车辆预警单元。

其中,摄像头单元,用于获取摩托车前方路面的图像;

位置检测单元,用于:采用车道线检测算法检测车道线,根据车道线拟合获得车道线位置信息;并且,采用目标跟踪算法获得当前摩托车位置信息;

惯性传感单元,用于:利用惯性传感器获得摩托车倾角数据;

车辆预警单元,用于:判断摩托车位置与车道线位置之间的间距是否小于阈值;若摩托车位置与车道线位置之间的间距小于阈值且摩托车不是处在主动变道过程,则报警提示车辆偏离。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号