【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

《YOLO9000:Better, Faster, Stronger》

发表会议: CVPR 2016

Joseph Redmon, Ali Farhadi

University of Washington, Allen Institute for AI

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的快速RCNN,同时仍然运行得更快。最后,我们提出了一种联合训练物体检测和分类的方法。使用此方法,我们同时在COCO检测数据集和ImageNet分类数据集上训练YOLO9000。我们的联合培训允许YOLO9000预测没有标记检测数据的对象类的检测。我们验证了ImageNet检测任务的方法。YOLO9000在ImageNet检测验证集上获得19.7 mAP,尽管只有200个类中的44个具有检测数据。在不在COCO的156个班级中,YOLO9000获得16.0 mAP。但YOLO可以检测到超过200个类别;它预测超过9000种不同对象类别的检测。它仍然可以实时运行。

1. Introduction:

通用对象检测应该快速,准确并且能够识别各种各样的对象。自从引入神经网络以来,检测框架变得越来越快速和准确。但是,大多数检测方法仍然受限于一小组对象。

与用于分类和标记的其他任务的数据集相比,当前对象检测数据集是有限的。最常见的检测数据集包含数千到数十万个具有数十到数百个标签的图像[3] [10] [2]。分类数据集拥有数百万个具有数十或数十万个类别的图像[20] [2]。

我们希望检测能够扩展到对象分类的水平。然而,用于检测的标记图像比用于分类或标记的标记要昂贵得多(标签通常是用户免费提供的)。因此我们不太可能

1在不久的将来以与分类数据集相同的比例查看检测数据集。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

图1:YOLO9000。 YOLO9000可以实时检测各种对象类。

我们提出了一种新方法来利用我们已有的大量分类数据,并用它来扩展当前检测系统的范围。我们的方法使用对象分类的分层视图,允许我们将不同的数据集组合在一起。

我们还提出了一种联合训练算法,该算法允许我们在检测和分类数据上训练物体检测器。我们的方法利用标记的检测图像来学习精确定位对象,同时使用分类图像来增加其词汇量和鲁棒性。

使用这种方法,我们训练YOLO9000,一种可以检测超过9000种不同物体类别的实时物体探测器。首先,我们改进了基础YOLO检测系统,以生产YOLOv2,这是一种先进的实时检测器。然后我们使用我们的数据集组合方法和联合训练算法来训练来自ImageNet的9000多个类的模型以及来自COCO的检测数据。

我们的所有代码和预训练模型均可在http://pjreddie.com/yolo9000/.在线获取。

2. Better:

与现有技术的检测系统相比,YOLO存在各种缺点。与Fast R-CNN相比,YOLO的误差分析表明YOLO产生了大量的定位误差。此外,与基于区域提案的方法相比,YOLO具有相对较低的召回率。因此,我们主要关注改善召回和本地化,同时保持分类准确性。

计算机视觉通常趋向于更大,更深的网络[6] [18] [17]。更好的性能通常取决于培训更大的网络或将多个模型集合在一起。但是,对于YOLOv2,我们需要更准确的探测器,但速度仍然很快。我们不是扩展我们的网络,而是简化网络,然后使表示更容易学习。我们将过去作品中的各种想法与我们自己的新概念结合起来,以提高YOLO的表现。结果摘要见表2。

批量标准化。批量归一化可以显着改善收敛,同时不需要其他形式的正则化[7]。通过在YOLO中的所有卷积层上添加批量标准化,我们可以使mAP提高2%以上。批量标准化还有助于规范模型。通过批量标准化,我们可以在不过度配置的情况下从模型中删除丢失。

高分辨率分类器。所有最先进的检测方法都使用ImageNet预训练的分类器[16]。从AlexNet开始,大多数分类器都在小于256×256 [8]的输入图像上运行。最初的YOLO在224×224训练分类网络,并将分辨率提高到448以进行检测。这意味着网络必须同时切换到学习对象检测并调整到新的输入分辨率。

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

