Image-naar-tekst AI-modellen: CLIP, BLIP, WD 1.4 (ook wel WD14), SigLIP 2 en ChatGPT met Vision

Gecategoriseerd als AI/ML, Art, Open Source Getagged , , ,
Save and Share:

Geautomatiseerde tagging, labeling of beschrijving van afbeeldingen is een cruciale taak in veel toepassingen, met name bij de voorbereiding van datasets voor machine learning. Dit is waar image-naar-tekstmodellen te hulp schieten. Enkele van de toonaangevende image-naar-tekstmodellen zijn CLIP, BLIP, WD 1.4 (ook bekend als WD14 of Waifu Diffusion 1.4 Tagger), SigLIP 2 en ChatGPT met Vision.

CLIP: Een revolutionaire sprong voorwaarts

OpenAI’s Contrastive Language–Image Pretraining (CLIP) model wordt algemeen erkend voor zijn revolutionaire aanpak in het begrijpen en genereren van beschrijvingen voor afbeeldingen. CLIP maakt gebruik van een grote hoeveelheid internettekst- en afbeeldingsgegevens om een veelvoud aan visuele concepten te leren, waardoor het beschrijvende zinnen voor afbeeldingen produceert.

Gebruikersreviews geven echter aan dat CLIP’s beschrijvende zinnen soms redundant of overdreven breedsprakig kunnen zijn. Een veelgehoorde kritiek is de neiging van het model om vergelijkbare beschrijvingen voor hetzelfde object te herhalen of bepaalde kenmerken, zoals de kleur van een object, te sterk te benadrukken.

BLIP: Eenvoud ontmoet functionaliteit

Het BLIP-model biedt, hoewel minder gedetailleerd in zijn beschrijvingen in vergelijking met CLIP, een eenvoudigere en directere aanpak voor image-naar-tekstverwerking. Zoals een recensent opmerkte, is BLIP “cool enzo, maar het is vrij basic.” De eenvoud van dit model kan een voordeel zijn voor toepassingen die eenvoudige, minder breedsprakige tags of beschrijvingen vereisen.

Desalniettemin vonden sommige gebruikers dat de output van BLIP vaak de diepte en granulariteit mist die modellen zoals WD14 wel leveren. Hoewel het bevredigende resultaten kan genereren, is BLIP wellicht niet de beste keuze voor toepassingen die gedetailleerde, complexe tags vereisen.

Ik heb gemerkt dat WD14, ondanks dat het op anime gericht is, ook geweldig werkt voor echte foto’s van mensen. Ik combineer het meestal met BLIP en meestal pikt het veel meer details op dan BLIP.

Toni Corvera in YouTube-reacties

Blip is cool enzo, maar het is vrij basic.

WD 1.4 (WD14) tagging is veel beter – meer detail, sappigere tags.

OrphBean op GitHub

WD 1.4 (ook wel WD14): Precisie in detail

Het WD 1.4-model (ook bekend als WD14 of Waifu Diffusion 1.4 Tagger), oorspronkelijk ontworpen voor anime-afbeeldingen, heeft een verrassende veelzijdigheid aangetoond en presteert zelfs goed met foto’s. Gebruikers hebben het geprezen om zijn geavanceerde configuratie-opties en batchverwerkingsmogelijkheden, wat het een robuuste tool maakt voor image-naar-tekstvertaling.

Wat WD14 onderscheidt, is zijn vermogen om gedetailleerde, “sappigere” tags te genereren, die meer diepgaande beschrijvingen van afbeeldingen bieden in vergelijking met zijn tegenhangers. Hoewel dit model minder snel valse tags zal produceren, kan de focus op anime een beperking zijn voor bepaalde soorten afbeeldingen.

V: Is de WD14-tagger beter dan de ingebouwde BLIP of deepdanbooru in Automatic1111?

A: De extensie biedt betere opties voor configuratie en batchverwerking, en ik heb gemerkt dat het minder snel volledig valse tags produceert dan deepdanbooru.

CLIP/BLIP is anders omdat die beschrijvende zinnen produceren in plaats van lijsten met tags, maar dat laatste sluit meestal beter aan bij mijn behoeften. En de ingebouwde CLIP-interrogator is geneigd om dingen te spuien als “een foto van (beschrijving) en een foto van (iets andere beschrijving van hetzelfde ding)” of “(meestal complete beschrijving) en roze haar en roze haar en roze haar en (vele malen herhalen)”

Ondanks dat het gemaakt is voor anime, werkt de WD14-tagger best goed op foto’s.

MorganTheDual op Reddit

