Logo Lanfrica

Danchi-1/arrthymia_detection_low_resource_setting

Domaine:

healthcare

Type de record:

software
Créateur:
Dan
Hôte:
This repository implements a TinyML-ready ECG arrhythmia detection pipeline designed for commodity CPU deployment in low-resource African health settings. # TinyML ECG Arrhythmia Detection for Low-Resource Settings This repository implements a TinyML-ready ECG arrhythmia detection pipeline designed for commodity CPU deployment in low-resource African health settings. ## Overview The project explores a lightweight 1D convolutional neural network for binary ECG classification using the MIT-BIH Arrhythmia Database. The goal is to detect abnormal heartbeats while preserving high accuracy and enabling efficient on-device inference through TensorFlow Lite quantization. ## Contents - `main.ipynb` — Primary notebook containing the full experimental workflow: - data loading and preprocessing - heartbeat normalization and class balancing - model definition and training - evaluation and metrics - TensorFlow Lite conversion and quantization - CPU inference benchmarking - `README.md` — This project summary and usage guide. ## Key Features - Binary classification: normal vs. abnormal ECG beats - Lightweight 1D CNN architecture optimized for embedded inference - Patient-wise dataset split matching MIT-BIH/AAMI standards - Training pipeline with normalization and class balancing - Conversion to TensorFlow Lite formats: - float32 - float16 - INT8 - CPU inference benchmarking for low-resource deployment ## Dataset The notebook expects the MIT-BIH Arrhythmia Database. > The dataset is not included in this repository. In the notebook, data paths are configured for a Google Drive-mounted folder. Update `dataset_path` to your local dataset location before running. ## Model Approach The notebook builds and compares two lightweight CNN models for 1D ECG waveform classification. The general workflow is: 1. Load MIT-BIH ECG records and annotations 2. Extract individual heartbeat segments from lead II 3. Normalize each beat to zero mean and unit variance 4. Balance the training set with resampling of abnormal beats 5. Train a compact Conv1D model with global average pooling 6. Evaluate on a held-out test set 7. Convert the trained …

Licenses