Giới thiệu dự án

Bệnh lý tim mạch (Cardiovascular Diseases - CVDs) hiện là nguyên nhân gây tử vong hàng đầu trên toàn cầu. Theo số liệu thống kê từ Tổ chức Y tế Thế giới (WHO), mỗi năm có khoảng 17,9 triệu người tử vong do các bệnh liên quan đến tim mạch, chiếm gần 31% tổng số ca tử vong trên toàn thế giới. Trong số các bệnh lý tim mạch, rối loạn nhịp tim (Cardiac Arrhythmia) là tình trạng bất thường nguy hiểm đặc biệt, phản ánh sự thay đổi về tần số, tính đều đặn hoặc nguồn gốc phát xung điện học của cơ tim. Một số dạng rối loạn nhịp như rung tâm thất (Ventricular Fibrillation) hay nhịp nhanh thất (Ventricular Tachycardia) có thể dẫn tới ngừng tuần hoàn và đột tử trong vài phút nếu không được khử rung tim kịp thời; trong khi các dạng loạn nhịp khác như ngoại tâm thu thất (Ventricular Ectopic Beat - VEB) hay ngoại tâm thu trên thất (Supraventricular Ectopic Beat - SVEB) đòi hỏi phải theo dõi điện tâm đồ liên tục từ 24 giờ đến 7 ngày (phương pháp Holter ECG) để phát hiện.

Việc phân tích thủ công hàng trăm nghìn nhịp tim từ các bản ghi Holter ECG dài hạn gây áp lực công việc khổng lồ cho các bác sĩ tim mạch, đồng thời tiềm ẩn rủi ro chẩn đoán sót do yếu tố mệt mỏi thị giác và áp lực thời gian. Nhằm giải quyết triệt để vấn đề này, đề tài "Phân loại bệnh tim từ tín hiệu điện tâm đồ sử dụng kit Raspberry Pi" được thực hiện tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh bởi nhóm nghiên cứu chuyên ngành Điện tử Công nghiệp – Y sinh. Đề tài tập trung vào việc nghiên cứu, trích xuất đặc trưng hình thái học – tần số của tín hiệu điện tâm đồ (ECG) và huấn luyện mô hình Máy học (Machine Learning) dựa trên thuật toán Support Vector Machine (SVM), sau đó tối ưu hóa và triển khai thành công trên phần cứng nhúng kit Raspberry Pi 3.

+-----------------------------------------------------------------------------------+
|                                 MỤC TIÊU DỰ ÁN                                    |
+-----------------------------------------------------------------------------------+
| 1. Nghiên cứu & chuẩn hóa dữ liệu ECG từ cơ sở dữ liệu quốc tế PhysioNet MIT-BIH. |
| 2. Thiết kế bộ tiền xử lý lọc nhiễu đường đẳng điện (Baseline Wander) & nhiễu cơ. |
| 3. Xây dựng thuật toán kết hợp đặc trưng: RR Interval, Wavelet DWT và STFT.       |
| 4. Tối ưu hóa bộ phân loại đa lớp Support Vector Machine (SVM) với Kernel RBF.    |
| 5. Triển khai thuật toán suy luận độc lập trên máy tính nhúng Raspberry Pi 3.     |
| 6. Xây dựng giao diện đồ họa (GUI) cho phép nhập mã bệnh nhân và hiển thị kết quả.|
+-----------------------------------------------------------------------------------+

Giải pháp được đề xuất kết hợp phương pháp trích xuất đa miền (Hybrid Feature Extraction) bao gồm khoảng thời gian nhịp sinh học $RR$, hệ số biến đổi Wavelet rời rạc (Discrete Wavelet Transform - DWT Daubechies db4) và biến đổi Fourier thời gian ngắn (Short-Time Fourier Transform - STFT). Việc lựa chọn thuật toán SVM với hàm nhân RBF (Radial Basis Function) mang lại khả năng phân lớp phi tuyến tối ưu trong không gian đa chiều với chi phí tính toán thấp, hoàn toàn tương thích với phần cứng nhúng biên (Edge Computing). Kết quả đầu ra kỳ vọng là một thiết bị di động có khả năng phân loại tự động 5 nhóm nhịp tim chính theo tiêu chuẩn Hiệp hội Thiết bị Y tế Tiên tiến (AAMI EC57) với độ chính xác đạt trên 95%, thời gian xử lý dưới 15ms cho mỗi chu chuyển tim.

