为什么会叫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. 使用reactjs做一个CRUD功能

    第一步:引入reactjs所依赖的js文件,本案例使用的是bootstrap前端框架,所以引入了相应的js和css文件 第二步:body里面添加两个div 第三步:开始编写reactjs脚本 < ...

  2. 2018.09.28 牛客网contest/197/B面积并(二分+简单计算几何)

    传送门 比赛的时候把题目看成求面积交了,一直没调出来. 下来发现是面积并气的吐血. 码了一波发现要开long double. 然而直接用现成的三角函数会挂. 因此需要自己手写二分求角度. 大致思路就是 ...

  3. 2018.06.30 BZOJ 2342: [Shoi2011]双倍回文(manacher)

    2342: [Shoi2011]双倍回文 Time Limit: 10 Sec Memory Limit: 128 MB Description Input 输入分为两行,第一行为一个整数,表示字符串 ...

  4. HDU 1846 Brave Game (博弈水题)

    题意:中文...你们懂得. 析:这个就是一个水题博弈,就是一个巴什博弈定理,直接就没有变,如果你们看过我写的那个,这个题绝对水过. 附地址:http://www.cnblogs.com/dwtfukg ...

  5. 整理iOS9适配中出现的坑

    一.NSAppTransportSecurity iOS9让所有的HTTP默认使用了HTTPS,原来的HTTP协议传输都改成TLS1.2协议进行传输.直接造成的情况就是App发请求的时候弹出网络无法连 ...

  6. 抓包工具 - HttpWatch(功能详细介绍)

    HttpWatch是功能强大的网页数据分析工具,集成在IE工具栏,主要功能有网页摘要.cookies管理.缓存管理.消息头发送/接收,字符查询.POST数据.目录管理功能和报告输出.HttpWatch ...

  7. oracl中的大数据类型clob

    建表 create table test_name( test_id   number(6) not null, img_data clob ); 在java中该表所对应的po为: class Tes ...

  8. HDU2212 DFS 2016-07-24 13:52 56人阅读 评论(0) 收藏

    DFS Problem Description A DFS(digital factorial sum) number is found by summing the factorial of eve ...

  9. shell 文本处理——使用awk格式化时间戳

    date -d @时间戳 "+%Y-%m-%d %H:%M:%S" 也可以内置函数 awk '{print strftime("%Y-%m-%d %H:%M:%S&quo ...

  10. hdu 2189 悼念512汶川大地震遇难同胞——来生一起走

    题目 这道题用了,埃式筛选法和背包,我自己没有做出来,看了别人的代码,我也做不出来,特别是c[j]+=c[j-b[i]];弄了好久都没有弄懂. 这道题的解题思路:主要是先把150以内的所有素数找出来, ...