基于浅层卷积神经网络探测前车起步检测方法及控制方法与流程

文档序号:21734639发布日期:2020-08-05 01:30阅读:227来源:国知局
基于浅层卷积神经网络探测前车起步检测方法及控制方法与流程

本发明属于汽车辅助驾驶领域,特别涉及一种基于浅层卷积神经网络探测前车起步检测方法及控制方法。



背景技术:

随着科技的发展进步,智能化已经成为现今各个领域研究的热门课题,然而伴随着经济和科技的发展,城市道路上行驶的车辆也越来越多,城市的交通拥堵问题已经广泛困扰到人们的生活了,如何利用智能操控技术为道路的通畅运行也成为了交通领域广泛关注的课题。

前车起步提醒方法属于汽车辅助驾驶领域,在拥堵路段或在路口等待交通信号灯时,司机需要随时注意前车的启停状态,以保证车流顺畅有序,但漫长枯燥的等待里,司机难免分神以至没能及时注意前方车流情况,进一步加剧道路拥堵,还有可能造成因没及时起步带来的后车追尾现象。因此,当前方有车时前车已经起动,或是前方无车时绿灯已经亮起,司机没有做出相应反应时,需要系统自动提醒司机启动车辆,避免后车催促,提高道路通行效率。

现有技术中,中国专利申请号为:201510453118.4,名称:一种基于超声波雷达的前车起步提醒方法及系统,是一种基于前车测距的方法,通过超声波雷达传感器测量与前车的相对距离,再利用这个相对距离信息判定前车的启停动态,并根据判定结果提醒司机。但是,在该方案中,要想比较精确地获取与前车相对距离对传感器的精度有较高的要求,如果用在车载设备上,如记录仪上,无疑会及大地增加制作成本,实用性不强。

中国专利申请号为:201510164515.x,名称:一种基于安卓的低成本停车等待驾驶提醒系统,是一种基于运动目标检测的方法,该方案利用摄像头采集车辆前方的视频图像,当判定本车处于停车等待状态时,通过判断视频图像中的目标是否运动来判定前车是否已经起步行驶。但是,该方案利用运动目标的检测方法,由于很难区分出运动的到底是前车还是其它目标,容易造成误判,精度不高;而要通过提高通过视频进行判断的准确性,在视频数据的处理上无疑要加大成本,并且对车辆前面视频数据进行处理也是需要一定时间的,这种检测方案还会延迟系统的提醒时间,不利于用户及时进行判断。

