目标检测算法 - YOLOv4

news2024/11/15 8:24:28

文章目录

    • 1. 简介
    • 2. YOLOv4整体结构
    • 3. Backbone
    • 4. Neck

1. 简介

YOLOv4是YOLOv3的改进版。YOLOv4并不是原YOLO项目的作者。发表于CVPR2020。

改进:

  • 主干特征提取网络:Darknet53 -> CSPDarknet53
  • 特征金字塔:SPP,PAN
  • 分类回归层:YOLOv3(未改变)
  • 训练时用到的小技巧:Mosaic数据增强、Label Smoothing平滑、CIOU、学习率余弦退火衰减
  • 激活函数:使用Mish激活函数

性能对比

在这里插入图片描述

网络结构:

  • Backbone:CSPDarknet53
  • Neck:SPP,PAN
  • Head:YOLOv3

优化策略:

  • Eliminate grid sensitivity
  • Mosaic data augmentation
  • IoU threshold(match posotive samples)
  • Optimizered Anchors
  • CIOU

2. YOLOv4整体结构

YOLOv4整体结构

在这里插入图片描述


3. Backbone

当输入是416x416时,特征结构如下:

在这里插入图片描述

CSP模块

对于输入的特征层,首先将其分为两部分,part1和part2。

对于part2分支,它会通过一系列的dense block,然后通过transition,再将输出和part1上的输出进行融合concat拼接,再通过transition。

在这里插入图片描述

在源码中,对于part1和part2是直接将输入特征层按照通道方向进行均分操作。

但是在YOLOv4论文中,并不是这样操作的,如下图。

在这里插入图片描述

CSPDarknet53整体结构

作用:

  • 增强CNN的学习能力
  • 移除计算瓶颈
  • 降低显存使用

在这里插入图片描述

总体来看,每个CSP模块都有以下特点:

  • 相比于输入,输出featuremap大小减半。
  • 相比于输入,输出通道数增倍。
  • 经过第一个CBM后,featuremap大小减半,通道数增倍。

CSP1和其他CSP有所不同:

  • 经过模块第二个CBM后,CSP1 featuremap大小和通道数都不变,但是其他模块featuremap大小不变,通道减半。

  • 经过最后一个CBM后,CSP1 featuremap大小不变,通道数减半,但是其他模块featuremap大小通道数都不变。


4. Neck

yolov4的Neck部分主要使用SPP和PANet模块。

SPP

SPP(空间金字塔)可以使得多个尺寸特征融合在一起,输入经过3个maxpool然后concat在一起,maxpool大小分别是13,9和5,yolov4中得SPP模块。

在这里插入图片描述

PANet

PANet的网络结构由5个核心模块组成。其中(a)是一个FPN,(b)是PAN增加的自底向上的特征融合层,©是自适应特征池化层,(d)是PANet的bounding box预测头,(e)是用于预测掩码的全连接融合层。

在这里插入图片描述

PANet是加强版的FPN,通过融合自底向上和自顶向下两个路径增加模型的表征能力。

在这里插入图片描述

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

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

相关文章

TikTok shop印尼重启电商征程:与当地平台合作开启新篇章!——站斧浏览器

经历了一个半月的间隔,TikTok Shop成功重返印度尼西亚市场。据国际媒体报道,TikTok计划通过与印尼本地电子商务平台的合作,重启其在该国的电商业务。 Temmy Satya Permana,印尼合作社和中小企业部的官员,证实了这一重…

【LeetCode刷题】--59.螺旋矩阵II

