文章目录

  • YOLO-V3
  • 多scale
    • scale经典方法
  • 残差链接-resnet思想
  • 核心网络架构
  • 先验框设计
  • softmax改进

YOLO-V3

在yolov3中不论速度还是map值都比其他算法高出很多
yolov3最大的改进就是网络结构,使其更适合小目标检测
特征做的更细致,融入多持续特征图信息来预测不同规格的物体
先验框更丰富了,3种scale,每种3个规格,一共9种
softmax改进,可以预测多标签任务

多scale

为了能检测到不同大小的 物体,设计了3个scale
在yolov2中为了能检测更小的物体,它把不同大小的特征图融合做成一个向量。这样做的弊端是可能会把一些特征图突出的特征变得不突出
在yolov3中设计了3个scale,分别用来检测小中大三种不同大小的物体,每种scale还有3个先验框,所以 一共是9个
大中小的scale大小分别是:52*52、26*26、13*13
但是怎么得到大小不同的scale呢,是从一个CNN网络中直接拿到这些大小的scale吗,但是这样越小的scale学到的东西会越多,越大的scale学到的越小,显然我们大的scale还需要借鉴小的scale

scale经典方法

左图是图像金字塔,把原始输入调整分辨率然后去做预测,这样做会导致速度很慢,不符合yolo速度快的出发点
右图就是yolov1的做法,用最后结果预测

左图是对不同的特征图分别做预测,这样做的缺点是最上面的scale最小的特征图能做的最好,因为学到的东西最多,而且下面的特征图学到的东西不完成,等于就是说学到一半就拿去做预测了,效果肯定不太好。
右图是每一层的特征图都会融合上面所有的特征图,但是这里尺寸大小不一样,这里就是用到了上采样,比如2626的特征,想要融合1313的特征图,就需要先把1313的特征图做一个上采样变成2626的在与原本26*26的融合。

残差链接-resnet思想

现在很多的网络都用了残差网络的思想,v3中也用了resnet的思想,堆叠更多的层来提取特征
resnet的主要思想就是为了防止网络越学越差的情况,因为vgg网络层数越高存在error遇到的情况,而resnet就是解决了这一问题,一些网络层如果学的结果是更差了则会跳过这一层。

核心网络架构

yolov3的网络又叫做darknet53
这个没有池化和全连接层,全部都是卷积。池化把特征图压缩了,可能会效果不好。
之前的池化层目的是为了把网络缩小成二分之一,那么只用卷积该怎么操作呢,我们知道sride为1的时候特征图大小不变,stride为2的时候特征图大小也会变成原来的一半,那么当我们需要下采样的时候stride为2就行,不需要下采样stride为1就行
从下图可以看到最终的输出结果有52*52、26*26、13*13的特征图大小分别用来检测小中大不同的物体,中间一些就用到了上采用操作

如下图当输入数据后做完卷积后的结果。如果你检测目标大小是13*13的,最后的结果应该是13*13*3*85,这里的13*13就是格子大小,v1的网格大小是7*7,v2是13*13,v3有三种52*52、26*26、13*13.3的意思是每个格子的三个先验框,85=80+4+1 4是预测出框的x,y,w,h,1是当前是物体还是背景,80是当前数据集中60个类别得判断是哪个类别

先验框设计

yolo-v2中选了5个,v3中有9个
v2中用到了聚类算法提取先验框,这样更符合实际的情况,在v3中还是这样做的
这里不是每一个格子都预测9种,而是分成了三类,比如聚类算法提取到的先验框是116*90的,这个框比较大,适合用13*13的特征图去做,因为特征图大小越小感受野越大,能检测的物体越大,其余两个种类也是这样分的。

softmax改进

物体检测任务中可能物体有多个标签
用logistic激活函数来完成,这样能预测每一个类比是还是不是
这个函数是一个log函数,损失越小接近于0说明x接近于1,说明预测正确的概率越大
对于每一个类都预测是还是不是

