Giới thiệu dự án

Theo thống kê từ Tổ chức Y tế Thế giới (WHO), đột quỵ là nguyên nhân gây tử vong đứng thứ hai và là nguyên nhân hàng đầu gây tàn tật kéo dài trên toàn cầu. Khoảng 87% các ca tử vong và tàn tật do đột quỵ tập trung tại các quốc gia có thu nhập thấp và trung bình. Tại các nước đang phát triển, tỷ lệ mắc đột quỵ dao động từ 5–10/1000 người, cao gấp đôi so với mức trung bình 5/1000 người ở các nước phát triển. Sau cơn đột quỵ, phục hồi chức năng vận động thông qua vật lý trị liệu là điều kiện tiên quyết để bệnh nhân tái hòa nhập cuộc sống. Tuy nhiên, việc giám sát định lượng và giải mã tín hiệu điều khiển thần kinh vận động của vỏ não vẫn gặp nhiều rào cản kỹ thuật.

Vấn đề cốt lõi (Problem Statement) nằm ở chỗ: các tín hiệu điện não đồ (Electroencephalogram - EEG) liên quan đến ý định vận động có biên độ cực nhỏ ($\mu\text{V}$) và tỷ số tín hiệu trên nhiễu (Signal-to-Noise Ratio - SNR) rất thấp. Đặc biệt, tín hiệu EEG bị ô nhiễm nghiêm trọng bởi các xung điện mắt (Electrooculography - EOG) phát sinh khi chớp mắt với biên độ lớn ($0.4 - 1.0\text{ mV}$), làm lu mờ hoàn toàn các đặc trưng vận động. Hơn nữa, việc phân tách ý định vận động tay trái và tay phải đòi hỏi các phương pháp phân tích phi tuyến tính đa kênh theo thời gian - tần số và mô hình phân loại tự động có độ chính xác cao.

+--------------------------------------------------------------------------------------------------+
|                                    TỔNG QUAN DỰ ÁN BCI - EEG                                     |
+------------------------------------+------------------------------------+------------------------+
| Vấn đề y sinh                      | Giải pháp kỹ thuật                 | Kết quả thực nghiệm    |
| - 87% tàn tật do đột quỵ           | - Thu nhận EEG 32 kênh Emotiv      | - 8.666 mẫu ảnh 2D     |
| - Nhiễu EOG biên độ lớn 0.4-1.0 mV | - Lọc thích nghi RLS khử nhiễu EOG | - Độ chính xác: 94.5%  |
| - Tín hiệu vận động phi tuyến      | - Wavelet Coherence (C3, C4, FC5/6)| - Tay phải: 99.8%      |
| - Khó giải mã tay trái / tay phải  | - Phân loại mạng nơ-ron 2D CNN     | - Tay trái: 89.1%      |
+------------------------------------+------------------------------------+------------------------+

Đồ án tập trung giải quyết các mục tiêu kỹ thuật cụ thể:

  1. Thiết kế và chuẩn hóa giao thức thu nhận dữ liệu điện não 32 kênh bằng thiết bị Emotiv EPOC Flex với các bài tập gập/duỗi khuỷu tay trái và phải.
  2. Xây dựng thuật toán tiền xử lý tự động phát hiện đỉnh nhiễu EOG dựa trên ngưỡng biên độ và lọc sạch bằng thuật toán bình phương tối thiểu đệ quy (Recursive Least Squares - RLS).
  3. Phát triển phương pháp trích xuất đặc trưng liên kênh thời gian - tần số bằng biến đổi Wavelet Coherence trên các vùng vỏ não vận động đối bên ($C_3 - \text{FC}_5$ và $C_4 - \text{FC}_6$), chuyển đổi dữ liệu sóng 1D thành tập ảnh phổ 2D thang độ xám (Grayscale $100 \times 100$).
  4. Thiết kế và huấn luyện mô hình mạng nơ-ron tích chập (2D Convolutional Neural Network - CNN) để phân loại chính xác vận động tay trái và tay phải.
  5. Đóng gói toàn bộ quy trình xử lý thành phần mềm độc lập có giao diện người dùng trực quan (GUI) bằng MATLAB App Designer và Application Compiler.

