Folder layout
- Both folders must have exactly these names and sit side by side.
- Images and annotations pair by file stem:
images/frame01.jpgbelongs toannotations/frame01.xml. Every image needs its XML and every XML needs its image. - All images share one extension (
.jpg,.jpegor.png; default.jpg) and one resolution. The ingestor copies them unchanged and does not resize.
Annotation format (Pascal VOC)
An XML file with no
<object> is accepted with a warning.
ingest.yaml
How records are stored
One record per image, not per box. The stored label of an image is its class histogram (for examplecar:3 motor:1), so the dataset summary reports class counts in boxes while the record count is the number of images. Data ids are content hashes, so re-running a failed ingest re-uses its rows.
What the ingestor checks
Plus the checks every ingest runs. A record is copied only when both its image and its XML copy succeed.
Sample dataset
The template ships one 1920×1080 aerial traffic frame from the public VisDrone dataset with its VOC annotation (classes such ascar and motor). The ingest.yaml above ingests it with no overrides.
Next steps
- Stage the data and run the ingest: Prepare Data
- Shared rules for every template: Dataset templates