Convolutional With Anchor Boxes。 YOLO直接使用卷积特征提取器顶部的完全连接层预测边界框的坐标。而不是直接预测坐标更快的R-CNN使用手工挑选的先验预测边界框[15]。仅使用卷积层,快速R-CNN中的区域提议网络(RPN)预测锚箱的偏移和置信。由于预测层是卷积的,因此RPN在特征图中的每个位置预测这些偏移。预测偏移而不是坐标可以简化问题并使网络更容易学习。

我们从YOLO中删除完全连接的图层,并使用锚框来预测边界框。首先,我们消除了一个池化层,使网络卷积层的输出分辨率更高。我们还缩小网络以对416个输入图像进行操作,而不是448×448。我们这样做是因为我们在要素图中需要奇数个位置,因此只有一个中心单元格。物体,特别是大物体,往往占据图像的中心,因此最好在中心有一个位置来预测这些物体而不是附近的四个物体。YOLO的卷积层将图像下采样32倍,因此通过使用416的输入图像,我们得到13×13的输出特征图。

当我们移动到锚箱时,我们还将类预测机制与空间位置分离,而是预测每个锚箱的类和对象。在YOLO之后,对象性预测仍然预测地面实况的IOU,并且提出的框和类预测在给定存在对象的情况下预测该类的条件概率。

使用锚盒我们的准确性会略有下降。YOLO仅预测每张图片98个盒子,但是使用锚盒我们的模型预测超过一千个。没有锚箱,我们的中间模型获得69.5 mAP,召回率为81%。使用锚箱,我们的模型获得69.2 mAP,召回率为88%。即使mAP减少,召回的增加也意味着我们的模型有更大的改进空间。

Dimension Clusters。与YOLO一起使用时,我们遇到两个锚箱问题。首先是手工挑选的盒子尺寸。网络可以学会适当地调整框,但如果我们从网络中选择更好的先验,我们可以让网络更容易学习预测良好的检测。

我们不是手动选择先验,而是在训练集边界框上运行k-means聚类,以自动找到良好的先验。如果我们使用具有欧几里德距离的标准k均值,那么较大的框会产生比较小的框更多的误差。然而,我们真正想要的是能够获得良好IOU分数的先验,这与盒子的大小无关。因此,对于我们的距离度量,我们使

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

图2:VOC和COCO上的聚类盒尺寸。我们在边界框的维度上运行k-means聚类,以便为我们的模型获得良好的先验。左图显示了我们得到的k的各种选择的平均IOU。我们发现k=5为召回与模型的复杂性提供了良好的权衡。右图显示了VOC和COCO的相对质心。两套先验都有利于更薄,更高的盒子,而COCO的尺寸变化比VOC更大。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

我们为各种k值运行k-means,并绘制具有最接近质心的平均IOU,参见图2。我们选择k=5作为模型复杂性和高召回率之间的良好权衡。群集质心与手工挑选的锚箱明显不同。短,宽盒子和更高,更薄的盒子。

我们将平均IOU与我们的聚类策略中最接近的先验和表1中的手工挑选的锚箱进行比较。只有5个前辈,质心的表现类似于9个锚箱,平均IOU为61.0,而60.9。如果我们使用9个质心,我们会看到更高的平均IOU。这表明使用k-means生成我们的边界框会以更好的表示方式启动模型,使任务更容易学习。

框生成#平均IOU集群SSE 5个58.7集群IOU 5个61.0锚箱[15] 9 60.9集群IOU 9 67.2表1:箱平均IOU最接近先验的VOC 2007年。使用不同的生成方法,将VOC 2007上的对象的平均IOU与其最接近,未经修改的对象进行对比。聚类比使用手工挑选的先验提供了更好的结果。

直接位置预测。当使用带有YOLO的锚盒时,我们遇到第二个问题:模型不稳定,特别是在早期迭代期间。大多数不稳定性来自于预测盒子(x,y)的位置。在区域提案网络中,网络预测值tx和ty,(x,y)中心坐标计算如下:

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

