Data Synthesis pipeline to generate object detection data
pip install mdetsyn
And run in python file
from mdetsyn import run_synthesis, create_args
args = create_args()
run_synthesis(args)
python synthesis.py --backgrounds ./backgrounds \
--objects ./objects \
--savename ./synthesis \
--number 1000 \
--class_mapping ./class_mapping.json \
--class_txt ./classes.txt
- Backgrounds folder contain background images (in any folmat)
├── backgrounds/
├── background-0.jpg
├── background-1.jpg
└── ...
- Objects folder contain object images in subfolders (the best is
.png
format withA
channel but any format is still runnable)
├── objects/
├── class_1/
│ ├── image-0.png
│ ├── image-1.png
│ └── ...
├── class_2/
└── ...
-
Each image in objects folder will be synthesis by
n
times withn
is user input -
Output is a synthesis folder contain
images
andlabels
dir same as YOLO format -
Sample visualization:
Background | Object | Synthesis |
---|---|---|
- Random Resize
- Random Rotate
- Random Transparency
- Random Perspective Transform
- Seamless Clone
- Grayscale
- Sometimes seamless clone does not work
- Input parameter for each augment
- Add default arguments to argparse help