基于计算机视觉的行人及非机动车规范系统

基于计算机视觉的行人及非机动车规范系统

摘要:

道路交通安全问题一直是社会关注的重点,交通事故给人民群众的生命财产安全带来的巨大损失不容小觑。本文以pytorch为模型搭建平台,采用神经网络YOLOv4模型进行对所读取的视频流进行目标物体的检测分类与记录,并实现功能下功能:人行道的卡尔曼滤波检测,头盔佩戴模型的训练,统计车流量及人流量,记录闯红灯行人及机动车图片信息,车牌检测,人脸检测。通过定位人脸与头盔,对输入图片进行分类,进而达到判断目标是否佩戴头盔的目的。系统的总体思想为:先对视频流中的人行道位置进行检测,当检测到当前红绿灯状态为红灯时,即车辆通过人行道视为违规,记录车辆的车牌信息;当检测到当前红绿灯状态为绿灯时,即行人通过则视为闯红灯,记录行人的照片信息,并且发送至终端系统,进行人脸检测与识别。本文在统计非机动车辆信息后,会对非机动车辆的车主进行是否戴头盔检测,并且将违规车主信息记录。

关键词:

头盔佩戴检测、YOLOv4、车牌识别、车流量、人流量

1、引言:

​ 随着经济与社会的发展,各大城市车辆保有量不断提高,越来越多的人选择乘车出行,但随之而来的交通问题也越来越严重。根据中国统计年鉴的数据可以看出,近些年来,交通事故数量不断增加,其中,非机动车事故发生率的增长尤为明显。而且导致非机动车事故死亡人数不断增加的一个主要原因之一就是:路口人行横道非机动车闯红灯问题严重。然而,有限的警力与快速的管理需求增长的矛盾越来越突出,建设一套技术先进,质量可靠,经济实用,方便管理的城乡区域安防数字化网络监控系统势在必行。这几类交通事故并不是无法避免的,通过加大对路口人行横道的监督力度、加强闯红灯问题的治理可以有效减少。本文使用Retinaface人脸检测技术得到人脸信息,结合YOLOv4卷积神经网络特点,模拟神经元的学习功能,建立相应神经网络模型,在搭建的神经网络各层次中调整偏置项,进而训练得到有效的神经网络模型,实现非机动车驾驶人是否戴头盔检测功能,机动车是否闯红灯监测功能、行人是否闯红灯监测功能,并保证其较高的精确度。截取违反交通规则、闯红灯、未带安全帽的机动车车牌图像,并将其发送至终端系统,将违规车辆车牌图像输入到已训练好的tensorflow2网络中进行车牌检测,得到车牌图像,并将违规车辆的车牌信息发送至终端系统。

2 系统总体方案

​ 本系统以pytorch为模型搭建平台,采用深度学习的框架构建了一个交通规范检测系统。在本系统的设计与实现中,我们使用了神经网络YOLOv4模型进行对所读取的视频流进行目标物体的检测分类与记录,斑马线的卡尔曼滤波检测,头盔模型的训练与使用以及基于神经网络模型的人脸检测技术。通过相关技术检测车辆、行人及非机动车的行驶状况以及是否存在不规范行为,并且将违规人员的信息传输到终端进行检测与记录。项目的总体思想为:先对视频流中的人行道位置进行检测,统计通过人行道的车流量[1],人流量[2]以及非机动车流量信息[3],并在界面上进行显示。当检测到当前红绿灯状态为红灯时,即车辆通过人行道视为违规,记录车辆的车牌信息;当检测到当前红绿灯状态为绿灯时,即行人通过则视为闯红灯,记录行人的照片信息,并且发送至终端系统,进行人脸检测与识别[4]。本系统在统计非机动车辆信息后,会对非机动车辆的车主进行是否戴头盔检测,并且将违规车主信息记录。图1为整个系统总体设计实现框图。

在这里插入图片描述

3系统功能模块设计

3.1 头盔检测模块

本文采用深度学习的方法,结合YOLOv4卷积神经网络特点,模拟神经元的学习功能,建立相应神经网络模型,在搭建的神经网络各层次中调整偏置项,进而训练得到有效的神经网络模型,实现检测二轮机动车驾驶人是否戴头盔的功能,即实现头盔识别,并保证其较高的精确度。

基于yolov4的头盔检测模型模型构建

本文在YOLOv4的目标识别网络下构建头盔检测模型[5],所谓YOLOv4网络即为一个人工神经网络,采用了近些年CNN领域中最优秀的优化方法,在数据处理、主干网络backbone、网络的训练、激活函数的选取、损失函数的选取等各个方面都有着不同程度的优化,虽然没有特别惹人注目的创新,但在检测效率,准确率方面已经为大多数CNN领域从业者接受应用。

本文在对头盔识别网络进行训练时,需要使用CIOU作为损失函数。由于本文是对摩托车驾驶员头盔进行目标检测,因此优化器的选择十分重要,IoU是比值的概念,对目标物体的scale是不敏感的。然而常用的BBox的回归损失优化和IoU优化不是完全等价的,寻常的IoU无法直接优化没有重叠的部分。

CIOU将目标与anchor之间的距离,重叠率、尺度以及惩罚项都考虑进去,使得目标框回归变得更加稳定,不会像IoU和GIoU一样出现训练过程中发散等问题。而惩罚因子把预测框长宽比拟合目标框的长宽比考虑进去。

在利用以上所述的深度学习方法进行头盔识别模型建立与训练后,将其运用到PYQT编写的可视化应用中用以实时性监控,监控中心人员可利用PYQT提供的良好用户接口操作软件,来观察、统计未按规定佩戴好头盔的二轮车驾驶员。

3.2 车牌识别模块

本文采用HyperLPR车牌识别开源项目来完成车牌识别任务,利用cascade进行车牌定位,其次利用左右边界回归模型,预测出车牌的左右边框,进一步裁剪,进行精定位,最后利用CRNN进行车牌字符识别。

首先时车牌定位提取,本文采用的是基于灰度的还有边缘检测的车牌定位:由于车牌字符的灰度值与车牌底色的灰度值相差较大,字符与底色的交界处就有灰度突变,灰度突变处就会产生边缘,这是车牌定位技术中非常重要的特征。也可以通过检测车牌的外边框来定位车牌,由于外边框的上下左右四边都为直线,而且有明显的边缘特征,所以首先利用边缘检测算法提取车牌边框位置,然后,用Hough变换算法检测直线,确认外边框的上下左右四条边位置就确定了车牌在图像中的位置。

其次是提取特征的CRNN网络,可以是任意一款深度网络,VGG、resnet、googleNet、mobileNet等网络均可,本文中用的是VGG16,需要注意的是无论选取哪种网络要保证最终输出的特征是二维的即(N,H,W,C)中H必须为1,否则是不能用作LSTM的输入的。

3.3 基于coco数据集的目标检测模块

COCO数据集是一个大型的、丰富的物体检测,分割和字幕数据集。这个数据集以scene understanding为目标,主要从复杂的日常场景中截取,图像中的目标通过精确的segmentation进行位置的标定。该数据集主要解决3个问题:目标检测,目标之间的上下文关系,目标的2维上的精确定位。COCO数据集有91类,虽然比ImageNet和SUN类别少,但是每一类的图像多,这有利于获得更多的每类中位于某种特定场景的能力,对比PASCAL VOC,其有更多类和图像。

利用COCO数据集训练的YOLOv4网络,用以实现检测街道上的行人摩托车汽车这些目标,可以比较方便地将这些不同类别的物体区分开来。给系统反馈信息,让系统利用这些信息来分别为不同的物体指定不同的识别违规算法,将不同类的违规物体分类,然后在进行数据传送,用以统计和分析。

4 实验分析与性能测试

Pyqt界面的基于计算机视觉的行人及非机动车规范系统实现了系统总体功能设计与各个模块的程序设计,通过qt界面来将整套系统进行可视化,用户可以通过点击相关按钮进行相应的操作。打开系统后,系统会自动检测人行道位置,进行人流量、车流量和非机动车流量检测,会对闯红灯人员、闯红灯车辆、未带头盔人员进行检测并记录。其实实现的功能板块有四个方面:目标检测(行人、车辆、非机动车)、车牌识别(HyperLPR)、头盔识别以及闯红灯检测记录。

5结论

本项目采用深度学习的方法,结合YOLOv4卷积神经网络特点,模拟神经元的学习功能,对6251不同的含头盔人物图片和对应的标签文件进行训练,(其中将总数据集的80%划分为训练数据集,20%划分为测试集。)实现检测非机动车辆驾驶员是否戴头盔的功能,即实现头盔识别,并保证其较高的精确度。本项目使用Retinaface人脸检测技术得到人脸信息,在确定各个人脸位置的基础上,结合YOLOv4卷积神经网络特点,模拟神经元的学习功能,建立相应神经网络模型,在搭建的神经网络各层次中调整偏置项,进而训练得到有效的神经网络模型,实现非机动车驾驶人是否戴头盔检测功能,机动车是否闯红灯监测功能、行人是否闯红灯监测功能,并保证其较高的精确度。通过有效的惩罚制度对非机动车的监管,可以有效减少非机动车的交通事故,使人们养成良好的交通习惯,规范驾驶员的交通行为。

测功能,并保证其较高的精确度。通过有效的惩罚制度对非机动车的监管,可以有效减少非机动车的交通事故,使人们养成良好的交通习惯,规范驾驶员的交通行为。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值