目标检测-yolo2 darknet19骨干网络(backbone)

介绍

YOLOv2 采用了一个新的网络模型作为 特征提取器,称为Darknet-19。

官网:https://pjreddie.com/darknet/imagenet/#pretrained

Darknet与Darknet-19的关系

包括19个卷积层和5个maxpooling层,如下图:

注意:一般输入形状是 416x416

Darknet-19与VGG16模型设计原则是一致的,主要采用 3x3 卷积,采用 2x2 的 maxpooling 层之后,特征图维度 降低2倍,而同时将特征图的 channles增加两倍。

与NIN(Network in Network)类似,Darknet-19最终采用 global avgpooling 做预测,并且在 3x3 卷积之间使用 1x1 卷积来压缩特征图channles以降低模型计算量和参数。

输出

当输入是224时:倒数第二层输出 7x7的特征图

当输入是416时:倒数第二层输出 13x13的特征图

Batch Normalization

使用Batch Normalization,可以提升模型收敛速度,而且可以起到一定正则化效果,降低模型的过拟合。在YOLOv2中,每个卷积层后面都添加了Batch Normalization层,并且不再使用droput。使用Batch Normalization后,加快收敛速度,降低模型过拟合。YOLOv2的mAP提升了2.4%。

优点

在ImageNet分类数据集上,Darknet-19的top-1准确度为72.9%,top-5准确度为91.2%,但是模型参数相对小一些,速度更快。

使用Darknet-19之后,YOLOv2的mAP值没有显著提升,但是计算量却可以减少约33%。

训练

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

High Resolution Classifier

目前的目标检测方法中,基本上都会使用ImageNet预训练过的模型(classifier)来提取特征,如果用的是 AlexNet 网络,那么输入图片会被resize到不足 256 * 256,导致分辨率不够高,给检测带来困难。

YOLOv1在采用 224x224 分类模型预训练后,将分辨率增加至 448x448 ,并使用这个高分辨率在检测数据集上finetune。但是 直接切换分辨率,检测模型 可能难以快速适应高分辨率。

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


原文出处:/show_1EF6QjfqzlY7.html