为什么会叫YOLO呢?

YOLO:you only look once。只需要看一眼,就可以检测识别出目标,主要是突出这个算法 快 的特点。(原文:Yolo系列之前的文章:主要是rcnn系列的,他们的基本思想都是通过产生大量的 region proposal,然后再用分类器去判断分类和对bounding box进行修正。为检测一个对象,在检测图像上的各个位置、不同尺度进行评估。

yolo系列的文章提出了一个不一样的思路。大致思想就是将物体检测任务当做一个回归问题来处理,在输出层对bounding box 的位置和所属类别进行回归。

1. yolo v1 的基本思想

we frame  object detection as a regressionproblem to spatially separated boundind boxes and associated classprobabilities.

我们设计将目标检测作为一个回归问题来处理空间分隔的边界框和相关的类概率

rcnn系列算法慢的原因:each individual component must be trainedseparately.

pipeline

使用YOLO来检测物体,其流程是非常简单明了的:

1、将图像resize到448 * 448作为神经网络的输入

2、运行神经网络,得到一些bounding box坐标、box中包含物体的置信度和class probabilities

3、进行非极大值抑制,筛选Boxes

问题:怎么产生box的?(带着问题去阅读)

Unified Detection(统一检测)

l 将输入图片划分成 S*S 的网格。如果目标的中心落入到网格内(我怎么知道目标的中心是否在网格内,注意是有监督的训练,给出的数据集会给出目标中心坐标),则这个网格就负责进行这个目标的检测

l 置信项反映包含目标的置信度和预测位置的准确度,相应的公式为  confidence = Pr(Object) * IOU

l 每个grid cell同时预测B个bounding box的位置和一个置信度。(这里的B个怎么理解:猜测意思就是每一个grid cell对应多个不同尺度比例的bbox

l 每个bounding box要预测(x,y, w, h)和confidence共5个值,每个网格还要预测一个类别信息,记为C类。

(x,y)表示框的中心相对于网格单元的边界的尺度;

(w,h)预测框相对于整个图像。

没有目标,则confidence就是零;有目标,confidence就是预测框与ground truth的IOU。

则SxS个网格,每个网格要预测B个bounding box还要预测C个categories。输出就是S x S x (5*B+C)的一个tensor。

上面这个公式表明了在box内类别出现的可能性和预测框匹配目标的好坏程度。

注意:class信息是针对每个网格的,confidence信息是针对每个bounding box的。

l 得到每个box的class-specificconfidence score以后,设置阈值,滤掉得分低的boxes,对保留的boxes进行NMS处理,就得到最终的检测结果。

根据图片描述整个算法过程

1.      输入一张图片,首先划分成 7*7 的网格grid cell。(接下来是每一个网格提取feature map,以便进行分类预测)

2.      将整张图片送进CNN网络,原图尺寸为448*448*3,经过CNN后变成了7*7*1024;

原来在原图上的一个grid cell, 大小是7*7*3(RGB图像,3通道),经过CNN后变成了 1*1*1024(也就是说原图上的一个7*7小格,对应的feature map 上 的一个像素点)

3. 最终448*448*3的图像,输出7*7*30的向量,30个通道的意思是(2*5+ 20)(20个通道,不同的通道提取出不同的信息,以便后面的处理)

20:使用Pascal VOC20数据集,分类种类数是20

2 :每一个grid cell对应两种不同尺度的bbox

5 :  bbox的5中信息,中心坐标x,y,宽和高w,h,置信度评分confidence

已知输入和输出,如何设计中间的卷积层?

2. Loss function

目标检测算法—YOLO-V1的更多相关文章

  1. 目标检测算法YOLO算法介绍

    YOLO算法(You Only Look Once) 比如你输入图像是100x100,然后在图像上放一个网络,为了方便讲述,此处使用3x3网格,实际实现时会用更精细的网格(如19x19).基本思想是, ...

  2. 目标检测:YOLO(v1 to v3)——学习笔记

    前段时间看了YOLO的论文,打算用YOLO模型做一个迁移学习,看看能不能用于项目中去.但在实践过程中感觉到对于YOLO的一些细节和技巧还是没有很好的理解,现学习其他人的博客总结(所有参考连接都附于最后 ...

  3. 目标检测之YOLO V1

    前面介绍的R-CNN系的目标检测采用的思路是:首先在图像上提取一系列的候选区域,然后将候选区域输入到网络中修正候选区域的边框以定位目标,对候选区域进行分类以识别.虽然,在Faster R-CNN中利用 ...

  4. 第三十五节,目标检测之YOLO算法详解

    Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time object de ...

  5. 目标检测算法的总结(R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD、FNP、ALEXnet、RetianNet、VGG Net-16)

    目标检测解决的是计算机视觉任务的基本问题:即What objects are where?图像中有什么目标,在哪里?这意味着,我们不仅要用算法判断图片中是不是要检测的目标, 还要在图片中标记出它的位置 ...

  6. CNN之yolo目标检测算法笔记

    本文并不是详细介绍yolo工作原理以及改进发展的文章,只用做作者本人回想与提纲. 1.yolo是什么 输入一张图片,输出图片中检测到的目标和位置(目标的边框) yolo名字含义:you only lo ...

  7. (六)目标检测算法之YOLO

    系列文章链接: (一)目标检测概述 https://www.cnblogs.com/kongweisi/p/10894415.html (二)目标检测算法之R-CNN https://www.cnbl ...

  8. 第三十六节,目标检测之yolo源码解析

    在一个月前,我就已经介绍了yolo目标检测的原理,后来也把tensorflow实现代码仔细看了一遍.但是由于这个暑假事情比较大,就一直搁浅了下来,趁今天有时间,就把源码解析一下.关于yolo目标检测的 ...

  9. 深度学习与CV教程(13) | 目标检测 (SSD,YOLO系列)

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  10. 目标检测之YOLO V2 V3

    YOLO V2 YOLO V2是在YOLO的基础上,融合了其他一些网络结构的特性(比如:Faster R-CNN的Anchor,GooLeNet的\(1\times1\)卷积核等),进行的升级.其目的 ...

随机推荐

  1. 第八章 连词(Les conjonction )

    ★并列连词(La conjonction de coordination ) ()表示联合关系的并列连词 .et连接肯定的内容.如:    ➞Il conduit vite et bien.      ...

  2. gj8 元类编程

    8.1 property动态属性 from datetime import date, datetime class User: def __init__(self, name, birthday): ...

  3. Python网络编程总结

    ----learn from luffycity---- 1. 什么是C/S架构? C指的是client(客户端软件),S指的是Server(服务端软件),C/S架构就是基于网络实现客户端与服务端通信 ...

  4. S4 exercise -- 模块

    写一个用户登录验证程序,文件如下1234.json {"expire_date": "2021-01-01", "id": 1234, &q ...

  5. java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java he

    tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:) 最简单的解决办法: 在ecl ...

  6. js限制上传图片类型和大小

    <script type="text/javascript"> function checkFile(brandLogo){ var file=brandLogo.va ...

  7. 7.计算N元等式[穷举]

    穷举的一种应用,计算x+2y+3z=50的非负整数解.先约束每个变量的最大值,x=50,y=25,z=50/3. #include <iostream> using namespace s ...

  8. (线段树) Count the Colors --ZOJ --1610

    链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82832#problem/F http://acm.zju.edu.cn/onli ...

  9. HDU1349 Minimum Inversion Number 2016-09-15 13:04 75人阅读 评论(0) 收藏

    B - Minimum Inversion Number Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d &a ...

  10. hdu 5014 异或序列

    http://acm.hdu.edu.cn/showproblem.php?pid=5014 从最大的一个数开始找能配对使他们的异或值最大的一个数 最后输出 #include <cstdio&g ...