CV——day69:YOLO9000: Better, Faster, Stronger(已完结)

YOLO9000:Better, Faster, Stronger

年后准备试试YOLOv5或者低一些的单阶段目标检测模型,所以时不时看看YOLO的各系列模型,是为了了解这一类模型,也是最终目标做一个各系列的简单对比,fighting!

1. Introduction

YOLO9000可以实时检测各种各样的对象类别,是一种目标检测和分类联合训练的方法。

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

image-20230123100316143

  • 我们的所有代码和预训练模型都可以在线获得:http://pjreddie.com/yolo9000/

2. Better

我们简化了网络,然后使表示更容易学习。我们汇集了过去工作中的各种想法和我们自己的新概念,以提高YOLO的性能。结果总结见表2。

image-20230125100215687

Batch Normalization.

批量归一化导致收敛性的显著改善,同时消除了对其他形式正则化的需要[7]。通过在YOLO中的所有卷积层上添加批量归一化,我们在mAP上获得了超过2%的改进

High Resolution Classifier.

对于YOLOv2,我们首先在ImageNet上以全448×448分辨率微调分类网络10个历元。这为网络提供了时间来调整其滤波器,以便在较高分辨率输入下更好地工作。然后,我们在检测时微调所得到的网络。这种高分辨率分类网络使我们的mAP增加了近4%。

Convolutional With Anchor Boxes.

YOLO直接使用卷积特征提取器顶部的全连接层来预测边界框的坐标。Faster R-CNN不是直接预测坐标,而是使用手工挑选的先验预测边界框,用RPN预测偏移量而不是坐标简化了问题,使网络更容易学习。

我们从YOLO中移除全连接层,并使用锚框来预测边界框

  1. 我们消除一个池化层以使网络的卷积层的输出具有更高的分辨率。
  2. 我们还缩小了网络,使其可以处理416个输入图像,而不是448×448;我们这样做是因为我们希望在我们的特征图中有奇数个位置,这样就有一个中心单元,而不是四个位置来预测。

YOLO只能预测每张图像98个盒子,但对于锚盒子,我们的模型预测超过1000个。使用锚框,对比YOLO,即使mAP降低(69.5–>69.2),**召回率的增加(81%–>88%)**意味着我们的模型还有更大的改进空间。

Dimension Clusters.

我们遇到两个问题与锚盒时,使用他们与YOLO。第一个是框尺寸是手工选择的。网络可以学习适当地调整盒子,但是如果我们为网络选择更好的先验来开始,我们可以使网络更容易学习预测好的检测。

我们在训练集边界框上运行k-均值聚类,以自动找到良好的先验,而不是手动选择先验。

  • 对VOC和COCO的框维度进行聚类

    image-20230123101435210

    距离度量:d(box, centroid)=1− IOU(box, centroid)

Direct location prediction.

在YOLO中使用锚盒时,我们遇到了第二个问题:模型不稳定性,尤其是在早期迭代期间.

大多数不稳定性来自于对盒子的(x,y)位置的预测。在RPN中,网络预测值tx和ty,并且(x,y)中心坐标被计算为:

image-20230125102627954

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

网络预测输出特征地图中每个单元处的5个边界框。网络预测每个边界框的5个坐标tx、ty、tw、th和to。如果单元从图像的左上角偏移(cx,cy)并且边界框先验具有宽度和高度pw,ph,则预测对应于:

image-20230125102834350

使用维度聚类直接预测边界框中心位置可以使YOLO比使用锚框的版本提高近5%。

image-20230125103031635

我们预测盒子的宽度和高度作为离聚类质心的偏移量。我们使用sigmoid函数来预测框的中心坐标相对于滤波器应用的位置。

Fine-Grained Features.

这种修改的YOLO预测在13 × 13特征图上的检测。虽然这对于大对象来说已经足够了,但是对于定位较小的对象来说,更细粒度的特征可能会使其受益。更快的R-CNN和SSD都在网络中的各种特征地图上运行他们的提案网络,以获得一系列的分辨率。我们采取了不同的方法,简单地添加一个穿透层,以26 × 26分辨率从早期层中提取特征。

Multi-Scale Training.

原始的YOLO使用448 × 448的输入分辨率。增加锚盒后,我们将分辨率更改为416×416。然而,由于我们的模型只使用卷积层和池层,因此它可以动态调整大小。我们希望YOLOv2能够在不同大小的图像上运行,因此我们将其训练到模型中。

关于YOLOv2与VOC 2007的其他框架的比较,请参见表3。

image-20230123101704985图四

image-20230123101804836

3. Faster

我们希望检测准确,但我们也希望它是快速的。我们提出了一个新的分类模型作为YOLOv2的基础。我们的模型建立在以前的网络设计工作以及该领域的常识基础上。VGG模型相似,我们大多使用3 × 3滤波器,并在每个合并步骤后将通道数量加倍。在对网络中网络(NIN)的研究之后,我们使用全局平均池进行预测,并使用1 × 1滤波器在3 × 3卷积之间压缩特征表示。我们使用批量归一化来稳定训练、加速收敛并正则化模型。

我们的最终模型称为Darknet-19,有19个卷积层和5个最大池层。完整描述见表6。

image-20230125103553391Darknet-19只需要55.8亿次操作就可以处理图像,但在ImageNet上却达到了72.9%的前1准确率和91.2%的前5准确率。

4. Stronger

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

5. Conclusion

最后,YOLO9000是一个通过联合优化检测和分类来检测9000多个对象类别的实时框架。我们使用WordTree联合收割机来自不同来源的数据,并使用联合优化技术在ImageNet和COCO上同时进行训练。YOLO9000是缩小检测和分类之间数据集大小差距的有力一步

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值