Phạm vi và giới hạn đề tài: Nghiên cứu sử dụng tập dữ liệu chuẩn mực MIT-BIH Arrhythmia Database từ PhysioNet; thuật toán được lập trình bằng ngôn ngữ Python; mô hình thực thi độc lập trên phần cứng máy tính đơn bo mạch (SBC) Raspberry Pi 3 Model B chạy hệ điều hành Raspbian Linux; giao diện chẩn đoán được xây dựng trực quan phục vụ công tác hỗ trợ sàng lọc lâm sàng.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi xây dựng giải pháp, việc so sánh các phương pháp phân loại nhịp tim hiện hữu là yếu tố then chốt để lựa chọn kiến trúc tối ưu:

Phương pháp Ưu điểm Nhược điểm Khả năng triển khai nhúng
Đọc thủ công bởi bác sĩ Độ chính xác và độ tin cậy chuyên môn tuyệt đối cao. Tốn nhiều thời gian, công sức; phụ thuộc chủ quan, dễ sót lỗi khi đọc bản ghi 24h. Không áp dụng (thao tác người).
Mạng nơ-ron sâu (CNN / LSTM) Tự động học đặc trưng không cần trích xuất thủ công; độ chính xác cao trên tập dữ liệu lớn. Yêu cầu tài nguyên tính toán (GPU) rất lớn; mô hình cồng kềnh; khó giải thích (Black-box). Kém (Gây quá tải RAM và CPU trên kit nhúng giá rẻ).
Phân loại Tuyến tính (LDA / Perceptron) Cực kỳ nhẹ, tốc độ xử lý nhanh; cấu trúc toán học đơn giản. Độ chính xác thấp đối với dữ liệu sinh học có tính phi tuyến và nhiễu phức tạp. Rất tốt nhưng hiệu quả chẩn đoán không đạt yêu cầu y tế.
Support Vector Machine (SVM - Đề xuất) Cân bằng hoàn hảo giữa độ chính xác phân lớp phi tuyến và chi phí tính toán; tối ưu hóa biên cấu trúc. Cần bước tiền xử lý và trích xuất đặc trưng có chọn lọc. Xuất sắc (Hoạt động mượt mà trên ARM Cortex-A53 của Raspberry Pi).

Ưu tiên hóa các yêu cầu kỹ thuật của hệ thống theo mô hình MoSCoW:

  • Must Have (Bắt buộc phải có): Module lọc nhiễu 2 tầng trung vị; thuật toán phân đoạn phức bộ QRS và tính $RR$ interval; module biến đổi Wavelet db4 cấp 4; bộ phân loại SVM đa lớp (One-vs-One); giao diện điều khiển GUI trên Raspberry Pi.
  • Should Have (Nên có): Tích hợp biến đổi tần số STFT; chuẩn hóa dữ liệu đầu vào theo thang Z-score và Min-Max; ma trận nhầm lẫn (Confusion Matrix) đánh giá chi tiết độ nhạy (Sensitivity) và độ đặc hiệu (Specificity).
  • Could Have (Có thể mở rộng): Tự động phát hiện bất thường và kích hoạt chân GPIO cảnh báo còi/LED; lưu trữ lịch sử chẩn đoán vào tệp tin cục bộ.
  • Won't Have (Chưa thực hiện ở giai đoạn này): Mạch phần cứng Analog Front-End (AFE) gắn điện cực trực tiếp lên người bệnh trong thời gian thực (real-time acquisition).

Thiết kế hệ thống

Kiến trúc hệ thống được phân rã thành luồng xử lý tín hiệu tuần tự khép kín, đảm bảo tính toàn vẹn và độ chính xác của dữ liệu sinh y:

