# Multimodal Driver State Analysis

Ein umfassendes Framework zur Analyse von Fahrerverhalten durch kombinierte Feature-Extraktion aus Facial Action Units (AU) und Eye-Tracking Daten.

## 📋 Projektübersicht

Dieses Projekt verarbeitet multimodale Sensordaten aus Fahrsimulator-Studien und extrahiert zeitbasierte Features für die Analyse von Fahrerzuständen. Die Pipeline kombiniert:

- **Facial Action Units (AU)**: 20 Gesichtsaktionseinheiten zur Emotionserkennung
- **Eye-Tracking**: Fixationen, Sakkaden, Blinks und Pupillenmetriken

## 🎯 Features

### Datenverarbeitung
- **Sliding Window Aggregation**: 50-Sekunden-Fenster mit 5-Sekunden-Schrittweite
- **Hierarchische Gruppierung**: Automatische Segmentierung nach STUDY/LEVEL/PHASE
- **Robuste Fehlerbehandlung**: Graceful Degradation bei fehlenden Modalitäten

### Extrahierte Features

#### Facial Action Units (20 AUs)
Für jede AU wird der Mittelwert pro Window berechnet:
- AU01 (Inner Brow Raiser) bis AU43 (Eyes Closed)
- Aggregation: `mean` über 50s Window

#### Eye-Tracking Features
**Fixationen:**
- Anzahl nach Dauer-Kategorien (66-150ms, 300-500ms, >1000ms, >100ms)
- Mittelwert und Median der Fixationsdauer

**Sakkaden:**
- Anzahl, mittlere Amplitude, mittlere/mediane Dauer

**Blinks:**
- Anzahl, mittlere/mediane Dauer

**Pupille:**
- Mittlere Pupillengröße
- Index of Pupillary Activity (IPA) - Hochfrequenzkomponente (0.6-2.0 Hz)

## 🏗️ Projektstruktur

to be continued.

## 🚀 Installation

### Voraussetzungen
```bash
Python 3.12
```

### Dependencies
```bash
pip install -r requirements.txt
```

**Wichtigste Pakete:**
- `pandas`, `numpy` - Datenverarbeitung
- `scipy` - Signalverarbeitung
- `scikit-learn` - Feature-Skalierung & ML
- `pygazeanalyser` - Eye-Tracking Analyse
- `pyarrow` - Parquet I/O

## 💻 Usage

### 1. Feature-Extraktion
 to be continued