当前位置: 首页 > news >正文

YOLOv6-3.0-目标检测论文解读

文章目录

  • 摘要
  • 算法
    • 2.1网络设计
    • 2.2Anchor辅助训练
    • 2.3自蒸馏
  • 实验
    • 消融实验
  • 结论

论文: 《YOLOv6 v3.0: A Full-Scale Reloading 》
github: https://github.com/meituan/YOLOv6
上版本参考 YOLOv6

摘要

YOLOv6 v3.0中YOLOv6-N达到37.5AP,1187FPS;
YOLOv6-S达到45AP,484FPS;
扩展backbone及neck,YOLOv6-M/L达到50/52.8AP,耗时基本不变;
YOLOv6-L6在实时目标检测达到SOTA;图1中YOLOv6与其他版本进行比较。
在这里插入图片描述
YOLOv6贡献总结如下:
1、更新neck为RepBi-PAN,引入SiC模块及SimCSPSPPF Block;
2、使用对耗时无影响的AAT(Anchor-Aided Training)策略;
3、YOLOv6在backbone和neck中增加一个stage,强化在高分辨率输入下的表现;
4、引入一种自监督策略提升YOLOv6小模型性能,训练时使用高参数量DFL分支辅助训练回归分支,推理时去除,避免耗时增加。

算法

2.1网络设计

作者基于PAN,提出Bi-directional Concatenation(BiC)模块,如图2,融合backbone Ci-1层及Pi层特征,更多精确位置信号被保留,有利于小目标定位。
作者简化SPPF block为SimCSPSPPF Block,增强表达能力。YOLOv6中neck定义为RepBi-PAN。
在这里插入图片描述

2.2Anchor辅助训练

作者发现基于anchor的YOLOv6-N优于anchor-free方案,如表1
在这里插入图片描述
作者提出anchor辅助训练方案 (AAT)结合anchor-based及anchor-free优势,如图3,训练时辅助分支与anchor-free分支独立计算损失,辅助分支可帮助优化anchor-free head,推理时除去辅助分支,提升性能,速度不变。
在这里插入图片描述

2.3自蒸馏

上个版本YOLOv6中自监督损失函数如式1,使用DFL进行蒸馏框回归分支。
在这里插入图片描述
蒸馏早期教师模型使用软标签,随着训练进行硬标签更合适,因此作者对蒸馏权重使用余弦weight decay,如式3,
在这里插入图片描述
DFL将影响模型推理速度,对此作者设计Decoupled Localization Distillation(DLD),蒸馏时,学生装备原始回归分支和与DFL结合的辅助分支,教师仅使用辅助分支,原始回归分支使用硬标签训练,辅助分支使用硬标签及教师模型更新;蒸馏后,移除辅助分支。

实验

作者使用FP16精度进行各个方案比较,结果如表2,图1所示,
在这里插入图片描述
YOLOv6-N超越YOLOv5-N/YOLOv7-Tiny 9.5%/4.2%;
YOLOv6-S超越YOLOX-S/PPYOLOE-S 3.5%/0.9%,且耗时更短;
YOLOv6- M超越YOLOv5-M 4.6;
YOLOv6-L超越YOLOX-L/PPYOLOE-L 3.1%/1.4%;
与YOLOv8系列相比,性能接近。

作者类似YOLOv5在backbone 增加C6层用于检测更大目标,neck相应做出调整, 分别命名为YOLOv6- N6/S6/M6/L6;实验结果如表2,
与YOLOv5相比,性能提升,推理速度基本不变;
与YOLOv7-E6E相比,YOLOv6-L6性能提升0.4,耗时缩短63%;

消融实验