例如,tx=1的预测会将框向右移动锚框的宽度,tx=-1的预测会将其向左移动相同的数量。

这个公式是不受约束的,因此任何锚盒都可以在图像中的任何位置结束,无论预测盒子的位置如何。随机初始化,模型需要很长时间才能稳定以预测合理的偏移。我们不是预测偏移,而是遵循YOLO的方法,并预测相对于网格单元位置的位置坐标。这将基本事实限制在0和1之间。我们使用逻辑**来约束网络预测落在此范围内。

网络预测输出要素图中每个单元格的5个边界框。网络预测每个边界框的5个坐标tx,ty,tw,th,和to。如果单元格由(cx,cy)偏离图像的左上角,并且前面的边界框具有宽度和高度pw,ph,则预测对应于:

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

由于我们约束位置预测,因此参数化更容易学习,使网络更稳定。使用维度群集以及直接预测边界框中心位置可使YOLO比使用锚箱的版本提高近5%。细粒度的特征。这个修改过的YOLO可以预测13×13特征图上的检测结果。虽然这对于大型物体来说是足够的,但是对于用于定位较小物体的细粒度特征可能是有益的。更快的R-CNN和SSD都在网络中的各种功能图上运行其提议网络,以获得一系列分辨率。我们采用不同的方法,只需添加一个passthrough图层,该图层以26×26分辨率从早期图层中提取特征。

直通层通过将相邻要素堆叠到不同的通道而不是空间位置,将较高分辨率的要素与低分辨率要素连接起来,类似于ResNet中的标识映射。这会将26×26×512要素图转换为13×13×2048要素图,该要素图可以与原始要素连接。我们的探测器运行在此扩展功能图的顶部,以便它可以访问细粒度的功能。这使得性能提高1%。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

图3:具有尺寸先验和位置预测的边界框。我们预测盒子的宽度和高度作为聚类质心的偏移量。我们使用sigmoid函数预测盒子相对于过滤器应用位置的中心坐标。

多规模培训。原始YOLO使用输入分辨率448×448。通过添加锚盒,我们将分辨率更改为416×416。但是,由于我们的模型仅使用卷积和池化层,因此可以在其上调整大小。我们希望YOLOv2能够在不同尺寸的图像上运行,因此我们将其训练到模型中。

我们不是固定输入图像大小,而是每隔几次迭代就改变网络。每10批次我们的网络随机选择一个新的图像尺寸大小。由于我们的模型缩减了32倍,我们从32的以下倍数拉出:{320, 352, …, 608}。因此,最小的选项是320×320,最大的选项是608×608。我们将网络调整到该维度并继续培训。

这种制度迫使网络学习如何在各种输入维度上做好预测。这意味着同一网络可以预测不同分辨率的检测。网络以较小的尺寸运行得更快,因此YOLOv2可在速度和精度之间轻松权衡。

在低分辨率下,YOLOv2作为便宜,相当精确的探测器运行。288×288的运行速度超过90 FPS,mAP几乎与Fast R-CNN一样好。这使其成为较小GPU,高帧率视频或多视频流的理想选择。

在高分辨率下,YOLOv2是最先进的探测器,在VOC 2007上具有78.6 mAP,同时仍然高于实时速度。有关YOLOv2与VOC 2007上其他框架的比较,请参阅表3.图4进一步的实验。我们培训YOLOv2用于检测VOC 2012.表4显示了YOLOv2与其他最先进的检测系统的比较性能。YOLOv2的运行速度比竞争方法快73.4 mAP。我们还对COCO进行了培训,并与表5中的其他方法进行了比较。在VOC指标(IOU = .5)上,YOLOv2获得44.0 mAP,与SSD和更快的R-CNN相当。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

图4:VOC 2007的准确性和速度。

3. Faster:

我们希望检测准确,但我们也希望检测速度快。大多数检测应用程序(如机器人或自动驾驶汽车)都依赖于低延迟预测。为了最大限度地提高性能,我们将YOLOv2设计为从头开始。

