Parkinson's patients experience sudden, unpredictable "freezing" episodes where their feet stop moving mid-stride — a leading cause of falls. Catching these moments in real time from wearable sensor data could enable early intervention.
Transformed tri-axial accelerometer signals (ankle, thigh, trunk) into Gramian Angular Field images and trained a multi-branch convolutional neural network (CNN) to classify freezing vs. normal movement, benchmarked against XGBoost and Random Forest baselines.
Achieved 0.85 AUC, outperforming the XGBoost baseline (0.83), with a live Gradio demo for real-time inference.
Demonstrates deep learning on clinical time-series data, signal-to-image feature engineering, and reproducible experiment tracking — skills that transfer directly to wearable health monitoring and remote patient monitoring products.
Project Highlights
- Gramian Angular Field transformation converts raw accelerometer signals into 192×192 RGB images
- Multi-branch CNN: independent convolutional tower per sensor (ankle / thigh / trunk), fused before classification
- AUC 0.85 (downsampled), benchmarked against XGBoost (AUC 0.83) and upsampled CNN (AUC 0.82)
- Memory-efficient chunked .npz data pipeline for streaming large accelerometer datasets
- Gradio demo accepting 3 GAF images for live FOG/Non-FOG prediction with Grad-CAM overlay
- Experiment tracking with MLflow and Weights & Biases; early stopping and LR scheduling
- CI running XGBoost baseline + PyTorch CPU smoke test on every push
Results
The multi-branch CNN outperformed traditional baselines across all three class-imbalance handling strategies. Grad-CAM overlays confirm the model attends to FOG-relevant signal regions in the GAF images.
Infographics
End-to-end pipeline: data collection through classification
Gramian Angular Field (GAF) transformation process
Multi-branch CNN architecture for FOG classification
Sensor placement and clinical context
Screenshots & Outputs
Confusion matrix: multi-branch CNN
ROC curve (AUC 0.85)
XGBoost feature importance
Architecture
↓
Gramian Angular Field (GAF) Transformation → 192×192×3 Images
↓
Multi-Branch CNN (one tower per sensor): Conv2D x 3 → BatchNorm → Dropout
↓
Global Average Pooling → Concatenate branches → Dense → Sigmoid
↓
FOG / Non-FOG Classification + Grad-CAM Heatmap
↓
Benchmarked vs. XGBoost + Random Forest baselines · MLflow tracking