SigLIP 2: Een krachtige image-naar-tekst engine

Het gratis en open model SigLIP 2 van Google is niet alleen maar een visie-taalmodel; het is een krachtige engine voor het omzetten van afbeeldingen in betekenisvolle tekst. Hoewel het uitblinkt in taken zoals image-tekst retrieval en zero-shot classificatie, maken de architectuur en trainingsverbeteringen het een sterke kanshebber voor image-naar-tekstgeneratie en -begrip. Hier volgt een overzicht van hoe SigLIP 2 in deze context werkt:

De basis: Vision Transformer (ViT) en Sigmoid Loss

  • Vision Transformer (ViT): In tegenstelling tot convolutional neural networks (CNN’s), gebruikt SigLIP 2 een Vision Transformer (ViT) architectuur. De ViT behandelt een afbeelding als een reeks patches, vergelijkbaar met hoe woorden worden behandeld als tokens in natuurlijke taalverwerking. Elke patch wordt omgezet in een vectorrepresentatie (een embedding). Dit stelt het model in staat om de krachtige Transformer-architectuur te gebruiken, die bekend staat om zijn vermogen om lange-afstandsrelaties vast te leggen, om de relaties tussen verschillende delen van de afbeelding te begrijpen.
  • Sigmoid Loss (Niet Contrastief): Een belangrijk onderscheidend kenmerk van SigLIP (en SigLIP 2) is het gebruik van een sigmoid loss functie in plaats van de meer gebruikelijke contrastieve loss (gebruikt in modellen zoals CLIP). Contrastief leren vereist het vergelijken van een afbeelding met meerdere tekstopties. Sigmoid loss behandelt image-tekst matching daarentegen als een binaire classificatie probleem voor elk image-tekst paar. Deze ogenschijnlijk kleine verandering heeft een grote impact: het zorgt voor een stabielere training en betere prestaties, vooral bij grotere batchgroottes. Het richt zich op de individuele image-tekst paar matches.

Verbeterde training voor tekstgeneratie

SigLIP 2 neemt de basis van SigLIP en voegt een aantal cruciale verbeteringen toe die de image-naar-tekstcapaciteiten direct ten goede komen:

  • Captioning-gebaseerde Pretraining: Dit is een enorme stap. SigLIP 2 integreert captioning als onderdeel van zijn pretrainingproces. Dit betekent dat het expliciet getraind is om tekstbeschrijvingen van afbeeldingen te genereren. Dit in tegenstelling tot modellen zoals de originele CLIP, die primair getraind waren op image-tekst matching, niet generatie.
  • Geïnspireerd door Self-Supervised Learning: SigLIP 2 maakt gebruik van krachtige technieken:
    • Self-Distillation: Het model leert van zijn eigen voorspellingen, waardoor het zijn begrip in de loop van de tijd verfijnt.
    • Masked Prediction: Delen van de input (ofwel image patches of teksttokens) worden verborgen, en het model leert om de ontbrekende stukken te voorspellen. Dit dwingt het om een dieper begrip van beide modaliteiten te ontwikkelen.
  • LocCa Loss en Decoder: SigLIP 2 integreert de LocCa loss, die een Transformer decoder met cross-attention toevoegt. Deze decoder is specifiek getraind op taken zoals image captioning, referring expression prediction (het identificeren van regio’s op basis van tekst) en grounded captioning. Dit verbetert de fijnmazige lokalisatie en gedetailleerde feature extractie.

Hoe het allemaal samenkomt (Afbeelding -> Tekst)

  1. Afbeelding Input: Een afbeelding wordt in de ViT encoder ingevoerd.
  2. Patch Embedding: De afbeelding wordt verdeeld in patches, en elke patch wordt omgezet in een embedding vector.
  3. Transformer Encoding: De Transformer-lagen verwerken deze patch embeddings en leggen relaties vast tussen verschillende delen van de afbeelding. Aangeleerde positionele embeddings geven informatie over de locatie van elke patch.
  4. Attention Pooling: Een attention-gebaseerd pooling mechanisme (MAP head) aggregeert de informatie van de patch embeddings tot een enkele, uitgebreide afbeeldingsrepresentatie.
  5. Tekst Decoder (Cruciaal voor Image-naar-Tekst): Dit is waar de captioning-mogelijkheden van SigLIP 2 in het spel komen. De afbeeldingsrepresentatie van de encoder wordt ingevoerd in de Transformer decoder (toegevoegd door de LocCa loss). De decoder gebruikt cross-attention om zich te concentreren op relevante delen van de afbeeldingsrepresentatie tijdens het genereren van tekst.
  6. Tekst Output: De decoder genereert een reeks teksttokens, die een caption of beschrijving van de afbeelding vormen.