graph TD
    A["Tín hiệu ECG Thô (PhysioNet MIT-BIH)"] --> B["Khối Tiền Xử Lý: 2 Bộ Lọc Trung Vị (Median Filter)"]
    B --> C["Khối Phân Đoạn & Nhận Diện Đỉnh R (QRS Detection)"]
    C --> D["Trích Xuất Đặc Trưng (Feature Extraction)"]
    
    subgraph Trích Xuất Đa Đặc Trưng
        D1["Đặc Trưng Nhịp Học: Pre-RR, Post-RR, Local-RR"]
        D2["Đặc Trưng Thời Gian - Tần Số: Wavelet DWT (db4 Level 4)"]
        D3["Đặc Trưng Phổ: Biến Đổi STFT (Cửa Sổ Gaussian/Rect)"]
    end
    
    D --> D1
    D --> D2
    D --> D3
    
    D1 --> E["Khối Ghép Vector & Chuẩn Hóa Dữ Liệu (Min-Max / Z-Score)"]
    D2 --> E
    D3 --> E
    
    E --> F["Mô Hình Phân Lớp SVM (Kernel RBF, C=100, Gamma Auto)"]
    F --> G["Giao Diện Người Dùng (Python Tkinter GUI / Display)"]
    G --> H["Kết Quả Phân Loại Nhịp (AAMI Classes: N, S, V, F, Q)"]

Chi tiết Technology Stack và Thông số Kỹ thuật:

  • Phần cứng: Kit máy tính nhúng Raspberry Pi 3 Model B, trang bị vi xử lý Broadcom BCM2837 Quad-Core 64-bit ARMv8 Cortex-A53 xung nhịp 1.2 GHz, bộ nhớ 1GB LPDDR2 RAM, khe cắm thẻ nhớ MicroSD chạy Raspbian OS.
  • Môi trường & Ngôn ngữ lập trình: Python v2.7/v3.6 kết hợp môi trường phát triển IDLE.
  • Thư viện chuyên dụng: numpy (xử lý đại số tuyến tính), scipy.signal (thiết kế bộ lọc trung vị và STFT), pywt (biến đổi Wavelet phân tích đa phân giải), scikit-learn (sklearn.svm.SVC phục vụ huấn luyện và dự đoán mô hình SVM).
  • Bộ dữ liệu chuẩn hóa: Cơ sở dữ liệu MIT-BIH Arrhythmia Database gồm 48 bản ghi điện tâm đồ 2 kênh kéo dài 30 phút, tần số lấy mẫu $f_s = 360\text{ Hz}$, độ phân giải 11-bit trên dải $\pm 10\text{ mV}$.
  • Cân nhắc bảo mật và hiệu năng: Việc tính toán trực tiếp trên phần cứng cục bộ (Edge Computing) loại bỏ nguy cơ rò rỉ dữ liệu bệnh nhân qua môi trường mạng (tuân thủ nguyên tắc bảo mật thông tin y tế HIPAA), đồng thời đảm bảo tính sẵn sàng cao mà không cần phụ thuộc vào kết nối Internet.

Methodology

Dự án áp dụng mô hình phát triển xoắn ốc (Spiral Model), chia làm 4 giai đoạn nối tiếp có kiểm thử và đánh giá lặp lại:

+---------------------------------------------------------------------------------------------------+
|                                 LỘ TRÌNH TRIỂN KHAI DỰ ÁN                                         |
+---------------------------------------------------------------------------------------------------+
| Giai đoạn 1: Nghiên cứu lý thuyết điện tim, cơ chế phát xung nút xoang & phân tích SVM (Tuần 1-3)  |
| Giai đoạn 2: Xây dựng giải thuật lọc nhiễu và thử nghiệm các kỹ thuật trích xuất đặc trưng (Tuần 4-6) |
| Giai đoạn 3: Huấn luyện, tối ưu siêu tham số SVM và đánh giá ma trận nhầm lẫn trên PC (Tuần 7-9)  |
| Giai đoạn 4: Porting hệ thống lên Raspberry Pi 3, thiết kế GUI và kiểm thử tích hợp (Tuần 10-11) |
+---------------------------------------------------------------------------------------------------+

Ma trận đánh giá rủi ro và giải pháp khắc phục:

  • Rủi ro 1: Nhiễu đường đẳng điện làm sai lệch đỉnh R. Giải pháp: Sử dụng chuỗi 2 bộ lọc trung vị với độ rộng cửa sổ 200ms (loại bỏ sóng P, QRS, T) và 600ms (trích xuất chính xác đường cong baseline để trừ khỏi tín hiệu gốc).
  • Rủi ro 2: Dữ liệu nhịp tim mất cân bằng nghiêm trọng (Nhịp bình thường chiếm >80%). Giải pháp: Tinh chỉnh trọng số lớp class_weight='balanced' trong thuật toán SVM và áp dụng phương pháp lấy mẫu phân tầng (Stratified Sampling).
  • Rủi ro 3: Tràn bộ nhớ RAM trên Raspberry Pi khi xử lý bản ghi dài. Giải pháp: Tối ưu hóa cấu trúc vector đặc trưng và nạp dữ liệu theo cơ chế phân đoạn luồng nhịp (Batch processing).

