我正在为图像中的多类对象训练对象检测模型。该数据集是自定义收集和标记的数据,在地面真相数据中带有边界框和类标签。
我使用此自定义数据训练了 MobileNet + SSD , SqueezeDet 和 YoloV3 网络,但效果不佳。选择这些型号的基本原理是它们的快速性能和轻巧(低内存占用空间)。他们的单发检测器方法在文献中也显示出良好的性能。
数据集中的类实例分布如下
每个图像可以具有来自五个类别中任何一个的对象。 4级和5级的发生率很高。
对于4级和5级,召回得分和平均精确度较高,而其他3级,其表现差异很大(较低)。
我尝试对不同的过滤参数,NMS阈值和模型训练参数进行微调,但无济于事。
问题
如何解决此类类别不平衡问题,以提高检测目标检测模型中所有类别的平均精度和目标检测精度。 ?
答案 0 :(得分:0)
低精度意味着您的模型遭受误报。因此,您可以尝试强否定挖掘。运行模型。查找误报。将它们包括在您的训练数据中。您甚至可以尝试仅使用假阴性作为假示例。
如您所愿,如果可能,另一种方法可以是收集更多数据。
如果不可能,您可以考虑添加综合数据。 (即,更改图像或视点的亮度(乘以矩阵,使其看起来像拉伸))
最后一件事可能是每个类都有数据,即每个类有5k。
PS:请记住,模型的灵活性会产生很大的影响。因此要注意过度拟合。
答案 1 :(得分:-1)
在生成您以前的作者提到的综合数据时,请勿将照明或视点变化等应用于您的所有数据集,而应随机进行。类的数量也相去甚远,并且最好是限制数量或为这些类收集更多的数据集。您还可以尝试应用班级权重,以更多地惩罚过度代表的班级。您做出了许多假设,即简单的实验会产生令您惊讶的结果。请记住,深度学习是科学和许多艺术的一部分。