Meertalige Kracht

SigLIP 2 is niet beperkt tot Engels. Het is getraind op een meertalige dataset (WebLI), waardoor het de mogelijkheid heeft om tekst in meerdere talen te begrijpen en te genereren, wat het een echt wereldwijde image-naar-tekst tool maakt.

Samenvattend

SigLIP 2’s combinatie van een sterke ViT-gebaseerde architectuur, sigmoid loss, en, cruciaal, decoder-gebaseerde pretraining met captioning en self-distillation, maakt het een zeer effectief model voor image-naar-tekst taken. Het gaat verder dan simpele image-tekst matching om actief beschrijvende tekst te genereren, wat mogelijkheden opent voor toepassingen zoals automatische image captioning, visuele vraag beantwoording en gedetailleerde beeldanalyse.

Links

ChatGPT met Vision

Als je een niet al te grote dataset met afbeeldingen moet beschrijven, kun je de Image Describer tool in ChatGPT gebruiken. Het is niet geschikt voor grote batches afbeeldingen, maar het is perfect voor kleinere afbeeldingssets omdat het absoluut de beste beschrijvingen in natuurlijke taal levert. Beschrijvingen van deze tool zijn zeer precies en gedetailleerd. Het zijn niet alleen tags, maar coherente en informatieve teksten die ook rekening houden met de relaties tussen objecten in de afbeelding.

Voorbeeld:

Testafbeeldingsset:

Image Describer output voor deze 3 afbeeldingen:

Je hebt drie afbeeldingen geüpload. Hier is een beschrijving van elk:

  1. De eerste afbeelding toont een schattig, gestileerd cartoonkatje met grote, expressieve ogen. Het is overwegend oranje met witte accenten op zijn gezicht, borst en poten. Het katje houdt een pen vast, die bijna net zo groot is als hijzelf, en tekent een lachend gezicht op een felgele bal. De kunststijl is zeer gepolijst en heeft een soort glanzende afwerking. De achtergrond suggereert een grillige setting met kleurrijke, abstracte vormen en een suggestie van een sterrenhemel.
  2. De tweede afbeelding lijkt een screenshot te zijn van een chat- of commentaarsectie van een social media platform. Verschillende gebruikers hebben commentaren achtergelaten, waarvan er vele gelach of amusement bevatten, aangegeven door acroniemen zoals “LMAO” en emoji’s. De gebruikersnamen en profielfoto’s zijn gepixeliseerd voor privacy, met een verscheidenheid aan kleuren weergegeven in de pixelisatie.
  3. De derde afbeelding is een zeer gedetailleerde en realistische illustratie van een jonge vrouw met een vriendelijke uitdrukking. Ze heeft lang zwart haar, een lichte huid en draagt een paarse hoodie. De vrouw draagt ook een headset, wat suggereert dat ze misschien een videogame streamer is of betrokken is bij een vorm van online communicatie. De setting lijkt een kamer te zijn die verlicht is met een paarse tint, mogelijk van LED-verlichting, wat wijst op een gaming setup.

Elke afbeelding heeft een zeer verschillende context en visuele stijl, variërend van grillige illustratie tot een screenshot van een digitale interactie, tot een meer realistisch digitaal schilderij.

Conclusie

De keuze tussen CLIP, BLIP, WD 1.4, SigLIP 2 en Image Describer hangt grotendeels af van de specifieke behoeften van een project. Als precisie en detail van het grootste belang zijn, biedt WD 1.4 een aantrekkelijke optie met zijn geavanceerde configuratie en gedetailleerde tagging mogelijkheden. Voor eenvoudigere toepassingen is BLIP’s ongecompliceerde aanpak wellicht meer geschikt. Ondertussen biedt CLIP een balans tussen detail en eenvoud, zij het met een neiging tot breedsprakigheid.

Image Describer levert de beste resultaten, maar is niet geschikt voor het beschrijven of taggen van grote sets afbeeldingen.

Naarmate deze modellen zich blijven ontwikkelen en verbeteren, bieden ze veelbelovende potentieel voor een breed spectrum aan toepassingen, van contentcreatie tot data-analyse. Ondanks hun verschillen zijn CLIP, BLIP, WD 1.4, SigLIP 2 en GPT-Vision modellen een bewijs van de snelle vooruitgang in image-naar-tekst technologie, waarbij elk unieke sterke punten bijdraagt aan dit opwindende vakgebied.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *