LỜI CẢM ƠN Quá trình học tập dưới mái trường Đại học Bách Khoa Hà Nội là một khoảng thời gian có rất nhiều ý nghĩa đối với mỗi thế hệ sinh viên chúng em. Ở đây, chúng em đã được các thầy cô cung cấp và truyền đạt rất nhiều kiến thức chuyên môn cần thiết và quý giá. Bên cạnh đó, chúng em còn được rèn luyện tinh thần học tập và làm việc một cách độc lập đầy tính sáng tạo. Tất cả những yếu tố đó là những hành trang hết sức cần thiết cho chúng em trên con đường bước vào tương lai. Đồ án tốt nghiệp chính là cơ hội cho chúng em có thể áp dụng, tổng kết lại những kiến thức mà mình đã tích lũy trong suốt quá trình học tập. Thông qua quá trình làm đồ án, bản thân em cũng đã rút ra những kinh nghiệm thực tế hết sức quý báu. Sau một học kỳ tập trung thời gian và công sức thực hiện đề tài với sự nỗ lực của bản thân và đặc biệt với sự hướng dẫn, giúp đỡ tận tình của thầy giáo – Thạc sĩ Vũ Đức Vượng, em đã hoàn thành đồ án một cách thuận lợi và thu được những kết quả nhất định. Tuy nhiên, bên cạnh những kết quả đạt được chắc chắn sẽ không tránh khỏi sai lầm, thiếu sót trong quá trình thực hiện đồ án tốt nghiệp. Em mong nhận được sự phản hồi từ phía thầy cô, sự phê bình và góp ý của thầy cô sẽ là những bài học quý báu cho em. Em xin gửi lời cảm ơn chân thành và tỏ lòng biết ơn sâu sắc tới thầy giáo – Thạc sĩ Vũ Đức Vượng, giảng viên Bộ môn Công nghệ phần mềm, Viện Công nghệ thông tin, Trường Đại học Bách khoa Hà nội. Trong suốt thời gian thực hiện luận văn thầy luôn tạo điều kiện tốt nhất và tận tình hướng dẫn, giúp đỡ em. Em xin chân thành cảm ơn các thầy cô giáo trong Bộ môn Công nghệ phần mềm, Viện Công nghệ thông tin cùng toàn thể các thầy cô giáo trong trường Đại học Bách khoa Hà nội đã truyền đạt cho chúng em những kiến thức quý báu trong quá trình học tập. Em xin bày tỏ lòng biết ơn sâu sắc đến gia đình, bạn bè đã động viên khích lệ em trong quá trình học tập cũng như trong thời gian làm đồ án tốt nghiệp. Cuối cùng, em xin kính chúc các thầy cô luôn luôn mạnh khỏe. tiếp tục đạt được nhiều thắng lợi trong sự nghiệp nghiên cứu khoa học và sự nghiệp giáo dục vĩ đại của mình. Hà nội, ngày 25 tháng 05 năm 2011 Sinh viên. Ngô Văn Khoa
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG PLUGIN TRÊN FIREFOX CHO
THIẾT BỊ EPOC VÀ ỨNG DỤNG
Sinh viên thực hiện : Ngô Văn Khoa
Lớp CNPM – K51 Giáo viên hướng dẫn: ThS Vũ Đức Vượng
Trang 2HÀ NỘI 5-2011
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: Ngô Văn Khoa
Điện thoại liên lạc: 01686598274 Email: khoacnpm@gmail.com
Đồ án tốt nghiệp được thực hiện tại: Công ty Emotiv
Thời gian làm ĐATN: Từ tháng 2/2011 đến tháng 5 /2011
2 Mục đích nội dung của ĐATN
Xây dựng một plugin cho phép tích hợp thiết bị EPOC của công ty Emotiv vớiFirefox qua đó góp phần mở rộng phạm vi ứng dụng của thiết bị Đồng thời em cũng xâydựng một trang web ứng dụng mô phỏng các chức năng của thiết bị EPOC và ứng dụngđiều khiển video bằng suy nghĩ
3 Các nhiệm vụ cụ thể của ĐATN
Xây dựng plugin cho thiết bị EPOC trên Firefox
Tích hợp plugin với Firefox
Xây dựng Javascript Wrapper cho phép xây dựng các ứng dụng web tương tác vớingười dùng sử dụng mũ EPOC
Xây dựng ứng dụng EPOC Control Panel trên Firefox và ứng dụng điều khiểnvideo sử dụng mũ EPOC
4 Lời cam đoan của sinh viên:
Tôi – Ngô Văn Khoa - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự
hướng dẫn của Thạc sĩ Vũ Đức Vượng
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác
Hà Nội, ngày 15 tháng 5 năm 2011
Tác giả ĐATNNgô Văn Khoa
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảovệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
Trang 3Đồ án tốt nghiệp chính là cơ hội cho chúng em có thể áp dụng, tổng kết lạinhững kiến thức mà mình đã tích lũy trong suốt quá trình học tập Thông qua quátrình làm đồ án, bản thân em cũng đã rút ra những kinh nghiệm thực tế hết sức quýbáu Sau một học kỳ tập trung thời gian và công sức thực hiện đề tài với sự nỗ lựccủa bản thân và đặc biệt với sự hướng dẫn, giúp đỡ tận tình của thầy giáo – Thạc sĩ
Vũ Đức Vượng, em đã hoàn thành đồ án một cách thuận lợi và thu được những kết
quả nhất định Tuy nhiên, bên cạnh những kết quả đạt được chắc chắn sẽ khôngtránh khỏi sai lầm, thiếu sót trong quá trình thực hiện đồ án tốt nghiệp Em mongnhận được sự phản hồi từ phía thầy cô, sự phê bình và góp ý của thầy cô sẽ lànhững bài học quý báu cho em
Em xin gửi lời cảm ơn chân thành và tỏ lòng biết ơn sâu sắc tới thầy giáo –
Thạc sĩ Vũ Đức Vượng, giảng viên Bộ môn Công nghệ phần mềm, Viện Công
nghệ thông tin, Trường Đại học Bách khoa Hà nội Trong suốt thời gian thực hiệnluận văn thầy luôn tạo điều kiện tốt nhất và tận tình hướng dẫn, giúp đỡ em
Em xin chân thành cảm ơn các thầy cô giáo trong Bộ môn Công nghệ phầnmềm, Viện Công nghệ thông tin cùng toàn thể các thầy cô giáo trong trường Đạihọc Bách khoa Hà nội đã truyền đạt cho chúng em những kiến thức quý báu trongquá trình học tập
Em xin bày tỏ lòng biết ơn sâu sắc đến gia đình, bạn bè đã động viên khích lệ
em trong quá trình học tập cũng như trong thời gian làm đồ án tốt nghiệp
Cuối cùng, em xin kính chúc các thầy cô luôn luôn mạnh khỏe tiếp tục đạtđược nhiều thắng lợi trong sự nghiệp nghiên cứu khoa học và sự nghiệp giáo dục vĩđại của mình
Hà nội, ngày 25 tháng 05 năm 2011
Ngô Văn Khoa
Trang 4PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2
LỜI CẢM ƠN 3
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 6
ABSTRACT OF THESIS 7
Chương 1: Tìm hiểu về tín hiệu sóng điện não EEG và thiết bị EPOC Headset 10
1 Tín hiệu sóng điện não EEG 10
1.1 Giới thiệu về tín hiệu sóng điện não EEG 10
1.2 Nguồn gốc của sóng điện não 11
1.3 Các loại sóng điện não 12
1.4 Cách đo sóng điện não 15
2 Thiết bị EPOC Headset 18
2.1.Giới thiệu 18
2.2 Giới thiệu về Expressiv Suite 20
2.3 Giới thiệu về Affectiv Suite (Cảm xúc bên trong) 21
2.4 Giới thiệu về Cognitiv Suite 22
Chương 2 : Plugin trên Firefox cho thiết bị EPOC 24
1 Phân tích yêu cầu 24
2 Mô hình tổng quan 25
2.1 edk.dll 25
2.2 FirefoxComponent.dll 25
2.3 Javascript Wrapper 25
2.4 Web Application 26
3 Các thành phần của hệ thống 26
3.1 Các thư viện liên kết động 26
3.2 Javascript Wrapper 28
3.3.Các Web application 36
Chương 3: Chương trình ứng dụng EPOC Control Panel trên Firefox 37
1.Giới thiệu 37
2 Biểu đồ phân cấp chức năng 37
3 Biểu đồ luồng dữ liệu mức khung cảnh 39
4 Biểu đồ luồng dữ liệu mức đỉnh 39
5 Biểu đồ luồng dữ liệu mức dưới đỉnh 40
5.1 Chức năng mô phỏng các trạng thái tín hiệu của mũ 40
5.2 Chức năng mô phỏng các hành động Expressiv 41
5.3 Chức năng mô phỏng các trạng thái Affectiv 42
Trang 55.4 Mô phỏng vị trí trong không gian của mũ EPOC 43
5.5 Chức năng mô phỏng các hành động Cognitiv 44
5.6 Chức năng điều khiển video bằng ý nghĩ 45
6 Một số hình ảnh demo ứng dụng 46
7 Đánh giá 58
8.Phương hướng phát triển trong tương lai 59
Chương 4 Một số ứng dụng được triển khai trong tương lai sử dụng kết quả 60
1 Tích hợp mũ EPOC với các thiết bị sử dụng công nghệ điện toán đám mây 61
2 Các game server sử dụng mũ EPOC 62
3 Các ứng dụng Web có sự tương tác với mũ EPOC 64
TÀI LIỆU THAM KHẢO 65
Trang 6TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Đồ án tốt nghiệp của em được thực hiện tại công ty Emotiv.Đây là một công tyhàng đầu trong lĩnh vực sản suất thiết bị đo sóng điện não.Sản phẩm mũ EPOC của công tyngày càng được sử dụng rộng rãi không chỉ trong lĩnh vực nghiên cứu sóng điện não màcòn trong rất nhiều lĩnh vực ứng dụng như game,các ứng dụng giải trí hay trong lĩnh vựcngôi nhà thông minh.Đề tài em chọn là xây dựng một plugin cho phép tích hợp mũ EPOCvới trình duyệt Firefox và xây dựng ứng dụng demo Epoc Control Panel.Các nội dungchinh của đồ án:
Tìm hiểu các kiến thức cơ bản về sóng điện nào EEG,các loại sóng điện não vàcách đo chúng
Tìm hiểu các chức năng cơ bản của mũ EPOC
Tìm hiểu cách xây dựng một plugin trên Firefox
Xây dựng plugin trên Firefox cho thiết bị EPOC
Xây dựng Javascript Wrapper cho phép xây dựng những trang web có thể tương tácvới người dùng bằng ý nghĩ sử dụng mũ EPOC
Xây dựng ứng dụng EPOC Control Panel mô phỏng các chức năng cơ bản của mũEPOC
Xây dựng ứng dụng điều khiển video sử dụng mũ EPOC
Trang 7ABSTRACT OF THESIS
My graduation thesis done at the company Emotiv.This is a leading company in the field ofproduction equipment which measure brainwaves EPOC headset of the company isincreasingly widely used not only in field of brainware research but also in manyapplication areas such as game, entertainment applications.In my thesis ,I built a pluginwhich can integrate EPOC headset and Firefox, I also write a web application EPOCControl Panel which visualize some basic functions of EPOC Headset Here are somecontent of my thesis
Study some basic information about EEG signal
Study some basic functions of EPOC headset
Study method which use to build plugin for Firefox
Build EPOC Plugin
Write EPOC Control Panel appliction
Write an appliction which control video by using mind
Trang 8
Danh mục các hình
Hình 1 Biểu đồ miêu tả dải tần số của tín hiệu EEG 13
Hình 2: Sóng Alpha 8 – 13 Hz 15
Hình 4: Sóng Theta 4 – 7 Hz 16
Hình 5: Sóng Delta < 4 Hz 16
Hình 6: Hệ thống 10 – 20 nhìn từ bên trái 17
Hình 7: Hệ thống 10 – 20 nhìn từ bên phải 18
Hình 8: Hệ thống 10 – 20 nhìn từ trung tâm 18
Hình 9: Thiết bị EPOC Headset 20
Hình 10: mũ EPOC 20
Hình 11: Mô hình tương tác giữ mũ và máy tính 21
Hình 12: Tín hiệu EEG thu được từ mũ EPOC 22
Hình 13 Mô hình tương tác giữa người dùng và môi trường Internet sử dụng 27
thiết bị EPOC 27
Hình 14: Mô hình tổng quan 28
Hình 15: Mô hình tương tác giữa Firefox và mũ EPOC 30
Hình 16: Tạo FirefoxComponent.dll dùng XPCOM 30
Hình 17: Mô hình MVC 31
Hình 18: Mô hình tương tác giữ mũ EPOC,EmoEngine và ứng dụng 32
Hình 19: sử dụng các hàm API để tương tác với mũ EPOC 33
Hình 20: Mô hình của Javascript Wrapper 34
Hình 21 : Quy trình thực hiện khi sử dụng Javascript Wrapper 35
Hình 22: Quy trình đào tạo một hành động Expressive 37
Hình 23: Quy trình đào tạo một hành động Cognitiv 38
Hình 24 : Mô hình tương tác của một ứng dụng sử dụng Javascript Wrapper 39
Hình 25: Biểu đồ phân cấp chức năng 40
Hình 26 : Biểu đồ luồng dữ liệu mức khung cảnh 42
Hình 27: Biểu đồ luồng dữ liệu mức đỉnh 42
Hình 28 : Biểu đồ luồng dữ liệu mức dưới đình – Chức năng mô phỏng trạng thái tín hiệu của mũ 43
Hình 29: Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng mô phỏng các 44
hành động Expressiv 44
Hình 30: Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng mô phỏng các 45
trạng thái Affectiv 45
Hình 31 : Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng mô phỏng sự 46
thay đổi vị chí của mũ EPOC 46
Hình 32 : Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng mô phỏng các 47
hành động Cognitiv 47
Trang 9Hình 33 : Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng điều khiển 48
video bằng suy nghĩ 48
Hình 34: Mô phỏng trạng thái tín hiệu các điện cực 49
Hình 35 : Hình mô phỏng các hành động Expressiv 50
Hình 36 : Hình mô phỏng các trạng thái Affectiv 51
Hình 37 : Hình mô phỏng các hành động Cognitiv 52
Hình 38 : Hành động push – đẩy vào 53
Hình 39 : Hành động pull – kéo ra 54
Hình 40 : Hành động left – đẩy sang trái 55
Hình 41:Hành động lift – kéo lên trên 56
Hình 42: Hình mô phỏng vị trí trong không gian của mũ EPOC 57
Hình 43: Điều khiển video bằng suy nghĩ 58
Hình 44 : Tích hợp mũ EPOC sử dụng công nghệ đám mây 61
Hình 45 : Game có sử dụng mũ EPOC 62
Hinh 46 : Game sử dụng mũ EPOC 63
Trang 10Lời mở đầu
Từ khi máy tính ra đời đến nay,đã có nhiều hình thức giao tiếp giữa ngườidùng và máy tính.Từ hình thức dòng lệnh,giao tiếp qua bàn phím, chuột hay quamàn hình cảm ứng Trong một vài năm trở lại đây, hình thức giao tiếp qua ý nghĩcủa người dùng đã được nghiên cứu và bước đầu đạt được những thành quả nhấtđinh Đã xuất hiện những thiết bị cho phép người dùng sử dụng ý nghĩ để điềukhiển chương trình máy tính Trong đó tiêu biểu là sản phẩm EPOC của công tyEmotiv
Thiết bị EPOC sẽ thực hiện việc phiên dịch sự tương tác giữa các dây nơ-ronthần kinh trong não thành những tín hiệu gửi đến máy tính.Máy tính sẽ xử lý cácthông tin đầu vào.Hiện này thiết bị EPOC đã được rộng rãi trong nhiều lĩnh vực nhưgame điều khiển bằng ý nghĩ,robot, ngôi nhà thông minh
Với mong muốn mở rộng phạm vi ứng dụng của thiết bị em đã chọn đề tài xâydựng plugin trên firefox cho phép tạo ra những website có thể tương tác với ngườidùng bằng ý nghĩ sử dụng thiết bị EPOC.Với plugin này các nhà phát triển có thể
tạo ra được nhiều ứng dụng trên web sử dụng các công cụ lập trình web cơ bản cho
phép tương tác với người dùng qua ý nghĩ, đó sẽ là tiền đề cho sự phát triển mạnh
mẽ của thiết bị EPOC trong thời gian tới.Đồng thời em cũng xây dựng một websitetương tác và mô phỏng các chức năng của mũ EPOC,ngoài ra em cũng xây dựngmột ứng dụng cho phép người dùng sử dụng mũ đề điều khiển các video lấy từyoutube
Trang 11Chương 1: Tìm hiểu về tín hiệu sóng điện não EEG và thiết bị EPOC Headset
1 Tín hiệu sóng điện não EEG
1.1 Giới thiệu về tín hiệu sóng điện não EEG
EEG là điện thế hoạt động của vỏ não phát ra EEG được phát hiện bởiBerger năm 1924 bằng 1 dụng cụ đo dòng điện với 1 điện cực bề mặt trên đầu contrai ông và ghi lại được 1 mẫu nhịp nhàng những dao động điện Tín hiệu này làphản hồi điện sinh học ngay tức khắc của tế bào não Ngày nay, người ta cho rằngtín hiệu EEG giống như như tín hiệu EEG lấy từ lưỡng cực trong lớp tế bào hìnhchóp Rất nhiều tế bào hình chóp và sợi thần kinh của nó được sắp xếp thẳng đứng
Sự sắp xếp này được đưa ra 1 dendro-somatic lưỡng cực hoặc điện thế là cái daođộng do tác nhân kích thích gây ra Não bộ của con người là một tổ chức phức tạp,tinh vi nhất của hệ thần kinh Thông qua các giác quan như mắt, tai, da, bộ não tiếpthu các thông tin về thị giác, thính giác, xúc giác để từ đó nhận thức ra đối tượng,
xử lý và giai đáp thông tin qua các hình thức vận động Do vậy bộ não giữ vai tròquan trọng trong hoạt động toàn diện, đa dạng của con người, giúp con người thíchứng với các hoàn cảnh xã hội Ngày nay, khi thế giới ngày càng phát triển thì cácbênh về não cũng ngày càng phát triển như: các bệnh về động kinh, viêm não,u não
… Do vậy, việc thu nhận và xử lí tín hiệu điện não sẽ giúp chúng ta chẩn đoánchính xác được các bệnh về não Vì thế, các bệnh nhân não sẽ có cơ hội được cứuchữa nhiều hơn
Hoạt động tự nhiên được đo trên da đầu hoặc trên não và được gọi là điệnnão đồ Biên độ của điên não đồ vào khoảng 100 μV khi đo trên da và khoang 1-2Vkhi đo trên bề mặt của não bộ Các băng thông của tín hiện này từ dưới 1 Hz đếnkhoảng 50 Hz được thể hiện như trong hình 1 Điện não đồ là hoạt động này diễn raliên tục trong quá trình sống Các điện thế gợi là thành phần điện thế của EEG , phátsinh ra các phản ứng với các tác nhân kích thích ( đó có thể là điện , âm thanh , hìnhảnh ) ,những tín hiệu này thấp hơn các tín hiệu nhiễu,do đó không thể phân biệtđược và bắt buộc phải sử dụng một chuỗi các tác nhân kích thích và tín hiệu trungbình để cải thiện tỉ lệ tín hiệu - nhiễu Hoạt động sinh lý học của tế bào thần kinhđơn lẻ có thể được xem xét thông qua việc sử dụng vi điện cực xuyên qua các tế bàocần quan tâm Thông qua việc nghiên cứu từng tế bào đơn lẻ, hi vọng xây dựng môhình mạng lưới tế bào phản ánh thực tế tính chất của mô
Trang 12Hình 1 Biểu đồ miêu tả dải tần số của tín hiệu EEG
1.2 Nguồn gốc của sóng điện não
Nguồn của các tín hiệu EEG là điện thế hoạt động của các tế bào thần kinhtrong não.Chủ yếu từ vỏ não Số lượng dây thần kinh trong não ước lượng vàokhoảng 1011 loại khác nhau Các tế bào thần kinh vỏ não được liên kết mạnh nhất.Tại đây 1 tế bào thần kinh có thể được che phủ bởi 1000 đến 100000 khớp thần kinh(Nenez, 1981).Đáp ứng điện của tế bào thần kinh tương ứng với những mô tả củacác tế bào có thể bị kích thích đã nêu ở các chương trước Các điện áp nghỉ trongkhoảng xấp xỉ -70 mV, và điện áp đỉnh mang điện tích dương Biên độ của các xungthần kinh vào khoảng 100 mV và kéo dài 1ms
Mật độ dòng điện điện sinh học đặt vào kết hợp với hoạt động của tế bàothần kinh tạo ra điện trường, có thể đo được trên bề mặt của đầu hoặc trực tiếp trêncác tế bào thần kinh Điện trường được mô tả trên phương trình trong mô hình giớihạn không đồng nhất Mô hình đó được thể hiện như sau:
Trang 13
Trong khi hầu hết mô có khả năng kích thích thì về cơ bản ,mật độ dòng đặtvào là truyền điện thế hoạt động, đối với EEG nó phát sinh quá trình truyền các kíchthích hoá học tới phần sau khớp thần kinh của các tế bào thần kinh vỏ não
Quá trình này gây ra hiện tượng khử cực - điều này có nghĩa là kích thích điện thếsau khớp thần kinh (EPSP) hay trạng thái quá phân cực - đó là sự ức chế điện thếsau khớp thần kinh (IPSP) Kết quả của cả 2 trường hợp là sự tạo thành không gianđược phân bố không liên tục trong chức năng σΦ (ví dụ, σoΦo - σiΦi), được đánhgiá như nguồn 2 lớp trong thành của tất cả các tế bào Hiện tượng này sẽ trở vềkhông khi tế bào trong trạng thái nghỉ ngơi , tuy nhiên khi tế bào hoạt động với bất
kỳ quá trình nào đã kể ở trên ( trong đó có trường hợp Φo - Φi = VM khác nhau tại
tế bào trên bề mặt), 1 mã nguồn chính khác 0 sẽ cho kết quả
Đối với các điểm ở xa, lớp kép có thể được tính theo phương pháp vectơ và
nó đem lai thông tin về vectơ lưỡng cực cho mỗi tế bào hoạt động Mô tư nhiênđược cấu tạo từ số lượng lớn các tế bào nhỏ với mật độ dày đặc.Mặc dù những đánhgiá về đặc tính cơ bản cua EEG có thể được xác định trong các đánh giá về phươngtrình trên,nhưng cấu trúc phức tạp của não bộ và hoạt động điện sinh học của nóvượt xa so với những đánh giá về hàm nguồn Do vậy, các nghiên cứu về EEG rấtkhác so với ECG hoặc EMG ,là những lĩnh vực có thể đánh giá được hàm nguồn.Trong những điều kiện này chất lượng EEG chủ yếu dựa trên thống kê điều trị, tại
đó việc điệu trị liên quan đến EEG chủ yếu dựa trên số lượng lớn kinh nghiệm
1.3 Các loại sóng điện não
Năm 1924, nhà tâm thần học người Áo tên là Hans Berger là người đầu tiênghi được EEG Ông nhận thấy trên bản ghi EEG bình thường, nhịp của các sóngđiện não gồm có vài loại Nhịp sóng dễ thấy nhất được Berger đặt tên cho là nhịphay sóng alpha (alpha wave, alpha rhythm) Đôi khi người ta cũng gọi là nhịpBerger (Berger rhythm) nhằm vinh danh ông Các sóng này thường có biên độkhoảng 50 microvolts (mặc dù cũng có thể giao động từ 5 tới 100 microvolts) vàxuất hiện 8-13 lần trong 1 giây (8-13 Hertz) Sóng này thấy rõ nhất ở phần phía saucủa não người, vốn là nơi xử lý các tín hiệu thị giác, tức là vùng chẩm (occipitalregion) Vì vậy, đôi khi người ta còn gọi nhịp alpha là nhịp trội ở phía sau (theposterior-dominant rhythm) Sóng alpha trở nên rõ nhất khi ta nhắm mắt lại Nó bịtriệt tiêu khi ta mở mắt Như vậy sóng alpha là dấu hiệu cho biết não đang ở tìnhtrạng không chú ý (inattentive brain), và đang chờ để được kích thích Thực tế là cómột vài tác giả đã gọi nó là “nhịp chờ đợt” ("waiting rhythm") Nói một cách hìnhảnh, ta có thể hình dung nó như là một người đang sốt ruột chờ đợi, với biểu hiệnnhịp 2 chân hay gõ ngón tay trên mặt bàn, chờ đợi được vùng đứng dậy làm mộtviệc gì đó Khi mà không còn phải chờ đợi nữa (bằng cách mở mắt hay tính nhẩmtrong đầu), thì sóng alpha cũng biến mất.Ở các phần vùng trán của não (frontal
Trang 14region), có một sóng nhanh hơn, gọi là sóng beta (beta wave) Nó xuất hiện 13-35lần trong 1 giây, nhưng có biên độ dưới 30 microvolts Còn một loại sóng khác nữa,gọi là sóng theta (theta wave), thì có tần số 4-8 Hz, và thường thấy khi đang trong tình trạng buồn ngủ và trong các giai đoạn ngủ nông (light stages of sleep) Dạngsóng thứ tư là sóng delta (delta wave) thì hiếm khi ghi được trên người bình thườngđang thức tỉnh, nhưng bình thường vẫn thấy khi ngủ sâu (deep sleep) hoặc vào lúctỉnh giấc của trẻ nhỏ Sóng delta là sóng có biên độ cao nhất trong tất cả các sóngđiện não Nói chung nếu nó xuất hiện trên một người lớn (trừ khi đang ngủ) thìchứng tỏ não có vấn đề nào đó: ví dụ u não, động kinh, tăng áp lực nột sọ, khiếmkhuyết về trí tuệ, hay hôn mê Khi đã xuất hiện, thì nó có khuynh hướng thay thếcho nhịp alpha Cả sóng beta lẫn sóng delta đều không bị ảnh hưởng bởi mở mắthay nhắm mắt.
Chi tiết: Tần số của sóng tức là số lượng của sóng đó trong một đơn vị thời gian, ởđây là trong 1 giây Tần số của các sóng điện não ở vào khoảng từ 0,5/giây cho tớivài trăm/giây Tuy nhiên các máy ghi EEG thường chỉ ghi được các sóng có tần sốdưới 26/giây.Các sóng được phân biệt bởi tần số, và được chia thành các loại sau:
● Alpha là những sóng có tần số trong khoảng từ 7,5 tới 13 sóng/giây (Hz).
Thường thấy rõ alpha nhất là ở các vùng phía sau của đầu, cả 2 bên, nhưng thườngbên bán cầu ưu thế thì có biên độ (chiều cao) cao hơn Alpha thường rõ lên khinhắm mắt và thư giãn, và biến đi khi mở mắt hoặc thức tỉnh cảnh giác bởi bất cứ cơchế nào (suy nghĩ, đếm) Đây là nhịp sóng chủ yếu thấy được trên người lớn bìnhthường và thư giãn – sóng hiện diện trong hầu hết các thời kỳ của cuộc đời, nhất làkhi trên 30 tuổi, khi ấy sóng này chiếm ưu thế trên đường ghi EEG lúc nghỉ ngơi
Hình 2: Sóng Alpha 8 – 13 Hz
● Beta là những sóng “nhanh” Tần số của nó là từ 14 Hz trở lên Sóng beta
thường thấy ở cả 2 bán cầu, phân bố đối xứng hai bên, và rõ nhất là ở vùng trán.Sóng sẽ nổi bật lên khi dùng thuốc an thần gây ngủ, nhất là khi dùngbenzodiazepines và barbiturates Sóng có thể mất hoặc suy giảm ở vùng có tổnthương vỏ não Nhịp beta thường được coi là nhịp bình thường Nó là nhịp chiếm
ưu thế ở những bệnh nhân đang thức tỉnh cảnh giác hăọc lo sợ, hoặc khi mở mắt
Trang 15Hình 3 : Sóng Beta > 13 Hz
● Theta là những sóng có tần số từ 3,5 tời 7,5 Hz, và được xếp vào loại sóng
“chậm” Nó được coi là bất thường nếu thấy ở người lớn đang tỉnh táo, nhưng lạicoi là hoàn toàn bình thường ở trẻ dưới 13 tuổi và đang ngủ Cũng có thể thấy thetatạo thành 1 vùng bất thường cục bộ trên những nơi có tổn thương dưới vỏ cục bộ;
Có thể thấy sóng theta lan tỏa trong các bệnh lý não lan tỏa hay bệnh não do chuyểnhóa, hoặc bệnh lý đường giữa nằm sâu (deep midline disorders) hoặc trong một sốtrường hợp não nước (hydrocephalus)
Hình 4: Sóng Theta 4 – 7 Hz
● Delta là những sóng có nhịp từ 3 Hz trở xuống Nó có xu hướng là những
sóng có biên độ cao nhất và là những sóng chậm nhất Nó hoàn toàn được coi làbình thường và là sóng ưu thế ở trẻ sơ sinh dưới 1 tuổi và ở giai đoạn 3 hoặc 4(stages 3 and 4) của giấc ngủ Nó có thể xuất hiện cục bộ khi có tổn thương dưới vỏ
và phân bố rộng khắp khi có tổn thương lan tràn, trong bệnh não do chuyển hóa(metabolic encephalopathy), bệnh não nước (hydrocephalus) hay tổn thương đườnggiữa trong sâu (deep midline lesions) Nó thường trội nhất ở vùng trán ở người lớn(ví dụ FIRDA - Frontal Intermittent Rhythmic Delta – sóng delta có nhịp cách hồi
ở vùng trán) và phân bố trội ở các vùng phía sau trên trẻ em (ví dụ OIRDA Occipital Intermittent Rhythmic Delta - sóng delta có nhịp cách hồi ở vùng chẩm)
Hình 5: Sóng Delta < 4 Hz
Trang 161.4 Cách đo sóng điện não
1.4.1 Vị trí đặt điện cực chuẩn
Theo tiêu chuẩn quốc tế 10-20 hệ thống thường được sử dụng để ghi lại tínhiệu sinh học EEG Trong hệ thống này,21 điên cực được trên bề mặt của da đầuđược biểu diễn trên hình 6 và hỉnh 7 Các vị trí được xác định như sau: điêm thamchiếu liên quan đến mũi, là điểm ở hốc mũi ,ở giữa 2 mắt ; mẩu ngoài xương chẩm,phần xương lồi lên nằm trên hộp sọ, trên đường thẳng chính giữa phía sau gáy Từnhững điểm này, chu vi hôp sọ được xác định thông qua mặt phẳng nằm ngang vàphần nằm ở giữa Vị trí của các điện cực được xác định bằng cách chia mặt phẳngnày cho 10% hoặc 20% Ba điện cực khác được bố trí cách đều các điện cực lân cậnnhư trên hình 6,7
Thêm vào với 21 điên cực của hệ thống quốc tế 10-20, trung bình 10% vị trícác điện cực được sử dụng Vị trí và tên gọi của các điện cực được định chuẩn bởi
tổ chức ghi điện não Hoa Kỳ (hình 6C).Trong khuyến nghị này, 4 điên cực được đặttên khác so với hệ thống 10-20, chúng bao gồm T7, T8, P7 và P8 Những điện cựcnày được tô màu đen với chú thích màu trắng trong hình biểu diễn
Vị trị đặt điện cực chuẩn hệ thống 10 - 20 Các điện cực đặt tại dái tai đượcgọi là A1, A2 được nối tương ứng với tai trái và tai phải được sử dụng làm điện cựctham chiếu Hệ thống 10-20 tránh đặt điện cực tại vị trí nhãn cầu, và cân nhắc mộtvài khoảng cách không đổi bởi sử dụng các mốc giải phẫu cụ thể Các điện cực lẻđược đặt bên trái và các điện cực lẻ được đặt bên phải Để thiết lập số lượng cácđiện cực nhiều hơn mà vẫn tuân theo qui ước trên, các điện cực còn lại ngoài 21điện cực chuẩn được đặt giữa các điện cực trên và cách đều nhau giữa chúng
Bên cạnh hệ thống quốc tế 10-20 , tồn tại nhiều hệ thống điện cực khác chophép đo điện thế trên da đầu Hệ thống Queen Square về vị trí của các điện cựcđược đề xuất trong các mẫu bản ghi về các điện thế gợi trong lâm sàng
Hình 6: Hệ thống 10 – 20 nhìn từ bên trái
Trang 181.4.2 Phương pháp thu nhận tín hiệu điện não
Việc thu nhận các tín hiệu và hình ảnh từ các bộ phận của cơ thể người trởthành cần thiết cho việc chẩn đoán sớm các loại bệnh tật Dữ liệu thu được có thểdưới dạng điện sinh học như tín hiệu điện tim, tín hiệu điện cơ đồ EMG hay tín hiệuđiện não EEG, từ não đồ MEG … Các phương pháp đo đạc được dùng có thể làsiêu âm, chụp CT, hay ảnh cộng hưởng từ MRI hoặc cộng hưởng từ chức năngfMRI, chụp positron cắt lớp PET Các hoạt động thần kinh điện đầu tiên được ghilại bằng máy điện kế đơn giản Để khuếch đại sự thay đổi của các điểm một tấmgương được sử dụng để phản xạ ánh sáng được chiếu ra từ điện kế lên bức tường.Sau đó, điện kế Arsonval được gắn vào một cuộn dây có thể di chuyển được, do đóánh sáng tập trung trên gương sẽ bị phản xạ khi cho dòng điện chạy qua cuộn dâynày Điện kế mao dẫn được tạo ra bởi Lippmann và Marey Điện kế dây rất nhạy và
đo chính xác hơn được Einthoven giới thiệu vào năm 1903 Điện kế này trở thànhdụng cụ đo chuẩn trong vài thập kỉ và được cho phép sử dụng ghi lại hình ảnh Các
hệ thống đo tín hiệu EEG gồm số lượng lớn các điện cực tinh vi, các mạch khuếchđại vi sai (cho mỗi kênh), bộ lọc và đồng hồ ghi có mũi kim chỉ Tín hiệu EEG đakênh được ghi lại lên tấm giấy nhẵn hoặc giấy có ô lưới Ngay sau đó, hệ thống đotín hiệu EEG này được tung ra thị trường, các nhà nghiên cứu bắt đầu tìm kiếm hệthống được máy tính hóa, hệ thống này số hóa và lưu trữ tín hiệu Do vậy để phântích tín hiệu EEG, ban đầu phải hiểu rằng tín hiệu được chuyển sang dạng số Sốhóa tín hiệu bao gồm các bước: lấy mẫu, lượng tử hóa, và mã hóa tín hiệu Khi sốcực được sử dụng càng tăng thì số lượng dữ liệu càng lớn, tức số bít để mã hóa tínhiệu cũng nhiều hơn Hệ thống được máy tính hóa cho phép thiết lập các kiểu khácnhau, mô phỏng và lấy mẫu tần số và trong một số trường hợp tích hợp cả các công
cụ xử lí tín hiệu đơn giản hoặc hiện đại giúp nâng cao hiệu quả quá trình xử lí tínhiệu Quá trình biến đổi từ tín hiệu EEG tương tự sang dạng số được thực hiện bởi
bộ chuyển đổi số tương tự đa kênh Dải tần hiệu quả cho tín hiệu EEG xấp xỉ100Hz Do đó tần số lấy mẫu nhỏ nhất là 200 mẫu/s thỏa mãn qui tắc Nyquist là đủ
để lấy mẫu tín hiệu EEG Trong một số ứng dụng các hoạt động của não được quansát đòi hỏi độ phân giải cao hơn tần số lấy mẫu có thể lên tới 2000 mẫu/ s Để duytrì thông tin chẩn đoán thì quá trình lượng tử hóa tín hiệu thông thường phải rất tốt.Các hệ thống ghi tín hiệu EEG phổ biến sử dụng các mẫu tín hiệu dưới dạng 16bits.Các điện cực ghi điện tim có độ chính xác cao chủ yếu được sử dụng để thu thập dữliệu chất lượng cao Các loại điện cực được sử dụng trong hệ thống ghi tín hiệu điệnnão như: Điện cực dùng một lần (dạng gel) Điện cực có thể sử dụng nhiềulần( vàng, bạc, thép hoặc tin) Điện cực kẹp và chụp đầu Điện cực được nhúng mặnĐiện cực dạng kim Khi ghi đa kênh với số lượng lớn của các điện cực, thì điện cựcdạng mũ chụp thường được dùng Thông thường điện cực dạng mũ chụp gồm đĩa
Ag – AgCl có đường kính nhỏ hơn 3 mm, với các cực linh hoạt có thể gắn vào bộkhuếch đại Điện cực kim phải được cắm dưới vỏ não với độ sâu nhỏ nhất có thể.Trở kháng cao giữa điện cực và da đầu cũng như các điện cực có trở kháng caocũng có thể dẫn tới méo dạng tín hiệu Do vậy các máy ghi điện não thương mạithông thường được trang bị bộ phận theo dõi trở kháng Để đảm bảo việc ghi tínhiệu điện não chính xác, trở kháng của điện cực phải nhỏ hơn 5 k , tốt nhất là 1kCân bằng với các điện cực khác trong mũ Tương ứng với từng cấu trúc lớp và xoắncủa não sự phân bố các điện cực lên da phù hợp
Trang 192 Thiết bị EPOC Headset
2.1.Giới thiệu
Đây thực chất là một tai nghe sử dụng hệ thống máy âm điện não không xâmnhập (EEG) để đọc hoạt động của các dây thần kinh trong não bằng cách thu nhậnnhững xung điện nhỏ phát ra từ sự tương tác của hàng 100 tỷ tế bào thần kinh
Hình 9: Thiết bị EPOC Headset
Thiết bị gồm 16 điện cực sẽ thu lấy xung điện phát ra từ não,sau đó sẽ chuyểncác tín hiệu này thành các dữ liệu có thể xử lý được bằng máy tính Thiết bị đượckết nối với máy tính theo chuẩn USB
Hình 10: mũ EPOC
Trang 20Thiết bị có thể phát hiện hơn 30 cách biểu lộ tình cảm, cảm xúc và hànhđộng khác nhau bao gồm trạng thái kích thích, trầm tư, căng thẳng và thất vọng.Bao gồm cả các biểu lộ trên khuôn mặt như cười, nháy mắt, va chạm, tức giận vànhững hành động mang tính nhận thức như đẩy, kéo, nâng, rơi và xoay (trên 6 trụckhác nhau) Các trạng thái biểu cảm được chia thành 3 nhóm chính :
● Expressiv: thể hiện các trạng thái của khuôn mặt như cười,nháy mắt
● Affectiv: thể hiện các trạng thái cảm xúc như vui,buồn
● Cognitiv
Thiết bị EPOC sẽ bắt các tín hiệu sóng điện não EEG Sau khi chuyển thànhcác tín hiệu số,các tín hiệu này sẽ được xử lý và được truyền tới USB theo phươngthức wireless Các tín hiệu số này sẽ được xử lý tiếp theo trong máy tính
Hình 11: Mô hình tương tác giữ mũ và máy tính
Thiết bị EPOC
Trang 21Hình 12: Tín hiệu EEG thu được từ mũ EPOC
2.2 Giới thiệu về Expressiv Suite
Biểu hiện các trạng thái trên khuôn mặt, kết quả trả về là các trạng thái tại mộtthời điểm nào đó của mắt ,miệng…
Các trạng thái có trong Expressiv
Blink: mức thấp chỉ ra một trạng thái không chớp mắt, trong khi mức cao
cho thấy một nhấp nháy
Right Wink / Left Wink: hai trạng thái này chia sẻ một đường đồ thị thông
thường Ở trung tâm cho thấy không có nháy mắt, mức thấp cho thấy một cáinháy mắt trái và cấp cao cho thấy một cái nháy mắt bên phải
Look Right / Left: cả hai phát hiện này chia sẻ một đường đồ thị thông
thường và điều khiển độ nhạy riêng lẻ Mức trung tâm cho biết đôi mắt nhìnthẳng về phía trước trong khi mức thấp chỉ ra mắt nhìn trái, và một mức độ caocho thấy đôi mắt nhìn phải
Raise Brow (lông mày xếch lên): mức thấp cho thấy không phát hiện có
biểu hiện gì, mức độ cao cho thấy mức tối đa của biểu thức phát hiện Mức đồthị sẽ tăng hoặc giảm tùy thuộc vào mức độ phát hiện biểu hiện
Furrow Brow(nhíu lông mày): mức thấp cho thấy không có biểu hiện gì
được phát hiện, mức độ cao cho thấy mức tối đa của biểu thức phát hiện Mức
đồ thị sẽ tăng hoặc giảm tùy thuộc vào mức độ phát hiện biểu hiện
Trang 22 Smile( cười): mức thấp cho thấy không có biểu hiện gì được phát hiện, mức
độ cao cho thấy mức tối đa của biểu thức phát hiện Mức đồ thị sẽ tăng hoặcgiảm tùy thuộc vào mức độ phát hiện biểu hiện
Clench( nghiến ): mức thấp cho thấy không có biểu hiện gì được phát hiện,
mức độ cao cho thấy mức tối đa của biểu thức phát hiện Mức đồ thị sẽ tănghoặc giảm tùy thuộc vào mức độ phát hiện biểu hiện
Right Smirk / Left Smirk(Cười nhếch mép phải/ trái): hai phát hiện này
chia sẻ một đường đồ thị thông thường Ở trung tâm cho thấy không có Smirk,mức thấp cho thấy một Smirk trái và cấp cao cho thấy một Smirk phải
Laugh( cười mức thấp cho thấy không có biểu hiện gì được phát hiện, mức
độ cao cho thấy mức tối đa của biểu thức phát hiện Mức đồ thị sẽ tăng hoặcgiảm tùy thuộc vào mức độ phát hiện biểu hiện
Expressiv hỗ trợ hai loại ”signatures” được sử dụng để phân loại đầu vào từneuroheadset như là một biểu hiện cụ thể của nét mặt Hai loại “signatures” là
Universal Signature và Trained Signature Nếu muốn đạt được kết quả chính xác
thì nên sử dụng Trained Signature, tức là thực hiện mẫu các hành động rồi lấy kếtquả để so sánh những lần sau
2.3 Giới thiệu về Affectiv Suite (Cảm xúc bên trong)
Affectiv Suite báo cáo các thay đổi trong thời gian thực các cảm xúc chủquan của người dùng Emotiv hiện đang cung cấp năm loại phát hiện Affectiv khácnhau: Engagement /Boredom(hứa hẹn/ buồn chán), Frustration(thất vọng),Meditation(suy nghĩ), Instantaneous Excitement(phấn khích tức thời), và Long-Term Excitement(phấn khích lâu dài Các Affectiv phát hiện đặc điểm sóng nãođược phổ cập trong tự nhiên và không yêu cầu một bước học rõ ràng hoặc bước xâydựng chữ ký trên một phần của người dùng Tuy nhiên, dữ liệu cá nhân thu thập chomỗi người dùng sẽ được lưu trong hồ sơ của người dùng trong khi Affectiv Suitechạy Thông tin này được sử dụng để thay đổi kết quả của các bộ Affectiv Suite vàcải thiện độ chính xác kết quả phát hiện theo thời gian Vì lý do này nên nó rất quantrọng khi một hồ sơ người dùng mới chọn khi nào đưa vào neuroheadset
Chi tiết về các phát hiện của Affectiv Suite
Instantaneous Excitement: là một nhận thức hay cảm giác với kích thích
sinh lý tương ứng với một giá trị tích cực Excitement được đặc trưng bởikích hoạt trong hệ thống thần kinh giao cảm mà là kết quả của một loạt cácphản ứng sinh lý bao gồm cả giãn đồng tử, mở rộng mắt, kích thích, mồ hôi,nhịp tim và làm tăng căng cơ, phân máu, và ức chế tiêu hóa.Các loại cảmxúc: gây kích thích, căng thẳng, kích động.Kết quả hành vi: Thông thường
Trang 23khi sự kích thích sinh lý càng lớn thì càng tăng kết quả đầu ra cho việc pháthiện Các phát hiện Instantaneous Excitement được điều chỉnh để cung cấpgiá trị đầu ra chính xác hơn phản ánh những thay đổi ngắn của sự phấn khíchtrong thời gian ngắn là vài giây.
Long-Term Excitement : được xác định giống Instantaneous Excitement,
nhưng phát hiện này được thiết kế và điều chỉnh chính xác hơn khi đo các
thay đổi của sự phấn khích trong một thời gian dài, thường là trong vài phút.
Engagement: được đưa ra khi có sự tỉnh táo và hướng ý thức vào các các tác
vụ liên quan tới kích thích Đặc điểm của nó là khi kích thích sinh lý tănglên thì sóng beta (một loại của sóng điện não đồ) cùng với các sóng alpha
yếu đi (một dạng khác của sóngEEG) Ngược lại với Engagement là
Boredom có trong bảng điều khiển của Emotiv và các hàm của Emotiv Tuy
nhiên, xin lưu ý rằng điều này không luôn tương ứng với một tình cảm chủquan của người dùng mà là do những gì người dùng mô tả là nhàm chán.Liênquan đến cảm xúc: sự tỉnh táo, cảnh giác, tập trung, kích thích, thích thú.Kếtquả của hành vi: Càng chú ý, tập trung và nhận thức vào công việc, càng cónhiều kết quả đầu ra được báo cáo từ những phát hiện đó Ví dụ nếu có sựkiện lôi kéo tham gia game video mà kết quả dẫn đến các khó khăn yêu cầuphải tập trung, phát hiện một cái gì đó mới hoặc thâm nhập vào một khu vựcmới Nếu thua thì trả lại hình chuông Bắn hay bắn tỉa mục tiêu là các sảnphẩm tương tự nhau
2.4 Giới thiệu về Cognitiv Suite
Các bộ phát hiện Cognitiv đánh giá hoạt động sóng não trong thời gian thực
để phân biệt mục đích của ý thức với việc thực hiện các hành động vật lý phân biệtcủa người sử dụng vào đối tượng thật hay ảo Các phát hiện được thiết kế để làmviệc với tối đa 13 hành động khác nhau: 6 chuyển động theo hướng (push, pull,left, right, up and down) và 6 chuyển động quay (lockwise - chiều kimđồng hồ, counter-clockwise- ngược chiều kim đồng hồ, left, right, forward andbackward ) và cộng thêm một hành động mà chỉ tồn tại trong các lĩnh vực của trítưởng tượng của người dùng: disappear- biến mất
Cognitiv cho phép người dùng lựa chọn 4 hành động mà có thể được ghinhận tại bất kỳ thời điểm nào Các phát hiện này sẽ báo cáo một hành động đơn lẻhoặc trung lập (tức là không có hành động) tại một thời điểm, cùng với khả năngthực hiện hành động mà chắc chắn trả lại tương ứng với phát hiện đó mà người sửdụng đã nhập vào trạng thái nhận thức liên quan với hành động đó
Việc tăng số lượng các hành động đồng thời sẽ làm tăng sự khó khăn trong
Trang 24việc duy trì ý thức điều khiển các kết quả phát hiện của Cognitiv Hầu như tất cảngười dùng mới đều dễ dàng kiểm soát một hành động đơn khá nhanh chóng Việchọc để kiểm soát nhiều hành động thường đòi hỏi thực hành và trở nên khó khănhơn mỗi khi có hành động thêm vào Mặc dù bảng điều khiển của Emotiv cho phépmột người dùng lựa chọn lên đến 4 hoạt động tại một thời điểm nhưng quan trọng làngười dùng điều khiển Cognitiv phát hiện một hành động tại một thời điểm Chỉtăng số lượng các hành động đồng thời sau khi đã đạt lần đầu và đạt sai số cho phép.
Trước khi sử dụng các hành động bạn phải tiến hành đào tạo cho các hànhđộng Thực chất đây là việc bạn tập trung suy nghĩ về một hành động nào đó, kếtquả sẽ được sử dụng ở những lần tiếp theo khi bạn nghĩ về hành động đó Trong quátrình đào tạo (Train) thì việc Train Neutral phải được thực hiện đầu tiên.Trong bướcnày bạn tập trung trí não và không nghĩ về điều gì.Những lần đào tạo các hành động
khác sẽ được so sánh với trạng thái trung hòa.Các hành động Neutral đề cập tới
trạng thái tinh thần thờ ơ( không suy nghĩ gì )của người dùng khi nó không liên kết
với bất kỳ hành động Cognitiv nào Trong khi học Neutral bạn nên đưa vào một
trạng thái tinh thần không có một hành động Cognitiv nào khác Thông thường điềunày có nghĩa là bạn không kích thích tinh thần như đọc sách mà chỉ thư giãn Tuynhiên, để giảm thiểu "sai vị trí" các kết quả hành động Cognitiv ( báo cáo khôngchính xác của những hành động không cố ý) nó cũng có thể có ích để mô phỏngcác trạng thái tinh thần khác và nét mặt mà có thể sẽ gặp phải trong bối cảnh ứngdụng và môi trường ứng dụng mà trong đó bạn sử dụng Cognitiv Nếu có nhiềungười sử dụng thì việc cung cấp nhiều dữ liệu học Neutral sẽ cho kết quả là hiệusuất tổng thể Cognitiv tốt hơn Để tạo thuận lợi cho việc cung cấp dữ liệu và vì hầuhết người dùng đều có một thời gian dài để duy trì trạng thái tinh thần thư giãn nêncác tab Training cung cấp một phương pháp thứ hai cho việc học Neutral
Khi đào tạo các hành động khác bạn tập trung thực hiện hành động đó trongnão ví dụ hành động push bạn tập trung suy nghĩ để đẩy một vật nào đó lên Kết quảcủa việc đào tạo các hành động sẽ được lưu lại và sau này khi bạn nghĩ đến mộthành động nào đó thiết bị EPOC sẽ thu được tín hiệu điện rồi chuyển sang dư liệu
số, so sánh với kết quả đào tạo để suy ra hành động bạn đang nghĩ tới là gì
Trang 253 Giới thiệu về XPCOM
XPCOM (Cross Platform Component Object Model) là một thành phần nềntảng mô hình từ Mozilla Nó tương tự như CORBA và Microsoft COM Nó có cácràng buộc nhiều ngôn ngữ và mô tả IDL để lập trình có thể cắm thêm các chức năngtùy chỉnh của mình vào khuôn khổ và kết nối nó với các thành phần khác
XPCOM là một trong những điều chính mà làm cho các ứng dụng Mozillamôi trường một khuôn khổ thực tế Đó là một môi trường phát triển cung cấp cáctính năng sau đây cho các nhà phát triển phần mềm đa nền tảng: Điều này làm cho mô hình đối tượng thành phần hầu như tất cả các chức năngcủa Gecko có sẵn như là một loạt các thành phần, hoặc qua thư viện nền tảng thể tái
sử dụng, có thể được truy cập từ trình duyệt web hoặc kịch bản từ bất kỳ ứng dụngMozilla Các ứng dụng muốn truy cập vào Mozilla XPCOM các thư viện khác nhau(mạng, an ninh, DOM, vv) sử dụng một lớp đặc biệt của XPCOM gọi làXPConnect, phản ánh các giao diện thư viện vào JavaScript (hoặc các ngôn ngữ).XPConnect keo mặt trước cho C + + hoặc các thành phần lập trình ngôn ngữ C-cótrụ sở tại XPCOM, và nó có thể được mở rộng để bao gồm hỗ trợ kịch bản cho cácngôn ngữ khác: PyXPCOM đã cung cấp hỗ trợ Python, PerlConnect [1] vàplXPCOM [2] cung cấp hỗ trợ Perl, và có những nỗ lực triển khai thêm NET và hỗtrợ ngôn ngữ Ruby cho XPConnect
Về phía nhà phát triển,XPCOM cho phép bạn ghi các thành phần trong C++ , C, JavaScript, Python, hoặc các ngôn ngữ khác mà các ràng buộc đặc biệt đãđược tạo ra, và biên dịch và chạy các thành phần trên nhiều nền tảng khác nhau, baogồm cả những điều này và những người khác mà Mozilla chính bản thân được hỗtrợ
Sự linh hoạt để sử dụng lại các thành phần XPCOM từ thư viện Gecko vàphát triển các thành phần mới chạy trên nền tảng khác nhau tạo điều kiện phát triểnứng dụng nhanh chóng và kết quả trong một ứng dụng có hiệu quả hơn và dễ dànghơn để duy trì Các thư viện kết nối mạng, ví dụ, là một tập hợp các thành phầnXPCOM có thể được truy cập và sử dụng bởi bất kỳ ứng dụng Mozilla Tập tin I /
O, an ninh, mật khẩu quản lý, và các cấu hình cũng riêng biệt XPCOM thành phần
mà các lập trình có thể sử dụng trong phát triển ứng dụng riêng của họ
Trang 26
Chương 2 : Plugin trên Firefox cho thiết bị EPOC
1 Phân tích yêu cầu
Hiện tại thiết bị EPOC chủ yếu được sử dụng trong lĩnh vực nghiên cứu vềsóng điện não (EEG).Người sử dụng chủ yếu là những nhà nghiên cứu.Đó là mộtthực tế đáng buồn vì thiết bị EPOC cung cấp rất nhiều chức năng trong việc xử lýtương tác giữa người dùng và máy tính sử dụng suy nghĩ.Các chức năng phong phúnày có thể được ứng dụng trong rất nhiều lĩnh vực như game,các ứng dụng … Mộttrong những cách để mở rộng khả năng ứng dụng và phạm vi sử dụng của thiết bịEPOC là làm cho nó có thể sử dụng trên các môi trường thông dụng nhiều ngườidùng trong đó co môi trường Internet
Ngày này Internet đã trở nên phổ biến,có ảnh hưởng sâu sắc và len lỏi vàomọi ngõ ngách của cuộc sống.Số người dùng Internet tăng với tấc độ chóng mặt.Internet còn là môi trường kết nối mọi người với nhau Những sản phẩm trênInternet có tính phổ biến rất rộng.Do đó nảy sinh yêu cầu làm sao để người dùng cóthể tương tác với các ứng dụng trên Internet bằng ý nghĩ thông qua việc sử dụng mũEPOC.Mô hình chung:
Hình 13 Mô hình tương tác giữa người dùng và môi trường Internet sử dụng thiết bị EPOC
Để mũ EPOC có thể tương tác với các website ứng dụng thì bắt buộc nó phảitương tác được với các trình duyệt web.Hiện nay có nhiều trình duyệt phổ biến như
IE, Firefox,Google Chrome.Nhưng chỉ có Firefox là cho phép can thiệp xâu vào hệthống của nó.Chính vì vậy em đã chọn tích hợp mũ EPOC với trình duyệt Firefox
Trang 272.2 FirefoxComponent.dll
Khi dùng edk.dll thì Firefox không thể truy xuất tới các hàm trong thưviện.Ta phải sử dụng XP Component để convert từ file edk.dll sang fileFirefoxComponent.dll mà Firefox có thể truy xuất tới được.File này được đặt trongthư mục Component của Mozilla Firefox.Em sẽ giới thiệu về XP Component trongphần sau
2.3 Javascript Wrapper
Để những nhà phát triển sau có thể thao tác với các hàm API của edk khi lậptrình Web ,em đã xây dựng Wrapper sử dụng Javascript, Wrapper này sẽ liệt kê ratất cả các hàm API ,qua đó có thể sử dụng khi lập trình
Trang 282.4 Web Application
Sau khi đã có Javascript Wrapper,các nhà phát triển có thể xây dựng cácWebsite tương tác với người dùng sử dụng thiết bị EPOC.Có thể sử dụng các ngônngữ lập trình Web thông dụng như HTML,PHP,ASP…
3 Các thành phần của hệ thống
3.1 Các thư viện liên kết động
3.1.1 Giới thiệu về các thư viện liên kết động
Thư viện liên kết động, đúng như tên gọi của nó, là một thư viện cho phépcác ứng dụng có thể liên kết đến và sử dụng nó Nó được xem là một tổ hợp cáchàm và dữ liệu mà có thể được sử dụng bởi nhiều ứng dụng khác nhau ở cùng mộtthời điểm Ví dụ: thư viện user32.dll hoặc kernel32.dll là các thư viện liên kết động
mà mỗi ứng dụng Windows đều phải dùng đến
Khi đã được viết và đóng gói trong một DLL, một hàm có thể được sử dụng
ở bất cứ ứng dụng nào dưới dạng mã máy của nó mà không phải quan tâm đến mãnguồn nó được viết chi tiết ra sao Với các ứng dụng trước kia, ta có thể đínhkèm file mã nguồn và sử dùng các hàm trong chương trình; tuy nhiên, giả sử như để
có thể thao tác với máy in, in một nội dung ta cần gọi hàm print() và ta đã có mãnguồn của hàm print này Giả sử như không có DLL, thì bất cứ ứng dụng nào muốn
sử dụng hàm print() sẽ bao gồm cả hàm này vào trong mã nguồn: từ chươngtrình Word, Excel, Internet Explorer, như vậy trong hệ thống sẽ có rất nhiều bảnsao của hàm print() này, làm cho dung lượng để chứa các chương trình tăng lên.Ngoài ra, khi phần cứng thay đổi, ta lại phải thay đổi mã nguồn của hàm print() để
nó hoạt động đúng (nếu cần), việc này đẫn tới việc thay đổi theo dây chuyền đếncác ứng dụng, gây ra rất nhiều khó khăn Sau đây ta sẽ tìm hiểu chi tiết về ưu nhượcđiểm của việc sử dụng thư viện liên kết động Các thư viện liên kết động là mộtthành phần không thể thiếu tạo nên hệ điều hành Windows Ở đó, việc quản lý, traođổi với phần cứng hay thiết bị ngoại vi đều thông qua các hàm có sẵn trongwindows mà ta hay gọi là Windows API Thay vì ta phải đưa lệnh điều khiển chomàn hình vẽ lên một cửa sổ giao diện như các ứng dụng, thì ta chỉ cần gọi một hàmtrong một file DLL nào đó, hệ thống sẽ đảm bảo kết quả như ý muốn
Trong hệ thống này gồm hai thư viện liên kết động là edk.dll và fileFirefoxComponent.dll.Thư viện edk.dll là một thư viện bao gồm tất cả các hàm APIcho phép giao tiếp và nhận các sự kiện phát ra từ mũ.Thư viện edk.dll chỉ hoạt độngtrong môi trường window ,trình duyệt Firefox không thể truy nhập đến thư viện này
để gọi các hàm API.Firefox chỉ có thể gọi được các thư viện liên kết động trongcomponent của nó,do đó phải xây dựng một thư viện FirefoxComponent.dll tươngtác với thư viện edk.dll và có thể cho phép Firefox truy nhập vào.Thư viện
Trang 29FirefoxComponent.dll cũng bao gồm tất các hàm API cho phép tương tác với mũEPOC
Hình 15: Mô hình tương tác giữa Firefox và mũ EPOC
3.1.2 Tạo thư viện FirefoxComponent.dll
Để tạo thư viện FirefoxComponent.dll ta dụng XPCOM XPCOM (CrossPlatform Component Object Model) là một thành phần nền tảng mô hình từMozilla Nó tương tự như CORBA và Microsoft COM Nó có các ràng buộc nhiềungôn ngữ và mô tả IDL để lập trình có thể cắm thêm các chức năng tùy chỉnh củamình vào khuôn khổ và kết nối nó với các thành phần khác.XPCOM là một trongnhững điều chính mà làm cho các ứng dụng Mozilla môi trường một khuôn khổthực tế Đó là một môi trường phát triển cung cấp các tính năng sau đây cho các nhàphát triển phần mềm đa nền tảng Điều này làm cho mô hình đối tượng thành phầnhầu như tất cả các chức năng của Gecko có sẵn như là một loạt các thành phần,hoặc qua thư viện nền tảng thể tái sử dụng, có thể được truy cập từ trình duyệt webhoặc kịch bản từ bất kỳ ứng dụng Mozilla
Hình 16: Tạo FirefoxComponent.dll dùng XPCOM
Trang 30Sau khi sử dụng XPCOM để tạo thư viện FirefoxComponent.dll ta còn thuthêm được một file IFirefoxComponent.xpt.Copy hai file này vào thư mụccomponent trong phần cài đặt của Mozilla Firefox Đồng thời thêm tên của hai filenày vào trong file component.list Sau khi đăng ký như trên,Firefox có thể truy cậptới các hàm trong FirefoxComponent.dll do đó có thể tương tác với mũ EPOC
3.2 Javascript Wrapper
Tuy Firefox có thể truy cập trực tiếp tới các hàm trong thư viện liên kết độngFirefoxComponent.dll nhưng các nhà lập trình website khó có thể truy cập tới cáchàm trong đó.Một phần vì tính che dấu thông tin trong thư viện liên kết động,mộtphần vì do Firefox ngăn cản việc truy cập sâu vào hệ thống của nó.Từ đó xuất phátyêu cầu phải xây dựng một Wrapper cho phép các nhà lập trình web có thể gọi cáchàm API tương tác với mũ.Wrapper này phải được xây dựng sao cho nó có thểđược nhúng vào tất cả các website được xây dựng bằng các ngôn ngữ lập trình khácnhau như PHP,JSP hay ASP.Xuất phát từ yêu cầu trên nên Javascript là một sự lựachọn tối ưu để xây dựng Wrapper.Vì Javascript có thể được gọi từ bất kỳ ngôn ngữlập trình web nào
Javascript Wrapper được thiết kế theo mô hình MVC Đây là mô hình được
sử dụng phổ biến hiện nay.Mô hình MVC bao gồm ba thành phần chình làModel(M),View (V) và Controller (C)
Hình 17: Mô hình MVC
Trong đó tầng Model có nhiệm vụ mô hình hóa dữ liệu và hành vi của hệthống.Nó có các trách nhiệm như thực hiện truy vấn đến cơ sở dữ liệu,tính toán cácchi phí và xử lý các yêu cầu đối với hệ thống.Tầng Model thực hiện việc đóng gói
dữ liệu và hành vi của hệ thống để đảm bảo bất kỳ sự thay đổi nào của hệ thống
Trang 31cũng không ảnh hướng đến các thành phần bên ngoài giao tiếp với hệ thống TầngView hay còn gọi là tầng trình diễn có trách nhiệm : hiển thị các thông tin theo yêucầu của từng client, hiển thị các kết quả thực thi của tầng Model, nó không quantâm đến việc các thông tin được xử lý như thế nào và được xử lý ở đâu việc nàychịu trách nhiệm của tầng Model.Tầng cuối cùng trong mô hình MVC là tầng điềukhiển – Controller.Tầng này đóng vai trò liên kết giữa tầng View và tầng Model.Tầng điều khiển có trách nhiệm lựa chọn các tầng trình diễn trong trường hợp cónhiều.Các yêu cầu đối với hệ thống sẽ được truyền tới tầng điều khiển,tầng điềukhiển sẽ quyết định yêu cầu nào sẽ được xử lý và những thông tin nào sẽ được trảlại.Mô hình MVC thường được dùng trong phát triển ứng dụng, để dễ quản lý cácthành phần của hệ thống, cũng như không bị ảnh hưởng bởi các thay đổi, người tahay nhóm các thành phần có cùng chức năng lại với nhau và phân chia trách nhiệmcho từng nhóm để công việc không bị chồng chéo và ảnh hưởng lẫn nhau.
Trước khi tìm hiểu chi tiết về việc áp dụng mô hình MVC trong JavascriptWrapper,ta nên tìm hiểu về cơ chế hoạt động của mũ EPOC
3.2.1 Cơ chế hoạt động của thiết bị EPOC
Thiết bị EPOC sẽ thu các tín hiệu sóng điện não EEG rồi gửi vào mày tính.Một bộ EmoEngine (edk.dll) được cài trong máy tính sẽ nhận các tín hiệu đó sau đóthực hiện các thuật toán để phát hiện các hoạt động của khuôn mặt hay các cảm xúccủa người dùng.Các ứng dụng muốn sử dụng các thông tin này thì phải gọi thôngqua các hàm API được cung cấp sẵn
Hình 18: Mô hình tương tác giữ mũ EPOC,EmoEngine và ứng dụng
Trang 32Các ứng dụng muốn tích hợp và sử dụng các dữ liệu của mũ thì thực hiệnqua các bước : kết nối với mũ,lắng nghe các sự kiện phát ra từ EmoEngine, xử lýcác thông tin thu được, ngắt kết nối với mũ.Vì các dữ liệu phát ra từ mũ theo thờigian thực nên để đảm bảo tính chính xác và kịp thời các ứng dụng phải có cơ chếlặp liên tục để thu được các tín hiệu theo thời gian thực.Các dữ liệu thu đượcthường là các dữ liệu đơn giản như các giá tri boolean hay kiểu số thực nên các ứngdụng đòi hỏi phải có các biện pháp xử lý các dữ liệu thô này một cách hiệu quảnhằm thu được các kết quả như mong muốn.
Hình 19: sử dụng các hàm API để tương tác với mũ EPOC