Plus de choses au ciel et sur terre

Les contributeurs
Matthias Cami
Ingénieur en machine learning
Aucun élément trouvé.
S'abonner à la newsletter
Partager cet article

Les modèles de détection d'objets sont généralement entraînés à ne détecter qu'un nombre limité de classes d'objets. L'ensemble de données MS COCO (Microsoft Common Objects in Context), largement utilisé, ne contient par exemple que quatre-vingts classes, allant de la personne à la brosse à dents. L'extension de cet ensemble est fastidieuse et implique généralement de collecter une série d'images pour chaque classe d'objet à détecter, de les étiqueter et d'affiner un modèle existant. Mais qu'en serait-il s'il existait un moyen simple d'enseigner à un modèle de nouvelles catégories dès le départ ? Et même de l'étendre à des milliers de catégories ? C'est exactement ce que promet le modèle Detic récemment publié. Dans ce billet, nous expliquons comment fonctionne ce nouveau modèle et nous évaluons ses forces et ses faiblesses en le testant sur un certain nombre de cas d'utilisation potentiels.

Detic : détection de vingt mille classes

La détection d'objets se compose de deux sous-problèmes : trouver l'objet (localisation) et l'identifier (classification). Les méthodes conventionnelles couplent ces sous-problèmes et s'appuient donc sur des étiquettes de boîtes pour toutes les classes. Cependant, les ensembles de données de détection restent beaucoup plus petits en termes de taille et de nombre de classes d'objets (vocabulaire), par rapport aux ensembles de données de classification d'images. Ces derniers disposent de vocabulaires plus riches car les ensembles de données sont plus importants et plus faciles à collecter. L'intégration des données de classification d'images dans l'entraînement des classificateurs d'un détecteur permet d'élargir le vocabulaire des détecteurs : de centaines à des dizaines de milliers de concepts ! C'est exactement ce que fait Detic [1](Detectorwith image classes), en utilisant une supervision au niveau de l'image en plus de la supervision de la détection. Le modèle découple également les sous-problèmes de localisation et de classification.

Illustration du fonctionnement d'un modèle CLIP, image originale tirée de l'article CLIP [2].

Detic est le premier modèle connu qui entraîne un détecteur sur l'ensemble des 21 000 classes de l'ensemble de données ImageNet. Par conséquent, il est capable de détecter un grand nombre d'objets, ce qui en fait un modèle de base très approprié pour une grande variété de tâches. En outre, pour s'adapter à des vocabulaires plus vastes, Detic s'appuie sur les encastrements CLIP [2] (Contrastive Language-Image Pre-training) ouverts. CLIP entraîne conjointement un codeur d'image et un codeur de texte à prédire les paires correctes d'un lot d'exemples d'entraînement (image, texte). Au moment du test, le codeur de texte appris intègre les noms ou les descriptions des classes de l'ensemble de données cible. L'utilisation d'encodages de mots au lieu d'un ensemble fixe de catégories d'objets permet de créer un classificateur capable de reconnaître des concepts sans en avoir vu explicitement des exemples. C'est ce qu'on appelle l'apprentissage à partir de zéro. Mon collègue Juta a rédigé un article très intéressant sur le sujet de CLIP et de l'IA multimodale en général.

Vue d'ensemble de l'approche, image tirée de l'article original [1].

En combinant les méthodes susmentionnées, l'entraînement du modèle se fait sur un mélange de données de détection et de données étiquetées. Lors de l'utilisation de données de détection, Detic utilise des pertes de détection standard pour former le classificateur(W) et la branche de prédiction de boîte(B) d'un détecteur. Lorsqu'il utilise des données étiquetées, seul le classificateur est entraîné à l'aide d'une perte de classification modifiée. La perte de classification entraîne les caractéristiques extraites de la plus grande proposition prédite par le réseau. À l'instar de CLIP, le modèle peut utiliser un vocabulaire personnalisé d'enchâssements de classes au moment de la prédiction pour se généraliser à différentes classes, sans réentraînement.

Exemples

(a) l'analyse d'un flux de médias sociaux

Imaginez que vous souhaitiez analyser automatiquement un flux de médias sociaux à la recherche d'occurrences de certains objets. Les détecteurs d'objets formés pour des cas d'utilisation spécifiques dans les domaines du sport, de la détection d'animaux, de la santé, etc. n'obtiendraient pas les résultats escomptés dans ce contexte. En effet, les messages des médias sociaux ne se limitent pas à certains sujets et ces images contiennent une grande variété d'objets possibles. Cependant, comme les détecteurs traditionnels ont un vocabulaire plutôt restreint, le nombre de catégories que vous pouvez rechercher est limité. Cet ensemble fini de classes limite également l'analyse que vous pouvez effectuer sur ces types d'images. Comme Detic est capable d'élargir considérablement le vocabulaire, il se présente comme une bonne solution à ce problème.

Un exemple montrant que Detic est capable de travailler avec un flux de médias sociaux. Dans le coin supérieur gauche, nous avons une image tirée de l'instagram de VerhulstMarie, suivie par les objets détectés par un modèle YOLOv3 [3]. Alors que vous pouvez déjà voir qu'un tel modèle reconnaît une variété d'objets, le modèle Detic dans le coin inférieur gauche en capture beaucoup plus, tout en utilisant le même seuil de détection ! Dans le coin inférieur droit, vous pouvez voir le résultat de l'utilisation d'un tel vocabulaire personnalisé, en utilisant uniquement de la nourriture et des personnes.
Un autre exemple pour souligner la force et la flexibilité du modèle sur le contenu des médias sociaux, le modèle détecte même la prise sur l'arrière-plan de l'image. Image tirée de l'instagram de therock

(b) La puissance de la combinaison des données de détection et des données d'image

Vous savez maintenant que Detic est capable de détecter un large éventail de classes d'objets grâce au fait que le jeu de données Imagenet contient jusqu'à 21 000 classes. Mais l'utilisation de données de classification d'images présente un autre avantage : l'obtention de détections de classes plus fines sans qu'il soit nécessaire d'ajouter davantage d'étiquettes (fines) à l'ensemble de données de détection. En effet, si un ensemble de données de détection d'objets tel que LVIS contient une classe "chien", les étiquettes ne précisent pas l'espèce exacte du chien. Pour que le détecteur puisse faire la distinction entre différentes sortes de chiens, vous devez donc ajouter ou modifier manuellement les données de ces catégories à grain fin. Mais maintenant, il suffit d'ajouter des données d'images étiquetées de différentes espèces - comme celles contenues dans ImageNet - pour que le modèle détecte et nomme les chiens en fonction de leur espèce, comme le montre l'exemple.

Le modèle est capable de distinguer un labrador d'un husky.

(c) Classification "zéro-coup" (Zero-shot)

Les capacités du modèle ne s'arrêtent pas là. Comme nous l'avons déjà expliqué, l'utilisation de CLIP nous permet de travailler avec des vocabulaires personnalisés contenant des classes dont le modèle n'a jamais vu d'image auparavant. Dans l'exemple de gauche, le modèle a recherché la classe "hoverboard", qui ne figure dans aucun des ensembles de données d'apprentissage, mais comme l'intégration du mot est très proche de celle du mot "skateboard", il a pu retrouver cet objet qu'il n'avait jamais vu auparavant ! Il en va de même pour le mot "buste" dans l'image de droite : CLIP permet au modèle d'identifier à nouveau correctement cet objet inconnu.

Même si le modèle n'a jamais vu d'images de "hoverboard" ou de "buste", il peut détecter ces objets parce que CLIP les a vus et connaît leurs enchâssements.

(d) Détection d'objets dans les vidéos

Nous avons vu le modèle fonctionner sur différentes images, mais nous l'avons également appliqué à des vidéos, où il a obtenu des résultats similaires. Pour montrer les possibilités de Detic sur des images en mouvement, nous avons créé un outil simple qui extrait les images d'une vidéo, applique la détection (pour laquelle le vocabulaire peut être personnalisé) sur ces images séparées et enfin les enchaîne à nouveau. Il est également possible de sauvegarder les objets détectés dans chaque image dans un fichier texte, ce qui facilite l'analyse de l'ensemble de la vidéo.

Detic a appliqué à une vidéo de dualipa instagram

Conclusion

Les modèles de détection sont généralement formés sur des données spécifiques pour un certain cas d'utilisation, mais Detic a un champ d'application très large. Il s'agit du premier modèle connu disposant d'un vocabulaire de classes d'objets aussi étendu. Il peut être affiné pour une détection plus fine en ajoutant simplement des classes étiquetées sur l'image, et en utilisant les encastrements CLIP, le modèle est également performant dans les tâches de détection de zéro-coup. Il y a bien sûr beaucoup à explorer avec ce type de modèles. Nous avons constaté une limitation lors de l'utilisation d'un vocabulaire personnalisé contenant des descriptions telles que "une personne assise sur un banc". Le modèle ne parvient souvent pas à détecter correctement l'ensemble du contexte, mais sélectionne plutôt un seul mot de la phrase. Cela est probablement dû au fait que Detic extrait les étiquettes d'images des légendes en utilisant une correspondance de texte naïve, et qu'il est principalement entraîné sur des mots singuliers.

Références

[1]Zhou, X., Girdhar, R., Joulin, A., Krähenbühl, P. et Misra, I. (2021). Détection de vingt mille classes à l'aide de la supervision au niveau de l'image. ArXiv Preprint ArXiv:2201.02605.

[2]Radford, A., Kim, J. W., Hallacy, C., Ramesh, A., Goh, G., Agarwal, S., Sastry, G., Askell, A., Mishkin, P., Clark, J., Krueger, G., & Sutskever, I. (2021). Apprendre des modèles visuels transférables à partir de la supervision du langage naturel. CoRR, abs/2103.00020. https://arxiv.org/abs/2103.00020

[3]Redmon, J. et Farhadi, A. (2018). YOLOv3 : une amélioration progressive. CoRR, abs/1804.02767. http://arxiv.org/abs/1804.02767

Postes connexes

Voir tout le contenu
Aucun résultat n'a été trouvé.
Il n'y a pas de résultats correspondant à ces critères. Essayez de modifier votre recherche.
Grand modèle linguistique
Modèles de fondation
Entreprise
Personnes
Données Structurées
Chat GPT
Durabilité
Voix et son
Développement frontal
Protection des données et sécurité
IA responsable/éthique
Infrastructure
Hardware et capteurs
MLOps
IA générative
Natural Language Processing
Vision par ordinateur