Tải bản đầy đủ (.pdf) (118 trang)

Điều khiển thiết bị bằng tín hiệu điện não

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.48 MB, 118 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
---------------o0o--------------

TRẦN LÊ ANH CHƯƠNG

ĐIỀU KHIỂN THIẾT BỊ BẰNG TÍN HIỆU ĐIỆN NÃO
Ngành: Kỹ thuật Điện tử
MS: 60 52 70

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, THÁNG 06 NĂM 2016


Cơng trình được hồn thành tại: Trường Đại học Bách Khoa – ĐHQG TPHCM
Cán bộ hướng dẫn khoa học : ..................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1 : ........................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2 : ........................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG TPHCM
ngày 12 tháng 7 năm 2016
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. ............................................................
2. ............................................................
3. ............................................................
4. ............................................................
5. ............................................................


Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên:

TRẦN LÊ ANH CHƢƠNG........................MSHV:

Ngày, tháng, năm sinh:
Chuyên ngành:

12/09/1989 .......................................Nơi sinh:

12214179 ........
Tây Ninh ......

Kỹ Thuật Điện tử ................................... Mã số : 60 52 70 . ......

I. TÊN ĐỀ TÀI:
ĐIỀU KHIỂN THIẾT BỊ BẰNG TÍN HIỆU ĐIỆN NÃO ...........................................

.............................................................................................................................................
.............................................................................................................................................
II. NHIỆM VỤ VÀ NỘI DUNG:
Phát triển giải thuật để điều khiển thiết bị bằng tín hiệu điện não. Cụ thể là thu nhận tín
hiệu từ thiết bị đọc sóng não Emotiv EPOC, các giải thuật tiền xử lý tín hiệu, trích đặc
trƣng, huấn luyện và phân loại tín hiệu điện não để phát hiện sóng não kích thích và đƣa
ra quyết định ngƣời sử dụng muốn điều khiển gì. ..............................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
 Kết quả đạt đƣợc :
Điều khiển mini-robot di chuyển theo 9 lệnh dựa trên giải thuật phát hiện
sóng não kích thích P300 theo thời gian thực.
III. NGÀY GIAO NHIỆM VỤ : (Ghi theo trong QĐ giao đề tài)

11/01/2016

IV. NGÀY HOÀN THÀNH NHIỆM VỤ: (Ghi theo trong QĐ giao đề tài) 17/06/2016
V. CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS. Hà Hoàng Kha .....
.............................................................................................................................................

TP. HCM, ngày 20 tháng 06 năm 2016
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)

CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký)

TRƯỞNG KHOA….………
(Họ tên và chữ ký)



Lời cảm ơn

Trong suốt quá trình thực hiện Luận Văn Thạc Sĩ, tôi xin chân thành cảm ơn người thầy
hướng dẫn của tơi, TS. Hà Hồng Kha đã hướng dẫn, đưa ra các phương pháp tiếp cận,
và tạo mọi điều kiện tốt nhất để tơi có thể hồn thành Luận Văn Thạc Sĩ này.
Xin cảm ơn bạn Võ Anh Kha, người từng có kinh nghiệm trong cùng đề tài nghiên cứu đã
giúp tôi tiếp cận các vấn đề nhanh hơn, chỉ ra các mặt tốt và chưa tốt của phương pháp
trước đó để tơi bổ sung và hồn thiện.
Xin cảm ơn các Thầy / Cô trong bộ môn Viễn Thông, khoa Điện - Điện Tử, Đại học Bách
Khoa TP.HCM đã cung cấp các kiến thức và phương pháp học thuật để giúp tôi tiếp cận
với các phương pháp nghiên cứu khoa học đúng đắn.
Và cũng xin cảm ơn những lời động viên của tất cả những người bạn và gia đình giúp tơi
có được tinh thần tốt nhất để thực hiện Luận Văn này.

TP. Hồ Chí Minh, ngày 15 tháng 6 năm 2016

Trần Lê Anh Chương

1


Lời cam kết

Tôi xin cam kết số liệu và kết quả nghiên cứu trong luận văn này là hoàn toàn trung thực
và chưa từng được sử dụng hoặc công bố trong bất kỳ cơng trình nào khác.
Mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cám ơn và các thơng tin trích
dẫn trong luận văn đều được ghi rõ nguồn gốc bài báo khoa học.
Tác giả Luận Văn


Trần Lê Anh Chương

2


Tóm tắt đề tài nghiên cứu

