🎮 Simulateur : Pipeline intégré — De la détection à la mesure
🔴 Photogrammétrie
Boîte sélectionnée
Boîte masquée
Référence
Objet final
8.56
0.50
Modèle
🎯 Visualisation du pipeline
📋 Pipeline étape par étape
Cet exercice final intègre les deux exercices de détection et le principe de photogrammétrie présenté dans la section « Photogrammétrie et référence d’échelle » — exactement le même calcul que celui implémenté dans la figure de mesure par référence d’échelle de ce chapitre. Le scénario reproduit une situation réaliste : un détecteur (Faster R-CNN ou YOLO) génère plusieurs boîtes candidates se chevauchant pour le même objet d’intérêt ; après les avoir filtrées par NMS, la boîte survivante de plus haute confiance est utilisée, avec une boîte de référence de largeur réelle connue (comme la carte de \(8{,}56\) cm), pour estimer les dimensions réelles de l’objet détecté.
score parmi celles conservées est la détection finale de l’objet (l’entrée garantit que toutes les boîtes candidates correspondent à un seul objet physique, donc la première boîte sélectionnée par le NMS est déjà le résultat final).indice score. Ensuite, la ligne Total conservées : X. Enfin, la ligne Objet : L x A cm, où \(L\) et \(A\) sont la largeur et la hauteur estimées de l’objet, chacune avec 2 décimales.| Étape | Concept du chapitre |
|---|---|
| Plusieurs boîtes candidates | Sortie brute d’un détecteur comme le Faster R-CNN ou le YOLO, avant le post-traitement |
| NMS (EP09_04) | Filtre les détections redondantes, ne conservant que la plus fiable pour l’objet |
| Référence d’échelle connue | Même principe que la carte de \(8{,}56\) cm utilisée dans la section « Photogrammétrie et référence d’échelle » |
| Conversion pixel → centimètre | Règle de trois simple : \(\text{cm/pixel} = L_{ref} / w_{ref\_px}\), appliquée à la boîte finale de l’objet |
morph.py pouvant aidermm.IoU(boxA, boxB) — la même fonction suggérée dans l’EP09_04, ici réutilisée dans l’étape de NMS de ce pipeline intégré (rappelez-vous de la conversion de format : \(w = x_2-x_1\), \(h = y_2-y_1\)).Entrée :
Sortie :
indice score.Total conservées : X.Objet : L x A cm.| Entrée | Sortie | Observation |
|---|---|---|
| 8.56 30 200 170 288 3 0.5 250 100 470 250 0.92 255 105 468 245 0.88 600 600 650 650 0.40 |
0 0.9200 2 0.4000 Total conservées : 2 Objet : 13.45 x 9.17 cm |
La boîte 1 est supprimée car elle chevauche fortement la boîte 0 ; la détection finale de l’objet est la boîte 0. |
%%writefile EP09_06.py
# Code PythonOverwriting EP09_06.py
TestSuite("EP09_06.py").run()✔️ EP09_06.cases existe déjà dans casos/
📋 3 cas chargé(s) depuis casos/EP09_06.cases
🔍 Test de Python : EP09_06.py
⚠️ EP09_06.py : fichier vide (moins de 3 lignes). Tests ignorés.