- Notifications
You must be signed in to change notification settings - Fork4
Easily create an instance segmentation dataset from an existing pool of objects of interest, distractor objects and background images. Easy configuration, diverse image compositions, multiple blending methods, Dockerized.
License
a-nau/synthetic-dataset-generation
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This repository is a modified (and extended) versionofdebidatta/syndata-generation, whichhopefully is more convenient to use. All credits to the original authors (also seeCitation).
Figure: Minimal dataset example of 5 images where only assets from theimage pool were used.
This repo helps you to very easily create your own instance segmentation dataset rapidly. What do you need?The relevant resources, i.e. an image pool of
- background images (any sizes)
- objects of interest (in RGBA format)
- distractor objects (in RGBA format)
- splits for training, validation and test (of your resources) as describedhere
The rest will be handled by this repository :) If you need help gathering data for the image pool, checkourproject page with details on image scraping and asset selection.
This version was developed as part of apaper (citation), also checktheproject page for more details.
There two places to make configurations:
config.py to adjust e.g. (all variables are explained in the comments)
- number of objects of interests
- number of distractors
- max IoU between objects
- which blending methods are used
- ... (seeconfig.py)
generate_synthetic_data.py to set
- paths to the resources needed for dataset generation (also seeData)
- number of images that should be generated
- flags for enabling occlusion, rotation and scaling
- flag for multithreading for faster image generation (recommended)
Install the requirements
pip install -r requirements.txt
And run
python src/tools/generate_synthetic_data.py
Build using
source scripts/docker_build.sh# for CPUsource scripts/GPU/docker_build.sh# for GPU (faster Poisson Blending)
Run dataset generation using
source scripts/docker_run.sh# for CPUsource scripts/GPU/docker_run.sh# for GPU (faster Poisson Blending)
Please check the respective files, in order to make any changes.
If you use this code for scientific research, please consider citing the following two works.
The original work, including thecode on which this repository isbuilt. Thanks a lot to the authors for providing their code!
@inproceedings{Dwibedi_2017_ICCV,title = {Cut, Paste and Learn: Surprisingly Easy Synthesis for Instance Detection},author = {Dwibedi, Debidatta and Misra, Ishan and Hebert, Martial},year = 2017,month = {Oct},booktitle = {The IEEE International Conference on Computer Vision (ICCV)}}
Our work for which this repository was developed.
@inproceedings{naumannScrapeCutPasteLearn2022,title = {Scrape, Cut, Paste and Learn: Automated Dataset Generation Applied to Parcel Logistics},author = {Naumann, Alexander and Hertlein, Felix and Zhou, Benchun and Dörr, Laura and Furmans, Kai},booktitle = {{{IEEE Conference}} on {{Machine Learning}} and Applications ({{ICMLA}})},date = 2022}
About
Easily create an instance segmentation dataset from an existing pool of objects of interest, distractor objects and background images. Easy configuration, diverse image compositions, multiple blending methods, Dockerized.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.