Implementation và kết quả

Development process

Quá trình tiền xử lý tín hiệu ECG bắt đầu bằng việc loại bỏ nhiễu trôi đường đẳng điện (Baseline Wander) và nhiễu tần số cao (High-frequency Muscle Noise). Tín hiệu gốc $x[n]$ được đưa qua 2 bộ lọc trung vị: bộ lọc thứ nhất kích thước $W_1 = 200\text{ ms}$ (72 mẫu) loại bỏ phức bộ QRS và sóng P; bộ lọc thứ hai kích thước $W_2 = 600\text{ ms}$ (216 mẫu) loại bỏ sóng T, tạo ra đường baseline ước tính $b[n]$. Tín hiệu sau lọc được tính bằng:

$$x_{\text{clean}}[n] = x[n] - b[n]$$

Tiếp theo, nhịp tim được phân đoạn quanh đỉnh sóng $R$, lấy cửa sổ từ $-180\text{ ms}$ (trước đỉnh $R$) đến $+360\text{ ms}$ (sau đỉnh $R$), tương ứng với 195 mẫu cho mỗi chu kỳ tim.

                  +--- Đỉnh R ---+
                  |              |
                  |     /\       |
                  |    /  \      |
         Sóng P   |   /    \     |    Sóng T
          _/\_    |  /      \    |    _/\_
        _/    \_  | /        \   |  _/    \_
       /        \_V/          \__V_/        \
                  Q            S
       |<- 180ms ->|           |<--- 360ms --->|
       +---------------- Cửa Sổ Phân Đoạn ---------------+

Vector đặc trưng của mỗi nhịp tim $X_i$ là sự kết hợp của 3 nhóm thuộc tính:

  1. Đặc trưng khoảng nhịp sinh học: Khoảng $RR$ trước ($Pre\text{-}RR$), khoảng $RR$ sau ($Post\text{-}RR$), khoảng $RR$ trung bình cục bộ ($Local\text{-}RR$) và khoảng $RR$ trung bình toàn cục ($Average\text{-}RR$).
  2. Đặc trưng Wavelet: Sử dụng hàm Daubechies 4 (db4) biến đổi DWT 4 cấp; các hệ số xấp xỉ mức 4 ($A_4$) và hệ số chi tiết mức 4 ($D_4$) phản ánh trung thực cấu trúc hình thái sóng tim.
  3. Đặc trưng phổ thời gian - tần số STFT: Phân tích năng lượng tại các dải tần số đặc hiệu của phức bộ QRS (0.5 Hz - 40 Hz).

Đoạn mã cốt lõi thực hiện nạp đặc trưng, chuẩn hóa và phân loại bằng SVM trên Python:

# -*- coding: utf-8 -*-
"""
Module: ecg_classifier.py
Chức năng: Trích xuất đặc trưng và Huấn luyện mô hình SVM phân loại nhịp tim ECG
Tác giả: Nhóm nghiên cứu ĐH SPKT TP.HCM (HCMUTE)
"""

import numpy as np
import pywt
from scipy import signal
from sklearn import svm
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report, confusion_matrix

def extract_wavelet_features(ecg_segment, wavelet_name='db4', level=4):
    """
    Trích xuất hệ số Wavelet DWT cấp 4 làm đặc trưng hình thái nhịp tim
    """
    coeffs = pywt.wavedec(ecg_segment, wavelet_name, level=level)
    # Lấy hệ số xấp xỉ cấp cao nhất (A4) và hệ số chi tiết (D4)
    cA4, cD4, cD3, cD2, cD1 = coeffs
    features = np.hstack((cA4, cD4))
    return features

def build_svm_model(X_train, y_train, kernel_type='rbf', C_val=100.0, gamma_val='scale'):
    """
    Xây dựng và huấn luyện mô hình Support Vector Machine biên mềm đa lớp (OvO)
    """
    # Chuẩn hóa Z-Score cho toàn bộ vector đặc trưng
    scaler = StandardScaler()
    X_train_scaled = scaler.fit_transform(X_train)
    
    # Khởi tạo bộ phân loại SVM với hàm nhân RBF
    classifier = svm.SVC(
        C=C_val,
        kernel=kernel_type,
        gamma=gamma_val,
        decision_function_shape='ovo',
        class_weight='balanced'
    )
    classifier.fit(X_train_scaled, y_train)
    return classifier, scaler

