yolov3及其各种变形算法解析

           yolov3作为目前最为流行的one stage检测模型,从出现到现在衍生发展了太多版本,甚至到了去年性能更优的v4和v5都已经出来了,今天就此机会总结一下常见的v3变形算法。

  • YOLOv3-tiny(YOLOv3的tiny版本)
  • YOLOv3-SPP1(仅在第一个检测头前集成SPP模块)
  • YOLOv3-SPP3(在三个检测头前都加入了SPP模块)
  • SlimYOLOv3-SPP3-50(n=50, k=90, 迭代剪枝2次)
  • SlimYOLOv3-SPP3-90(n=90, k=90)
  • SlimYOLOv3-SPP3-95(n=95, k=90)

(1)yolov3网络结构图

 

backbone采用的是darknet53结构,用于提取输入目标特征。三个head部分输出分别为13*13*255,26*26*255,52*52*255,其间通过upsample进行链接以增加对小目标的检测能力。

 

(2)yolov3-tiny

 

 

YOLOv3-tiny 是YOLOv3的一种快速算法,但精度下降太多,初始多使用于移动端。

 

(3)yolov3-spp

 

YOLOv3-SPP1 是YOLOv3加上SPP模块的改进,其比原始YOLOv3精度要高,而YOLOv3-SPP3 是该文作者YOLOv3-SPP1的改进,其有3个SPP模块,比YOLOv3-SPP1精度更高。加入了空间金字塔池化,增加了模型提取的语义信息,通常加入的spp模块效果还是很不错的,Size设置接近feature map的时候效果更好

 

(4)slim-yolov3

YOLOv3经过稀疏训练,得到各通道的尺度因子,然后去除那些尺度因子小的通道,将剪枝得到的模型SlimYOLOv3在数据集上进一步微调,得到检测结果,然后进入下一轮的稀疏训练。以上剪枝过程是迭代重复的,直到满足一定的模型条件,比如模型剪枝率达到一定要求。

         在VisDrone2018-Det上进行了实验,结果如下:

可见在精度稍有下降的情况下,推断时间(Inference time)、参数量(Parameters)、内存占用(Volume)大幅减少,更适合在无人机部署。

 

参考链接:

1、https://blog.csdn.net/dd_pp_jj/article/details/108507720

2、https://blog.csdn.net/rocking_struggling/article/details/108550637

3、https://cloud.tencent.com/developer/article/1587989

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值