论文源址:https://arxiv.org/abs/1506.02640

tensorflow代码:https://github.com/nilboy/tensorflow-yolo

摘要

该文提出一种新的目标检测网络,yolo,以前的目标检测问题偏向于分类,而本文将目标检测看作是带有类别分数的回归问题。yolo从整张图上预测边界框和类别分数。是单阶段网络,可以进行端到端的训练。yolo处理速度十分迅速,每秒处理45帧图片。yolo在准确率上有待提升,但很少预测出假正的样例。

介绍

yolo的结构十分简洁,如下,一个单独的卷积网络,用于预测框的边界及每个框的类别概率 。相比传统的目标检测方式,yolo有以下几点优点:(1)速度十分快,可以适用于视频流的输入。(2)yolo对图片整体进行推理预测,而不是像基于窗口滑动的区域框的方式。由于yolo在训练和测试时是对整张图片进行分析,因此可以像编码外形信息一样对类别等抽象信息进行编码。Fast R-CNN有时会将背景误分类为目标,是因为不够多的上下文信息,而YoLo可以减少一般的这种错误情形。(3)YoLo学习的是整体的表示特征,对于新的输入,YoLOh还是有效的。

准确率上,YOLO仍有待提升,虽然速度快,但对目标尤其是小目标位置的精确定位相比最好的检测方法仍存在差距。

方法

本文应用整个图片的特征预测每个边界框。可以同时预测所有类别的边界框。Yolo对整个图片和图片中的目标进行分析,YoLO的设计可以在保持较高平均准确率的基础上实时的进行预测,同时,可以进行端到端的训练。

Yolo将输入图片分为大小为SxS的格子,如果目标的中心落在了格子里,则这个格子就负责该目标的检测任务。每个网格单元预测B个边界框及对应的分数,表示该单元包含目标物体的置信度confident,同时,输出预测类别的分数。将置信度定义如下,

每个bounding box的预测5个值,(x,y,w,h)及confident,(x,y)为bounding box 的中心(相对于每个网格单元的偏移),预测出相对于整张图片的宽和高。

每个网格单元预测c个类别的条件概率,概率的计算的前提是,该网格单元包含目标物体。对于每个网格单元,不关预测出的B个bounding box,直接得到一系列类别的概率。

基于上式,可以得到每个框确定目标的confident 分数,同时,这个值也代表预测类别的准确率及预测框对目标物的符合程度。

 网络结构

模型为一个卷积网络,卷积层用于提取图像的特征,全连接层用于输出坐标和类别概率。该模型含有24层卷积层外加两层全连接层。结构如下

网络的训练

该文在ImageNet上预训练卷积网络,后增加4层卷积和两层全连接层,基于随机初始化操作。将预测框的宽和高用图片的原宽和高做归一化处理。将中心(x,y)作为单独网格单元的偏移量。本文对方差和误差进行优化处理,但由于参考了定位误差与类别误差,而许多bounding box中并未包含目标物,会使confidence变为0,从而对包含目标的检测误差的求导有影响,可能会导致收敛提前终止,进而 导致模型不稳定。

因此,本文增加了预测框损失的权重,而减少不包含目标的预测框损失的权重。在和平方误差中,大框和小框的误差权重是相同的。相比大框下的小偏差,小框的小偏差影响是较大的。因此,将预测边界框宽和高的平方根,而不是其直接得到的宽和高。

yolo对每个网格单元预测多个边界框,但训练时,只希望针对每个目标物体得到一个边界框预测器。该文将预测出的bounding box与ground truth IOU值最高的作为此目标的预测器。本文优化的损失函数如下:

注意:只惩罚存在目标的网格单元的类别损失和对应负责检测目标边界框预测器的框损失函数,原文如下。

为防止过拟合,本文采用dropout和数据增强操作。

 yolo的限制因素

yolo对增强了预测框的空间限制,因为,每个网格单元只能预测两个边界框,及一个类别,因此,yolo对相邻目标的检测有点难度,像鸟群等小目标的检测。yolo直接从数据中学习并预测边界框,对非正常宽高比的物体检测效果不是很好,yolo网络中包含很多下采样层,对特征的学习不是很精细,对检测结果造成一定影响。对于损失函数,大物体与小物体的IOU对损失的贡献度相差不大,对于小物体,很小的IOU也会对网络造成很大影响,影响检测的结果。

实验

参考

[1] M. B. Blaschko and C. H. Lampert. Learning to localize objects with structured output regression. In Computer Vision– ECCV 2008, pages 2–15. Springer, 2008. 4

[2] L. Bourdev and J. Malik. Poselets: Body part detectors trained using 3d human pose annotations. In International Conference on Computer Vision (ICCV), 2009. 8

[3] H. Cai, Q. Wu, T. Corradi, and P. Hall. The crossdepiction problem: Computer vision algorithms for recognising objects in artwork and in photographs. arXiv preprint arXiv:1505.00110, 2015. 7

转载于:https://www.cnblogs.com/fourmi/p/10100289.html

论文阅读笔记二十八:You Only Look Once: Unified,Real-Time Object Detection(YOLO v1 CVPR2015)...相关推荐

  1. 【论文阅读笔记】MFRDet:A single-shot multi-level feature reused neural network for object detection

    论文名:A single-shot multi-level feature reused neural network for object detection 引用:Wei L, Cui W, Hu ...

  2. 论文阅读笔记: (2022.05, icra) Traffic Context Aware Data Augmentation for Rare Object Detection in Autonom

    这篇文章是nullmax发到icra上的, 主要讲了用domain迁移的方法制作稀有场景的数据集,数据已经开源:ROD - Nullmax Rare Object Dataset 一.目的,主要贡献 ...

  3. 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言

    嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...

  4. 深度学习论文阅读目标检测篇(三):Faster R-CNN《 Towards Real-Time Object Detection with Region Proposal Networks》

    深度学习论文阅读目标检测篇(三):Faster R-CNN< Towards Real-Time Object Detection with Region Proposal Networks&g ...

  5. Mr.J-- jQuery学习笔记(二十八)--DOM操作方法(添加方法总结)

    Table of Contents appendTo appendTo(source, target) 源代码 append prependTo ​ ​ ​ ​ prependTo源码 prepend ...

  6. 论文阅读笔记五十四:Gradient Harmonized Single-stage Detector(CVPR2019)

    论文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection 摘要 尽管单阶段的检测 ...

  7. 论文阅读笔记五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)

    论文原址:https://arxiv.org/pdf/1808.01244.pdf github:https://github.com/princeton-vl/CornerNet 摘要 本文提出了目 ...

  8. 论文精度笔记(五):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》

    作者单位:港大, 同济大学, 字节AI Lab, UC伯克利 文章目录 论文以及源码获取 论文题目 参考文献 1. 研究背景 2. 贡献 3. 相关工作 3.1 DSConv 3.2 MBConv 3 ...

  9. C#(Csharp)笔记二十八——C# 文件的输入与输出

    一丶C# 文件的输入与输出 一个 文件 是一个存储在磁盘中带有指定名称和目录路径的数据集合.当打开文件进行读写时,它变成一个 流. 从根本上说,流是通过通信路径传递的字节序列.有两个主要的流:输入流 ...

最新文章

  1. ValueError: Input contains NaN, infinity or a value too large for dtype(‘float64‘).
  2. 4句话让你明白什么是AI
  3. 2018.12.28-bzoj-2006-[NOI2010]超级钢琴
  4. 页面布局 HTML 4.0 Transitional” VS XHTML 1.0 Transitional 新的不一定就好用!
  5. 直播预告|中台基石腾讯云TStack的正确使用姿势
  6. ASP.NET Core依赖注入解读使用Autofac替代实现
  7. 阿里巴巴开发公约节选(日常编程较常用的一些)
  8. 设计模式之二装饰者模式
  9. 零日攻击的原理与防范方法
  10. oracle常用的字符串函数,Oracle的常用字符函数实验展示
  11. tomcat启动报错:Address already in use: JVM_Bind
  12. VN2VN——中小企业的网络融合之道
  13. 8254跑马灯c语言程序,C语言笔记-基于C语言实现的流水跑马灯
  14. 筛选法求素数-c++
  15. 因子分析法之因子旋转
  16. 根据日期算星座 mysql,Hive 通过日期计算星座实例
  17. 小米手机google play下载应用一直显示等待中的解决办法
  18. birthday日期类型转化
  19. Win10隐藏状态栏图标的方法
  20. Android 原生和 JS 交互实践

热门文章

  1. 解析json数组——TypeToken
  2. 开发smartphone应用,无法生成cab文件?
  3. DLLHijack漏洞原理
  4. 自学Java第一周的总结
  5. skyline TerraBuilder(TB)处理不规则范围影像,去除空值,填充高程等(转载)
  6. C# Winfrom DataGridView DataSource绑定数据源后--解决排序问题
  7. Jmeter+Ant+Jenkins集成抛出异常java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
  8. 通过路由器的IP映射来解决,两个不同IP地址的PC机之间的从LAN口到WAN口的单向通讯问题
  9. darknet集成遇到的问题以及解决方法
  10. 推荐系统整体架构及算法流程详解