def predict_patient_beat(classifier, scaler, raw_beat, pre_rr, post_rr):
    """
    Hàm suy luận chẩn đoán nhịp tim thời gian thực trên Raspberry Pi
    """
    # 1. Trích xuất đặc trưng hình thái DWT
    dwt_feat = extract_wavelet_features(raw_beat)
    # 2. Ghép nối với đặc trưng thời gian RR
    rr_feat = np.array([pre_rr, post_rr, (pre_rr / (post_rr + 1e-5))])
    beat_vector = np.hstack((rr_feat, dwt_feat)).reshape(1, -1)
    # 3. Chuẩn hóa & Dự đoán
    scaled_vector = scaler.transform(beat_vector)
    predicted_class = classifier.predict(scaled_vector)
    return predicted_class[0]

Testing và validation

Mô hình được thử nghiệm nghiêm ngặt thông qua kỹ thuật kiểm tra chéo (K-fold Cross Validation) trên các bản ghi của cơ sở dữ liệu MIT-BIH, phân tách thành các tập độc lập để tránh hiện tượng rò rỉ dữ liệu giữa các bệnh nhân (Patient-specific leakage). Các siêu tham số được quét tối ưu hóa (Grid Search) gồm hệ số phạt vi phạm biên $C \in {0.1, 1, 10, 100, 1000}$ và loại nhân hạt nhân (Linear, Polynomial, RBF, Sigmoid).

Kết quả phân tích ảnh hưởng của từng nhóm đặc trưng đối với độ chính xác:

Nhóm đặc trưng sử dụng Chiều Vector Đặc Trưng Độ chính xác tổng thể (Accuracy) Độ nhạy (Sensitivity) Thời gian trích xuất (Raspberry Pi 3)
Chỉ sử dụng khoảng cách $RR$ 4 chiều 78.42% 69.15% 0.8 ms/nhịp
Chỉ sử dụng biến đổi STFT 32 chiều 84.10% 79.50% 8.2 ms/nhịp
Chỉ sử dụng Wavelet db4 30 chiều 89.65% 86.30% 3.5 ms/nhịp
Kết hợp $RR$ + STFT 36 chiều 91.25% 88.70% 9.0 ms/nhịp
Kết hợp $RR$ + Wavelet db4 34 chiều 95.80% 93.40% 4.3 ms/nhịp
Kết hợp Đa Đặc trưng ($RR$ + Wavelet + STFT) 66 chiều 96.75% 94.85% 12.5 ms/nhịp

Kết quả đạt được

Hệ thống đã hoàn thiện toàn bộ các tính năng đề ra ban đầu, hoạt động ổn định trên phần cứng nhúng Raspberry Pi 3:

  • Độ chính xác phân lớp: Đạt 96.75% với mô hình SVM Kernel RBF ($C=100$) trên dữ liệu kiểm thử.
  • Tốc độ xử lý: Thời gian xử lý trung bình để phân đoạn, trích xuất đặc trưng và đưa ra nhãn chẩn đoán cho 1 nhịp tim trên Raspberry Pi là 12.5 ms, hoàn toàn đáp ứng yêu cầu xử lý thời gian thực đối với tần số tim người bình thường (60–100 nhịp/phút, tức khoảng cách giữa 2 nhịp là 600–1000 ms).
  • Giao diện điều khiển: Ứng dụng GUI viết bằng Tkinter chạy trực tiếp trên hệ điều hành Raspbian, cho phép nhân viên y tế nhập mã định danh bệnh nhân, vẽ đồ thị tín hiệu ECG đã qua lọc nhiễu, hiển thị vị trí các đỉnh $R$ và in kết luận phân loại từng nhóm nhịp bất thường trực quan.

Đổi mới và đóng góp

Nghiên cứu mang lại những đóng góp kỹ thuật và giá trị học thuật rõ rệt trong lĩnh vực điện tử y sinh:

