码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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)

  • 相关阅读:
    Django实战项目-学习任务系统-发送短信通知
    lazada获得lazada商品详情 API 返回值说明
    SpringBoot使用JSP
    关于#网络协议#的问题:哪位知道京东跳转qq支付代付 会的联系我哪位知道京东跳转qq支付代付 会的联系我
    Go语言的[GPM模型]
    马斯克谈 Facebook 不开源算法
    朝花夕拾 - 停更三月,期待 失败
    iSpring SDK 9.7 AND iSpring SDK 10.2 AND iSpring SDK 8.7
    Libgdx游戏开发(5)——碰撞反弹的简单实践
    富文本编辑器(添加表格)
  • 原文地址:https://blog.csdn.net/jiangqixing0728/article/details/126760731
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号