IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> YOLOv4: Optimal Speed and Accuracy of Object Detection -> 正文阅读

[人工智能]YOLOv4: Optimal Speed and Accuracy of Object Detection

YOLOv4: Optimal Speed and Accuracy of Object Detection

参考

Introduction

  • 主要贡献:

    • 1.一个高效、强大的目标检测模型。它使每个人都可以使用1080 Ti或2080 Ti GPU来train一个超快速和精确的目标探测器。
    • 2.在detector train期间,验证了最先进的Bag-of-Freebies 和 Bag-of-Specials对目标探测方法的影响。
    • 3.修改了最先进的方法,使其更加有效,并适用于单个GPU培训,包括CBN、PAN、SAM等
  • 主要改进

    • 1、主干特征提取网络:DarkNet53 => CSPDarkNet53

      2、特征金字塔:SPP,PAN

      3、大量的目标检测提点技巧:Bag of Freebies和Bag of Specials、

      4、论文中提到的SAM,作者自己的源码也没有使用。

Related work

  • 在这里插入图片描述
    • 作者对目前目标检测器对类型及其部件进行了分类,用以展现目前目标检测器的发展状况,如neck部分,YOLOv4中就采用了PANet
  • 下面的内容属于Related work,并不是说作者采用了下面全部的技术,YOLOv4具体的架构会在Methodology节中进行介绍

Bag of freebies
  • 指不增加推理成本就能提高检测精度的方法,多指data augmentation,关于这部分,可以参考这篇一文总结YOLOv4所列的Bag of freebies总结,此处就简单列举

  • 像素级

    • 光学畸变:亮度、色调、对比度、饱和度、噪声
    • 几何畸变:缩放、裁剪、反转、旋转
  • 遮挡:遮挡操作是对输入图片进行遮挡来进行数据增强。

  • 正则化:类似于输入图像遮挡,在特征图上丢弃某些信息的方法常叫做正则化,最终目的还是防止模型过拟合

    • Dropout:在训练过程中随意按概率丢弃一些神经元,丢弃的神经元输出置0
    • DropConnect:思路和Dropout类似,但是DropConnect是在训练过程中把神经元的输入权值按概率置0,由于DropConnect处理起来比Dropout麻烦,效果和Dropout差不多
    • DropBlock:在卷积层一块一块地随意丢弃,迫使网络去学习到更加鲁棒的特征。
      原文链接:https://blog.csdn.net/weixin_38688399/article/details/106692156
      • 论文:DropBlock: A regularization method for convolutional networks
      • arxiv:https://arxiv.org/pdf/1810.12890.pdf
      • github源码:https://github.com/miguelvr/dropblock
  • 多图数据增强:多图数据增强一般是指将多张图片融合一起的数据增强操作。

    • Mixup:Mixup就是将两张图片采用比例混合,label也按照比例混合。

      • 论文:mixup: BEYOND EMPIRICAL RISK MINIMIZATION
        arxiv:https://arxiv.org/pdf/1710.09412.pdf
    • CutMix:CutMix是CutOut和Mixup的结合,将图片的一部分区域擦除并随机填充训练集中的其他数据区域像素值。

      • 论文:CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features
        arxiv:https://arxiv.org/pdf/1905.04899.pdf
        github源码:https://github.com/clovaai/CutMix-PyTorch
    • Mosaic数据增强:YOLOv4的创新点,是CutMix的拓展,混合了四张具有不同语义信息的图片,可以让检测器检测出超乎常规语境的目标,增强鲁棒性,并减少对大的mini-batch的依赖。

  • Style Transfer GAN:通过GAN随机将物体的纹理替换,从而增强网络的学习特征能力

    • 论文:ImageNet-trained cnns are biased towards texture; increasing shape bias improves accuracy and robustness
    • 论文发现了一个结论:CNN训练学习到的实际是纹理特征(texture bias)而不是形状特征,这与人类的认知相反,因而通过gan引入风格化的ImageNet数据集,平衡纹理和形状偏置,提高模型的泛化能力。
  • 数据分布不均衡

    • two stage
      • Hard Negative Example Mining
      • Online Hard Example Mining
      • 核心思想都是将误分类的图片再次输入网络进行训练。
    • one stage
      • Focal Loss
      • 核心思想是降低易分类样本的下降的损失(表现为权重下降),让网络关注困难的、错分的样本。
  • 类别之间没有关联

  • BBox回归

    • IOU Loss

      • IOU Loss就是比较真实框与预测框交集和并集之比。
    • GIOU Loss

      • 当预测框和目标框不相交时,IoU(A,B)=0时,不能反映A,B距离的远近,此时损失函数不可导,IoU Loss 无法优化两个框不相交的情况。

      • 假设预测框和目标框的大小都确定,只要两个框的相交值是确定的,其IoU值是相同时,IoU值不能反映两个框是如何相交的。

      • GIOU的实现方式就是找到真实框和预测框外接的最小矩形C,用C减去真实框和预测框的并集再除以C得到一个数值,再用真实框和预测框的IOU减去这个数值得到GIOU。

      • image- 20210815105009484
        • (三种不同相对位置的框拥有相同的IoU=0.33值,但是拥有不同的GIoU=0.33,0.24,-0.1。当框的对齐方向更好一些时GIoU的值会更高一些。)
    • DIOU Loss

      • 当真实框完全包裹预测框的时候,IoU和GIoU的值都一样,此时GIoU退化为IoU, 无法区分其相对位置关系。

      • 好的目标框回归损失应该考虑三个重要的几何因素:重叠面积,中心点距离,长宽比。DIoU Loss,相对于GIoU Loss收敛速度更快,该Loss考虑了重叠面积和中心点距离,但没有考虑到长宽比。

        • (上图中绿色框为目标框,黑色框为预测框,灰色框为两者的最小外界矩形框,d表示目标框和真实框的中心点距离,c表示最小外界矩形框的距离。)
      • 定义为:

        • image-20210815105254639
    • CIOU Loss

      • CIou Loss改进了DIOU Loss,把重叠面积,中心点距离,长宽比都考虑进来了。

      • CIOU定义为:

        • image-20210815105412814
