一、前言
使用 yolo11进行目标检测时,发现训练数据集存在类别数量不平衡的情况,查阅了一下资料,可采取以下方法。
二、样本增强
少数类的框是独立存在于图片中,则可通过颜色、亮度、几何变换等方法人为增加少数类的样本数,使少数类的框的数量 和多数类的框数量上保持平衡。
三、方法二
修改 loss.py文件中的 bce初始化权值,少数类赋予更大权值,使模型更关注少数类。
#self.bce = nn.BCEWithLogitsLoss(reduction="none")device = torch.device("cuda" if torch.cuda.is_available() else "cpu")tensor1 = torch.tensor([1.0, 6.0]) # 第一类与第二类重要性之比为:1:6self.bce = nn.BCEWithLogitsLoss(weight=tensor1.to(device), reduction="none")