本发明涉及智能交通技术领域,尤其涉及一种基于机器学习的斑马线车辆避让检测方法及系统。
背景技术:
随着城市化进程加快,城市人口和机动车急剧增加,地面交通状况变得越来越复杂,人、车、路矛盾日益突出,文明交通难以实现。根据《道路交通安全法》,行人在斑马线区域拥有优先通行权,机动车行驶至附近需主动停下礼让;但在现实生活中,很多机动车在斑马线前难以遵守上述交通法规,导致一系列的人车交通事故频频发生。
为了纠正驾驶员的不良行为,市面上涌现了很多关于机动车避让检测方法,传统的检测方法都是简单的抓拍以及人工对比识别,因此传统的车辆避让检测方法存在以下问题:1.检测对象依赖于外在条件,一旦对象发生光照变化、视角变化以及遮挡时,系统无法检测,如:行人弯腰捡拾物品。2.检测对象依赖于外在条件,一旦对象发生光照变化、视角变化以及遮挡时,系统无法检测,如:行人弯腰捡拾物品。综上,现有的车辆避让检测方法的检测结果并不精确且检测过程具有一定的局限性。
技术实现要素:
为了克服现有技术的不足,本发明的目的之一在于提供一种基于机器学习的斑马线车辆避让检测方法,其能解决现有的车辆避让检测方法的检测结果并不精确且检测过程具有一定的局限性的问题。
本发明的目的之二在于提供一种基于机器学习的斑马线车辆避让检测系统,其能解决现有的车辆避让检测方法的检测结果并不精确且检测过程具有一定的局限性的问题。
本发明提供目的之一采用以下技术方案实现:
一种基于机器学习的斑马线车辆避让检测方法,包括:
样本标记,对预设人车样本数据库中训练原始人车图像中的行人、车辆进行标记处理,得到若干与所述训练原始人车图像对应的含有标记框坐标、标记框宽度以及标记框高度的标记参数;
建立检测模型,将所述标记参数输入至训练模型中,采用目标检测算法对所述训练模型进行训练并得到检测模型;
获取待测图像,抓拍预设时间段内待测斑马线区域及周围的若干待测人车图像;
车辆检测,根据所述检测模型对若干所述待测人车图像中的车辆进行检测得到含有车辆的待测车辆图像,根据车辆与斑马线之间的位置关系对所述待测车辆进行筛选,得到含有已越线车辆图像,其中,所述已越线车辆图像中的车辆与斑马线之间的位置关系为越线;
行人移动轨迹判断,根据所述检测模型对所述已越线车辆图像进行行人检测,得到所述已越线车辆图像中的行人图像,对所述已越线车辆图像中的行人图像进行分析得到行人前进方向;
车辆违规判断,判断所述已越线车辆图像中的车辆位置是否在所述行人前进方向的预设距离范围内,若是,则所述已越线车辆图像中的车辆违规,若否,则所述已越线车辆图像中的车辆未违规。
进一步地,所述行人移动轨迹判断具体为:根据所述检测模型对所述已越线车辆图像进行行人检测,得到已越线车辆图像中的行人图像,当所述已越线车辆图像中的行人图像与车辆图像相邻时,根据所述已越线车辆图像以及关联图像进行分析,得出所述已越线车辆图像中的行人前进方向,所述关联图像为紧邻所述已越线图像且位于所述已越线图像之前的两幅描述行人移动轨迹的图像。
进一步地,在所述样本标记之前还包括建立人车样本数据库,采集若干斑马线区域及周围的原始人车图像,并将所述原始人车图像随机分类为训练原始人车图像和测试原始人车图像,存储所述训练原始人车图像和所述测试原始人车图像得到含有若干所述原始人车图像的预设人车样本数据库。
进一步地,所述建立人车样本数据库具体包括:
视频拆分处理,采集斑马线区域及周围的人车视频,按照预设帧数将所述人车视频拆分成若干原始人车图像,并对所述原始人车图像进行灰度处理;
数据库建立,随机选取80%的所述原始人车图像为训练原始人车图像,将剩余的20%的所述原始人车图像为测试原始人车图像,存储训练原始人车图像和所述测试原始人车图像得到预设人车样本数据库。
进一步地,所述建立检测模型还包括模型测试,将所述预设人车样本数据库中的测试原始人车图像输入至所述训练模型进行检得到对应的测试预测框,根据损失函数计算所述测试预测框与所述标记框之间的误差并得到所述训练模型的识别准确率,当所述识别准确率达到预设识别率阈值时,所述训练模型即作为检测模型。
进一步地,所述获取待测图像具体为:抓拍预设时间段内待测斑马线区域及周围的人车视频,按照预设帧数将所述人车视频拆分为若干人车图像,通过加权平均法对所述人车图像进行灰度处理得到若干待测人车图像。
进一步地,所述对预设人车样本数据库中训练原始人车图像中的行人、车辆进行标记处理具体为:分别以矩形框形式将所述训练原始人车图像中的行人、车辆进行标记。
本发明提供目的之二采用以下技术方案实现:
一种基于机器学习的斑马线车辆避让检测系统,包括:
样本标记模块,所述样本标记模块用于对预设人车样本数据库中训练原始人车图像中的行人、车辆进行标记处理,得到若干与所述训练原始人车图像对应的含有标记框坐标、标记框宽度以及标记框高度的标记参数;
建立检测模型模块,所述建立检测模型模块用于将所述标记参数输入至训练模型中,采用目标检测算法对所述训练模型进行训练并得到检测模型;
获取模块,所述获取模块用于抓拍预设时间段内待测斑马线区域及周围的若干待测人车图像;
车辆检测模块,所述车辆检测模块用于根据所述检测模型对若干所述待测人车图像中的车辆进行检测得到含有车辆的待测车辆图像,根据车辆与斑马线之间的位置关系对所述待测车辆进行筛选,得到含有已越线车辆图像,其中,所述已越线车辆图像中的车辆与斑马线之间的位置关系为越线;
行人移动轨迹判断模块,所述行人移动轨迹判断模块根据所述检测模型对所述已越线车辆图像进行行人检测,得到所述已越线车辆图像中的行人图像,对所述已越线车辆图像中的行人图像进行分析得到行人前进方向;
车辆违规判断模块,所述车辆违规判断模块用于判断所述已越线车辆图像中的车辆位置是否在所述行人前进方向的预设距离范围内,若是,则所述已越线车辆图像中的车辆违规,若否,则所述已越线车辆图像中的车辆未违规。
进一步地,还包括建立人车样本数据库模块,所述建立人车样本数据库模块用于采集若干斑马线区域及周围的原始人车图像,并将所述原始人车图像随机分类为训练原始人车图像和测试原始人车图像,存储所述训练原始人车图像和所述测试原始人车图像得到含有若干所述原始人车图像的预设人车样本数据库。
进一步地,还包括模型测试模块,所述模型测试模块用于将所述预设人车样本数据库中的测试原始人车图像输入至所述训练模型进行检得到对应的测试预测框,根据损失函数计算所述测试预测框与所述标记框之间的误差并得到所述训练模型的识别准确率,当所述识别准确率达到预设识别率阈值时,所述训练模型即作为检测模型。
相比现有技术,本发明的有益效果在于:本发明的一种基于机器学习的斑马线车辆避让检测方法,包括对预设人车样本数据库中训练原始人车图像中的行人、车辆进行标记处理,得到若干与训练原始人车图像对应的含有标记框坐标、标记框宽度以及标记框高度的标记参数;将标记参数输入至训练模型中,采用目标检测算法对训练模型进行训练并得到检测模型;抓拍预设时间段内待测斑马线区域及周围的若干待测人车图像;根据检测模型对若干待测人车图像中的车辆进行检测得到含有车辆的待测车辆图像,根据车辆与斑马线之间的位置关系对待测车辆进行筛选,得到含有已越线车辆图像,其中,已越线车辆图像中的车辆与斑马线之间的位置关系为越线;根据检测模型对已越线车辆图像进行行人检测,得到已越线车辆图像中的行人图像,对已越线车辆图像中的行人图像进行分析得到行人前进方向;判断已越线车辆图像中的车辆位置是否在行人前进方向的预设距离范围内,若是,则已越线车辆图像中的车辆违规,若否,则已越线车辆图像中的车辆未违规。通过建立检测模型并分别对待测人车图像中的行人和车辆进行检测分析,可以精准的判断出待测人车图像中的车辆是否礼让行人,整个检测过程不再受检测对象行为变化的局限性,且检测结果更加精准。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的一种基于机器学习的斑马线车辆避让检测方法的流程图;
图2为本发明的一种基于机器学习的斑马线车辆避让检测系统的模块架构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
如图1所示,本发明的一种基于机器学习的斑马线车辆避让检测方法包括以下步骤:
建立人车样本数据库,采集若干斑马线区域及周围的原始人车图像,并将原始人车图像随机分类为训练原始人车图像和测试原始人车图像,存储训练原始人车图像和测试原始人车图像得到含有若干原始人车图像的预设人车样本数据库。具体包括:
视频拆分处理,在斑马线区域附近安装摄像头,采集大量斑马线区域及周围的人车视频,按照预设的帧数将采集到的人车视频拆分为多张原始人车图像,例如:30帧或40帧等,可以根据实际需求设定帧数。对原始人车图像进行灰度处理,上述拆分后得到原始人车图像是彩色图像,由于彩色图像是由多个像素点组成,且每个像素点都由rgb三个值表示;根据加权平均法对原始人车图像进行灰度处理,使原始人车图像呈现黑白灰状态,并不会影响原始人车图像的纹理特征信息,而且每个像素点只需一个灰度值便可表示,大大提高了原始人车图像处理效率。
数据库建立,随机选取80%的原始人车图像为训练原始人车图像,将剩余的20%的原始人车图像为测试原始人车图像,存储训练原始人车图像和测试原始人车图像得到预设人车样本数据库。
样本标记,对预设人车样本数据库中训练原始人车图像中的行人、车辆进行标记处理,得到若干与训练原始人车图像对应的含有标记框坐标、标记框宽度以及标记框高度的标记参数。具体为:分别以行人、车辆为对象将训练原始人车图像中的行人、车辆分别以矩形框形式标记出来,由于对象的外在形态、行为不同,标记框的大小也不同,即:一个对象对应多个尺寸不同的标记框。即一个以行人为对象对应着多个尺寸不同的标记框,当标记完毕后,基于每张训练原始人车图像中的标记框最左上角的顶点坐标,得到标记框坐标、标记框宽度以及标记框高度。
建立检测模型,将标记参数输入至训练模型中,采用目标检测算法对训练模型进行训练并得到检测模型。将上述含有标记框坐标、标记框宽度以及标记框高度的标记参数输入至训练模型中,采用目标检测算法(ssd算法)对训练模型进行训练,本实施例中的ssd算法是一种直接预测边界框坐标和类别对象检测的算法,利用不同卷积层输出的高级特征进行综合,从而实现不同大小的物体检测。本实施例中的建立检测模型中还包括模型测试,将预设人车样本数据库中的测试原始人车图像输入至训练模型进行检得到对应的测试预测框,根据损失函数计算测试预测框与标记框之间的误差并得到训练模型的识别准确率,当识别准确率达到预设识别率阈值时,训练模型即作为检测模型,具体本实施例中检测模型再对测试原始人车图像进行检测时得到预测框,具体计算过程如下:根据计算公式如公式(1)、公式(2)以及公式(3)可以计算出预测框的高度和宽度,公式(1)如下所示,
其中,sk为运算参数,smin表示训练模型中最底层的卷积层大小值,本实施例中smin的值为0.2,smax表示训练模型中最高层的卷积层大小值,本实施例中smax的值为0.9,m为原始人车图像的个数。根据预测框大小,可以得到预测框的纵横比,纵横比用ar表示,则
其中,
根据公式(3)计算预测框高度:
其中,
其中,j(a,b)为jaccard系数,a为预测框集合,b标记框集合,a和b取值范围是0-1。系数值越大,样本相似度越高。从上述候选名单中,选出n个模型预测框;通过损失函数,计算预测框与标记框之间误差。损失函数公式如公式(5)所示,
其中,l(x,c,l,g)为误差值,x为jaccard系数;c为置信度;l是预测框;g是标记框;n是预测框数量;conf是置信损失;loc是定位损失;α是权重项,默认设置为1。根据通过损失函数计算得到的误差值得出训练模型的识别准确率,当识别准确率为达到预设识别率阈值时,训练模型视为理想,即作为检测模型。否则,训练模型视为不理想,需重新调整参数,继续与预设人车样本数据库的训练原始人车图像进行反复训练。
获取待测图像,抓拍预设时间段内待测斑马线区域及周围的若干待测人车图像;抓拍预设时间段内待测斑马线区域及周围的人车视频,按照预设帧数将人车视频拆分为若干人车图像,通过加权平均法对人车图像进行灰度处理得到若干待测人车图像。
车辆检测,根据检测模型对若干待测人车图像中的车辆进行检测得到含有车辆的待测车辆图像,根据车辆与斑马线之间的位置关系对待测车辆进行筛选,得到含有已越线车辆图像,其中,已越线车辆图像中的车辆与斑马线之间的位置关系为越线;
行人移动轨迹判断,根据检测模型对已越线车辆图像进行行人检测,得到已越线车辆图像中的行人图像,对已越线车辆图像中的行人图像进行分析得到行人前进方向;具体为:根据检测模型对已越线车辆图像进行行人检测,得到已越线车辆图像中的行人图像,当已越线车辆图像中的行人图像与车辆图像相邻时,根据已越线车辆图像以及关联图像进行分析,得出已越线车辆图像中的行人前进方向,关联图像为紧邻已越线图像且位于已越线图像之前的两幅描述行人移动轨迹的图像。当已越线车辆图像中的行人图像与车辆图像不相邻时,不做处理。
车辆违规判断,判断已越线车辆图像中的车辆位置是否在行人前进方向的预设距离范围内,若是,则已越线车辆图像中的车辆违规,将已越线车辆图像输出至管理平台,若否,则已越线车辆图像中的车辆未违规。本实施例中,预设距离范围为2米。
如图2所示,本实施例还提供了一种基于机器学习的斑马线车辆避让检测系统,包括:
样本标记模块,样本标记模块用于对预设人车样本数据库中训练原始人车图像中的行人、车辆进行标记处理,得到若干与训练原始人车图像对应的含有标记框坐标、标记框宽度以及标记框高度的标记参数;
建立检测模型模块,建立检测模型模块用于将标记参数输入至训练模型中,采用目标检测算法对训练模型进行训练并得到检测模型;
获取模块,获取模块用于抓拍预设时间段内待测斑马线区域及周围的若干待测人车图像;
车辆检测模块,车辆检测模块用于根据检测模型对若干待测人车图像中的车辆进行检测得到含有车辆的待测车辆图像,根据车辆与斑马线之间的位置关系对待测车辆进行筛选,得到含有已越线车辆图像,其中,已越线车辆图像中的车辆与斑马线之间的位置关系为越线;
行人移动轨迹判断模块,行人移动轨迹判断模块根据检测模型对已越线车辆图像进行行人检测,得到已越线车辆图像中的行人图像,对已越线车辆图像中的行人图像进行分析得到行人前进方向;
车辆违规判断模块,车辆违规判断模块用于判断已越线车辆图像中的车辆位置是否在行人前进方向的预设距离范围内,若是,则已越线车辆图像中的车辆违规,若否,则已越线车辆图像中的车辆未违规。
在本实施例中,还包括建立人车样本数据库模块和模型测试模块,建立人车样本数据库模块用于采集若干斑马线区域及周围的原始人车图像,并将原始人车图像随机分类为训练原始人车图像和测试原始人车图像,存储训练原始人车图像和测试原始人车图像得到含有若干原始人车图像的预设人车样本数据库。模型测试模块用于将预设人车样本数据库中的测试原始人车图像输入至训练模型进行检得到对应的测试预测框,根据损失函数计算测试预测框与标记框之间的误差并得到训练模型的识别准确率,当识别准确率达到预设识别率阈值时,训练模型即作为检测模型。
本发明的一种基于机器学习的斑马线车辆避让检测方法,包括对预设人车样本数据库中训练原始人车图像中的行人、车辆进行标记处理,得到若干与训练原始人车图像对应的含有标记框坐标、标记框宽度以及标记框高度的标记参数;将标记参数输入至训练模型中,采用目标检测算法对训练模型进行训练并得到检测模型;抓拍预设时间段内待测斑马线区域及周围的若干待测人车图像;根据检测模型对若干待测人车图像中的车辆进行检测得到含有车辆的待测车辆图像,根据车辆与斑马线之间的位置关系对待测车辆进行筛选,得到含有已越线车辆图像,其中,已越线车辆图像中的车辆与斑马线之间的位置关系为越线;根据检测模型对已越线车辆图像进行行人检测,得到已越线车辆图像中的行人图像,对已越线车辆图像中的行人图像进行分析得到行人前进方向;判断已越线车辆图像中的车辆位置是否在行人前进方向的预设距离范围内,若是,则已越线车辆图像中的车辆违规,若否,则已越线车辆图像中的车辆未违规。通过建立检测模型并分别对待测人车图像中的行人和车辆进行检测分析,可以精准的判断出待测人车图像中的车辆是否礼让行人,整个检测过程不再受检测对象行为变化的局限性,且检测结果更加精准。
以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。