Bag of specials
  • 就是一些通过增加推理成本,改变网络结构,来提高目标检测精度的方法。详细内容参考这篇:一文总结YOLOv4所列的Bag of specials,此处就简单列举**(包括感受野、注意力机制(添加feature map权重)、特征融合(残差、特征金字塔等)、激活函数、后处理五个方面)**

  • 增加感受野

  • 注意力机制

    • 特征图的每个位置以及每张不同的特征图,对检测结果的重要程度可能都不同,特征图上包含猫的轮廓形状纹理信息的位置,肯定比背景信息重要,因而怎么在特征图中添加权重信息,让网络能自动学习调整权重信息,就是注意力机制所需要解决的问题。

    • SE

    • 论文:Squeeze-and-Excitation Networks

    • SENet就是想对每张特征图添加权重,并让网络自动学习调整权重信息。

    • SAM

    • 论文:CBAM: Convolutional block attention module

    • CBAM就是为了解决上述问题而提出来的注意力机制模型,它分成了两部分,一个是CAM(Channel Attention Module,通道注意力模块),另一个是SAM(Spatial Attention Module,空间注意力模块)。

    • image-2021081 5133328389
  • 特征融合

    • Skip Connection:残差结构 类似于差分放大器,将较小的梯度变化放大,从而对权重调整更大。

      - <center>
      <img src="https://gitee.com/coconut_milk_candy/image-res/raw/master/blog/image-20210815133544427.png" alt="image-20210 815133544427" style="zoom:50%;" />
      
    • Hyper Column(不是很懂):超列的计算,是取得一个检测框(可能是正方形),resize到分类网络的固定输入大小(分类网络使用了全连接层),resized图像分块进入分类网络,把各个层的特征图进行bilinear插值,恢复到图像分块大小,取得各个层的对应位置的超列(级联多通道激活值)。

    • FPN:特征金字塔

      • image-20210815134112681
    • SFAM(暂时未看)

      • M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid(SFAM)](https://blog.csdn.net/weixin_38688399/article/details/106768281)
    • ASFF(暂时未看)

    • BiFPN(暂时未看)

  • 激活函数

    • ReLU
    • LReLU
    • PReLU
    • ReLU6
    • Scaled Exponential Linear Unit (SELU)
    • Swish
    • hard-Swish
    • Mish(YOLOv4采用这个激活函数)
  • 后处理

    • NMS(greedy NMS)
    • soft NMS:失败者降低置信度
    • DIoU NMS:在soft NMS的基础上,将中心点距离的信息添加到BBox筛选过程中

Methodology

YOLOv4架构
  • YOLOv4的各部分采用的结构如上图所示,总体架构如下图所示:

  • 下面介绍各部分结构

BackBone——CSPDarknet53
  • 在YOLOv3点DarkNet53的基础上,使用了CSPnet结构。此时YOLOV4当中的Darknet53被修改成了CSPDarknet53。

    • 上面右侧就是CSPnet结构,其实就是在原有的n*ResXBlock的基础上添加了个大跨越的残差结构(Part1下面这条线)

  • 另一个点就是,激活函数由原来的Leaky ReLU改为Mish

    • M i s h = x × tanh ? ( ln ? ( 1 + e x ) ) Mish = x × \tanh(\ln(1+e^x)) Mish=x×tanh(ln(1+ex))

  • 作者给了CSPDarknet53在classification任务重的对比,以此来说明此backbone的性能(注:参数量、FPS等,应该是为了说明backbone前推快吧)

金字塔池化——SPP
  • SPP结构参杂在对CSPdarknet53的最后一个特征层的卷积里,在对CSPdarknet53的最后一个特征层进行三次DarknetConv2D_BN_Leaky卷积后,分别利用四个不同尺度的最大池化进行处理,最大池化的池化核大小分别为13x13、9x9、5x5、1x1(1x1即无处理)

  • image-20210815215210948
  • 它能够极大地增加感受野,分离出最显著的上下文特征

特征金字塔——PATNet
  • PANet是2018的一种实例分割算法,其具体结构由反复提升特征的意思。

    • image- 20210815215730264
    • 上图为原始的PANet的结构,可以看出来其具有一个非常重要的特点就是特征的反复提取
      在(a)里面是传统的特征金字塔结构,在完成特征金字塔从下到上的特征提取后,还需要实现(b)中从上到下的特征提取。

  • image-20210815214724469
  • 在YOLOV4当中,其主要是在三个有效特征层上使用了PANet结构。

其他改进
Mosaic数据增强
  • YOLOv4的创新点,是CutMix的拓展,混合了四张具有不同语义信息的图片,可以让检测器检测出超乎常规语境的目标,增强鲁棒性,并减少对大的mini-batch的依赖(就是batch-size设的很大,这样的话不利于再单GPU上训练)。

SAT——对抗训练
  • 在第一阶段,神经网络改变原始图像,而不是网络权重。通过这种方式,神经网络对自身执行对抗性攻击,改变原始图像,从而产生图像上没有所需对象的欺骗。在第二阶段,训练神经网络,以正常方式在修改后的图像上检测目标
  • 这个给我的感觉就是GAN的思想,分别为Generator 和 Discriminator,前者用于生成图片,后者用于检测图片是否是Generator生成的。只不过SAT这里的Generator(给我的感觉)是用来生成干扰(也就是用于data augmentation)
Cross mini-Batch Normalization(CmBN)
  • 明确上图中的定义:

    • accumulate W 、normalize BN 、accumulate BN
    • 积累W,BN,归一化BN,BN = 均值、方差,W = 权重
  • 首先,对于BN,假设一个Batch包括4个mini-batch

    • 会在前三个mini-batch中积累权重,每次归一化的时候都会计算一次BN,并用这次BN的值来归一化,在最后一个mini-batch中(计算完毕之后)一起更新,同时更新的是ScaleShift(= Bias Scale)
  • 然后,对于CBN,假设一次交叉包括了4次小的迭代

    • 会在每次迭代中都会更新权重和ScaleShift,但是他会考虑本次BN和前三次迭代的BN,用于此次迭代的归一化操作
  • 最后,对于CmBN

    • 其实说白了就是把CBN的思想用在了mini-batch上
    • 具体来说,就是对于每个mini-batch(假设以4个为单位),他会积累前面的权重和BN用于卷积核归一化,并在最后的一个mini- batch上更新权重和ScaleShift
SAM
  • 据Bubbliiiing老哥的描述,作者源码并没有用到SAM

  • Modified SAM是YOLOv4的一个创新点,称为像素注意力机制,它的思路也非常简单,就是把SAM模块的池化层全部去除,对C×H×W的特征图进行1×1卷积(既没有降通道也没有升通道),得到C×H×W的输出特征图,然后使用Sigmoid激活,再与原来的C×H×W进行像素点相乘
PAN

性能

  • 毫无疑问是兼具速度和精度的模型,令我感到意外的是在Maxwell上也能跑进real-time的线

    • image-20210815233829927
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-16 11:44:45  更:2021-08-16 11:45:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 21:06:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码