+---------------------------------------------------------------------------------------------------+
|                                 ĐÓNG GÓP KỸ THUẬT NỔI BẬT                                         |
+---------------------------------------------------------------------------------------------------+
| [1] Cơ Chế Kết Hợp Đa Đặc Trưng Lai (Hybrid Feature Fusion):                                      |
|     Khắc phục nhược điểm của các nghiên cứu trước đây vốn chỉ dựa vào hình thái học đơn thuần.   |
|     Tích hợp không gian nhịp sinh học RR với không gian đa phân giải Wavelet db4 cấp 4.          |
|                                                                                                   |
| [2] Tối Ưu Hóa SVM Cho Thiết Bị Nhúng Tài Nguyên Hạn Chế:                                         |
|     Chứng minh Kernel RBF kết hợp cấu trúc One-vs-One (OvO) vượt trội về mặt tốc độ hội tụ        |
|     và tiết kiệm bộ nhớ hơn so với mạng nơ-ron sâu khi chạy trên kiến trúc chip ARM nhúng.        |
|                                                                                                   |
| [3] Giảm Chi Phí Hệ Thống Giám Sát Điện Tim (Low-cost Edge AI):                                   |
|     Tạo ra nguyên mẫu thiết bị phân tích ECG độc lập với tổng chi phí phần cứng < 70 USD,        |
|     mở ra cơ hội ứng dụng rộng rãi tại các trạm y tế vùng sâu vùng xa.                            |
+---------------------------------------------------------------------------------------------------+

So sánh với các công trình nghiên cứu tiền nhiệm trong phân loại ECG:

  1. So với phương pháp Phân tích Biệt thức Tuyến tính (Linear Discriminant Analysis - de Chazal et al.): Mô hình SVM Kernel RBF trong đồ án tăng độ chính xác phân loại các lớp nhịp hiếm (như ngoại tâm thu trên thất SVEB) lên +7.3% nhờ khả năng thiết lập siêu phẳng phân cách phi tuyến linh hoạt.
  2. So với mô hình Mạng Nơ-ron Tích chập (CNN - Kiranyaz et al.): Mặc dù CNN đạt độ chính xác tương đương (~97%), mô hình SVM của đồ án có kích thước tệp trọng số nhỏ hơn 94% (< 5 MB so với > 80 MB của mạng sâu) và tiêu thụ ít hơn 65% năng lượng CPU trên Raspberry Pi 3, triệt tiêu hiện tượng nghẽn cổ chai bộ nhớ và quá nhiệt bo mạch.

Ứng dụng thực tế và triển khai

Giải pháp mở ra tiềm năng thương mại hóa và ứng dụng thực tiễn to lớn trong ngành thiết bị y tế (MedTech):

+----------------------------------------------------------------------------------------------------+
|                                 KỊCH BẢN ỨNG DỤNG THỰC TẾ                                          |
+----------------------------------------------------------------------------------------------------+
| Kịch bản 1: Thiết Bị Đọc Holter ECG Bán Tự Động Tại Trạm Y Tế Tuyến Cơ Sở                          |
|             Dữ liệu điện tim 24h của bệnh nhân được cắm thẻ nhớ trực tiếp vào Raspberry Pi.       |
|             Hệ thống tự động quét toàn bộ bản ghi trong < 2 phút và xuất báo cáo các đoạn loạn nhịp|
|             nguy hiểm kèm timestamp, giúp bác sĩ tuyến xã hội chẩn nhanh chóng.                    |
|                                                                                                    |
| Kịch bản 2: Thiết Bị Cảnh Báo Loạn Nhịp Tim Cầm Tay Dành Cho Bệnh Nhân Ngoại Trú                   |
|             Tích hợp Raspberry Pi (hoặc Raspberry Pi Zero W) vào hộp thiết bị đeo ngực, kết nối     |
|             với các điện cực dán ngực để phân tích liên tục nhịp tim của bệnh nhân sau phẫu thuật. |
+----------------------------------------------------------------------------------------------------+

Phân tích Chi phí - Lợi ích (Cost-Benefit Analysis) và Khả năng Mở rộng:

  • Chi phí phần cứng: Raspberry Pi 3 Model B (~35 USD) + Màn hình hiển thị LCD cảm ứng 3.5 inch (~15 USD) + Phụ kiện nguồn, thẻ nhớ (~15 USD). Tổng chi phí nguyên mẫu phần cứng ước tính khoảng 65 USD, chỉ bằng 1/20 so với các máy đọc Holter chuyên dụng thương mại (thường có giá từ 1.500 - 3.000 USD).
  • Khả năng mở rộng (Scalability): Hệ thống có thể dễ dàng nâng cấp lên vi xử lý Raspberry Pi 4 hoặc các dòng vi điều khiển hỗ trợ TinyML (như STM32, ESP32-S3 hay Raspberry Pi Pico) bằng cách lượng tử hóa (Quantization) các vector hỗ trợ của mô hình SVM.

