Analyse d'image, détection d'objets, OCR… Les 10 possibilités de Florence 2 pour les pros

Analyse d'image, détection d'objets, OCR… Les 10 possibilités de Florence 2 pour les pros Développé par les équipes de Microsoft, Florence 2 offre une solution robuste pour l'analyse d'image, de l'OCR à la classification d'objet. Tour d'horizon des possibilités.

L'architecture transformer n'aura pas révolutionné que le texte. Après les LLM, les laboratoires en intelligence artificielle se sont attelés à améliorer et développer de nouveaux modèles de computer vision, plus compacts, plus précis et plus polyvalents. Après avoir annoncé Florence 2 en novembre 2023, Microsoft publie (enfin) les poids de son modèle, sous licence MIT. Les cas d'usage variés et nombreux pourraient bien séduire les professionnels à la recherche d'un modèle de computer vision polyvalent.

Un modèle, 10 utilisations possibles

Florence 2 a été développée pour répondre à 10 tâches d'analyse visuelle et sémantique. Le principe est simple, l'utilisateur adresse un prompt textuel et une image et le modèle retourne un texte et/ou des coordonnées.

L'analyse d'image

Comme un LLM classique, Florence 2 peut, à partir d'une image, générer une description complète des éléments présentés à l'image et des différentes interactions. Trois modes sont possibles : une description brève, détaillée ou bien très détaillée.

Détection d'objet

Florence 2 peut, à partir d'une image seule, identifier les différents objets présentés, comme un modèle YOLO. Le modèle retourne le type d'objet et leurs coordonnées.

© Adobe Stock / JDN

Proposition de régions d'intérêt

A partir d'une image, Florence 2 identifie les zones d'intérêts (principaux sujets) dans une image et retourne leurs coordonnées.

© Adobe Stock / JDN

Analyse d'image par découpage

Florence 2 peut générer la description d'une image en découpant son analyse selon les différentes "régions" de l'image. Le modèle retourne la description textuelle et les coordonnées associées.

Localisation d'objets

Sur le principe d'Où est Charlie ?, le modèle peut retrouver un concept présenté à l'image. Il est nécessaire d'adresser une image et le concept dans le prompt au modèle. Ce dernier génère ensuite les coordonnées probables de l'objet ou du concept recherché.

Objet recherché ici : un téléphone. © Adobe Stock / JDN

Interprétation de références visuelles

Florence 2 peut comprendre et localiser des objets ou régions décrits par des expressions en langage naturel comprenant des orientations complexes.

Concept ici recherché : "les sièges à gauche de la femme". © Adobe / JDN

Identification d'objets nouveaux

Le modèle peut identifier et localiser des objets même s'ils n'appartiennent pas à un ensemble prédéfini de catégories, ce qui le rend très flexible pour de nouvelles classes d'objets. Exemple : la détection d'un "hoverboard" dans une image, même si ce type d'objet n'était pas dans le dataset initial d'entrainement de l'IA.

Découpage de zone

Florence 2 peut être utilisé pour découper un concept dans une image. L'utilisateur indique le concept à découper. Exemple : une voiture rouge garée devant une maison. Le modèle génère alors les coordonnées du concept sous forme de masque.

Conversion région-texte

Le modèle peut générer une description textuelle détaillée pour une région spécifique de l'image sélectionnée par l'utilisateur. Exemple : décrire le toit d'une maison présentée à l'image et uniquement le toit.

OCR

Très classiquement, Florence 2 peut localiser et transcrire le texte présent dans les images, agissant comme un système OCR avancé capable de traiter divers types de textes dans différents contextes visuels. Nos tests le confirment : le modèle est particulièrement performant dans l'OCR d'écriture manuscrite.

Un modèle entraîné sur 126 millions d'images

Florence-2 n'est pas créé from scratch, mais s'appuie sur des modèles existants déjà développés par Microsoft en lien avec des chercheurs de l'Université de Hong Kong et de Baidu. Florence 2 se base sur l'architecture DaViT (Dual Attention Vision Transformers) et le modèle UniCL de Microsoft (un modèle de ML de computer vision). L'architecture est complétée par un encodeur-décodeur multimodal inspiré de l'architecture BART, initialement développée par Meta.

Le modèle commence par analyser simultanément l'image via son encodeur DaViT et la requête textuelle grâce à un module de traitement du langage. Les informations visuelles et textuelles sont ensuite fusionnées dans l'encodeur-décodeur multimodal, où des mécanismes d'attention sophistiqués établissent des liens pertinents entre les éléments de l'image et le contexte de la requête. Cette analyse combinée permet au modèle d'interpréter la tâche demandée par l'utilisateur dans le prompt. Enfin, le décodeur génère une réponse adaptée au format requis par la tâche (du texte pour l'analyse d'image ou des coordonnées par exemple).

Florence 2 a été conçu par Microsoft pour être un modèle ultra-polyvalent. Le modèle a été entrainé sur FLD-5B, un dataset créé à partir de la fusion de plusieurs bases d'images (ImageNet-22k, Object 365, Open Images, Conceptual Captions et LAION) pour un total de 126 millions d'images, accompagnées de 5,4 milliards d'annotations.

Pourquoi utiliser Florence 2 et non un LLM multimodal ?

Contrairement aux modèles généralistes qui traitent l'image comme une modalité parmi d'autres, Florence 2 a été conçue spécifiquement pour exceller dans les tâches visuelles complexes. Son architecture lui confère une compréhension fine des détails visuels, permettant des analyses plus précises et granulaires. Avec ses dix fonctionnalités spécialisées, allant de la segmentation référentielle à la détection d'objets à vocabulaire ouvert, Florence 2 offre une polyvalence et une précision supérieures dans le traitement d'images.

Le modèle est publié sous licence MIT (open source) sur Hugging Face. La famille comprend deux modèles de base (base et large) pré-entraînés sur le jeu de données FLD-5B, et deux versions affinées (base-ft et large-ft) optimisées pour des tâches spécifiques, notamment la génération de légende et la réponse à des questions visuelles complexes. Les modèles "base" contiennent 230 millions de paramètres, tandis que les versions "large" en comptent 770 millions. Le modèle peut ainsi être déployé sur des devices avec très peu de VRAM. Le modèle semble avoir déjà pris le lead sur Hugging Face avec déjà plus de 98 000 téléchargements pour Florence 2 large. De nouveaux modèles dérivés arrivent également chaque semaine sur la plateforme avec de premières adaptations pour la vidéo.