yolo-nas

Tout ce qu’il faut savoir sur YOLO-NAS

La détection d’objet en temps réel est une technique d’intelligence artificielle qui permet de détecter et d’identifier des objets dans une vidéo ou une séquence d’images en temps réel. Cela implique l’utilisation de techniques de vision par ordinateur et d’apprentissage automatique, telles que les réseaux de neurones convolutionnels, pour analyser en temps réel les images.

Pour ce faire, les algorithmes de détection d’objet recherchent des modèles spécifiques dans les images, tels que la forme, la couleur, la texture et la taille des objets, afin de les identifier avec précision.

Ces dernières années, le modèle YOLO (You Only Look Once) a connu un grand succès dans ce domaine en permettant une détection rapide et précise des objets sur une image ou une vidéo.

Cependant, malgré ses performances impressionnantes, YOLO présentait certaines limites en termes de précision.

C’est pourquoi de nombreux chercheurs se sont intéressés aux recherches automatiques d’architectures neuronales, abréviée NAS pour Neural Architecture Search en anglais, afin d’améliorer les performances de YOLO tout en conservant sa rapidité d’exécution.

Ce modèle de détection d’objet en temps réel a été développée par une équipe de chercheurs de l’université de Pékin en Chine et améliorer en collaboration avec l’entreprise Deci AI.

C’est quoi un Neural Architecture Search ?

L’architecture NAS est une méthode d’apprentissage automatique qui permet d’automatiser la recherche de la meilleure architecture de réseau de neurones pour une tâche donnée.

Contrairement aux réseaux de neurones classiques, où l’architecture est définie à l’avance, l’architecture NAS est générée automatiquement en utilisant des algorithmes d’optimisation tels que la recherche par renforcement (Reinforcement Search) ou la recherche en grille (Grid Search). Cette approche permet d’obtenir des architectures plus performantes que celles conçues manuellement.

Pour entrer plus dans le détail, on peut voir ici sur la première image une représentation séquentielle d’un CNN et en dessous une représentation séquentielle de l’arborescence d’une cellule qui va donc servir à trouver l’architecture la plus optimale.

Tout ce qu'il faut savoir sur YOLO-NAS

Ça marche comment YOLO NAS ?

YOLO NAS est une version améliorée du modèle YOLO, qui utilise un NAS pour optimiser la recherche de la meilleure architecture de réseau de neurones pour la détection d’objets en temps réel. Le principe de la recherche d’architecture pour YOLO consiste à générer plusieurs architectures candidates et à les entraîner sur des données d’apprentissage.

Un algorithme de sélection est ensuite utilisé pour déterminer la meilleure architecture en fonction de critères tels que la précision, la couverture d’objets et le temps d’exécution. Les résultats obtenus par YOLO NAS montrent une amélioration significative des performances par rapport à YOLO classique, avec une précision accrue de 2% et une réduction de l’erreur de localisation de 15%.

Tout ce qu'il faut savoir sur YOLO-NAS

Est-ce que YOLO NAS est performant ?

Pour évaluer les performances de YOLO NAS, plusieurs comparaisons ont été réalisées avec les modèles les plus performants à ce jour en termes de détection d’objets en temps réel, tels que RetinaNet, Faster R-CNN ou Single-Shot Detector. Les résultats montrent que YOLO NAS est capable de rivaliser voire de dépasser ces modèles en termes de précision, tout en conservant une vitesse d’exécution similaire.

Les avantages de YOLO NAS par rapport à ces modèles sont son architecture plus légère, son adaptation à des scènes complexes et sa capacité de détection d’objets de petite taille. Bien que le modèle présente de nombreux avantages, il présente cependant quelques inconvénients. L’un des principaux étant sa difficulté à détecter des objets très proches, ce qui peut entraîner une confusion entre des objets voisins. De plus, le modèle peut avoir des difficultés à distinguer des objets similaires, comme des voitures de couleur similaire, ce qui peut entraîner des erreurs de détection.

Il reste toutefois plus performants que les anciennes versions de YOLO comme on peut le voir dans la vidéo ci-dessous :

Source : Mark Freeman (LinkedIn)

YOLO NAS réussit également à surpasser toutes les versions déjà existantes de YOLO en proposant une meilleure précision et une latence plus faible.

Tout ce qu'il faut savoir sur YOLO-NAS

De plus, YOLO NAS dépasse assez largement la Mean Average Precision des anciennes versions de YOLO.

Tout ce qu'il faut savoir sur YOLO-NAS

Conclusion

YOLO NAS a permit de surpasser les performances du modèle YOLO classique, mais il lui reste tout de même un bon nombre de point à améliorer.

Grâce aux avancées dans la recherche d’architectures et dans l’entraînement des modèles de détection d’objets en temps réel, l’utilisation de réseaux de neurones à architecture NAS comme YOLO NAS offre des perspectives passionnantes pour des applications innovantes dans de nombreux domaines en partant de la conduite autonome pour arriver à la vérification de conformité aux normes de sécurité en passant par la recherche et sauvetage.

Pour aller plus loin

Repo GitHub de Deci AI : https://github.com/Deci-AI/super-gradients/blob/master/YOLONAS.md

Article Medium sur YOLO NAS : https://augmentedstartups.medium.com/how-yolo-nas-is-leaving-yolov8-in-the-dust-and-why-you-need-to-know-about-it-87f67a844bcb

Article sur les NAS : https://lilianweng.github.io/posts/2020-08-06-nas/

Notebook d’Intro à YOLO NAS : https://colab.research.google.com/drive/1q0RmeVRzLwRXW-h9dPFSOchwJkThUy6d#scrollTo=m0SkK3bjMOqH