Mục đích của đề tài nghiên cứu chính là phát triển hệ thống giao tiếp giữa não và máy
tính (Brain Computer Interface - BCI) để điều khiển thiết bị bằng tín hiệu điện não. Tín
hiệu điện não được thu nhận bằng thiết bị Emotiv EPOC, sau đó, tín hiệu được xử lý, so
sánh với tín hiệu đã được huấn luyện để phân loại đưa ra quyết định người sử dụng muốn
điều khiển gì.
Trạng thái của não được huấn luyện gồm hai trạng thái: bình thường (neutral) và kích
thích (stimuli). Bằng việc nhìn vào bảng điều khiển gồm 8 hướng và 1 lệnh dừng (Stop),
hay còn được gọi là P300-speller. Từng hàng và cột sẽ được chớp tắt một cách ngẫu nhiên.
Sóng não được kích thích sau 300ms từ khi ảnh mà người nhìn vào được chớp (sóng não
P300). Để điều khiển vật hướng theo các hướng, người điều khiển chỉ cần nhìn vào màn
hình và tập trung vào hình ảnh minh họa hướng di chuyển, chương trình sẽ lấy dữ liệu tín
hiệu sóng não, tiền xử lý, phân loại tín hiệu dựa trên mơ hình huấn luyện trước để đưa ra
quyết định.
Tổng quan chương trình gồm ba phần: huấn luyện (training), phân loại (classification), và
ra quyết định (decision) . Trong phần huấn luyện, các tín hiệu điện não mẫu (samples)
được thu thập, tiến hành tiền xử lý, tăng cường tỉ số tín hiệu trên tín hiệu và nhiễu SSNR
dựa trên giải thuật xDAWN và sau đó tín hiệu sau khi được giảm số chiều được đưa vào
khối huấn luyện, khối này sử dụng giải thuật phân loại Support Vector Machine (SVM)
hoặc Linear Discriminant Analysis (BLDA). Sau khi đã có mơ hình huấn luyện, tín hiệu
cần phân loại sẽ được trích đặc trưng, và tiến hành xác định tín hiệu thuộc lớp nào của
mơ hình phân loại. Cuối cùng, chương trình sẽ tìm sóng não P300 theo hàng và cột, rồi


3


Luận Văn Thạc Sĩ
đưa ra quyết định. Lệnh sẽ được truyền sang Raspberry Pi 2 board thông qua giao thức
TCP/IP.
Mô hình thực tế của nghiên cứu được thực hiện trên mini-robot Hex Bug. Đây là robot
có thể điều khiển từ xa thơng qua remote điều khiển từ xa. Chương trình sẽ giao tiếp với
remote thơng qua đường tín hiệu General Purpose Input/Output (GPIO) của Raspberry
Pi 2 board để điều khiển Hex Bug di chuyển theo các hướng đề xuất.

4


Abstract

The major goal of Brain Computer Interface (BCI) research is to develop systems that
make it possible for disabled users to control an equipment using brain-wave signal. The
brain-wave signal are acquired by Emotiv EPOC, then, they are processed and compared
to the trained signal to classify and translate into human commands.
Specific features of evoked and non-evoked potentials are extracted and passed to translation algorithms for training. P300-spller which is defined by 3 columns and 3 rows, visualize
9 commands (eight directions and one Stop command), each column or row are illuminated randomly. The evoked potentials after 300 ms after the the target is illuminated is
called P300. To control an equipments moving to each directions, the user focuses her/his
attention on the symbol she/he wishes to communicate and mentally counts the number of
times the row and the column containing the symbol are intensified, the desired program
will acquire raw EEG data, preprocess, and classify signal based on the previous training
model.
The program contains 3 main modules: training, classification and prediction/making
decision. In training module, the EEG samples are acquired, and then, are pre-processed,
enhanced signal to signal and noise (SSNR) based on xDAWN algorithm. Specific features

after using spatial filter xDAWN are passed to translation algorithms for training using
Support Vector Machine (SVM) or Linear Discriminant Analysis (BLDA) algorithm. P300
response will be detected by calculating the maximum score of row and column. Finally,
the command will be sent to Raspberry Pi 2 board by TCP/IP protocol.
The BCI system contains a mini-robot HexBug, it could be controlled by remote con5


Luận Văn Thạc Sĩ

trol. The program communicates with remote control via General Purpose Input Output
(GPIO) signal of Raspberry Pi 2 to control mini-robot HexBug.

6


Mục lục
Lời cảm ơn

1

Lời cam kết

2

Tóm tắt đề tài nghiên cứu

3

Abstract


5

1 Mở đầu

15

1.1

Đặt vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

1.2

Ý nghĩa khoa học và thực tiễn của nghiên cứu . . . . . . . . . . . . . . . .

16

1.3

Đối tượng và phạm vi của nghiên cứu . . . . . . . . . . . . . . . . . . . . .

17

1.4

Cấu trúc của Luận Văn . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17


2 Tổng quan

19

2.1

Tình hình nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

2.2

Các nghiên cứu liên quan . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

2.2.1

Nghiên cứu về sóng não P300 . . . . . . . . . . . . . . . . . . . . .

20

2.2.2

Nghiên cứu về sóng não SSVEP . . . . . . . . . . . . . . . . . . . .

23

Đóng góp của nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . .


26

2.3

3 Cơ sở lý thuyết

28

3.1

Điện não đồ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.2

Hệ thống thu nhận và xử lý điện não . . . . . . . . . . . . . . . . . . . . .

30

3.3

Phân loại sóng não và bảng P300-speller . . . . . . . . . . . . . . . . . . .

33

3.4

Biến đổi tín hiệu điện não trong miền thời gian, tần số . . . . . . . . . . .


37

7


Luận Văn Thạc Sĩ

3.5

3.6

Giải thuật xDAWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

3.5.1

Mơ hình tốn học của giải thuật xDAWN . . . . . . . . . . . . . .

42

3.5.2

Ứng dụng giải thuật xDAWN vào P300 speller . . . . . . . . . . . .

44

Huấn luyện và phân loại tín hiệu điện não . . . . . . . . . . . . . . . . . .

47


3.6.1

Giải thuật Support Vector Machine . . . . . . . . . . . . . . . . . .

47

3.6.2

Giải thuật Linear Discriminant Analysis . . . . . . . . . . . . . . .

51

3.6.3

Ứng dụng vào phân loại sóng não kích thích P300 . . . . . . . . . .

56

4 Mơ hình hệ thống BCI và giải thuật

58

4.1

Mơ hình hệ thống BCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

4.2


Thiết bị Emotiv EPOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

4.2.1

Giới thiệu sơ lược thiết bị Emotiv EPOC . . . . . . . . . . . . . . .

61

4.2.2

Kết nối thiết bị Emotiv EPOC với máy tính . . . . . . . . . . . . .

65

Ngôn ngữ lập trình và thư viện thực hiện chương trình . . . . . . . . . . .

67

4.3.1

Ngôn ngữ lập trình Python . . . . . . . . . . . . . . . . . . . . . .

67

4.3.2

Thư viện OpenVibe . . . . . . . . . . . . . . . . . . . . . . . . . . .


67

Giải thuật chương trình . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

4.4.1

Giải thuật quá trình huấn luyện . . . . . . . . . . . . . . . . . . . .

68

4.4.2

Giải thuật quá trình phân loại . . . . . . . . . . . . . . . . . . . . .

71

4.3

4.4

5 Thực nghiệm nghiên cứu
5.1

74

Các module thực hiện trong OpenVibe . . . . . . . . . . . . . . . . . . . .


74

5.1.1

Module thu nhận dữ liệu EEG . . . . . . . . . . . . . . . . . . . . .

75

5.1.2

Module huấn luyện để tìm thơng số bộ lọc theo giải thuật xDAWN

76

5.1.3

Module huấn luyện để tìm vector thành phần theo giải thuật BLDA

77

5.1.4

Module ứng dụng chính . . . . . . . . . . . . . . . . . . . . . . . .

79

5.2

Module nhận và xử lý lệnh . . . . . . . . . . . . . . . . . . . . . . . . . . .


82

5.3

Kết quả thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

5.3.1

Khảo sát thời gian chớp tắt ISI . . . . . . . . . . . . . . . . . . . .

85

5.3.2

Khảo sát số lần lặp của việc chớp tắt P300 speller . . . . . . . . . .

86

5.3.3

Khảo sát hai giải thuật phân loại BLDA và SVM . . . . . . . . . .

87

5.3.4

Khảo sát độ chính xác của hệ thống BCI . . . . . . . . . . . . . . .


87

Mục lục

8


Luận Văn Thạc Sĩ

6 Kết luận và hướng phát triển

90

6.1

Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90

6.2

Hướng phát triển . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

A Mã nguồn chương trình và cách xây dựng thư viện OpenVibe
A.1 Mã nguồn chương trình . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98
98


A.2 Cách xây dựng thư viện OpenVibe . . . . . . . . . . . . . . . . . . . . . . 100
A.2.1 Biên dịch thư viện OpenVibe . . . . . . . . . . . . . . . . . . . . . 100
A.2.2 Liên kết OpenVibe và thư viện emokit lấy dữ liệu EEG raw data . . 101
A.2.3 Cách thức hoạt động của các Module trong OpenVibe . . . . . . . . 101
B Giới thiệu board Raspberry Pi 2 và Minirobot HexBug

105

B.1 Mini Robot HexBug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
B.2 Raspberry Pi 2 board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
B.2.1 Giới thiệu Raspberry Pi 2 board . . . . . . . . . . . . . . . . . . . . 107
B.2.2 Hệ điều hành Ubuntu cho Raspberry Pi 2 board . . . . . . . . . . . 107
B.2.3 Điều khiển HexBug bằng GPIO của Raspberry Pi 2 board . . . . . 108
C Thiết lập board Raspberry Pi 2

110

C.1 Hệ điều hành Ubuntu cho Raspberry Pi 2 . . . . . . . . . . . . . . . . . . 110
C.2 Python code cho TCP/IP server và xử lý lệnh truyền từ máy tính . . . . . 111

Mục lục

9


Danh sách hình vẽ
2.1

Giao diện Neurophone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


2.2

a) Bảng P300-speller và b) Xác định chữ cái ‘B’ là ký tự được nhìn khi giá

21

trị của tín hiệu đạt lớn nhất tại cột 2 hàng 7. . . . . . . . . . . . . . . . .

22

2.3

