多目标检测:基于Yolo优化的多目标检测(附论文下载)

news2024/11/26 2:48:59

关注并星标

从此不迷路

计算机视觉研究院

77a0b0e5b4b7e08fee7436d6a26c6bb7.gif

d67f2ec8aba87d25259cd0a952f326cd.gif

83b3f44fc15ea4719c6eb4f9d38d127f.png

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

c53854242a850ee66e5939bdfce52331.png

计算机视觉研究院专栏

作者:Edison_G

为了解决目标检测任务中小目标检测精度低、误检、漏检率高等问题,有研究者提出了一种新的目标检测方法。

一、前言

为了解决目标检测任务中小目标检测精度低、误检、漏检率高等问题,有研究者提出了一种基于YOLOv4卷积神经网络的多目标检测方法。 多目标检测作为目标检测领域的一个重要研究方向,一直受到研究人员的广泛关注。目前,在智能交通、智能辅助驾驶和视频监控等领域已经产生了深入的研究。

3f85dbdcc059240c58f65c5e9469256d.jpeg

传统的行人检测方法,如HOG(定向梯度直方图)、DPM(可变形部件模型)、ACF(聚合通道特征),都采用人工设计或特征聚合来获取行人特征。随着2012年AlexNet在图像分类任务上的重大突破,利用卷积神经网络自动学习特征提取过程代替传统的人工设计是当前的主要研究方向。基于卷积神经网络的目标检测方法主要分为两类,一类是两阶段方法,一类是单阶段方法。

7c11852f2da59600e519b1011eafaf1d.jpeg

第一种方法的主要思想是在生成候选目标区域的基础上,利用级联方法进一步判断边界框的类别和位置。另一种是单阶段方法,以YOLO和SSD为例。思路是使用卷积神经网络直接返回位置和类别。卷积神经网络的引入提高了行人检测算法的性能,但遮挡问题仍然是行人检测的一大难点。有文献【Deep learning strong parts for pedestrian detection】使用联合学习方法对不同的行人遮挡模式进行建模,但其检测框架复杂且无法穷尽所有情况。【Repulsion Loss: Detecting Pedestrians in a Crowd】设计了一种新的损失函数,使预测帧与目标真实帧保持接近,同时远离其他真实帧。这种方法处理遮挡更灵活,更容易实现。【Occlusion-aware R-CNN: Detecting Pedestrians in a Crowd】结合了上述两种思想,提出了一个组件遮挡感知单元和一个聚合损失函数来处理行人遮挡问题。【Bi-box Regression for Pedestrian Detection and Occlusion Estimation】通过引入新的监督信息(行人可见区域的边界框)来处理遮挡,思路是用两个分支网络分别返回行人的全身框架和可见区域的边界框,最后合并两个分支的结果,提高检测性能。

535b007a9507686a7fc8803e6e30ce8e.jpeg

目前目标检测任务主要针对不同的应用场景选择合适的检测算法:单阶段算法检测速度最快,但准确率较低;两阶段和多阶段检测算法可以获得更高的检测精度,但以牺牲检测速度为代价。

二、概要

今天分享的框架,新的方法基于YOLOv4。 高层特征的语义信息首先通过FPN采样传播到低层网络,然后与底层特征的高分辨率信息融合,以提高小目标检测对象的检测效果。 通过对特征金字塔进行下采样来增强从底部到顶部的信息传递路径,最后融合不同层的特征图以实现相关预测。 实验证明,新提出的方法具有良好的效果。

三、新框架

2568a1187eeea7174ecbe31f4c80acec.png

新的模型架构如上图所示。它由三部分组成:用于特征提取的前端网络、特征融合模块和用于分类和回归操作的检测模块。在输入处将输入图像的尺寸resize为416×416,输入到网络中进行训练和检测。 基本卷积块是一个卷积层,它结合了批量归一化 (BN) 并使用Mish和leakyRelu激活函数。

模型前端使用CSPDarknet模块组成的主干网络,由卷积层和残差模块叠加,有效防止在网络层数加深的基础上梯度消失或爆炸,获得更丰富的语义信息特征图,并且在主干网络中,特征图维度的减少是通过卷积层的5倍下采样实现的,其步长为2,内核大小为3;对网络neck处进行2次上采样,浅层采用PAN+SPP模型结构实现浅层特征与高层语义特征的融合以及多尺度感受野的融合,充分利用了浅层网络,改善小目标特征丢失的问题;检测头采用回归+分类的思想,将输入图像分别划分为76×76、38×38、19×19三种不同尺寸的网格图像,分别实现小目标、中目标和大目标的检测目标。

