Wie „in Google nach diesem Bild suchen“ funktioniert

Google Bildersuche in GmailNachdem einer grossen Masse bekannt wurde, dass Google die Mails  in seinem Dienst Gmail mitliest möchte ich einen Aspekt aus der Geschichte speziell beleuchten. Die Kontroverse über Google als Hilfsscheriff auf der Jagd nach Verbrechern unter seinen Kunden lasse ich dabei bewusst aus, dieser Blogpost soll eine technische Annäherung werden. Anders als fälschlicherweise oft verbreitet wurde schnappten die Handschellen in Texas nämlich nicht zu weil Google Mails gelesen hat, vielmehr wurde der Inhalt eines Bildes als verbotener pornografischer Inhalt erkannt. Wie funktioniert das?

Der faszinierende Mechanismus ist den meisten Usern wohl bekannt durch die, in Chrome integrierte, Funktion „in Google nach diesem Bild suchen“. Er erlaubt es nicht nur gefällige Bilder im Internet in passenderen Formaten zu finden, die Suche hilft auch Fotografen die Verbreitung ihrer Bilder zu überwachen, praktisch. Doch wie macht das Google nun?

Content-based image retrieval

Google-Bildersuche Hash BeispielDen Anfang einer frei zugänglichen, erfolgreichen Suche nach Bildern machte unter anderem 1999 TinEye. Natürlich gab es davor schon andere, man bemühe für die geschichtlichen Details bitte selbständig Wikipedia. Die Funktionsweise von Tineye also wurde vom Blog Hackerfactor sehr anschaulich erläutert.

Kurz gesagt reduziert der Dienst ein Bild in Grösse und Farbe bis schlussendlich etwas dabei herauskommt das an einen QR-Code erinnert. Aus diesem optischen Code wird zum Schluss eine maschinell lesbare Zeichenfolge generiert.  Damit haben die Suchalgorithmen nun leichtes Spiel.

Bei Google ist der Ablauf ähnlich, wurde allerdings im Laufe der Zeit mit weiteren Hilfsmitteln angereichert. Google hält ein Patent zu Hash-based image identification, wer will findet hier alle Details über die Funktionsweise von Patent US 7761466 B1. Etwas anschaulicher zeigt das folgende Video die Funktionsweise.

Kurz gesagt analysiert Google die folgenden Merkmale:

  • Farben (colors)
  • Punkte (points)
  • Linien (lines)
  • Muster (textures)

Bringt Google die Bilder in einen Kontext?

Die Vermutung liegt nahe, dass Google nun diese Herangehensweise noch um ein weiteres Kriterium erweitert: Den textlichen Kontext. Nicht umsonst tauchen bei der Suche nach ähnlichen Bildern öfters auch plötzlich inhaltlich abweichende Bilder mit verwandtem Kontext auf.

Die kurze Recherche zu diesem Post macht mich natürlich nicht zu einem Experten für dieses Thema. Es war aber sehr aufschlussreich und hat mir viel zur Logik gängiger Suchalgorithmen aus einer neuen Sichtweise näher gebracht. Ergänzungen und Kommentare technischer Art sind natürlich entsprechend willkommen. Für alle die so richtig Tief ins Thema eintauchen wollen bietet Research at Google Learnings.

Ergänzung vom Januar 2015:

Google beschreibt Bilder mit einem Algorithmus

Die Welt dreht sich weiter – nicht weil Google das so will, aber als Bremse fungieren die Entwickler in Mountain View und Zürich definitiv auch nicht. Aktuell wird wieder am Algorithmus für die Bildersuche gearbeitet. Ein aktuelles Forschungsprojekt lässt Bilder durch Maschinen beschreiben. Bilder sollen dadurch lesbar werden. Die Bilder werden in Einzelteile zerlegt, beschrieben und in Kontext gesetzt. Der Erfolg fällt unterschiedlich gut aus. Für nähere Informationen empfehle ich die Lektüre des Artikels auf Bluemind.

Weiterempfehlen

image description

Kommentieren

2 Kommentare

image description
  1. Gordon Ecco | 6.01.2015 10:25

    Vielen Dank für die Verlinkung auf meine Seite und wirklich toller und sehr ausführlicher Artikel.

  2. Walter Bracun | 19.08.2014 10:53

    Herzlichen Dank für diesen überaus informativen Beitrag über Google. Ist schon eine Frechheit, was sich Google alles erlaubt. Andererseits werden von keinem anderen Konzern eine derartige Vielzahl von kostenlosen Tools bereit gestellt, die fürs Internetmarketing äußerst wichtig sind.
    Weiterhin alles Gute und viel Erfolg!
    Walter Bracun

Kommentar schreiben

Please copy the string TWDvVJ to the field below: