YOLOv6: A Single-Stage Object Detection Framework for IndustrialApplications
paper地址:https://arxiv.org/abs/2209.02976
源码github地址:GitHub - meituan/YOLOv6: YOLOv6: a single-stage object detection framework dedicated to industrial applications.
6月底发布的源码,9月初终于发布了技术报告。细节部分欢迎去原文中扣,这里只做各部分的一些讲解和个人理解。
目录
摘要
一、介绍
二、方法介绍
2.1 网络设计
2.2 标签分配
2.3 损失函数
2.4 为了工业部署便利的相关tricks
2.5 量化和部署
摘要
上来先说,yolov6大量地吸收了最近的网络设计、训练策略、测试技术、量化和优化方法的想法,就是说没有什么很吸睛的创新,就是一堆缝合。然后说明,yolo作者已经慷慨许可了他们把这个算法命名为yolov6(因此不要说他们蹭热度了)。
关于精度和性能对比,看下面这张图就差不多明白了。
一、介绍
介绍了yolov6出来的动机和背景:
(1)来自RepVGG的重参数化是一种优越的技术,在检测(已有的yolo版本)中尚未得到很好的利用(实际上同时期的yolov7里也用到了)。同时,作者认为小型网络和大型网络不一样,对大型网络来说,对RepVGG块进行简单地模型缩放不切实际。
(2)基于重参数化的检测器的量化也要调整
(3)考虑真正的服务环境中的部署(以前的算法往往在高功耗的v100上比),我要换个平台赛道比比
(4)新的标签分配和损失函数出来啦,得试试
(5)加点新的策略tricks,不增加推理时间就行
总结yolov6的贡献:
- 同时在分类和回归中加入了自蒸馏策略
- 做了很多实验验证不同的标签分配策略、损失函数、数据增强技术,找到了最好的组合
二、方法介绍
YOLOv6的新设计包括以下组件:网络设计、标签分配、损失函数、数据增强、为了工业方便的改进、量化和部署:
2.1 网络设计
- Backbone:yolov6的小型网络(跟v5和其他的版本一样,yolov6提供yolov6-n、yolov6-s等好几个规模的网络)中,使用RepBlock为基本模块;yolov6的大型网络,用了他们自己修改的一个高效CSP块,取名叫CSPStackRep块。
(a)和(b)表示了RepBlock,(a)表示训练的时候,RepVGG block接一个ReLU,(b)表示推理的时候,RepVGG块被替换成了RepConv
(c)CSPStackRep块的结构
- Neck:参考YOLOv4和v5用的PAN,结合backbone里的RepBlock或者CSPStackRep,提出了一个Rep-PAN
- Head:类似YOLOX的解耦头,更高效化了(微调)。YOLOv6里采用的是anchor-free的检测头(YOLOX、FCOS),是anchor point-based,而不是keypoint-based
2.2 标签分配
SimOTA的训练太慢,而且容易陷入不稳定的训练。 实验发现TAL(Task alignment learning)更好。
2.3 损失函数
分类损失用的是VFL(VariFocal Loss),回归损失用的是SIoU/GIoU
2.4 为了工业部署便利的相关tricks
更多的epoch、自蒸馏、图片边缘放置灰色边界(有助于检测边界的object)
2.5 量化和部署
用了 训练后量化(PTQ)和量化感知训练(QAT)
YOLOv6: A Single-Stage Object Detection Framework for IndustrialApplications相关推荐
- Single shot object detection SSD using MobileNet and OpenCV
微信公众号:小白图像与视觉 关于技术.关注yysilence00.有问题或建议,请公众号留言. 主题:Single shot object detection SSD using MobileNet ...
- 【论文阅读】【三维目标检测】BirdNet: a 3D Object Detection Framework from LiDAR Information
文章目录 BirdNet 数据预处理 处理网络 后处理 实验 评价 BirdNet: a 3D Object Detection Framework from LiDAR Information 西班 ...
- 【3D 目标检测】3DSSD: Point-based 3D Single Stage Object Detector
一 核心思路 本篇通过观察point-based目标检测方法中,在PointNet++的上采样层(FP层)和refinement Module上面耗费了大量时间,因此作者借此提出了one-stage的 ...
- (CVPR 2020)3DSSD: Point-based 3D Single Stage Object Detector
摘要 目前,基于体素的3D单级检测器已经有很多种,而基于点的单级检测器仍处于探索阶段.在本文中,我们首先提出了一种轻量级且有效的基于点的3D单级目标检测器,名为3DSSD,在精度和效率之间取得了很好的 ...
- 【论文阅读】【三维目标检测】3DSSD: Point-based 3D Single Stage Object Detector
文章目录 3DSSD F-FPS Framework Experiment 问题: 香港中文大学,香港科技大学出品,贾佳亚团队 2020CVPR 3DSSD F-FPS 这是我认为本文最重要的一个贡献 ...
- 【阅读记录】3DSSD:Point-based 3D Single Stage Object Detector
前情提要 在目前的三维目标检测任务中,大致分为单阶段和双阶段的网络.双阶段网络可以依靠pointnet++这样的网络得到的语义信息提供更加精确的结果.单阶段网络虽然具备了快速的优点,但是由于在道路环境 ...
- object detection
原地址:https://handong1587.github.io/deep_learning/2015/10/09/object-detection.html Object Detection Pu ...
- Object Detection(目标检测神文)
目标检测神文,非常全而且持续在更新.转发自:https://handong1587.github.io/deep_learning/2015/10/09/object-detection.html,如 ...
- 【论文阅读】【综述】3D Object Detection 3D目标检测综述
目录 写在开头 3D Object Detection 相关博客: Sliding window Vote3Deep: Fast Object Detection in 3D Point Clouds ...
最新文章
- 免费学习编程的10个好工具
- Java操作Kafka执行不成功
- 使用Fedora之VMware 虚拟机安装Fedora
- 开始抽时间学习swift
- 腾讯云的ubuntu虚拟主机上再安装VirtualBox遇到的一些错误
- 538. 把二叉搜索树转换为累加树
- 阻塞式和非阻塞式udp传输_NIO非阻塞网络编程三大核心理念
- 详解Python中的生成器表达式(generator expression)
- centos6.5 升级python2.6到python2.7
- cms不支持mysql_CMS不要让MySQL为你流泪
- 驱动 | Linux | NVMe - 1. 内核驱动
- 纸鸢|物联网云平台小工具集合常见 MQTT 客户端比较
- emos mysql_企业邮件部署详细步骤(EMOS)
- mysql pxc缺点_MYSQL高可用之PXC
- #IP实验室,第二周复盘
- 期权期货和金融衍生品学习笔记 -- 第一章引言
- 网易易盾首席产品风控官imlolo分享对社交业务安全风控的认知和思考
- 10015---MySQL--事务
- numpy多维数组shape的理解
- 10月8日 团队管理专题 | 中秋国庆双节盛典
热门文章
- vue中v-for写在template上,不能加key怎么办
- 今天一天学习的MYSQL语句,立此存照
- 服务进程无法连接到服务控制器上_魔兽世界 无法连接服务 暴雪游戏agent进入睡眠模式。。。。...
- iOS 9 Storyboard 教程(一上)
- 程序员女装大佬们,你们太可怕了,我还以为在逛 PornHub 呢
- 帝国cms插件支持7.0/7.2 7.5/UTF-8 微信登入插件 一键登入
- 什么是安拆网?安拆网有什么作用?
- Saber仿真教程视频 初级 中级 高级
- Exploit开发系列教程-Exploitme1 (“ret eip” overwrite) More space on stack
- android版怎么下载地址,负重前行怎么下载到手机 最新安卓版下载地址