广告网站建设公司要想做个网站这么弄

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

广告网站建设,公司要想做个网站这么弄,新科网站建设,洛可可设计公司收费标准在前文我们介绍了YOLO-V1~V3版本都做了哪些事#xff0c;本文我们继续介绍YOLO-V4版本。YOLO的作者在发表完V3之后#xff0c;发现YOLO产品被美国军方应用到了很多军事战争当中#xff0c;这是他所不希望看见的#xff0c;因此宣布不再继续研究。但历史和科技总是随时间不断…在前文我们介绍了YOLO-V1~V3版本都做了哪些事本文我们继续介绍YOLO-V4版本。YOLO的作者在发表完V3之后发现YOLO产品被美国军方应用到了很多军事战争当中这是他所不希望看见的因此宣布不再继续研究。但历史和科技总是随时间不断发展一个人的力量总是渺小的后来的学者们“前赴后继”继往圣之绝学续写、补全着YOLO这本功法。一、YOLO-V4YOLO-V4的贡献亲民单GPU就能训练的非常好接下来很多小模块都是这个出发点 两大核心方法从数据层面和网络设计层面来进行改善 消融实验感觉能做的都让他给做了(凝当年百家之长)工作量不轻 全部实验都是单GPU完成不用太担心设备了1.1 Bag of freebies(BOF)只增加训练成本但是能显著提高精度并不影响推理速度 数据增强调整亮度、对比度、色调、随机缩放、剪切、翻转、旋转 网络正则化的方法Dropout、Dropblock等 类别不平衡损失函数设计1.1.1 数据增强Mosaic data augmentation方法一种数据增强的方法参考CutMix然后四张图像拼接成一张进行训练所参考的CutMix上图展示CutMix中提到的融合、裁剪、裁剪拼接V4作者参考该方法将四张图像拼接成一张进行训练具有以下优点丰富一张图上的信息增强后一张图上包含四张图的信息减少了对大batch_size的依赖通常小目标的检测效果要比大目标差将四张图放到一张图中相当于变相扩充了数据集中小目标的样本数量。当然在数据增强时还用了一些其它方法如用随机值或训练集的平均像素值替换图像的区域根据概率设置随机隐藏一些补丁引入噪音点等 1.1.2 DropBlock与标签平滑方法DropBlock之前的dropout是随机选择点去掉(随机杀死一些神经元)如下图b现在是直接去掉整个区域dropblock。这样做就好比去掉了图片中狗的眼睛/耳朵/鼻子或者是大半个头。显然相比去掉一些点提升了更大的难度让计算机去好好学。标签平滑 Label Smoothing神经网络最大的缺点就是容易过拟合以猫狗分类0/1标签为例这里进行平滑处理其中0.1为自己指定2为类别个数效果右图使用后簇内更加紧密簇间更加分离(过拟合的话就会很近)1.1.3 CIOU损失函数定义IOU损失从之前的学习中我们得知IOU是干嘛的即真实框和预测框的重叠程度一般IOU损失计算时直接1-IOU有时也会使用下图右下角公式但是使用IOU损失会面临一些问题如果两框没有相交则IOU0无法梯度计算相同的IOU却反映不出实际情况到底咋样如以下三图IOU相同但重叠情况却不同。GIOU损失引入了最小封闭形状C(C可以把A、B包含在内即下图C把两框都框起来了。)这样在在不重叠情况下能让预测框尽可能朝着真实框前进(以真实框为准C越接近真实框越好)。但是重叠的话又完了以下情况结果是相同的。DIOU损失其中分子计算预测框与真实框的中心点欧式距离d 分母是能覆盖预测框与真实框的最小BOX的对角线长度c 直接优化距离速度更快并解决GIOU问题CIOU损失损失函数必须考虑三个几何因素重叠面积中心点距离长宽比其中α可以当做权重参数 。1.1.4 NMS细节改进其实这个并不属于BOF而是属于后面BOS因为涉及到计算了肯定会影响速度。这里为了知识点的连贯性放在一起说。DIOU-NMS之前使用NMS来决定是否删除一个框现在改用DIOU-NMS不仅考虑了IoU的值,还考虑了两个Box中心点之间的距离其中M表示高置信度候选框Bi就是遍历各个框跟置信度高的重合情况SOTF-NMS做人留一面日好相见柔和一点的NMS更改分数而且直接剔除意思是之前高度重叠的就要置信度最大的别的都剔除。上图中红色绿色框重叠了但实际框起来的是两匹马不应该去掉。这里选用的方法就是降低置信度如绿框是0.8给它降低0.3分然后通过阈值去筛选。1.2 Bag of specials(BOS)增加稍许推断代价但可以提高模型精度的方法 网络细节部分加入了很多改进引入了各种能让特征提取更好的方法 注意力机制网络细节设计特征金字塔等你能想到的全有 读这一篇相当于把当年来部分优秀的论文又过了一遍1.2.1 SPP与CSP网络结构SPPNet(Spatial Pyramid Pooling)V3中为了更好满足不同输入大小训练的时候要改变输入数据的大小 SPP其实就是用最大池化控制大小来满足最终输入特征一致即可。CSPNetCross Stage Partial Network 每一个block按照特征图的channel维度拆分成两部分 一份正常走网络另一份直接concat到这个block的输出意思是把输入的特征图切成两份一份继续按照之前的路走(去卷积、block等)另一份直接拿过去和前面那份走完之后的结果进行concat。这样算是减少特征图的深度(实际上并没有影响到精度)加快计算速度。1.2.2 SAM注意力机制模块注意力机制简单来说就是比如这里这句话“小明今天开心地踢了一个绿色的皮球”这句话的关键词/重要的部分是 小明踢球其他的次要次次要。我们把注意力放在这些重要的上面即分配一些权重。这是语言/NLP中图片中也是一样的比如猫狗识别我记得猫有胡须狗没有可以把注意力放在胡须上。又或者说图片有前景和背景我们应该把注意力放在更重要的前景里。所参考的CBAM介绍比如我们得到32*32*512的256个特征图那就给这256个特征图经过操作得到它们的重要程度/分配权重(channel attention)之后再把权重乘到原始特征图中去。此外除了看哪个特征图重要还要看特征图里的哪个点/哪部分重要(spatial attention)即给每个特征图每个位置/像素点/grid cell分配权重乘进去。V4中参考CBAM不过V4中用的是SAM只有spatial attention也就是空间的注意力机制。YOLOV4中的Spatial attention module在原始SAM(a)做了点修改(b)之前是最大池化和平均池化后拼在一起然后后再卷积这里直接卷积更快。1.2.3 PAN模块下图是FAN它是一种自顶向下的模式将高层特征传下来各层间进行特征融合、3*3卷积得到P2、P3、P4、P5等特征。但这样好像只有一条路(特征只从高层向底层传递)能不能来个双向的呢于是PAN登场PAN(Path Aggregation Network)引入了自底向上的路径使得底层信息更容易传到顶部 并且还是一个捷径红色的线没准走个100层(走的Resnet层数)绿色的线几层(橙色那几层走的P后面延申的路)就到了。YOLO-V4中在PAN上做了点修改PAN中融合特征时使用的是加法(矩阵矩阵)而YOLO-V4中则是拼接。虽然特征多了一些但是会提升一些精度。1.2.4 激活函数YOLO-V4中并非使用的是ReLU而是Mish。Mish不一棒子全给打死给个改过自新的机会。Relu有点太绝对了Mish更符合实际虽然计算量确实增加了效果会提升一点在网络的初期因为一开始是高斯随机的数特征值在前面有负的可以理解ReLU直接就去掉了而Mish给了点机会当然只挽留一定范围内的。1.2.5 eliminate grid sensitivity最终预测回归值的时候还不是它真正的坐标而是相对这个网格的位置坐标回归值的预测都在0-1之间但此时在grid边界怎么办此时我们想要取到0或1就需要无穷大的数为了缓解这种情况可以在激活函数前乘上 一个系数大于1的即放大结果。1.3 整体网络架构架构图如下输入、卷积、BN、Mish然后SPP进行最大池化控制大小来满足最终输入特征一致; 右边是PAN特征图高底层特征双向拼接。最右边的Yolo Head和V3一样。不同尺度的特征检测器。