Bảng điều khiển nhà thông minh của Guger. . . . . . . . . . . . . . . . . .

23

2.4

Xe lăn hoạt động dựa trên điều khiển bằng trí não (phân tích sóng não
SSVEP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

2.5

Điều khiển khung xương bằng tín hiệu SSVEP . . . . . . . . . . . . . . . .

25


2.6

Cánh tay robot được điều khiển bằng sóng não SSVEP theo 8 hướng. . . .

26

3.1

Sóng não được ghi lại bởi Hans Berger vào năm 1924. . . . . . . . . . . . .

28

3.2

Nhà vật lý nổi tiếng Stephen Hawking với thiết bị đọc sóng não để giao tiếp. 29

3.3

Tín hiệu điện não gốc thu được từ cảm biến. . . . . . . . . . . . . . . . . .

30

3.4

Các vị trí đặt sensor electrode. . . . . . . . . . . . . . . . . . . . . . . . . .

31

3.5


Sơ đồ khối của một hệ thống BCI. . . . . . . . . . . . . . . . . . . . . . . .

31

3.6

Sơ đồ khối của quá trình phân loại trong BCI. . . . . . . . . . . . . . . . .

32

3.7

Thiết bị Emotiv EPOC. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

3.8

Sóng não P300 với độ trễ 300ms. . . . . . . . . . . . . . . . . . . . . . . .

33

3.9

Mô hình phân tích sóng não SSVEP. . . . . . . . . . . . . . . . . . . . . .

34

3.10 Các dạng của bảng điều khiển P300 speller. . . . . . . . . . . . . . . . . .


35

3.11 P300 speller và cách xác định mục tiêu. . . . . . . . . . . . . . . . . . . . .

36

3.12 Đáp ứng bộ lọc thông dải Butterworth. . . . . . . . . . . . . . . . . . . . .

39

3.13 Lọc tín hiệu với bộ lọc thông dải Butterworth. . . . . . . . . . . . . . . . .

39

3.14 Tính trung bình nhiều lần lặp. . . . . . . . . . . . . . . . . . . . . . . . . .

40

10


Luận Văn Thạc Sĩ

3.15 Tín hiệu trước và sau khi qua bộ lọc spatial filter. . . . . . . . . . . . . . .

41

3.16 Dạng sóng tín hiệu gốc [15]. . . . . . . . . . . . . . . . . . . . . . . . . . .

46


3.17 Dạng sóng tín hiệu sau khi qua bộ lọc xDAWN [15]. . . . . . . . . . . . . .

46

3.18 Tín hiệu gốc và sau khi qua bộ lọc (ít mẫu). . . . . . . . . . . . . . . . . .

47

3.19 Tín hiệu sau khi qua bộ lọc (nhiều mẫu). . . . . . . . . . . . . . . . . . . .

47

3.20 Giải thuật SVM - Phân lớp dữ liệu với optimal hyperplane. . . . . . . . . .

48

3.21 Vector thành phần trong giải thuật phân loại LDA. . . . . . . . . . . . . .

52

4.1

Mơ hình hệ thống BCI thực hiện ở Luận Văn. . . . . . . . . . . . . . . . .

58

4.2

Bảng điều khiển P300 speller (Visual Stimuli). . . . . . . . . . . . . . . . .


59

4.3

P300 speller: Chớp tắt theo hàng. . . . . . . . . . . . . . . . . . . . . . . .

60

4.4

P300 speller: Chớp tắt theo cột. . . . . . . . . . . . . . . . . . . . . . . . .

60

4.5

Kết quả của chương trình hiển thị trên P300 speller. . . . . . . . . . . . .

61

4.6

Thiết bị Emotiv EPOC. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

4.7

Sơ đồ vị trí các kênh của thiết bị EPOC trên não người. . . . . . . . . . .


63

4.8

Sơ đồ vị trí các kênh của thiết bị EPOC trên não người. . . . . . . . . . .

63

4.9

Sơ đồ vị trí các kênh của thiết bị EPOC trên não người. . . . . . . . . . .

64

4.10 Sơ đồ khối quá trình lấy mẫu. . . . . . . . . . . . . . . . . . . . . . . . . .

69

4.11 Sơ đồ giải thuật huấn luyện tìm hệ số bộ lọc với xDAWN. . . . . . . . . .

70

4.12 Sơ đồ giải thuật quá trình huấn luyện 2 lớp với tập mẫu. . . . . . . . . . .

71

4.13 Sơ đồ giải thuật của chương trình chính. . . . . . . . . . . . . . . . . . . .

72


5.1

Sơ đồ khối Module thu nhận tín hiệu EEG trong OpenVibe. . . . . . . . .

75

5.2

Server “emokit” lấy tín hiệu EEG từ Emotiv EPOC USB Dongle. . . . . .

76

5.3

Sơ đồ Module huấn luyện tìm thơng số bộ lọc bằng xDAWN. . . . . . . . .

76

5.4

Sơ đồ Module huấn luyện của quá trình phân loại tập dữ liệu EEG mẫu. .

78

5.5

Sơ đồ của Module chương trình chính (phần 1). . . . . . . . . . . . . . . .

80


5.6

Sơ đồ của Module chương trình chính (phần 2). . . . . . . . . . . . . . . .

81

5.7

Sơ đồ khối Module giao tiếp Raspberry Pi 2 và máy tính. . . . . . . . . . .

82

5.8

P300 speller cho mục đích test chương trình. . . . . . . . . . . . . . . . . .

84

A.1 Cấu trúc của mã nguồn trên Gitlab . . . . . . . . . . . . . . . . . . . . . .

99

Danh sách hình vẽ

11


Luận Văn Thạc Sĩ


B.1 Mini robot HexBug thực tế. . . . . . . . . . . . . . . . . . . . . . . . . . . 105
B.2 Các điểm Test Point trên board mạch của HexBug remote. . . . . . . . . . 106
B.3 Hàn các chân điều khiển lên Test Point của HexBug remote. . . . . . . . . 106
B.4 Raspberry Pi 2 board. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
B.5 Sơ đồ các chân Expander (GPIO/Vcc/GND/UART) của Raspberry Pi 2. . 108
B.6 Kết nối Raspberry và HexBug remote. . . . . . . . . . . . . . . . . . . . . 109
B.7 Ảnh thực tế sau khi kết nối Raspberry Pi 2 và HexBug remote. . . . . . . 109

Danh sách hình vẽ

12


Danh sách bảng
3.1

Các dải tần của sóng não. . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

5.1

Bảng so sánh khả năng phân loại mẫu với ISI 300ms, 200ms và 150ms . . .

85

5.2

Bảng so sánh tỉ lệ phân loại ISI 300ms, 200ms và 150ms . . . . . . . . . .


86

5.3

Bảng so sánh khả năng phân loại mẫu với 12 và 6 lần lặp . . . . . . . . . .

86

5.4

Bảng so sánh khả năng phân loại giữa hai giải thuật SVM và BLDA . . . .

87

5.5

Bảng đánh giá độ chính xác của hệ thống BCI thực hiện trên người thứ 1 .

88

5.6

Bảng đánh giá độ chính xác của hệ thống BCI thực hiện trên người thứ 2 .

89

13


Các thuật ngữ viết tắt

BCI

Brain Computer Interface

EEG

Electroencephalography

SSVEP

Steady State Visually Evoked Potential

ERP

Evoked Response Potential

LDA

Linear Discriminant Analysis

BLDA

Bayes’s Linear Discriminant Analysis

PCA

Principal Component Analysis

SVM


Support Vector Machine

GPIO

General Purpose Input Output

TCP

Transmission Control Protocol

IP

Internet Protocol

ICA

Independent Component Analysis

DFT

Discrete Fourier Transform

FFT

Fast Fourier Transform

AES

Advanced Encryption Standard


EBC

Cipher Block Chaining

MSE

Mean square error

14


Chương 1
Mở đầu

1.1

Đặt vấn đề

Chúng ta đang sống trong một thế giới mà những tương tác đều dựa trên việc suy nghĩ và
hành động. Bộ não tiếp nhận thông tin và xử lý, đưa ra các thông điệp cho các cơ quan
vật lý như tay, chân, hoặc các cơ quan khác trong cơ thể phản xạ lại. Tuy nhiên, đối với
những người tàn tật, họ không thể điều khiển được cơ thể của mình, vì thế, họ sẽ phải cần
đến một thiết bị để điều khiển bằng sóng não, đó là hệ thống tương tác giữa não và máy
tính (Brain Computer Interfaces - BCI). BCI làm việc trên cơ sở khai thác các tín hiệu
phát ra từ bộ não và các ứng dụng của BCI chủ yếu cho mục đích y tế và trong nghiên
cứu. Một lý do quan trọng nữa để ta quan tâm đến hệ thống BCI chính là sự tương tác
giữa con người và máy tính khơng dựa trên cử động của cơ thể so với các hệ thống khác
dựa trên cử động như nút nhấn (button-based), chạm (touch-based), nhận diện giọng nói
(voice-recognition-based), nhận diện cử chỉ (gesture-recognition-based). Trong hệ thống
BCI, người sử dụng ra lệnh điều khiển không thông qua những đầu ra thông thường của

não. Vì vậy, hệ thống BCI sử dụng những tín hiệu điện não từ các tế bào neuron, sau đó
được chuyển thành tín hiệu điều khiển thiết bị ngoại vi chúng ta mong muốn dựa trên
việc huấn luyện.
Hệ thống tương tác giữa não và máy tính (BCI) mang nhiều ý nghĩa cho người khuyết
15


Luận Văn Thạc Sĩ

tật, giúp họ trở nên độc lập hơn trong hành động và giao tiếp, ví dụ như xe lăn tự động
giúp họ tự do di chuyển, tắt mở thiết bị, đọc chữ trong giao tiếp, di chuyển con trỏ máy
tính, ... Thiết bị thu nhận tín hiệu điện não sẽ ghi lại các hoạt động của não (sóng não),
máy tính sẽ phân tích và đưa ra kết luận.
Đề tài nghiên cứu về việc điều khiển thiết bị bằng sóng não là một trong những lĩnh vực
cịn khá mới mẻ ở Việt Nam, một phần lý do về kinh phí cao, sinh viên và học viên cao
học khó có thể tiếp xúc với các thiết bị tiên tiến trên thế giới. Việc chọn đề tài nghiên cứu
về sóng não có thể đóng góp thiết thực trong việc xây dựng và phát triển các ứng dụng
thực tế về điều khiển thiết bị bằng sóng não. Đó cũng chính là mục tiêu của nghiên cứu
"Điều khiển thiết bị bằng tín hiệu điện não" được tác giả Luận Văn thực hiện.

1.2

Ý nghĩa khoa học và thực tiễn của nghiên cứu

Nghiên cứu đưa một hệ thống BCI trong đó sóng não kích thích được tạo ra khi ta nhìn
vào một bảng điều khiển P300-speller, khi đó, thiết bị Emotiv EPOC sẽ đọc tín hiệu điện
não với thời gian được đồng bộ hóa cùng lúc người sử dụng nhìn vào bảng điều khiển
P300-speller, sau đó, máy tính sẽ tính tốn và phân loại sóng não để phát hiện ta đang
cần điều khiển mini-robot theo hướng nào. Giải thuật ứng dụng trong nghiên cứu cho kết
quả đáng tin cậy và có khả năng xử lý thời gian thực. Một phiên xử lý của chương trình

được tối giản đến mức độ tin cậy có thể chấp nhận được dựa trên thực tiễn nghiên cứu,
khi đó chương trình có thể xử lý một cách nhanh chóng nhưng vẫn đạt kết quả chính xác
cao.
Hơn nữa, nghiên cứu có thể được phát triển thành nhiều ứng dụng khác trong việc giúp
đỡ con người mất khả năng vận động như xe lăn tự động, tắt mở các thiết bị trong nhà,
điều khiển cánh tay giả (cánh tay robot), ... một cách độc lập.

1.2. Ý nghĩa khoa học và thực tiễn của nghiên cứu

16


Luận Văn Thạc Sĩ

1.3

Đối tượng và phạm vi của nghiên cứu

Trong khuôn khổ của Luận văn Thạc sĩ, các vấn đề chủ yếu được nêu ra nhằm giải quyết
bài toán làm thế nào điều khiển thiết bị bằng cách đọc và phân loại sóng não với thiết bị
Emotiv EPOC - một thiết bị phổ biến với 14 kênh để ghi lại tín hiệu điện não. Cụ thể hơn,
phạm vi của nghiên cứu là phát triển giải thuật và phần mềm điều khiển một mini-robot
có thể di chuyển theo các hướng dựa trên việc phát hiện sóng não kích thích P300.
Chương trình sẽ sử dụng ngơn ngữ C và Python, thư viện mở cho việc xử lý tín hiệu điện
não là OpenVibe. Một bảng điều khiển P300-speller gồm 3 hàng và 3 cột được thiết kế để
người sử dụng có thể nhìn vào và chọn hướng đi cho robot, tương ứng với 8 hướng và một
lệnh dừng lại (stop). Phần điều khiển robot sẽ do board Raspberry Pi 2 thực hiện dựa
trên tín hiệu General Purpose Input Output (GPIO) liên kết với HexBug remote control.
Việc đánh giá kết quả của nghiên cứu được thực hiện trên ít nhất 2 người để có thể đánh
giá tính khách quan của độ chính xác chương trình khi ứng dụng vào thực tế.


1.4

Cấu trúc của Luận Văn

Các nghiên cứu liên quan sẽ được trình bày ở Chương 2 - Tổng quan, dựa trên các kết
quả của các nghiên cứu để phát triển ứng dụng và chọc lọc các phương pháp có độ chính
xác cao cho nghiên cứu.
Chương 3 sẽ bàn đến các một vài hệ thống thu nhận và đo đạc tín hiệu điện não (Brain
Computer Interface – BCI), lý thuyết về xử lý tín hiệu não: cụ thể là tín hiệu P300. Ở
chương này, tác giả tập trung vào một vài đề xuất các phương pháp phân loại tín hiệu
não, phương pháp biến đổi Fourier rời rạc Discrete Fourier Transform (DFT/FFT), bộ lọc
thông dải Butterworth, giới thiệu lý thuyết phương pháp chính trong giải thuật cịn khá
mới trong việc nâng cao chất lượng sóng não P300 là xDAWN, phương pháp phân loại tín
hiệu điện não với hai giải thuật Support Vector Machine (SVM) và Linear Discriminant
Analysis (LDA).
1.3. Đối tượng và phạm vi của nghiên cứu

17


Luận Văn Thạc Sĩ

Mơ hình tổng qt của hệ thống thu nhận và xử lý tín hiệu đề xuất trong nghiên cứu được
giới thiệu ở Chương 4. Trong đó, tác giả sẽ giới thiệu thiết bị thu nhận tín hiệu điện não
Emotiv EPOC, cách thức giao tiếp, lấy tín hiệu và giải mã để có được thơng tin của từng
kênh (channel). Chương trình được viết trên nền Linux và sử dụng ngơn ngữ lập trình
C và Python với sự hỗ trợ của thư viện mở (opensource toolbox) được sử dụng chủ yếu
trong mơ hình là OpenVibe.
Kết quả thực hiện chương trình sẽ được diễn giải ở Chương 5, đưa ra các kết quả, so

sánh, bảng số liệu và đánh giá trong những trường hợp thay đổi thời gian chớp tắt của
P300-speller, số lần lặp khối và so sánh các phương pháp phân loại tín hiệu.
Chương 6 sẽ trình bày kết quả tổng kết và hướng phát triển của nghiên cứu, đưa ra những
mặt tốt và chưa tốt của chương trình cũng như giải thuật và hướng cải tiến sau này.
Cuối cùng là phần liệt kê tài liệu tham khảo cho Luận Văn gồm các bài báo khoa học,
các trích dẫn từ sách tham khảo. Ngồi ra, phần Phụ Lục cịn cho mục đích tham khảo
thêm, ví dụ như mã nguồn chương trình, cách thức hoạt động của OpenVibe trên máy
tính Linux, . . .

1.4. Cấu trúc của Luận Văn

18


Chương 2
Tổng quan

2.1

Tình hình nghiên cứu

Các lĩnh vực chính của hệ thống BCI thường được chia ra thành 4 loại:
- Ứng dụng kỹ thuật sinh học: những thiết bị điều khiển hoạt động của con
người, đem lại niềm hy vọng cho những bệnh nhân bại liệt.
- Quan sát hành vi vô thức con người: lĩnh vực này chủ yếu nghiên cứu hoạt
động sâu của não, thường nghiên cứu khi người đã ngủ sâu, để tìm ra được
những hoạt động vốn có của não chi phối cơ thể, hoặc nghiên cứu về những
trạng thái tâm thần học.
- Ứng dụng thần kinh học: sử dụng phương pháp thời gian thực cho phép quan
sát tín hiệu thần kinh được ghi lại với hành động tương ứng.

- Ưng dụng tương tác người và máy: cung cấp phương thức tương tác giữa
người và máy hoặc máy tính.
Đặc biệt, hệ thống BCI mở ra rất nhiều ứng dụng triển vọng trong lĩnh vực hướng đến
người khuyết tật và hạn chế khả năng vận động. Trong những năm gần đây, rất nhiều
nghiên cứu liên quan đến hệ thống BCI đã được nghiên cứu sâu rộng dựa trên việc phát
hiện sóng não kích thích.

19


Luận Văn Thạc Sĩ

Ở Việt Nam, lĩnh vực điện não đồ vẫn còn đang trong giai đoạn mới phát triển khơng có
nhiều nghiên cứu. Ngồi ra, tại Việt Nam đã có những đề tài nghiên cứu về điện não đồ
đạt giải cấp quốc gia như đề tài “Hệ thống số hóa tư duy con người” của nhóm MIMAS đã
đạt giải nhất cuộc thi Nhân tài Đất Việt năm 2010, áp dụng lĩnh vực điện não đồ trong
nghiên cứu. Nghiên cứu của V. A. Kha (Đại học Bách Khoa TPHCM) năm 2014 mang
tên "Sử dụng điện não đồ để viết chữ bằng suy nghĩ" [24] dựa trên việc phát hiện tín hiệu
sóng não P300. Các sinh viên Đại học FPT thực hiện nghiên cứu "Điều khiển Robot bằng
suy nghĩ" vào năm 2015 đơn giản dựa trên việc phân loại trạng thái của não (tập trung
- tiến, không tập trung - lùi). Tuy nghiên cứu chỉ dựa trên các nền tảng kiến thức xử lý
điện não rất cơ bản nhưng cũng là một khuyến khích lớn cho nghiên cứu trong nước khi
đề tài về xử lý điện não còn quá mới mẻ ở nước ta.
Đặc biệt hơn, hai người Mỹ gốc Việt là chị Lê Tần và anh Nam Đỗ đã sáng lập ra công
ty Emotiv System nhằm phát triển những sản phẩm phần cứng phục vụ cho điện não đồ.
Năm 2009, Emotiv đã phát hành thiết bị Emotiv EPOC được đánh giá tốt bởi giới chuyên
môn. Hiện nay, công ty vẫn cho ra đời các bản nâng cấp của thiết bị EPOC sử dụng dung
dịch dẫn điện và giới thiệu một phiên bản rút gọn là Emotiv Insight với 5 kênh và dùng
gel dẫn điện, hạn chế việc ăn mòn của dung dịch nước muối sinh lý.


2.2

Các nghiên cứu liên quan

2.2.1

Nghiên cứu về sóng não P300

Với việc phát hiện ra cơ chế hoạt động của não khi có kích thích (nhìn vào một hình
ảnh chớp tắt) sau 300 ms - sóng não P300, các ứng dụng của nó đã được phát triển
suốt nhiều năm gần đây, nhiều nhất là nghiên cứu về P300-speller (bộ phát chữ hay
bàn phím ảo - virtual keyboard), điều khiển xe lăn, cánh tay robot, . . . Dưới đây là
một vài nghiên cứu ứng dụng của sóng não P300.
Neurophone là tên một nghiên cứu của Campell và cộng sự công bố vào năm 2010 [4],

2.2. Các nghiên cứu liên quan

20


Luận Văn Thạc Sĩ

nghiên cứu đã sử dụng thiết bị đọc sóng não Emotiv EPOC để điều khiển việc gọi
điện cho một người nào đó trên thiết bị iPhone.

Hình 2.1: Giao diện Neurophone.

Ý tưởng của chương trình là sử dụng hình ảnh của 6 người sắp xếp theo thứ tự 3 hàng
x 2 cột. Tại một thời điểm chỉ có một hình ảnh chớp tắt, các ảnh được chớp tắt một
cách tuần tự, mục tiêu để tạo ra sóng kích thích P300 khi người sử dụng điện thoại