大多数检测框架依赖于VGG-16作为基本特征提取器[17]。VGG-16是一个功能强大,精确的分类网络,但它不必要地复杂。VGG-16的卷积层需要306.6亿浮点运算,在单个图像上以224×224分辨率进行单次通过。

YOLO框架使用基于Googlenet架构的自定义网络[19]。该网络比VGG-16更快,仅使用85.2亿次正向通行证。但是,它的准确性略差于VGG

16.对于224×224的单作物,前5精度,YOLO的定制模型获得了88.0%ImageNet,而VGG-16则为90.0%。

暗网-19。我们提出了一种新的分类模型,用作YOLOv2的基础。我们的模型建立在网络设计的先前工作以及现场的常识之上。与VGG模型类似,我们主要使用滤波器,并在每个合并步骤后将通道数加倍[17]。继网络网络(NIN)工作之后,我们使用全局平均池来制作预先设置以及1×1过滤器来压缩3×3卷积之间的特征表示[9]。我们使用批量归一化来稳定训练,加速收敛,并使模型正规化[7]。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

表3:PASCAL VOC 2007的检测框架.YOLOv2比先前的检测方法更快,更准确。它还可以在不同的分辨率下运行,以便在速度和准确度之间轻松权衡。每个YOLOv2条目实际上是具有相同权重的相同训练模型,仅以不同大小进行评估。所有时间信息都在Geforce GTX Titan X上(原始而非Pascal型号)。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

表2:从YOLO到YOLOv2的路径。大多数列出的设计决策导致mAP显着增加。两个例外是使用锚箱切换到完全卷积网络并使用新网络。切换到锚框样式方法可以在不改变mAP的情况下提高调用率,同时使用新的网络剪切计算33%。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

表4:PASCAL VOC2012测试检测结果。 YOLOv2与最先进的探测器(如使用ResNet和SSD512的Faster R-CNN)相当,并且速度更快。

我们的最终模型称为Darknet-19,具有19个卷积层和5个最大层。有关完整说明,请参阅表6.Darknet-19仅需要55.8亿次操作来处理图像,但在ImageNet上实现了72.9%的前1精度和91.2%前5精度。

分类培训。我们使用随机梯度下降训练网络在标准的ImageNet 1000类分类数据集上进行160个时期,起始学习率为0.1,功率为4的多项式速率衰减,0.0005的权重衰减和使用Darknet神经网络框架的0.9的动量[13]。在训练期间,我们使用标准数据增强技巧,包括随机作物,旋转和色调,饱和度和曝光变化。

如上所述,在224×224对图像进行初步培训后,我们将以更大的尺寸对网络进行调整,448。对于这种精确调整,我们使用上述参数进行训练,但只有10个时期,并以的学习速率开始。在这个更高的分辨率下,我们的网络实现了前7个精度达到76.5%,前5个精度达到93.3%。

检测培训。我们通过删除最后一个卷积层来修改这个网络以进行检测,而是在三个3×3卷积层上添加1024个过滤器,然后是最后一个1×1卷积层,其中包含我们需要检测的输出数量。对于VOC,我们预测5个盒子,每个盒子有5个坐标,每个盒子20个类别,所以125个过滤器。我们还从最终的3×3×512层添加一个直通层到第二个到最后一个卷积层,这样我们的模型就可以使用细粒度特征。

我们训练网络160个时期,起始学习率为10^-3,在60和90个时期除以10。我们使用0.0005的重量衰减和0.9的动量。我们使用类似的数据增加到YOLO和SSD随机作物,色移等。我们对COCO和VOC使用相同的培训策略。

4. Stronger:

我们提出了一种联合训练分类和检测数据的机制。我们的方法使用标记为检测的图像来学习检测特定信息,如边界框坐标预测和对象性以及如何对常见对象进行分类。它使用仅带有类标签的图像来扩展它可以检测的类别数。

在训练期间,我们混合来自检测和分类数据集的图像。当我们的网络看到标记为检测的图像时,我们可以基于完整的YOLOv2丢失功能进行反向传播。当它看到一个分类图像时,我们只反向传播该体系结构的分类特定部分的损失。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

