精华内容
下载资源
问答
  • Yolo v3英文原文

    2018-07-13 11:57:17
    计算机视觉中目标检测的最新算法Yolo v3,相较于Yolo,Yolo v2 有了大幅度提升。
  • yolo相关论文,中英文都含有,写论文时总结用到的。国内国外的,有应用的,有原理的。yolo原文系列都有
  • YOLO阅读笔记

    2017-11-26 08:22:41
    YOLO的有点(摘自YOLO原文): 1、YOLO检测框架速度非常快,Tian X可以达到45帧/s, 2、比起其他实时检测框架具有更高的精度 3、背景检测错误低 4、对艺术图像依然有很好的检测效果 缺点: 检测精度比低于当前最好的...

    YOLO的有点(摘自YOLO原文):

    1、YOLO检测框架速度非常快,Tian X可以达到45帧/s,

    2、比起其他实时检测框架具有更高的精度

    3、背景检测错误低

    4、对艺术图像依然有很好的检测效果

    缺点:

    检测精度比低于当前最好的检测框架


    统一检测:

    1、将图像分成S*S的网格,物体中心落在某一个网格中,则该网格负责预测该物体

    2、每一个网格对预测B个边框和置信度,若网格中没有目标则置信度输出为0

    3、每个边框包括5个预测值:x,y,w,h和confidence. 其中x,y表示相对于网格的边框中心,w,h是归一化后的边框长和宽,confidence是置信度

    4、每个网格单元还需要预测C个类别信息的概率,表示一个网格单元包含目标的概率

    5、文中设定每个网格预测B个边框,讲网格划分为7*7的大小,VOC数据集上有20个类别,因此每个网格单元需要预测20个类别概率


    网络设计

    1、卷积层负责提取图像特征,全连接层负责预测输出的概率和坐标

    2、网络由24个卷积层和2个全连接层组成,网络结构如下图所示:



    训练网络

    1、使用ImageNet一千类的数据对网络进行了与训练,网络输入为448*448

    2、网络最后一层负责预测类别概率和边框的坐标,边框的宽和高通过使用了输入图像宽和高进行了归一化处理。(x,y)是归一化后网格位置的偏移

    3、网络最后一层使用了现行激活函数,其他层使用的系数为0.1的liaky ReLU激活函数

    4、使用平方误差对网络进行优化,因为平方误差容易优化,但是平方误差存在的问题是:8维的信息坐标和20为的类别概率被认为是同等重要,这并不是理想的处理方式。并且网格中可不能不包含目标,这将导致置信度为零,在训练初期可能导致网络发散。因此通过设置两个参数来纠正这个问题,增加8维的信息坐标的权重

    5、每个网格负责预测B个bounding boxes,而在训练的过程中,只需要IOU最大的那个预测

    6、损失函数如下图所示:



    YOLO 的缺点:

    1、如果两个物体落在同一个网格单元,YOLO模型只能预测出一个目标结果

    2、对训练集中不包含的长宽比检测效果比较差



    展开全文
  • yolo,yolov2和yolov3的论文原文,属于单阶段目标检测的代表性作品,对检测速度有很大提升,可以细细读一读
  • YoLo

    2018-04-17 21:07:29
    论文原文: You Only Look Once: Unified, Real-Time Object Detection yolo的过程非常简单。就是每次输入一整张的图片,文中作者选择resize到了448×448448×448448\times 448。然后输出是147014701470维的向量。...

    论文原文: You Only Look Once: Unified, Real-Time Object Detection

    yolo的过程非常简单。就是每次输入一整张的图片,文中作者选择resize到了448×448448×448。然后输出是14701470维的向量。其中1470=7×7×(20+2×5)1470=7×7×(20+2×5)。具体含义下文介绍。yolo的网络结构图为:
    这里写图片描述

    1. 核心思想

    Yolo将物体检测作为回归问题来进行求解。所有的过程基于1个单独的endtoendend−to−end网络。完成从原始图像的输入到物体位置和类别的输出。

    YoLo使用了24个卷积和2个全连接层。如下图:
    这里写图片描述
    其中,卷积层用来提取特征,全连接层用来预测图像位置和类别概率值。YoLo借鉴了GoogLeNet,但是未使用inception结构,而是使用1×11×1以及3×33×3的卷积层简单替代。

    2. 训练过程

    YoLo将输入图像分成S×SS×S个格子,每个格子负责检测落入该格子的物体:即如果某物体的bounding box的中心点落入该格子中,则该格子就负责检测出这个物体。如下图,图中的格子就负责预测图像中的物体狗。
    这里写图片描述

    每个格子输出B个bounding box(包含物体的矩形区域)信息,以及C个物体属于某种类别的概率信息。

    Bounding box信息包含5个数据值,分别是x,y,w,h,confidencex,y,w,h,confidence。其中x,yx,y是指当前格子预测得到的物体的bounding box的中心位置的坐标。w,hw,h是bounding box的宽度和高度。注意:实际训练过程中,wwhh的值使用图像的宽度和高度进行归一化到[0,1][0,1]区间内;xyx,y是bounding box中心位置相对于当前格子位置的偏移值,并且被归一化到[0,1][0,1]

    confidenceconfidence反映当前bounding box是否包含物体以及物体位置的准确性,计算方式如下:

    confidence=Pr(Object)×IOUtruthpredconfidence=Pr(Object)×IOUpredtruth

    若bounding box包含物体,则Pr(Object)=1Pr(Object)=1,否则为00

    因此,YOLO网络最终的全连接层的输出维度是SS(B5+C)S∗S∗(B∗5+C)。YOLO论文中,作者训练采用的输入图像分辨率是448x448S=7B=2448x448,S=7,B=2;采用VOC 20类标注物体作为训练数据,C=20C=20。因此输出向量为77(20+25)=14707∗7∗(20+2∗5)=1470维。作者开源出的YOLO代码中,全连接层输出特征向量各维度对应内容如下:
    这里写图片描述

    由于输出层为全连接层,因此在检测时,YOLO训练模型只支持与训练图像相同的输入分辨率。

    虽然每个格子可以预测B个bounding box,但是最终只选择只选择IOU最高的bounding box作为物体检测输出,即每个格子最多只预测出一个物体。当物体占画面比例较小,如图像中包含畜群或鸟群时,每个格子包含多个物体,但却只能检测出其中一个。这是YOLO方法的一个缺陷。

    2.1 YOLO训练

    YOLO模型训练分为两步:

    1. 预训练。使用ImageNet
      1000类数据训练YOLO网络的前20个卷积层+1个average池化层+1个全连接层。训练图像分辨率resize到224x224。

    2. 用步骤1)得到的前20个卷积层网络参数来初始化YOLO模型前20个卷积层的网络参数,然后用VOC 20类标注数据进行YOLO模型训练。为提高图像精度,在训练检测模型时,将输入图像分辨率resize到448x448。

    3. 损失函数

    YOLO使用均方和误差作为lossloss函数来优化模型参数,即网络输出的SS(B5+C)S∗S∗(B∗5+C)维向量与真实图像的对应SS(B5+C)S∗S∗(B∗5+C)维向量的均方和误差。如下式所示。其中,coordErroriouErrorcoordError、iouErrorclassErrorclassError分别代表预测数据与标定数据之间的坐标误差、IOU误差和分类误差。
    这里写图片描述
    YOLO对上式loss的计算进行了如下修正。

    • 位置相关误差(坐标、IOU)与分类误差对网络loss的贡献值是不同的,因此YOLO在计算loss时,使用\lambda _{coord} =5修正coordError。

    • 在计算IOU误差时,包含物体的格子与不包含物体的格子,二者的IOU误差对网络loss的贡献值是不同的。若采用相同的权值,那么不包含物体的格子的confidence值近似为0,变相放大了包含物体的格子的confidence误差在计算网络参数梯度时的影响。为解决这个问题,YOLO 使用λnoobj=0.5λnoobj=0.5修正iouErroriouError。(注此处的‘包含’是指存在一个物体,它的中心坐标落入到格子内)。

    • 对于相等的误差值,大物体误差对检测的影响应小于小物体误差对检测的影响。这是因为,相同的位置偏差占大物体的比例远小于同等偏差占小物体的比例。YOLO将物体大小的信息项(w和h)进行求平方根来改进这个问题。(注:这个方法并不能完全解决这个问题)。

    综上,YOLO在训练过程中Loss计算如下式所示:
    这里写图片描述
    其中,x,y,w,C,px,y,w,C,p为网络预测值,x^,y^,w^,C^,p^x^,y^,w^,C^,p^帽 为标注值。ΠobjiΠiobj表示物体落入格子i中,ΠobjijΠijobjΠnoobjijΠijnoobj分别表示物体落入与未落入格子ii的第jj个bounding box内。

    YOLO方法模型训练依赖于物体识别标注数据,因此,对于非常规的物体形状或比例,YOLO的检测效果并不理想。

    YOLO采用了多个下采样层,网络学到的物体特征并不精细,因此也会影响检测效果。

    YOLO loss函数中,大物体IOU误差和小物体IOU误差对网络训练中loss贡献值接近(虽然采用求平方根方式,但没有根本解决问题)。因此,对于小物体,小的IOU误差也会对网络优化过程造成很大的影响,从而降低了物体检测的定位准确性。

    4. 优缺点

    优点:

    • 快。YOLO将物体检测作为回归问题进行求解,整个检测网络pipeline简单。在titan x GPU上,在保证检测准确率的前提下(63.4% mAP,VOC 2007 test set),可以达到45fps的检测速度。

    • 背景误检率低。YOLO在训练和推理过程中能‘看到’整张图像的整体信息,而基于region proposal的物体检测方法(如rcnn/fast rcnn),在检测过程中,只‘看到’候选框内的局部图像信息。因此,若当图像背景(非物体)中的部分数据被包含在候选框中送入检测网络进行检测时,容易被误检测成物体。测试证明,YOLO对于背景图像的误检率低于fast rcnn误检率的一半。

    • 通用性强。YOLO对于艺术类作品中的物体检测同样适用。它对非自然图像物体的检测率远远高于DPM和RCNN系列检测方法。

    缺点:

    • 识别物体位置精准性差。
    • 召回率低。
    展开全文
  • YOLO

    2018-07-31 08:23:56
    原文地址:

    原文地址:

    展开全文
  • 1. YOLO原文:You Only Look Once: Unified, Real-Time Object DetectionYOLO的思路是将目标检测问题直接看做是分类回归问题,将图片划分为S×S的格子区域,每个格子区域可能包含有物体,以格子为单位进行物体的分类...

    1. YOLO

    原文:You Only Look Once: Unified, Real-Time Object Detection

    YOLO的思路是将目标检测问题直接看做是分类回归问题,将图片划分为S×S的格子区域,每个格子区域可能包含有物体,以格子为单位进行物体的分类,同时预测出一组目标框的参数。

    ff0533ca8fe18a72c956e025707f30fc.png

    检测过程

    YOLO相当于将图片划分成

    的格子区域,为每一个格子预测出
    个目标框和
    个类别的置信度。

    每个目标框包括5个参数:

    (置信度)。

    代表目标框相对于格子
    左上角坐标的偏移程度,具体公式为:

    • 表示格子左上角坐标,
      表示整张图的宽高,
      表示计算得到的预测框的中心坐标。
    • 整理得到
      ,即当
      时,预测框的中心坐标落在格子内部。
    • 如写成
      ,则可以得到一些博客中写的形式:
      ,使用格子的行列(
      )直接替换坐标。

    直接表示相对于整张图的比例,计算为
    ,范围为0~1。

    58bcc173a19e7e730be5bbf7916d602b.png
    • 此处格子左上角坐标为(149,149),预测框中心坐标为(220,190)。

    目标框置信度的定义为

    ,即当格子里不包含物体时,置信度为0;当包含物体时,置信度反映了IoU的大小。

    由于YOLO只以格子为单位进行分类,每个目标框属于每一类的置信度由对应格子的分类概率和目标框的置信度相乘得到,即

    因此,网络的整体输出为一个张量,大小为

    。实现过程中
    ,最终大小为

    最后,同样预测对得到的目标框使用NMS,抑制掉多余的目标框。

    网络结构

    da575418870ea77df17b129c2da25859.png

    YOLO的网络结构较为简洁,只使用了

    的卷积层,结合
    的瓶颈层。网络共用24个卷积层和2个全连接层。网络有分辨率减半通道数翻倍的设计。

    训练过程

    YOLO的loss function简单地采用了平方损失,定义为:

    fb3d5ff8683ab827601a638e16a37069.png

    前两行为目标框回归的损失;第三四行分别计算物体和背景部分目标框的置信度损失;第五行计算包含物体格子的分类损失。

    • 表示第i个格子包含物体时值为1,否则为0;在
      个预测框中,当第j个与预测框和ground truth有最大的IoU时,
      值为1,否则为0,即回归损失是微调性质。
    • 为了使得目标框的偏移对 较大目标框 的的影响低于 小的目标框,对于
      进行了开平方根操作。
    • 为超参,用来权重协调,论文中使用
      ,增大回归损失的比例,减少对背景置信度损失的计算。

    实验部分

    YOLO出色的地方就是有着极高的检测速度(45fps),同时又能达到较好的mAP(63.4%)。

    由于按照空间划分格子,对于较小物体的检测受限制。

    Fast R-CNN和YOLO的错误分析:

    7e03fc5a290b156739324399da4f40fa.png
    错误类型:
    • Correct: correct class and IOU > .5
    • Localization: correct class, .1 < IOU < .5
    • Similar: class is similar, IOU > .1
    • Other: class is wrong, IOU > .1
    • Background: IOU < .1 for any object

    和Fast R-CNN相比反映,YOLO很难准确定位目标,但是对背景识别能力较强一些。

    文中尝试将两者结合,达到了较高的mAP,弥补了彼此的缺陷,没有明显增加计算负担,但是损失了YOLO检测速度。


    2. YOLOv2

    原文:YOLO9000: Better, Faster, Stronger

    YOLOv2在原有的基础上,使用了anchor,提出了一系列的改进,同时使用了一种新的网络结构,在保持实时速度的前提下,提高了性能(76.8 mAP,67fps)。

    并进一步通过联合训练,使用很多只包含标签信息的数据集,训练扩充分类的能力,得到了可以分类9000类物体的YOLO9000,可以说是很大的跨越。

    改进

    k-means clusters

    YOLOv2使用了anchor,但并非手动选取,而是通过聚类的方式学习得到。在训练集上使用k-means算法,距离衡量的方式为:

    目的使得大框小框的损失同等衡量。

    聚类的结果发现,聚类中心的目标框和以前手动选取的不大一样,更多的是较高、较窄的目标框。聚类结果也有了更好的性能。

    框回归

    YOLOv2对框回归过程进行了改进,过去的框回归过程,由于对

    参数没有约束,使得回归后的目标框可以位移到任意位置,这也导致YOLO的框回归中存在不稳定性。改进的做法为引入sigmid函数,对预测的
    进行约束。

    YOLOv2在框回归时,为每一个目标框预测5个参数:

    ,调整的计算公式为:

    • 为格子的左上角坐标(行列值),
      为anchor原始的宽高。
    • 时,
      刚好位于格子的中间。
    • 用来控制宽高的缩放,
      用来表达置信度信息。

    67f80a3e7c29a5e569daa9dcc1e4472b.png

    通过使用sigmid函数,将偏移量的范围限制到

    ,使得预测框的中心坐标总位于格子内部,减少了模型的不稳定性。

    另外,YOLOv2的分类置信度不再共享,每个anchor单独预测。即每一个anchor得到

    的预测值。

    passthrough layer

    passthrough层在预测时使用,将网络中间层的特征图输出(具体见下文),将下采样时同一位置的像素分解成4个子图,concat合并起来。变换后通道数变为4倍,下采样2倍。如从512×26×26变为2048×13×13。

    passthrough层的使用,融合了较高分辨率下的特征信息。

    1ba3b63247210af771849d3ec500d718.png

    多尺度训练

    由于网络中只包含卷积层和池化层,YOLOv2为了增加网络的鲁棒性,在训练过程中动态调整网络的输入大小,同时相应地调整网络的结构以满足输入。因为网络下采样32倍,要求输入尺寸包含因数32。

    网络结构

    YOLOv2中使用了一种新的基础网络结构,基于Googlenet,名为Darknet-19。拥有19个卷积层和5个Max Pooling层,网络中使用了Batch Normalization来加快收敛。

    下图为基础网络的结构,output部分是输入为224×224的输出情况,网络总体下采样32倍。

    f7a18a5f29255922a0c0cc29606695c8.png
    Darknet-19

    最后的conv层、avgpool层和softmax层是用于分类训练时的输出结构。当进行预测时,去掉这三层,只保留箭头间的部分进行特征提取。

    用网络进行目标检测时,再添加一些conv层和一个passthrough层。具体组织如下:

    f8788b326bcc8d2d2abd006d982f4b7f.png
    • conv18即Darknet-19去掉分类输出3层后的最后一个卷积层。
    • conv19,conv20,conv21为
      的卷积层。通道数均为1024。
    • reorg即论文中提到的passthrough layer。将conv13(第5个Max Pooling层之前的conv层)进行变换,再和conv20的输出进行concat后作为conv21的输入。conv13层下采样16倍,当图片输入为3×418×418时,conv15的尺寸为512×26×26,进行reorg变换后,尺寸为2048×13×13,和conv20特征图输出的大小一致。
    • conv22为
      的卷积层,得到预测输出的张量,生成目标框。输出的通道大小为
      为每个格子预测的anchor数(论文中取5)。

    附:完整的网络结构(Netscope)

    训练过程

    主要的训练过程为:

    (1)先使用ImageNet数据集对Darknet-19进行分类训练,输入图片大小为224×224,包含标准的数据扩充方式。

    (2)将输入图片大小调整为448×448,进行fine-tune。

    (3)去掉分类的输出层,添加上文提到的目标检测输出层,进行目标检查的训练。

    YOLOv2在上述训练的基础上,又进行了一个联合训练,额外使用只包含标签信息的数据集来进行分类训练,扩大网络可以预测的物体种类数,使其变得更加强大,即YOLO9000。

    标签结构化

    (之后补充)

    Ex. 参考及部分图片来源

    1. https://deepsystems.ai/reviews
    2. https://blog.csdn.net/u011974639/article/details/78208773
    3. https://hackernoon.com/understanding-yolo-f5a74bbc7967
    展开全文
  • 本文讲的是深度学习在 iOS 上的实践 —— ...原文地址:Real-time object detection with YOLO 原文作者:Matthijs Hollemans 译文出自:掘金翻译计划 译者:Danny Lau 校对者:Dalston Xu,DeepMissea 深度...
  • 最近新出了YOLOV4,我系统...【YOLOv2原文+翻译】YOLO9000: Better, Faster, Stronger 【YOLOv3原文+翻译】YOLOv3:An Incremental Improvement 【YOLOv4原文+翻译】YOLOv4:Optimal Speed and Accuracy of Object Dete
  • YOLO V1

    2018-12-10 21:10:08
    版权声明:本文为博主原创文章,未经博主允许不得转载 论文:You Only Look Once:Unified, Real-Time Object Detection ...原文解析: 作者在开篇先说了YOLO算法的优点: 1.First, YOLO is extremely fast.YOLO...
  • YOLO V2解析

    千次阅读 多人点赞 2018-09-24 00:03:25
    YOLO V2是YOLO系列的第二版,在YOLO V1的基础上加以改进,改善了YOLO ...YOLO V2的原文提出了两个模型:YOLO V2和YOLO9000,本文主要着重YOLO V2,下面让我们一同走进YOLO V2的世界。 Outlines: YOLO V2 vs V1;...
  • YOLO9000

    千次阅读 2017-09-22 10:24:09
    原文地址:https://github.com/edificewang/DeepLearningPaper/blob/master/YOLO9000.pdf
  • yolo2

    2017-08-27 19:18:19
    出处:https://zhuanlan.zhihu.com/p/25167153分析的比较细致,直接看原文,图不完整 本文是对 YOLO9000: Better, Faster, Stronger (项目主页) 的翻译。加了个人理解和配图。内容参考了 YOLOv2 论文...
  • YOLO V3

    千次阅读 2018-04-01 18:41:14
    原文链接:点击打开链接第一部分:论文以及代码测试论文:https://pjreddie.com/media/files/papers/YOLOv3.pdf翻译:https://zhuanlan.zhihu.com/p/34945787代码:https://github.com/pjreddie/darknet训练与测试:...
  • Yolo V2理解

    2018-09-06 23:17:39
    原文:https://blog.csdn.net/u014380165/article/details/77961414 论文: YOLO9000:Better,Faster,Stronger  论文链接:https://arxiv.org/abs/1612.08242 YOLO9000是CVPR2017的最佳论文提名。首先讲一下这...
  • YOLO系列笔记

    2021-04-25 16:42:24
    原文,里面有大量的细节 读代码,对于每个网络,很多大牛都复现好了,挑选喜欢的框架,选一些作者经常更新标star比较多的,来克隆,学习。 读readme,跑通代码 进一步分析代码,先是网络搭建部分(结合原论文好...
  • 这 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
  • YOLO系列

    2019-03-29 13:16:50
    原文地址:https://blog.csdn.net/wweiainn/article/details/87934639 这几天整理了一下目标检测的模型,整理一下以便以后参考。 目前,基于深度学习算法的一系列目标检测算法大致可以分为两大流派:  1.两步...
  • yolo系列.rar

    2019-11-07 09:38:26
    yolov1,yolov2,yolov3论文原文,从yolov1开始看,对yolo系列会有更深刻的理解
  • yolo类检测算法解析——yolo v3

    千次阅读 2018-05-02 23:54:53
    原文:https://www.cnblogs.com/cvtoEyes/p/8608205.htmlyolo类检测算法解析——yolo v3每当听到有人问“如何入门计算机视觉”这个问题时,其实我内心是拒绝的,为什么呢?因为我们说的计算机视觉的发展史可谓很长了...
  • [论文笔记] YOLO9000:Better, Faster, Stronger... better是指性能提升,faster是指仍然保证高速,stronger是指检测的种类更多原文发表于CVPR 2017,原文链接:https://arxiv.org/abs/1612.08242原文项目:https://p...
  • yolo v1 学习与研究

    2018-07-03 08:52:56
    原文部分翻译 摘要 作者提出一个新的目标检测方法,yolo。先前的目标检测都是转化为分类问题来做,作者将目标检测重新使用回归,在空间上分割bounding box和类别预测概率。一个简单的神经网络预测的目标框和类别...
  • Yolo v3 详解

    千次阅读 2018-09-07 15:43:14
    原文链接:https://blog.csdn.net/u014380165/article/details/80202337#commentBox 论文:YOLOv3: An Incremental Improvement  论文地址:... YOLO系列的目标检测算法真的非常赞!这篇博客就来介绍YO...
  • YOLO9000算法详解

    千次阅读 2018-09-12 22:46:56
    原文:https://www.2cto.com/kf/201709/681474.html】 YOLO9000是CVPR2017的最佳论文提名。首先讲一下这篇文章一共介绍了YOLOv2和YOLO9000两个模型,二者略有不同。前者主要是YOLO的升级版,后者的主要检测网络也...
  • YOLO算法学习指南

    2018-04-09 09:54:58
    YOLO(you look only once)是检测PascalVOC2007/2012数据集内...(20种对象:人 动物 交通工具 静物)原文翻译:http://www.jianshu.com/p/ebce76db119b YOLO9000即YOLOv2 是新版本的YOLO,据称 mAP 和速度都提升...
  • 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...
  • 基于PaddlePaddle实现的目标检测模型PP-YOLO

    千次阅读 热门讨论 2020-08-18 08:45:57
    原文博客:Doi技术团队 链接地址:https://blog.doiduoyi.com/authors/1584446358138 初心:记录优秀的Doi技术团队学习经历 本文链接:基于PaddlePaddle实现的目标检测模型PP-YOLO PP-YOLO PP-YOLO是Paddle...
  • YOLO系列摘要

    2020-12-25 14:56:24
    YOLOV3 为什么叫 53 :因为有53个卷积,最后一个全连接层也算!...原文提到了逻辑回归,用到了二值交叉熵损失。 蓝色框代表bounding box(锚框,聚类生成) 绿色 是grond truth box 黄色 是预测框 每

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 260
精华内容 104
关键字:

yolo原文