我想在我自己的交通场景数据(1k 图像)上微调在 KITTI 数据(7.4k 图像)上预训练的物体检测器(YOLOv5)。
KITTI 对象类只包含动态对象,而我的数据也有交通标志。 我尝试在我的数据上微调 KITTI 预训练权重,但训练数据中“汽车”类别似乎存在严重的类别不平衡——> 大多数对象都被预测为汽车。
有没有办法在小数据上克服这种类别不平衡?
一些想法:
在 YOLOv5 github 问题中,他们建议使用 weighted image sampling,但几乎每个图像中都有一辆车,因此该模型可能会在极少数图像上过度拟合。
标记所有 KITTI 图像以包括交通标志并混合数据。虽然这可能会稍微消除类不平衡,但该模型可能会过度拟合 KITTI 数据。我的数据具有相似的场景,但相机的内在特性不同(焦距、照明等)。为了解决这个问题,我可以实现一个加权采样器,为每个图像加载一个 KITTI 图像。
在损失函数中对类进行加权?但我不知道 YOLOv5 损失函数是如何工作的,我找不到任何人设法做到这一点。
收集和标记更多具有更少汽车的数据。这很乏味。
我可能会选择 2. 和 4. 但我很乐意听取您的建议。