Studie 02 · Computer Vision · Bildklassifizierung
Ein Modell zur Klassifizierung von Kleidungsfotos mit ResNet
2021 · Forschungsstudent im GrundstudiumIch habe ein Modell zur Einteilung von K-Fashion-Fotos in Kleider, Oberbekleidung, Hosen und Oberteile trainiert und klassenweise Fehler analysiert.
- 14 Arten von Kleidungsfotos
Stichprobenziehung basierend auf der geringsten Anzahl von Klassen
- 2ResNet50V2
Beginnen Sie mit vorab trainierten ImageNet-Gewichten
- 3Fehleranalyse nach Klasse
Genauigkeit, Trefferquote, Konfusionsmatrix
Verwendung von ImageNet Pre-Training ResNet50V2
Direkt zugewiesene Rolle und Ergebnis
- Zugewiesene Rolle
- Implementierter Trainingscode zur Kleidungsklassifizierung unter Verwendung eines vortrainierten ResNet50V2-Modells und klassenspezifischer Sampling- und Evaluierungsabläufe. Fehlklassifizierungen wurden mithilfe der Konfusionsmatrix analysiert.
- Ergebnisse
- Ich habe eine Trainings- und Analysepipeline gebaut, die K-Fashion-Fotos in Kleider, Oberbekleidung, Hosen und Oberteile einteilt. Anschließend habe ich auf dem öffentlichen Datensatz Fashion-MNIST die Einstellungen einzeln verändert und so den Einfluss von Datenaugmentierung und Shortcut-Verbindung auf die Vorhersagen getrennt untersucht.
Was ich intern implementiert und analysiert habe
- ResNet50V2-Klassifizierungstrainingscode
- Downsampling Trainings- und Validierungsdaten nach Klasse
- Überprüfung der Klassenindikatoren und Konfusionsmatrizen
- Fehleranalyse bei Kleidern und Oberbekleidung
Basierend auf Forschungs-/öffentlichem Modell
- Mit ImageNet vorab trainierte ResNet50V2-Gewichte
- K-Fashion-Daten
Daten aus der Originalstudie


Experimentergebnisse und Fehlversuche
Ursache der Vorhersage-Schieflage in Augmentierung und Shortcut-Fehler gefunden
Selbst bei der Ausführung desselben Codes auf dem öffentlichen Fashion-MNIST-Datensatz waren die Vorhersagen einseitig verzerrt. Die Ursache war ein Fehler in den Augmentierungseinstellungen und der Shortcut-Verbindung.
- RTX A6000
- TensorFlow 2.15
- Fashion-MNIST: 4 Klassen (Kleid, Mantel, Hose, T-Shirt)
- 10 epoch

- 48.9% → 94.4%Nur Vergrößerung vergleichen · Fashion-MNIST · Startwert 0
- +29.8%pNur Verknüpfungsverbindung ändern · Gleicher Startwert 0
- 0%Reproduktionsrate der Originaleinstellungen · Gleicher Seed 0
Problem und Lösung
ProblemDie Anzahl der Fotos variiert je nach Kleidungsart, wodurch die Trainingsdaten zu bestimmten Klassen tendieren.
Gelöst.Die Trainings- und Validierungsdaten wurden auf die Stichprobengröße der jeweils kleinsten Klasse reduziert.
ProblemEs ist schwierig, allein anhand der Gesamtpunktzahl zu erkennen, welche Kleidungsstücke miteinander verwechselt wurden.
Gelöst.Präzision, Trefferquote und Konfusionsmatrizen wurden nach Klasse erfasst und Verwechslungsfälle wie „Kleid“ und „Außen“ zusammen mit Fotos analysiert.
ProblemWenn Vorhersagen in eine Richtung kippen, lässt sich schwer erkennen, ob die Daten oder die Codeeinstellungen die Ursache sind.
UrsachenanalyseAuf Fashion-MNIST habe ich Augmentierung, Shortcut und Regularisierung einzeln verändert und die Schieflage auf die Code-Einstellungen zurückgeführt.
Vergleich der Experimente und detaillierte Ergebnisse

| Geänderte Einstellungen (einzeln) | Genauigkeit testen | Häufigstes vorhergesagtes Klassenverhältnis |
|---|---|---|
| Originaleinstellungen | 48.9% / 39.1% | 36% / 49% |
| Vergrößerung deaktiviert | 94.4% / 94.3% | 26% / 26% |
| Verknüpfungsverbindung ändern | 78.7% / 63.1% | 35% / 53% |
| L2-Koeffizient 0,01 → 0,0001 | 39.4% | 48% |
| Überblendungsgenauigkeit deaktivieren | 52.2% | 51% |
| Momentum 0,1 → 0,9 | 24.9% | 99.9% |
| Verknüpfung ändern + Erweiterung deaktiviert + L2 0,0001 | 96.4% | 25% |
Beobachtete Ursachen und verbleibende Aufgaben
- Vergrößerung stärker als beabsichtigt
Obwohl eine leichte Vergrößerung beabsichtigt war, funktionierte sie tatsächlich wie eine Drehung um ±72°, eine vertikale Spiegelung und eine Halbierung der Größe. Aufgrund des Caches blieb die Deformation der ersten Epoche bis zum Ende fixiert.
- Fehler bei der Verknüpfungsverbindung
Die Identitätsverknüpfung übergab den Wert, der über BN und ReLU ging, anstelle der ursprünglichen Eingabe. Die ImageNet-Gewichte gingen ohne Fehler ein und waren unsichtbar.
- Bewertungsmethode
Der Rückruf der README-Datei basierte auf einem Schwellenwert von 0,5 und die Validierungsdaten wurden in der Auswertung neu geschrieben. Die hier angegebene Genauigkeit wird anhand eines nicht überlappenden Testsatzes gemessen.
Kriterien für das Lesen der Ergebnisse
- Die Auswertung in der README-Datei ist kein unabhängiger Test, da sie die Validierungsdaten neu schreibt.
- Fehlerursache (Ungleichgewicht, Aufnahmewinkel) nicht verifiziert
- Die Werte unten stammen aus 10 Epochen Training auf 4 Fashion-MNIST-Klassen
Fehler nach Klassen aufzuschlüsseln und zu hinterfragen, was eine Auswertungsaufteilung bedeutet, begleitet mich bis heute. Auch beim CAD-Modell für Bearbeitungsmerkmale prüfe ich Fehler je Klasse getrennt und teile die Daten für die Auswertung nach Geometriefamilien auf.
KI, die 3D-Modelle liest und Bearbeitungsstrategien entwirft