yolov4论文_Alexey 大神接棒,YOLOv4 重磅来袭!快来一睹论文真容吧!| 原力计划...

4c29b1789db29ccfa8ad491e8f59e991.png

作者 | Mr.Jk.Zhang

责编 | 夕颜

出品 | CSDN(ID:CSDNnews)

前言

千呼万唤始出来系列,继YOLOv3两年后,YOLOv4终于在上周出来了,让我们来一睹论文真容吧!由于YOLO之父Jeseph Redmon在今年2月已宣布退出CV学术界,大家都以为YOLO系列已不再更新了,幸而,学术界和开源社区的力量是强大的。另一位曾经参与YOLO项目维护的大神Alexey Bochkovskiy接过了YOLO这面大旗,在arXiv上提交了YOLO v4,而且,这篇论文已经被拉入原来YOLO之父建立的项目主线。

1fc179479501863b25db52834007a295.png61cdf8ce7861123237fe1b5a54a47494.png

论文链接:https://arxiv.org/abs/2004.10934

代码地址:https://github.com/AlexeyAB/darknet

YOLOv4的发布可以说是YOLO系列的集大成者,里面涉及了许多tricks的组合。YOLOv4主要是选取了许多features进行组合的形式来对数据集进行测试训练,从而来验证性能效果。

论文核心中的核心:作者将 Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), Cross mini-Batch Normalization (CmBN), Self-adversarial-training (SAT) and Mish-activation.而且还使用了一些最近出来的新features:WRC, CSP, CmBN, SAT, Mish activation, Mosaic data augmentation, CmBN, DropBlock regularization, and CIoU loss。通过对这些features进行有效的组合得到了爆炸性的YOLOv4,可以吊打一切的YOLOv4.在MS-COCO数据上:43.5%@AP(65.7%@AP50)同时可以达到65fps@TeslaV100.

e7a224bb6e87402e4b31b72fce78e9dc.png

AP50:95 / AP50 - FPS (Tesla V100) Paper: https://arxiv.org/abs/2004.10934

YOLOv4论文中所用tricks如下:

  • 用于backbone的BoF:CutMix和Mosaic数据增强,DropBlock正则化,Class label smoothing

  • 用于backbone的BoS:Mish激活函数,CSP,MiWRC

  • 用于检测器的BoF:CIoU-loss,CmBN,DropBlock正则化,Mosaic数据增强,Self-Adversarial 训练,消除网格敏感性,对单个ground-truth使用多个anchor,Cosine annealing scheduler,最佳超参数,Random training shapes

  • 用于检测器的Bos:Mish激活函数,SPP,SAM,PAN,DIoU-NMS

文中提供的预训练模型的权重和参数信息可见代码地址:

7af1d0113ff7a73998a16b96451516ec.pngfd69aad774afb9def740636b28ae5183.png

YOLO的组成部分

41bab18a896d5310ebc5c905d70fde86.png

简而言之:YOLOv4 =CSPDarknet53+SPP+PAN+YOLOv3

d6c16601fbd0e2a3a311929536dcdc6b.png

YOLOv4-detector信息

  1. 提出了一种高效而强大的目标检测模型。它使每个人都可以使用1080 Ti或2080 Ti GPU 训练超快速和准确的目标检测器。

  2. 在检测器训练期间,验证了SOTA的Bag-of Freebies 和Bag-of-Specials方法的影响。

  3. 改进了SOTA的方法,使它们更有效,更适合单GPU训练,包括CBN [89],PAN [49],SAM [85]等。文章将目前主流的目标检测器框架进行拆分:input、backbone、neck 和 head 具体如下图所示:

22e6a7874f48bdfd1aeacf20c3b7825c.png3516496b8f7321997f335e983bc3abae.pngd1fc66685e56a62b741a6f1bbd89dd0d.png

各类检测器之间性能的比较

cbe76ae9fbcc211755fed6bc224a1a14.png9b0db5cbf45ef04f7c5064271dddb15f.png

性能炸裂的YOLOv4结果展示

5ffd6bf64aee6417bee5c2aaa59a65b0.pngea43848095fcf8c7c7a9578006c371a0.png39c7cd4aa7043a86705eb041207198e8.png

原文链接:

https://blog.csdn.net/mrjkzhangma/article/details/105730677

9393d540e9a20331bcbab3293ff5485e.png

新勋章,新奖品,高流量,还有更多福利等你来拿

f35ef9f5375c1c9752558f839f5ab5f3.png

☞华为海思超越高通,一季度国内占有率第一;苹果 iOS 13.5 优化 Face ID;Ruby 2.4 结束支持 | 极客头条

☞10 款值得珍藏的 Chrome 浏览器插件

☞当互联网码农遇见国企老同学

☞AI图像智能修复老照片,效果惊艳到我了

☞程序员内功修炼系列:10 张图解谈 Linux 物理内存和虚拟内存

☞当 DeFi 遇上 Rollup,将擦出怎样的火花?

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

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

相关文章

【C/C 】浅谈C/C 中函数指针与回调函数

01、函数指针1.1、函数指针定义一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使…

jvm 错误_JVM因“ OutOfMemory”错误而关闭-我该怎么办?

jvm 错误看起来似乎很神奇,但是在有关JVM设置的搜索请求结果中经常显示“来自深度”的特定呼声。 您可能会遇到“我记得那个选项,但如何启用它”的问题,而有时(主要是半年一次)管理服务器或调整虚拟设备,而…

天线3db波束宽度_浅谈 Wi-Fi 天线(2)

在上一期内容中,我们为大家解读了增益(gain)、天线方向图(Antennae Directional Pattern)两个天线技术参数,本期我们来谈谈波束宽度(lobe width)。另一个常见的天线参数是“波束宽度”(又名:波瓣宽度),英文是 lobe width 或 beam …

