python工具方法 43 yolo|voc数据离线增强(实现数据类型平衡)

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

1、数据增强

1.1 基本数据增强

先构建数据增强demo,使用albumentations 进行数据增强。albumentations的使用可以参考Albumentations——强大的数据增强库(图像分类、分割、关键点检测、目标检测)

这里主要使用各种弹性变化对数据进行增强(以区别与各种算法库中内置的数据增强方法)。albumentations 支持对coco、yolo、voc格式bbox进行数据增强,但这里只使用yolo格式。

猜你喜欢

转载自blog.csdn.net/a486259/article/details/131506336
43