SPP模块:

该模型在主干网络后面添加了SPP模块,如下图所示。输入特征图经过一个卷积层后,经过5×5、9×9、13×13三个核进行最大池化, 然后concat得到的特征图进行通道拼接,输出通道数变成原来通道数的4倍,特征图大小保持不变。

fbcfeed1a70caadb4c591a37748bac9e.jpeg

输出特征图大小为:

ff332bee3686e4393aa453bb527eb223.jpeg

其中n是输入特征图的大小,p是padding,s是步长,这意味着向下取整。SPP模块通过使用不同大小核的Maxpool层获取特征图局部区域的感受野信息和接近全局的感受野,并进行特征融合。这种融合不同尺度感受野的操作可以有效丰富特征图的表达能力,增强骨干网络输出特征的接受范围,分离重要的上下文信息。

四、实验及可视化

90d30220ac3095416f28fb851edae28d.png

e0ae1d2a0a06f49539a4a50590e924df.png

© THE END 

转载请联系本公众号获得授权

ef919dc97670dcc0e65259e3dcbcd4fd.gif

计算机视觉研究院学习群等你加入!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

f8868ca7cd8f6ec1b210c763791785de.jpeg

扫码关注

计算机视觉研究院

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

 往期推荐 

🔗

  • Fast YOLO:用于实时嵌入式目标检测(附论文下载)

  • 目标检测干货 | 多级特征重复使用大幅度提升检测精度(文末附论文下载)

  • 多尺度深度特征(下):多尺度特征学习才是目标检测精髓(论文免费下载)

  • 多尺度深度特征(上):多尺度特征学习才是目标检测精髓(干货满满,建议收藏)

  • 半监督辅助目标检测:自训练+数据增强提升精度(附源码下载)

  • 目标检测干货 | 多级特征重复使用大幅度提升检测精度(文末附论文下载)

  • 目标检测新框架CBNet | 多Backbone网络结构用于目标检测(附源码下载)

  • Sparse R-CNN:稀疏框架,端到端的目标检测(附源码)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端实战项目:网易云静态页面——主页面右侧部分

文章目录 前言main部分结构布局用户登陆右侧列表header的封装歌手列表主播列表申请按钮 总代码 前言 项目持续更新中~ 网易云静态页面——导航栏 网易云静态页面——轮播图 Flex布局详解 所用到文件及文件夹 header:是对某些标题样式的封装 main&…

软考A计划-重点考点-专题十一(系统工程知识)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

2023蓝桥杯真题c++省A

[蓝桥杯 2023 省 A] 填空问题 比赛的时候,脑袋要清晰一点,当时写 幸运数 这道题都感觉没在用脑子思考,花了特别多时间 A. 幸运数 小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面一半的数位之和,…

小家电类产品出口欧美国家/亚马逊平台认证要求请知悉!

小家电类产品CE认证 欧盟: “CE”标志是一种安全认证标志,被视为制造商打开并进入欧洲市场的护照。CE代表欧洲统一(CONFORMITE EUROPEENNE)。 根据欧盟的法律,生产商和进口商负责验证其产品符合相关的欧盟指令的要求…

哪款洗地机适合家用?家用洗地机型号分享

洗地机采用多种清洁方式,如湿拖、干拖、热水清洗等,可针对不同使用场合和地面类型进行清洁。而且洗地机无需手工操作,智能感应地面脏污,自动适应地面清洁程度,保证了清洁效率和效果。本文将为大家推荐几款性价比较高、…

三位一体,铸就无敌铁军!海陆空协同,开启集群新篇章!

在机器人领域,多机器人系统的研究一直是一大热点,众多高校与研究所逐步投入到机器人集群系统的研究当中,其中无人机编队表演、无人车群园区运输、无人船集群水域监测等集群应用更是进入了大众的视野。但对多机器人集群系统的需求却远不止于此…

「企业应用架构」应用架构行为准则

应用架构行为准则 应用程序架构是企业解决方案架构(ESA)的一个子集(图1)。应用程序架构既是一个过程(架构和设计)又是一个东西(可交付成果——架构的内容)。应用程序架构帮助组织规划…

