Détection vs classification : mise en situation
Les modules précédents classaient une observation entière (une facture, un client, une image complète au module 6). Ce module aborde un problème différent : localiser où se trouvent plusieurs objets dans une image, et identifier ce qu’ils sont — deux réponses, pas une seule.
Le scénario
Section titled “Le scénario”Une ligne de production dépose des pièces (cercles, carrés, triangles, étoiles) sur un tapis de convoyeur, pour un tri automatique par une caméra. L’objectif : détecter chaque pièce individuellement, avec sa position exacte (une boîte englobante) et sa forme.
Un jeu de données généré, pas téléchargé
Section titled “Un jeu de données généré, pas téléchargé”Plutôt que de dépendre d’un jeu de données externe volumineux, ce module génère ses propres images :
from PIL import Image, ImageDrawimport numpy as np
def generate_shape_image(size=160, n_shapes_range=(2, 4), seed=None): """Genere une image avec plusieurs formes, et retourne (image, boxes [x1,y1,x2,y2], labels [0..3]).""" rng = np.random.default_rng(seed) # ... dessine un fond texture + 2 a 4 formes (cercle, carre, triangle, etoile) # de couleur, taille et position aleatoires, sans chevauchement excessif return img, boxes, labelsCette approche a un avantage direct : aucune dépendance externe fragile (pas de compte, pas de téléchargement de plusieurs gigaoctets), un jeu de données entièrement reproductible (une graine aléatoire fixe régénère exactement les mêmes images), et un contrôle total sur la difficulté du problème.
train: 200 images, val: 40 imagesLe format d’annotation
Section titled “Le format d’annotation”Chaque image est accompagnée d’une liste de boîtes englobantes ([x1, y1, x2, y2], en pixels) et d’un label par boîte (0 = cercle, 1 = carré, 2 = triangle, 3 = étoile) — le format standard utilisé par la plupart des bibliothèques de détection d’objets, dont torchvision.
Prochaine étape
Section titled “Prochaine étape”👉 Le détecteur pré-entraîné, tel quel
Junior TSAFACK – 12/09/2026