paper:PP-YOLO: An Effective and Efficient Implementation of Object Detector
code: PaddlePaddle/PaddleDetection
一、概述
PP-YOLO和YOLOV4, YOLOV5一样都是在YOLOV3的基础上进行改进。
在resnet骨干网络系列,数据增广仅靠mixup的条件下,通过合理的tricks组合,不断提升模型性能。
PP-YOLO
二、改进思路
2.1 ResNet50-vd作为整个架构,并将部分卷积层替换成可变形卷积
适当增加了网络复杂度。由于DCN(可变形卷积从概念到实现过程)会带来额外的推理时间,我们仅仅在最后一层的3x3卷积替换成DCN卷积使用可变性卷积替代Resnet50-vd
2.2 使用FPN结构
2.3 选用大的batch size
batchsize从64调整到196
2.4 使用DropBlock
可参考YOLO(三) YOLOv5原理文章
2.5 使用Mish激活函数
可参考YOLO(三) YOLOv5原理文章
2.6 增加软标签 IOU Aware Branch
其中t表示锚点与其匹配真实框之间的IoU,p表示原始IoU分支的输出。注:仅仅正样本的IoU损失进行了计算。通过替换损失函数,IoU损失分支表现更佳。分类概率和目标物体得分相乘作为最后的置信度,这显然是没有考虑定位的准确度。我们增加了一个额外的IOU预测分支来去衡量检测框定位的准确度,额外引入的参数和FLOPS可以忽略不计
2.7 Grid Sensitive
这里可以联想到
sigmoid
函数两侧的梯度很小的原因导致的。
2.8 Matrix NMS
受Soft-NMS启发,将NMS转为并行方法运行。Matrix NMS相较传统NMS运行速度更快。
2.9 CoordConv
它在输入特征图,添加了两个通道,一个表征i坐标,一个表征j坐标。这两个通道带有坐标信息,从而允许网络学习完全平移不变性和变化平移相关度。
可参考卷积神经网络「失陷」,CoordConv来填坑
参考:
[1] PP-YOLO
[2] ResNet变种(ResNet-B/C/D、Res2Net、ResNeXt、ResNeSt)
[3] 可变形卷积从概念到实现过程
[4] 要拯救CNN的CoordConv受嘲讽,翻译个坐标还用训练?
[5] 卷积神经网络「失陷」,CoordConv来填坑
网友评论