Pixel in Screenshots vs. Pixel in Fotos

Beitragsbild: Pixel in Screenshots

Was genau sind Pixel?

Wenn es um Farben geht, benötigen Designer und Entwickler eine gemeinsame Konvention, den sogenannten Farbraum, um sich verständigen zu können. Designer vergeben Farben gern eindeutige Namen (z. B. „Nostalgia Rose“, „Cloud Dancer “ und „Cocoon“ von Pantone), während Entwickler Hexadezimalcodes verwenden. Manche erkennen eine Farbe allein an den Ziffern ihres Hexadezimalcodes.

Hex-Codes folgen dem RGB-Farbraum (Rot, Grün, Blau). Die violette Akzentfarbe unserer Marke TeleportHQ wird beispielsweise durch #822CEC dargestellt. Das bedeutet: 53 % Rot, 23 % Grün und 86 % Blau. Es gibt auch andere Farbraumkonventionen wie HSL (Farbton, Sättigung, Helligkeit) und HSV (Farbton, Sättigung, Wert), die sich für bestimmte Anwendungsfälle besser eignen können.

Der RGB-Farbraum ist davon inspiriert, wie unsere Augen die Farben in unserer Umgebung wahrnehmen: Zapfen messen die Lichtintensität (Helligkeit) bei verschiedenen Energieniveaus (Farben). Anschließend leiten sie diese Informationen an den Rest des Gehirns weiter und ermöglichen uns so, unsere Umgebung wahrzunehmen. Einige Tiere verfügen über kein trichromatisches Farbsehen: Meeressäuger sind Monochromaten, die meisten Reptilien Tetrachromaten. Sie besitzen jeweils einen beziehungsweise vier Zapfentypen und können dadurch 100 Millionen Farben sehen, während die meisten Menschen „nur“ 10 Millionen wahrnehmen können [Quelle: Wikipedia].

How the eye works image

Querschnitt durch das menschliche Auge und Vergrößerung der Netzhaut, auf der Nerven zu sehen sind, die Licht aufnehmen und zur Analyse an Stäbchen und Zapfen weiterleiten. Quelle: https://www.xrite.com

Die Begriffe Intensität und Energie stammen aus der Physik. Licht besteht aus Photonen mit unterschiedlicher Energie, und das menschliche Gehirn kann Licht nur innerhalb eines bestimmten Wellenlängenbereichs wahrnehmen. Energiereichere Photonen gehören zum ultravioletten Bereich (der unsere Haut verbrennt), energieärmere zum infraroten Bereich (unser Körper gibt solche Photonen als Wärme ab, die mit Infrarotkameras sichtbar gemacht werden kann).

The electromagnetic spectrum image

Das elektromagnetische Spektrum. Quelle: https://www.radio2space.com

Auf einem Computerbildschirm besteht jedes Pixel aus drei kleinen LEDs: roten, grünen und blauen. Um diese Farben darzustellen, passt der Computer die Lichtintensität der einzelnen LEDs an – die Verarbeitung übernimmt dann unser Gehirn.

How pixels work in television image

Nahaufnahme von TV-Pixeln, von https://jakubmarian.com

Das erzeugte Licht soll das nachbilden, was wir in der Natur sehen. Doch dabei gibt es einen Haken: Blau kommt in der Natur nicht so häufig vor wie auf einem Computerbildschirm, und Weiß unterscheidet sich beispielsweise deutlich vom Sonnenlicht. Deshalb ist blaues Licht für unsere Augen so ermüdend und sind gelbe Filter sowie Blaulichtfilter für alle nützlich, die viel Zeit vor Bildschirmen verbringen.

Maschinelles Lernen ist besonders leistungsfähig bei Bildern

Difference of white in the sun and TV image

Vergleich zwischen dem von LEDs erzeugten Weiß und der Farbe des Sonnenlichts. Daten von http://galileo.graphycs.cegepsherbrooke.qc.ca

Bei der Bildanalyse achten Systeme des maschinellen Lernens nicht auf Hexadezimalcodes oder Farbnamen. Stattdessen betrachten sie Pixelwerte auf ähnliche Weise wie unsere Augen dieselben Pixel. Für die Maschine sind die folgenden beiden Bilder gleich:

Human vs computer interpreting image

Dieselben Graustufenbilder einer 3 aus Sicht eines Computers und eines Menschen

