在众多的目标检测训练代码中都支持在线数据增强,但并不能妥善的解决数据不平衡的问题(比如yolov8,paddledetion都无法指定类别权重;使用focal loss也只是可以缓解bbox样本不平衡,并不能完全缓解类别间的不平衡),故此需要离线数据增强手段来实现数据类别的平衡。对yolo数据离线增强,将扩展后的数据保存为jpg图片和txt标签。对于voc数据的增强也是通过yolo格式间接实现(yolo与voc数据格式的转换代码可以参考:python工具方法 41)。通过本博文的代码可以实现数据离线增强,结合python工具方法 42中的代码可以对指定类型中的bbox数据进行增强,实现类别间数据平衡。
1、数据增强
1.1 基本数据增强
先构建数据增强demo,使用albumentations 进行数据增强。albumentations的使用可以参考Albumentations——强大的数据增强库(图像分类、