emotion_model-thoeppner
Dieses Modell ist eine feinjustierte Version von resnet-18
für einen benutzerdefinierten Emotionsdatensatz. Es erzielt die folgenden Ergebnisse auf der Validierungsmenge:
- Loss: 0.8515
- Accuracy: 71.60 %
Modell Beschreibung
Das Modell basiert auf der ResNet-18 Architektur und wurde mithilfe von PyTorch auf einem Emotionsdatensatz trainiert. Ziel war es, ein robustes Klassifikationsmodell zur Erkennung von 9 Emotionen in Gesichtern zu entwickeln.
Einsatzbereiche und Einschränkungen
Verwendungszweck:
- Klassifizierung von Emotionen zu Bildungs-, Analyse- oder Demonstrationszwecken
- Kann in Gradio-Anwendungen zur Emotionserkennung auf hochgeladenen Gesichtern genutzt werden
Einschränkungen:
- Nicht geeignet für Emotionen ausserhalb der 9 trainierten Klassen
- Erkennung kann bei schlechten Lichtverhältnissen, verdeckten Gesichtern oder untypischen Gesichtsausdrücken ungenau sein
- Modell benötigt klare, frontal aufgenommene Gesichter für optimale Ergebnisse
Trainings- und Evaluationsdaten
Das Modell wurde auf einem privaten Emotionsdatensatz mit 64 864 Bildern in 9 Klassen trainiert.
Klassen:
- happy
- sad
- angry
- surprised
- fear
- disgust
- neutral
- contempt
- unknown
Aufteilung des Datensatzes:
- 80 % Training
- 20 % Validierung (interner Split)
Training der Hyperparameter
Die folgenden Hyperparameter wurden beim Training verwendet:
Hyperparameter | Wert |
---|---|
Optimizer | Adam |
Learning Rate | 0.0005 (mit ReduceLROnPlateau Scheduler) |
Batch Size | 64 |
Loss Function | CrossEntropyLoss |
Early Stopping | nach 5 Epochen ohne Verbesserung |
Maximale Epochen | 6 |
Eingabebildgröße | 224 × 224 Pixel |
Training Resultate
Epoche | Train Loss | Train Accuracy | Val Loss | Val Accuracy |
---|---|---|---|---|
1 | 0.9685 | 65.72 % | 0.9370 | 66.70 % |
2 | 0.7705 | 72.42 % | 1.0514 | 62.30 % |
3 | 0.7409 | 73.08 % | 1.0166 | 64.90 % |
4 | 0.6329 | 77.15 % | 0.9834 | 65.70 % |
5 | 0.4704 | 83.40 % | 0.8515 | 71.60 % |
6 | 0.3543 | 87.83 % | 0.9220 | 70.80 % |
- Bestes Validation Loss: 0.8515
- Bestes Validation Accuracy: 71.60 %
Vergleich mit Zero-Shot-Modell (CLIP)
Zur Einordnung der Leistung wurde das Modell mit einem Zero-Shot-Klassifikationsmodell openai/clip-vit-base-patch32
verglichen. Beide Modelle wurden auf dem identischen Testset (5 000 Bilder) ausgewertet.
Zero-Shot Modell:
- Modell: CLIP (ViT-Base, Patch-32)
- Aufgabe: Zero-Shot Image Classification
- Keine Feinjustierung – nutzt nur Text-Bild-Verständnis
Beobachtungen:
- Das ResNet-18 Modell erzielt eine deutlich höhere Accuracy auf bekannten Emotionen und kann feine Unterschiede zwischen Emotionen besser erkennen.
- Das CLIP-Modell zeigte gute Generalisierung auf bisher unbekannte Emotionen, hatte jedoch insgesamt eine geringere Genauigkeit.
Zero-Shot Ergebnisse:
- Accuracy: 10.0 %
- Macro Avg F1-Score: 7 %
- Weighted Avg F1-Score: 5 %
Framework Versionen
Bibliothek | Version |
---|---|
Transformers | 4.52.2 |
PyTorch | 2.6.0+cu124 |
Datasets | 3.4.1 |
Tokenizers | 0.21.1 |
scikit-learn | 1.4.2 |
Matplotlib | 3.8.4 |
Seaborn | 0.13.2 |