2021SC@SDUSC
接上文 分析我们没有分析过的两阶段目标检测模型FasterRCNN-ResNet50vd-FPN
简要介绍
PaddleDetection不仅复现了常见的目标检测模型,还对模型的进行了图像增强、骨干网络优化、DropBlock,IoU Loss IoUAware等一系列深度优化。同时,内置集成模型压缩能力,提供了一键式剪裁,蒸馏,量化的脚本,大大提高模型精度和速度,并减小模型体积。
1.单阶段目标检测模型YOLOv3
精度方面,原论文作者开源的YOLOv3模型在COCO数据集上精度是33.0,PaddleDetectio将其提高到43.6(提高10.6个绝对百分点);推理速度方面,领先于同类产品40%左右。
2.两阶段目标检测模型FasterRCNN-ResNet50vd-FPN
精度方面,通过减小NMS的proposal,和减小FPN的通道数,虽然精度略有降低,但是推理速度大幅提升;通过PaddleClas里的SSLD蒸馏的预训练、CIoU Loss、自动图像增强等优化方法,将精度优化到41.6(提升5.2个绝对百分点)。推理速度方面,提升了38%,在Tesla V100上的预测速度达到60FPS。
3.模型压缩
在YOLOv3系列模型上,通过一键式剪裁+蒸馏的方案,YOLOv3_MobileNetV1剪裁了近70%的计算量,在精度基本无损或略有提升的情况,模型在高通855芯片上加速2.3倍,GPU上也有60%的加速;YOLOv3-ResNet50vd-DCN剪裁模型,精度提升了0.6,GPU上加速20%。同时,对应压缩后的模型、压缩脚本和操作方法均可以在Github上获取。
我们接下来分析的就是两阶段目标检测模型FasterRCNN-ResNet50vd-FPN
本模型代码很多,放个地址:pytorch/vision/detection/faster_rcnn
首先是总体逻辑图 这个图详见转载
由此看本图
主体部分分为这几大部分:
Transform,主要是对输入图像进行转换
Resnet-50,主干网,主要是特征提取
FPN,主要用于构建特征金字塔给RPN提供输入特征图
RPN,主要是产生region proposals
ROI,主要是检测object区域,各个区域的labels以及各个区域的scores</