Computer vision YOLOv8 vs DETR

Suite du sujet Détection d'objets sur les photos aériennes… premier essai :

Je suis tombé sur YOLO un peu par hasard et comme la doc et les exemples étaient bien fichus et que j’ai rapidement eu de bons résultats, j’ai pas franchement cherché plus loin.

YOLO est rapide et donc adapté à du flux vidéo, mais pas du tout limité à ça.

Il est facile d’utiliser un modèle pré-entraîné et de le spécialiser avec relativement peu de données annotées (ma plus grosse surprise), et sans que ça nécessite beaucoup de temps et de ressources… donc j’ai pas cherché plus loin.

Je l’ai utilisé pour la détection des visages et plaques pour le floutage dans Panoramax, On y détecte au passage les panneaux de signalisation, et depuis la v8 de YOLO on peut aussi faire de la classification, ce qui m’a permis d’entraîner un modèle pour non seulement détecter les panneaux dans les photos mais en plus déterminer de quel type de panneau il s’agit, et comme ça fonctionne super bien… j’ai pas cherché plus loin :wink:

Preneur de toute expérience bien sûr pour explorer d’autres outils si ils sont aussi complets, simple à utiliser et performants…

3 Likes

Ce que j’ai pu trouver jusque la :

  • Yolo v8 est effectivement plutôt performant - beaucoup plus que dans mes souvenirs. Par contre il y a plusieurs modèles : n, s, l, m, x, et la différence de performance entre le plus petit (n) et le plus grand (x) est assez élevée : ~50%. Si c’est le plus petit qui est utilisé (par défault), ça peut être un premier pas
  • Les différents modèles sont classés (pour la détection d’objets) ici . le meilleur (Co-DETR) est à 65% de mAP (un mix de la précision et du recall du modèle) pour ~54% pour yolo v8, la différence de performance n’est donc pas énorme comme je le pensais
  • Un autre point à prendre en compte est la vitesse d’inférence / d’entraînement (et par proxy la conso). On peut l’estimer (vaguement, il y a plein d’autres facteurs pour l’entrainement) avec la taille du modèle : 300M de param pour CO-DETR contre 68M pour yolov8. Je m’attend donc a ce qu’on y perde en vitesse
  • Un framework qui a l’air sympa pour pouvoir changer de modèle facilement : mmdetection qui permet de choisir parmi tous les modèles de modelZoo (CO-DETR et yolo inclut) et permet de faire classification, détection d’objets et segmentation apparement facilement. Jamais utilisé cela dit.

En bref : c’était intéressant à regarder mais cela risque de demander du temps pour un gain de performances pas très grand et une perte de vitesse. Pas sur que ça vaille le coup.

1 Like

J’utilise le x

Oui, au fur et à mesure des versions YOLO a nettement progressé, donc ce qui était valable il y a quelques années ne l’est plus forcément.

J’avais un peu fouillé avant de démarrer vraiment sur YOLO pour Panoramax.

Sur mon laptop, je suis à 25ms d’inférence sur des images de 500x500 pixels, pour une conso de 80W en charge de mon GPU… soit moins de 2 mWh par inférence, ça se compte en microgrammes de CO2.

C’est toujours bon de rester en veille pour voir si la donne a vraiment changé car ça arrive de temps en temps qu’un saut mérite de changer d’outil.

3 Likes

Je vois une mention de CVAT dans cette vidéo du SOTM US 2023

Ça aurait un intérêt vs label studio ? (ou en complément)

Aucune idée, il y a tellement d’outils que rien que faire la comparaison prends du temps, temps qu’on a rarement… donc… « j’ai pas cherché plus loin »

Ce que j’ai pas trouvé c’est la connexion avec un backend de ML… chose que je n’ai pas encore fait avec label-studio (qui le propose) mais qui me semble de plus en plus à mettre sur le haut de la pile des trucs à faire vu les usages de plus en plus nombreux qu’on peut envisager sur ce domaine.