Zum Inhalt springen
ModelAufgelistetExtern
Herunterladen

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...

ArtOtherBasismodellyolo26nVersionRevision e3dba8d

Modellquelle

Art
Other
Dateigröße
7,42–11,6 MB
Basismodell
yolo26n
Version
vRevision e3dba8d
Aktualisiert
22. Sept. 2026
Downloads
13
Quelle
Hugging Face

Quellenbeschreibung

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

MetricValue
mAP50 (all classes)0.428
mAP50-95 (all classes)0.302
Total classes1,831
Validation images1,236
Validation instances13,443

Training ran for 100 epochs (60 initial + 40 resumed after restart) on an NVIDIA A10G via Modal.

Training Datasets

DatasetWorkspaceVersionImagesClasses
Indian Grocery Object Detectionagentsk47v1~40010
Grocery ItemsIIT Patnav456,69520
Indian Marketproject-c5ho0v24,6942

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

FileDescription
best.ptPyTorch checkpoint (best mAP50 epoch)
best.onnxONNX export, opset 12 (recommended for inference)
class_names.jsonFull 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

ParameterValue
Base modelYOLO26n
Input size640 × 640
Epochs100 (60 initial + 40 resumed)
Batch size16
Early stopping patience20
Export formatONNX opset 12
HardwareNVIDIA 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}
}

Quellen

1 Quelle
Hugging FacePrimärVersion e3dba8d9fe00d147aa9a8dc61a465db1cd5670a6
huggingface.co/build-small-hackathon/yolo26n-indian-fmcg-detection/tree/e3dba8d9fe00d147aa9a8dc61a465db1cd5670a6

Verifiziert 9. Sept.

Modellartefakte

3 Artefakte

best.onnx

onnx · 11,6 MB · SHA-256 ef272308fe50…f0c1 · Hugging Face

Herunterladen

best.pt

pt · 7,42 MB · SHA-256 f1cac3f26cb9…ec8a · Hugging Face

Herunterladen

yolo26n_fmcg.onnx

onnx · 11,6 MB · SHA-256 ef272308fe50…f0c1 · Hugging Face

Herunterladen

Quellenauszüge

2 Auszüge

--- 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