Lộ trình triển khai thực tế (Roadmap):

  • Quý 1: Tích hợp module phần cứng thu nhận tín hiệu tương tự (Analog Front-End như IC AD8232 hoặc ADS1292R) để lấy tín hiệu thời gian thực từ người.
  • Quý 2: Thử nghiệm lâm sàng so sánh đối chứng tại các phòng khám chuyên khoa tim mạch.
  • Quý 3: Tối ưu hóa thuật toán sang ngôn ngữ C/C++ để nâng tốc độ xử lý lên mức micro-giây.

Hạn chế và hướng phát triển

Dù đạt được những kết quả rất khả quan, đề tài vẫn ghi nhận một số hạn chế kỹ thuật cần được giải quyết trong các giai đoạn tiếp theo:

  • Hạn chế về nguồn tín hiệu: Đồ án mới kiểm thử trên cơ sở dữ liệu số hóa offline có sẵn (PhysioNet MIT-BIH), chưa tích hợp khối chuyển đổi tương tự - số (ADC) và mạch lọc khuếch đại sinh học phần cứng để thu trực tiếp từ cơ thể sống.
  • Hiện tượng phân loại nhầm giữa các lớp tương đồng: Đối với các nhịp lai (Fusion Beats - lớp F) hoặc nhịp nhân tạo do máy tạo nhịp (Paced Beats), hình thái sóng rất đa dạng khiến độ nhạy của SVM đối với nhóm này chỉ đạt xấp xỉ 82.5%.
  • Ràng buộc tài nguyên: Giao diện đồ họa trên Python Tkinter đôi khi có độ trễ nhẹ khi người dùng phóng to/thu nhỏ đồ thị sóng tín hiệu có độ dài hàng nghìn điểm.

Hướng nghiên cứu và nâng cấp tương lai:

  1. Thiết kế và chế tạo bo mạch mở rộng (HAT Shield) chuyên dụng gắn trực tiếp lên chân GPIO của Raspberry Pi, tích hợp chip tiền khuếch đại điện tim chuyên dụng AD8232 và chip ADC 16-bit ADS1115.
  2. Ứng dụng các kỹ thuật cân bằng dữ liệu nâng cao như SMOTE (Synthetic Minority Over-sampling Technique) để cải thiện độ chính xác cho các nhóm rối loạn nhịp hiếm gặp.
  3. Phát triển module giao tiếp không dây (Wi-Fi / Bluetooth BLE / LoRaWAN) để gửi dữ liệu cảnh báo khẩn cấp tức thời lên hệ sinh thái Cloud và ứng dụng di động của bác sĩ điều trị.

Đối tượng hưởng lợi

Công trình nghiên cứu đem lại giá trị thực tiễn đa chiều cho nhiều nhóm đối tượng trong xã hội:

+---------------------------------------------------------------------------------------------------+
|                                 LỢI ÍCH ĐỊNH LƯỢNG THEO ĐỐI TƯỢNG                                 |
+---------------------------------------------------------------------------------------------------+
| * Sinh viên ngành Kỹ thuật Y sinh & Điện tử:                                                      |
|   - Bộ tài liệu mẫu toàn diện từ lý thuyết điện tim đến code mẫu Machine Learning nhúng.         |
|   - Rút ngắn 60% thời gian nghiên cứu và làm chủ thuật toán xử lý tín hiệu ECG.                   |
|                                                                                                   |
| * Kỹ sư phần mềm nhúng & AI Developers:                                                           |
|   - Mô hình tham chiếu tối ưu hóa SVM trên kiến trúc ARM Linux (Raspberry Pi).                    |
|   - Pipeline xử lý tín hiệu thời gian thực hoàn chỉnh với độ trễ < 15ms.                          |
|                                                                                                   |
| * Cơ sở y tế tuyến cơ sở & Bác sĩ:                                                                |
|   - Công cụ sàng lọc sơ bộ tự động, giảm 80% thời gian đọc các bản ghi Holter ECG kéo dài.       |
|   - Nâng cao năng lực chẩn đoán và giảm thiểu sai sót y khoa trong các ca trực đêm.              |
|                                                                                                   |
| * Bệnh nhân tim mạch:                                                                             |
|   - Cơ hội tiếp cận thiết bị giám sát sức khỏe tim mạch chi phí thấp (< 70 USD).                 |
|   - Phát hiện sớm các cơn rối loạn nhịp kịch phát nguy hiểm để can thiệp kịp thời.               |
+---------------------------------------------------------------------------------------------------+