YOLO系列-yolov3相关推荐

  1. YOLO系列:YOLOv1,YOLOv2,YOLOv3,YOLOv4,YOLOv5简介

    原文链接: https://zhuanlan.zhihu.com/p/136382095 YOLO系列:YOLOv1,YOLOv2,YOLOv3,YOLOv4,YOLOv5简介 YOLO系列是基于深度 ...

  2. 【YOLO系列】YOLOv3

    ⭐ YOLOv3 参考文献:<YOLOv3: An incremental improvement(2018)> YOLO系列的第三个版本,在YOLOv2基础上做了一些小改进,文章篇幅不长 ...

  3. 腾讯优图:开源 YOLO 系列代码(含 YOLOv3 以及各种 Backbone)

    Summary:腾讯优图:开源YOLO系列代码(含YOLOv3以及各种backbone) Author:Amusi Date:2019-01-017 微信公众号:CVer https://github ...

  4. YOLO系列总结:YOLOv1, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOX

    文章目录 YOLO系列总结:YOLOv1, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOX 前言 YOLO v1: You Only Look Once: Unified, ...

  5. 深入浅出Yolo系列之Yolov3amp;Yolov4核心基础知识完整讲解

    Datawhale干货 作者:知乎-江大白  编辑:AI算法与图像处理 本文来源:https://zhuanlan.zhihu.com/p/143747206 已授权转载,如需转载请联系原作者,禁止二 ...

  6. YOLO系列综述:从V1到V4

    公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 来源 | 知乎          作者 | Eason.wxd https://blog.cs ...

  7. 收藏 | YOLO系列综述:从V1到V4

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 YOLO v1 这是继RCNN,fast-RCNN和faster- ...

  8. yolo v3制作自己的数据_小白也能弄懂的目标检测之YOLO系列 第一期

    大家好,上期分享了电脑端几个免费无广告且实用的录屏软件,这期想给大家来讲解YOLO这个算法,从零基础学起,并最终学会YOLOV3的Pytorch实现,并学会自己制作数据集进行模型训练,然后用自己训练好 ...

  9. 深入浅出Yolo系列之Yolov3Yolov4Yolov5核心基础知识完整讲解

    深入浅出Yolo系列之Yolov3&Yolov4&Yolov5核心基础知识完整讲解

最新文章

  1. 重磅!2021泰晤士世界大学排名公布,清华排名首次挺进top20
  2. Python 单词翻译:中英文翻译模块
  3. Java中的Runtime类详解
  4. Flutter入门篇(一)
  5. 修改样式_Word小技巧:如何设置样式 快速修改文本格式
  6. mvc设计模式_MVC设计模式
  7. java aws批量_通过 S3 Batch Operations (批量操作)功能轻松处理海量对象
  8. 单片机c语言定时器控制流水灯,单片机-定时器流水灯
  9. 无光驱软驱 DOS下 ISO镜像装系统全攻略
  10. idea集成svn问题
  11. 用c语言做一个背单词的软件,安利一个超好用且自由度高的背单词app
  12. 最新版校园招聘进大厂系列----------(4)京东篇 -----未完待续
  13. java堆栈队列api
  14. 计算机类知识期刊,计算机类期刊投稿
  15. 如何将word文件的大小进行压缩?
  16. 云计算和计算机应用的区别,普适计算与云计算的区别
  17. 较全的国外学术论文网站与常用的学术搜索引擎
  18. R语言——字符串提取函数
  19. android小程序-电子钢琴-滑动连续响应
  20. iOS越狱插件: Icon Tool 可定位文件目录和备份资料等功能

热门文章

  1. 23考研王道排序(第八章)自用笔记
  2. mysql 集群搭建(Centos7) for Galera
  3. 带你全面解析Android框架体系架构view篇,全网疯传
  4. unity打PC包修改exe版本信息
  5. 35年夜linux版本竞技
  6. PS文件的打开与关闭
  7. HM-SpringCloud微服务系列11.4【缓存同步】
  8. Android fastboot 基本操作命令(Android 刷机)
  9. HDU_多重背包系列
  10. PostgreSQL 30天 培训视频(SQL基础,备份恢复,HA,服务端编程,大数据,内核,应用案例)