Handling illumination changes in a small dataset


I am working on a instance segmentation problem where I have a small custom dataset of 40 classes with 50 images/class. The images are highly similar to each other because they have a highly similar background while the classes are very different from each other.

I have trained a Mask R-CNN model that performs really well on the test split but when I try to test the model with new pictures that are in similar conditions, the model doesn’t output any predictions.

I suspect the difference in illumination plays a huge role in this problem but I’m not sure how to handle it. I know one solution is to simply collect more data but I’d like to avoid it because I will have to label the data myself.

One idea that I have is to create an artificial dataset based on the real one and augment it by changing the contrast and brightness of the image but I’m not sure if it will help.

Does anyone know other approaches that don’t require more data acquisition?

The brightness transform is available out of the box in fastai and should make it fairly easy to augment your existing data.

I would try it (with settings matching the spread of illumination you observe in your data) before searching for something else.

1 Like