阅读论文--yolov1

Abstract

1.将目标检测当做回归问题,去预测空间分离的边界框和相关类别概率。
2.单个神经网络从整个图片中一次性预测边界框和类别概率,可以端到端的进行优化

1.Introduction

特点
1.速度很快,因为目标检测当做回归问题,所以不需要复杂的管线。
45 frames per second with no batch processing on a Titan XGPU
2.YOLO在进行预测时,会对图像进行全局推理。在训练和测试时,YOLO会隐含地编码了关于类的上下文信息和外观,降低了背景误检的数量。
3.YOLO学习目标的泛化表示,具有高度泛化能力。
4.精度高。

2. Unified Detection

我们的网络使用来自整个图像的特征来预测每个边界框,对于一张图像,网络还同时预测所有类的所有边界框,这也就意味着我们的网络全面的预测整个图像和图像中的所有的类。
基本步骤
1.将输入的图片分成S×S个网格,如果某个目标的中心落入了其中一个网格,那么这个网格负责检测这个物体
2.每个网格预测B个bounding boxes ,每个box都有confidence scores,其中

confidence = Pr(Object)∗IOU t r u t h p r e d _{truth}^{pred} truthpred

如果该单元格中不存在目标,则置信度分数应为零。
3.每个边界框包含5个预测:x,y,w,h和置信度。每个网格单元还预测C个条件类别概率Pr(Class i _i i|Object)。这些概率以包含目标的网格单元为条件。每个网格单元我们只预测的一组类别概率,而不管边界框的的数量B是多少。

每个box的类别置信度:
在这里插入图片描述
The Model.Our system models detection as a regres-sion problem. It divides the image into anS×Sgrid and for eachgrid cell predictsBbounding boxes, confidence for those boxes,andCclass  probabilities.   These  predictions  are  encoded  as  anS×S×(B∗5 +C)tensor.
Our system models detection as a regression problem. It divides the image into an S×S grid and for each grid cell predicts B bounding boxes, confidence for those boxes,and C class probabilities. These predictions are encoded as an S×S×(B∗5 +C)tensor.(5=w,h,x,y,confidence)

2.1. Network Design

Figure 3:The Architecture
24 convolutional layers + 2 full connected layers
网络的初始卷积层提取图像特征,全连接层预测输出值的可能性和坐标。使用交替的1×1卷积层减少了先前层的特征空间.

Training

在训练与推理中均使用Darknet框架。
1.预训练使用上图中前20个卷积层+1个均值池化层+1全连接层,转换模型进行检测。
2.Ren表明增加卷积层和全连接层可以提高性能,我们添加了四个卷积层和两个全连接层,并且具有随机初始化的权重;
3.检测通常需要细粒度的视觉信息,因此我们将网络的输入分辨率从224×224变为448×448。
4.正则化w,h使其在0到1之间,将(x,y)参数化为特定网格单元位置的偏移量,所以它们边界也在0和1之间。
5.对最后一层使用线性激活函数,所有其它层使用下面的漏泄修正线性激活:
在这里插入图片描述
6.使用优化了的平方和误差。(分类误差与定位误差的权重是一样的,这可能并不理想。)所以增加了边界框坐标预测损失,并减少了不包含目标边界框的置信度预测损失。我们使用两个参数λcoord和λnoobj来完成这个工作。我们设置λcoord=5和λnoobj=.5。
7.同一长度偏移在小的bounding box上的误差应该比在大的box上更严重,所以我们直接预测边界框宽度和高度的平方根,而不是宽度和高度。
8.在训练时,每个目标我们只需要一个边界框预测器来负责,根据最高IOU来选择。边界框预测器之间的专业化。每个预测器可以更好地预测特定大小,方向角,或目标的类别,从而改善整体召回率。(??这个地方有点疑惑,应该是一个cell只用一个边界框来预测全部属性吧。)
loss function
坐标误差+IOU误差+类别误差
IOU误差:分成grid cell包含与不包含object两种情况
在这里插入图片描述
表示目标出现在第 i 个网格 (出现则为1)
表示第 i 个网格的第 j 个 边框预测器负责这个目标的预测。

C i C_i Ci= Pr(Object)∗IOU t r u t h p r e d _{truth}^{pred} truthpred( C i C_i Ci的真实值在noobj为0,在obj为1)

  • 如果网格中含有物体,损失函数只需考虑分类损失;
  • 如果这个预测器负责预测真实边界框,损失函数只考虑预测坐标损失。

**learning rate:**在第一个epoch中我们将learning rate慢慢的从0.001提高到0.01,如果我们从较高的学习率开始训练,由于不稳定的梯度会导致网络发散。我们以0.01训练75个epoch,再以0.001训练30个epoch,以0.0001训练30个epoch。
使用dropout和数据增强防止过拟合

2.3. Inference