Câu hỏi thường gặp

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu tối thiểu một kit Raspberry Pi 2 Model B trở lên (khuyến nghị Raspberry Pi 3 Model B hoặc 4B), thẻ nhớ MicroSD dung lượng tối thiểu 8GB (Class 10), nguồn cấp 5V/2.5A chuẩn micro-USB và màn hình hiển thị cổng HDMI hoặc LCD DSI.

2. Giới hạn khả năng mở rộng (Scalability) của mô hình SVM trên Raspberry Pi là gì?
Mô hình SVM với Kernel RBF có độ phức tạp không gian lưu trữ phụ thuộc vào số lượng vector hỗ trợ (Support Vectors). Khi huấn luyện trên tập dữ liệu > 100.000 mẫu, số lượng vector hỗ trợ có thể tăng lên, làm tăng nhẹ thời gian suy luận. Giải pháp là áp dụng kỹ thuật giảm chiều đặc trưng (PCA) hoặc cố định kích thước tập vector hỗ trợ tối ưu.

3. Làm thế nào để tích hợp hệ thống với các phần mềm quản lý bệnh viện (HIS/PACS) hiện có?
Ứng dụng có thể được đóng gói thành một vi dịch vụ (Microservice) giao tiếp qua chuẩn RESTful API hoặc giao thức MQTT. Kết quả phân loại và thông số nhịp có thể xuất ra định dạng JSON hoặc chuẩn y tế quốc tế HL7/DICOM-ECG để đồng bộ trực tiếp vào hồ sơ bệnh án điện tử (EMR).

4. Chế độ bảo trì, hiệu chuẩn và cập nhật mô hình được thực hiện ra sao?
Hệ thống cho phép cập nhật tệp trọng số mô hình (svm_model.pkl) từ xa qua giao thức SSH/SFTP mà không cần cài đặt lại toàn bộ hệ điều hành. Dữ liệu nhịp tim mới có thể được tái huấn luyện định kỳ trên máy trạm và nạp lại vào Raspberry Pi.

5. Chi phí triển khai và thời gian thu hồi vốn (ROI) ước tính như thế nào?
Chi phí sản xuất một thiết bị hoàn chỉnh chỉ vào khoảng 60–70 USD. Đối với một phòng khám tư nhân hoặc trạm y tế tuyến huyện thực hiện trung bình 10 ca đọc điện tâm đồ mỗi ngày, thiết bị giúp tiết kiệm hàng trăm giờ lao động chuyên môn, mang lại thời gian thu hồi vốn (ROI) ước tính chỉ sau 1 đến 2 tháng vận hành.


Kết luận

Đề tài "Phân loại bệnh tim từ tín hiệu điện tâm đồ sử dụng kit Raspberry Pi" của nhóm tác giả Trường Đại học Sư phạm Kỹ thuật TP.HCM đã giải quyết trọn vẹn bài toán ứng dụng trí tuệ nhân tạo biên vào lĩnh vực kỹ thuật y sinh. Bằng việc kết hợp tinh tế giữa bộ lọc trung vị 2 tầng, kỹ thuật trích xuất đa đặc trưng ($RR$ Interval, Wavelet db4, STFT) và mô hình phân lớp Support Vector Machine Kernel RBF, hệ thống đã đạt độ chính xác phân loại ấn tượng 96.75% với thời gian suy luận chỉ 12.5 ms/nhịp trên phần cứng nhúng Raspberry Pi 3.

Công trình không chỉ khẳng định tính khả thi của việc đưa các giải pháp máy học phức tạp lên các thiết bị nhúng giá thành thấp, mà còn mở ra hướng đi đầy triển vọng cho việc thương mại hóa các thiết bị y tế cá nhân hóa, góp phần nâng cao chất lượng chăm sóc sức khỏe tim mạch cho cộng đồng. Các nhà nghiên cứu và phát triển quan tâm có thể tiếp tục mở rộng mô hình bằng việc tích hợp phần cứng thu nhận trực tiếp hoặc tối ưu hóa sang các vi điều khiển TinyML công suất cực thấp trong tương lai.