Prototype

Zoeken naar foto's met AI

Achtergrondinformatie bij het prototype

Het prototype werkt als volgt:

  1. Wij hebben ongeveer 3.000 foto’s van Brabant-Collectie in Brabant Cloud geselecteerd, inclusief de bijbehorende metadata, zoals de naam van de vervaardiger en de licentie voor gebruik.
  2. Wij hebben elke foto daarna laten analyseren door het AI-model LLaVA. LLaVA staat voor Large Language and Vision Assistant en is ontwikkeld door Microsoft Research. Het model kent aan elke foto een beschrijving toe. De beschrijving maakt duidelijk wat het AI-model op de foto ‘ziet’. Dat kan van alles zijn, zoals mensen en voorwerpen. Het model is behoorlijk accuraat - het kan zelfs weersomstandigheden waarnemen. En soms slaat het de plank mis; dan ziet het dingen die niet op een foto staan. Zoals een man met een baard die geen baard heeft of een landschapsfoto in de winter die toch echt in de zomer gemaakt is.
  3. Vervolgens hebben wij voor elke beschrijving van elke foto een zogeheten vector embedding laten berekenen. Een embedding is een soort ‘samenvatting’ van de beschrijving in de vorm van een numerieke score. De embedding geeft aan in welke mate een tekenreeks, zoals een beschrijving, gerelateerd is aan een andere tekenreeks. De embeddings zijn berekend door het AI-model BGE, ontwikkeld door Beijing Academy of Artificial Intelligence. De embeddings van de beschrijvingen hebben wij bewaard in een vectordatabase, een database gespecialiseerd in het opslaan en doorzoeken van embeddings.
  4. Tot besluit hebben wij een demonstrator gemaakt waarmee je kunt zoeken naar foto's. Als je een zoekvraag invoert, berekenen wij - on the fly - de vector embedding van die zoekvraag. Vervolgens kijken wij in de vectordatabase of er embeddings van beschrijvingen voorkomen die gelijk zijn aan of lijken op de embedding van je zoekvraag. Is dit het geval, dan komt je zoekvraag overeen met beschrijvingen en zijn de bijbehorende foto’s waarschijnlijk relevant.
  5. In de demonstrator tonen wij de gevonden foto’s en hun metadata. Bij elke foto laten wij zien wat de relevantie van de foto voor jouw zoekvraag is volgens BGE, het model dat de embeddings berekent. Hoe hoger de score, hoe relevanter de foto - de maximale score is 1. Daarnaast laten wij bij elke foto zien wat de beschrijving is die door LLaVA is toegekend. Zo kun je nagaan of de beschrijving klopt. Als je een foto ziet die veel te maken heeft met je zoekvraag, dan is de beschrijving goed. Als je daarentegen een foto ziet die weinig te maken heeft met je zoekvraag, dan is de beschrijving waarschijnlijk niet goed en heeft het AI-model een fout gemaakt.

Ga naar de demonstrator om te zoeken naar foto's.