Einführung
Globus ist ein Modeeinzelhändler, der neben seinen Filialen (wie dem Flagship-Store an der Zürcher Bahnhofstrasse) auch Modeprodukte über seinen
Online-Shop verkauft.
Der Online-Shop verfügt über Tausende von Bildern, die die Produkte in der Modeabteilung zusammen mit ihren Beschreibungen darstellen. Vor der Durchführung dieses Projekts wurde die Klassifizierung dieser Bilder nach ihrem Platz in der Warenhierarchie von Globus (z.B. Herren -> Jacken -> echtes Leder) und die Beschreibung ihrer Eigenschaften (z.B. Farbe, Material, etc.) zu einem grossen Teil durch manuelle Arbeit erledigt. Das Ziel dieses Projektes war es, mit Hilfe von Bilderkennung diesen Prozess so weit wie möglich zu automatisieren. Zu diesem Zweck wurden verschiedene Architekturen neuronaler Netze untersucht und abgestimmt. Ein weiteres Ziel war es, herauszufinden, welche Produktkategorien (z.B. Damen- und Herrenbekleidung, Portemonnaies, Schuhe, ...) sich am besten für die Vorhersage von Merkmalen eignen. Dies hing sowohl von einem richtig konzipierten und trainierten Modell als auch von der Qualität und Quantität der entsprechenden Eingabedaten für diese Kategorien ab.
Projektdetails
Dieses Projekt war die zweite Iteration eines solchen Bildklassifizierers. Das zuvor von Studenten der SIT Academy entwickelte Modell verwendete eine ResNet-50-Architektur, um ein neuronales Netz mit zwei Ausgängen zu erzeugen. Ein Ausgangszweig sagte die Warenhierarchie eines gegebenen Eingangsbildes voraus und der andere die Wahrscheinlichkeitsverteilung dieses Bildes über alle Produktmerkmale. Das Modell wurde mit einem Datensatz von mehr als 35'000 Bildern trainiert, die von einem von Globus bereitgestellten API-Endpunkt im JSON-Format heruntergeladen wurden. Die JSON-Dateien enthielten sowohl Informationen über die Warenhierarchie als auch über die Produktmerkmale. Im aktuellen Projekt versuchten unsere Studenten, die Genauigkeit des zweiten Ausgabezweigs zu verbessern, mit dem Ziel, die Produktmerkmale vorherzusagen.
Der erste Meilenstein, der erreicht wurde, war das Trainieren eines neuronalen Netzwerkmodells unter Verwendung der Produktkategorie (mit der grössten Datenmenge) mit einer Ausgabe und dem Versuch, die Vorhersage der Produktmerkmale so gut wie möglich zu maximieren. Die Ausgabe des Modells wurde auf die Merkmale beschränkt, die für die gewählte Produktkategorie relevant sind. Dieses Modell mit eingeschränktem Output diente als Benchmark.
Der zweite Schritt war die Untersuchung eines Modells, das auf mehrere Produktkategorien trainiert wurde und dessen Output nicht eingeschränkt war. Dies bedeutete, dass die Vorhersage der Output-Merkmale über alle möglichen Produktidentifikationen in den Eingabedaten erfolgen würde. Ziel war es, zu überprüfen, ob ein solches Modell mit unbeschränktem Output genaue Produktmerkmale erzeugen kann, die zudem konsistent sind. Konsistenz bedeutet in diesem Zusammenhang, dass Merkmale, die nicht zu dieser Produktkategorie gehören, mit einer Wahrscheinlichkeit von nahezu Null vorhergesagt werden sollten (z.B. sollte eine Herrenjacke keine Merkmale für eine Damenhandtasche aufweisen). Das unconstrained-output Modell (mit unbeschränktem Output) wurde mit dem Benchmark verglichen, um eine Empfehlung abzugeben, ob mehrere constrained-output Modelle (mit eingeschränkten Output), z.B. ein Modell pro Produktkategorie, oder ein einziges unconstrained-output Modell, z.B. ein Modell für alle Produktkategorien, der richtige Weg sind.
Als Nächstes wurde ein Post-Processing-Schritt untersucht, bei dem die vorhergesagten Wahrscheinlichkeiten auf Konsistenz geprüft wurden. In einem letzten Schritt wurde untersucht, ob die Verwendung der Warenhierarchie für jedes Bild als Eingabe zusätzlich zum eigentlichen Produktbild zu besseren und konsistenteren Vorhersagen der Merkmale in den eingeschränkten und nicht eingeschränkten Modellen führte.
Resultat
Die Ergebnisse umfassten eine detaillierte Dokumentation aller Schritte der Datenvorverarbeitung und aller Modellversionen, die für jeden Projektschritt getestet wurden. Abschliessende Empfehlungen, wie man mit einem trainierten Modell vollständige Merkmalsvorhersagen erreichen kann, wurden ebenfalls gegeben. Abschliessend lässt sich sagen, dass eine sehr hohe Vorhersagerate erreicht wurde. Mit dem Modell unserer Studenten wurden 9 von 10 Merkmale eines Objekts entsprechend empfohlen, was ein hervorragendes Ergebnis ist. Immerhin gibt es alleine 72 verschiedene Weisstöne, die natürlich nicht alle im Trainingsprozess vorkommen konnten.