YOLOv5车流量监测系统研究

一. YOLOv5算法详解

 YOLOv5网络架构

上图展示了YOLOv5目标检测算法的整体框图。对于一个目标检测算法而言,我们通常可以将其划分为4个通用的模块,具体包括:输入端、基准网络、Neck网络与Head输出端,对应于上图中的4个红色模块。YOLOv5算法具有4个版本,具体包括:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四种,本论文重点讲解YOLOv5s,本论文所研究的系统使用的就是YOLOv5s,其它的版本都在该版本的基础上对网络进行加深与加宽。

输入端:输入端表示输入的图片。该网络的输入图像大小为608*608,该阶段通常包含一个图像预处理阶段,即将输入图像缩放到网络的输入大小,并进行归一化等操作。在网络训练阶段,YOLOv5使用Mosaic数据增强操作提升模型的训练速度和网络的精度;并提出了一种自适应锚框计算与自适应图片缩放方法。

基准网络:基准网络通常是一些性能优异的分类器种的网络,该模块用来提取一些通用的特征表示。YOLOv5中不仅使用了CSPDarknet53结构,而且使用了Focus结构作为基准网络。

Neck网络:Neck网络通常位于基准网络和头网络的中间位置,利用它可以进一步提升特征的多样性及鲁棒性。虽然YOLOv5同样用到了SPP模块、FPN+PAN模块,但是实现的细节有些不同。

Head输出端:Head用来完成目标检测结果的输出。针对不同的检测算法,输出端的分支个数不尽相同,通常包含一个分类分支和一个回归分支。YOLOv4利用GIOU_Loss来代替Smooth L1 Loss函数,从而进一步提升算法的检测精度。

二. 网络结构优化

YOLOv5s算法的下采样次数多,降低图像分辨率的同时导致检测效果低下,且层数较深的特征图像很难学习到小尺寸目标的特征信息,无法有效检测小目标。本文在YOLO5s 算法中增加小目标检测层,将浅层特征图与深层特征图拼接后进行检测小目标检测层由上采样模块、融合模块、BottleneckCSP 模块与卷积模块组成。如下图所示,红色栅格区域为小目标检测层。对第 17 层图像特征上采样后放大输入图像细节,使得小目标物体经过上采样后,特征信息中小目标物体的像素点占具一定比例将第20层输出图像与主千网络中第2层输出图像进行融合,使得深层特征图与浅层特征图在语义性和空间性上进行更好的平衡,以优化小尺寸目标检测效果。在原三组锚框基础上,增加一组较小的错框,这些锚框长宽分别为(6,7)、(9,15)、(16,12)。

改进YOLOv5s网络结构

三. 异类冗余框抑制

YOLOv5s 算法中结果输出采用非极大值抑制消除同类型重复检测的边界框,但存在将目标检测为不同类型的情况。如图3所示,小汽车被检测为car 后又被检测为 truck,将这组边界框称为异类几余框。针对此问题,本文在 YOLOv5s 算法中提出异类元余框抑制方法,该方法包括异类几余框判别和融合两步操作。

异类冗余框 

YOLOv5s 算法结果输出为二维数组,数组每行代表一条检测结果,每条检测结果表示为:

 

式中:p_{i}^{b}为边界框i的预测结果;x_{1i}y_{1i}为边界框左上角点的横纵坐标(pixel); x_{2i}y_{2i}为边界框右下角点的横纵坐标 (pixel); p_{i}^{b}为预测概率;

在车辆检测过程中,若同一辆车被多次检测将每次识别类型保存于类型字典中,输出车辆类型时选择数值最大的识别类型。

\eta _{i}为识别类型;{\eta _{i}:l}为类型字典,l为车辆类型检测次数判别异类元余框流程为: 计算两两边界框间IOU (Intersection over Union)值,若IOU 值高于异类冗余框闯值,则判定边界框为异类几余框。成值根据非极大值抑制模块的闯值取值。IOU 的计算公式为:

 

式中:a_{ij}^{I}为边界框i与j重叠区域面积pixel pixel);

a;为边界框i的面积(pixel* pixel)融合异类几余框步骤为:取异类元余框坐标均值作为融合边界框坐标,将两个边界框类型加权求和后放入类型字典。识别类型不同时,采用加权非极大值抑制以增加注意框面积,丰富模型提取到的细节数据信息,使得边界框定位更加准确,从而提升算法检测性能。异类冗余框融合的结果表示为:

 四. 算法流程

改进YOLOv5s算法车辆检测系统含有四个子模块:数据库建立、网络结构优化、模型训练和车辆检测,如下图所示。数据库提供模型训练所需的数据集;以YOLOv5s 为基准算法,增加小目标检测层优化神经网络小尺寸车辆图像的检测能力;在改进YOLOv5s 网络上训练算法以更新算法参数;利用改进YOLOv5s算法检测图像获得检测目标的边界框基于非极大值抑制模块消除同类型的重复检测边界框,然后利用异类冗余框抑制模块消除不同类型的重复检测边界框。

改进YOLOv5s车辆检测系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/343944.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 类加载器及双亲委派机制

1、 有哪些类加载器 还有自定义类加载器。最上面的为父加载器,加载类的路径是不一样的 2、 什么是双亲委派机制: 1. 加载时,先去找父类,父类无法加载时,在由儿子加载 3、 为什么用双亲委派: 沙箱安全&…

