YOLO v2 和 YOLO 9000 由 J. Redmon 和 A. Farhadi 于 2016 年在题为“YOLO 9000:更好、更快、更强”的论文中提出。在 67 FPS 时,YOLOv2 的 mAP 为 76.8%,在 67 FPS 时,它在 VOC 2007 数据集上的mAP 为78.6%,优于更快的 R-CNN 和 SSD 等模型。YOLO 9000 使用 YOLO v2 架构,但能够检测到 9000 多个类。然而,YOLO 9000 的 mAP 为 19.7% mAP,其中 16% mAP 在非 COCO 的 156 类上。但是,YOLO 可以预测 9000 多个类。
建筑:
Darknet-19 架构
YOLO9000 的架构与 YOLOv2 的架构非常相似。它还使用 Darknet-19 架构作为其深度神经网络 (DNN) 架构。但是,它们的分类架构之间的主要区别。让我们看看下面的 YOLO 9000 分类架构:
分类任务:
对象检测数据集(COCO:80 个类)的类比分类(ImageNet:22k 类)少得多。扩展 YOLO 可以检测的类。本文提出了一种将分类检测任务与检测任务合并的方法。它使用端到端网络进行训练,同时反向传播分类损失。但是,检测和分类的所有类的简单合并问题并不是简单地相互排斥的。例如,在 COCO 数据集中,类标签是 Cat、Dog 等通用类,但在 Imagenet 中也有特定的类(例如,对于 Dog,我们有类 Norfolk terrier“、”Yorkshire terrier“或”Bedlington terrier”)。我们不能为 “Dog” 和 “Norfolk terrier” 设置不同的 softmax 类,因为它们并不互斥。
我们不能直接组合,因为这些类不是互斥的
分层分类:
YOLO9000提出了一种称为分层分类的方法。在这种方法中。他们提出了一种基于树的分层结构,在我们进行分类时表示类及其子类。例如,诺福克梗属于“梗”,而“梗”又属于“狗”类。此结构的灵感来自 WordNet。但是,它没有使用图形结构,而是使用基于 Imagenet 数据集中图像集合概念的分层树结构)。这种层次结构称为 WordTree。
WordTree 示例
为了执行分类,此 WordTree 在每个节点级别使用条件概率。要计算叶节点(特定类)的条件概率,我们需要将其所有父节点的条件概率相乘。此体系结构将 “Physical object” 定义为其根节点认为 Pr(物理对象) =1。
例如,不同类型梗的条件概率可以计算为:
现在,我们可以获得该对象属于 “Norfolk Terrier” 类的绝对概率。
本文以 ImageNet-1000 为例进行实验。我们没有创建一个 1000 层的平面结构,而是创建了一个类似 WordTree 的分层树结构,具有 1000 个叶节点和 369 个父节点。
简单的 1k Imagenet 与 WordTree
使用与 YOLOv2 中相同的训练参数,Imagenet 上的这个分层 Darknet-19 实现了 71.9% 的 top-1 准确率和 90.4% top-5 的准确率。分层分类的优势在于,当此模型无法区分叶类时,它会给父类带来很高的概率。
训练:
该模型使用 WordTree 方法将 COCO 类与 Imagenet 的前 9000 个类标签相结合,得到一个 9418 节点的 WordTree。因此,相应的 WordTree 有 9418 个类。Imagenet 是一个比 COCO 大得多的数据集。为了平衡数据集,我们对 COCO 进行了过度采样,使 Imagenet 和 COCO 样本之间的比率为 4:1。
我们使用 YOLOv2 数据集训练模型,但我们只使用 3 个锚框而不是 5 个。当此网络输入检测图像时,这会正常反向传播检测丢失,但对于分类丢失,它会在标签的相应级别或更高级别反向传播丢失。
结果和结论:
YOLO9000 的总体 mAP 为 19.7%,检测数据集中不存在的类的 mAP 为 16%。它在 COCO 数据集中不存在的新动物物种上也表现得更好。mAP 高于 DPM 模型中产生的 mAP。
YOLO9000 的主要优点是它能够实时预测 9000 多个类(准确地说是 9418 个)。
YOLO 9000 结果
因为它具有大量的类预测能力。它是从医学成像到无人机监控、制造业等应用最广泛的物体识别架构之一。
参考:
标签:WordTree,mAP,强大,架构,YOLO,9000,COCO,YOLO9000 From: https://blog.csdn.net/jianqimingtian/article/details/145074984