表5:COCO test-dev2015的结果。表改编自[11]

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

表6:Darknet-19。

这种方法提出了一些挑战。检测数据集只有常见的对象和通用标签,如“狗”或“船”。分类数据集具有更广泛和更深的标签范围。ImageNet拥有超过100种犬种,包括“诺福克梗”,“约克夏犬”和“贝德灵犬”。如果我们想要训练两个数据集,我们需要一种连贯的方式来合并这些标签。

大多数分类方法在所有可能的类别中使用softmax层来计算最终概率分布。使用softmax假设类是互斥的。这给组合数据集带来了问题,例如,您不希望使用此模型组合ImageNet和COCO,因为类“Norfolk terrier”和“dog”不是互斥的。

我们可以使用多标签模型来组合不假设互斥的数据集。这种方法忽略了我们对数据所知的所有结构,例如所有COCO类都是互斥的。

分层分类。 ImageNet标签来自WordNet,这是一个构建概念及其相关性的语言数据库[12]。在WordNet中,“诺福克梗”和“约克夏犬”都是“猎犬”的上位词,它是一种“猎犬”,是一种“狗”,它是“犬”等。大多数分类方法都假定了标签的结构,但是对于组合数据集,结构正是我们所需要的。

WordNet的结构是有向图,而不是树,因为语言很复杂。例如,“狗”既是一种“犬”,也是一种“家畜”,它们都是WordNet中的同义词。我们不是使用完整的图形结构,而是通过从ImageNet中的概念构建分层树来简化问题。

为了构建这个树,我们检查ImageNet中的视觉名词,并查看它们通过WordNet图形到根节点的路径,在本例中是“物理对象”。许多同义词只有一条通过图形的路径,所以我们首先将所有这些路径添加到树中。然后我们迭代地检查我们剩下的概念,并尽可能少地添加生长树的路径。因此,如果一个概念有两条通向根的路径,一条路径将三条边添加到树中,另一条路径只添加一条边,我们选择较短的路径。

最终的结果是WordTree,一个视觉概念的分层模型。为了使用WordTree执行分类,我们预测每个节点处的条件概率,以获得该synset的该同义词的每个下位词的概率。例如,在“terrier”节点,我们预测:

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

如果我们想要计算特定节点的绝对概率,我们只需遵循通过树到根节点的路径并乘以条件概率。因此,如果我们想知道图片是否属于Norfolk梗,我们计算:

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

出于分类目的,我们假设图像包含一个对象:Pr(物理对象)=1。

为了验证这种方法,我们在使用1000类ImageNet构建的WordTree上训练Darknet-19模型。为了构建WordTree1k,我们添加了所有中间节点,将标签空间从1000扩展到1369。在训练期间,我们将地面真相标签传播到树上,这样如果图像被标记为“诺福克梗”,它也会被标记为“狗”和“哺乳动物”等。为了计算条件概率,我们的模型预测了1369个值的向量,并且我们计算了相同概念的所有系统集的softmax,参见图5。

使用与以前相同的训练参数,我们的分层Darknet-19实现了71.9%的前1精度和90.4%前5精度。尽管添加了369个额外的概念,并且我们的网络预测了树形结构,但我们的准确度仅略有下降。以这种方式执行分类也有一些好处。性能在新的或未知的对象类别上优雅地降低。例如,如果网络看到狗的图片但不确定它是什么类型的狗,它仍然会预测具有高信度的“狗”,但在下位词之间散布较低的信心。

该配方也适用于检测。现在,我们使用YOLOv2的对象预测器来给出Pr物理对象的值,而不是假设每个图像都有一个对象。检测器预测边界框和概率树。我们遍历树,在每次分裂时采用最高的置信路径,直到达到某个阈值并且我们预测该对象类。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

图5:ImageNet与WordTree的预测。大多数ImageNet模型使用一个大的softmax来预测概率分布。使用WordTree,我们在共同下位线上执行多个softmax操作。

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