另外市场上还有一种基于车牌识别的ai算法来判定前车起步的状态(http://www.xjishu.com/zhuanli/57/201610819863.html),这种算法的弊端是本车在倒车的情况下,会误认为是前车起步的状态,会对驾驶员产生误报。

中国专利申请号为:201510700316.6,名称为:前车起步的处理方法、装置和系统,是一种基于重力传感器和视频传感器的前车起步的系统。利用colorcsk的图像算法来判定前方车辆的运动轨迹,再根据自身的重力传感器的阀值来判定是否开启前车起步提醒功能以及对车内司机进行提醒。colorcsk是利用高斯核计算相邻两帧之间的相关性,取响应最大的点为预测的目标中。其弊端是针对固定目标大小的,对发生尺度变化的目标鲁棒性差。由于行车路上的车辆种类很多,摩托车,卡车,公交车,轿车,三轮车等的车辆,大小都不一样,这种方法来判断车辆运动轨迹很难保证准确性。因此,提供一种简捷、准确、低成本的前车起步提醒方法是本领域亟待解决的问题。

另外,gravitysensor(gsensor)是一种加速度传感器,被广泛的应用的行车记录仪中,来实现车辆碰撞监控和停车监控的功能,但是没有被应用于高级辅助驾驶领域的ai算法。



技术实现要素:

本发明的目的是针对现有技术中前车起步提醒方案准确度低、制作成本高及提醒延迟的问题,提供一种在市场上主流的行车记录仪里实现快捷的,精准的前车起步提醒功能,并且不需要为记录仪和汽车增加额外的硬件设备,当前车启动时能及时提醒驾驶者,基于浅层卷积神经网络探测前车起步检测方法。本发明的另一目的是提供一种基于gsensor和视频影像的数据,运用深度学习和几何图形的算法,再通过阀值比较来判断车辆是否已经驶离,基于浅层卷积神经网络探测前车起步检测控制方法。本发明的再一目的是提供一种利用行车记录仪的重力加速器和浅层卷积网络的ai算法,快捷定位前车的车牌,通过光学焦距的原理结合三角函数公式,实现前车起步提醒,提醒的方法通过记录仪本身的喇叭,也可通过wifi连接车载中控发出警告信号的浅层卷积神经网络探测前车起步检测方法及控制方法。

本发明的技术解决方案是所述基于浅层卷积神经网络探测车牌的检测方法,其特殊之处在于,包括以下步骤:

车牌检测通过网络头部架构搭建的多盒式单发探测器实现;包括以下步骤:

⑴行车记录仪通过重力加速器判断自身处于停车状态以后,把前方路面的图像传到神经网络的算法器;所述算法器,满足条件:图像的像素需要大于等于300x300后,进一步包括:

(1.1)若图像长宽w,h等于300,300,那么算法器直接把图片数据放入输入层进行计算;

(1.2)若图像长宽w,h大于300,300,算法器截取图像中央的300x300的区域作为新的图像放入输入层进行计算;因为车辆起步的情况只需要考虑跟自己处于同一车道上的正前方的车辆,所以只需要检测中央图像的物体;新的图像的左下角的坐标x=(w-300)/2,y=(h-300)/2,已知新图像的长宽(300x300)和坐下角坐标,确定新的图像;

⑵输入层的图片会被处理成(300,300,3)的数据格式,分别为长,宽,通道,彩色rgb图片默认是三个通道;数据会被均值常态话处理;

⑶基于移动网络构建从0层至10层的网络架构:

⑷为车牌检测构建11层至图像输出层的网络架构;头部网络从11层到15层,分别负责检测(19x19),(10x10),(5x5),(3x3)的图像数据检测,精准定位车牌的12个地标点来确定车牌在图像中的位置;

⑸获得最终输出物在图像中识别出的数据:把所有检测的数据结果合并,包含每个挂锚盒子的坐标、相对变量、物体在盒子内的坐标点和车牌分类的信心指数;其中:信心指数用来判定车牌的种类,货车或者小客车;坐标点用来计算车牌在图像中的长度。

作为优选:步骤⑶所述网络结构的算法分类如下:

a)二维零填充层高:为图片的上、下、左、右四圈的边上都加上零的数据,方便后边的卷积核的运算;数据结构有改变,长宽各增加1;

b)批量常态化层:

公式(a):

xi'=(xi-(∑k∈m(xi))/n))/

式中:xi是每一个点的值,n是数据总数,m∈{1,2,3...n},β是固定变量0.001防止分母为0,其中原始图的n等于300x300x3;

所述公式(a)批量的处理每个数据点,不更改数据的结构;

c)激活函数层:用f(x)=最大值(0,x)公式来处理每个数据点,使其最小数值为零;

d)深度二维卷积层:用(3x3)的卷积核来挖掘图像中的特征,不改变数据的结构;

e)二维卷积层:用(1x1)的卷积核来挖掘图像中的特征,改变数据的结构;

f)卷积组:用来简化网络结构,利用(w,h,d,m)的变量和每一层的参数提高代码利用率;其中w等于数据的长,h等于数据宽,d等于通道数,m等于需要检测的多盒数量;其中卷积组d的3的设定是仅需检测货车和小客车车牌这两个类型;再加的1归为其他类。

作为优选:步骤⑷所述图像数据的检测进一步包括:

a)挂锚盒子层:以方框的形式定位车牌的位置;

