final / models /README.md
k22056537
evaluation: channel ablation script + feature importance LOPO
e69e3a3

models/

Feature extraction (face mesh, head pose, eye scorer, collect_features) and training scripts.

Extraction: face_mesh.py → landmarks; head_pose.py → yaw/pitch/roll, scores; eye_scorer.py → EAR, gaze, MAR; collect_features.py → 17-d vector + PERCLOS, blink, etc.

Training:

Path Command Checkpoint
mlp/ python -m models.mlp.train checkpoints/mlp_best.pt
xgboost/ python -m models.xgboost.train checkpoints/xgboost_face_orientation_best.json

MLP: train.py, sweep.py, eval_accuracy.py. XGB: train.py, sweep_local.py, eval_accuracy.py. Both use data_preparation.prepare_dataset (get_numpy_splits / get_dataloaders).

Results: XGBoost 95.87% acc, 0.959 F1, 0.991 AUC; MLP 92.92%, 0.929, 0.971.