yolo_v2原理
实现方法
整体上,v2对v1的问题进行了优化,通过多个方面进行改进

- 
Batch Normalization mAP提升2.4% - V2版本舍弃Dropout,卷积后全部加入BatchNormalization
- 网络的每一层的输入都做了归一化,收敛相对更容易
- 通俗来讲,就是对每一层加上干预,使其向我们希望的方面预测
- 批归一化有助于解决反向传播过程中的梯度消失和梯度爆炸问题,降低对一些超参数(比如学习率、网络参数的大小范围、激活函数的选择)的敏感性,并且每个batch分别进行归一化的时候,起到了一定的正则化效果(YOLO2不再使用dropout),从而能够获得更好的收敛速度和收敛效果。
 
- 
更大的分辨率 mAP提升了3.7% - V1训练时用的是224 * 224,测试时使用448 * 448
- V2训练时额外又进行了10次448 * 448的微调
 
- 
聚类提取先验框 召回率大幅提升到88%,同时mAP轻微下降了0.2 - 先验框:去掉了全连接层,去掉了网络中一个Pooling层。416 * 416用作输入尺寸最终能输出一个13 * 13的Feature Map,使用Anchor Box会让精确度稍微下降,但用了它能让YOLO能预测出大于一千个框。
- Dimension clusters(聚类提取先验框的尺度信息):优化先验框,对训练集中标注的边框进行K-mean聚类分析,在model复杂性与high recall之间权衡之后,选择聚类分类数K=5,K-means聚类中的距离如下
 ![image-20211019161825616]() 
- 约束预测边框的位置:YOLO调整了预测公式,将预测边框的中心约束在特定gird网格内,
 
- 
passthrough层检测细粒度特征 mAP提升1 - 因为感受野的原因,小目标信息可能丢失
- 就是在最后一个pooling之前,特征图的大小是2626512,将其1拆4,直接传递(passthrough)到pooling后(并且又经过一组卷积)的特征图,两者叠加到一起作为输出的特征图。
- 根据YOLO2的代码,特征图先用11卷积从 2626512 降维到 2626*64,再做1拆4并passthrough。
 
- 
多尺度图像训练 - 都是卷积操作,因此可以不同尺度图片进行训练
- 每10个Batch,网络会随机地选择一个新的图片尺寸,由于使用了下采样参数是32,所以不同的尺寸大小也选择为32的倍数{320,352…..608},最小320320,最大608608,网络会自动改变尺寸,并继续训练的过程。
 
总结:v2就是在细节上对v1的问题进行了优化,提升了mAP值
 
                    
                     
                    
                 
                    
                

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号