YOLO v2(2016.12)

news2024/11/24 19:53:00


文章目录

  • Abstract
  • Introduction
    • 当前存在的困境
    • 基于此,我们给出了方法
  • Better
    • Batch Normalization
    • High Resolution Classifier
    • Convolutional With Anchor Boxes
    • Dimension Clusters
    • Direct location prediction
    • Fine-Grained Features
    • Multi-Scale Training
    • Further Experiments
  • Faster
    • Darknet-19
    • Training for classification
    • Training for detection
  • Stronger
    • Hierarchical classification
    • Dataset combination with WordTree
    • Joint classification and detection
  • Conclusion
    • Future

论文链接
源代码

Abstract

我们推出了YOLO9000,这是一个最先进的实时物体检测系统,可以检测9000多种物体类别。首先,我们提出了对YOLO检测方法的各种改进,这些改进既新颖又借鉴了前人的工作。改进后的模型YOLOv2在PASCAL VOC和COCO等标准检测任务上是最先进的。通过一种新颖的多尺度训练方法,相同的YOLOv2模型可以在不同的尺寸上运行,在速度和准确性之间提供了一个简单的权衡。在67 FPS下,YOLOv2在VOC 2007上获得76.8 mAP。在40 FPS下,YOLOv2获得78.6 mAP,优于最先进的方法,如使用ResNet和SSD的Faster R- CNN,同时运行速度仍然快得多。最后提出了一种目标检测与分类联合训练的方法,使用该方法,我们在COCO检测数据集和ImageNet分类数据集上同时训练YOLO9000。我们的联合训练允许YOLO9000预测没有标记检测数据的对象类别的检测,我们在ImageNet检测任务上验证我们的方法,YOLO9000在ImageNet检测验证集上获得19.7 mAP,尽管只有200个类中的44个类的检测数据。在COCO之外的156个类中,YOLO9000的mAP值为16.0。但YOLO只能检测到200多个类别;它预测了9000多种不同对象类别的检测,它仍然是实时运行的

Introduction

当前存在的困境

通用目标检测应该是快速、准确的,并且能够识别各种各样的目标。自从神经网络的引入,检测框架变得越来越快速和准确。然而,大多数检测方法仍然局限于一小部分对象,与分类和标记等其他任务的数据集相比,当前的目标检测数据集是有限的
且为检测而标记图像比为分类或标记而标记要昂贵得多(标记通常是用户免费提供的),因此,在不久的将来,我们不太可能看到与分类数据集相同规模的检测数据集

基于此,我们给出了方法

我们提出了一种新的方法来利用我们已经拥有的大量分类数据,并用它来扩大当前检测系统的范围,我们的方法使用对象分类的分层视图,允许我们将不同的数据集组合在一起
我们还提出了一种联合训练算法,使我们能够在检测和分类数据上训练目标检测器,我们的方法利用标记检测图像来学习精确定位目标,同时使用分类图像来增加其词汇量和鲁棒性

使用这种方法,我们训练了一个实时目标检测器YOLO9000,它可以检测9000多种不同的目标类别

Better

相对于最先进的探测系统,YOLO存在各种缺点。YOLO与Fast R-CNN的误差分析表明,YOLO产生了大量的定位误差。此外,与基于区域生成的方法相比,YOLO的召回率相对较低。因此,我们主要关注在保持分类准确性的同时提高召回率和定位

对于YOLOv2,我们想要一个更准确,速度更快的探测器。而不是扩大我们的网络,我们简化网络,然后使表征更容易学习。我们将过去工作中的各种想法与我们自己的新概念结合起来,以提高YOLO的性能

Batch Normalization

批处理归一化导致显著的收敛性改进,同时消除了对其他形式的正则化的需要。通过在YOLO的所有卷积层上添加批处理归一化,mAP的改进幅度超过2%。批量规范化也有助于模型的规范化。通过批处理归一化,我们可以在不过度拟合的情况下从模型中去除dropout

High Resolution Classifier

