1 预处理
DENSE_RATIO = 4
选择比例为4的原因如下:
1. DetectoRS的FPN最下层特征图的采样比例为4,
2 预训练模型
我们在训练模型时,也需要使用预训练模型,其中预训练的数据来自于历史采集数据;
2 目标函数的设计
2.1 正负样本的定义
这里,正负样本的定义我们参照的是COCO数据集的标准,
(今后,我们还需要根据测试定义适合此项目的正负样本的定义标准)
在COCO数据集中,正负样本的区分是通过IoU来实现的,
其中正负样本的阈值为:IoU = 0.5
截图如下:
2.2 loss_heat_map——基于 Focal Loss
在热点图的回归中,“样本不平衡”是一个十分严重的问题,于是我们将基于FL来设计loss函数;
2.2.1 正负阈值的设置——十分重要!!!
正负阈值的设置很重要,较高的正样本阈值对于去除重复的检测框,具有很好的效果;
其中包含的物理含义是:使得center_heat_map的能量峰更为集中,从而gaussian_nms()会有更好的效果;
在CenterNet的代码中,只选取了一个正样本,也就是样本中心,如图所示:
3 Post process后处理
3.1 NMS——使用Soft-NMS
因为CenterNet的论文中使用的Soft-NMS算法;
4 备注
4.1 如果输入不一致怎么办呢
可以先使用仿射变换将输入图像填充至模型最大的输入尺寸;
5 调试笔记
5.1 提高Focal Loss正负样本的阈值会使得imbalance的问题变得严重
我在尝试解决“多个重复检测框”时,将neg_loss_t()中的threshold的阈值调到了0.95,结果imbalance的问题,变得严重了,
置信度预测出现了0.4左右的预测分数,如图所示,
出现这种情况的话,可以进一步加大FL的系数alpha的值;
而且loss似乎也降低了,