YOLOv5总结--持续更新

2023-05-16

1、Data Augmentation:

数据增强操作可以看做是一种正则化方法,防止过拟合。

v4数据增强 创新使用了图像遮挡–Random Erase随机删除一个矩形区域通过均值填充。

Cutout随机删除一个矩形区域通过0填充。

Mixup两张图像每个位置像素按照一定比例进行叠加,label根据像素叠加比例进行分配。

cutmix随机删除一个矩形区域,并通过另一张图像同一位置像素值填充,label根据像素所占比例分配。

Mosaic 使用四张训练图像按一定比例组合成一张图像,使模型学会在更小的范围内识别对象。能有效解决模型训练中小目标的检测问题。

label smoothing 因为训练时标签可能存在错误,不过分相信标签,正则化方法。v5没使用。

2、自适应锚定框(Auto Learning Bounding Box Anchors)

对于COCO数据集,v5在配置文件中预设了640x640的锚框尺寸,对于自己的数据集,我们放大到了3000的size,并且数据集中目标对象 海星的大小和COCO数据集的不同因此要重新学习锚框尺寸。使用autoanchor.py。v5自带了autoanchor 会判断当前anchor契合度,如果低于0.98就会重新聚类,但是感觉不是很好用。明明并没有特别匹配,但还是符合了,我就在用不同数据集的时候重新autoanchor,让它重新进行聚类得到新的框。v4没有这个。

3.Backbone-跨阶段局部网络(CSP)

v5和v4均使用CSPDarknet作为Backbone,其解决了其他大型Backbone中网络优化的梯度信息重复问题。将梯度的变化从头到尾地集成到特征图中,因此减少了模型参数量和FLOPS数值,既保证了推理速度和准确率也减少了模型尺寸。

基于Densnet思想,复制基础层的特征映射图,通过dense block 发送副本到下一个阶段,从而将基础层的特征映射图分离出来,总金额样可以有效缓解梯度消失(通过非常深的网络很难去反推丢失信号),支持特征传播,鼓励网络重用特征,从而减少网络参数量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YOLOv5总结--持续更新 的相关文章

随机推荐