视觉检测模型对比RetinaNet

您所在的位置:网站首页 yolov5与yolov3性能对比 视觉检测模型对比RetinaNet

视觉检测模型对比RetinaNet

2024-07-07 05:37| 来源: 网络整理| 查看: 265

YOLOV3 YOLOV4 CenterNet 笔记本 thikpad 960max() X1 1650ti 台式机 1050ti

1:YOLOV3和YOLOV4对比:

onnx的输入size trt的输入size必须一样 thindpad GTX 940max int8 yolov4 31ms yolov3 20ms

fp16 yolov4 52ms yolov3 47ms

fp32 yolov4 53ms yolov3 20ms

1650ti (fp32) yolov3_416 infer 41ms yolov3_608 infer 74ms yolov4_416 infer 43ms yolov4_608 infer 83ms

yoloV3 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 yoloV4

YOLO V4炼丹配方 这么一看,这炼丹配方多清晰呀,和YOLO V3对比,主要做了以下改变: 相较于YOLO V3的DarkNet53,YOLO V4用了CSPDarkNet53 相较于YOLO V3的FPN,YOLO V4用了SPP+PAN CutMix数据增强和马赛克(Mosaic)数据增强 DropBlock正则化

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在SPP模块中,使用k={11,55,99,1313}的最大池化的方式,再将不同尺度的特征图进行Concat操作。 在这里插入图片描述

YOLOV4 CBM:Yolov4网络结构中的最小组件,由Conv+Bn+Mish激活函数三者组成。 CBL:由Conv+Bn+Leaky_relu激活函数三者组成。 Res unit:借鉴Resnet网络中的残差结构,让网络可以构建的更深。 CSPX:借鉴CSPNet网络结构,由三个卷积层和X个Res unint模块Concate组成。 SPP:采用1×1,5×5,9×9,13×13的最大池化的方式,进行多尺度融合。 对比: Yolov3的FPN层输出的三个大小不一的特征图①②③直接进行预测 但Yolov4的FPN层,只使用最后的一个7676特征图①,而经过两次PAN结构,输出预测的特征图②和③。 比如Yolov3.cfg最后的三个Yolo层, 第一个Yolo层是最小的特征图1919,mask=6,7,8,对应最大的anchor box。 第二个Yolo层是中等的特征图3838,mask=3,4,5,对应中等的anchor box。 第三个Yolo层是最大的特征图7676,mask=0,1,2,对应最小的anchor box。 而Yolov4.cfg则恰恰相反 第一个Yolo层是最大的特征图7676,mask=0,1,2,对应最小的anchor box。 第二个Yolo层是中等的特征图3838,mask=3,4,5,对应中等的anchor box。 第三个Yolo层是最小的特征图19*19,mask=6,7,8,对应最大的anchor box。

YOLOV3生态,稀疏化训练,剪枝和量化

1、利用batch normalization中的缩放因子γ 作为重要性因子,即γ越小,所对应的channel不太重要,就可以裁剪(pruning)。

2、约束γ的大小,在目标方程中增加一个关于γ的L1正则项,使其稀疏化,这样可以做到在训练中自动剪枝,这是以往模型压缩所不具备的。

在这里插入图片描述 在这里插入图片描述 使用了正常剪枝模式,不对short cut层(需要考虑add操作的维度一致问题)及上采样层(无BN)进行裁剪。

1、找到需要裁剪的BN层的对应的索引。 2、每次反向传播前,将L1正则产生的梯度添加到BN层的梯度中。 3、设置裁剪率进行裁剪。 将需要裁剪的层的BN层的γ参数的绝对值提取到一个列表并从小到大进行排序,若裁剪率0.8,则列表中0.8分位数的值为裁剪阈值。 将小于裁剪阈值的通道的γ置为0,验证裁剪后的map(并没有将β置为0)。 4、创建新的模型结构,β合并到下一个卷积层中BN中的running_mean计算。 5、生成新的模型文件。

在这里插入图片描述 选择L1正则化 线性模型常用来处理回归和分类任务,为了防止模型处于过拟合状态,需要用L1正则化和L2正则化降低模型的复杂度,很多线性回归模型正则化的文章会提到L1是通过稀疏参数(减少参数的数量)来降低复杂度,L2是通过减小参数值的大小来降低复杂度。 https://baijiahao.baidu.com/s?id=1621054167310242353&wfr=spider&for=pc 在这里插入图片描述

层剪枝

和优化的正常剪枝类似。 这个策略是在之前的通道剪枝策略基础上衍生出来的,针对每一个shortcut层前一个CBL进行评价,对各层的Gmma均值进行排序,取最小的进行层剪枝。为保证yolov3结构完整,这里每剪一个shortcut结构,会同时剪掉一个shortcut层和它前面的两个卷积层。是的,这里只考虑剪主干中的shortcut模块。但是yolov3中有23处shortcut,剪掉8个shortcut就是剪掉了24个层,剪掉16个shortcut就是剪掉了48个层,总共有69个层的剪层空间;实验中对简单的数据集剪掉了较多shortcut而精度降低很少。

(py3torch) (base) zyt@l01010008:~/torch_tensorflow/$ python3 normal_prune.py Class Images Targets P R mAP F1: 100%|█| 52/52 [00:32


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3