Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implémentation du modèle de détection de carte en YOLO V8 #13

Open
2 of 4 tasks
ClemGerard opened this issue Apr 9, 2024 · 10 comments
Open
2 of 4 tasks

Implémentation du modèle de détection de carte en YOLO V8 #13

ClemGerard opened this issue Apr 9, 2024 · 10 comments
Assignees
Labels
enhancement New feature or request

Comments

@ClemGerard
Copy link

ClemGerard commented Apr 9, 2024

Changement du modèle de détection des cartes, passage de YOLO V5 à YOLO V8

Tasks

  • Conversion du dataset de V5 vers V8
  • Réentrainement du modèle
  • Evaluation du modèle
  • Implémentation du module global
@AurelienmartW
Copy link
Contributor

Sur le réentrainement du modèle,
Les résultats sont correct, la detection des cartes se fait bien. Le temps d'inférence est court ~0.2s contre 1s sur YOLOV5 (à confirmer)
Entrainements réalisés:

  • default config
  • sans les flips
  • Sans les flips avec batchsize de 8

Pas de différence majeure sur les performances du modèle ce qui parait etonnant

Après exploration en profondeur :
Les métriques de validation sont moins bonnes que prévue et les bounding box de val sont décalés dans les labels.

Cela semble venir d'un problème concernant la validation du modèle
-> donc pas d'impact sur l'entrainement
ultralytics/ultralytics#9899
L'issue a été remontée sur le repo ultralytics, la nouvelle version devra normalement resoudre ce soucis

@AurelienmartW
Copy link
Contributor

Update: YOLOV8.1.46 semble bien avoir réglé le problème de validation, la MAP50-95 est bien plus en accord avec les résultats visuels. En attente de la fin du training pour valider la résolution

@AurelienmartW
Copy link
Contributor

Evaluation du modèle,
Le modèle semble avoir overfitté sur les images de carte artificielle et a du mal a generaliser sur les cartes réelles du dataset d'evaluation
Essai en cours de reduire les epochs pour limiter l'overfiiting

@AurelienmartW
Copy link
Contributor

La reduction d'epochs n'améliore pas la prediction du modèle en conditions réelles,
Autre piste: ajout d'images "background" qui semblent avoir été effacées lors de la conversion de dataset vers YOLOV8.

@AurelienmartW
Copy link
Contributor

Augmenter la durée des entrainements (nombre d'epoch) améliore sensiblement les résultats.
Des difficulutés subsistent sur la detection de cartes foncées. Cela pourrait venir d'une sous representation dans le dataset.
Une experimentation est en cours avec un entrainement poussé à 500 epochs avec une taille de batch de 16 et AdamW en optimizer

@AurelienmartW
Copy link
Contributor

Labelisation des images de l'IRCGN et ajout du dataset de val pour suivre la performance avec des valeurs quantitatives

@ClemGerard ClemGerard added the enhancement New feature or request label Apr 29, 2024
@ClemGerard
Copy link
Author

Écarts entre les résultats de validation et d'inférence : étude des processus de préprocessing dans le code de YOLO et des fonctions associées.

@ClemGerard
Copy link
Author

Intégrer le module à la chaîne globale de mesure de longueurs d'arme.
Puis test post intégration pour valider les performances (temps d'inférence + précision)

@ClemGerard
Copy link
Author

Gain de 0,2 secondes (20%)
Perte de 15-18% de précisions

Nouveaux entrainements à venir pour gagner en précision.

Tests de montée de charge en YOLO V5 : OK (déploiement) / KO (tests avec YOLO V8)
Si tests avec YOLO V8 OK => entrainement pour améliorer la précision
Si tests avec YOLO V8 KO => Autres

@ClemGerard
Copy link
Author

ClemGerard commented Jun 3, 2024

Nouvelle combinaisons de paramètres : modèle à priori prometteur et toujours aussi rapide.
Résultats à venir ce jour

Update results:
Après réentrainement du modèle avec un IOU threshold plus restrictif 0.7 ->0.9 les résultats ne sont pas meilleurs en terme de précision (>5.5cm). On conserve cependant la vitesse d'inférence.

Prochaine piste, augmenter la résolution des images en entrée

Avec une taille image entrée 640px ->960
On passe à 5cm de précision, cela reste au dessus de la performance de YOLOV5 ~4cm
De plus le temps d'inférence passe autour d'1s de traitement.

A l'heure actuelle YOLOV8 semble moins performant que YOLOV5 avec le même dataset d'entrainement sur de l'OBB.

Si l'on souhaite passer à YOLOV8 il faudra repenser le dataset, en attendant si il n'ya pas de problème de charge on peut rester sur la V5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants