Plongée dans les coulisses de deux modèles d’IA qui voient vos images mieux que vous.
Imaginez : Vous avez des centaines de milliers d’images de vêtements. Rien d’autre. Pas un titre, pas une étiquette, pas même un petit post-it griffonné. Et pourtant, vous rêvez d’une interface où l’on tape : "montre-moi toutes les robes rouges avec un motif printanier", et bam, magie opérée.
Spoiler : un code python pour lister les images d'un dossier est stocker le résultat dans un .txt à la fin.
C’est le défi que deux modèles d’IA ont relevé en tandem : CLIP d'OpenAI et BLIP de Salesforce. Le duo choc. Grâce à eux, on passe du chaos visuel à des descriptions comme :
-
"a white shirt with black cuffs and a black collar"
-
"a black bomber jacket with a red plaid collar"
-
"a black and white sweater with a patching pattern"
C’est ce cocktail d’analyse et de synthèse qui a permis de valider un POC exigeant : produire des descriptions fines à partir d’images brutes. Et surtout, de nourrir une base de données exploitable... avec vectorisation (transformation d'une image en représentation mathématique, ou vecteur, pour permettre des recherches par similarité) en bonus (mais ça, c’est une autre histoire).
Ça fait quoi dans la vie, CLIP et BLIP ?
Petit scénario illustratif
Prenons une image : un homme marche dans une rue pavée, en trench beige, avec une valise à la main.
-
CLIP regarde cette image et dit : « OK, je te transforme ça en vecteur. Je peux te dire qu’elle est proche d’autres images de gens marchant, de vêtements beiges, de scènes urbaines, etc. » Résultat : cette image peut être classée, regroupée, ou retrouvée dans un moteur visuel très rapidement.
-
BLIP, lui, regarde la même image et écrit : « a man walking down a cobbled street in a beige trench coat holding a suitcase. » C’est du texte. Et ce texte peut nourrir une base de recherche, alimenter un chatbot, ou s’afficher dans une fiche produit.
C’est comme si CLIP dressait la carte d’un paysage visuel, pendant que BLIP écrivait la légende au dos de la carte postale et toi tu regardes faire avec un air un peu admiratif et sidéré (c'est que le début et c'est déjà "exploitable").
CLIP (Contrastive Language-Image Pre-training), c'est un modèle qui associe une image à du texte. Il transforme les visuels en vecteurs, comme un traducteur entre la vision et le langage. Pratique pour faire de la recherche visuelle, trier des contenus ou alimenter un moteur de recommandation.
BLIP (Bootstrapped Language-Image Pretraining), lui, génère directement des descriptions textuelles d'une image. Vous lui montrez une photo, il répond avec une phrase précise et fluide, presque humaine.
Comment ça marche sous le capot ?
Les deux modèles sont simples à intégrer dans un pipeline Python, comme le montrent plusieurs tutoriels de terrain. En quelques lignes, ils sont utilisables dans une interface web locale avec Gradio, ou dans un environnement cloud comme SageMaker.
CLIP a été entraîné sur des millions de couples image/texte, grâce à des données glanées sur Internet. Il apprend à rapprocher visuel et texte par similarité de sens : un t-shirt jaune sera ainsi relié aux phrases contenant "t-shirt jaune", "haut vif", etc.
BLIP, de son côté, fonctionne comme un récitateur : il analyse l'image, extrait ses attributs visuels importants, et construit une phrase descriptive en langage naturel.
Les retours d’usage montrent que BLIP est capable de générer des légendes très précises, comme :
-
"un homme assis sur un banc avec un chien",
-
"le sommet du mont Everest",
-
ou "une petite ville avec une église et des montagnes en arrière-plan". Même lorsqu’il n’est pas parfait, il reste globalement pertinent, ce qui le rend très exploitable en production.
Intégrés ensemble dans un script, ces deux modèles permettent :
-
De générer des descriptions riches (BLIP),
-
De regrouper les images par similarité (CLIP + clustering).
Mais pour qui ? Et pour quoi faire ?
-
Le e-commerce : pour décrire automatiquement des produits sans main-d'œuvre humaine.
-
Les musées et archives : pour annoter des milliers de visuels sans s'épuiser.
-
Les moteurs de recherche visuelle : pour retrouver une robe verte sans se souvenir du nom.
-
Les créateurs de contenu et analystes : pour analyser les tendances visuelles sur des réseaux sociaux, ou explorer des bases d'images à grande échelle.
-
Les architectes de données : pour enrichir une base visuelle via du texte, et faciliter ensuite la recherche vectorielle ou les systèmes de questions-réponses.
Et la concurrence dans tout ça ?
CLIP et BLIP ne sont pas seuls. D'autres modèles viennent enrichir la palette :
DINOv2 (Meta) : efficace pour l'extraction de caractéristiques visuelles, utilisé dans des pipelines de classification ou de détection.
ImageBind (Meta) : conçu pour fusionner plusieurs modalités (texte, image, audio...) dans un même espace vectoriel.
Flamingo (DeepMind) : se distingue par sa capacité à comprendre le contexte multimodal, utile en dialogue visuel.
BLIP-2 (Salesforce) : évolution de BLIP, combinant un encodeur visuel et un modèle de langage pour des tâches plus complexes.
GIT (Microsoft) : modèle pour la génération de texte à partir d’images, optimisé pour la qualité des descriptions.
ViT-GPT2 (NLPConnect) : approche simple mais efficace combinant Vision Transformer et GPT-2 pour du captioning pur.
LLaVA (Trillion, Meta) : pour le question-réponse visuel et les assistants multimodaux, notamment avec Trillion-LLaVA-7B.
UForm (Unum) : modèle léger et open-source pour générer des descriptions ou répondre à des requêtes sur une image.
Mais ce qui distingue CLIP et BLIP, c’est leur complémentarité immédiate, leur finesse descriptive, et leur simplicité de déploiement. Là où certains modèles brillent dans la génération ou le dialogue, CLIP+BLIP offrent un pipeline clair, rapide et modulaire — idéal pour l’annotation, le clustering, ou l’alimentation d’une base de données visuelle.
Gimme gimme more...
Vous en voulez plus ? C’est possible. BLIP peut être réglé comme une boîte à outils :
-
max_length
: augmente la longueur des descriptions. Par défaut autour de 20-30, mais peut monter jusqu’à 50+ pour plus de richesse. -
num_beams
: avec une recherche par faisceaux, on obtient des sorties plus qualitatives. Essayez 5 ou 10 pour plus de variations. -
**
temperature
****,top_p
, **top_k
: ajustent la créativité et la diversité. Une température plus haute produit des textes plus inventifs, utiles si vous cherchez à capter des nuances vestimentaires subtiles.
Et pour aller plus loin : un fine-tuning (réentraînement d’un modèle sur vos propres données pour l’adapter à un contexte précis) sur votre propre base image/texte permettrait à BLIP d’adopter votre vocabulaire métier.
Derrière les modèles : les humains dans la boucle
Si CLIP et BLIP impressionnent par leurs performances, il ne faut pas oublier qu'ils reposent aussi sur des montagnes de données... annotées à la main. Et là, les coulisses sont moins reluisantes.
Pour entraîner CLIP, OpenAI a notamment fait appel à des prestataires comme Sama, qui sous-traitent le travail d'annotation à des travailleurs dans des pays à faibles revenus. Exemple : des Kenyans payés moins de 2 dollars de l'heure pour trier, étiqueter et filtrer des contenus, parfois choquants. Salesforce n’a pas communiqué autant de détails, mais le modèle BLIP s’appuie lui aussi sur des corpus massifs issus du web.
Ces pratiques soulèvent des questions éthiques majeures : comment valoriser équitablement ce travail essentiel ? Comment garantir des conditions dignes et transparentes ?
Retour d’expérience et cas concrets
Des développeurs ont partagé leur mise en œuvre de CLIP et BLIP sur des plateformes comme Medium ou Dev.to. Par exemple :
-
Création d’interfaces avec Gradio pour soumettre des images et recevoir des descriptions en temps réel.
-
Déploiement sur SageMaker pour générer automatiquement des légendes à partir d’URLs d’images.
-
Comparatifs d’embeddings pour la recherche de similarité, démontrant la robustesse de CLIP en vectorisation.
Ces retours montrent que ces modèles ne sont pas seulement puissants sur le papier : ils sont testés, éprouvés, et adoptés dans des contextes variés allant du projet solo au prototype en environnement cloud.
En résumé : des modèles qui voient (presque) clair
CLIP et BLIP sont devenus les piliers d’un nouveau paradigme de gestion visuelle : passer de l’image brute à la donnée exploitable. Leur combinaison permet d’automatiser l’annotation, d’enrichir des bases de données, de nourrir des moteurs de recherche ou des systèmes de recommandation, tout en gardant une implémentation accessible.
Leur efficacité, testée dans des projets réels, ainsi que les enjeux humains qu’ils soulèvent, invitent à une adoption consciente et éclairée. La suite ? Des usages encore plus fins, une IA mieux formée — et pourquoi pas, plus équitable.
Et pour le RAG, alors ?
Si CLIP et BLIP sont indépendants dans leur fonctionnement, leur complémentarité devient précieuse lorsqu’on veut bâtir un système de RAG (Retrieval-Augmented Generation) :
-
CLIP peut servir à retrouver les images les plus proches d'une requête, via vectorisation et similarité sémantique.
-
BLIP peut ensuite générer une description fine ou un résumé de l’image sélectionnée.
Ce duo est donc idéal pour créer un système qui comprend les images, les classe, puis en parle avec style. Un assistant visuel intelligent, en quelque sorte.
Un peu de code ! car on adore ça...
Ce script est exécuté dans un environnement Docker, optimisé pour les GPU (cartes graphiques), ce qui permet un traitement rapide même pour de grandes quantités d’images. Il repose sur des bibliothèques open source comme Transformers, PyTorch et scikit-learn.