【没有哪个港口是永远的停留~论文解读】YOLO v2

YOLO v2哪些部分进行了升级

如表中所示

BN层的添加

理论: 批归一化导致收敛的显著改善,同时消除了对其他形式正则化[7]的需求。

实践:通过在YOLO中的所有卷积层上添加批归一化,我们在mAP中得到了2%以上的提高。  批规范化也有助于模型的规范化。 通过批处理归一化,我们可以从模型中删除dropout,且不会过拟合。

 

High Resolution Classififier

理论:所有最先进的检测方法都使用在Image Net[16]上预先训练的分类器。 从AlexNet开始,大多数分类器对小于256×256[8]的输入图像进行操作。提升分辨率使网络有时间调整其 filters ,以更好地工作在更高分辨率的输入。
 
实践: 对于YOLOv2,我们首先在 ImageNet上以448×448分辨率对分类网络进行了10个 epochsfine tune 。 然后,我们对检测结果的网络进行微调。 这个高分辨率的分类网络给了我们 增加了几乎4%的mAP。
 
 

Convolutional With Anchor Boxes

理论: YOLO v1 直接使用卷积特征提取器+全连接层来预测  bounding boxes 的坐标。 仅使用 faster R-CNN 的 RPN 结构预测偏移和  anchor boxes 的置信度。预测偏移量而不是坐标 简化了问题,使网络更容易学习
 

实践:我们从YOLO v1 中移除全连接层,并使用 anchor boxes 来预测 bounding boxes。 首先,我们消除了一个池层,使网络卷积层的输出分辨率更高。 我们还缩小了网络,以操作416个输入图像,而不是448×448。 我们这样做是因为我们想在我们的特征映射中有一个奇数的位置,所以有一个中心单元格。 物体,特别是大的物体,往往占据图像的中心,所以在中心有一个位置来预测这些物体是很好的, YOLO的卷积层将图像降采样为32倍,因此,通过使用416的输入图像,我们得到了13×13的输出特征映射。

当我们移动到  anchor boxes 时,我们还将类预测机制与空间位置解耦,而不是预测每个  anchor boxes 的类和 objectness。  在YOLO之后, objectness 预测仍然预测  ground truth 的IOU,和条件概率
 
使用  anchor boxes ,我们得到了一个小的精度下降。 YOLO只预测每幅图像98个boxs,但是有了  anchor boxes ,我们的模型预测了一千多个。 没有  anchor boxes ,我们的中间模式我得到69.5mAP,召回率为81%。 使用  anchor boxes ,我们的模型获得69.2mAP,召回率为88%。 即使mAP降低,召回的增加意味着我们的模型有更多的改进空间
 
 

Dimension Clusters

理论:当使用  anchor boxes 与YOLO时,我们遇到两个问题。 首先是boxs尺寸是手工挑选的。 网络可以学会适当地调整box 但是,如果我们为网络选择更好的先验,我们可以使网络更容易地学会预测良好的检测。
 
实践: 我们不通过手工选择先验,而是在训练集  bounding boxes上运行k均值聚类 找到好的先验。如果我们使用标准的k-均值与欧氏距离较大的框比较小的框产生更多的误差。 然而,我们真正想要的是先验,导致良好的 IOU,这是独立的box 的大小。 因此,对于我们的距离度量,我们使用:
 

结果,5个box和9个box,聚类和手动的结果 

Direct location prediction.  

现象: 当使用带有YOLO的anchor boxes时,我们遇到了第二个问题:模型不稳定,特别是在早期迭代期间。 大多数不稳定来自于预测box的(x,y)位置。
模型
x=t_x\cdot w_a-x_a
y=t_y\cdot h_a-y_a
变成
意思如图

 

结果,由于我们约束位置预测,参数化更容易学习,使网络更稳定。 使用聚类和直接预测bounding box中心区域  提高了YOLO几乎5%。

Fine-Grained Features

理论:13×13的特征图对大对象足够但是不适应小对象

模型:在13X13前面的26X26层制作类似resnet的结构与13X13链接,取得1%的提高

Multi-Scale Training

理论:不同尺度图像训练可以提高模型鲁棒性

实践:VOC2007的检测框架。 比以往的检测方法更快、更准确。 它还可以以不同的分辨率运行,以便于在速度和精度之间进行权衡。 YOLOv2条目实际上是相同的训练模型,具有相同的权重,只是以不同的大小进行评估。 Geforce GTX TitanX

 

Darknet-19 分类任务

模型:darknet-19(如图) + 批量归一化 + 正则

结果:在Image Net上达到72.9%的top-1精度和91.2%的top-5精度。

详细过程: 我们在标准Image Net1000类分类数据集上对网络进行了160个epochs的训练,使用随机梯度下降,起始学习率为0.1polynomial rate = 4  ,重量衰减为0.0005,动量衰减为0.9。 在训练中,我们使用标准的数据增强技巧,包括随机作物、旋转和色调 饱和和曝光位移。 正如上面所讨论的,在我们对224×224的图像进行初步训练之后,我们在更大的尺寸,448处对我们的网络进行了微调。对于这种微调,我们用上述参数进行训练,但只有10个epochs,并以10−3的学习率开始。 在这种更高的分辨率下,我们的网络达到了76.5%的top-1精度, top-5精度为93.3%

Darknet-19 检测任务

 

模型:如图

实践: 我们训练网络 160个epochs,起始 学习率为10−3,在 60和90个epochs将其除以10,我们使用的重量衰减 为0.0005,动量为0.9数据增强
 

一些骚操作

目标检测和分类数据集混合训练

做法: 当我们的网络看到标记为检测的图像时,我们可以根据完整的YOLOv2丢失函数反向传播。
 当它看到分类图像时,我们只会从体系结构的特定分类部分反向传播损失。
 
 
 
 

Hierarchical classification分级分类

做法:如图,分级分类方式把标签转化为树形结构
 

以狗为例

 

Pr(狗A|狗)

Pr(狗B|狗)

Pr(狗C|狗)

某个目标是A的概率可以由以下计算得来

P(狗A) = Pr(狗A | 狗)*Pr(狗 | 哺乳动物)*Pr(哺乳动物 | ... ... ) * ... ...*Pr(动物 | 物)

 
  实践:为了验证这种方法,我们在使用1000类Image Net构建的Word树上训练Darknet-19模型。 为了构建Word Tree1k,我们添加了所有扩展标签空间的中间节点 1000到1369。 在训练过程中,这样如果一个图像被 标记为“狗A”,它也会被 标记为“狗”和“哺乳动物”等。也就是多分类问题。 去计算 条件概率,我们的模型预测了一个1369个值的向量 。 最后一层网络如图所示

使用与以前相同的训练参数,我们的分层Darknet-19达到71.9%的top-1精度和90.4%的top-5精度。 尽管增加了369个额外的输出,我们的精度只略有下降。 以这种方式进行分类也有一些好处。 性能在新的或未知的对象类别上优雅地下降。 例如,  如果网络看到一只狗的图片,但不确定它是哪种类型的狗,它仍然会以很高的信心预测“狗”,但在下义词之间传播的信心较低
 
-----------------------end
 
 
 
 
 
 
 
 
 
 
 
 
 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值