Phạm vi nghiên cứu thực hiện trên nhóm tình nguyện viên độ tuổi 20–22 tuổi tại Đại học Sư phạm Kỹ thuật TP.HCM, thu thập tín hiệu thông qua giao thức chuẩn 58 giây/phiên. Giới hạn hệ thống hiện tại hỗ trợ xử lý dữ liệu đầu vào định dạng CSV và ảnh phổ PNG của Wavelet Coherence.


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

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

Các phương pháp truyền thống trong hệ thống Giao diện Não - Máy tính (Brain-Computer Interface - BCI) thường dựa trên phân tích dải tần số cố định và các thuật toán học máy cổ điển. Bảng so sánh dưới đây phân tích ưu và nhược điểm của các giải pháp hiện hành:

Phương pháp Kỹ thuật tiền xử lý & Đặc trưng Bộ phân loại Ưu điểm Nhược điểm & Hạn chế
Truyền thống (Pawar et al.) Lọc dải (Bandpass Filter) + Stacked Autoencoder Softmax Classifier Cấu trúc đơn giản, tốc độ huấn luyện nhanh Độ chính xác ~91.0%, dễ mất đặc trưng không gian liên kênh
Cổ điển (Wang et al.) Common Spatial Pattern (CSP) + Phân tích ERD/ERS Support Vector Machine (SVM) Tối ưu hóa phân tách phương sai không gian Nhạy cảm với nhiễu EOG, cần trích xuất đặc trưng thủ công
Học sâu (Boonme et al.) Biến đổi Fourier thời gian ngắn (STFT) Deep Neural Network Khai thác thông tin tần số cục bộ Độ chính xác 90.86% - 94.71%, độ phân giải thời gian cố định
Giải pháp đề xuất Lọc thích nghi RLS + Wavelet Coherence 2D CNN (Convolutional Neural Network) Độ chính xác 94.5% (đạt 99.8% tay phải), khử sạch EOG, biểu diễn đa độ phân giải Chi phí tính toán biến đổi ma trận Wavelet cao hơn STFT

Yêu cầu hệ thống được lượng hóa và phân loại theo ma trận MoSCoW:

  • Must Have (Bắt buộc): Khử hoàn toàn xung nhiễu chớp mắt EOG bằng RLS; trích xuất liên kết phổ thời gian - tần số giữa các kênh vận động; phân loại nhị phân chính xác cử động gập duỗi tay trái/phải với độ chính xác trên 90%; giao diện tương tác GUI.
  • Should Have (Nên có): Khả năng hiển thị trực quan tín hiệu trước và sau khi lọc; tự động chuẩn hóa kích thước ảnh đầu vào về ma trận $100 \times 100$ pixels.
  • Could Have (Có thể có): Hỗ trợ xuất báo cáo thống kê kết quả phân loại ra định dạng chuẩn; tích hợp module kiểm tra trạng thái trở kháng điện cực.
  • Won't Have (Chưa thực hiện): Nhận dạng chuyển động độc lập từng ngón tay; xử lý luồng tín hiệu thời gian thực trực tiếp từ giao tiếp Bluetooth Low Energy (BLE) trong phiên bản hiện tại.

Thiết kế hệ thống

Kiến trúc phần mềm được thiết kế theo mô hình xử lý đường ống phân tầng khép kín:

graph TD
    A["Tín hiệu EEG thô 32 kênh (Emotiv EPOC Flex - CSV)"] --> B["Khối tiền xử lý: Phát hiện ngưỡng đỉnh EOG"]
    B --> C["Lọc thích nghi RLS (Loại bỏ EOG qua kênh Fp1, Fp2, F3, F4)"]
    C --> D["Trích xuất đặc trưng: Wavelet Coherence (C3-FC5 & C4-FC6)"]
    D --> E["Chuyển đổi ảnh màu 3D -> Ảnh xám 2D (Normalize 100x100)"]
    E --> F["Mô hình 2D CNN Classifier"]
    F --> G["Lớp tích chập (Conv2D) + Kích hoạt ReLU"]
    G --> H["Lớp lấy mẫu cực đại (Max-Pooling)"]
    H --> I["Lớp kết nối đầy đủ (Fully-Connected) + Softmax"]
    I --> J{"Kết quả phân loại: Tay trái / Tay phải"}

Công nghệ sử dụng trong hệ thống bao gồm:

  • Nền tảng phát triển: MATLAB phiên bản R2019b (MathWorks).
  • Bộ công cụ UI: MATLAB App Designer, MATLAB Application Compiler.
  • Thiết bị phần cứng thu nhận: Emotiv EPOC Flex Gel 32 kênh, độ phân giải ADC 14-bit (1 LSB = $0.51,\mu\text{V}$), tốc độ lấy mẫu 128 SPS (lấy mẫu nội bộ 1024 Hz), băng thông lọc phần cứng $0.2 - 45\text{ Hz}$.
  • Phần mềm điều khiển thiết bị: EmotivPRO v2.0.

Methodology

Phương pháp luận của dự án được triển khai theo mô hình chuyển giao kỹ thuật từng giai đoạn (Milestone-driven) qua 20 tuần làm việc:

[Tuần 27-29]: Khảo sát lý thuyết, thiết kế form sàng lọc & giao thức đo
      │
[Tuần 30-31]: Thu thập dữ liệu EEG thực nghiệm & đánh giá tín hiệu thô
      │
[Tuần 32-34]: Xây dựng thuật toán lọc RLS & trích xuất Wavelet Coherence
      │
[Tuần 35-39]: Huấn luyện mô hình 2D CNN, tinh chỉnh siêu tham số & kiểm thử
      │
[Tuần 40-44]: Thiết kế GUI App Designer, đóng gói installer & nghiệm thu

Đánh giá rủi ro và giải pháp khắc phục:

  • Rủi ro tiếp xúc điện cực kém/khô gel: Thiết lập quy trình kiểm tra trở kháng và dạng sóng thời gian thực trên EmotivPRO trước khi bắt đầu bài đo.
  • Rủi ro sai lệch đồng bộ thời gian vận động: Sử dụng tín hiệu chớp mắt chủ đích trong 3 giây đầu tiên (từ giây thứ 10 đến giây thứ 13) làm mốc định thời (Time Synchronization Marker) cho toàn bộ chuỗi cử động.

Implementation và kết quả

Development process

Quá trình tiền xử lý sử dụng thuật toán lọc thích nghi RLS để tách tín hiệu mắt. Giả thiết mô hình toán học: $$\text{Contaminated_EEG}(n) = \text{Pure_EEG}(n) + \text{EOG}(n)$$

Trong đó nhiễu $\text{EOG}(n)$ được ước lượng tuyến tính qua các kênh tham chiếu dọc ($\text{VEOG}$) và ngang ($\text{HEOG}$): $$\text{Contaminated_EEG}{i,j} = \text{Pure_EEG}{i,j} + a_j \text{VEOG} + b_j \text{HEOG}$$

Thuật toán lọc RLS cập nhật vector trọng số $H(n)$ và vector độ lợi Kalman $K(n)$ qua từng bước lặp: $$e(n) = y(n) - H^T(n-1)r(n)$$ $$K(n) = \frac{P(n-1)r(n)}{\lambda + r^T(n)P(n-1)r(n)}$$ $$H(n) = H(n-1) + K(n)e(n)$$ $$P(n) = \frac{1}{\lambda}\left[P(n-1) - K(n)r^T(n)P(n-1)\right]$$

Biến đổi Wavelet Coherence $R^2(w, t)$ giữa hai kênh tín hiệu $x(t)$ và $y(t)$ được tính toán theo công thức: $$R^2(w, t) = \frac{|S(s^{-1} W_{xy}(w, t))|^2}{S(s^{-1} |W_x(w, t)|^2) \cdot S(s^{-1} |W_y(w, t)|^2)}$$ Trong đó $W_{xy}(w, t)$ là phổ tương quan Wavelet chéo, $S$ là toán tử làm mịn trong cả miền thời gian và tần số, với các cặp kênh đo vỏ não vận động: $C_3 - \text{FC}_5$ (bán cầu trái điều khiển tay phải) và $C_4 - \text{FC}_6$ (bán cầu phải điều khiển tay trái).

