File size: 4,183 Bytes
985c437
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import imgaug.augmenters as iaa
from torchvision import transforms
from pytorchyolo.utils.transforms import ToTensor, PadSquare, RelativeLabels, AbsoluteLabels, ImgAug, adjustGrassColor
import imgaug  as ia

class DefaultAug(ImgAug):
    def __init__(self, ):
        self.augmentations = iaa.Sequential([
            iaa.Sharpen((0.0, 0.1)),
            iaa.Affine(rotate=(-0, 0), translate_percent=(-0.1, 0.1), scale=(0.8, 1.1)),
            iaa.AddToBrightness((-20, 100)),
            iaa.AddToHue((-10, 10)),
            iaa.Fliplr(0.5),
        ])

class greenAug(ImgAug):
    def __init__(self, ):
        self.augmentations = iaa.Sequential([
            iaa.Sharpen((0.0, 0.1)),
            iaa.Affine(rotate=(-10, 10), translate_percent=(-0.1, 0.1), scale=(0.6, 1.2)),
            iaa.ChangeColorspace(from_colorspace="RGB", to_colorspace="HSV"),
            iaa.WithChannels(0, iaa.Add((4))),           # Adjust hue
            iaa.WithChannels(1, iaa.LinearContrast((1))),  # Adjust saturation
            iaa.WithChannels(1, iaa.Add((5))),
            iaa.WithChannels(2, iaa.LinearContrast((1))),  # Adjust value/brightness
            iaa.WithChannels(2, iaa.Add((92))),
            iaa.ChangeColorspace(from_colorspace="HSV", to_colorspace="RGB"),
        ])

class StrongAug(ImgAug):
    def __init__(self, ):
        self.augmentations = iaa.Sequential([
            # iaa.Dropout([0.0, 0.01]),
            iaa.Sharpen((0.0, 0.1)),
            iaa.Affine(rotate=(-15, 15), translate_percent=(-0.1, 0.1), scale=(0.8, 1.1)),
            iaa.AddToBrightness((-10, 60)),
            iaa.AddToHue((-5, 10)),
            iaa.Fliplr(0.5),
        ])

class greyAug(ImgAug):
    def __init__(self, ):
        self.augmentations = iaa.Sequential([
            iaa.Dropout([0.0, 0.01]),
            iaa.Sharpen((0.0, 0.1)),
            iaa.Affine(rotate=(-45, 45), translate_percent=(-0.1, 0.1), scale=(0.8, 1.1)),
            iaa.AddToBrightness((0, 80)),
            iaa.AddToHue((10, 20)),
            iaa.Fliplr(0.5),
           # iaa.ChangeColorTemperature((1100,10000)),
            iaa.Grayscale(alpha=(0.0, 1.0)),
        ])

class newAug(ImgAug):
    def __init__(self, ):

        self.augmentations = iaa.Sequential([
            iaa.Fliplr(0.5),  # Horizontally flip 50% of the images
            iaa.Affine(
                rotate=(-10, 10),  # Rotate images between -25 and 25 degrees
                shear=(-8, 8),     # Shear images
                scale={"x": (0.8, 1.2), "y": (0.8, 1.2)}  # Scale images
            ),
            iaa.GaussianBlur(sigma=(0, 1.0)),  # Apply gaussian blur with a sigma between 0 and 1.0
            iaa.Multiply((0.8, 4.2)),  # Change brightness (50-150% of original value)
            iaa.LinearContrast((0.8, 1.2)),  # Adjust contrast
            iaa.AddToHueAndSaturation((-20, 20)),  # Add/Subtract hue and saturation
        ])


class GrassAug(ImgAug):
    def __init__(self, ):
        self.augmentations = iaa.Sequential([
            iaa.Sharpen((0.0, 0.1)),
            iaa.Affine(rotate=(-15, 15), translate_percent=(-0.1, 0.1), scale=(0.8, 1.1)),
            iaa.AddToBrightness((0, 20)),
            iaa.WithColorspace(
                    to_colorspace="HSV",
                    from_colorspace="RGB",
                    children=iaa.Sequential([
                        iaa.WithChannels(1, iaa.Add((-5, 5))),  # Randomly adjust saturation
                        iaa.WithChannels(2,iaa.Add((-20, 90)))  # Randomly adjust value/brightness
                    ]) 
                ),
            iaa.Fliplr(0.5),
        ])







AUGMENTATION_TRANSFORMS_Version1 = transforms.Compose([
    AbsoluteLabels(),
    StrongAug(),
    PadSquare(),
    RelativeLabels(),
    ToTensor(),
])

AUGMENTATION_TRANSFORMS = transforms.Compose([
    AbsoluteLabels(),
    StrongAug(),
    PadSquare(),
    RelativeLabels(),
    ToTensor(),
])

AUGMENTATION_TRANSFORMS_VersionHSV_PAPER = transforms.Compose([
    AbsoluteLabels(),
    GrassAug(),
    PadSquare(),
    RelativeLabels(),
    ToTensor(),
])

AUGMENTATION_NONE = transforms.Compose([
    AbsoluteLabels(),
    PadSquare(),
    RelativeLabels(),
    ToTensor(),
])