Using a new tool can be overwhelming at first. If you have any doubt about what setting to use or which images to upload, this table contains all the answers you need.
Some settings need a bit more explanations, click on the link to read a more detailed paragraph.
Setting | Recommendation | Commentary |
Image Size | 640x640 | Ultralytics' Yolo default Image Size |
Number of generated Images | 1000 | As much as possible. Ultralytics recommends 1500 images per class |
Size of objects relative to the final image | Specific to your Usecase | |
Number of objects in the final Image | Specific to your Usecase | |
Percent Only Background | Between 1% and 10% | |
Test/Train/Val split | 80% Train 20% Val | We recommend a real life testing set when possible |
Labeled Objects | Between 10 and 15 per object | Get as many angles of your object as possible |
Background Images | Specific to your Usecase | |
Additional Backgrounds | Only if you don't have any other backgrounds | Image backgrounds will usually perform better |
Transformations | Specific to your Usecase |
How to choose the size of your objects
Try to reproduce the variations you will encounter in your production environments
Will your object always be the main focus of the image? Select a size range from 70% to 90% combined with a single object per image
If you object will be an element amongst other in the image, you should select a size range from 10% to 30%.
If you might encounter all of the above or are unsure, select a wide size range, such as from 10% to 90%
See a more detailed explanation here
How to choose the number of objects in the final image
Ask yourself how many objects will there be per image in your production environment.
If the answer is for sure one, put only one object per image.
If there might be several objects per Image, set that more objects should be in each Image.
Beware however of the size range : Having 5 images per object, each taking up 90% of total image size will result in a completely covered background and a high overlap between objects.
We recommend lowering the size range when several objects might be in the image.
How to choose your Background Images
Do you know for sure the background or backgrounds you will encounter in your production environments? Set various Images from those places as background Images
If you want to generalize your training set, we recommend using a collection of varied background such as this one
See a more detailed explanation here
How to choose your Transformations
This is by far the most difficult step and where the quality of your training set will vary the most. There is no magic formula, and the correct combinations will depend on your use-case.
Try to reproduce as closely as possible the variations you will encounter in production.
Skew, Rotate and Flip are recommended as long as it makes sense for your object. (Good for a can of soda, but having upside down animals in your training dataset might deteriorate your precision as you will most likely encounter animals in the "correct" orientation in production)
Overall, be parsimonious with the transformations : too many and your object might become unrecognizable.
We recommend trying several combinations and see which one sticks.