消融实验如表3,BiC+SimCSPSPPF使得性能提升0.6%;AAT使得性能提升0.3%;DLD使得性能提升0.7%;
在这里插入图片描述
BiC模块影响实验如表4,在PAN top-down路径插入BiC,YOLOv6-S/L性能提升0.6%/0.4%;但插入bottom-up路径为带来增益,作者分析由于bottom-up路径中BiC将导致检测头易混淆不同尺度特征;
在这里插入图片描述
表5表示不同类型SPP block影响,SimSPPF*3表示P3, P4 and P5层使用SimSPPF blocks,SimSPPCSPC在 YOLOv6-N/S上超越SimSPPF 1.6%/0.3%,但耗时增加;
在YOLOv6- N/S/M上,SimCSPSPPF超越SimSPPF 1.1%/0.4%/0.1%;
考虑到性能与耗时均衡,作者在YOLOv6-N/S使用SimCSPSPPF,YOLOv6-M/L使用SimSPPF blocks;
在这里插入图片描述
如表6,anchor辅助训练(AAT)在YOLOv6-S/M/L上,带来0.3%/0.5%/0.5%性能提升;在YOLOv6-N/S/M上小目标性能显著提升;
在这里插入图片描述
表7表明在YOLOv6-L上weight decay使得性能提升0.6%;
在这里插入图片描述
表8表明在YOLOv6-S上DLD带来0.7%性能提升;
在这里插入图片描述

结论

作者将YOLOv6进一步提升,在实时目标检测领域达到SOTA。

相关文章:

YOLOv6-3.0-目标检测论文解读

文章目录摘要算法2.1网络设计2.2Anchor辅助训练2.3自蒸馏实验消融实验结论论文: 《YOLOv6 v3.0: A Full-Scale Reloading 》github: https://github.com/meituan/YOLOv6上版本参考 YOLOv6摘要 YOLOv6 v3.0中YOLOv6-N达到37.5AP,1187FPS&…...

JAVA集合之Map >>HashMap/Hashtable/TreeMap/LinkedHashMap结构

Map 是一种键-值对(key-value)集合,键不可以重复,值可以重复。常见的实现类有:HashMap、Hashtable、TreeMap、LinkedHashMap等。 HashMap&Hashtable HashMap:数据结构为哈希表,允许使用 n…...

JavaScript从零开始 学习记录(一)

前言 选择视频课程之前,不仅查阅了资料,还询问了网友,最终敲定了学习黑马前端的视频教程,学了5小节,发现挺对自己口味的且从反响来看,还是相当不错的,便打算利用这个寒假学完 笔记范围 从这节…...

C++项目——高并发内存池(3)--central cache整体设计

1.central cache的介绍 1.1框架思想 1.1.1哈希映射 centralcache其实也是哈希桶结构的,并且central cache和thread cacha的哈希映射关系是一致的。目的为了,当thread cache某一个哈希桶下没有内存块时,可以利用之前编写的SizeClass::Index…...

Spring Boot 整合 MyBatis 配置等案例教程

运行环境:JDK 7 或 8、Maven 3.0 技术栈:SpringBoot 1.5、SpringBoot Mybatis Starter 1.2 、MyBatis 3.4 前言 距离第一篇 Spring Boot 系列的博文 3 个月了。《Springboot 整合 Mybatis 的完整 Web 案例》第一篇出来是 XML 配置 SQL 的形式。虽然 XM…...

比特数据结构与算法(第三章_下)队列的概念和实现(力扣:225+232+622)

一、队列(Queue)队列的概念:① 队列只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表。② 入队列,进行插入操作的一端称为 队尾。出队列,进行删除操作的一端称为 队头。③ 队列中的元素…...

c++提高篇——STL容器实现打分系统

一、案例说明 有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。 二、案例实现 在实现这个系统时,我们规划一下实现的步骤以及细节: 1、创建一个选手类&#x…...

【图片上传记录三】element-ui组件详解与封装(自定义上传、限制文件大小、格式以及图片尺寸)

业务上有需求是前端上传 jpg/png/gif 格式, 并且 尺寸为 150px * 150px,300px*300px,428*428px 的图片 同时在上传的同时需要携带用户的个人信息以及其他额外信息 因此在 element-upload 基础之上 实现这个需求需要在上传前检查图片的大小,格式以及尺寸如何上传也成…...

一个golang版本管理工具

GitHub - moqsien/gvc: GVC is a productive tool to manage your dev environment for multi platforms and machines. | GVC 是一个用于快速配置和管理多机器跨平台的开发环境的生产力工具。 目前,gvc拥有以下功能或特点: go编译器自动安装和添加环…...