所述挂锚盒:是指把图片中相邻的点(0.5:1,1:1:2:1)这三种长和宽比例,组合起来圈定物体在图中的位置,每一个组合起来的方框;

b)盒子重朔:把图像转化输出为(w·h·d,8)的数据结构,其中的8包含4个挂锚盒子的坐标和4个相对的变量;

c)多盒位置卷积重朔:把图像转化输出为(w·h·d/4,4)的数据结构,其中的4是每个盒子的4个坐标点;

d)挂锚盒子卷积合并:把头部网络每一层的特征合并,输出(2248,8)的数据格式,其中的8是每个数据的4个挂锚盒子的坐标和4个相对的变量,2248是挂锚盒子卷积合并生成的盒子数量,用公式(b)计算;

公式(b):挂锚盒子卷积合并生成的盒子数量:

lboxes=σi∈l(wi·hi·mi)+σi∈o(wi/2·hi/2·mi),

式中:w是输入特征的宽,h是输入特征的高,m是每层卷积的盒子数,l∈{11,13},o∈{14,15};

e)多盒位置卷积合并:把头部网络每一层的特征合并,输出(2248,4)的数据结构,其中4是每个盒子内物体的4个坐标点,2248是挂锚盒子卷积合并生成的盒子数量,用公式(b)计算;

f)多盒信心卷积合并:把头部网络的每一层的特征合并,输出(2248,3)的数据结构,其中3的设定是仅需检测货车和小客车的车牌这2个类型,再加1个其他类是检测不到的情况;2248是挂锚盒子卷积合并生成的盒子数量,用公式(c)计算;

公式(c):多盒信心卷积合并生成的盒子数量cconf=σi∈l(wi·hi·mi),

式中:w是输入特征的宽,h是输入特征的高,m是每层卷积的盒子数,

l∈{11,13,14,15};

g)激活函数softmax:用公式hθ(x)=1/(1+exp(−θ⊤x)),计算每个数据点的输出值;所述函数被应用在多盒信心卷积合并层来计算出所有盒子的信心指数。

作为优选:所述多盒式单发探测器针对货车和小客车车牌的识别方法包括:

⑴用来训练ai卷积网络的车牌的关键点被标注,通过这些关键点,可以准确的识别货车或者小客车的车牌,算法默认货车后车牌是440mmx220mm的尺寸,小客车是440mmx140mm;

⑵通过光学焦距推算出车距d=f·p/p',f,

式中:f是焦距是镜头上固定的值,p也是固定的440mm;

⑶前方车辆出现停在不与行车记录仪所在车辆的平行面上,存在一定角度的情况,判断前方车牌是否在所述平行面上通过,ai算法输出挂锚盒的坐标计算挂锚盒长、高比例,推算出车牌是否在平行于前方,若货车的挂锚盒的长/高不等于440/220或者小客车的挂锚盒的长/高不等于220/140,则ai算法判断出车牌不是平行于前方;

⑷如果车牌不是平行与前方,可通过车牌在挂锚盒内的坐标和三角函数公式:(x2-x1)2+(y2-y1)2=p'2推算出图片内车牌的实际长度p';

⑸每个车牌都有12个地标点用来训练本发明的神经网络模型;用12点来检测车牌在图像中的位置,长和宽来计算车距,计算出车距p后,前车起步提醒算法对比距离阀值,并根据与车载中控的连接情况触发,相应的起步提醒;若wifi相连则发送警报给中控,若无wifi连接就会直接通过记录仪的喇叭播出。

本发明的另一技术解决方案是所述基于行车记录仪的前车起步提醒的控制方法,其特殊之处在于,包括以下步骤:

包括以下步骤:

⑴行车记录仪持续的采集前方车辆的信息,收集到的图像通过预处理,包括:修复坏点,降噪,白平衡,旋转180度,畸形校正,变成算法可用的图像;

⑵记录仪的重力传感器通过持续收集水平和垂直(x,y)轴的数据,计算出车辆的加速度;

⑶判断图像是否合格,若否,则终止处理图像;

