目标检测网络之 YOLOv3
目标检测网络之 YOLOv3
</h1><div class="clear"></div><div class="postBody">
本文逐步介绍YOLO v1~v3的设计历程。
YOLOv1基本思想
YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体。
每个格子预测B个bounding box及其置信度(confidence score),以及C个类别概率。bbox信息(x,y,w,h)为物体的中心位置相对格子位置的偏移及宽度和高度,均被归一化.置信度反映是否包含物体以及包含物体情况下位置的准确性,定义为Pr(Object)×IOUtruthpred,其中Pr(Object)∈{0,1}Pr(Object)×IOUpredtruth,其中Pr(Object)∈{0,1}.
优缺点
优点
- 快速,pipline简单.
- 背景误检率低。
- 通用性强。YOLO对于艺术类作品中的物体检测同样适用。它对非自然图像物体的检测率远远高于DPM和RCNN系列检测方法。
但相比RCNN系列物体检测方法,YOLO具有以下缺点:
- 识别物体位置精准性差。
- 召回率低。在每个网格中预测固定数量的bbox这种约束方式减少了候选框的数量。
YOLO v.s. Faster R-CNN
- 统一网络:
YOLO没有显示求取region proposal的过程。Faster R-CNN中尽管RPN与fast rcnn共享卷积层,但是在模型训练过程中,需要反复训练RPN网络和fast rcnn网络.
相对于R-CNN系列的"看两眼"(候选框提取与分类,图示如下),YOLO只需要Look Once. - YOLO统一为一个回归问题
而R-CNN将检测结果分为两部分求解:物体类别(分类问题),物体位置即bounding box(回归问题)。
Darknet 框架
Darknet 由 C 语言和 CUDA 实现, 对GPU显存利用效率较高(CPU速度差一些, 通过与SSD的Caffe程序对比发现存在CPU较慢,GPU较快的情况). Darknet 对第三方库的依赖较少,且仅使用了少量GNU linux平台C接口,因此很容易移植到其它平台,如Windows或嵌入式设备.
参考Windows 版 Darknet (YOLOv2) 移植, 代码在此.
region层:参数anchors指定kmeans计算出来的anchor box的长宽的绝对值(与网络输入大小相关),num参数为anchor box的数量,
另外还有bias_match,classes,coords等参数.在parser.c代码中的parse_region函数中解析这些参数,并保存在region_layer.num参数保存在l.n变量中;anchors保存在l.biases数组中.region_layer的前向传播中使用for(n = 0; n < l.n; ++n)这样的语句,因此,如果在配置文件中anchors的数量大于num时,仅使用前num个,小于时内存越界.
region层的输入和输出大小与前一层(1x1 conv)的输出大小和网络的输入大小相关.
Detection层: 坐标及类别结果输出层.
yolo层: 指定anchors等信息, 计算loss等. YOLOv3使用三个yolo层作为输出.
upsample层: 上采样层, 进行2倍上采样.
region层和Detection层均是YOLOv2模型所使用的层, upsample层和yolo层在YOLOv3中使用.
鉴于 Darknet 作者率性的代码风格, 将它作为我们自己的开发框架并非是一个好的选择. 可以在我们更为熟悉的Caffe等框架中复现YOLO网络. 这里有一份Caffe版YOLOv3实现(仅部署,不能训练), 另可参照其它框架的可训练代码.
参考
- YOLO主页
- YOLOv3: An Incremental Improvement
- YOLO9000: Better, Faster, Stronger
- You Only Look Once: Unified, Real-Time Object Detection
<div id="blog_post_info">
关注 - 25
粉丝 - 150
<div class="clear"></div>
<div id="post_next_prev"><a href="https://www.cnblogs.com/makefile/p/GAN.html" class="p_n_p_prefix">« </a> 上一篇: <a href="https://www.cnblogs.com/makefile/p/GAN.html" title="发布于 2018-03-23 11:30">生成式模型之 GAN</a>
<br>
<a href="https://www.cnblogs.com/makefile/p/metrics-mAP.html" class="p_n_p_prefix">» </a> 下一篇: <a href="https://www.cnblogs.com/makefile/p/metrics-mAP.html" title="发布于 2018-04-02 21:15">目标检测评价指标(mAP)</a>
</div><!--end: topics 文章、评论容器-->
</div>
#1楼
2018-03-27 15:31
<a id="a_comment_author_3934846" href="https://home.cnblogs.com/u/1350827/" target="_blank">jiahcen</a></div><div class="feedbackCon">
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#2楼
[楼主]
2018-03-27 15:33
<a id="a_comment_author_3934849" href="https://www.cnblogs.com/makefile/" target="_blank">康行天下</a></div><div class="feedbackCon">
。。。我的国
https://pic.cnblogs.com/face/606386/20161018214555.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#3楼
2018-04-03 09:55
<a id="a_comment_author_3941024" href="https://home.cnblogs.com/u/1214055/" target="_blank">成了</a></div><div class="feedbackCon">
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#4楼
[楼主]
2018-04-03 10:51
<a id="a_comment_author_3941096" href="https://www.cnblogs.com/makefile/" target="_blank">康行天下</a></div><div class="feedbackCon">
应该是所有尺度的框合并后nms,输出score较高的框
https://pic.cnblogs.com/face/606386/20161018214555.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#5楼
2018-07-27 15:19
<a id="a_comment_author_4030267" href="https://www.cnblogs.com/liuzhongfeng/" target="_blank">liurio</a></div><div class="feedbackCon">
https://pic.cnblogs.com/face/861394/20160413212251.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#6楼
2018-10-10 14:22
<a id="a_comment_author_4085500" href="https://home.cnblogs.com/u/1434051/" target="_blank">JoeJo</a></div><div class="feedbackCon">
今天第二遍,发现内容很细致,很多细节都讲得很清楚,很棒的文章
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#7楼
2018-10-11 10:19
<a id="a_comment_author_4086348" href="https://home.cnblogs.com/u/1507720/" target="_blank">20181010</a></div><div class="feedbackCon">
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#8楼
2018-11-07 15:26
<a id="a_comment_author_4108799" href="https://www.cnblogs.com/defineconst/" target="_blank">咸鱼翻身</a></div><div class="feedbackCon">
https://pic.cnblogs.com/face/u37018.jpg
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#9楼
[楼主]
2018-11-07 15:33
<a id="a_comment_author_4108810" href="https://www.cnblogs.com/makefile/" target="_blank">康行天下</a></div><div class="feedbackCon">
如果图像大而目标小,是需要对图片进行划分成小图片的
https://pic.cnblogs.com/face/606386/20161018214555.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#10楼
2019-03-10 01:12
<a id="a_comment_author_4197952" href="https://home.cnblogs.com/u/1360567/" target="_blank">馒头mjtb</a></div><div class="feedbackCon">
如果一张图片有一辆车和一个人,哪个检测图负责检测车?哪个检测图负责检测人?
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#11楼
2019-03-10 01:12
<a id="a_comment_author_4197953" href="https://home.cnblogs.com/u/1360567/" target="_blank">馒头mjtb</a></div><div class="feedbackCon">
according to the labeled bonding box size of the car and the anchor size in the [yolo] layer?
If all the detection maps predict the car, how to combine the three output?
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#12楼
[楼主]
2019-03-10 20:03
<a id="a_comment_author_4198372" href="https://www.cnblogs.com/makefile/" target="_blank">康行天下</a></div><div class="feedbackCon">
这里不同尺度的特征图都检测用来检测所有的类别,没有对类别按大小区分,而是对anchor按大小划分到不同的特征,类似FPN与SSD。
https://pic.cnblogs.com/face/606386/20161018214555.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#13楼
2019-03-10 20:14
<a id="a_comment_author_4198376" href="https://home.cnblogs.com/u/1360567/" target="_blank">馒头mjtb</a></div><div class="feedbackCon">
13×13的检测图分配大的anchor,小分辨率的特征图语义信息强;52×52的特征图分配小的anhor,大分辨率的特征图,位置信息强,但是我不明白13×13的检测特征图怎么和52×52的检测特征图合作啊?
方便详细一点的解释吗,举一个例子可以吧
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#14楼
[楼主]
2019-03-10 20:20
<a id="a_comment_author_4198383" href="https://www.cnblogs.com/makefile/" target="_blank">康行天下</a></div><div class="feedbackCon">
在anchor分配之后,小目标就由大特征图上进行学习产生了,大目标在小特征图上,这就是一种分工合作啊。
https://pic.cnblogs.com/face/606386/20161018214555.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#15楼
2019-03-10 20:35
<a id="a_comment_author_4198389" href="https://home.cnblogs.com/u/1360567/" target="_blank">馒头mjtb</a></div><div class="feedbackCon">
这样理解对吧:在anchor分配之后,小的目标也可以会被小的特征图学习,可能学习起来比较慢,possibility也会很小,可能都达不到0.25的阈值;大目标大的检测图学习也一样
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#16楼
[楼主]
2019-03-10 20:42
<a id="a_comment_author_4198391" href="https://www.cnblogs.com/makefile/" target="_blank">康行天下</a></div><div class="feedbackCon">
嗯,对
https://pic.cnblogs.com/face/606386/20161018214555.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#17楼
2019-04-17 19:12
<a id="a_comment_author_4233704" href="https://home.cnblogs.com/u/1586532/" target="_blank">Reminding</a></div><div class="feedbackCon">
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#18楼
[楼主]
2019-04-17 19:15
<a id="a_comment_author_4233705" href="https://www.cnblogs.com/makefile/" target="_blank">康行天下</a></div><div class="feedbackCon">
可以,图片也不全是我的
https://pic.cnblogs.com/face/606386/20161018214555.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#19楼
2019-04-17 19:15
<a id="a_comment_author_4233708" href="https://home.cnblogs.com/u/1586532/" target="_blank">Reminding</a></div><div class="feedbackCon">
谢谢!
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#20楼
2019-04-17 20:20
<a id="a_comment_author_4233766" href="https://home.cnblogs.com/u/1586532/" target="_blank">Reminding</a></div><div class="feedbackCon">
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#21楼
2019-07-22 18:30
<a id="a_comment_author_4306400" href="https://home.cnblogs.com/u/962771/" target="_blank">水翼lv</a></div><div class="feedbackCon">
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#22楼
[楼主]
2019-07-24 09:00
<a id="a_comment_author_4307527" href="https://www.cnblogs.com/makefile/" target="_blank">康行天下</a></div><div class="feedbackCon">
谢谢!
https://pic.cnblogs.com/face/606386/20161018214555.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#23楼
2019-07-25 17:49
<a id="a_comment_author_4308998" href="https://home.cnblogs.com/u/1301932/" target="_blank">唐康</a></div><div class="feedbackCon">
感谢作者!
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#24楼
[楼主]
2019-07-30 11:14
<a id="a_comment_author_4312214" href="https://www.cnblogs.com/makefile/" target="_blank">康行天下</a></div><div class="feedbackCon">
过誉了!
https://pic.cnblogs.com/face/606386/20161018214555.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#25楼
2019-08-23 15:22
<a id="a_comment_author_4335028" href="https://www.cnblogs.com/sdu20112013/" target="_blank">core!</a></div><div class="feedbackCon">
https://pic.cnblogs.com/face/583030/20181201135834.png
</div></div><div class="feedbackItem"><div class="feedbackListSubtitle"><div class="feedbackManage">
</div>
#26楼
2019-08-23 15:47
<a id="a_comment_author_4335072" href="https://www.cnblogs.com/sdu20112013/" target="_blank">core!</a></div><div class="feedbackCon">
目标检测网络之 YOLOv3相关推荐
- yolov3为什么对大目标检测不好_【目标检测简史】进击的YOLOv3,目标检测网络的巅峰之作...
YOLOv3的前世今生 2013年,R-CNN横空出世,目标检测DL世代大幕拉开. 各路豪杰快速迭代,陆续有了SPP,fast,faster版本,至R-FCN,速度与精度齐飞,区域推荐类网络大放异彩. ...
- 计算机视觉算法——目标检测网络总结
计算机视觉算法--目标检测网络总结 计算机视觉算法--目标检测网络总结 1. RCNN系列 1.1 RCNN 1.1.1 关键知识点--网络结构及特点 1.1.2 关键知识点--RCNN存在的问题 1 ...
- 深度学习目标检测网络汇总对比,挺好的
深度学习目标检测网络汇总对比 本文总阅读量次 欢迎star我的博客 2019-01-03 参考 :https://medium.com/@jonathan_hui/object-detection-s ...
- 从R-CNN到Faster-RCNN再到YOLOV5,目标检测网络发展概述
R-CNN R-CNN由Ross Girshick于2014年提出,R-CNN首先通过选择性搜索算法Selective Search从一组对象候选框中选择可能出现的对象框,然后将这些选择出来的对象框中 ...
- 目标检测网络中的Backbone,Neck和Head - 以YOLOv4为例
目标检测网络中的Backbone,Neck和Head - 以YOLOv4为例 目标检测网络中常见到的三个概念: Backbone:在不同图像细粒度上聚合并形成图像特征的卷积神经网络: Neck:一系列 ...
- 一种投影法的点云目标检测网络
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 文章导读 本文来源于早期的一篇基于投影法的三维目标检测文章<An Euler-Region-Pr ...
- 丢弃Transformer!旷视和西安交大提出基于FCN的端到端目标检测网络
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 本文作者:王剑锋 | 编辑:Amusi https://zhuanlan.zhihu.com ...
- 两阶段3D目标检测网络 SIENet: Spatial Information Enhancement Network for 3D Object Detection from Point Cloud
本文介绍一篇两阶段的3D目标检测网络:SIENet. 这里重点是理解本文提出的 Hybrid-Paradigm Region Proposal Network 和 Spatial Informatio ...
- 详解两阶段3D目标检测网络 Voxel R-CNN:Towards High Performance Voxel-based 3D Object Detection
本文介绍一篇两阶段的3D目标检测网络:Voxel R-CNN,论文已收录于AAAI 2021. 这里重点是理解本文提出的 Voxel RoI pooling. 论文链接为:https://arxiv. ...
最新文章
- 听妈妈的话-07年感动的延续
- Docker: Failed to get D-Bus connection: No connection to service
- Java 调用 Kotlin
- set删除一个元素时间复杂度_set/map接口及其实现类
- python读取txt文件并批量写入不同的excel
- 译:C#面向对象的基本概念 (Basic C# OOP Concept) 第二部分(封装,抽象,继承)...
- 15 设置系统分词器
- Linux中防火墙端口查看,开启与关闭
- 应用悄悄拿走你的隐私做了什么?只需30秒这个AI给你答案
- 基于JavaScript技术完成单击事件完成显示和隐藏
- Linux---字符设备驱动程序设计
- acrobat professional的安装版本
- 怎么从零基础学计算机打字,新手学电脑打字 0基础打字快速上手教程
- M2Det 论文阅读心得[目标检测领域]
- Matlab/yalmip工具编写自动驾驶模型预测控制(MPC)代码
- 条码打印软件如何制作二维码
- css样式代码的基本格式
- Android 屏蔽Menu键
- 快进来看看!!!C语言——扫雷小游戏(递归展开无雷区)
- centos中startup.sh启动服务脚本