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        |