nhìn vào bảng điều khiển và chương trình sẽ phân tích sóng não để tìm sóng não P300
ở thời điểm có kích thích và đưa ra quyết định gọi điện cho người đó.
Vì thiết bị iPhone của Apple chưa cho phép giao tiếp với thiết bị USB Dongle Bluetooth
gắn ngoài nên việc thu nhận sóng não vẫn phải sử dụng máy tính Windows và thư
viện Emotiv SDK. Sau đó, dữ liệu sẽ được đưa vào thiết bị iPhone để xử lý. Phương
pháp mà Campell sử dụng bao gồm bộ lọc thông dải, bộ lọc trung bình và giải thuật
phân tích thành phần độc lập (Independent Component Analysis - ICA) để xác định
sóng não P300. Ngồi ra, phương pháp cịn loại bỏ thành chớp mắt bằng việc phân
tích hai kênh gần mắt nhất.
Có khá nhiều nghiên cứu nói về P300-speller (virtual keyboard) ứng dụng trong thiết
bị viết chữ bằng não. P300-speller là một bảng chữ cái và số sắp xếp theo 6 hàng x
6 cột[9]. Mỗi hàng và cột sẽ chớp tắt tại một thời điểm, bằng việc so sánh giá trị lớn
nhất của đỉnh sóng não P300 tại hàng và cột quan tâm, chữ cái đó sẽ được chọn.

