YOLO v3
yolo为you only look once.
是一个全卷积神经网络(FCN),它有75层卷积层,包含跳跃式传递和降采样,没有池化层,当stide=2时用做降采样。
yolo的输出是一个特征映射(feature map)
Yolo是将输入图像划分为sxs个格子,每个格子越策b个bounding box,每个bbx有5个系数。
s的取值为输出特征映射的最低维度,例如输入图像为416X416,则输出特征映射为13x13(具体算法为416,208,104,52,26,13,每次降采样相当于图像大小减小为原来的一半)

其中:cx,cy是网格左上角坐标,pw,ph表示bbx的size,bx,by,bw,bh是预测得到的bbx的中心坐标和size,tx,ty,tw,th是模型的预测输出。
预测框的大小判定:例如某目标的置信度为(0.3,0.8),而最小特征映射为13x13,则预测框的大小为(13*0.3,13*0.8)
yolo v3预测是从3个不同的尺度上预测的。
以416x416大小的图片为例,yolo v3将输出((52*52)+(26*26)+(13*13))*3=10647个bbx,如何从这么多的bbx预测出我们的目标,我们采用两步,1是阈值,忽略置信度小于阈值的框;2,非极大值抑制。
pytorh实现yolo
1.创建一个文件,命名为darknet.py, darknet是yolo基础框架的名称。这个文件中包含yolo的框架的代码。用一个名为util.py的文件对其进行补充,util.py文件中包含一些函数
2.配置文件,从网址https://github.com/pjreddie/darknet/blob/master/cfg/yolov3.cfg下载文件,保存到检测器文件中的cfg文件夹里。
配置文件里有卷积层和快捷层,快捷层是跳过连接。
YOLO中共有五种层:卷积层、快捷层、降采样层、Route(路线)、YOLO层、Net层
Route层的参数具有一个或两个值,当只有一个值时,它输出由该值索引的层的特征映射,比如该值为-4,则输出该层向后的第4层的特征映射。当该值有两个时,则输出其值的索引层的特征映射。比如当值为-1,64时,则输出为上一层和上64层的特征映射,并沿深度维度连接。

卷积层参数如上所示。

快捷层参数如上所示。

降采样层参数如上所示。

路线层如上所示。

YOLO层参数如上所示。

Net,cfg文件中的一种块,不是层,因为它只是描述一些输入和训练的参数的信息。在之前的YOLO中没使用,
iou计算:

iou相当于两个边界框重叠部分占两边界框总面积的比例,iou数值超过阈值,则除掉具有较低类置信度的边界框,保留具有较高类置信度的边界框。
调整图像大小还要保持纵横比的方法是填充左侧部分。
coco.name.txt文件中包含数据集中对象的名称。
pytorch的输入图像格式是批次-通道-高度-宽度,图片通道的顺序是RGB
原程序中共106层,
YOLO v3的更多相关文章
- YOLO系列:YOLO v3解析
本文好多内容转载自 https://blog.csdn.net/leviopku/article/details/82660381 yolo_v3 提供替换backbone.要想性能牛叉,backbo ...
- 深度学习笔记(十三)YOLO V3 (Tensorflow)
[代码剖析] 推荐阅读! SSD 学习笔记 之前看了一遍 YOLO V3 的论文,写的挺有意思的,尴尬的是,我这鱼的记忆,看完就忘了 于是只能借助于代码,再看一遍细节了. 源码目录总览 tens ...
- Yolo V3整体思路流程详解!
结合开源项目tensorflow-yolov3(https://link.zhihu.com/?target=https%3A//github.com/YunYang1994/tensorflow-y ...
- YOLO v3算法介绍
图片来自https://towardsdatascience.com/yolo-v3-object-detection-with-keras-461d2cfccef6 数据前处理 输入的图片维数:(4 ...
- 一文看懂YOLO v3
论文地址:https://pjreddie.com/media/files/papers/YOLOv3.pdf论文:YOLOv3: An Incremental Improvement YOLO系列的 ...
- YOLO V3 原理
基本思想V1: 将输入图像分成S*S个格子,每隔格子负责预测中心在此格子中的物体. 每个格子预测B个bounding box及其置信度(confidence score),以及C个类别概率. bbox ...
- Pytorch从0开始实现YOLO V3指南 part5——设计输入和输出的流程
本节翻译自:https://blog.paperspace.com/how-to-implement-a-yolo-v3-object-detector-from-scratch-in-pytorch ...
- Pytorch从0开始实现YOLO V3指南 part1——理解YOLO的工作
本教程翻译自https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/ 视频展示:https://w ...
- yolo类检测算法解析——yolo v3
每当听到有人问“如何入门计算机视觉”这个问题时,其实我内心是拒绝的,为什么呢?因为我们说的计算机视觉的发展史可谓很长了,它的分支很多,而且理论那是错综复杂交相辉映,就好像数学一样,如何学习数学?这问题 ...
随机推荐
- 财务CLOUD成本核算
1.关账 仓库账关账 2.应收应付是否已审核 生成财务应收应付 3.存货账关账 4.1采购存货核算 4.2零成本维护 4.3成本中心设置 4.4成本项目设置 4.5费用项目设置 4.6成本项目匹配方 ...
- 《Python从入门基础到实践》
<Python学习——从入门到实践> 第1章 Python语言概述 1.1 从计算机到编程 1.1.1 程序语言的演变:机器语言,汇编语言,高级语言 1.1.1.1 演变原因 1.1.1. ...
- windows常用快捷键和指令
快捷键: Ctrl+鼠标滚轮:更改图标大小(桌面).缩放(开始屏幕) Ctrl+A:选择所有 Ctrl+C:复制 Ctrl+E:选择搜索框(资源管理器) Ctrl+N:新窗口(资源管理器) Ctrl+ ...
- Zookeeper+Kafka集群部署(转)
Zookeeper+Kafka集群部署 主机规划: 10.200.3.85 Kafka+ZooKeeper 10.200.3.86 Kafka+ZooKeeper 10.200.3.87 Kaf ...
- chrome常用扩展程序汇总(程序员版)
chrome常用扩展程序之程序员版 1.chrome扩展程序 Chrome插件是一个由Web技术开发.用来增强浏览器功能的小程序,其实就是一个由HTML.CSS.JS.图片等静态资源组成的一个.crx ...
- Helicute FPV App Privacy Policy
Personal Data collected for the following purposes and using the following services: Device permissi ...
- Luogu4491 [HAOI2018]染色 【容斥原理】【NTT】
题目分析: 一开始以为是直接用指数型生成函数,后来发现复杂度不对,想了一下容斥的方法. 对于有$i$种颜色恰好出现$s$次的情况,利用容斥原理得到方案数为 $$\binom{m}{i}\frac{P_ ...
- Eclipse新建动态页面
作为web小学生,写一下很多人问的基本基本基本问题 新建web项目 出现一下界面: 明明完成后一直点击next,但不要点击finish 知道出现这个界面(最后一个界面) 打上勾(用来自动生成web.x ...
- win10 nginx
下载后运行报错 nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in ...
- 第三周java学习总结
学号 20175206 <Java程序设计>第三周学习总结 教材学习内容总结 本周为第四章的学习,分为以下几个方面: 1.包与代码组织 2.String类 3.对象创建 4.包装类 经过代 ...