Semantische Suche für Bilder

Jeder kennt das Problem: Die Anzahl an Bildern hat in den vergangenen Jahren massiv zugenommen. Sei es auf dem eigenem Handy, auf dem PC oder in Bilddatenbanken: Jeder hat zehntausende von Bildern. Aber wie findet man eins, wenn man nach einem ganz bestimmten Bild sucht? Natürlich könnte man jedes Bild beschreiben und dann eine gewöhnliche Textsuche verwenden. Dass wäre aber wenig praktisch. Stattdessen empfiehlt sich die semantische Suche. Semantische Suche für Bilder Bei der semantischen Suche werden Bilder in einen Vektorraum projiziert. Das besondere dabei ist, dass sich Text ebenfalls in den gleichen Vektorraum projizieren lässt und zwar so dass Text und das passende Bild dicht im Vektorraum ist. Somit lässt sich eine entsprechende Suche realisieren. Sucht man z.B. nach "Zwei Hunden im Schnee", so bildet man diesen Text im Vektorraum ab und schaut welche Bilder am dichtesten sind. Und schon hat man das passende Bild gefunden! Dies lässt sich auch wunderbar für die eigene Webseite nutzen, z.B. für eine Seite wie bitcoins-code.de, um passende Bilder in die Website zu integrieren. Bild-Suche mittels CLIP und Sentence-Transformers In diesem Beispiel nutzen wir das CLIP Model, das von OpenAI entwickelt wurde: Es wurde auf rund 400 Millionen Bild-Text-Paaren trainiert und kennt damit ein breites Spektrum an Bildern. Diese Modell lässt sich einfach per sentence transformers installieren und nutzen. Zuerst müssen wir es installieren:pip install sentence-transformersAnschließend können wir Bilder und Text in den Vektorraum einbetten:from sentence_transformers import SentenceTransformer, util from PIL import Image #Load CLIP model model = SentenceTransformer('clip-ViT-B-32') #Encode an image: img_emb = model.encode(Image.open('two_dogs_in_snow.jpg')) #Encode text descriptions text_emb = model.encode(['Two dogs in the snow', 'A cat on a table', 'A picture of London at night']) #Compute cosine similarities cos_scores = util.cos_sim(img_emb, text_emb) print(cos_scores)Das ursprüngliche CLIP-Modell funktioniert nur für English, es gibt aber eine mehrsprachige Version die ebenfalls auch für deutsch funktioniert. Diese kann man wie folgt verwenden:from sentence_transformers import SentenceTransformer, util from PIL import Image #Load CLIP model img_model = SentenceTransformer('clip-ViT-B-32') #Encode an image: img_emb = img_model.encode(Image.open('two_dogs_in_snow.jpg')) #Encode text descriptions model = SentenceTransformer('clip-ViT-B-32-multilingual-v1') text_emb = model.encode(['Zwei Hunde im Schnee', 'Paris bei Nacht']) #Compute cosine similarities cos_scores = util.cos_sim(img_emb, text_emb) print(cos_scores)Diese Modelle lassen sich nicht nur für einzelne Bilder verwenden, sondern damit können problemlos tausende oder gar Millionen von Bildern problemlos innerhalb weniger Millisekunden durchsucht werden. Dabei brauchen die Modelle nur das Bild an sich, man muss keine Beschreibungen mehr hinzufügen oder Tags vergeben. Limitierungen Natürlich funktioniert so ein Modell nicht perfekt. Das Modell kann zwar Personen erkennen, aber nur wenn diese ausreichend oft in den Trainingsdaten vorgekommen sind. Sprich, das Modell kann nur bekannte Promis erkennen. Eine Suche nach Bildern nach eurem Freund Paul oder Bilder von Lisa können nicht gefunden werden. Ebenso können keine nicht klaren Bilder gefunden werden, wo nur ihr wisst wo z.B. das Bild entstanden ist. Auch haben die Modelle Probleme mit neuen Sachen, z.B. neue Filme, neue Promis, neue Kunstwerke: Diese kennt das Modell nicht, und kann diese auch nicht finden wenn danach gesucht wird.

zum Artikel gehen

Semantisch Suche mittels Python FastAPI

Im ersten Artikel bin ich bereits darauf eingegangen wie ihr eine REST-API in Python erstellen können. In diesem Artikel geht es darum, wie ihr diese für eine semantische Suche verwenden könnt. Was ist semantisch Suche? Bei der lexikalischen Suche werde

zum Artikel gehen

[nur Bilder] Das große Raketen-Bilderbuch

Hallo zusammen, wie der Titel schon erahnen lässt, soll es in diesem Thread ausschließlich um Bilder von Raketen/Sets gehen. Raketen sind für viele einer der schönsten und besten Silvester–Artikel, die es gibt. Viele lieben sie und viele haben sie wieder

zum Artikel gehen

Bilder-SEO: die komplette Anleitung

Der Beitrag Bilder-SEO: die komplette Anleitung erschien erstmals auf contality Bilder-SEO klingt für viele ziemlich überflüssig. Tatsächlich sollten sich auch diejenigen Bilder-SEO genau ansehen, die denken, dass Bilder für ihr Geschäftsmodell unwichtig

zum Artikel gehen

3 Leute 3 Bilder

Kunstausstellung 3 Leute 3 Bilder im Atelier RoststätteGlockengießer Straße 5025 + 26. + 27. September 2020 ab 20:00 Uhr In der Werkstattgalerie Atelier Roststätte werden Werke von Christiane Schröder – Fotografie, Sössa Susanne Stoll – Malerei/Mixed Medi

zum Artikel gehen

Der fotografische Blick für herausragende Bilder

Der fotografische Blick spielt eine entscheidende Rolle für herausragende Bilder. In diesem Beitrag erfährst du, wie Fotografen die Welt anders sehen und ihren Blick durch Bildkomposition und Kreativität schulen. Entdecke, warum die Fähigkeit zu sehen nic

zum Artikel gehen