Dataset Structure :
-
QpiAI Pro requires a specific dataset folder structure to ensure efficient data organization and processing. Following this predetermined hierarchy when uploading datasets enables seamless integration and optimal platform performance. This standardized approach ensures consistent data handling and streamlines the model training workflow across projects.
“In QpiAI pro we can have different types of dataset structures to upload”.
-
Image-Only Upload: The QpiAI pro platform allows only image uploads, primarily used for auto annotations. You can upload either single or multiple images by clicking the ‘Select Files’ option, or upload an entire folder of images by clicking the ‘Select Folder’ option.
💡 Note: For Manual Annotations, use image formats JPEG, JPG, and PNG. and For Auto Annotations, use Raw Images of high quality for better accuracy.
-
Uploading Images with Annotations: You can upload a dataset that includes both images and their corresponding annotations. The dataset should follow this structure.
-
The dataset structure consists of a main folder that contains two subfolders: ‘images’ and ‘annotations’. The ‘images’ folder contains all the image files, while the ‘annotations’ folder contains a single JSON file named ‘label.json’ that stores all the annotation data. We might also have an images folder which consists of images and an annotation folder.
-
Annotation File :
QpiAI pro has a specific structure for the annotation file. QpiAI pro accepts annotation files in json format. The content of the json file after uploading will look something like this.
“Here is the skeleton of the annotation file”.
{
“images”: [
{. . . . . . . . . . . . . .}
],
“annotations:[
{...........................}
],
“categories”:[
{..........................}
]
}
- Let’s see what is the content for each section of the annotation file.
Images:
"images": [
{
"id": 1,
"file_name": "1e1b3ea01c.jpg",
"height": 168,
"width": 300
},
{
"id": 2,
"file_name": "0a0300a234.jpg",
"height": 288,
"width": 512
},
{
"id": 3,
"file_name": "0b36ead42d.jpg",
"height": 122,
"width": 411
},
],
-
The image section contains metadata for each individual image:
-
Image ID: Each image is assigned a unique identifier following the standard COCO format.
-
Filename: This field stores the actual name of the image file.
-
Height: The height of the image in pixels.
-
Width: The width of the image in pixels.
-
-
Annotations: Annotations
"annotations": [
{
"id": 1,
"image_id": 1,
"category_id": 1,
"bbox": [
0.2841796875,
0.3296661376953125,
272.9931335449219,
159.22276306152344
],
"area": 43466.72265625,
"segmentation": [],
"iscrowd": 0
},]
- The annotation section contains the metadata for each image for annotations.
- Annotation id: Each annotation has a unique annotation id which corresponds to the image.
- Image id: Each image is assigned a unique identifier following the standard COCO format.
- Category ID: Each annotation is associated with a class label, with its category id.
- BBOX: BBOX represents the bounding box coordinates of the object detected in pixels
- area: The area of the bounding box or annotation.
- segmentation: Segmentation coordinates for an object in the image.
- iscrowd: “iscrowd” is a binary flag (0 or 1) that indicates whether the annotation represents a crowd of objects rather than a single object
- Categories:
"categories": [
{
"id": 1,
"name": "lion",
"supercategory": "object"
}]
- This part of the annotation file has the details of classes of the dataset.
- id: The label identifier. The id field maps to the category_id field in an annotation object.
- supercategory: The parent category for a label.
- name: The name of the class.