联合分类和检测。现在我们可以使用WordTree组合数据集,我们可以训练我们的分类和检测联合模型。我们想要训练一个超大规模的探测器,因此我们使用COCO检测数据集和完整的ImageNet版本中的前9000个类创建我们的组合数据集。我们还需要评估我们的方法,以便我们添加ImageNet检测挑战中尚未包含的任何类。此数据集的相应WordTree有9418个类。ImageNet是一个更大的数据集,因此我们通过对COCO进行过采样来平衡数据集,以便ImageNet仅以4:1的比例增大。

使用此数据集,我们训练YOLO9000。我们使用基础YOLOv2架构但只有3个先验而不是5来限制输出大小。当我们的网络看到检测图像时,我们会反复传播丢失。对于分类损失,我们仅反向传播等于或高于标签相应级别的损失。例如,如果标签是“狗”,我们会在树中进一步向下预测任何错误,“德国牧羊犬”与“金毛猎犬”,因为我们没有这些信息。

【论文翻译】YOLOv2:YOLO9000_Better, Faster, Stronger

图6:使用WordTree层次结构组合数据集。使用WordNet概念图,我们构建了一个视觉概念的分层树。然后,我们可以通过将数据集中的类映射到树中的同义词集来将数据集合并在一起。这是WordTree的简化视图,用于说明目的。

当它看到分类图像时,我们只反向传播分类损失。为此,我们只需找到预测该类最高概率的边界框,并计算其预测树上的损失。我们还假设预测的框与至少.3 IOU重叠的地面实况标签重叠,我们基于这个假设反向传播对象性损失。

使用这种联合训练,YOLO9000学习使用COCO中的检测数据在图像中找到对象,并学习使用来自ImageNet的数据对各种各样的对象进行分类。

我们在ImageNet检测任务上评估YOLO9000。ImageNet的检测任务与COCO共享44个对象类别,这意味着YOLO9000仅查看了大多数测试图像的分类数据,而不是检测数据。YOLO9000总共获得了19.7 mAP,在不相交的156个对象类上有16.0 mAP,它从未见过任何标记的检测数据。该mAP高于DPM获得的结果,但YOLO9000仅在部分监督下在不同数据集上进行训练[4]。它还可以同时检测9000个其他对象类别,所有这些都是实时的。

当我们分析YOLO9000在ImageNet上的表现时,我们看到它很好地学习了新的动物种类,但却在服装和装备等学习类别中挣扎。

尿布0.0水平条0.0橡皮擦0.0太阳镜0.0泳裤0.0 …

红熊猫50.7狐狸52.1考拉熊54.3老虎61.0犰狳61.7

表7:ImageNet上的YOLO9000最佳和最差类。来自156个弱监督班级的AP最高和最低的班级。YOLO9000为各种动物学习了很好的模型,但却在服装或装备等新课程中挣扎。

新动物更容易学习,因为对象预测很好地概括了COCO中的动物。相反,COCO没有针对任何类型服装的边框标签,仅限于人,因此YOLO9000难以模拟“太阳镜”或“泳裤”等类别。

5. Conclusion:

我们介绍YOLOv2和YOLO9000,实时检测系统。YOLOv2是最先进的,比各种检测数据集中的其他检测系统更快。此外,它可以在各种图像尺寸下运行,以在速度和精度之间提供平滑的折衷。

YOLO9000是一个实时框架,通过联合优化检测和分类,检测超过9000个对象类别。我们使用WordTree组合来自各种来源的数据和我们的联合优化技术,以同时在ImageNet和COCO上进行训练。YOLO9000是缩小检测和分类之间数据集大小差距的重要一步。

我们的许多技术在对象检测之外进行概括。ImageNet的WordTree表示为图像分类提供了更丰富,更详细的输出空间。使用分层分类的数据集组合在分类和分割域中将是有用的。多尺度培训等培训技术可以为各种视觉任务提供有益的帮助。

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