Skip to main content

Image Classification

IMPORTANT

Every change in this tab must be saved by clicking 💾 Save Configuration before starting training. Training uses the last saved settings.

Model Variant

VariantSpeed / AccuracyBest Use Case
YOLOv8n (Nano)Fastest / Lower accuracyEdge devices with very limited compute
YOLOv8s (Small)Fast / ModerateGeneral-purpose edge deployment
YOLOv8m (Medium)Moderate / HighPowerful edge devices or desktop inference
YOLOv8l (Large)Slower / HighestMaximum accuracy where compute is available
TIP

Start with YOLOv8n. Upgrade to a larger variant only if accuracy is insufficient.

Task Type

Task TypeDescription
DetectionOutputs bounding boxes with class labels and confidence scores

Dataset Format

FormatDescription
YOLOYOLO-format .txt label files — default and recommended
COCOCOCO JSON annotation format
Pascal VOCXML annotation format

Image Configuration

ParameterDescriptionRecommended
Image SizeResolution images are resized to before training. Larger = better for small objects, slower.640 px
ChannelsRGB (3-channel) or Grayscale (1-channel)RGB
Train SplitPercentage of dataset used for training80%
Validation SplitPercentage reserved for validation metrics20%

Data Augmentation

AugmentationEffectRecommended
Horizontal FlipMirrors image left-to-right randomlyYes
RotationRandom angle rotationYes
BrightnessRandom brighten or darkenYes
MosaicCombines 4 training images into one tile — very effective for detectionYes
BlurApplies Gaussian blurOptional
NoiseAdds random pixel noiseOptional

Inference Configuration

ParameterDescriptionDefault
Confidence ThresholdMinimum confidence score for a detection to be returned0.25
IoU ThresholdNMS threshold for bounding box overlap before discarding lower-confidence boxes0.45
Max DetectionsMaximum bounding boxes returned per image100

Training Hyperparameters

ParameterDescriptionDefault
EpochsComplete passes through the training dataset100
PatienceEpochs without improvement before early stopping4
Batch SizeImages per training step. Reduce if out of memory.16
NOTE

QAT (Quantization Aware Training) is hidden for Image projects — YOLO uses a different quantization flow during ONNX export.

Dataset Splitting & YAML Generation

Before training, split your dataset and generate data.yaml via the Preprocessing tab.

  1. Click "Split & Analyze Dataset" to scan datasets/, detect imbalances, and view statistics
  2. Set Train Split (80%) and Validation Split (20%), then click the split button
  3. Click "Generate YAML Files" — creates data.yaml in your project root

The split keeps images in their original class folders and only distributes label files into train/val subfolders:

datasets/
human_face/
image1.jpg
image2.jpg
labels/
image1.txt
image2.txt
classes.txt
labels/
train/ ← training label .txt files
val/ ← validation label .txt files

Typical data.yaml content:

path: /path/to/your/project
train: datasets/images/train
val: datasets/images/val
names:
0: class_name_1
1: class_name_2
TIP

After generating the YAML file, verify class names are correctly mapped and match the class IDs in your label files (0-indexed).