Die letzte Zwischenpräsentation steht an…

Da wir jetzt im Monat Juli angekommen sind, ist die Zeit für die nächste und auch die letzte Zwischenpräsentation gekommen. Das Projekt Propose.AI2 erstreckt sich insgesamt über 12 Monate und endet Mitte Oktober diesen Jahres. Deshalb bleibt nur noch die Möglichkeit zwei Präsentationen zu halten, diese Zwischenpräsentation und eine Endpräsentation. Die Zwischenpräsentation findet in knapp 2 Wochen, am Freitag, den 17.07.2020 um 15 Uhr, statt. Die Projektgruppe freut sich ihren Fortschritt zu zeigen und den Endspurt in die letzte Phase einzuleiten. Zahlreiche Zuhörer sind erwünscht, die Präsentation wird wieder online statt finden. Die Präsentation kann über folgenden Einladungslink erreicht werden:  Link zur Präsentation

Die Inhalte der Zwischenpräsentation werden unter anderem sein: Thematik der Markenerkennen mit zwei verfolgten Ansätzen, die Verbesserung der Haarfarben-Erkennung und die Alternative zur Pipeline. Außerdem wird es einen Ausblick in die verbleibende Projektzeit geben und eine Beschreibung, wie die Gruppe, diese effektiv nutzen möchte. 

Vorstellung des Fortschritts bei der online Halbjahrespräsentation

Am 08. Mai präsentierte die Projektgruppe ihre Halbjahrespräsentation und konnte den verbesserten Prototyp in der Live-Demo vorzeigen. In diesem Vortrag wurden mehrere Optimierungen im Vergleich zur letzten Zwischenpräsentation hervorgehoben.  Die Berechnungszeit der Style-Analyse des Prototypen wurde im Vergleich zur ersten Präsentation von ca. 20-30 Sekunden auf ca. 4 Sekunden reduziert. Ebenfalls wurde die Einbindung der Services Farbe und Muster erwähnt. Zudem wurden Themen, wie die eingesetzten AI-Modelle und die aktuelle Pipeline, vorgestellt. Die eingesetzten Datasets der Gruppe für das Training der Modelle wurden auch besprochen. Insgesamt setzt die Projektgruppe momentan 12 Modelle ein, um den Style einer Person anhand eines Ganzkörperfotos zu identifizieren. Dabei verwenden die meisten Modelle Machine Learning.

In den nächsten Projektmonaten sollen diese weiterhin optimiert werden, eventuell werden weitere Modelle ergänzt oder zusammengefasst. Die Projektgruppe forscht außerdem nach alternativen Lösungsansätzen zur Brillenberatung. Dabei steht das Ausschließen des subjektiven Aspekts im Vordergrund.

Propose.AI 2 bedankt sich nochmals bei den Zuhörern der Halbjahrespräsentation für das Interesse und die anregenden Vorschläge und Ideen aus der Fragerunde. 

Einladung zu der Halbjahrespräsentation

Wie schnell die Zeit vergeht… bereits seit über einem halben Jahr arbeitet die Propose.AI2-Gruppe und möchte den Fortschritt des Projektes gerne teilen. Am 8. Mai, um 14 Uhr findet die Halbjahrespräsentation statt und alle sind herzlich eingeladen daran teilzuhaben. Die Projektgruppe stellt neben dem bisherigen Fortschritt (inklusive der Motivation und dem Ziel der Gruppe), auch den verbesserten Prototyp sowie einige technische Hintergrunde vor. Außerdem wird ein Ausblick in die verbleibenden Projektmonate geworfen. Wegen der bekannten Umstände wird die Präsentation online durchgeführt. Die Präsentation kann ohne ein Nutzerkonto über Microsoft Teams verfolgt werden. Bei Interesse bitte diesen Link verwenden, um die Präsentation am genannten Tag zu besuchen. Die Projektgruppe freut sich über ein zahlreiches Publikum.

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