YOLO-V2
更快!更强!
YOLO-V2-BatchNormalization
BatchNormalization(批归一化)是一个常用的深度神经网络优化技术,它可以将输入数据进行归一化处理,使得神经网络更容易进行学习。在YOLOv2中,BatchNormalization主要用于减少过拟合,提高模型的泛化能力和训练速度。
具体而言,YOLOv2中的BatchNormalization包含两个部分:归一化和放缩。归一化是指将输入数据进行零均值化和单位方差化处理,使得每个特征的值落在较小的范围内,有利于网络的学习。放缩是指通过乘以一个可学习的标量和加上一个可学习的偏移量来还原数据的原始分布,从而保留数据的表达能力。这两个过程的组合可以减少梯度消失和梯度爆炸问题,提高模型的稳定性和收敛速度。
总之,BatchNormalization是一种有效的优化技术,可以使得神经网络更加健壮,具有更好的泛化能力和训练速度。在YOLOv2中,BatchNormalization被广泛应用,并取得了显著的效果。
YOLO-V2-更大的分辨率
V1训练时用的是224224,测试时使用448448
可能导致模型水土不服,V2训练时额外又进行了10次448*448的微调使用高分辨率分类器后,YOLOv2的mAP提升了约4%
YOLO-V2的网络结构
YOLO-V2-聚类提取先验框
YOLO-V2-AnchorBox
通过引入anchorboxes,使得预测的box数量更多(1313n)
跟faster-rcnn系列不同的是先验框并不是直接按照长宽固定比给定
YOLO-V2-DirectedLocationPrediction
感受野
概述来说就是特征图上的点能看到原始图像多大区域
如果堆叠3个3x3的卷积层,并且保持滑动窗口步长为1,其感受野就是7*7的了,这跟一个使用7x7卷积核的结果是一样的,那为什么非要堆叠3个小卷积呢?
假设输入大小都是hwc,并且都使用c个卷积核(得到c个特征图),可以来计算一下其各自所需参数:
很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也随着增多,还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作。
YOLO-V2-Fine-GrainedFeatures
最后一层时感受野太大了,小目标可能丢失了,需融合之前的特征
YOLO-V2-Multi-Scale
都是卷积操作可没人能限制我了!一定iterations之后改变输入图片大小最小的图像尺寸为320x320
最大的图像尺寸为608x608