SpringBoot整合Spring Security过滤器链加载执行流程源码分析

文章目录1.引言2.Spring Security过滤器链加载1.2.注册名为 springSecurityFilterChain的过滤器2、查看 DelegatingFilterProxy类3.查看 FilterChainProxy类3.1 查看 doFilterInternal方法。3.2 查看 getFilters方法。4 查看 SecurityFilterChain接口5 查看 SpringBootWebSecur…...

Jest使用

一、测试到底测什么 提到测试的时候,即使是最简单的一个代码块可能都让初学者不知所措。最常问的问题的是“我怎么知道要测试什么?”。如果你正在写一个 Web 应用,那么你每个页面每个页面的测试用户交互的方式,就是一个很好的开端…...

定位于企业数字化底座,开箱可用(spring cloud+Vue)基础框架,赶紧收藏!

项目介绍:JVS是什么?JVS是企业级应用构建的基础脚手架,提供开箱即用的基础功能集成,其中集成了账户管理、租户管理、用户权限体系、三方登录、环境配置、各种业务日志等功能,还提供了对接低代码、数据中台的能力。JVS能…...

java字符统计

问题描述 给定一个只包含大写字母的字符串 � S, 请你输出其中出现次数最多的字符。 如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。 输入格式 一个只包含大写字母的字符串 � S. 输出格式 若干个大写字母,代表答案。 …...

C#:Krypton控件使用方法详解(第八讲) ——kryptonBreadCrumb

今天介绍的Krypton控件中的kryptonBreadCrumb,下面开始介绍这个控件的属性:首先要介绍的是RootItem属性和外观属性:RootItem属性组中包含属性如下:image属性:代表在文字对象的前方插入一个图片,属性值如下图…...

2023从0开始学性能(1) —— 性能测试基础【持续更新】

背景 不知道各位大佬有没遇到上面的情况,性能这个东西到底是什么,还是以前的358原则吗?明显并不是适用于现在了。多次想踏入性能测试门槛都以失败告终,这次就以系列的方式来督促自己真正踏进性能测试的门槛。 什么是性能测试 通…...

如何通过一台 iPhone 申请一个 icloud 邮箱账号 后缀为 @icloud.com

总目录 iOS开发笔记目录 从一无所知到入门 文章目录需求关键步骤步骤后续需求 在 iPhone 自带的邮箱软件中添加账号,排第一位的是 iCloud 邮箱: 选 iCloud 之后: 提示信息是exampleicloud.com,也就是说是有icloud.com为域的邮箱…...

SQL89 计算总和

描述OrderItems表代表订单信息,包括字段:订单号order_num和item_price商品售出价格、quantity商品数量。order_numitem_pricequantitya110105a211100a21200a421121a5510a2119a775【问题】编写 SQL 语句,根据订单号聚合,返回订单总…...

Netty高级应用之:编解码器与群聊天室开发

Netty高级应用之:编解码器与群聊天室开发 文章目录Netty高级应用之:编解码器与群聊天室开发Netty编解码器Java的编解码Netty编解码器概念解码器(Decoder)编码器(Encoder)编码解码器CodecNetty案例-群聊天室聊天室服务端编写聊天室客户端编写Netty编解码器…...

Vue的生命周期

Vue的生命周期是指Vue实例从创建到销毁的过程,它包括了以下几个阶段:初始化、编译、挂载、更新、渲染和销毁。 初始化:Vue实例创建时,会执行初始化过程,主要包括以下几个步骤: 初始化数据:Vue…...

MySQL —— 数据库基础

文章目录1. centos7 安装Mysql2. 数据库的概念3. 数据库下创建库,表4. 库,表 的本质5. 数据库服务器 和 库 ,表的关系6. MySQL架构7. 存储引擎前言: 数据库是对数据进行管理的软件。1. centos7 安装Mysql 需要把系统自带的MySQL给…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

Map相关知识

数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

【网络安全】开源系统getshell漏洞挖掘

审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

Xcode 16 集成 cocoapods 报错

基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...