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
每当听到有人问“如何入门计算机视觉”这个问题时,其实我内心是拒绝的,为什么呢?因为我们说的计算机视觉的发展史可谓很长了,它的分支很多,而且理论那是错综复杂交相辉映,就好像数学一样,如何学习数学?这问题 ...
随机推荐
- Vue (三) --- Vue 组件开发
------------------------------------------------------------------好心情,会让你峰回路转. 5. 组件化开发 5.1 组件[compo ...
- React 精要面试题讲解(一) 单向数据流
react 单向数据流概念 'react框架是怎样的数据流向?'||'react单向数据流是怎样的概念 ?' 解答这个问题之前,我们首先得知道,js框架是个怎样的概念. 框架:具备一定**编程思想** ...
- Quick Sort(三向切分的快速排序)(Java)
//三向切分的快速排序 //这种切分方法对于数组中有大量重复元素的情况有比较大的性能提升 public static void main(String[] args) { Scanner input ...
- OpenStack端口(15)
一.OpenStack组件使用的默认端口号 openstack openstack service default ports port type keystone Identity service ...
- Docker 概览
什么是Docker Docker是开发,运行和部署应用程序的开放管理平台. 开发人员能利用docker 开发和运行应用程序 运维人员能利用docker 部署和管理应用程序 Docker 平台介绍 Do ...
- antd form 自定义验证表单使用方法
import React from 'react'; import classNames from 'classnames'; export default class FormClass exten ...
- 如何在springboot项目中进行XSS过滤
简单介绍 XSS : 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意 ...
- pstree:command not found
centos7默认并没有安装pstree,所以会有pstree:command not found yum -y install psmisc
- 用Python将一个列表分割成小列表
用Python将一个列表分割成小列表 2018年01月15日 11:09:25 幸福丶如此 阅读数:16842 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- Windows Subsystem for Linux 环境变量
WSL(Windows Subsystem for Linux )的环境变量是包含Linux子系统和Windows系统的,测试如下: wy@WY-PC:/mnt/c/Windows/System32$ ...