Découvrez le Visual Question Answering (VQA) : comment l'IA multimodale combine la vision par ordinateur et le NLP pour répondre à des questions basées sur l'image, avec des méthodes clés et des cas d'utilisation réels.
La réponse à des questions visuelles (VQA) est une tâche multidisciplinaire difficile qui se situe à la croisée de la vision par ordinateur (CV) et du traitement du langage naturel (NLP). Contrairement à la classification d'images standard, où un système attribue simplement une étiquette à une image, les systèmes VQA sont conçus pour répondre à des questions ouvertes sur une image en utilisant le langage naturel. Par exemple, si on lui présente une photo d'une scène de rue , un utilisateur pourrait demander : « De quelle couleur est la voiture à côté de la borne d'incendie ? » Pour répondre correctement, l'IA doit comprendre la question, localiser les objets mentionnés (voiture, borne d'incendie), comprendre leur relation spatiale (à côté de ) et identifier l'attribut spécifique (couleur).
Cette capacité fait du VQA la pierre angulaire de l' IA multimodale moderne, car il nécessite un modèle capable de raisonner simultanément sur différents types de données. Le système utilise généralement un encodeur visuel, tel qu'un réseau neuronal convolutif (CNN) ou un transformateur de vision (ViT), pour interpréter les caractéristiques visuelles, et un encodeur de texte pour traiter la requête linguistique. Ces entrées sont ensuite combinées à l'aide de techniques de fusion , souvent en tirant parti d'un mécanisme d'attention pour se concentrer sur les parties pertinentes de l'image qui correspondent aux mots de la question.
La possibilité d'interroger dynamiquement des données visuelles ouvre d'importantes perspectives dans divers secteurs.
Bien qu'il existe des modèles VQA de bout en bout, de nombreux pipelines pratiques s'appuient sur une détection d'objets robuste comme étape fondamentale. Un détecteur identifie et localise les objets, ce qui fournit le contexte nécessaire au moteur de réponse.
Par exemple, vous pouvez utiliser YOLO26 pour extraire les classes et les emplacements d'objets, qui peuvent ensuite être intégrés dans un modèle linguistique ou un module de raisonnement spécialisé.
from ultralytics import YOLO
# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
# VQA systems use these detections to understand scene content
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Print detected classes (e.g., 'bus', 'person') which answer "What is in the image?"
for r in results:
print(r.boxes.cls) # Class indices
r.show() # Visualize the context
Il est important de différencier la VQA des autres tâches de langage visuel afin de comprendre son rôle spécifique.
La recherche moderne utilise souvent des ensembles de données à grande échelle comme le VQA Dataset pour entraîner ces modèles, ce qui les aide à généraliser à partir de millions de paires image-question. À mesure que les grands modèles linguistiques (LLM) continuent d' évoluer, les capacités VQA sont de plus en plus intégrées directement dans les modèles de base, estompant ainsi les frontières entre les tâches purement visuelles et purement linguistiques.