Elasticsearch数据库

目录 1. 什么是ElasticSearch1.1 概念及特点1.2 ElasticSearch适用场景概述 2. 安装ElasticSearch2.1 下载安装包2.2 环境说明2.3 创建es的用户2.4 创建es存储位置2.5 安装es2.5 修改配置文件2.6 系统优化2.7 安装jdk环境2.8 切换es用户启动数据库2.9 systemctl管理2.10 访问 3…

听劝,不要什么都不懂就自学网络安全【黑客】

一、网络安全学习的误区 1.不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,且过渡到网络安全用到编程的用到的编程的关键点不多。一般人如果想要把编程学好再开始学习网络安全往…

SSL 证书安装使用中遇到的常见问题

为了实现网站HTTPS加密保护及身份的可信认证,防止传输数据的泄露或篡改,SSL证书已被各政企网站广泛应用。然而在部署和使用SSL证书的过程中,我们经常会遇到一些措手不及的问题,一旦处理不当,就会让网站面临信息被泄漏、…

Linux知识点 -- 常见指令及权限理解

Linux知识点 – 常见指令及权限理解 文章目录 Linux知识点 -- 常见指令及权限理解一、Linux下基本指令1.ls指令 - 列文件或目录信息2.pwd命令 - 显示用户当前所在目录3.cd指令 - 改变工作目录4.touch指令 - 更改文件时间或新建文件5.mkdir指令 - 创建目录 / tree - 以树状形式显…

Hbase入门篇02---数据模型和HBase Shell的基本使用

Hbase入门篇02---数据模型和基本使用 HBase数据模型表行列单元格 (cell)概念模型 shell命令行进行CRUD操作表的CRUD数据的CRUD数据批量导入计数操作大量数据的计数统计扫描操作limit限制返回条数返回指定列返回指定行键对应的数据 过滤器HBase中的过滤器…

【云原生进阶之PaaS中间件】第一章Redis-1.2数据类型

1 Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。…

XML配置方式使用Spring MVC:实战练习

文章目录 任务1、设置项目首页 - index.jsp1、修改web.xml文件2、创建首页文件3、修改登录控制器4、启动服务器,查看效果 任务2、首页添加登录链接,单击跳转到登录页面1、修改首页文件2、修改登录控制器3、启动服务器,查看效果 任务3、利用Sp…

预测性维护无线振动监测方案QA合集

一、虹科无线振动监测方案 虹科无线振动监测方案具有高安全性、高可靠性、全自动诊断的优势,广泛应用于各种旋转设备的故障诊断。虹科无线振动监测方案包括Accel 310高分辨率无线振动系统,用户能够实现每小时获取标量数据或每日诊断监控机器状态。借助先…

PostgreSQL(五)JDBC连接串常用参数

目录 1.单机 PostgreSQL 连接串2.集群PostgreSQL 连接串 PostgreSQL JDBC 官方驱动下载地址: https://jdbc.postgresql.org/download/ PostgreSQL JDBC 官方参数说明文档: https://jdbc.postgresql.org/documentation/use/ 驱动类: driver-…

yarn切换element-plus版本

yarn的安装和卸载 npm install -g yarn npm uninstall yarn -g //yarn卸载 本机的element-plus版本 "element-plus": "2.0.1", 想要切换的element-plus版本 由于我需要用到树型选择,所以需要升级到2.1.8 用npm卸载element-plus时报如下错误…

Scala学习(三)---函数式编程

文章目录 1.面向对象编程2. 函数式编程是什么3.函数定义4.函数参数的特殊用法5.函数至简原则6.匿名函数6.1 匿名函数化简原则 7.高阶函数7.1 函数可以作为值进行传递7.2 函数可以作为参数进行传递7.3 函数可以作为返回值进行传递7.4 柯里化写法 1.面向对象编程 Scala语言是一个…

解决Uncaught SyntaxError: Unexpected reserved word

解决思路: 首先,我运行项目报错,我查看了一下node版本,是否太低, 如果是14版本的话,那么node需要升级, 目前,node已经升级到19,升级到16即可,无需太高 更…

❤ 微信原生小程序的使用

❤ 微信原生小程序的使用 运行提示: Provisional headers are shown 微信小程序请求远程服务器接口时,响应非常慢,最后请求超时,导致失败。网络那里提示 provisional headers are shown警告 原因: 原因有很多&#…