2.2. Các nghiên cứu liên quan

21


Luận Văn Thạc Sĩ

Hình 2.2: a) Bảng P300-speller và b) Xác định chữ cái ‘B’ là ký tự được nhìn khi giá trị
của tín hiệu đạt lớn nhất tại cột 2 hàng 7.

Ngồi ra, các nghiên cứu cịn so sánh phương pháp phân loại sóng não P300 bằng một
số giải thuật như Support Vector Machine (SVM), các phương pháp Linear Discriminant Analysis (LDA) như Fisher Linear Discriminant Analysis (FLDA), Bayesian Linear Discriminant Analysis (BLDA), Stepwise Linear Discriminant Analysis (SWLDA),
phương pháp Maximum Likelihood hay phân tích thành phần độc lập (ICA). Mỗi
phương pháp có ưu và nhược điểm riêng. Elliot Franz [12] đã nghiên cứu các phương
pháp xử lý sóng não P300 để xác định phương pháp nào nhanh và chính xác, dựa trên
việc kết hợp phương pháp ICA và PCA (Principle Component Analysis) trong q

trình tiền xử lý tín hiệu, và phương pháp phân loại được đem so sánh gồm có FLDA,
BLDA, SVM, Parallel FLDA, Parallel BLDA.
Nghiên cứu của sinh viên V. A. Kha năm 2014 [24] về sử dụng phân loại sóng não để
viết chữ bằng thiết bị Emotiv EPOC. Nghiên cứu sử dụng các phương pháp trích đặc
trưng trong miền thời gian của tín hiệu và sử dụng bộ phân loại BLDA để tìm mục
tiêu. Tuy cịn nhiều khuyết điểm như không thể xử lý thời gian thực khi các phiên
phải làm độc lập băng tay, chưa có một phương pháp để tăng mức độ sai khác giữa
sóng não P300 và nhiễu để dễ dàng hơn cho việc phát hiện P300, nghiên cứu chứng
tỏ rằng không cần phải sử dụng các thiết bị đo điện não đắt tiền dùng cho y khoa mà
vẫn có thể cho kết quả tốt.
Phương pháp đọc chữ bằng suy nghĩ có thể ứng dụng cho một số người khơng thể nói
chuyện hay dùng tay để viết. Ngồi bảng P300-speller, ta có thể sáng tạo thêm hoặc
2.2. Các nghiên cứu liên quan

22


×