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
TRƯỜ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 HÀ NỘI 5-2011 Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 1 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 Lớp: CNPM – K51 Hệ đào tạo: Đại học chính quy Đồ á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ới Firefox 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ây dự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ới ngườ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ển video 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ả ĐATN Ngô 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ảo vệ: Hà Nội, ngày tháng năm Giáo viên hướng dẫn Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 2 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 Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 3 PHIẾ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 5 ABSTRACT OF THESIS .6 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 .12 1. Tín hiệu sóng điện não EEG 12 1.1. Giới thiệu về tín hiệu sóng điện não EEG 12 1.2. Nguồn gốc của sóng điện não .13 Chương 2 : Plugin trên Firefox cho thiết bị EPOC 27 Chương 3: Chương trình ứng dụng EPOC Control Panel trên Firefox 41 3. Biểu đồ luồng dữ liệu mức khung cảnh .43 5. Biểu đồ luồng dữ liệu mức dưới đỉnh 44 5.3. Chức năng mô phỏng các trạng thái Affectiv .46 7. Đánh giá 60 8.Phương hướng phát triển trong tương lai 61 Chương 4 . Một số ứng dụng được triển khai trong tương lai sử dụng kết quả của đồ án 62 TÀI LIỆU THAM KHẢO .67 Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 4 TÓ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 ty hà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 ty ngà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ực ngô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ũ EPOC với trình duyệt Firefox và xây dựng ứng dụng demo Epoc Control Panel.Các nội dung chinh 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ác vớ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 Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 5 ABSTRACT OF THESIS My graduation thesis done at the company Emotiv.This is a leading company in the field of production equipment which measure brainwaves. EPOC headset of the company is increasingly widely used not only in field of brainware research but also in many application areas such as game, entertainment applications.In my thesis ,I built a plugin which can integrate EPOC headset and Firefox, I also write a web application EPOC Control Panel which visualize some basic functions of EPOC Headset. Here are some content 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 . Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 6 Danh mục các hình 13 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 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 .22 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ái nháy mắt trái và cấp cao cho thấy một cái nháy mắt bên phải 22 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ìn thẳ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 độ cao cho thấy đôi mắt nhìn phải 22 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 22 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 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ặc giảm tùy thuộc vào mức độ phát hiện biểu hiện .23 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ăng hoặc giảm tùy thuộc vào mức độ phát hiện biểu hiện .23 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 23 Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 7 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ặc giảm tùy thuộc vào mức độ phát hiện biểu hiện .23 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ết quả để so sánh những lần sau .23 2.3. Giới thiệu về Affectiv Suite (Cảm xúc bên trong) 23 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ởi kí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ác phả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ảm xúc: gây kích thích, căng thẳng, kích động.Kết quả hành vi: Thông thường khi 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át hiện. Các phát hiện Instantaneous Excitement được điều chỉnh để cung cấp giá trị đầu ra chính xác hơn phản ánh những thay đổi ngắn của sự phấn khích trong thời gian ngắn là vài giây 23 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. .24 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ăng lê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ên quan đế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ết quả 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ầu phả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ực mớ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ản phẩm tương tự nhau .24 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 Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 8 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 Wrapper40 Hình 25: Biểu đồ phân cấp chức năng 41 Hình 26 : Biểu đồ luồng dữ liệu mức khung cảnh 43 Hình 27: Biểu đồ luồng dữ liệu mức đỉnh .43 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ũ 44 Hình 29: Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng mô phỏng các 45 hành động Expressiv .45 Hình 30: Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng mô phỏng các .46 trạng thái Affectiv .46 Hình 31 : Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng mô phỏng sự 47 thay đổi vị chí của mũ EPOC 47 Hình 32 : Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng mô phỏng các .48 hành động Cognitiv .48 Hình 33 : Biểu đồ luồng dữ liệu mức dưới đỉnh – Chức năng điều khiển .49 video bằng suy nghĩ .49 Hình 34: Mô phỏng trạng thái tín hiệu các điện cực .50 Hình 35 : Hình mô phỏng các hành động Expressiv .51 Hình 36 : Hình mô phỏng các trạng thái Affectiv 52 Hình 37 : Hình mô phỏng các hành động Cognitiv 53 Hình 38 : Hành động push – đẩy vào .54 Hình 39 : Hành động pull – kéo ra 55 Hình 40 : Hành động left – đẩy sang trái .56 Hình 41:Hành động lift – kéo lên trên .57 Hình 42: Hình mô phỏng vị trí trong không gian của mũ EPOC .58 Hình 43: Điều khiển video bằng suy nghĩ .59 Hình 44 : Tích hợp mũ EPOC sử dụng công nghệ đám mây .63 Hình 45 : Game có sử dụng mũ EPOC 64 Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 9 Hinh 46 : Game sử dụng mũ EPOC 65 Sinh viên thực hiện: Ngô Văn Khoa - 20061669 - K51 - Lớp CNPM 10