Anomaly detection with synthetic data

Hello everyone,

I’m working on a project in which I need to detect anomalies in a particular scene (two background scenes). The anomaly could be anything (bolts, pliers, glasses, etc.). However, I have generated synthetic data training with unity because I have very few realistic images and here comes the problem. I was looking throughout different techniques like Domain Adaptation since I need to find a solution that implies training on synthetic and doing inference on real ones, but each of them seems to be focused on the class of the image and thus could fail in finding particular anomaly. I’m not an expert in this field and I’d like to hear an expert’s opinion since I am a little bit stuck :frowning: . thank you very much for you answers!

Hey @mr_joe,

One suggestion from myside is to use the Transfer Learning paradigm. You can use the pretrained models for better generalization. You have mentioned that you are generating synthetic data to train your model. In that case try using the techniques like Domain Randomization for generating the dataset that is more diverse and robust. Please do refer to the paper below.

Hello @Preetham_R_Patlolla,

Thank you for your answer! The idea is good but I think it won’t be suitable for my task because the goal is to detect anomalies (even unknown ones) while the paper is about detecting training-time known objects. Moreover, I didn’t mention that the synthetic data have been provided to me by someone else but there is plenty of it (more than 15k against 350 real ones). I was thinking about anomaly detector with GANs. My intuition is to try to translate synthetic images in realistic ones (maybe using StyleGAN) and then train an anomaly detector on synthetic realistic images without any anomalies in order to detect them at inference time.