一些比较大的物体或者是在跨越多个网格边界的物体,可以被多个网格都很好的检测出来(即一个物体被多次检测出来造成多重检测问题)。可以使用NMS(非极大值抑制)来解决这种多重检测的问题。

2.4. Limitations of YOLO

1.每个网格单元只预测两个框,并且只能有一个类。这种空间约束限制了模型能预测网格附近物体的数量。我们的模型在预测图像中出现的成群的小物体(比如鸟群)有些困难。
2.由于我们的模型从数据中学习如何预测边界框,因此它遇到新的数据或数据不寻常的高宽比或配置时将较难适应。因为我们的模型在输入图像中有多个下采样层,所以我们的模型是使用相对粗糙的特征来预测边界框。
3.最后,我们在训练一个损失函数不断提高检测性能时,我们将小边框和大边框的损失同等对待(???疑惑,上面不是说的为了解决这个问题使用了平方根吗)。一个较小损失值对较大的边界框来说影响较小,但是对较小的边界框则意味着会极大地影响IOU。我们的误差主要来自检测定位误差。

3. Comparison to Other Detection Systems

DPM使用滑动窗口方法进行目标检测,使用分离的管线去提取静态特征、分类区域、预测高分数的边界框。而YOLO使用单一神经网路代替了这些分离的部分,并且网路不是静态的,而是在线训练和优化的。
RCNN使用region proposals 代替了滑动窗口法,使用Selective Search 生成2000个候选框,一个卷积层提取特征,用SVM对候选框打分,使用线性模型调整边界框,然后用极大值抑制消除重复的检测框,这个复杂管线中的每一部都需要独立地进行精确调整,所以很慢;YOLO与其有很多相似的地方,但是yolo在边界框预测中强制实现空间多样性,并且每个网格只生成两个边界框(我的理解是因为采用了目标落在哪个网格,就由哪个网格负责预测,并且一个网格只有两个边界框),极大的提高了速度。
Other Fast Detectors实时性没有YOLO好。
MultiBox不能执行通用检测,因为它只是复杂管线中的一部分,还需要进一步的图像分类。YOLO和MultiBox都使用卷积网络来预测图像中的边界框,但YOLO是一个完整的检测系统。
OverFeat训练卷积神经网络以执行定位并使该定位器适于执行检测,像DPM一样,定位器在进行预测时仅看到本地信息,它依旧是一个分离的系统。OverFeat不能推测全局上下文信息,因此需要大量的后处理来产生相关的检测。
MultiGrasp 我们的网格预测边界框的方式是基于MultiGrasp为抓取检测的设计。但是抓取检测比物体检测要简单得多。MultiGrasp只需要从包含一个物体的图像中预测单个可抓取区域即可,它不必估计物体的大小,位置或边界或预测它的类,只需要找到适合抓取的区域。YOLO预测图像中多个类的多个对象的边界框和类概率。

4. Experiments

4.1. Comparison to Other Real-Time Systems

Table 1:Real-Time Systems on PASCALVOC 2007.

4.2. VOC 2007 Error Analysis

  • 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
    Figure  4:Error  Analysis:   Fast  R-CNN  vs.   YOLO

4.3. Combining Fast R-CNN and YOLO

相比与Fast R-CNN,YOLO的背景误报错误要少很多。通过使用YOLO去减小Fast R-CNN 的背景检测错误,我们得到了很大的性能提升。
在这里插入图片描述

4.4. VOC 2012 Results

在这里插入图片描述

4.5. Generalizability: Person Detection in Artwork

像DPM一样,YOLO对目标大小和形状、目标之间的关系以及目标通常出现的位置进行建模。艺术作品和自然图像在像素水平上有很大的不同,但它们在目标的大小和形状方面是相似的,因此YOLO仍然可以预测良好的边界框和检测。

5.Real-Time Detection In The Wild

我们将YOLO连接到网络摄像头,并验证它是否保持实时性能,计算时间时包括从摄像头获取图像并显示检测结果的时间。由此生成的系统是交互式的。

6. Conclusion

与基于分类器的方法不同,YOLO 是针对与检测性能直接相关的损失函数来训练的,并且模型是作为一个整体训练的。
Fast YOLO 是目前文献中最快的通用目标检测系统,YOLO引领目前最先进的实时物体检测技术。YOLO还可以很好的迁移到新的领域,这使它成为需要快速高效的物体检测系统的应用的理想选择。

Partial words

Top-1 Accuracy是指排名第一的类别与实际结果相符的准确率,而Top-5 Accuracy是指排名前五的类别包含实际结果的准确率。

downsampling layers:是降低数据采样率或分辨率的过程,生成缩略图。(pooling 层其实就是降采样层)

pipeline:指某个项目或者框架里面需要用到流水线的设计来简化设计,降低复杂度并提高性能。是一种设计方法,是我们将现实中的社会分工借鉴并运用到计算机编程的例子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值