⑷判断加速度是否大于静态阀值,若否,则终止处理图像;

⑸若判断图像合格、判断加速度大于静态阀值同时具备的条件下,系统判断记录仪所在车辆出于静止状态,启动前车起步提醒算法;

⑹算法启动后,图像通过卷积网络的推断,判断前方是否有车牌需要检测,若否,则终止算法;

⑺若是,算法输出车牌类别的识别、挂锚盒坐标和车牌在挂锚盒内的坐标;

⑻通过光学焦距推算出车距d=f.p/p',f,式中:f是记录仪镜头的焦距,p是车牌号牌的长度,p'是车牌的实际长度;

⑼对比距离阀值,若距离小于阀值,则终止算法,若距离大于阀值,则进入下一步;

⑽进一步判断是否已经与车机的wifi连接,若是,通过wifi通知车机监听服务,若否,则扬声器提醒司机前车起步。

作为优选:所述步骤⑻中若遇车处于非平行与前方状态时,通过车牌在挂锚盒内的坐标和三角函数公式,推算出图片内车牌的实际长度p':

p'2=(x2-x1)2+(y2-y1)2

当前方车辆停在不与行车记录仪所在车辆平行面时,系统判断前方车牌是否在平行面上可以通过,ai算法输出的挂锚盒通过坐标计算挂锚盒的长和高的比例进而推算出车牌是否在平行于前方.如货车挂锚盒的长/高不等于440/220或小客车的挂锚盒的长/高不等于220/140,则算法判断出车牌不平行于前方。

作为优选:步骤⑶所述记录仪重力传感器判断车辆自身处于停车状态以后,把前方路面像素≥300x300的图像传到神经网络的算法器;

a)如果图像长宽w,h等于300,300,那么算法器直接把图片数据放入输入层进行计算;

b)如果图像长宽w,h大于300,300,算法器截取图像中央的300x300的区域作为新的图像放入输入层进行计算;

当输入层的图片会被处理成长300,宽300,通道3的数据格式,彩色rgb图片默认为三通道;数据被均值常态处理用公式(a):

xi'=(xi-(∑k∈m(xi))/n))/

式中:xi是每一个点的值,n是数据总数,m∈{1,2,3...n},β是固定变量0.001防止分母为0,其中原始图的n等于300x300x3)。

与现有技术相比,本发明的有益效果:

⑴本发明提供的ai算法不需要为行车记录仪增加额外的硬件(比如超声波雷达等),可以为市面上主流的行车记录仪快捷的实现,精准的前车起步提醒功能,为已有的行车记录仪增加市场竞争力。

⑵本发明计算出车距p以后,前车起步提醒算法会对比距离阀值,比如车距d如果大于5米,就会根据与车载中控的连接情况触发,相应的起步提醒.如果wifi相连就会发送警报给中控,如果没有wifi连接就会直接通过记录仪的喇叭播出。

⑶每个车牌都有12个地标点用来训练本发明的神经网络模型.不同于其他车牌检测的技术是利用大量的地标点来准确的识别车牌的内容.本发明仅用12点来检测车牌在图像中的位置,长和宽来计算车距,所以训练和检测速度都很快。

⑷本发明用来训练ai卷积网络的车牌的关键点已经被标注,通过这些关键点,可准确的识别货车或者小客车的车牌.算法默认货车后车牌是440mm×220mm的尺寸,小客车是440mm×140mm。

附图说明

图1为本发明的行车记录仪的基本测距方法示意图;

图2为本发明的不规则停车状态示意图;

图3为本发明的不规则停车计算车牌边长原理示意图;

图4为本发明的卷积网络图像训练地标标记示意图;

图5为本发明的行车记录仪wifi报警系统示意图;

图6为本发明融合判断流程图;

图7为本发明的ai算法原理示意图;

图8为本发明处理像素大于300x300的图片的方法示意图。

具体实施方式

本发明下面将结合附图作进一步详述:

请参阅图1所示,本发明利用行车记录仪的重力加速器和浅层卷积网络的ai算法,可以快捷的定位前车的车牌,通过光学焦距的原理结合三角函数公式,实现前车起步提醒。提醒的方法可通过记录仪本身的喇叭也可通过wifi连接车载中控发出警告信号。

请参阅图6所示,行车记录仪需要安装在汽车的后视镜附近,通过镜头收集前方的路况图片。行车记录仪持续的采集前方车辆的信息,收集到的图像通过预处理,包括:修复坏点,降噪,白平衡,旋转180度,畸形校正等功能,变成算法可用的图像。

记录仪的重力传感器通过持续收集水平和垂直(x,y)轴的数据,计算出车辆的加速度。如果加速度大于静态阀值,系统判断记录仪所在车辆出于静止状态。此时开启前车起步提醒的算法的ai程序。

ai算法开启以后,图像通过卷积网络的推断,判断出前方是否有车牌需要检测,如果没有则停止算法,如果有,算法会输出车牌的类别的识别,挂锚盒坐标,和车牌在挂锚盒内的坐标;

所述挂锚盒:是指把图片中相邻的点(0.5:1,1:1:2:1)这三种长和宽比例,组合起来圈定物体在图中的位置,每一个组合起来的方框;

本发明目前只针对国内货车和小客车车牌进行识别。请参阅图4所示,用来训练ai卷积网络的车牌的关键点已经被标注,通过这些关键点,可以准确的识别货车或者小客车的车牌,算法默认货车后车牌是440mmx220mm的尺寸,小客车是440mmx140mm。

006通过图1的光学焦距可以推算出车距d=f·p/p',f,f是焦距是镜头上固定的值,p也是固定的440mm,p'可以通过图3算出,所以车距d可以算出。

请参阅图2所示,前方车辆有些情况会停在不与行车记录仪所在车辆的平行面上,会有一定的角度。判断前方车牌是否在平行面上可以通过,ai算法输出的挂锚盒的坐标算出。通过计算挂锚盒的长和高的比例可以推算出车牌是否在平行于前方。如果货车的挂锚盒的长/高不等于440/220或者小客车的挂锚盒的长/高不等于220/140,那么算法就会判断出车牌不是平行于前方。

请参阅图3所示,如果车牌不是平行与前方,可通过车牌在挂锚盒内的坐标和三角函数公式:(x2-x1)2+(y2-y1)2=p'2推算出图片内车牌的实际长度p'。

请参阅图4所示,每个车牌都有12个地标点用来训练本发明的神经网络模型。不同于其他车牌检测的专利文献,利用大量的地标点来准确的识别车牌的内容。本发明只用12点来检测车牌在图像中的位置,长和宽来计算车距,所以训练和检测速度都很快。

计算出车距p以后,本发明的前车起步提醒算法会对比距离阀值,比如车距d已经大于5米了,就会根据与车载中控的连接情况触发,相应的起步提醒;如果wifi相连就会发送警报给中控,如果没有wifi连接就会直接通过记录仪的喇叭播出。

图7是本发明的浅层卷积网络结构图,其主干是基于移动网络结构搭建的,物体检测的网络头部结构是本发明为实现高效的车牌检测,而搭建的特有的多盒式单发探测器结构。

1.行车记录仪通过重力加速器判断自身处于停车状态以后,把前方路面的图像传到神经网络的算法器。(注:图像的像素需要大于等于300x300)

a)如果图像长宽(w,h)等于(300,300),那么算法器直接把图片数据放入输入层进行计算

b)如果图像长宽(w,h)大于(300,300),算法器截取图像中央的300x300的区域作为新的图像放入输入层进行计算。因为车辆起步的情况只需要考虑跟自己处于同一车道上的正前方的车辆,所以只需要检测中央图像的物体。新的图像的左下角的坐标x=(w-300)/2,y=(h-300)/2,已知新图像的长宽(300x300)和坐下角坐标,新图可以确定。