Für die Arbeit mit Bildern nutzt das maschinelle Lernen einen interessanten Trick: Es scannt Bilder, indem es Ausschnitte aus Pixeln betrachtet, statt einzelne Pixel isoliert zu analysieren. So lassen sich komplexere Muster erkennen, wodurch die Erkennungsalgorithmen deutlich leistungsfähiger werden. Diese Systeme werden Faltungsschichten genannt. Indem man mehrere solcher Schichten übereinanderstapelt (das berühmte Deep Learning), lassen sich Modelle trainieren, die abstraktere und höher entwickelte Merkmale erlernen können. Obwohl sie in den 1990er-Jahren erfunden wurden [ref], standen die erforderliche Rechenleistung und große Datensätze, die ihr volles Potenzial erst zur Geltung bringen, erst ab 2012 zur Verfügung.[ref]

Illustration of a convolutional layer in a neural network

Illustration einer Faltungsschicht in einem neuronalen Netzwerk, von https://github.com/vdumoulin

Doch selbst nach so langer Zeit ist noch immer nicht vollständig verstanden, warum neuronale Netzwerke so gute Ergebnisse erzielen [ref]. Ein besonders eindrucksvolles Beispiel stammt von einer Forschungsgruppe, die zeigte, dass sich der Algorithmus dazu bringen ließ, Schildkrötenpanzer für Gewehre zu halten [ref]. Eine mögliche Erklärung dafür ist, dass sich das neuronale Netzwerk stärker auf die Textur kleiner Pixelausschnitte konzentriert als auf das Gesamtbild. Das widerspricht der Aussage einige Absätze zuvor, dass diese Algorithmen abstrakte Merkmale erlernen können.

Neural network interpreting turtle image

Für ein neuronales Netzwerk sind all diese Bilder Wellen von http://www.3ders.org

Wie sieht es mit Screenshots aus?

Damit kommen wir zum Unterschied zwischen Screenshots und Fotografien. Fotografien enthalten sehr feine Farbverläufe, die dem Modell helfen, Informationen aus dem Bild zu extrahieren und fundierte Entscheidungen zu treffen. In einem Screenshot sind solche Farbverläufe viel seltener oder aufgrund der monochromen Bildbereiche oft ganz und gar nicht vorhanden. Dadurch gibt es für das Modell nur sehr wenige Informationen zu extrahieren.

A screenshot and a photo viewed in 3D

Ein Screenshot und ein Foto in 3D betrachtet

Diese Algorithmen sind weiterhin wertvoll, aber nicht für alle Arten von Problemen. Bei TeleportHQ führen wir beispielsweise mehrere Arten von Aufgaben des maschinellen Lernens in unserer Pipeline zur Codegenerierung aus Wireframes oder hochauflösenden Designs durch. Einerseits erzielen wir gute Ergebnisse mit Objekterkennung, um einzelne Widgets in einem Screenshot zu erkennen. Andererseits ist das Modell beim Versuch, Screenshots mobiler Apps verschiedenen Bildschirmtypen (Galerie, Pop-up, Menü, Formulare) zuzuordnen, nicht in der Lage, übergeordnete Konzepte zu erlernen. Ein einfacherer Entscheidungsbaum lieferte hier bessere Ergebnisse. Weitere Informationen zu diesen beiden konkreten Projekten werden wir in Kürze veröffentlichen.

Text and images detected in two screenshots

In zwei Screenshots erkannte Texte und Bilder

Fazit

Noch ist unklar, ob sich dieser Unterschied zwischen Screenshots und realen Bildern tatsächlich auf die Leistung tiefer neuronaler Netze auswirkt. Betrachtet man jedoch die 3D-Ansicht der Pixel selbst, ist der Unterschied deutlich: Es ist fast so, als würde man eine Stadtlandschaft mit einer ländlichen Landschaft vergleichen.

Die Machine-Learning-Community hat Deep Learning als unangefochtenen Spitzenreiter der Computer Vision anerkannt. Bei Screenshots von Web- und Mobilanwendungen glauben wir jedoch, dass andere Techniken weiterhin eine Chance haben könnten.

Derzeit untersuchen wir einen hybriden Ansatz, der die Ergebnisse von Computer-Vision- und Natural-Language-Processing-Techniken kombiniert, die auf dieselbe Datenquelle aus HTML-Zeichenfolgen und der zugehörigen DOM-Darstellung sowie den gerenderten berechneten Daten angewendet werden. Über diesen Ansatz werden wir in einem demnächst erscheinenden Blogbeitrag sprechen.

Wie immer sind wir sehr daran interessiert, uns mit anderen Interessierten zu diesem Thema auszutauschen. Wenn Sie an unserer Forschung interessiert sind, können Sie uns gerne über einen unserer Social-Media-Kanäle kontaktieren, die Sie in der Fußzeile dieser Website finden.

Inspiration

Ähnliche Beiträge

Kommentare

Noch keine Kommentare. Teilen Sie als Erste Ihre Gedanken mit.

Kommentar hinterlassen

Deine E-Mail-Adresse wird niemals öffentlich angezeigt.
Kommentare werden geprüft, bevor sie angezeigt werden.