对于YOLOv2,我们首先在ImageNet上以完整的448 × 448分辨率对分类网络进行10次微调,这使网络有时间调整其滤波器,以便在更高分辨率的输入上更好地工作。然后,我们在检测时微调结果网络。这种高分辨率分类网络使我们的mAP增加了近4%

Convolutional With Anchor Boxes

YOLO直接使用卷积特征提取器之上的全连接层来预测边界框的坐标Faster R-CNN中的区域生成网络(RPN)仅使用卷积层来预测anchor的偏移量和置信度,由于预测层是卷积的,RPN在特征映射的每个位置预测这些偏移量,预测偏移量而不是坐标简化了问题,使网络更容易学习
因此,我们从YOLO中移除全连接层,并使用anchor来预测边界框
使用anchor,我们得到了精度的小下降,但我们的模型可以预测超过1000个。尽管mAP降低了,但召回率的增加意味着我们的模型还有更多的改进空间

Dimension Clusters

当anchor boxes与YOLO一起使用时,我们遇到了两个问题首先box的尺寸是手工挑选的,网络可以学习适当地调整盒子,但如果我们为网络选择更好的先验,我们可以让网络更容易学习预测好的检测。我们不是手工选择先验,而是在训练集边界盒上运行k-means聚类来自动找到好的先验
如果我们使用欧氏距离的标准k-均值较大的盒子比较小的盒子产生更多的误差,然而,我们真正想要的是导致良好IOU分数的先验,这与盒子的大小无关。对于距离度量,我们使用
我们对不同的k值运行k-means,并绘制最接近质心的平均IOU,见图2
(我们在边界盒的维度上运行k-means聚类,为我们的模型获得良好的先验。左图显示了我们在k的各种选择下得到的平均IOU。我们发现k =5在召回率和模型复杂性之间给出了一个很好的权衡。右图显示了VOC和COCO的相对质心。两组先验都倾向于更薄,更高的盒子,而COCO在尺寸上的变化比VOC更大)
我们选择k =5作为模型复杂性和高召回率之间的一个很好的权衡。聚类质心与精挑细选的锚盒明显不同。短而宽的盒子越来越少,而高而薄的盒子越来越多
我们将平均IOU与我们的聚类策略和表1中精心挑选的anchor boxes的最接近先验进行比较。5个质心的表现与9个anchor boxes相似,平均IOU为61.0,而anchor boxes为60.9。如果我们使用9个质心,我们会看到一个更高的平均IOU。这表明,使用k-means来生成边界框可以更好地表示模型,并使任务更容易学习
(使用不同的生成方法,对VOC 2007上的对象的平均IOU进行了最接近,未修改的先验。聚类产生的结果比使用手工挑选的先验要好得多

Direct location prediction

在YOLO中使用anchor boxes时,我们遇到了第二个问题:模型不稳定,特别是在早期迭代期间。大多数不稳定性来自于对盒子(x, y)位置的预测。在区域生成网络RPN中,网络预测值tx和ty, (x, y)中心坐标计算为:
例如,对tx =1的预测将使框向右移动锚框的宽度,对tx = -1的预测将使其向左移动相同的宽度
这个公式是不受约束的,所以任何anchor boxes都可以在图像中的任何一点结束,而不管锚框预测的位置是什么。在随机初始化的情况下,模型需要较长的稳定时间才能预测出合理的偏移量
我们遵循YOLO的方法,并预测相对于网格单元的位置的位置坐标,而不是预测偏移。这将基本真值限定在0和1之间。我们使用逻辑激活来约束网络的预测落在这个范围内,该网络在输出特征图的每个单元上预测5个边界框。网络为每个边界框预测5个坐标,tx, ty, tw, th和to。如果单元格与图像左上角的偏移量为(cx,cy),并且先前的边界框的宽度和高度为pw, ph,则预测对应于:
由于我们约束了位置预测,因此参数化更容易学习,使网络更稳定

Fine-Grained Features

这种改进的YOLO在13 × 13的特征映射上预测检测。我们采用一种不同的方法,简单地添加一个passthrough直通层,以26 × 26的分辨率从先前的层中获得特征。passthrough层通过将附加特征叠加到不同的通道中而不是空间位置,将高分辨率特征与低分辨率特征连接起来,类似于ResNet中的身份映射,这将26 × 26 × 512的特征图转换为13 × 13 × 2048的特征图,可以与原始特征进行拼接

Multi-Scale Training

我们的模型只使用卷积层和池化层,因此可以动态调整大小。我们希望YOLOv2对不同大小的图像具有鲁棒性,因此我们将其训练到模型中
不采用固定输入图像的大小,我们每几个迭代就改变一次网络。这种机制迫使神经网络学会在各种输入维度上进行良好的预测。这意味着相同的网络可以预测不同分辨率的探测结果。网络在较小的尺寸下运行速度更快,因此YOLOv2在速度和准确性之间提供了一个简单的权衡。
在低分辨率下,YOLOv2作为一种便宜、相当精确的探测器运行
在高分辨率下,YOLOv2是一款最先进的探测器,在VOC 2007上具有78.6 mAP,同时仍然运行在实时速度之上

Further Experiments

我们训练YOLOv2检测VOC 2012。表4显示了YOLOv2与其他先进检测系统的性能比较。YOLOv2在运行速度远快于竞争对手的情况下达到73.4 mAP。我们还对COCO进行了训练,并与表5中的其他方法进行了比较。在VOC指标(IOU = .5)上,YOLOv2的mAP值为44.0,与SSD和Faster R-CNN相当

Faster

为了最大限度地提高性能,我们设计的YOLOv2从头到尾都是快速的,YOLO框架使用基于Googlenet架构的自定义网络。该网络比VGG-16更快,仅使用85.2亿次操作进行转发。然而,它的精度略低于VGG- 16

Darknet-19

我们提出了一个新的分类模型作为YOLOv2的基础。我们的模型建立在先前网络设计工作的基础上,以及该领域的共同知识。与VGG模型类似,我们主要使用3 × 3滤波器,并在每个池化步骤后将通道数加倍
继Network In Network(NIN)的工作之后,我们使用全局平均池化进行预测,并使用1 × 1滤波器压缩3 × 3个卷积之间的特征表示。我们使用批归一化来稳定训练,加速收敛,并正则化模型
我们的最终模型,称为Darknet-19,有19个卷积层和5个maxpooling层。完整的描述请参见表6。Darknet-19只需要55.8亿次操作来处理图像,但在ImageNet上达到了72.9%的前1精度和91.2%的Top 5精度

Training for classification

我们在标准ImageNet 1000类分类数据集上使用随机梯度下降训练网络,初始学习率为0.1,多项式速率衰减为4次方,权重衰减为0.0005,动量为0.9,使用Darknet神经网络框架[13]。在训练过程中,我们使用标准的数据增强技巧,包括随机裁剪、旋转、色调、饱和度和曝光位移
如上所述,在对224 × 224的图像进行初始训练后,我们将网络调整为更大的尺寸,448。对于这种微调,我们使用上述参数进行训练,但只训练10个epoch,并开始一个10−3的学习梯度。在这个更高的分辨率下,我们的网络达到了76.5%的前1精度和93.3%的前5精度

Training for detection

为了检测,我们修改了这个网络,去掉了最后一个卷积层,增加了三个3 × 3的卷积层,每个卷积层有1024个滤波器,最后一个1 × 1的卷积层有检测所需的输出数量。对于VOC,我们预测5个盒子,每个盒子有5个坐标,每个盒子有20个类别,所以125个过滤器。我们还从最后的3 × 3 × 512层添加了一个直通层到倒数第二个卷积层,以便我们的模型可以使用细粒度特征
我们以10−3的起始学习率训练网络160个epoch,在60和90个epoch时将其除以10。我们使用0.0005的权重衰减和0.9的动量,我们使用与YOLO和SSD类似的数据增强方法,包括随机裁剪、颜色移动等。我们对COCO和VOC采用相同的培训策略

Stronger

我们提出了一种分类和检测数据联合训练的机制。我们的方法使用图像标记进行检测,以学习检测特定的信息,如边界框坐标预测和对象以及如何对常见对象进行分类。它使用仅带有类标签的图像来扩展它可以检测的类别的数量
在训练过程中,我们混合了来自检测和分类数据集的图像。当我们的网络看到标记为检测的图像时,我们可以基于完整的YOLOv2损失函数进行反向传播。当它看到分类图像时,我们只从体系结构的特定分类部分反向传播损失
这种方法存在一些挑战检测数据集只有常见对象和一般标签,如“狗”或“船”,分类数据集具有更广泛和更深入的标签范围,ImageNet上有一百多种狗,如果我们想在两个数据集上进行训练,我们需要一个连贯的方法来合并这些标签

大多数分类方法在所有可能的类别上使用softmax层来计算最终的概率分布。使用softmax假定类是互斥的。这给组合数据集带来了问题,例如,您可能不希望使用此模型组合ImageNet和COCO,因为类“Norfolk terrier”(狗的一种)和“dog”并不是互斥的
相反,我们可以使用多标签模型来组合数据集,而不假设互斥。这种方法忽略了我们所知道的关于数据的所有结构,例如,所有的COCO类都是互斥的

Hierarchical classification

大多数分类方法都假设标签的结构是扁平的,但是对于组合数据集来说,结构正是我们所需要的,最后的结果是WordTree,一个可视化概念的层次模型。为了使用WordTree进行分类,我们在给定该同义词集的每个下位词的概率上预测每个节点的条件概率。例如,在“terrier”节点,我们预测:
如果我们想计算一个特定节点的绝对概率,我们只需沿着树的路径到达根节点,然后乘以条件概率。因此,如果我们想知道一张图片是否是Norfolk terrier,我们计算:
出于分类目的,我们假设图像包含一个对象:Pr(physical object)= 1

为了验证这种方法,我们在使用1000类ImageNet构建的WordTree上训练Darknet-19模型。为了构建WordTree1k,我们添加了所有中间节点,将标签空间从1000扩展到1369。在训练过程中,我们在树中传播基础真值标签,这样,如果一个图像被标记为“Norfolk terrier”,它也会被标记为“狗”和“哺乳动物”,等等
使用与之前相同的训练参数,我们的高层次Darknet-19达到了71.9%的前1精度和90.4%的前5精度

这个配方也适用于检测。现在,我们不再假设每个图像都有一个对象,而是使用YOLOv2的对象预测器为我们提供Pr(physical object)的值。检测器预测一个边界框和概率树,我们向下遍历树,在每个分叉处取最高置信度的路径,直到到达某个阈值,然后我们预测对象类

Dataset combination with WordTree

我们可以使用WordTree以合理的方式将多个数据集组合在一起。我们只需将数据集中的类别映射到树中的同义词集。图6显示了一个使用WordTree来组合来自ImageNet和COCO的标签的示例。WordNet是非常多样化的,所以我们可以对大多数数据集使用这种技术

Joint classification and detection

现在我们可以使用WordTree组合数据集,我们可以在分类和检测上训练我们的联合模型
我们使用基本的YOLOv2架构,但只有3个优先级,而不是5个,以限制输出大小。当我们的网络看到检测图像时,我们反向传播正常图像。对于分类损失,我们只在标签的相应级别或以上反向传播损失
当它看到一幅分类图像时,我们只对分类损失进行反向预测
通过这种联合训练,YOLO9000学习使用COCO中的检测数据在图像中查找对象,并使用来自ImageNet的数据学习对各种各样的这些对象进行分类

Conclusion

我们介绍了实时检测系统YOLOv2和YOLO9000。YOLOv2是最先进的,在各种检测数据集上比其他检测系统更快。此外,它可以在各种图像尺寸上运行,以提供速度和准确性之间的平滑权衡。
YOLO9000是一个实时检测框架,通过对检测和分类的共同优化,可以检测9000多种目标类别。我们使用WordTree结合各种来源的数据和我们的联合优化技术在ImageNet和COCO上同时训练,YOLO9000是缩小检测和分类之间数据集大小差距的有力一步
我们的许多技术推广到目标检测之外。我们的ImageNet的WordTree表示为图像分类提供了更丰富、更详细的输出空间,使用层次分类的数据集组合在分类和分割领域是有用的,像多尺度训练这样的训练技术可以在各种视觉任务中提供好处

Future

对于未来的工作,我们希望使用类似的技术进行弱监督图像分割。我们还计划使用更强大的匹配策略来改进检测结果,以便在训练期间为分类数据分配弱标签。计算机视觉具有大量的标记数据,我们将继续寻找将不同来源和数据结构结合在一起的方法,以构建更强大的视觉世界模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1176390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python教程:随机函数,开始猜英文单词的游戏

开始猜英文单词的游戏… 总计生命次数:3次 -----------游戏开始中…----------- ????请猜一个,4位数的单词:mafr 猜错了,再努力一下 -----------你还有2次生命------------ ma?&…

如何防范AI诈骗

如何防范AI诈骗 😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦!😄 ✨座右铭&#…

这款AI-3D模型实现了无数人的建模梦

hi,同学们,本期是第25期AI生产力工具教程 别说各位,连我也不敢信,现在制作3D模型比泡杯奶茶的时间还要快! 最近发现了一个天花板级的图片生成3D模型的AI工具——Artefacts.Ai,喂1张图片,就能创…

《持续交付:发布可靠软件的系统方法》- 读书笔记(十一)

持续交付:发布可靠软件的系统方法(十一) 第三部分——交付生态圈第 11 章 基础设施和环境管理11.1 引言11.2 理解运维团队的需要11.2.1 文档与审计11.2.2 异常事件的告警11.2.3 保障 IT 服务持续性的计划11.2.4 使用运维团队熟悉的技术 11.3 …

11.4-GPT4AllTools版本已开始对小部分GPT3.5用户内测推送

OpenAI已经开始小规模推送GPT4 AllTools功能,部分GPT博主已经第一时间体验了此功能,此功能特色是整合目前的多模态功能以及文件上传和联网模块,无需切换,更要全面综合 可上传包括 PDF、数据文件在内的任意文档,并进行分…

idea使用lombok编译问题

idea编译报错问题如下: java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled.Your processor is: com.sun.proxy.$Proxy26Lombok supports: OpenJDK javac, ECJ解决方案:在idea配置中File->Setti…

Java_类和对象详解

文章目录 前言简单认识类类定义和使用类的实例化引用的一些注意事项 类和对象的说明及关系this引用为什么要有this引用this应用this特性 构造方法构造特性及应用用this简化用idea编译器快捷创建构造 封装封装的概念访问限定符 封装的扩展-包包的概念导入包中的类自定义包常见的…

数据结构(c语言版) 顺序表

代码 #include <stdio.h> #include <stdlib.h>typedef int E; //这里我们的元素类型就用int为例吧&#xff0c;先起个别名//定义结构体 struct List{E * array;int capacity; //数组的容量int size; };//给结构体指针起别名 typedef struct List * ArrayLis…

【每日OJ题—— 141. 环形链表(链表)】

每日OJ题—— 141. 环形链表&#xff08;链表&#xff09; 1.题目&#xff1a;141. 环形链表2.方法讲解2.1 解法2.1.1 图文解析2.1.2 代码的实现2.1.3提交通过展示 1.题目&#xff1a;141. 环形链表 2.方法讲解 2.1 解法 2.1.1 图文解析 我们可以根据上述思路来解决本题。具体…

一机服务万人,拓世法宝AI智能商业数字人一体机,解锁文旅新表达

在人工智能的强劲推动下&#xff0c;人们走进了一个令人振奋的数字化时代。如何让文化传承与现代科技完美融合&#xff0c;成为一个十分有趣的议题&#xff0c;当AI技术结合文旅生活&#xff0c;便悄然开启了一种全新的旅游服务模式——AI数字文旅。 在我国国家博物馆、文旅大…

重生奇迹mu翅膀的合成!

你熟悉合成流程的话&#xff0c;只要拥有足够的材料&#xff0c;你便能拥有自己心仪的翅膀&#xff01;它的存在不仅仅只是美丽&#xff0c;其属性更是远远超过一般的装备概念&#xff0c;对游戏人物的加成幅度值得你投入&#xff01; 职业不同且翅膀各异 重生奇迹mu里面有着…

“抖音电商:颠覆传统,助力创新,引领未来电商新潮流“

一、引言 随着科技的飞速发展&#xff0c;电子商务已经成为人们日常生活的重要组成部分。近年来&#xff0c;抖音电商的异军突起&#xff0c;以其独特的助力方式&#xff0c;打破了传统电商的格局&#xff0c;引领了电商行业的新潮流。本文将探讨抖音电商的助力方式&#xff0…

正逆解项目

主要概念 正解&#xff1a;根据传动链的关节角度计算位置信息、旋量、姿态四位数、旋转矩阵 逆解&#xff1a;根据位置信息、旋量、姿态四位数、旋转矩阵计算传动链的关节角度 主要指责 下图为逆解的主要数据格式&#xff0c;Java端主要负责作为服务端接受客户端的报文消息&…

安全好用的远程协同运维软件重点推荐-行云管家

对于运维小伙伴而言&#xff0c;一个安全好用的远程协同运维软件至关重要&#xff0c;不仅可以提高工作率&#xff0c;降低工作风险&#xff0c;还能快速解决运维难题。目前市面上远程协同运维软件品牌比较多&#xff0c;这里我们小编给推荐行云管家IT远程协同运维平台。 安全…

不用流氓软件,如何在户外使用手机听下载到家中电脑里的音乐文件呢?

文章目录 本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是本教程使用环境&#xff1a;1 群晖系统安装audiostation套件2 下载移动端app3 内网穿透&#xff0c;映射至公网 很多老铁想在上班路上听点喜欢的歌或者相声解解闷儿&#xff0c;于是打开手…

最新神兽冲刺三件套,自控专业课复习最强资料详细介绍!

所谓又专又精&#xff0c;专是指我们售后群团队上百人都是自动化研究生&#xff0c;精是指我们只做自动化这一门专业学科7年了&#xff0c;研究到极致 专业课即将进入冲刺阶段啦&#xff0c;资料选的好&#xff0c;高分少不了&#xff0c;今天学姐给大家带来的是专业课复习的宝…

Linux工具git版本控制器介绍

git介绍 ​ git就是一个版本控制器&#xff0c;是由Linux之父写的开源软件&#xff0c;功能就是保存每个版本的内容。将被管理的内容&#xff08;文本&#xff09;&#xff0c;按照变化来进行管理的软件&#xff0c;你需要哪一个变化的版本都可以找到。 git是一个软件&#x…

动态IP和静态IP哪个安全,该怎么选择

随着互联网的普及&#xff0c;越来越多的人开始关注网络安全问题。其中&#xff0c;IP地址作为网络通信中的重要组成部分&#xff0c;也成为了人们关注的焦点。 在IP地址中&#xff0c;动态IP和静态IP是两种不同的分配方式&#xff0c;它们各自具有不同的特点&#xff0c;那么…

响应式特性

前言 持续学习总结输出中&#xff0c;今天分享的是响应式特性 1.什么是响应式&#xff1f; 简单理解就是数据变&#xff0c;视图对应变。 数据的响应式处理→ 响应式:数据变化&#xff0c;视图自动更新 聚焦于数据 → 数据驱动视图 使用 Vue 开发&#xff0c;我们主要关注…

石器时代?俄计划生产350纳米光刻机 | 百能云芯

在国际制裁的阴影下&#xff0c;俄罗斯正迈向自主研发生产芯片的新时代&#xff0c;接下来&#xff0c;俄罗斯计划采用土法炼钢研发生产芯片的光刻机。俄罗斯工业和贸易部副部长Vasily Shpak宣布&#xff0c;支持350纳米制程的光刻机将于2024年亮相&#xff0c;而支持130纳米制…