% Đoạn mã trích xuất kiến trúc mạng 2D CNN phân loại ảnh phổ EEG
layers = [
    imageInputLayer([100 100 1], 'Name', 'Input_Layer')
    
    convolution2dLayer(3, 16, 'Padding', 'same', 'Name', 'Conv_1')
    batchNormalizationLayer('Name', 'BN_1')
    reluLayer('Name', 'Relu_1')
    maxPooling2dLayer(2, 'Stride', 2, 'Name', 'MaxPool_1')
    
    convolution2dLayer(3, 32, 'Padding', 'same', 'Name', 'Conv_2')
    batchNormalizationLayer('Name', 'BN_2')
    reluLayer('Name', 'Relu_2')
    maxPooling2dLayer(2, 'Stride', 2, 'Name', 'MaxPool_2')
    
    fullyConnectedLayer(64, 'Name', 'FC_1')
    reluLayer('Name', 'Relu_FC')
    fullyConnectedLayer(2, 'Name', 'FC_Output')
    softmaxLayer('Name', 'Softmax')
    classificationLayer('Name', 'Output_Classification')
];

options = trainingOptions('adam', ...
    'InitialLearnRate', 0.001, ...
    'MaxEpochs', 30, ...
    'MiniBatchSize', 64, ...
    'Shuffle', 'every-epoch', ...
    'ValidationData', {XTest, YTest}, ...
    'Plots', 'training-progress', ...
    'Verbose', false);

Testing và validation

Tập dữ liệu thu thập gồm tổng cộng 8.666 ảnh phổ Wavelet Coherence chất lượng cao, bao gồm:

  • Dữ liệu vận động tay trái: 4.303 ảnh.
  • Dữ liệu vận động tay phải: 4.363 ảnh.

Dữ liệu được phân chia ngẫu nhiên theo tỷ lệ chuẩn 70% tập huấn luyện (Training Set) và 30% tập kiểm tra (Testing Set):

Nhóm dữ liệu Tổng số mẫu Tập huấn luyện (70%) Tập kiểm tra (30%)
Vận động tay trái (Left Arm) 4.303 3.012 1.291
Vận động tay phải (Right Arm) 4.363 3.054 1.309
Tổng cộng (Total) 8.666 6.066 2.600

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

Hệ thống đạt được các chỉ số hiệu năng cụ thể trên tập kiểm thử độc lập:

Chỉ số đánh giá Giá trị đạt được Ghi chú kỹ thuật
Độ chính xác tổng thể (Overall Accuracy) 94.5% Đánh giá trên 2.600 mẫu kiểm tra
Độ chính xác nhận diện tay phải 99.8% Tương quan mạnh trên vùng vỏ não $C_3 - \text{FC}_5$
Độ chính xác nhận diện tay trái 89.1% Bị ảnh hưởng nhẹ bởi yếu tố thuận tay của đối tượng
Thời gian tiền xử lý & phân loại < 150 ms/mẫu Đáp ứng tiêu chuẩn xử lý gần thời gian thực
Kích thước gói cài đặt phần mềm Độc lập qua MATLAB Runtime Chạy trực tiếp không cần cài đặt full IDE

Giao diện đồ họa gồm 3 màn hình chuyên biệt: màn hình giới thiệu thông số dự án, màn hình nạp file CSV/tiền xử lý lọc RLS và màn hình trực quan hóa ảnh Wavelet Coherence cùng kết quả phân loại nhãn.


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

  1. Ứng dụng Wavelet Coherence liên kênh đa vị trí: Khác với các nghiên cứu chỉ dùng phổ biên độ đơn kênh, đồ án tích hợp phân tích đồng bộ pha và tương quan giữa $C_3 - \text{FC}_5$ và $C_4 - \text{FC}_6$. Điều này giúp nắm bắt toàn diện sự suy giảm đồng bộ liên quan đến sự kiện (Event-Related Desynchronization - ERD) trên vỏ não vận động.
  2. Khử nhiễu mắt tự động bằng lọc RLS kết hợp ngưỡng biên độ: Loại bỏ hoàn toàn sự phụ thuộc vào việc loại bỏ tín hiệu thủ công, bảo tồn nguyên vẹn các thành phần tần số cao trong dải sóng $\mu$ ($8-12\text{ Hz}$) và $\beta$ ($13-30\text{ Hz}$).
  3. Cải thiện độ chính xác phân loại so với các công trình công bố:
+-----------------------------------------------------------------------------------------+
|                    SO SÁNH ĐỘ CHÍNH XÁC PHÂN LOẠI VẬN ĐỘNG TAY                          |
+-----------------------------------------------------------------------------------------+
| Đề tài nghiên cứu (RLS + Wavelet Coherence + 2D CNN)  : [94.50%] (Tay phải: 99.80%)     |
| Boonme et al. (STFT + Deep Learning)                   : [92.78%]                        |
| Pawar et al. (Stacked Deep Autoencoder)               : [91.00%]                        |
| Wang et al. (CSP + SVM Classifier)                    : [88.50%]                        |
+-----------------------------------------------------------------------------------------+

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

Kịch bản ứng dụng thực tế

  • Hệ thống điều khiển cánh tay robot phục hồi chức năng (Rehabilitation Robotics): Bệnh nhân liệt nửa người sau tai biến có thể phát tín hiệu điều khiển cánh tay cơ điện hỗ trợ nâng gập khớp khuỷu theo ý định vận động.
  • Xe lăn điện thông minh cho người khuyết tật: Tín hiệu chuyển động tay trái/phải được ánh xạ thành lệnh rẽ trái/phải trên vi điều khiển.
  • Đánh giá tiến trình hồi phục chức năng thần kinh: Bác sĩ điều trị theo dõi định lượng mức độ kích hoạt vỏ não vận động qua các tuần trị liệu.
[Bệnh nhân đột quỵ / Ý định vận động]
                │
                ▼
[Mũ đo điện não Emotiv EPOC Flex 32 kênh]
                │ (Bluetooth / USB)
                ▼
[Phần mềm phân tích EEG & Mô hình CNN]
                │
        ┌───────┴───────┐
        ▼               ▼
[Cánh tay Robot]   [Xe lăn điện BCI]

Yêu cầu triển khai hệ thống

  • Hệ điều hành: Microsoft Windows 10/11 (64-bit).
  • Phần cứng tối thiểu: CPU Intel Core i5 thế hệ 8 trở lên, RAM 8GB (khuyến nghị 16GB), 5GB dung lượng đĩa trống.
  • Môi trường phụ thuộc: MATLAB Runtime R2019b (miễn phí, không yêu cầu bản quyền MATLAB khi chạy bản build compiled).

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

Hạn chế kỹ thuật

  • Dữ liệu thu nhận ở chế độ Offline từ các tệp tin lưu sẵn (CSV, PNG), chưa truyền luồng trực tiếp (Live Stream) từ Emotiv SDK vào phần mềm.
  • Độ chính xác khi phân loại tay trái (89.1%) thấp hơn đáng kể so với tay phải (99.8%), nguyên nhân do đa số tình nguyện viên thuận tay phải, dẫn đến mức độ kích hoạt vùng bán cầu não phải khi điều khiển tay trái kém rõ nét hơn.

Hướng phát triển

  • Nâng cấp phần mềm kết nối API trực tiếp với Emotiv Cortex SDK qua giao thức WebSocket để thực hiện phân loại thời gian thực (Real-time Online BCI).
  • Mở rộng các lớp nhận dạng phức tạp hơn: chuyển động từng ngón tay, xoay cổ tay, và chuyển động chi dưới.
  • Tối ưu hóa cấu trúc mạng nơ-ron bằng các kiến trúc chuyên biệt cho EEG như EEGNet hoặc Compact-CNN nhằm giảm độ phức tạp tính toán, sẵn sàng nhúng lên các phần cứng biên (Edge AI như NVIDIA Jetson Nano / Raspberry Pi 4).

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

  • Sinh viên & Học viên Y sinh / Điện tử: Cung cấp tài liệu tham khảo chi tiết về toàn bộ chuỗi xử lý tín hiệu y sinh từ thu nhận thô, lọc nhiễu thích nghi đến phân loại bằng học sâu.
  • Kỹ sư & Lập trình viên: Tham khảo mô hình thiết kế giao diện đồ họa y tế chuyên nghiệp với MATLAB App Designer và kỹ thuật tích hợp thuật toán RLS/Wavelet.
  • Doanh nghiệp Thiết bị Y tế (MedTech): Nền tảng thuật toán có độ chính xác cao giúp đẩy nhanh tiến độ R&D các thiết bị phục hồi chức năng sau đột quỵ với chi phí thấp.
  • Nhà nghiên cứu Khoa học thần kinh: Bằng chứng thực nghiệm xác thực hiệu quả của việc phân tích tương quan Wavelet đa kênh trong việc giải mã hoạt động vỏ não vận động.

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

1. Yêu cầu kỹ thuật phần cứng để vận hành phần mềm là gì?

Hệ thống yêu cầu máy tính chạy Windows 10/11 64-bit, tối thiểu 8GB RAM và đã cài đặt gói MATLAB Runtime R2019b. Để thu thập dữ liệu mới, cần trang bị bộ thiết bị Emotiv EPOC Flex 32 kênh kèm gel dẫn điện y tế.

2. Thuật toán RLS khử nhiễu mắt EOG có làm suy hao tín hiệu sóng não vận động không?

Không. Khác với các bộ lọc thông dải cố định làm mất tín hiệu ở các dải tần chồng lấn, thuật toán RLS sử dụng các kênh tham chiếu ($F_{p1}, F_{p2}, F_3, F_4$) để ước lượng chính xác thành phần nhiễu mắt và trừ khử thích nghi, bảo toàn nguyên vẹn năng lượng của sóng $\mu$ và $\beta$ tại các kênh vận động $C_3, C_4$.

3. Phần mềm có thể tích hợp với các hệ thống phần cứng khác như thế nào?

Kết quả phân loại từ mô hình có thể xuất ra cổng COM ảo (Virtual Serial Port) hoặc gửi qua giao thức TCP/IP, WebSocket đến các bộ vi điều khiển (Arduino, STM32, ESP32) để điều khiển cơ cấu chấp hành như động cơ servo cánh tay robot hoặc xe lăn.

4. Tại sao lại lựa chọn Wavelet Coherence thay vì biến đổi Fourier nhanh (FFT)?

Tín hiệu EEG là tín hiệu không dừng (non-stationary). FFT chỉ cung cấp thông tin miền tần số mà mất đi hoàn toàn định vị thời gian. Wavelet Coherence cung cấp khả năng phân tích đa độ phân giải đồng thời trên cả miền thời gian và tần số, phản ánh chính xác tương quan pha giữa hai bán cầu não trong từng khoảnh khắc cử động.

5. Chi phí đầu tư giải pháp này so với các hệ thống đo y tế chuyên dụng ra sao?

Hệ thống sử dụng thiết bị Emotiv EPOC Flex có chi phí chỉ bằng 10–15% so với các dàn máy đo EEG lâm sàng chuyên dụng (như Nihon Kohden hay Brain Products), trong khi phần mềm xử lý hoàn toàn miễn phí qua MATLAB Runtime, mang lại hiệu quả đầu tư (ROI) rất cao cho các phòng thí nghiệm và trung tâm phục hồi chức năng.


Kết luận

Đề tài đã hoàn thành xuất sắc mục tiêu thiết kế và xây dựng phần mềm phân tích, phân loại vận động tay trái/phải qua tín hiệu điện não đồ EEG ứng dụng mạng nơ-ron tích chập. Bằng việc kết hợp sáng tạo giữa lọc thích nghi RLS loại bỏ nhiễu EOG, trích xuất đặc trưng thời gian - tần số qua Wavelet Coherence và phân loại bằng 2D CNN, hệ thống đạt độ chính xác ấn tượng 94.5% trên tổng số 8.666 mẫu thử nghiệm.

Công trình không chỉ mang giá trị học thuật cao trong lĩnh vực Kỹ thuật Y sinh và Khoa học Thần kinh tính toán, mà còn mở ra triển vọng ứng dụng to lớn trong việc phát triển các thiết bị Giao diện Não - Máy tính (BCI) hỗ trợ người khuyết tật và phục hồi chức năng vận động cho bệnh nhân sau đột quỵ. Các nhóm nghiên cứu, nhà phát triển và đơn vị y tế quan tâm có thể ứng dụng trực tiếp quy trình xử lý này để mở rộng các hệ thống điều khiển thông minh trong tương lai.