1.实验结果

- 第一张图横轴参数量,第二张图横轴是一张图片推理的时间,这两个值都是越小越好
2.网络结构
(1)整体结构
- 简化版

- 细节版(这个没有区分Neck和Head)

- 左边一列是Backbone的模块组成,每个模块可以在右边找到具体结构。
- Neck部分其实就是PAN结构,和YOLO v5一样
- Neck后面接的三个检测头(解耦头 ),每个检测头输出两个特征图,一个类别特征图,一个边框特征图。

(2)边框特征图输出参数(基于Anchor Free的输出)

- 如上图,对于每个cell,64(16×4)维的输出,每16维对应一个方向的长度的概率,比如前16维是预测框左边距离中心点的长度,16维分别是长度取0、1、2.....16的概率,取最大概率的长度作为预测框左边距离中心点的长度,其余方向同理。
2.正负样本匹配
-

-
1.获取三个检测头的输出结果(预测框、概率值)
-
2.将三个检测头的结果映射到同一原图(640x640),同时将(l,t,r,b)坐标转化为左上坐标(Xmin,Ymin)和右下坐标(Xmax,Ymax),这样就可以确定一个预测框的位置了。
-

-
3.初筛:所有的grid cell的中心点(anchor point)在GT框内的即为初始正样本(如上图)
-
4.提取对应类别的pred score,计算CIOU计算align_matric=pred_scoreo.5 * Clou6根据align_matric的值,筛选出top-N作为正样本
-

-
5.处理一个中心点可能匹配到多个GT框的情况,这时取CloU值大的作为对应GT的预测框。就是将中心点对应的预测框和GT1和GT2做CIOU,哪个大就作为那个GT的正样本。(上图)
4.损失函数
(1)损失组成
-
预测框类别损失:BCE(二元交叉熵损失)
-
预测框定位损失:CIoU、DFL(分布焦点损失)
-
LOSS = γ1Lcls + γ2Lciou + γ3Ldfl
