Skip to content

Sidivete/SKU_Detection_API

Repository files navigation

SKU Detection API

API de détection et reconnaissance automatique de produits en rayon, combinant détection d'objets et similarité visuelle pour identifier des SKUs à partir d'images de linéaires.


Démonstration

Image envoyée à l'API :

Input

Résultat retourné — détection des produits avec bounding boxes :

Result


Projet

L'API reçoit une image de rayon et retourne la position et l'identité de chaque produit détecté. Elle combine deux modèles complémentaires : DETR pour la localisation des produits, et CLIP pour la reconnaissance par similarité visuelle avec un catalogue de référence.


Ce que j'ai construit

  • Pipeline de détection en deux étapes : segmentation des produits via DETR puis identification par similarité visuelle via CLIP
  • API REST Flask multi-client avec paramétrage dynamique par client et par port
  • Système d'embeddings : génération et stockage des vecteurs de référence par catalogue produit
  • Support de deux variantes de modèle CLIP (base et large) selon les besoins de précision et de performance
  • Réponse structurée en JSON avec bounding boxes, labels, scores de confiance et images segmentées
  • Interface web légère pour tester la détection en conditions réelles

Stack

  • Détection objets : DETR (Facebook/Hugging Face)
  • Similarité visuelle : CLIP OpenAI — base et large
  • Framework API : Flask, Python
  • Computer Vision : PyTorch, OpenCV, Hugging Face Transformers
  • Embeddings : NumPy
  • Déploiement : configurable par port et par client

Architecture

app.py          Point d entrée, chargement des modèles, routing
routes/         Endpoints API (détection, génération embeddings)
services/       Logique métier (segmentation, matching CLIP)
models/         Chargement et initialisation CLIP et DETR
config.py       Configuration des chemins et paramètres

Installation

git clone https://github.com/Sidivete/SKU_Detection_API.git
cd SKU_Detection_API
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Télécharger les modèles CLIP et DETR depuis Hugging Face et les placer dans le dossier Modele/.


Lancement

python3 app.py --port 5000 --customer nom_client

Auteur

Sidi Teyib BEDDY — ML Engineer

LinkedIn · GitHub

About

API de détection de produits en rayon — Computer Vision (DETR + CLIP), Flask, déployé en production

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages