OpenAI published a really groundbreaking result early this year, showing how to, in a VR simulation environment, generate thousands of variations in the background surrounding an object, in order to help train a computer vision model supporting a robot arm. The technique was called domain randomization.
Here’s the paper: Domain Randomization for Transferring Deep Neural Networks from
Simulation to the Real World.
I was wondering about doing this to extend data augmentation in images, in a way that’s similar to what we’ve learned here over the past few weeks. Here’s how I think it would work:
- Obtain a bounding box for the object you’d like to recognize. This could happen in the final step of e.g. the dog breeds challenge dataset. This would mean generating a new file for each image in e.g. the test set that was correctly classified, with a bounding box around the dog.
- Cut out the background of the bounding box i.e. what’s not in the bounding box, and save that background.
- Generate images with random noise, or with data generated from shuffling all other cutouts generated from step 2.
- Save images. This means you have a lot more training data.
- Do another step of data augmentation.
Has anyone tried this? I don’t have time to attempt this in the next few days (traveling), but it seems like an interesting enough approach to warrant some attention.