How to apply transforms to satellite Images and its masks

I have satellite a Image segmentation task
With 3 channel Images and a 1 channel Binary mask

I have troubles implementing Transforms

Earlier I was working with these transforms which worked well

 img_train_transform = transforms.Compose(
        [
            transforms.ToTensor(),
            transforms.Resize(
                (config.INPUT_IMAGE_HEIGHT, config.INPUT_IMAGE_WIDTH),
                antialias=False,
            ),

mask_val_transform = transforms.Compose(
        [
            transforms.ToTensor(),
            transforms.Resize(
                 (config.INPUT_IMAGE_HEIGHT, config.INPUT_IMAGE_WIDTH),
                 interpolation=InterpolationMode.NEAREST,
                antialias=False,
             ),

But my model accuracy was just around 0.6 dice score.
I figured I need to use some data augmentation,

But whenever I try to add a any new transform like this

transforms.ToTensor(),
transforms.Resize(
                (config.INPUT_IMAGE_HEIGHT, config.INPUT_IMAGE_WIDTH),
                antialias=False,
            ),
transforms.RandomRotation(180)

The predictions get distorted and Eventually die out in few epochs

I tried to implement the transforms in another way that changes to PIL first then to Tensor like this

       transforms.ToPILImage(),
       
        transforms.Resize(
            (config.INPUT_IMAGE_HEIGHT, config.INPUT_IMAGE_WIDTH),
            antialias=True,
        ),
        
        transforms.ToTensor(),

I get predictions like this after 5 epochs, these are very distorted

I’m stuck for the past 3 days
Please help !