请参阅图7所示,输入层的图片会被处理成(300,300,3)的数据格式,分别为(长,宽,通道),彩色rgb图片默认是3个通道。然后数据会被均值常态话处理用公式(a):

xi'=(xi-(∑k∈m(xi))/n))/

式中:xi是每一个点的值,n是数据总数,m∈{1,2,3...n},β是固定变量0.001防止分母为0,(原始图的n等于300x300x3)

请参阅图7所示,从0层开始到10层的网络结构都是基于移动网络的构建的,其算法分类如下:

a)二维零填充层高:为图片的上、下、左、右四圈的边上都加上零的数据,方便后边的卷积核的运算。数据的结构有改变,长宽各增加1;

b)批量常态化层:上述公式(a)批量的处理每个数据点,不更改数据的结构;

c)激活函数层:用f(x)=最大值(0,x)公式来处理每个数据点,使其最小数值为零;

d)深度二维卷积层:用(3x3)的卷积核来挖掘图像中的特征,不改变数据的结构;

e)二维卷积层:用(1x1)的卷积核来挖掘图像中的特征,改变数据的结构;

f)卷积组:用来简化网络结构,利用(w,h,d,m)的变量和每一层的参数提高代码利用率。其中w等于数据的长,h等于数据宽,d等于通道数,m等于需要检测的多盒的数量。其中卷积组d的3的设定是因为本发明的算法只需要检测2个类型,(货车和小客车的车牌),再加1是因为如果检测不到这两类的情况都归为其他类;

从11层到最后图像输出的网络结构是本发明为车牌检测定制的。其头部网络从11层到15层,分别负责检测(19x19),(10x10),(5x5),(3x3)的图像数据,主要目的是精准的定位车牌的12个地标点来确定车牌在图像中的位置,长和宽;其中:

a)挂锚盒子层:以方框的形式定位车牌的位置

b)盒子重朔:把图像转化输出为(w·h·d,8)的数据结构,其中的8包含4个挂锚盒子的坐标和4个相对的变量;

c)多盒位置卷积重朔:把图像转化输出为(w·h·d/4,4)的数据结构,其中的4是每个盒子的4个坐标点;

d)挂锚盒子卷积合并:是把头部网络的每一层的特征合并,输出(2248,8)的数据格式,其中的8是每个数据的4个挂锚盒子的坐标和4个相对的变量,2248是挂锚盒子卷积合并生成的盒子数量,用公式(b)计算;

公式(b):挂锚盒子卷积合并生成的盒子数量

lboxes=∑i∈l(wi·hi·mi)+∑i∈o(wi/2·hi/2·mi),式中:w是输入特征的宽,h是输入特征的高,m是每层卷积的盒子数,l∈{11,13},o∈{14,15};

e)多盒位置卷积合并:是把头部网络的每一层的特征合并,输出(2248,4)的数据结构,其中4是每个盒子内物体的4个坐标点,2248是挂锚盒子卷积合并生成的盒子数量,用公式(b)计算;

f)多盒信心卷积合并:是把头部网络的每一层的特征合并,输出(2248,3)的数据结构,其中3的设定是因为本发明的算法只需要检测2个类型,(货车和小客车的车牌),再加1个其他类在检测不到的情况,2248是挂锚盒子卷积合并生成的盒子数量,用公式(c)计算;

公式(c):多盒信心卷积合并生成的盒子数量cconf=∑i∈l(wi·hi·mi),式中:w是输入特征的宽,h是输入特征的高,m是每层卷积的盒子数,l∈{11,13,14,15};

g)激活函数softmax:用公式hθ(x)=1/(1+exp(−θ⊤x)),计算每个数据点的输出值,这个函数被应用在多盒信心卷积合并层来计算出所有盒子的信心指数;

h)最终输出物体识别:把所有检测的数据结果合并,包含每个挂锚盒子的坐标,相对变量,物体在盒子内的坐标点,和车牌分类的信心指数。其中信心指数用来判定车牌的种类,货车或者小客车;然后坐标点用来计算车牌在图像中的长度。

以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。

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