论文:MMDetection: Open MMLab Detection Toolbox and Benchmark
Github:https://github.com/open-mmlab/mmdetection.git
商汤和港中文开源的一个集成很多主流目标检测算法的检测框架,提供了超过200多个预训练模型。相比Facebook开源的Detectron框架,作者声称mmdetection有三点优势:performance稍高、训练速度稍快、所需显存稍小。
mmdetection主要特点:
支持的主流检测算法:
模块化设计:
(1)主干网络,Backbone
去除了全连接部分的主干网络结构,像vgg,Resnet等。
(2)颈部模块,Neck
主干网络和检测头中间的连接部分,例如FPN
(3)密集头部模块,DenseHead (AnchorHead/AnchorFreeHead)
例如,RPNHead, RetinaHead, FCOSHead
(4)ROI提取模块,RoIExtractor
(5)ROI头部模块,RoIHead (BBoxHead/MaskHead)
该模块主要任务包括分类预测,边框回归预测,mask分割预测等。
训练流程:
Benchmarking 结果:
效果对比:
回归的损失Regression Losses :
支持Smooth L1 loss ,Bounded IoU Loss , IoU Loss , GIoU Loss , Balanced L1 Loss
归一化层Normalization Layers :
支持Synchronized BN(SyncBN) , Group Normalization (GN) , FrozenBN
训练尺度Training Scales :
输入分辨率为1333 × 800 ,支持多尺度训练,支持多尺度中的“value” mode 和“range” mode。
其他超参数:
(1)设置smooth L1的beta值,smoothl1 beta
将beta设置为1/9,可以提高RPN模块的平均召回率。
(2)允许anchor的边界,allowed border :
在正常的RPN中,当anchor的超过图像的边界,就会被设置为0被忽略。
但是这样会对边界处的物体检测产生影响。如果将其设置为无穷,不被忽略的话,可以将精度从57.1%提升到57.7%。
(3)副正训练样本比例,neg pos ub :
副:正设置为3或者5,可以获得1.1%到1.2%的精度收益。