File size: 3,907 Bytes
26f4545 7aaac45 26f4545 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
---
license: mit
tags:
- emotion-detection
- image-classification
- computer-vision
- resnet
datasets:
- custom
---
# 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 |
|