4. Trained Models
The system uses two detection models based on YOLOv8 or similar architecture:
4.1. Empty Space Detection (void.pt)
Model dedicated to identifying empty spaces.
Characteristics:
Precise detection of locations without products.
Differentiation between intentional empty space and stockout.
Takes into account price tags and separators.
4.1.1. Architecture Comparison
We evaluated several approaches for empty space detection:
YOLOv8 with original Marjan dataset 200 images
YOLOv8 with data augmentation 600 images
Transfer Learning from YOLOv8 model with augmented dataset with a 2300 image dataset via Kaggle
YOLOv8 with data augmentation with a dataset via Roboflow of 3000 images
YOLOv11
DETR (transformer approach)
4.1.1.1. YOLOv8 - Original Dataset
Metric |
mAP50 |
mAP50-95 |
Precision |
Recall |
|---|---|---|---|---|
Global |
0.743 |
0.359 |
0.832 |
0.635 |
Applied Augmentations: None
YOLOv8 confusion matrix for empty space detection
YOLOv8 training curves for empty space detection
4.1.1.2. YOLOv8 - Augmented Dataset
Metric |
mAP50 |
mAP50-95 |
Precision |
Recall |
|---|---|---|---|---|
Global |
0.723 |
0.366 |
0.695 |
0.695 |
Applied Augmentations: - 50% probability of horizontal flip - Random cropping (0-16%) - Rotation (-14° to +14°) - Brightness adjustment (±25%) - Gaussian blur (0-0.7 pixels)
YOLOv8 confusion matrix for empty space detection
YOLOv8 training curves for empty space detection
4.1.1.3. YOLOv8 - Transfer Learning
Using Kaggle dataset .. list-table:: Transfer Learning Performance
- widths:
25 20 20 20 15
- header-rows:
1
Metric
mAP50
mAP50-95
Precision
Recall
Global
0.62
0.301
0.644
0.551
Analysis: Transfer learning did not yield good results, probably due to overfitting on the source dataset.
YOLOv8 confusion matrix for empty space detection
YOLOv8 training curves for empty space detection
4.1.1.4. YOLOv8 - Augmented Dataset
Metric |
mAP50 |
mAP50-95 |
Precision |
Recall |
|---|---|---|---|---|
Global |
0.708 |
0.376 |
0.712 |
0.665 |
YOLOv8 confusion matrix for empty space detection
YOLOv8 training curves for empty space detection
4.1.1.5. YOLOv8 - New Dataset + Marjan Dataset
Metric |
mAP50 |
mAP50-95 |
Precision |
Recall |
|---|---|---|---|---|
Global |
0.9544 |
0.66 |
0.932 |
0.91 |
YOLOv8 confusion matrix for empty space detection
YOLOv8 training curves for empty space detection
4.1.1.6. YOLOv11
Metric |
mAP50 |
mAP50-95 |
Precision |
Recall |
|---|---|---|---|---|
Global |
0.73 |
0.374 |
0.736 |
0.679 |
Applied Augmentations: None
YOLOv11 confusion matrix for empty space detection
YOLOv11 training curves for empty space detection
4.1.1.7. YOLOv11
Metric |
mAP50 |
mAP50-95 |
Precision |
Recall |
|---|---|---|---|---|
Global |
0.918 |
0.561 |
0.871 |
0.865 |
Applied Augmentations: New Dataset + Marjan
YOLOv11 confusion matrix for empty space detection
YOLOv11 training curves for empty space detection
4.1.1.8. DETR - Transformer Approach
DETR training curves for empty space detection
Comparative Analysis:
Conclusion: YOLOv8 offers the best compromise with 95.4% mAP50
4.1.2. Error Analysis
Main causes of errors:
Occlusion – Partially hidden products (23% of errors)
Reflections – On metallic packaging (17%)
Visual similarity – Between products of the same brand (15%)
Small size – Products smaller than 50px (12%)
4.2. Individual Product Detection (sku.pt)
Model specialized in detecting individual products (SKU - Stock Keeping Unit).
Characteristics:
Fine identification of precise product references.
Ability to distinguish variants of the same product (size, flavor, format).
Useful for automatic restocking tasks or planogram verification.
High precision for detailed classification tasks in complex environments.
4.2.1. 10k Images Dataset
Metric |
mAP50 |
mAP50-95 |
Precision |
Recall |
|---|---|---|---|---|
Global |
0.916 |
0.586 |
0.905 |
0.845 |
YOLOv8 confusion matrix for object detection
YOLOv8 normalized confusion matrix for object detection
YOLOv8 training curves for object detection.
4.2.2. Transfer Learning: Moroccan Products Dataset 350 Images
Metric |
mAP50 |
mAP50-95 |
Precision |
Recall |
|---|---|---|---|---|
Global |
0.951 |
0.794 |
0.91 |
0.924 |
YOLOv8 confusion matrix for object detection
YOLOv8 normalized confusion matrix for object detection
YOLOv8 training curves for object detection.
4.3. Technical Appendices
4.3.1. Hardware Configuration
GPU |
8x NVIDIA A100 80GB |
CPU |
2x Intel Xeon Gold 6342 |
RAM |
1TB DDR4 |
Storage |
20TB NVMe RAID |
OS |
Ubuntu 22.04 LTS |
4.3.2. Datasets
Dataset |
Images |
Classes |
|---|---|---|
Voids |
+8,000 |
1 |
Product for SKU |
+10,000 |
1 |
4.3.3. Glossary
mAP50: Mean Average Precision at IoU=50%
mAP50-95: Average mAP over IoU from 50% to 95%
IoU: Intersection over Union
TP/FP/FN: True/False Positives, False Negatives