YOLO系列-yolov3
文章目录
- 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相关推荐
- YOLO系列:YOLOv1,YOLOv2,YOLOv3,YOLOv4,YOLOv5简介
原文链接: https://zhuanlan.zhihu.com/p/136382095 YOLO系列:YOLOv1,YOLOv2,YOLOv3,YOLOv4,YOLOv5简介 YOLO系列是基于深度 ...
- 【YOLO系列】YOLOv3
⭐ YOLOv3 参考文献:<YOLOv3: An incremental improvement(2018)> YOLO系列的第三个版本,在YOLOv2基础上做了一些小改进,文章篇幅不长 ...
- 腾讯优图:开源 YOLO 系列代码(含 YOLOv3 以及各种 Backbone)
Summary:腾讯优图:开源YOLO系列代码(含YOLOv3以及各种backbone) Author:Amusi Date:2019-01-017 微信公众号:CVer https://github ...
- YOLO系列总结:YOLOv1, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOX
文章目录 YOLO系列总结:YOLOv1, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOX 前言 YOLO v1: You Only Look Once: Unified, ...
- 深入浅出Yolo系列之Yolov3amp;Yolov4核心基础知识完整讲解
Datawhale干货 作者:知乎-江大白 编辑:AI算法与图像处理 本文来源:https://zhuanlan.zhihu.com/p/143747206 已授权转载,如需转载请联系原作者,禁止二 ...
- YOLO系列综述:从V1到V4
公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 来源 | 知乎 作者 | Eason.wxd https://blog.cs ...
- 收藏 | YOLO系列综述:从V1到V4
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 YOLO v1 这是继RCNN,fast-RCNN和faster- ...
- yolo v3制作自己的数据_小白也能弄懂的目标检测之YOLO系列 第一期
大家好,上期分享了电脑端几个免费无广告且实用的录屏软件,这期想给大家来讲解YOLO这个算法,从零基础学起,并最终学会YOLOV3的Pytorch实现,并学会自己制作数据集进行模型训练,然后用自己训练好 ...
- 深入浅出Yolo系列之Yolov3Yolov4Yolov5核心基础知识完整讲解
深入浅出Yolo系列之Yolov3&Yolov4&Yolov5核心基础知识完整讲解
最新文章
- 重磅!2021泰晤士世界大学排名公布,清华排名首次挺进top20
- Python 单词翻译:中英文翻译模块
- Java中的Runtime类详解
- Flutter入门篇(一)
- 修改样式_Word小技巧:如何设置样式 快速修改文本格式
- mvc设计模式_MVC设计模式
- java aws批量_通过 S3 Batch Operations (批量操作)功能轻松处理海量对象
- 单片机c语言定时器控制流水灯,单片机-定时器流水灯
- 无光驱软驱 DOS下 ISO镜像装系统全攻略
- idea集成svn问题
- 用c语言做一个背单词的软件,安利一个超好用且自由度高的背单词app
- 最新版校园招聘进大厂系列----------(4)京东篇 -----未完待续
- java堆栈队列api
- 计算机类知识期刊,计算机类期刊投稿
- 如何将word文件的大小进行压缩?
- 云计算和计算机应用的区别,普适计算与云计算的区别
- 较全的国外学术论文网站与常用的学术搜索引擎
- R语言——字符串提取函数
- android小程序-电子钢琴-滑动连续响应
- iOS越狱插件: Icon Tool 可定位文件目录和备份资料等功能
热门文章
- 23考研王道排序(第八章)自用笔记
- mysql 集群搭建(Centos7) for Galera
- 带你全面解析Android框架体系架构view篇,全网疯传
- unity打PC包修改exe版本信息
- 35年夜linux版本竞技
- PS文件的打开与关闭
- HM-SpringCloud微服务系列11.4【缓存同步】
- Android fastboot 基本操作命令(Android 刷机)
- HDU_多重背包系列
- PostgreSQL 30天 培训视频(SQL基础,备份恢复,HA,服务端编程,大数据,内核,应用案例)