59.螺旋矩阵II class Solution {public int[][] generateMatrix(int n) {int[][] res new int[n][n];int count 1;int left 0,right n-1,top 0,bottom n -1;while(left < right && top < bottom){for(int col left;col < right;col){ //从左往右res[to…

[MySQL] MySQL 表的增删查改

本篇文章对mysql表的增删查改进行了详细的举例说明解释。对表的增删查改简称CRUD : Create(创建), Retrieve(读取)&#xff0c;Update(更新)&#xff0c;Delete&#xff08;删除&#xff09;。其中重点是对查询select语句进行了详细解释&#xff0c;并且通过多个实际例子来帮助…

leetcode刷题之用栈实现队列(C语言版)

leetcode刷题之用栈实现队列&#xff08;C语言版&#xff09; 一、题目描述二、题目要求三、题目解析Ⅰ、typedef structⅡ、MyQueue* myQueueCreateⅢ、void myQueuePush(MyQueue* obj, int x)Ⅳ、int myQueuePeek(MyQueue* obj)Ⅴ、int myQueuePop(MyQueue* obj)Ⅶ、bool myQ…

Charles 网络抓包工具详解与实战指南

文章目录 导读软件版本Charles基本原理核心功能下载及安装界面介绍网络包展示 常用场景介绍PC 端网络抓包移动端网络抓包PC 端配置手机端配置 开启 SSL 代理PC 端和移动端 CA 证书安装Charles 直接安装Charles 下载 CA 文件手动安装 常用操作请求重发请求改写、动态改写断点&am…

C# Winform使用log4net记录日志

写在前面 Log4Net是从Java的log4j移植过来的&#xff0c;功能也与log4j类似&#xff0c;可以把日志信息输出到文件、数据库、控制台、Windows 事件日志、远程系统日志服务等不同的介质或目标。 Log4Net配置选项丰富灵活&#xff0c;并且可在运行时动态更新配置并应用&#xf…

Sui第七轮资助:八个项目共获得超过50万美元的资助

今日&#xff0c;Sui基金会宣布了本月获得资助的项目方&#xff0c;他们将获得超过50万美元的资助金&#xff0c;用于构建项目&#xff0c;推动Sui的采用和发展。要获得资助&#xff0c;项目必须提交提案&#xff0c;详细说明他们正在构建的内容、预算明细、关键里程碑、团队经…

Walrus 入门教程:如何创建模板以沉淀可复用的团队最佳实践

模板是 Walrus 的核心功能之一&#xff0c;模板创建完成后用户可以重复使用&#xff0c;并在使用过程中逐渐沉淀研发和运维团队的最佳实践&#xff0c;进一步简化服务及资源的部署。用户可以使用 HCL 语言自定义创建模板&#xff0c;也可以一键复用 Terraform 社区中上万个成熟…

好工具|datamap,一个好用的地图可视化Excel插件,在Excel中实现地理编码、拾取坐标

在做VRP相关研究的时候&#xff0c;需要对地图数据做很多处理&#xff0c;比如地理编码&#xff0c;根据“重庆市沙坪坝区沙正街174号”这样的一个文本地址知道他的经纬度&#xff1b;再比如绘制一些散点图&#xff0c;根据某个位置的经纬度在地图上把它标注出来。还有有的时候…

教育数字化转型:塑造未来学习新范式

在国家教育数字化战略行动指引下&#xff0c;我国正积极推动数字化赋能教育高质量发展&#xff0c;以塑造教育发展的新优势。如今&#xff0c;随着科技新基建的普及和数字化赋能教育的深入推进&#xff0c;未来的教育模型正在逐渐形成。 在新的教育模型中&#xff0c;数字化学…

C语言众数问题(ZZULIOJ1201:众数问题)

题目描述 给定含有n个元素的多重集合S&#xff0c;每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如&#xff0c;S{1&#xff0c;2&#xff0c;2&#xff0c;2&#xff0c;3&#xff0c;5}。多重集S的众数是2&#xff0c;其重数为3。 编程任务…

UNETR:用于三维医学图像分割的Transformer

论文链接&#xff1a;https://arxiv.org/abs/2103.10504 代码链接&#xff1a; https://monai.io/research/unetr 机构&#xff1a;Vanderbilt University, NVIDIA 最近琢磨不出来怎么把3d体数据和文本在cnn中融合&#xff0c;因为确实存在在2d里面用的transformer用在3d里面…

【CCF-PTA】第03届Scratch第05题 -- 统计出现次数最多的字

统计出现次数最多的字 【题目描述】 我国自古流传下来不少脍炙人口的诗歌&#xff0c;各具特色&#xff0c;别具一格。有些诗只用寥寥几个字&#xff0c;就能描绘出生动的意境。 请找出以下诗篇中出现次数最多的字&#xff0c;如果有多个字出现次数相同&#xff0c;则答案为…

【精选】​​通道热点加持的LW-ResNet:小麦病害智能诊断与防治系统

1.研究背景与意义 小麦是世界上最重要的粮食作物之一&#xff0c;但由于病害的侵袭&#xff0c;小麦产量和质量受到了严重的威胁。因此&#xff0c;开发一种高效准确的小麦病害识别分类防治系统对于保障粮食安全和农业可持续发展具有重要意义。 传统的小麦病害识别分类方法主…

STM32 MAP文件

文章目录 1 生成Map2 map中概念3 文件分析流程3.1 Section Cross References3.2 Removing Unused input sections from the image&#xff08;移除未使用的段&#xff09;3.3 Memory Map of the image&#xff08;映像的内存分布&#xff09;3.3.1 加载域3.3.2 运行域 4 代码运…

Using PeopleCode in Application Engine Programs在应用引擎程序中使用PeopleCode

This section provides an overview of PeopleCode and Application Engine programs and discusses how to: 本节概述了PeopleCode和应用程序引擎程序&#xff0c;并讨论了如何: Decide when to use PeopleCode.决定何时使用PeopleCode。Consider the program environment.考…

【从零开始实现意图识别】中文对话意图识别详解

前言 意图识别&#xff08;Intent Recognition&#xff09;是自然语言处理&#xff08;NLP&#xff09;中的一个重要任务&#xff0c;它旨在确定用户输入的语句中所表达的意图或目的。简单来说&#xff0c;意图识别就是对用户的话语进行语义理解&#xff0c;以便更好地回答用户…

2020年12月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 关于广播消息,以下说法正确的是? A:只有角色,可以通过“广播消息”积木,向其他角色或是背景发送消息 B:只有背景,可以通过“广播消息”积木,向其他角色或是背景发送消息 C:背…

远端WWW服务支持TRACE请求

安全扫描的时候&#xff0c;扫出来的问题&#xff0c;这里不分享如何处理&#xff0c;就只分享下&#xff0c;如何找到有问题的端口。 通过命令 curl -v -X TRACE -I ip:port&#xff0c;这里的ip和端口就是扫描出有问题的服务器地址ip以及开放的服务端口。 观察返回值&#x…

建设数字工厂管理系统对企业来说有哪些优势

随着科技的飞速发展&#xff0c;数字化转型已成为企业持续发展的必由之路。在这一背景下&#xff0c;建设数字工厂管理系统显得尤为重要。本文将详细分析数字工厂管理系统给企业带来的优势&#xff0c;以及企业如何选择合适的管理系统和成功实施数字化转型。 一、数字工厂管理系…