目标检测-yolo2 darknet19骨干网络(backbone) 作者:马育民 • 2020-10-13 10:04 • 阅读:11326 # 介绍 YOLOv2 采用了一个新的网络模型作为 特征提取器,称为Darknet-19。 官网:https://pjreddie.com/darknet/imagenet/#pretrained [Darknet与Darknet-19的关系](https://www.malaoshi.top/show_1EF5EpB6l8y3.html "Darknet与Darknet-19的关系") 包括19个卷积层和5个maxpooling层,如下图: 注意:一般输入形状是 `416x416` [![](https://www.malaoshi.top/upload/0/0/1EF5Ep1DMpDi.png)](https://www.malaoshi.top/upload/0/0/1EF5Ep1DMpDi.png) 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%。 # 优点 [![](https://www.malaoshi.top/upload/pic/deeplearning/QQ20201013101531.png)](https://www.malaoshi.top/upload/pic/deeplearning/QQ20201013101531.png) 在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%的提升。 原文出处:http://malaoshi.top/show_1EF6QjfqzlY7.html