Erweiterung der Feature Extraction: Kopf und Haare

Bisher wurden für die Bestimmung eines Styles nur die Kleidungsstücke und ihre Merkmale ausgewertet. Die Kleidung einer Person bildet die wichtigste Datengrundlage für unsere Arbeit. Doch wir können weit mehr Daten aus einem Bild gewinnen, als nur Kleidungsstücke und Accessoires.

Für den nächsten Schritt werden wir unsere Feature Extraction Engine um eine Gesichtserkennung erweitern, um so zukünftig auch Merkmale, wie die Frisur und ihre Haarfarbe, einen Bart, Hut oder etwa Schminke erkennen zu können. All dies sind Merkmale, welche in die eigene äußere Erscheinung eingehen und wichtig für unsere Auswertung sind.

Für die Umsetzung muss zuerst bestimmt werden, wo und ob sich ein Kopf in dem betrachteten Bild befindet. Angelehnt an die Object Detection, welche für die Kleidungsstücke verwendet wird, setzen wir ein Mask RCNN, implementiert im Detectron 2, ein. Trainiert wird das neuronale Netz auf dem WIDER FACE Datensatz, der über 32.203 Bilder mit markierten Gesichtern verfügt.

(p=0. 9989 )

Die Gesichtserkennung ist eines der prominentesten Beispiele, wie die künstliche Intelligenz Anwendung in unserem täglichen Leben findet. Als solches ist dieses Problem bereits in den vergangen Jahren stark untersucht worden. Die Qualität von modernen Datensätzen und immer effizientere neuronale Netze ermöglichen es uns Gesichter mit einer hohen Genauigkeit zu erkennen.

Der blau hervorgehobene Bereich im Bild ist die vom neuronalen Netz bestimmte Position des Gesichts. Um für unsere spätere Nutzung auch die Haare und mögliche Accessoires, wie Ketten, Fliegen oder Krawatten erkennen zu können skalieren wir den betrachteten Ausschnitt auf den rot dargestellten Bereich.

Nachdem die Position des Kopfes bestimmt wurde können wir mit der Feature Extraction beginnen. Genutzt werden zwei EfficientNet B0 Netze. Das erste Netz wurde auf dem CelebA Datensatz traniert, der viele unterschiedliche Merkmale zum Gesicht und Accessoires enthält. Aus dem Datensatz wurden dabei nur Merkmale übernommen, die zu einem Stil gezählt werden können. Äußere Merkmale, wie beispielsweise die Gesichtsform wurden bewusst ignoriert, da sie nicht von einer Person selbst bestimmt werden können. Das zweite Netz bestimmt ausschließlich die Frisur der Person und wurde auf dem Figaro1k Datensatz trainiert, der zwischen sieben Frisuren unterscheidet. Die erkannten Merkmale beider Netze können anschließend kombiniert werden.

Die für dieses Beispiel ermittelten Merkmale sind:
Frisur: gerade Haare
Bart: 5 o’clock Shadow
Erscheinung: Männlich

Schwierigkeiten bereitete uns bei dieser Aufgabe vor allem die Bestimmung der Frisur. Die Auswahl an Datensätzen, die Frisuren beinhalten ist sehr gering. Zudem war uns wichtig eine Frisur detailliert zu bestimmen, was die Auswahl weiter einschränkt. Der genutzte Figaro1k Datensatz besitzt vergleichsweise umfangreiche sieben Klassen, umfasst jedoch auch nur knapp über 1.000 Bilder. Um eine ausreichende Genauigkeit zu erreichen haben wir die Trainingsbilder umfassend mithilfe von Bild Augentation erweitern müssen.

Die Feature Extraction für Kopf und Haare trägt einen wichtigen Teil zur Bestimmung des Styles bei. Wir arbeiten auch weiterhin daran die Qualität unserer Auswertungen zu verbessern.

Der Brillenpool wird erweitert

Aktuell hat sich die Projektgruppe erneut in Kleingruppen organisiert, um die Projektaufgaben weiterhin zu erfüllen. Eine Kleingruppe bezeichnet sich als das Brillenpool-Team. Bereits in der ersten Zwischenpräsentation stellte die Projektgruppe ihren zusammengestellten Brillenpool zu den einzelnen Styles vor. Jetzt geht es darum, die vorhandene Brillenauswahl um Aspekte wie Alter und Geschlecht des Kunden, aber auch um weitere Farben der Brillen, zu erweitern. Denn das Ziel ist es den Kunden später eine große Vielfalt von Brillen anhand ihres durch die Künstliche Intelligenz ermittelten Styles vorzuschlagen. Damit also nicht jede/jeder, die beispielsweise den Style „Freizeit“ zu geordnet bekommen hat, dieselben Brillen angeboten bekommt, wird die bisherige Auswahl an Brillen vergrößert. Die Auswahl der Brillen ist soll weitestgehend personalisiert auf den Kunden zugeschnitten sein, um eine optimierte Beratung anbieten zu können. Dabei fokussiert sich das Brillenpool-Team bei der Auswahl der Brillen ausschließlich auf Brillen, die bei Brille24 erhältlich sind. Die Brillenpool-Ergebnisse werden durch eine Expertin von Brille24 verifiziert, bevor die Projektgruppe weiter mit diesem Pool arbeiten wird.

Online-Meetings während COVID- 19

Momentan finden die Treffen der Projektgruppe ausschließlich digital statt. Alle Mitglieder und ebenfalls die Betreuer sind daran interessiert die Verbreitung des Corona Virus einzuschränken und nutzen deshalb die Möglichkeiten der Technik, um weiter zu arbeiten. Mithilfe von Audio-/Videokonferenz, unter anderem mittels Jitsi, bleibt die Gruppe weiterhin produktiv und alle Mitglieder arbeiten an ihren Aufgaben. 

Die Arbeit geht weiter

Nach der ersten Zwischenpräsentation arbeitet die Projektgruppe daran, den Prototyp zu verbessern und zu erweitern. Dazu werden bestehende Modelle weiterhin bearbeitet und analysiert und es werden Modelle für neue Features, wie Muster und Accessoires, erstellt. Außerdem wird das bisher eingesetzte Regelwerk überarbeitet. Es muss aktuell noch entschieden werden, wie die einzelnen Modelle, die für die einzelnen Features verwendet werden, ausgewertet werden können. Deshalb muss die Projektgruppe eine Auswertungsmethode wählen. Zudem ist die Gruppe dabei 100 Testbilder zu Styles zu labeln, um zu analysieren, wie weit die Meinungen bezüglich der Styles auseinander gehen. Danach kann entschieden werden, wie das weitere Vorgehen aussehen wird und ob es möglich ist, dass nur 1 oder 2 PG-Mitglieder beziehungsweise Kleingruppen die Styles labeln. Die nächste Präsentation mit Zwischenergebnissen findet Ende April statt.

Die erste Zwischenpräsentation

Am 25.02.2020 durfte die Projektgruppe eine erste Zwischenpräsentation halten. Es wurden Brille24-Mitarbeiter und die VLBA-Abteilung eingeladen. Der bisherige Stand des Projektverlaufs und erste Ergebnisse wurden präsentiert. Vier der Projektmitglieder stellten dazu unter anderem die ermittelten Styles, die genutzte Pipeline und den aktuellen, entwickelten Prototyp in Form einer Live-Demo vor. Dabei wurde zuerst ein Fokus auf das Ziel der Gruppe sowie auf die Motivation gelegt, bevor es um die inhaltliche Arbeit ging. Dazu wurden aktuelle Lösungen besprochen und Herausforderungen aufgeführt. Abschließend wurde der Ausblick für die restliche Projektzeit vorgestellt, indem das weitere Vorhaben der Gruppe, besonders die nächsten Schritte erläutert wurden. Nach der Präsentation gab es eine Fragerunde, in welcher auch Feedback und Anregungen für das Projekt gesammelt wurden.  

In geselliger Runde ließ die Projektgruppe mit ein paar Snacks und Erfrischungen die erfolgreiche Präsentation sowie das Feedback auf sich wirken.

Einblick in die Object Detection und Instance Segmentation

Ein großer Bestandteil der Projektgruppe ist die Nutzung von Machine Learning Methoden, um Bilder automatisiert auswerten zu können. Dabei werden aktuell neuronale Netze genutzt, um zu erkennen, ob sich in einem Bild Kleidungsstücke befinden, und wenn ja, wo und welche. Diese Informationen werden weiterverarbeitet, um den Style der auf dem Bild dargestellten Person zu extrahieren und entsprechend Brillen vorzuschlagen.

Der erste Schritt in diesem Ablauf ist die Object Detection. Hierbei werden in einem Bild nahezu beliebig viele Kleidungsstücke lokalisiert, klassifiziert und im Bild segmentiert. Es kommt aktuell ein Mask R-CNN Modell zum Einsatz um diese Aufgaben zu bewältigen.

Hier ein Beispiel:

Der Input des Modells ist ein normales Bild einer Person: hier ein Bild unseres PG-Mitglieds JP.
Daraufhin werden aus dem Bild verschiedene Teilregionen bestimmt und klassifiziert. In diesem Bild wurden drei Regionen identifiziert die für uns relevant sind – Oberkörper in Rot, Unterkörper un Gelb und Fußbekleidung in Grün.

Zusätzlich wird noch eine Segmentation Mask gebildet, die für jeden Pixel bestimmt, ob dieser Teil der klassifizierten Region ist, oder nicht (hier am Beispiel des Oberkörpers).

Insgesamt erhält man folgende Informationen:

Region 1:
Klasse: Oberkörper (p=0.9898845)


Region 2:
Klasse: Unterhörper (p=0.9970329)


Region 3:
Klasse: Footwear (p=0.9986494)

