ps640 Map0.5:0.95 28.0~50.7 Map0.5 45.7~68.9 CPUMs 45~766 V100Ms 6.3~12.1
ps1280 Map0.5:0.95 36.0~53.7 Map0.5 54.4~71.3 CPUMs 153~1784 V100Ms 8.1~15.8
Yolov6
基于 RepVGG style[4] 设计了可重参数化、更高效的骨干网络 EfficientRep Backbone 和 Rep-PAN Neck
YOLOv6 支持 GPU(TensorRT)、CPU(OPENVINO)、ARM(MNN、TNN、NCNN)等不同平台的部署
Backbone:
1.将Backbone中stride=2的普通Conv层替换成了stride=2的RepConv层
2.将原始的CSP-Block都重新设计为RepBlock
2.1 RepBlock的第一个RepConv会做channel维度的变换和对齐
2.2 将原始的SPPF优化设计为更加高效的SimSPPF
Neck:
1.Rep-PAN基于PAN拓扑方式
1.1 用RepBlock替换了CSP-Block
1.2 对整体Neck中的算子进行了调整
Head:
位置: yolo(x,6)/models/yolo_head.py
simOTA(标签分配) 整体逻辑
1、确定正样本候选区域。
2、计算anchor与gt的iou。
3、在候选区域内计算cost。
4、使用iou确定每个gt的dynamic_k。
5、为每个gt取cost排名最小的前dynamic_k个anchor作为正样本,其余为负样本。
6、使用正负样本计算loss。
loss考虑: 距离损失、角度损失、IoU损失、形状