Yolo26n Indian Fmcg Detection
Fine-tuned YOLO26n on a merged dataset of three Indian grocery sources from Roboflow Universe. Part of the Kirana Detective project — an AI system for small Indian grocery stores to visually count and reconcile...
Source du modèle
- Type
- Other
- Taille du fichier
- 7,42–11,6 MB
- Modèle de base
- yolo26n
- Version
- vRevision e3dba8d
- Mis à jour
- 22 sept. 2026
- Téléchargements
- 13
- Source
- Hugging Face
Description de la source
YOLO26n — Indian FMCG Product Detection
Fine-tuned YOLO26n on a merged dataset of three Indian grocery sources from Roboflow Universe. Part of the Kirana Detective project — an AI system for small Indian grocery stores to visually count and reconcile shelf/counter inventory from photos.
Performance
| Metric | Value |
|---|---|
| mAP50 (all classes) | 0.428 |
| mAP50-95 (all classes) | 0.302 |
| Total classes | 1,831 |
| Validation images | 1,236 |
| Validation instances | 13,443 |
Training ran for 100 epochs (60 initial + 40 resumed after restart) on an NVIDIA A10G via Modal.
Training Datasets
| Dataset | Workspace | Version | Images | Classes |
|---|---|---|---|---|
| Indian Grocery Object Detection | agentsk47 | v1 | ~400 | 10 |
| Grocery Items | IIT Patna | v45 | 6,695 | 20 |
| Indian Market | project-c5ho0 | v2 | 4,694 | 2 |
All three datasets were downloaded in YOLOv8 format, class IDs remapped to a unified list, and merged
before training. The full unified class list (1,831 entries) is in class_names.json.
Files
| File | Description |
|---|---|
best.pt | PyTorch checkpoint (best mAP50 epoch) |
best.onnx | ONNX export, opset 12 (recommended for inference) |
class_names.json | Full list of 1,831 class names (index = class_id) |
How to Use
ONNX Runtime (CPU / any platform)
import json, numpy as np, onnxruntime as ort
from PIL import Image
session = ort.InferenceSession("best.onnx", providers=["CPUExecutionProvider"])
class_names = json.load(open("class_names.json"))
def preprocess(path, size=640):
img = Image.open(path).convert("RGB").resize((size, size))
return (np.array(img, dtype=np.float32) / 255.0).transpose(2, 0, 1)[None]
input_name = session.get_inputs()[0].name
outputs = session.run(None, {input_name: preprocess("shelf.jpg")})
# outputs[0]: (1, 300, 6) — [x1, y1, x2, y2, confidence, class_id]
Ultralytics (PyTorch)
from ultralytics import YOLO
model = YOLO("best.pt")
results = model.predict("shelf.jpg", imgsz=640, conf=0.25)
results[0].show()
Training Details
| Parameter | Value |
|---|---|
| Base model | YOLO26n |
| Input size | 640 × 640 |
| Epochs | 100 (60 initial + 40 resumed) |
| Batch size | 16 |
| Early stopping patience | 20 |
| Export format | ONNX opset 12 |
| Hardware | NVIDIA A10G (Modal) |
Citation
@misc{kirana-detective-yolo-2026,
title = {Kirana Detective: YOLO26n Indian FMCG Product Detector},
author = {Syed Naazim Hussain},
year = {2026},
url = {https://huggingface.co/naazimsnh02/yolo26n-indian-fmcg-detection}
}
Sources
1 source
Sources
1 sourceVérifié 9 sept.
Artefacts du modèle
3 artefacts
Artefacts du modèle
3 artefactsExtraits de sources
2 extraits
Extraits de sources
2 extraits--- license: apache-2.0 base_model: yolo26n language: - en tags: - object-detection - yolo - indian-fmcg - onnx - ultralytics - kirana pipeline_tag: object-detection datasets: - agentsk47/indian-grocery-object-detection-mfsnx - iit-patna-qg1jh/grocery_items-7i2em - project-c5ho0/indian-market-qieug --- # YOLO26n — Indian FMCG Product Detection Fine-tuned [YOLO26n](https://docs.ultralytics.com) on a **merged dataset of three Indian grocery sources** from Roboflow Universe. Part of the **Kirana Detective** project — an AI system for small Indian grocery stores to visually count and reconcile shelf/counter inventory from photos. ## Performance | Metric | Value | |---|---| | mAP50 (all classes) | **0.428** | | mAP50-95 (all classes) | **0.302** | | Total classes | 1,831 | | Validation images | 1,236 | | Validation instances | 13,443 | Training ran for **100 epochs** (60 initial + 40 resumed after restart) on an NVIDIA A10G via Modal. ## Training Datasets | Dataset | Workspace | Version | Images | Classes | |---|---|---|---|---| | [Indian Grocery Object Detection](https://universe.roboflow.com/agentsk47/indian-grocery-object-detection-mfsnx) | agentsk47 | v1 | ~400 | 10 | | [Grocery Items](https://universe.roboflow.com/iit-patna-qg1jh/grocery_items-7i2em) | IIT Patna | v45 | 6,695 | 20 | | [Indian Market](https://universe.roboflow.com/project-c5ho0/indian-market-qieug) | project-c5ho0 | v2 | 4,694 | 2 | All three datasets were downloaded in **YOLOv8 format**, class IDs remapped to a unified list, and merged before training. The full unified class list (1,831 entries) is in `class_names.json`. ## Files | File | Description | |---|---| | `best.pt` | PyTorch checkpoint (best mAP50 epoch) | | `best.onnx` | ONNX export, opset 12 (recommended for inference) | | `class_names.json` | Full list of 1,831 class names (index = class_id) | ## How to Use ### ONNX Runtime (CPU / any platform) ```python import json, numpy as np, onnxruntime as ort from PIL import Image session = ort.InferenceSession("best.onnx", providers=["CPUExecutionProvider"]) class_names = json.load(open("class_names.json")) def preprocess(path, size=640): img = Image.open(path).convert("RGB").resize((size, size)) return (np.array(img, dtype=np.float32) / 255.0).transpose(2, 0, 1)[None] input_name = session.get_inputs()[0].name outputs = session.run(None, {input_name: preproce...
Source context: 13 downloads · 0 likes · Pipeline object-detection · Library ultralytics · Repo build-small-hackathon/yolo26n-indian-fmcg-detection
