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

网站开发课程论文代刷网站推广快速

网站开发课程论文,代刷网站推广快速,最便宜的外贸自建站平台,秦皇岛网站建设汉狮怎么样上一篇我们一起读了YOLOv4的论文《YOLOv4#xff1a;Optimal Speed and Accuracy of Object Detection》#xff08;直通车→【YOLO系列】YOLOv4论文超详细解读1#xff08;翻译 #xff0b;学习笔记#xff09;#xff09;#xff0c;有了初步的印象#xff0c;论文里… 上一篇我们一起读了YOLOv4的论文《YOLOv4Optimal Speed and Accuracy of Object Detection》直通车→【YOLO系列】YOLOv4论文超详细解读1翻译 学习笔记有了初步的印象论文里面涉及到很多tricks上一篇介绍的比较简略我们这篇来详细介绍一下。 目录 一、YOLOv4的简介 二、YOLOv4的网络结构 三、输入端 数据增强①CutMix 数据增强②Mosaic SAT自对抗训练 cmBN Label Smoothing类标签平滑 四、主干网络BackBone CSPDarknet53 Mish激活函数 Dropblock正则化 五、Neck SPP PAN SAM 六、Head Loss NMS 一、YOLOv4的简介 YOLOv4一共有如下三点贡献 1开发了一个高效、强大的目标检测模型。它使每个人都可以使用1080ti或2080ti GPU来训练一个非常快速和准确的目标检测器。 2验证了最先进的 Bag-of-Freebies和 Bag-of-Specials对象检测在检测器训练时的影响。 3对现有的方法进行了改进使其更加高效更适合于单个GPU的训练包括CBNPANSAM等。 二、YOLOv4的网络结构 YOLOv4的整体原理图如下和v3还是比较接近的 可以看到由以下四个部分组成 输入端 训练时对输入端的改进主要包括Mosaic数据增强、cmBN、SAT自对抗训练 BackBone主干网络 各种方法技巧结合起来包括CSPDarknet53、Mish激活函数、Dropblock Neck 目标检测网络在BackBone和最后的输出层之间往往会插入一些层比如YOLOv4中的SPP模块、FPNPAN、SAM结构 Head 输出层的锚框机制和YOLOv3相同主要改进的是训练时的回归框位置损失函数CIOU Loss以及预测框筛选的nms变为DIOU nms YOLOv4的五个基本组件 CBMYolov4网络结构中的最小组件由ConvBnMish激活函数三者组成。CBL由ConvBnLeaky_relu激活函数三者组成。Res unit借鉴Resnet网络中的残差结构让网络可以构建的更深。CSPX借鉴CSPNet网络结构由三个卷积层和X个Res unint模块Concate组成。SPP采用1×15×59×913×13的最大池化的方式进行多尺度融合。 三、输入端 Yolov4对训练时的输入端进行改进使得训练时在单张GPU上跑的结果也蛮好的。比如数据增强Mosaic、cmBN、SAT自对抗训练。 数据增强①CutMix 数据增强的原因在平时项目训练时小目标的AP一般比中目标和大目标低很多。而Coco数据集中也包含大量的小目标但比较麻烦的是小目标的分布并不均匀。Coco数据集中小目标占比达到41.4%数量比中目标和大目标都要多。但在所有的训练集图片中只有52.3%的图片有小目标而中目标和大目标的分布相对来说更加均匀一些。 核心思想将一部分区域cut掉但不填充0像素而是随机填充训练集中的其他数据的区域像素值分类结果按一定的比例分配。 处理方式对一对图片做操作随机生成一个裁剪框Box裁剪掉A图的相应位置然后用B图片相应位置的ROI放到A图中被裁剪的区域形成新的样本ground truth标签会根据patch的面积按比例进行调整。 另外两种数据增强的方式 1Mixup: 将随机的两张样本按比例混合分类的结果按比例分配 2Cutout: 随机的将样本中的部分区域Cut掉并且填充0像素值分类的结果不变 数据增强②Mosaic Yolov4中使用的Mosaic是参考2019年底提出的CutMix数据增强的方式但CutMix只使用了两张图片进行拼接而Mosaic数据增强则采用了4张图片随机缩放、随机裁剪、随机排布的方式进行拼接。 优点 1丰富数据集 随机使用4张图片随机缩放再随机分布进行拼接大大丰富了检测数据集特别是随机缩放增加了很多小目标让网络的鲁棒性更好。 2batch不需要很大 Mosaic增强训练时可以直接计算4张图片的数据使得Mini-batch大小并不需要很大一个GPU就可以达到比较好的效果。 SAT自对抗训练 自对抗训练(SAT)也代表了一种新的数据增加技术在两个前后阶段操作。 1在第一阶段 神经网络改变原始图像而不是网络权值。通过这种方式神经网络对自己执行一种对抗性攻击改变原始图像以制造图像上没有期望对象的假象。 2在第二阶段 神经网络以正常的方式对这个修改后的图像进行检测。 通过引入噪音点进行数据增强 cmBN BN 无论每个batch被分割为多少个mini batch其算法就是在每个mini batch前向传播后统计当前的BN数据即每个神经元的期望和方差并进行NomalizationBN数据与其他mini batch的数据无关。 CBN 每次iteration中的BN数据是其之前n次数据和当前数据的和对非当前batch统计的数据进行了补偿再参与计算用该累加值对当前的batch进行Nomalization。好处在于每个batch可以设置较小的size。 CmBN 只在每个Batch内部使用CBN的方法若每个Batch被分割为一个mini batch则其效果与BN一致若分割为多个mini batch则与CBN类似只是把mini batch当作batch进行计算其区别在于权重更新时间点不同同一个batch内权重参数一样因此计算不需要进行补偿。 Label Smoothing类标签平滑 原因对预测有100%的信心可能表明模型是在记忆数据而不是在学习。如果训练样本中会出现少量的错误样本而模型过于相信训练样本在训练过程中调整参数极力去逼近样本这就导致了这些错误样本的负面影响变大。 具体做法标签平滑调整预测的目标上限为一个较低的值比如0.9。它将使用这个值而不是1.0来计算损失。这样就缓解了过度拟合。说白了这个平滑就是一定程度缩小label中min和max的差距label平滑可以减小过拟合。所以适当调整label让两端的极值往中间凑凑可以增加泛化性能。 四、主干网络BackBone CSPDarknet53 简介CSPNetCross Stage Partial Networks也就是跨阶段局部网络。CSPNet解决了其他大型卷积神经网络框架Backbone中网络优化的梯度信息重复问题CSPNet的主要目的是使网络架构能够实现获取更丰富的梯度融合信息并降低计算量。 具体做法CSPNet实际上是基于Densnet的思想即首先将数据划分成Part 1和Part 2两部分Part 2通过dense block发送副本到下一个阶段接着将两个分支的信息在通道方向进行Concat拼接最后再通过Transition层进一步融合。CSPNet思想可以和ResNet、ResNeXt和DenseNet结合目前主流的有CSPResNext50 和CSPDarknet53两种改造Backbone网络。 具体改进点 ①用 Concat 代替 Add提取更丰富的特征。 ②引入 transition layer 1 * 1conv 2 * 2pooling提取特征降低计算量提升速度。 ③将Base layer 分为两部分进行融合提取更丰富的特征。 Q为什么要采用CSP模块呢 CSPNet全称是Cross Stage Paritial Network主要从网络结构设计的角度解决推理中计算量很大的问题。 CSPNet的作者认为推理计算过高的问题是由于网络优化中的梯度信息重复导致的。 因此采用CSP模块先将基础层的特征映射划分为两部分然后通过跨阶段层次结构将它们合并在减少了计算量的同时可以保证准确率。 因此YOLOv4在主干网络Backbone采用CSPDarknet53网络结构主要有三个方面的有点 优点一增强CNN的学习能力使得在轻量化的同时保持准确性。优点二降低计算瓶颈优点三降低内存成本 Mish激活函数 简介Mish是一个平滑的曲线平滑的激活函数允许更好的信息深入神经网络从而得到更好的准确性和泛化在负值的时候并不是完全截断允许比较小的负梯度流入。Mish是一个与ReLU和Swish非常相似的激活函数但是Relu在小于0时完全杀死了梯度不太符合实际情况所以可以在不同数据集的许多深度网络中胜过它们。 公式yx∗tanh(ln(1ex)) Mish图像 Mish和Leaky_relu激活函数的图形对比如下 优点 1从图中可以看出该激活函数在负值时并不是完全截断而允许比较小的负梯度流入从而保证了信息的流动 2Mish激活函数无边界这让他避免了饱和有下界无上界且每一点连续平滑且非单调性从而使得梯度下降更好。 Dropblock正则化 传统的Dropout随机删除减少神经元的数量使网络变得更简单。 DropblockDropBlock技术在称为块的相邻相关区域中丢弃特征。Dropblock方法的引入是为了克服Dropout随机丢弃特征的主要缺点Dropout主要作用在全连接层而Dropblock可以作用在任何卷积层之上。这样既可以实现生成更简单模型的目的又可以在每次训练迭代中引入学习部分网络权值的概念对权值矩阵进行补偿从而减少过拟合。 之前的Dropout是随机选择点(b)现在随机选择一个区域 Q全连接层上效果很好的Dropout在卷积层上效果并不好         中间Dropout的方式会随机的删减丢弃一些信息但Dropblock的研究者认为卷积层对于这种随机丢弃并不敏感因为卷积层通常是三层连用卷积激活池化层池化层本身就是对相邻单元起作用。         而且即使随机丢弃卷积层仍然可以从相邻的激活单元学习到相同的信息。因此在全连接层上效果很好的Dropout在卷积层上效果并不好。所以右图Dropblock的研究者则干脆整个局部区域进行删减丢弃。 五、Neck SPP 简介SPP-Net全称Spatial Pyramid Pooling Networks是何恺明大佬提出的主要是用来解决不同尺寸的特征图如何进入全连接层的在网络的最后一层concat所有特征图后面能够继续接CNN模块。 如下图所示下图中对任意尺寸的特征图直接进行固定尺寸的池化来得到固定数量的特征。 具体结构如下 PAN YOLOv3中的neck只有自顶向下的FPN对特征图进行特征融合而YOLOv4中则是FPNPAN的方式对特征进一步的融合。引入了自底向上的路径使得底层信息更容易传到顶部 下面是YOLOv3的neck中的FPN如图所示 FPN是自顶向下的将高层的特征信息通过上采样的方式进行传递融合得到进行预测的特征图。 YOLOv4中的neck如下 YOLOv4在原始PAN结构上进行了一点改进原本的PANet网络的PAN结构中特征层之间融合时是直接通过addition的方式进行融合的而Yolov4中则采用在通道方向concat拼接操作融合的如下图所示。 Q为什么要把add改为concat add 将两个特征图直接相加是resnet中的融合方法基于这种残差堆叠相加可以有效地减小因为网络层数加深而导致的cnn网络退化问题。add改变特征图像素值并没有完全保留原本特征图信息更多的可以看作对原特征图信息的一种补充深层特征图在卷积过程中丢失了许多细节信息通过add的方式得以补全是在二维的平面上对特征图的增强。因此add在进行图像特征增强时使用最佳。 concat 将两个特征图在通道数方向叠加在一起原特征图信息完全保留下来再对原特征图增加一些我们认为是较好的特征图丰富了特征图的多样性是在空间上对原特征图的增强这样在下一次卷积的过程中我们能得到更好的特征图。 SAM SAM源自于论文CBAM(Convolutional Block Attention Module)的论文提出了两种注意力机制的技巧。 先来介绍一下CBAM 如下图所示输入一个特征F先进行Channel attention module后得到权重系数和原来的特征F相乘然后在进行Spatial attention module后得到权重系数和原来的特征F相乘最后就可以得到缩放后的新特征。不仅每个通道有注意力而且特征图每个位置有注意力。 接着我们来介绍Channel attention module(通道注意力模块) 该模块就是将输入的特征F分别进行全局的Maxpooling与Averagepooling接着将这两个输入到一个权重共享的MLP再将这两个进行element-wise summation操作后经过Sigmoid函数会得到权重系数Mc再将这个权重系数与原来的特征F相乘,就可以得到缩放后的新特征。 我们再看看Spatial attention module(空间注意力模块) 首先对不同的feature map上相同位置的像素值进行全局的Maxpooling与Average pooling接着将这两个spatial attention map 进行concat再利用一个7X7的卷积后经过Sigmoid函数会得到权重系数Ms在将这个权重系数与原来的特征F相乘就可以得到缩放后的新特征如下所示 YOLOv4将SAM从空间注意修改为点注意不应用最大值池化和平均池化而是直接接一个7X7的卷积层这样使速度相对快一些。 六、Head Loss 经典IoU loss IoU算法是使用最广泛的算法大部分的检测算法都是使用的这个算法。 不足没有相交则IOU0无法梯度计算相同的IOU却反映不出实际情况 GIOUGeneralized IoU损失 GIoU考虑到当检测框和真实框没有出现重叠的时候IoU的loss都是一样的因此GIoU就引入了最小封闭形状CC可以把AB包含在内在不重叠情况下能让预测框尽可能朝着真实框前进这样就可以解决检测框和真实框没有重叠的问题。 公式 不足但是在两个预测框完全重叠的情况下不能反映出实际情况 DIOUDistance IoU损失 DIoU考虑到GIoU的缺点也是增加了C检测框将真实框和预测框都包含了进来但是DIoU计算的不是框之间的交并而是计算的每个检测框之间的欧氏距离这样就可以解决GIoU包含出现的问题。 公式其中分子计算预测框与真实框的中心点欧式距离d 分母是能覆盖预测框与真实框的最小BOX的对角线长度c CIOUComplete IoU损失 CIoU就是在DIoU的基础上增加了检测框尺度的loss增加了长和宽的loss这样预测框就会更加的符合真实框。 公式损失函数必须考虑三个几何因素重叠面积中心点距离长宽比 其中α可以当做权重参数 总结 IOU_Loss主要考虑检测框和目标框重叠面积。GIOU_Loss在IOU的基础上解决边界框不重合时的问题。DIOU_Loss在IOU和GIOU的基础上考虑边界框中心点距离的信息。CIOU_Loss在DIOU的基础上考虑边界框宽高比的尺度信息。 NMS DIOU-NMS DIOU-NMS不仅考虑IOU的值还考虑两个框的中心点的距离。如果两个框之间的IOU比较大但是他们中心点之间的距离比较远则会被认为是不同物体的检测框而不会被过滤掉。 公式 不仅考虑了IoU的值,还考虑了两个Box中心点之间的距离 其中M表示高置信度候选框Bi就是遍历各个框跟置信度高的重合情况 SOFT-NMS 对于重合度较大的不是直接剔除而是施加惩罚。 本文参考 想读懂YOLOV4你需要先了解下列技术(一) - 知乎 (zhihu.com)  想读懂YOLOV4你需要先了解下列技术(二) - 知乎 (zhihu.com)
http://www.pierceye.com/news/466689/