旧衣回收小程序开发,轻松回收旧衣物

随着环保理念的增强,回收市场得到了快速发展,吸引了不少年轻人进入到市场中创业。除了传统的废品回收外,旧衣回收也受到了大众的重视,市场规模迅速扩大,大众浪费的衣物也获得了归处。 目前旧衣回收的方式主要是线上与…

D-Day 上海站回顾丨以科技赋能量化机构业务

5月31日下午,DolphinDB 携手光大证券,在上海成功举办 D-Day 行业交流会。三十余位来自私募机构的核心策略研发、量化交易员、数据分析专家们齐聚现场,深入交流量化投研交易过程中的经验、挑战及解决方案。 DolphinDB 赋能机构业务平台 来自光…

标准发布实施 |《新能源电池工业废水处理技术指南磷酸铁锂电池》

T/ACEF 130-2024《新能源电池工业废水处理技术指南磷酸铁锂电池》欢迎各单位引用执行!有课题也可联合立项! 发布日期:2024年02月04日 实施日期:2024年03月01日 主要起草人:刘愿军、孙冬、丁炜鹏、何小芬…

网络基础_02

1.ARP协议 地址解析协议(Address Resolution Protocol) 已知对方的三层ip地址,需要二层mac地址 当一台设备(请求方)需要知道某个 IP 地址对应的 MAC 地址时,会使用 ARP封装一个数据帧。这台设备的网络层以…

论文高级图表绘制(Python语言,局部放大图)

本文将通过一个具体的示例,展示如何使用Python语言和Matplotlib库来绘制高级图表,包括局部放大图的制作。适用于多条曲线绘制在同一个图表中,但由于数据量过大,导致曲线的细节看不清,需要对细节进行局部放大。如下图: 环境准备 首先,确保你的Python环境中已经安装了以…

Three.js——粒子效果、粒子水波、粒子组成立方体

个人简介 👀个人主页: 前端杂货铺 ⚡开源项目: rich-vue3 (基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL) 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 &#x1…

【启明智显彩屏应用】Model3A 7寸触摸彩屏AGV小车应用方案

一、AGV小车概述 (一)介绍 自动导向车(Automated Guided Vehicle,简称AGV),也称为自动导向搬运车、自动引导搬运车。AGV广泛应用在自动化的生产当中,大大节约劳动力和提高生产效率。 (二)现状…

MySQL——C语言连接数据库

MySQL Connection ​ 连接数据库的客户端除了命令行式的还有图形化界面版本,网页版本,当然也包括语言级别的库或者是包,能够帮助我们直接连接数据库; 一、语言连接库下载 方式一:不建议使用,需要自己配置…

PDF编辑与修正 提高工作效率 Enfocus PitStop Pro 2022 中文

Enfocus PitStop Pro 2022是一款专为Mac用户设计的强大PDF编辑和校对工具。它支持添加、删除、合并、分割PDF页面,以及文本和图像的编辑,如文字替换、字体更改、颜色调整等。内置自动修复功能,能快速检测并修复缺失字体、重叠文本等常见问题。…

技术架构的发展

技术架构的演进 主要方向: ​ 1.提高单位时间内的吞吐量,提高并发度; ​ 2.对应用服务代码进行解耦合,使得开发效率得到提高; ​ 3.运维成本降低; ​ 4.成本降低,如购买云厂商资源&#xf…

【计算机网络】对应用层协议中HTTPS协议的总结

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

数据结构_手撕八大排序(计数,快排,归并,堆排,希尔,选择,插入,冒泡)

✨✨所属专栏:数据结构✨✨ ✨✨作者主页:嶔某✨✨ 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序…

算法学习笔记(7.7)-贪心算法(Dijkstra算法-最短路径问题)

目录 1.最短路径问题 2.Dijkstra算法介绍 3.Dijkstra算法演示 4.Dijkstra算法的代码示例 1.最短路径问题 图论中的一个经典问题,通常是指在一个加权图中找到从一个起始顶点到目标顶点的最短路径。 单源最短路径问题:给定一个加权图和一个起始顶点&…

Python易错点总结

目录 多分支选择结构 嵌套选择 用match模式识别 match与if的对比 案例:闰年判断 三角形的判断 用whlie循环 高斯求和 死循环 用for循环 ​编辑continue​编辑 whlie与else结合 pass 序列 列表(有序) 元组(有序&…

在虚拟机上搭建 Docker Kafka 宿主机器程序无法访问解决方法

1、问题描述 在虚拟机CentOS-7上搭建的Docker Kafka ,docker内部可以创建Topic、可以生产者数据、可以消费数据,而在宿主机开发程序无法消费Docker Kafka的数据。 1.1、运行情况 [dockerlocalhost ~]$ docker ps -a CONTAINER ID IMAGE COMMAND…

区块链的基本原理和优势

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

使用亮数据代理IP爬取PubMed文章链接和邮箱地址

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

Redis页面优化

文章目录 1.Redis页面缓存1.思路分析2.首先记录一下目前访问商品列表页的QPS1.线程组配置10000次请求2.请求配置3.开始压测1.压测第一次 平均QPS为6122.压测第二次 平均QPS为6153.压测第三次 平均QPS为617 3.然后记录一下访问商品详情页的QPS1.线程组配置10000次请求2.请求配置…

【人工智能】第三部分:ChatGPT的应用场景和挑战

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…