我尝试修改 yolov8 存储库中现有的 augument.py 代码,但它在训练时仍然实现默认的 albumentations。有什么方法可以添加额外的蛋白吗?
这就是我尝试添加附加专辑的内容。
def __init__(self, p=1.0):
"""Initialize the transform object for YOLO bbox formatted params."""
self.p = p
self.transform = None
prefix = colorstr('albumentations: ')
try:
import albumentations as A
check_version(A.__version__, '1.0.3', hard=True) # version requirement
T = [
A.Blur(p=0.01),
A.MedianBlur(p=0.01),
A.ToGray(p=0.01),
A.CLAHE(p=0.01),
A.RandomBrightnessContrast(p=0.5),
A.RandomGamma(p=0.5),
A.ImageCompression(quality_lower=75, p=0.5),
A.MotionBlur(p=0.5, blur_limit=(3,9), always_apply=False)] # transforms
self.transform = A.Compose(T, bbox_params=A.BboxParams(format='yolo', label_fields=['class_labels']))
LOGGER.info(prefix + ', '.join(f'{x}'.replace('always_apply=False, ', '') for x in T if x.p))
except ImportError: # package not installed, skip
pass
except Exception as e:
LOGGER.info(f'{prefix}{e}')
但是我在训练过程中没有看到“ImageCompression”和“MotionBlur”专辑。
T = [
A.Blur(p=0.01),
A.MedianBlur(p=0.01),
A.ToGray(p=0.01),
A.CLAHE(p=0.01),
A.RandomBrightnessContrast(p=0.5),
A.RandomGamma(p=0.5),
A.ImageCompression(quality_lower=75, p=0.5),
A.MotionBlur(p=0.5, blur_limit=(3,9), always_apply=False)] # transforms
]
尝试将上面的代码更改为以下代码。
T = [
A.ImageCompression(quality_lower=75, p=0.5),
A.MotionBlur(p=0.5, blur_limit=(3, 9), always_apply=False)
]
T += [
A.Blur(p=0.01),
A.MedianBlur(p=0.01),
A.ToGray(p=0.01),
A.CLAHE(p=0.01),
A.RandomBrightnessContrast(p=0.5),
A.RandomGamma(p=0.5)
]