3 ms·
Super cool. I've always been a big fan of generating synthetic training data. As long as you can degrade/distort the data to match real world conditions, you
by daenz 7y ago
Super cool. I've always been a big fan of generating synthetic training data. As long as you can degrade/distort the data to match real world conditions, you can have your cake and eat it to: accurate inputs with perfect automated labels.
At my last job, we read the contents of receipts and parsed them for purchase information. I was really interested in working there, so I built a docker-based CGI receipt-generator[0] that mimicked real-world conditions of a receipt captured with a camera phone. After getting the job, I expanded it to provide the perfect labelled data of bounding box and character[1]. I then used this data to train custom TensorFlow models.
0. https://github.com/amoffat/metabrite-receipt-tests https://github.com/amoffat/metabrite-receipt-tests
1. https://i.imgur.com/gkdnAkt.jpg https://i.imgur.com/gkdnAkt.jpg
- legulere 7y agoIn medical imaging synthetic training data get called phantom. https://en.wikipedia.org/wiki/Computational_human_phantom https://en.wikipedia.org/wiki/Computational_human_phantom
- desideratum 7y agoThis is really cool! Nice work. Do you remember how you went about creating the original receipt generator? I'd be really interested in this kind of stuff without any ML/DL.
- abetlen 7y agoNot OP but I was just looking through their repo and I've done something similar in the past for a different application. We both used Blender for generating the rendered synthetic data. Blender has a really simple python API that was originally made for simple scripts but you can run it in a headless mode. You start with a base scene that has all of your objects and use the api to randomly generate samples and render them out to a file.