Image Captioning
iaDéfinition
L'Image Captioning (legendage automatique d'images) est la tache consistant a generer automatiquement une description textuelle pertinente d'une image. C'est l'une des taches multimodales fondamentales et une application directe des Vision-Language Models (VLMs). Elle teste la capacite du modele a comprendre le contenu visuel et a le traduire en langage naturel. Les architectures modernes d'image captioning : BLIP-2 (Salesforce, 2023) utilise un Q-Former (Querying Transformer) entre l'encodeur visuel et le LLM pour aligner efficacement les representations visuelles et textuelles, obtenant des descriptions precises avec moins de parametres. Les grands VLMs comme GPT-4V, Claude 3 et Gemini 1.5 Pro font du captioning de haute qualite comme sous-produit de leurs capacites generales. Les metriques d'evaluation du captioning : BLEU (comparaison N-gram avec des references humaines), METEOR (meilleure correspondance synonyme), CIDEr (poids selon la specificite des N-grams), et plus recemment CLIPScore (similarite semantique avec CLIP entre l'image et la description). Ces metriques automatiques sont imparfaites et l'evaluation humaine reste la reference. Les cas d'usage enterprise du captioning automatique : accessibilite (texte alternatif auto-genere pour les malvoyants), SEO d'images (descriptions pour les moteurs de recherche), gestion de documents multimedias (indexation par contenu), e-commerce (generation de descriptions produits depuis photos), et moderation de contenu (description des images avant classification). Le dense captioning va plus loin que le captioning simple : plutot qu'une description globale, il genere des descriptions localisees pour chaque objet ou region de l'image. Utilise en robotique, conduite autonome (comprendre chaque element de la scene), et analyse d'images medicales (decrire les regions anatomiques).
Captioning avec BLIP-2
from transformers import Blip2Processor, Blip2ForConditionalGeneration
from PIL import Image
processor = Blip2Processor.from_pretrained('Salesforce/blip2-opt-2.7b')
model = Blip2ForConditionalGeneration.from_pretrained('Salesforce/blip2-opt-2.7b')
image = Image.open('datacenter.jpg')
# Captioning sans prompt (generation libre)
inputs = processor(images=image, return_tensors='pt')
generated_ids = model.generate(**inputs, max_new_tokens=50)
caption = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(f'Caption: {caption}')
# Output: 'a large data center with rows of servers and blue lighting'
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h