相关文章:

  • 网站建设使用的什么软件房屋设计风格
  • 厦门网站建设公司排名杭州小型网站建设服务
  • 西安建设主管部门官方网站中文搭建式软件开发工具
  • 南通网站建设论文网站首页导航栏怎么做
  • 建设网站的运行费包括什么北京市建设工程信息网安徽兴创
  • 我想在泉州做网站上上海网站设计
  • 百度seo网站优化一 网站开发体会
  • 成都58手机微信网站建设名录tiktok跨境电商好做吗
  • 电子科技 深圳 网站建设怎么做打码网站
  • 南宁小程序开发网站建设公司公司网站建设怎么选择
  • erp网站代做项目网络进度图
  • 网站建设胶州家园外贸网站怎么注册
  • 我想找阿里巴巴做网站推广建一个公司网站花多少钱
  • 最新购物网站建设框架wordpress 登录后台乱码
  • 音频网站开发做外贸网站需要营业执照
  • 企业网站搭建项目概述范文wordpress更改链接地址
  • 免费网站在线观看人数在哪直播建设工业网站首页
  • 权威的南昌网站设计wordpress游客评论游客
  • 乡镇府建设网站什么是外链
  • 营销型网站设计流程电子商务网站建设软件
  • 做个人网站的步骤wordpress 添加新页面
  • 公司建网站流程网站布局选择
  • 云南效果好的网站优化微信如何做有趣的短视频网站
  • wordpress个人网站后台登陆dedecms仿站
  • 网站没被收录什么原因上海哪家做网站
  • 电子商务网站建设含代码项目外包是什么意思
  • 此网站正在建设中页面重庆网上商城网站建设公司
  • 保定建设公司网站新产品上市的营销策划方案
  • 网站建设课程报告论文网络设计专业有前途吗
  • 苏州哪个公司做门户网站wordpress显示评论者地理位置 浏览器