adzetto's picture
Initial model card
e85c210 verified
metadata
license: apache-2.0
language:
  - tr
  - en
tags:
  - ecg
  - arrhythmia
  - 12-lead
  - tflite
  - medical
  - time-series
datasets:
  - adzetto/sph-ecg-arrhythmia
metrics:
  - auc
pipeline_tag: audio-classification

ECG Arrhythmia Classifier (12-Lead DS-CNN)

Lightweight Depthwise Separable 1D CNN model for 12-lead ECG arrhythmia classification. Trained on the Shaoxing People's Hospital (SPH) dataset — 45,152 ECG recordings.

Model Details

Property Value
Architecture Depthwise Separable 1D CNN
Parameters ~280K
TFLite (INT8) size ~350 KB
Input (1, 2500, 12) — 10s @ 250Hz, 12 leads
Output 49-class multi-label sigmoid
Android latency ~12ms (mid-range device)

Conditions (49 SNOMED-CT labels)

1AVB, 2AVB, 2AVB1, 2AVB2, 3AVB, ABI, ALS, APB, AQW, ARS, AVB, CCR, CR, ERV, FQRS, IDC, IVB, JEB, JPT, LBBB, LBBBB, LFBBB, LVH, LVQRSAL, LVQRSCL, LVQRSLL, MI, MIBW, MIFW, MILW, MISW, PRIE, PWC, QTIE, RAH, RBBB, RVH, STDD, STE, STTC, STTU, TWC, TWO, UW, VB, VEB, VFW, VPB, VPE

Usage (Android TFLite)

val classifier = EcgClassifier(context)
val predictions = classifier.classify(ecgData12x2500)
// predictions: List<EcgPrediction> (prob > 0.5)

Training

python dataset/train_ecg_model.py

Project

Part of the Hayatın Ritmi wearable ECG project — TÜBİTAK 2209-A research.