C语言实例:3个数从小到大排序

需求任意输入3个整数,对这3个整数由小到大进行排序,并将排序后的结果输出。源码// // author: 冲哥 // date: 2021/5/7 13:37 // description: 实现对这3个整数由小到大进行排序 #include int main() {int num1, num2, num3, temp;printf("请输入3个…

oracle u01清理,Oracleの/u01/11g/diag/rdbms/orcl/orcl/incident 的清理

https://docs.oracle.com/cd/E11882_01/server.112/e25494/diag.htm#ADMIN11007每当一个错误发生的时候,oracle会创建一个incident,并且分配一个INCIDENT_ID号,同时在ADR HOME的INCIDENT目录中创建相应的INCIDENT 目录,每个错误号…

jar 、war、ear_在命令行上操作JAR,WAR和EAR

jar 、war、ear尽管Java IDE和许多图形工具使查看和操作Java归档文件(JAR,WAR和EAR)文件的内容比以往更加容易,但有时我还是更喜欢使用命令行jar命令来完成这些任务。 当我必须重复做某事或作为脚本的一部分来做时,尤其…

C语言 | 读写文件

C语言怎样向文件读写字符fgetc函数调用形式:fgetc(fp) 功能:从fp指向的文件读入一个字符。 返回值:读成功,带回所读的字符,失败则返回文件结束标志EOF(即-1)。fputc函数调…

哨兵系列卫星_空客“哥白尼哨兵-1C”卫星雷达天线首次展开双翼

【民航事儿】2020年8月11日,腓特烈港:通过模拟零重力环境并固定在特殊装置上,哥白尼哨兵-1C卫星的12.3米宽、860公斤重的合成孔径雷达(SAR)的雷达天线,首次成功的在位于德国腓特烈港的空中客车综合技术中心展开双翼。作为哨兵-1系…

oracle vm 环境支持,使用 Oracle VM 模板快速部署 Oracle RAC 环境

6. 实时监控部署状态日志[rootracnode1 racovm]# cat /tmp/progress-racovm.out2014-04-16 03:02:27:[buildcluster:Start:racnode1] Building 11gR2 RAC Cluster2014-04-16 03:02:27:[setsshroot:Start:racnode1] SSH Setup for the root user…2014-04-16 03:02:39:[setsshro…

C语言中return、break用法和区别

1returnreturn:跳出当前正在执行函数。使用方法:return (表达式);其中,(表达式)是可以省略的。 1.有返回类型return通常都是带有返回类型的,比如返回int型变量:int Fun(v…

兴趣点推荐代码_如何解读霍兰德职业兴趣测评结果?

霍兰德职业兴趣测评不难,难的是如何解读测评结果,这才是生涯规划测评中最重要的部分。今天我们就来说说霍兰德职业兴趣测评的结果应该如何解读。兴趣测评的结果是六种类型得分最高的三个代码依次排列组合而成,所以基本上就是R-实用型、I-研究…

linux mint 18支持安卓编译,Linux mint 18版本开启SSH服务

linux mint 18版本默认是没有安装ssh server的需要手动安装安装ssh server:此命令需要联网,会自动下载安装安装之后看是否开始了ssh,看到ssh-agent 和sshd 说明ssh server 已经启动了如果没看到ssh server 需要手动启动需要/etc/init.d/ssh s…

jcg q8 固件_JCG学院开设了Java设计模式课程!

jcg q8 固件自从我们推出JCG学院以来,已经有一段时间了。JCG学院是一个基于付费内容的高级订阅网站,提供有关最新,最先进技术的一系列课程,从RedSQL数据库(如Redis和CouchDB)到Android移动开发。 当然&…

C语言520心形表白,初学者福利!!

C语言实现打印出心形,初学者的表白神器。解题思路:这道例题我分了4部分,前3行一部分,4-6行一部分,7-13行一部分,最后一行一部分,读者请仔细阅读注释,小林写的很详细了。前三行输出&a…

kali linux 2019教程,[教程]KALI LINUX 2.0 2019 更新国内源

2019年最新版本KALI 为 KALI 2019.1 下载地址:https://www.kali.org/downloads/有的新入门的朋友可能会问,为什么每次都无法手动更新 例如:Update命令的执行失败?其实系统是没有问题的,因为KALI自带的更新源是国外的。因国内延迟高&#xff0…

C | 构成和编码规范

C 的构成1.一个C 程序可以由一个程序单位或多个程序单位构成,每个程序单位为一个文件,编译过程中会对每个文件进行编译。2.每个程序文件包括:预处理命令、全局声明、函数,其中预处理命令就是程序开头的那行;全局声明则是在函数外进行的声明&a…

涡轮流量计说明书_实际应用中超声波流量计与电磁流量计哪个更好用

流量仪表是水务、石化等行业的重要仪器之一,可以用计量的眼睛来比喻。对于水务水利行业,更是具有特殊的意义。比如供水行业中的药剂的添加,如果相关的计量仪表精度不高,将直接影响到水质的优差,甚至会影响到用户人群的…

C语言数据类型转换(自动类型转换 强制类型转换)

数据类型转换就是将数据(变量、数值、表达式的结果等)从一种类型转换为另一种类型。自动类型转换自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生。1) 将一种类型的数据赋值…

C 为什么非要引入那几种类型转换?

为什么要引入这几种类型转换,它与C语言中的强制类型转换有什么区别?这四种类型转换分别应用在什么场景?C 为什么要引入这几种强制类型转换?我们都知道C 完全兼容C语言,C语言的转换方式很简单,可以在任意类型…

C语言笔试两题,有坑

题目一最近遇到的一个华为笔试题题目:对字符串中的所有单词进行倒排。说明:1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串…