Abschließend noch einige Anmerkungen:
Auch wenn dieses Beispiel suggeriert, dass das Problem der Object Detection und Segmentation nahezu gelöst ist, ist dies bei weitem nicht der Fall. Das hier gewählte Bild ist für die Aufgabe optimal und recht realitätsfern. Auch ist die Auswahl der Klassen auf unseren Anwendungsfall angepasst und deshalb überschaubar. Weiterhin sind die Klassenwahrscheinlichkeiten mit >98% utopisch und unrealistisch für realitätsnahere Bilder.

Dennoch sollte dieses Model eine gute Basis für das weitere Vorgehen bieten.

Info: Das hier genutzte Modell ist ein Mask R-CNN mit einem ResNet50 Backbone, trainiert auf MSCOCO2017 mit Finetuning auf iMaterialist2019 (fünf Epochen); implementiert in Detectron2 von FAIR. Die trainierten Klassen sind „Upperbody“, „Lowerbody“, „Wholebody“, „Footwear“ und „Accessoires“.

PG beim „Informatik4Future“ – Tag der Informatik für Schülerinnen und Schüler

Am Informationstag durfte die Projektgruppe im Science Truck der Innovativen Hochschule Jade-Oldenburg! (IHJO) das abgeschlossene Propose.AI Projekt vertreten und die Ideen von Propose.AI2 vorstellen. Dabei wurde nicht nur der Brillenpassleser erläutert, sondern auch der Brillenberater live getestet. Schülerinnen und Schüler konnten sich über das Projekt informieren und die Projektmitglieder über Machine Learning ausfragen. Mehr Informationen gibt es unter https://uol.de/informatik/studieninteressierte/infotag 

Foto Quelle: IHJO

Experteninterview mit Style

Letzte Woche traf sich die Fashion Research Gruppe mit einer Mitarbeiterin von Brille24, um ihre recherchierten, zusammengetragenen Styles und vor allem die Vorschläge für passende Brillen zu den Styles zu besprechen. Die Expertin konnte ihr Wissen zu Trends und vergangenen Brillenvorlieben einsetzen und ihr Feedback an die Fashion Research Gruppe geben. Nun werden die Rückmeldung und weitere Tipps umgesetzt, bevor die restlichen Mitglieder der Projektgruppe die Ergebnisse dieser Kleingruppe präsentiert bekommen. Nach diesem Vortrag kommt die Projektgruppe ihrem nächsten Meilenstein etwas näher und die Fashion Research Gruppe löst sich zeitnah auf. Die Mitglieder verteilen sich dann auf die anderen Kleingruppen und die Arbeit geht weiter.

Präsentationen der Einzelaufgabe

Heute durften alle Projektgruppenmitglieder die Ergebnisse ihrer Einzelaufgabe der Einarbeitungsphase vor den Betreuern und auch den anderen Gruppenmitgliedern vorstellen. So konnten alle ihre Vorgehensweise bei der Bewältigung der Aufgabe zeigen und Erkenntnisse teilen. Entscheidungen und Ideen wurden besprochen und diskutiert, was auch für den weiteren Verlauf des Projekts einen Mehrwert im Hinblick auf Machine Learning bringt. Auch wenn sich die Gruppe aktuell in einer eher theoretischen Phase der Recherche befindet, um die notwendigen Grundlagen zum Lösen der Projektziele zu schaffen, wird Machine Learning schon bald wieder im Fokus stehen. Die Betreuer hatten die Möglichkeit mithilfe dieser Vorträge einen Einblick in die Arbeitsweise der Gruppenmitgliedern und den Wissensstand der Einarbeitungsphase zu bekommen. Außerdem ging die Bewertung dieser Aufgabe teilweise in die Note der Einzelbewertung der einzelnen Gruppenmitglieder ein.

Beginn des Fashion Research

Nach der Einarbeitungsphase teilt sich die Projektgruppe in Kleingruppen auf, unten anderem gibt es die Fashion Research Gruppe. Bisher haben alle Mitglieder der Projektgruppe keine großen Erfahrungen in Richtung Fashion und nun beginnt ein Teil mit der Recherche zu Fashion-Styles. Wenn die Recherche erfolgt ist, einigt sich die Fashion Gruppe auf ausgewählte Styles. Ziel ist es, ein einheitliches Verständnis von Styles für die gesamte Gruppe zu erarbeiten. Diese Styles werden später eingesetzt, um Brillen den ermittelten Styles zu zuordnen. Die Zuordnung soll mithilfe von Machine Learning erfolgen. Doch komplett alleine will die Fashion Gruppe nicht arbeiten. Anfang nächsten Jahres ist ein Treffen mit Conny von Brille24 geplant. Dort sollen die gefundenen Styles besprochen und abgesegnet werden, bevor es weitergehen kann und die Ergebnisse dieser Kleingruppe der gesamten Projektgruppe vorgestellt werden.