[深度学习]Object detection物体检测之YOLO v2(7)

目录

综述

多种方法对原来的v1版本改进

Batch Normalization

High Resolution Classifier(高分辨率的分类器)

Convolutional With Anchor Boxes

Dimension Clusters(维度聚类)

Direct location prediction(直接位置预测)

Fine-Grained Features

Multi-Scale Training

联合训练分类和检测数据

Hierarchical classification


论文全称:《YOLO9000: Better, Faster, Stronger

论文地址:https://arxiv.org/abs/1612.08242

综述

YOLO v2对比起v1主要改进有两方面:

  1. 多种方法对原来的v1版本改进,在保持原有速度的基础上,提升了检测的精度。
  2. 提出了一种联合训练对象检测和分类的方法。可以使用其他任务的数据(imagenet分类数据)联合训练物体检测。

与用于分类和标记等其他任务的数据集相比,当前的物体检测数据集是有限的。因为物体检测的数据集构建本身成本非常高。

本论文提出了hierarchical view分层视图,可以把不同的数据集合并在一起使用。本论文还提出了一种联合训练算法,允许我们在检测和分类数据上训练目标检测器。

多种方法对原来的v1版本改进

主要关注提高召回率recall和定位准确率,同时保证分类的准确率。下图代表了各种不同的改进方法。

Batch Normalization

通过对YOLO中所有的卷积层添加batch normalization,在mAP中得到了超过2%的改进。通过batch normalization,可以在不过拟合的情况下从模型中删除drop - out。

High Resolution Classifier(高分辨率的分类器)

目前的目标检测方法中,基本上都会使用ImageNet预训练过的模型(classifier)来提取特征,如果用的是AlexNet网络,那么输入图片会被resize到小于256 * 256,导致分辨率不够高,给检测带来困难。为此,新的YOLO网络把分辨率直接提升到了448 * 448,这也意味之原有的网络模型必须进行某种调整以适应新的分辨率输入。

对于YOLOv2,作者首先对分类网络(自定义的darknet)进行了fine tune,分辨率改成448 * 448,在ImageNet数据集上训练10轮(10 epochs),训练后的网络就可以适应高分辨率的输入了。然后,作者对检测网络部分(也就是后半部分)也进行fine tune。这样通过提升输入的分辨率,mAP获得了4%的提升。

Convolutional With Anchor Boxes

YOLO v1使用卷积特征上的完全连接层直接预测 bounding boxes 的坐标。v2的版本中作者借鉴了Faster rcnn仅使用卷积层的region proposal network(RPN) 去预测每一个anchor box的偏移量(与region中心点的偏移)和置信度。由于预测层是卷积层,RPN在feature map中的每个位置预测这些偏移量。预测偏移量而不预测box的坐标简化了问题,使网络更容易学习。

具体的做法是从YOLO删除完全连接的层,使用anchor  boxes来预测bounding boxes。首先,消除了最后一个池化层,使网络卷积层的输出具有更高的分辨率。然后降低了输入的分辨率至416*416而非448*448,因为想得到一张长宽为奇数的feature map。奇数的好处是每个location只有单一的center cell。对于很大的物体,倾向于占据图像的中心,所以最好在中心有一个单独的位置来预测这些物体,而不是四个在附近的位置(如果是偶数则有四个center cell,映射回image则有四个附件的位置)。v2版本最后得到13*13的feature map(降采样的factor为32)。

加入了anchor boxes后,recall召回率上升,准确率下降。假设每个cell预测9个建议框,那么总共会预测13 * 13 * 9 = 1521个boxes,而之前的网络仅仅预测7 * 7 * 2 = 98个boxes。具体数据为:没有anchor boxes,模型recall为81%,mAP为69.5%;加入anchor boxes,模型recall为88%,mAP为69.2%。这样看来,准确率只有小幅度的下降,而召回率则提升了7%,说明可以通过进一步的工作来加强准确率,的确有改进空间。

Dimension Clusters(维度聚类)

为了让网络学习得更好,所以采用了k-means算法挑选anchor box的先验框,不采用faster rcnn人工挑选的方法。但是这里的一个问题是如果使用标准的k-means算法,即使用欧几里得距离公式计算的话,大的box的错误会比小的box更大。然而,我们真正想要的是能够带来好的IOU分数的先验,它与box的大小无关。因此,对于距离度量,使用如下公式:

论文对不同的k运行k-means,用最接近质心绘制平均IOU(下图)。最后选择k = 5作为模型复杂度和高召回率之间的权衡。这些由k-means产生的先验框比之前faster rcnn手工选择的先验框看起来很大不同。

下图可以看到只使用5个聚类产生的先验框就能够达到Avg IOU 61.0,可以与faster rcnn媲美了,如果使用的是k=9则可以达到67.2。

Direct location prediction(直接位置预测)

作者在使用anchor boxes时发现的第二个问题就是:模型不稳定,尤其是在早期迭代的时候。因为任何anchor boxes可以在图像中任意一点结束。模型随机初始化后,需要花很长一段时间才能稳定预测敏感的物体位置。

在此,作者就没有采用预测直接的offset的方法,而使用了预测相对于grid cell的坐标位置的办法,作者又把ground truth限制在了0到1之间,利用logistic回归函数来进行这一限制。

网络在每一个网格单元中预测出 5 个 Bounding Boxes,每个 Bounding Boxes 有五个坐标值 tx,ty,tw,th,t0,他们的关系见下图(Figure3)。假设一个网格单元对于图片左上角的偏移量是 cx、cy,Bounding Boxes Prior 的宽度和高度是 pw、ph,那么预测的结果见下图右面的公式:

Fine-Grained Features

YOLOv1在对于大目标检测有很好的效果,但是对小目标检测上,效果欠佳。为了改善这一问题,作者参考了Faster R-CNN和SSD的想法,在不同层次的特征图上获取不同分辨率的特征。作者将上层的(前面26×26)高分辨率的特征图(feature map)直接连到13×13的feature map上。把26×26×512转换为13×13×2048,并拼接住在一起使整体性能提升1%。

Multi-Scale Training

和GoogleNet训练时一样,为了提高模型的鲁棒性(robust),在训练的时候使用多尺度[6]的输入进行训练。YOLOv2 每迭代几次都会改变网络参数。每 10 个 Batch,网络会随机地选择一个新的图片尺寸,由于使用了下采样参数是 32,所以不同的尺寸大小也选择为 32 的倍数 {320,352…..608},最小 320,最大 608,网络会自动改变尺寸,并继续训练的过程。

下图是YOLO v2的速度与精度对比图。

联合训练分类和检测数据

该论文提出分类检测数据联合训练机制。对于detection的data可以基于整个YOLO v2 的lossfunction进行反向传播,而遇到了classification的data只反向传播与分类有关的那部分。

不过这样会出现一些问题,比如说分类的数据的label比检测数据的label种类要更多更宽泛,如果需要同时利用这些数据,必须要有一个统一的方式来融合这些数据。一般的分类任务都使用softmax分类但是softmax是类与类之间是互相排斥的,比如在coco数据里有一大类是狗,但是在imagenet分类数据集里有一小类是某种特定的狗,那么使用softmax是没有方法做到区分的。

所以论文采用的是多标签的label,使得数据集之间没有互相排斥。

Hierarchical classification

为了构建multi-label多标签的数据机构,借助了WordNet。WordNet的结构是一个有向图,而不是树。这是因为语言是复杂的,可能存在回路。例如,“狗”既是“犬”的一种,也是“家畜”的一种,两者都是合成词网。与使用全图结构不同,本论文通过从ImageNet中的概念构建层次树来简化这个问题。

简单点说就是把imagenet和coco数据集所含有的label利用这个WordNet来寻找他们之间的关系,然后剔除中间的从属关系,最后剩下一颗层次树。

最后的结果得到是WordTree,一个视觉概念的层次模型。

而predict某一类的时候采取预测了每个节点的条件概率,例如对于“terrier”这一大类:

如果我们想知道具体某一类的绝对概率,就这么计算:

下面指出了与原来只使用一个softmax分类1k个分类不同,使用WordTree,在共低元上执行多个softmax操作。

猜你喜欢

转载自blog.csdn.net/sinat_33487968/article/details/84102387