YOLO v_2

YOLO v_2

2. Better

Batch Normalization.

获得了mAP2%的提升,而且可以移除dropout。

High Resolution Classifier.

先用224224的输入从头开始训练网络,大概160个epoch(表示将所有训练数据循环跑160次),然后再将输入调整到448448,再训练10个epoch。这两步都是在ImageNet数据集上操作。最后再在检测的数据集上fine-tuning,也就是detection的时候用448*448的图像作为输入就可以顺利过渡了。作者的实验表明这样可以提高几乎4%的MAP。

Convolutional With Anchor Boxes.

YOLO利用卷积特征提取器和全连接层来预测bounding box的坐标。而Faster R CNN预测偏移和anchor boxes的置信度。预测偏移简化了问题,使网络更容易学习。

我们从YOLO中移除了全连接层,并使用anchor boxes来预测bounding box,首先我们移除了一个pool层,可以得到跟高的分辨率,然后缩小448的输入图像,变为416。因为我们希望我们的feature map为奇书,只有一个中心单元,Object往往占据图像的中心,所以最好在中心有一个位置来预测这些物体,而不是周围的四个位置。

YOLO以前只有98和box,引入anchor之后box数超过了一千。anchor的加入让mAP下降了0.3%,而召回率提高了7%。

Dimension Clusters.
盒子的尺寸是手工挑选的,网络适当的调整box,但是如果我们给网络选择更高的优先级,网络就可以更好的检测。

我们在训练集上运行k-means聚类算法寻找最好的anchor,如果采用标准的k-means(即用欧式距离来衡量差异),在box的尺寸比较大的时候其误差也更大,而我们希望的是误差和box的尺寸没有太大关系。因此我们采用以下距离度量:
在这里插入图片描述
使用k-means方法生成我们的边界框,以更好的表示方式启动模型,并使任务更容易学习。

Direct location prediction.

当anchor和YOLO一起使用时,模型会变得不稳定,不稳定来自预测box的(x, y)位置,简单的解释,如果训练的图片中的物体一张是在左面,下一张又在右面,就会产生这样的波动,显然的这个过程是不受控制的,毕竟图片中的物体位置他在哪里就在哪里。在RPN中网络预测的 tx 和 ty (x, y)的中心坐标计算为:
在这里插入图片描述
在随机初始化的情况下,模型需要很长时间才能稳定预测出合理的偏移量。

在这里作者并没有采用直接预测offset的方法,还是沿用了YOLO算法中直接预测相对于grid cell的坐标位置的方式。

前面提到网络在最后一个卷积层输出13*13大小的feature map,然后每个cell预测5个bounding box,然后每个bounding box预测5个值:tx,ty,tw,th和to(这里的to类似YOLOv1中的confidence)。看下图,tx和ty经过sigmoid函数处理后范围在0到1之间,这样的归一化处理也使得模型训练更加稳定;cx和cy表示一个cell和图像左上角的横纵距离;pw和ph表示bounding box的宽高,这样bx和by就是cx和cy这个cell附近的anchor来预测tx和ty得到的结果。
在这里插入图片描述
Fine-Grained Features.

The passthrough layer 将相邻特征叠加到不同的信道中,从而将分辨率较高的特征与低分辨率特征连接起来。这可以有效的预测小的object。

Multi-Scale Training.

我们希望YOLOv_2能够在不同大小的图像上运行,所以我们不是固定输入图像的大小,而是每隔几次迭代就改变网络,我们的网络随机的选择一个新的图像尺寸大小。

这个机制迫使网络学会在不同的输入维度上进行很好的预测,这意味着同一网络可以进行不同分辨率的检测。网络在更小的尺寸下运行的更快,可以在速度和准确性上折中。

在这里插入图片描述
3. Faster

Darknet-19.

我们最后的模型,Darknet-19,有19层卷积层和5层maxpooling layers。
在这里插入图片描述
Training for Detection

在前面第2步之后,就开始把网络移植到detection,并开始基于检测的数据再进行fine-tuning。首先把最后一个卷积层去掉,然后添加3个3x3 的卷积层,每个卷积层有1024个filter,而且每个后面都连接一个1x1的卷积层,1x1卷积的filter个数根据需要检测的类来定。比如对于VOC数据,由于每个grid cell我们需要预测5个box,每个box有5个坐标值和20个类别值,所以每个grid cell有125个filter(与YOLOv1不同,在YOLOv1中每个grid cell有30个filter,还记得那个7x7x30的矩阵吗,而且在YOLOv1中,类别概率是由grid cell来预测的,也就是说一个grid cell对应的两个box的类别概率是一样的,但是在YOLOv2中,类别概率是属于box的,每个box对应一个类别概率,而不是由grid cell决定,因此这边每个box对应25个预测值(5个坐标加20个类别值),而在YOLOv1中一个grid cell的两个box的20个类别值是一样的)。另外作者还提到将最后一个3x3x512的卷积层和倒数第二个卷积层相连。最后作者在检测数据集上fine tune这个预训练模型160个epoch,学习率采用0.001,并且在第60和90epoch的时候将学习率除以10,weight decay采用0.0005。

4. Stronger

在训练过程中,我们混合了来自检测和分类数据集的样本。当我们的网络看到标记用于检测的图像时,我们基于完全的YOLOv_2进行方向传播。当遇到分类图像时,我们只会从体系结构的分类特定部分反向传播。

参考:https://blog.csdn.net/u014380165/article/details/77961414

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值