对于YOLO-Nano,所提方法仅需0.91M参数+1.08G FLOPs取得了25.3%AP指标,以1.8%超越了NanoDet。
方法
网络设计
YOLOv3+DarkNet53+SPP+Decoupled Head(解耦分类与回归任务)+IoU-aware分支(预测IoU置信度)
Decoupled Head
两个任务的梯度值和方向不一致;分类置信度和定位置信度也不匹配,因而需要解耦检测头和分类头。
损失
IoU损失(回归分支使用)+BCE Loss(分类分支和IoU-aware分支使用)
训练Tricks
EMA权值更新+cosine学习率
数据增广
从头开始训练,输入尺寸从448以步长32均匀变化到832,RandomHorizontalFlip,ColorJitter以及多尺度,不使用RandomResizedCrop,同样使用Mosaic与Mixup。MixUp可以帮助YOLOX-L取得0.9%AP指标提升,但会弱化YOLOX-Nano的性能
Anchor free
参考FCOS,每个位置产生一个预测框,并且直接预测四个值:即两个offset以及高宽。将每个目标的中心(3x3大小的区域,称之为multi positives)定义为正样本并预定义一个尺度范围以便于对每个目标分配FPN层级。
SimOTA
label assignment,参考OTA,为了降低计算量,将其简化为:选择对应某GT损失最小(分类回归加权)的top-k网格区域作为正样本,其余作为负样本,k是对应着GT动态变化的。
上述改进的效果:
消融实验
为公平对比,采用了YOLOv5的骨干,包含CSPNet、SiLU激活以及PAN头。采用其缩放规则得到了YOLOX-S、YOLOX-M、YOLOX-L以及YOLOX-X等模型。对比结果如下:
效果对比 轻量级模型对比
网友评论