ĐẠI HỌC Đ À NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel. (84 - 236 ) 3736949 Website: itf.dut.edu.vn , E - mail: cntt@dut.udn.vn ĐỒ ÁN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG NHẬN DIỆN CẢM XÚC SINH VIÊN : LÊ TRỌNG TÀI MÃ SINH VIÊN : 1021 50130 LỚP : 1 5T2 CBHD : TS. Phạm Minh Tuấn Đà Nẵng, 12/201 9 1 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP 1. Thông tin chung: 1. Họ và tên sinh viên: LÊ TRỌNG TÀI 2. Lớp: 15T2 Số thẻ SV: 102150130 3. Tên đề tài: Xây dựng ứng dụng di động nhận diện cảm xúc. 4. Người hướng dẫn : Phạm Minh Tuấn Học hàm/ h ọc vị: Tiến sĩ. II. Nhận xét, đánh giá đồ án tốt nghiệp: 1. Về tính cấp thiết, tính mới, khả năng ứng dụng của đề tài: (điểm tối đa là 2đ) ………………………… ………………………………………………………… ………… …………………………………………………………………………………… ………… 2. Về kết quả giải quyết các nội dung nhiệm vụ yêu cầu của đồ án: (điểm tối đa là 4đ) ………………………………………………………………………………… …………… …………………………………………………………………………………… ………… 3. Về hình thức, cấu trúc, bố cụ c của đồ án tốt nghiệp: (điểm tối đa là 2đ) …………………………………………………………………………………… ………… …………………………………………………………………………………… ………… 4. Đề tài có giá trị khoa học/ có bài báo/ giải quyết vấn đề đặt ra của doanh nghiệp hoặc nhà trường: (điểm tối đa là 1đ) ………………………………………… ………………………………………… ………… …………………………………………………………………………………… ………… 5. Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: …………………………………………………………………………………… ………… …………………………………………………………………………………… ………… III. Tinh thần, thái độ làm việc của sinh viên: (điểm tối đa 1đ) …………………………………………………………………………………… ………… IV. Đánh giá: 1. Điểm đánh giá: …………/ 10 (lấy đến 1 số lẻ thập phân) 2. Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không được bảo vệ Đà Nẵng, ngày tháng năm 201 9 Người hướng dẫn 2 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP I. Thông tin chung: 1. Họ và tên sinh viên: LÊ TRỌNG TÀI 2. Lớp: 15T2 Số thẻ SV: 102150130 3. Tên đề tài: Xây dựng ứng dụng di động nhận diện cảm xúc 4. Người phản biện: ………… ……………………….………… Học hàm/ học vị: ………. II. Nhận xét, đánh giá đồ án tốt nghiệp: TT Các tiêu chí đánh giá Điểm tối đa Điểm đánh giá 1 Sinh viên có phương pháp nghiên cứu phù hợp, giải quyết đủ nhiệm vụ đồ án được giao 80 1a - Tính mới (nội dung chính của ĐATN có những phần mới so với các ĐATN trước đây). - Đề tài có giá trị khoa học, công nghệ; có thể ứng dụng thực tiễn. 15 1b - Kỹ năng giải quyết vấn đề; hiểu, vận dụng được kiến thức cơ bản, cơ sở, chuyên ngành trong vấn đề nghiên cứu. - Chất lượng nội dung ĐATN (thuyết minh, bản vẽ, chương trình, mô hình …). 50 1c - Có kỹ năng vận dụng thành thạo các phần mềm ứng dụng trong vấn đề nghiên cứu; - Có kỹ năng đọc, hiểu tài liệu bằng tiếng nước ngoài ứng dụng trong vấn đề nghiên cứu; - Có kỹ năng làm việc nhóm; 15 2 Kỹ năng viết: 20 2a - Bố cục hợp lý, lập luận rõ ràng, chặt chẽ, lời văn súc tích 15 2b - Thuyết minh đồ án không có lỗi chính tả, in ấn, định dạng 5 3 Tổng điểm đánh giá theo thang 100: Quy về thang 10 (lấy đến 1 số lẻ) - Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ………………………………… …………… ………………………………………………………………………………… …………… - Câu hỏi đề nghị sinh viên trả lời trong buổi bảo vệ: ………………………… ……………. …………………………………………………………………………………… ………… …………………………………………………………………………………… ………… - Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không được bảo vệ Đà Nẵng, ngày tháng năm 20 19 Người phản biện 3 TÓM TẮT Tên đề tài: XÂY DỰNG ỨNG DỤNG DI ĐỘNG NHẬN DIỆN CẢM XÚC. Sinh viên thực hiện: Lê Trọng Tài Số thẻ SV: 1021 50130 Lớp: 15T2 Người hướng dẫn: TS. Phạm Minh Tuấn Hệ thống bao gồm: - Ứng dựng di động nhận diện cảm xúc trên hệ điều hành Android . Các chức năng chính: - Nhận diện cảm xúc thông qua các bức ảnh có chứa khuôn mặt con người. - Gợi ý các thực phẩm nên ăn/uống tuỳ theo tâm trạng. - Quản lý tài khoản. 4 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN 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Ụ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Lê Trọng Tài Số thẻ sinh viên: 1021 50130 Lớp: 1 5T2 Khoa: Công nghệ thông tin Ngành: Công nghệ thông tin 1. Tên đề tài đồ án: Xây dựng ứng dụng di động nhận diện cảm xúc Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện 2. Các số liệu và dữ liệu ban đầu: ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... 3. Nội dung các phần thuyết minh và tính toán: ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... 4. Các bản vẽ, đồ thị (ghi rõ các loại và kích thước bản vẽ): ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... 5. Họ tên người hướng dẫn: T S. Phạm Minh Tuấn ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... ................................ ................................ ................................ ................................ .................... 6. Ngày giao nhiệm vụ đồ án: 06 / 09 /2019 7. Ngày hoàn thành đồ án: 19 / 12 /2019 Đà Nẵng, ngày tháng năm 201 9 Trưởng Bộ môn ………………… Người hướng dẫn 5 LỜI NÓI ĐẦU Trong su ố t th ờ i gian th ự c hi ệ n v à ho à n th à nh đ ồ á n n à y, em đ ã nh ậ n đ ư ợ c s ự gi ú p đ ỡ v à h ư ớ ng d ẫ n t ậ n t ì nh c ủ a c á c Th ầ y, c á c C ô v à c á c b ạ n trong Khoa C ô ng ngh ệ Th ô ng tin Tr ư ờ ng Đ ạ i h ọ c B á ch khoa - Đ ạ i h ọ c Đ à N ẵ ng. C h ú ng em xin g ử i l ờ i c ả m ơ n ch â n th à nh v à s â u s ắ c t ớ i c á c Th ầ y C ô trong Khoa đ ã gi ả ng d ạ y v à truy ề n đ ạ t nh ữ ng ki ế n th ứ c c ầ n thi ế t, nh ữ ng kinh nghi ệ m qu ý b á u cho ch ú ng em c ó th ể th ự c hi ệ n đ ồ á n n à y. Tr ư ớ c ti ê n em xin ch â n th à nh c ả m ơ n Th ầ y Phạm Minh Tuấn t ậ n t ì nh h ư ớ ng d ẫ n, ch ỉ b ả o, đ ộ ng vi ê n v à h ỗ tr ợ em trong su ố t qu á tr ì nh th ự c hi ệ n đ ề t à i n à y. Trong th ờ i gian l à m đ ồ á n c ù ng Th ầ y, em kh ô ng nh ữ ng h ọ c h ỏ i đ ư ợ c nh ữ ng ki ế n th ứ c m à c ò n h ọ c h ỏ i đ ư ợ c kh ả n ă ng l à m vi ệ c nghi ê m t ú c, k ỹ n ă ng l à m vi ệ c nh ó m v à c ó tr á ch nhi ệ m v ớ i c ô ng vi ệ c c ủ a m ì nh. Đ ể c ó đ ư ợ c k ế t qu ả nh ư ng à y h ô m nay, em r ấ t bi ế t ơ n gia đ ì nh v à nh ữ ng ng ư ờ i th â n trong gia đ ì nh đ ã đ ộ ng vi ê n, kh í ch l ệ , t ạ o m ọ i đi ề u ki ệ n thu ậ n l ợ i nh ấ t v ề v ậ t ch ấ t l ẫ n tinh th ầ n trong su ố t qu á tr ì nh h ọ c t ậ p c ũ ng nh ư qu á tr ì nh th ự c hi ệ n đ ề t à i t ố t nghi ệ p n à y. M ặ c d ù đ ã c ó c ố g ắ ng ho à n thi ệ n đ ồ á n trong ph ạ m vi v à kh ả n ă ng cho ph é p nh ư ng kh ô ng tr á nh kh ỏ i nh ữ ng thi ế u s ó t, r ấ t mong nh ậ n đ ư ợ c s ự c ả m th ô ng v à g ó p ý c ủ a qu ý Th ầ y C ô v à c á c b ạ n. Ch ú ng em ch â n th à nh c ả m ơ n! Đà Nẵng, ngày 19 , tháng 12 , năm 201 9 Sinh viên Lê Trọng Tài 6 LỜI CAM ĐOAN Em xin cam đoan: 1. Nội dung trong đồ án này là do em thực hiện dưới sự hướng dẫn trực tiếp của TS. Phạm Minh Tuấn . 2. Các tham khảo dùng trong báo cáo đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. 3. Nếu có những sao chép không hợp lệ, vi phạm, em xin chịu hoàn toàn trách nhiệm. Đà Nẵng, Ngày 19 tháng 12 năm 2019 Sinh viên thực hiện Lê Trọng Tài 7 Mục lục TÓM TẮT ................................ ................................ ................................ ................................ 3 LỜI NÓI ĐẦU ................................ ................................ ................................ ......................... 5 LỜI CAM ĐOAN ................................ ................................ ................................ .................... 6 MỤC LỤC ................................ ................................ ................................ ............................... 7 DANH SÁCH HÌNH ẢNH ................................ ................................ ................................ ...... 9 DANH SÁCH BẢNG ................................ ................................ ................................ ............ 11 DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT ................................ ................................ 12 MỞ ĐẦU ................................ ................................ ................................ ............................... 13 CHƯƠNG I. CƠ SỞ LÝ THUYẾT ................................ ................................ ....................... 14 1.1. Mạng nơ - ron nhân tạo (ANN) ................................ ................................ ..................... 14 1.1.1. Định nghĩa: ................................ ................................ ................................ ........... 14 1.1.2. Một số hàm truyền thông dụng: ................................ ................................ ........... 15 1.1.3. Một s ố hình trạng của mạng nơ - ron nhân tạo: ................................ ..................... 17 1.1.4. Mạng nơ - ron lan truyền ngược: ................................ ................................ ............ 18 1.2. Mạng nơ - ron tích chập (CNN) ................................ ................................ .................... 22 1.2.1. Định nghĩ mạng nơ - ron tích chập ................................ ................................ ......... 22 1.2.2. Convolution (tích chập) ................................ ................................ ........................ 22 1.2.3. Mạng nơ - ron tích chập ................................ ................................ ......................... 26 1.3 . Ngôn ngữ và công cụ lập trình Android ................................ ................................ ...... 26 1.3.1. Giới thiệu về Android ................................ ................................ ........................... 26 1.3.2. Kiến trúc cơ bản của hệ điều hành Android ................................ ......................... 26 1.3.3. Giới thiệu về Andro id Studio ................................ ................................ ............... 27 1.3.4. Mô hình MVP trong Android ................................ ................................ ............... 28 1.4 . Ngôn ngữ lập trình Pyhon ................................ ................................ ........................... 29 1.4. 1. Giới thiệu về ngôn ngữ Python ................................ ................................ ............. 29 1.4.2. Ưu điểm của việc sử dụng ngôn ngữ Python ................................ ....................... 29 1.4.3. Giới thiệu về Pycharm ................................ ................................ .......................... 30 1.5. Hệ quản trị cơ sở dữ liệu PostgreSQL ................................ ................................ ........ 30 1.6. Mô hình REST API ................................ ................................ ................................ ..... 31 1.6.1. REST API là gì? ................................ ................................ ................................ ... 31 1.6.2. Các thành phần trong REST API ................................ ................................ ......... 31 1.6.3. Quy trình hoạt động của mô hình REST API trong dự án ................................ ... 32 1.6.4. Ưu nhược điểm của REST API ................................ ................................ ............ 32 CHƯƠNG II. PHÂN TÍCH T H IẾT KẾ HỆ THỐNG ................................ ........................... 34 2.1. Phân tích yêu cầu: ................................ ................................ ................................ ....... 34 2.1.1. Mô tả bài toán ................................ ................................ ................................ ....... 34 2.1.2. Phân tích hiện trạng ................................ ................................ .............................. 34 2.1.3. Phân tích yêu cầu bài toán ................................ ................................ .................... 34 2.1.4. Phân tích tính khả thi ................................ ................................ ............................ 34 2.1.5. Xác định các chức năng của hệ thống ................................ ................................ .. 34 2.2.1. Tác nhân hệ thống ................................ ................................ ................................ 35 2.2.2. Sơ đồ hệ thống ................................ ................................ ................................ ...... 35 8 2.2.3. Biểu đồ ca sử dụng ................................ ................................ ............................... 36 2.2.4. Yêu cầu hệ thống ................................ ................................ ................................ .. 36 2.2.5. Biểu đồ hoạt động ................................ ................................ ................................ . 42 2.2.6. Biểu đồ tuần tự ................................ ................................ ................................ ..... 46 2.3. Xây dựng cơ sở dữ liệu ................................ ................................ ............................... 49 CHƯƠNG III: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ ................................ .................. 53 3.1. Triển khai hệ thống ................................ ................................ ................................ ..... 53 3.1.1. M ôi trường triển khai ................................ ................................ ........................... 53 3.1.2. Cài đặt môi trường ................................ ................................ ................................ 53 3.1.3. Tập dữ liệu: ................................ ................................ ................................ ........... 53 3.1.4. Xây dựn g mạng CNN: ................................ ................................ .......................... 54 3.2. Kết quả ................................ ................................ ................................ ........................ 55 3.2.1. Xử lí ảnh nhận diện cảm xúc: ................................ ................................ ............... 55 3.2.2. Ứng dụng: ................................ ................................ ................................ ............. 56 3.3. Đánh giá ................................ ................................ ................................ ...................... 67 3.3.1. Xử lí ảnh nhận diện cảm xúc: ................................ ................................ ............... 67 3.3.2. Ứng dụng: ................................ ................................ ................................ ............. 67 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................ ................................ ............. 68 1. Kết quả đạt được: ................................ ................................ ................................ ........... 68 2. Hạn chế: ................................ ................................ ................................ .......................... 68 3. Hướng phát triển: ................................ ................................ ................................ ........... 68 TÀI LIỆU THAM KHẢO ................................ ................................ ................................ ..... 69 9 DANH SÁCH HÌNH ẢNH Chương I Hình 1. 1 . Cấu tạo nơ - ron nhân tạo ................................ ................................ ................................ .... 14 Hình 1. 2 . Đồ thị hàm Sigmoid ................................ ................................ ................................ .......... 15 Hình 1. 3 . Đồ thị hàm tanh ................................ ................................ ................................ ................. 16 Hình 1. 4 . Đồ thị hàm ReLU ................................ ................................ ................................ .............. 16 Hình 1. 5 . Mạng nơ - ron truyền thẳng nhiều lớp ................................ ................................ ................. 17 Hình 1. 6 . Mạng nơ - ron hồi quy ................................ ................................ ................................ ......... 18 Hình 1. 7 . Mạng nơ - ron lan truyền ngược MLP ................................ ................................ ................ 19 Hình 1. 8 . Mô hình mạng nơ - ron lan truyền ngược. ................................ ................................ .......... 20 Hình 1. 9 . Ảnh mẫu đen trắng ban đầu. ................................ ................................ .............................. 22 Hình 1. 10 . Lấy mẫu ảnh ban đầu. ................................ ................................ ................................ ..... 23 Hình 1. 11 . Đặt kernel vào ma trận ảnh. ................................ ................................ ............................ 24 Hình 1. 12 . Thực hiện tích chập. ................................ ................................ ................................ ........ 24 Hình 1. 13 . Áp dụng padding cho ma trận ảnh. ................................ ................................ ................. 25 Hình 1. 14 . Kết quả phép tích chập trên ảnh. ................................ ................................ ..................... 25 Hình 1. 15 . Kiến trúc cơ bản của hệ điều hành Android. ................................ ................................ ... 27 Hình 1. 16 . Giao diện màn hình của Android Studio. ................................ ................................ ........ 28 Hình 1. 17 . Luồng dữ liệu trong mô hình MVP. ................................ ................................ ................ 29 Hình 1. 18 . Sơ đồ REST API. ................................ ................................ ................................ ............ 31 Hình 1. 19 . Quy tr ì nh ho ạ t đ ộ ng c ủ a REST API. ................................ ................................ ............... 32 Chương II Hình 2. 1 . Sơ đồ hệ thống. ................................ ................................ ................................ .................. 35 Hình 2. 2 . Biểu đồ ca sử dụng của hệ thống. ................................ ................................ ...................... 36 Hình 2. 3 . Biểu đồ hoạt động – đăng nhập. ................................ ................................ ........................ 42 Hình 2. 4 . Biểu đồ hoạt động – đăng kí ................................ ................................ .............................. 43 Hình 2. 5 . Biểu đồ hoạt động – nhận diên cảm xúc ................................ ................................ ........... 44 Hình 2. 6 . Biểu đồ hoạt động – cập nhật thông tin cá nhân ................................ ............................... 45 Hình 2. 7 . Biểu đồ hoạt động – cập nhật mậ t khẩu ................................ ................................ ............ 45 Hình 2. 8 . Biểu đồ tuần tự - đăng nhập ................................ ................................ .............................. 46 Hình 2. 9 . Biểu đồ tuần tự - đăng kí ................................ ................................ ................................ ... 47 Hình 2. 10 . Biểu đồ tuần tự - nhận diện cảm xúc ................................ ................................ ............... 48 Hình 2. 11 . Biểu đồ tuần tự - cập nhật thông tin cá nhân ................................ ................................ ... 48 Hình 2. 12 . Biểu đồ tuần tự - cập nhật mật khẩu. ................................ ................................ ............... 49 Hình 2. 13 . Bảng dữ li ệu – Users ................................ ................................ ................................ ....... 50 Hình 2. 14 . Bảng dữ liệu – Moods ................................ ................................ ................................ ..... 50 Hình 2. 15 . Bảng dữ liệu – Foods ................................ ................................ ................................ ...... 50 Hình 2. 16 . Bản dữ liệu – Food_Mood ................................ ................................ .............................. 50 Chương III Hình 3. 1 . Một số ảnh dùng để huấn luyện. ................................ ................................ ....................... 54 Hình 3. 2 . Kết quả sau mỗi bước huấn luyện ................................ ................................ ..................... 55 Hình 3. 3 . Biểu đồ kết quả huấn luyện. ................................ ................................ .............................. 55 Hình 3. 4. Kết quả theo cảm xúc ................................ ................................ ................................ ........ 56 Hình 3. 5 . Màn hình ban đầu của ứng dụng. ................................ ................................ ...................... 57 Hình 3. 6 . Màn hình Đăng nhập ................................ ................................ ................................ ......... 58 Hình 3. 7 . Màn hình đăng kí ................................ ................................ ................................ ............... 59 Hình 3 . 8 . Màn hình Trang chủ ................................ ................................ ................................ .......... 60 Hình 3. 9 . Màn hình More ................................ ................................ ................................ .................. 61 10 Hình 3. 10 . màn hình Tìm kiếm ................................ ................................ ................................ ......... 62 Hình 3. 11 . Màn hình chọn mở thư viện ảnh hoặc máy ảnh. ................................ ............................. 63 Hình 3. 12 . Màn hình hiển thị ảnh sau chụp hoặc chọn từ thư viện. ................................ .................. 64 Hình 3. 13 . Kết quả dự đoán cảm xúc ................................ ................................ ................................ 65 Hình 3. 14 . Màn hình gợi ý thực phẩm ................................ ................................ .............................. 66 11 DANH SÁCH BẢNG Chương I Chương II Bảng 2. 1 .Chức năng đăng nhập. ................................ ................................ ................................ ........ 34 Bảng 2 . 2 . Chức năng đăng kí. ................................ ................................ ................................ ........... 34 Bảng 2. 3 . Chức năng nhận diện cảm xúc ................................ ................................ .......................... 35 Bảng 2. 4 . Chức năng quản lí thông tin cá nhân ................................ ................................ ................ 35 Bảng 2. 5 . Chức năng đăng nhập. ................................ ................................ ................................ ....... 37 Bảng 2. 6 . Chức năng đăng kí. ................................ ................................ ................................ ........... 37 Bảng 2. 7 . Chức năng chụp ảnh từ camera thiết bị ................................ ................................ ............ 38 Bảng 2. 8 . Chức năng chọn ảnh từ thư viện thiết bị ................................ ................................ ........... 38 Bảng 2. 9 . Chức năng nhận diện cảm xúc ................................ ................................ .......................... 39 Bảng 2. 10 . Chức năng lấy gợi ý thực phẩm theo cảm xúc ................................ ................................ 39 Bảng 2. 11 . Chức năng tìm kiếm gợi ý thực phẩm theo cảm xúc ................................ ...................... 40 Bảng 2. 12 . Chức năng xem thông tin cá nhân ................................ ................................ .................. 40 Bảng 2. 13 . Chức năng cập nhật thông tin cá nhân. ................................ ................................ ........... 41 Bảng 2. 14 . Chức năng cập nhật mật khẩu. ................................ ................................ ........................ 41 Bảng 2. 15 . Bảng dữ liệu – Users ................................ ................................ ................................ ....... 51 Bảng 2. 16 . Bảng dữ liệu – Mood ................................ ................................ ................................ ...... 51 Bảng 2. 17 . Bảng dữ liệu – Food ................................ ................................ ................................ ........ 52 Bả ng 2. 18 . Bảng dữ liệu - quan hệ Food_Mood ................................ ................................ ............... 52 Chương III Bảng 3. 1 . Kết quả đạt được ................................ ................................ ................................ ............... 67 12 DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT Từ viết tắt Diễn giải ANN Artificial nơ - ron network API Application Programming Interface BPN Back Propagation Network CNN Convolutional nơ - ron network MLP Multi Layer Perceptron MVP Model – View - Presenter REST Representation State Transfer Xây dựng ứng dụng di động nhận diện cảm xúc 13 SVTH: Lê Trọng Tài GVHD: TS. Phạm Minh Tuấn MỞ ĐẦU 1 . 1. Bối cảnh chọn đề tài Ngày nay, khi công nghệ ngày càng phát triển, mỗi người đều có cho mình chiếc điện thoại di động bên mình với những chức năng tối tân: truy cập mạng, xem phim, chụp ảnh... Từ đó, các mạng xã hội cũng ngày càng xuất hiện nhiều để đáp ứng nhu cầu chia sẻ cho ngư ời dùng, đặc biệt là chia sẻ các bức ảnh. Trong vài năm gần đây, trí tuệ nhân tạo nổi lên như một lĩnh vực tiềm năng và nó đã được chứng minh tính ứng dụng cao thông qua các lĩnh vực khác nhau, trong đó có ngành thị giác máy tính . Từ bối cảnh đó, em đã qu yết định nghiên cứu và phát triển một ứng dụng cho phép tận dụng các yếu tố kể trên để phục vụ cho người dùng. 1. 2. Mục đích của đề tài Xây dựng ứng dụng di động nhận diên cảm xúc thông qua các bức ảnh chứa khuôn mặt con người ứng dụng mạng nơ - ron tích chập nhằm mục đích: - Mỗi người dùng có thể tìm các thực phẩm phù hợp với cảm xúc để tiết chế, kích thích cảm xúc. 1. 3. Nội dung của đề tài Những công việc cần thực hiện để hoàn thành đề tài bao gồm: - T ì m hiểu về mạng nơ - ron nhân tạo (ANN) và mạng nơ - r on tích chập (CNN). - Ứng dụng mạng CNN để xây dựng ứng dụng di động nhận diện cảm xúc - Phân tích và thiết kế hệ thống thông tin. - Tìm hiểu công nghệ cần sử dụng và ngôn ngữ kết nối cơ sở dữ liệu. - Thiết kế cơ sở dữ liệu. - Xây dựng ứng dụng với các chức năng chính. 1. 4 . Phạm vi sử dụng của đề tài Việc tìm hiểu mạng CNN có thể áp dụng và nhiều mục đích khác nhau nhưng trong phạm vi đồ án này, em chỉ áp dụng để xây dựng ứng dụng di động nhận diện cảm xúc thông qua các bức ảnh . Ứng dụng nhận diện cảm xúc có thể áp dụng được cho mọi đối tượng người dùng, t ừ trẻ em, người lớn đến người già. 1. 5. Bố cục của đề tài Mở đầu Chương 1: Cơ sở lý thuyết Chương 2: Phân tích và thiết kế hệ thống Chương 3: Triển khai và đánh gi á kết quả K ết luận và hướng phát triển . Xây dựng ứng dụng di động nhận diện cảm xúc 14 SVTH: Lê Trọng Tài GVHD: TS. Phạm Minh Tuấn CHƯƠNG I. CƠ SỞ LÝ THUYẾT 1.1. Mạng nơ - ron nhân tạo (ANN) 1.1.1. Định nghĩa: Mạng nơ - ron nhân tạo, Artificial N eural Network (ANN) , là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơ - ron sinh học. Nó đ ượ c tạo nên từ một số l ư ợng lớn các phần tử ( nơ - ron ) kết nối với nhau thông qua các liên kết (trọng số liên kết) làm việc nh ư một thể thống nhất để giải quyết một vấn đề cụ thể nào đó. Một mạng nơ - ron nhân tạo đ ư ợc cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, … ) thông qua một quá trình học từ tập các mẫu huấn luyện. Cấu trúc nơ - ron nhân tạo: Hình 1. 1 . Cấu tạo nơ - ron nhân tạo Các thành phần cơ bản của một nơ - ron nhân tạo bao gồm: - Tập các đầu vào: là các tín hiệu vào (input signials) của nơ - ron , các tín hiệu này thường được đưa vào dưới dạng một vector nhiều chiều - Tập các liên kết: mỗi liên kết được thể hiện bằng một trọng số liên kết (Synaptic weight). Trọng số liên kết giữa tín hiệu vào thứ j với nơ - ron k thường đ ược kí hiệu là W kj . Thông thường, các trọng số n ày được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mảng và được cập nh ật liên tục trong quá trình học - Bộ tổng (Summing function): thường dùng để tính tổng tích các đầu vào và trọng số liên kết của nó. - Ngưỡng (còn gọi là độ l ệ ch – bias): thường được đưa vào như một thành phần của hàm truyền. - Hàm truyền (Transfer function): được dùng để giới hạn phạm vi đầu ra của mỗi nơ - ron . Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng. - Đầu ra: là tín hiệu đầu ra của một nơ - ron , với mỗi nơ - ron sẽ có tối đa là một đầu ra. Xét về mặt toán học, cấu trúc của mộ t nơ - ron được mô tả bằng cặp biểu thức sau:
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel (84-236) 3736949 Website: itf.dut.edu.vn, E-mail: cntt@dut.udn.vn ĐỒ ÁN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG NHẬN DIỆN CẢM XÚC SINH VIÊN MÃ SINH VIÊN LỚP CBHD : LÊ TRỌNG TÀI : 102150130 : 15T2 : TS Phạm Minh Tuấn Đà Nẵng, 12/2019 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP Thông tin chung: Họ tên sinh viên: LÊ TRỌNG TÀI Lớp: 15T2 Số thẻ SV: 102150130 Tên đề tài: Xây dựng ứng dụng di động nhận diện cảm xúc Người hướng dẫn: Phạm Minh Tuấn Học hàm/ học vị: Tiến sĩ II Nhận xét, đánh giá đồ án tốt nghiệp: Về tính cấp thiết, tính mới, khả ứng dụng đề tài: (điểm tối đa 2đ) ……………………………………………………………………………………………… ……………………………………………………………………………………………… Về kết giải nội dung nhiệm vụ yêu cầu đồ án: (điểm tối đa 4đ) ……………………………………………………………………………………………… ……………………………………………………………………………………………… Về hình thức, cấu trúc, bố cục đồ án tốt nghiệp: (điểm tối đa 2đ) ……………………………………………………………………………………………… ……………………………………………………………………………………………… Đề tài có giá trị khoa học/ có báo/ giải vấn đề đặt doanh nghiệp nhà trường: (điểm tối đa 1đ) ……………………………………………………………………………………………… ……………………………………………………………………………………………… Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ……………………………………………………………………………………………… ……………………………………………………………………………………………… III Tinh thần, thái độ làm việc sinh viên: (điểm tối đa 1đ) ……………………………………………………………………………………………… IV Đánh giá: Điểm đánh giá:…………/10 (lấy đến số lẻ thập phân) Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không bảo vệ Đà Nẵng, ngày tháng năm 2019 Người hướng dẫn ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP I Thông tin chung: Họ tên sinh viên: LÊ TRỌNG TÀI Lớp: 15T2 Số thẻ SV: 102150130 Tên đề tài: Xây dựng ứng dụng di động nhận diện cảm xúc Người phản biện: ………………………………….………… Học hàm/ học vị: ……… II Nhận xét, đánh giá đồ án tốt nghiệp: TT Các tiêu chí đánh giá 1a 1b 1c 2a 2b Sinh viên có phương pháp nghiên cứu phù hợp, giải đủ nhiệm vụ đồ án giao - Tính (nội dung ĐATN có phần so với ĐATN trước đây) - Đề tài có giá trị khoa học, cơng nghệ; ứng dụng thực tiễn - Kỹ giải vấn đề; hiểu, vận dụng kiến thức bản, sở, chuyên ngành vấn đề nghiên cứu - Chất lượng nội dung ĐATN (thuyết minh, vẽ, chương trình, mơ hình …) - Có kỹ vận dụng thành thạo phần mềm ứng dụng vấn đề nghiên cứu; - Có kỹ đọc, hiểu tài liệu tiếng nước ngồi ứng dụng vấn đề nghiên cứu; - Có kỹ làm việc nhóm; Kỹ viết: - Bố cục hợp lý, lập luận rõ ràng, chặt chẽ, lời văn súc tích - Thuyết minh đồ án khơng có lỗi tả, in ấn, định dạng Tổng điểm đánh giá theo thang 100: Quy thang 10 (lấy đến số lẻ) Điểm Điểm tối đa đánh giá 80 15 50 15 20 15 - Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ……………………………………………… ……………………………………………………………………………………………… - Câu hỏi đề nghị sinh viên trả lời buổi bảo vệ: ……………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… - Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không bảo vệ Đà Nẵng, ngày tháng năm 2019 Người phản biện TÓM TẮT Tên đề tài: XÂY DỰNG ỨNG DỤNG DI ĐỘNG NHẬN DIỆN CẢM XÚC Sinh viên thực hiện: Lê Trọng Tài Số thẻ SV: 102150130 Lớp: 15T2 Người hướng dẫn: TS Phạm Minh Tuấn Hệ thống bao gồm: - Ứng dựng di động nhận diện cảm xúc hệ điều hành Android Các chức chính: - Nhận diện cảm xúc thơng qua ảnh có chứa khn mặt người - Gợi ý thực phẩm nên ăn/uống tuỳ theo tâm trạng - Quản lý tài khoản ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Lê Trọng Tài Số thẻ sinh viên: 102150130 Lớp: 15T2 Khoa: Công nghệ thông tin Ngành: Công nghệ thông tin Tên đề tài đồ án: Xây dựng ứng dụng di động nhận diện cảm xúc Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ kết thực Các số liệu liệu ban đầu: Nội dung phần thuyết minh tính tốn: Các vẽ, đồ thị (ghi rõ loại kích thước vẽ): Họ tên người hướng dẫn: TS Phạm Minh Tuấn Ngày giao nhiệm vụ đồ án: 06/09/2019 Ngày hoàn thành đồ án: 19/12/2019 Đà Nẵng, ngày tháng năm 2019 Trưởng Bộ mơn ………………… Người hướng dẫn LỜI NĨI ĐẦU Trong suốt thời gian thực hoàn thành đồ án này, em đã nhận giúp đỡ hướng dẫn tận tình Thầy, Cơ bạn Khoa Công nghệ Thông tin Trường Đại học Bách khoa - Đại học Đà Nẵng Chúng em xin gửi lời cảm ơn chân thành sâu sắc tới Thầy Cô Khoa đã giảng dạy truyền đạt kiến thức cần thiết, kinh nghiệm quý báu cho chúng em thực đồ án Trước tiên em xin chân thành cảm ơn Thầy Phạm Minh Tuấn tận tình hướng dẫn, bảo, động viên hỗ trợ em suốt trình thực đề tài Trong thời gian làm đồ án cùng Thầy, em học hỏi kiến thức mà còn học hỏi khả làm việc nghiêm túc, kỹ làm việc nhóm có trách nhiệm với cơng việc Để có kết ngày hôm nay, em biết ơn gia đình người thân gia đình đã động viên, khích lệ, tạo điều kiện thuận lợi vật chất lẫn tinh thần suốt trình học tập cũng trình thực đề tài tốt nghiệp Mặc dù đã có cố gắng hồn thiện đồ án phạm vi khả cho phép khơng tránh khỏi thiếu sót, mong nhận cảm thơng góp ý q Thầy Cô bạn Chúng em chân thành cảm ơn! Đà Nẵng, ngày 19, tháng 12, năm 2019 Sinh viên Lê Trọng Tài LỜI CAM ĐOAN Em xin cam đoan: Nội dung đồ án em thực hướng dẫn trực tiếp TS Phạm Minh Tuấn Các tham khảo dùng báo cáo trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Nếu có chép khơng hợp lệ, vi phạm, em xin chịu hoàn toàn trách nhiệm Đà Nẵng, Ngày 19 tháng 12 năm 2019 Sinh viên thực Lê Trọng Tài Mục lục TÓM TẮT LỜI NÓI ĐẦU LỜI CAM ĐOAN MỤC LỤC DANH SÁCH HÌNH ẢNH DANH SÁCH BẢNG 11 DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT 12 MỞ ĐẦU 13 CHƯƠNG I CƠ SỞ LÝ THUYẾT 14 1.1 Mạng nơ-ron nhân tạo (ANN) 14 1.1.1 Định nghĩa: 14 1.1.2 Một số hàm truyền thông dụng: 15 1.1.3 Một số hình trạng mạng nơ-ron nhân tạo: 17 1.1.4 Mạng nơ-ron lan truyền ngược: 18 1.2 Mạng nơ-ron tích chập (CNN) 22 1.2.1 Định nghĩ mạng nơ-ron tích chập 22 1.2.2 Convolution (tích chập) 22 1.2.3 Mạng nơ-ron tích chập 26 1.3 Ngôn ngữ cơng cụ lập trình Android 26 1.3.1 Giới thiệu Android 26 1.3.2 Kiến trúc hệ điều hành Android 26 1.3.3 Giới thiệu Android Studio 27 1.3.4 Mơ hình MVP Android 28 1.4 Ngôn ngữ lập trình Pyhon 29 1.4.1 Giới thiệu ngôn ngữ Python 29 1.4.2 Ưu điểm việc sử dụng ngôn ngữ Python 29 1.4.3 Giới thiệu Pycharm 30 1.5 Hệ quản trị sở liệu PostgreSQL 30 1.6 Mô hình REST API 31 1.6.1 REST API gì? 31 1.6.2 Các thành phần REST API 31 1.6.3 Quy trình hoạt động mơ hình REST API dự án 32 1.6.4 Ưu nhược điểm REST API 32 CHƯƠNG II PHÂN TÍCH THIẾT KẾ HỆ THỐNG 34 2.1 Phân tích yêu cầu: 34 2.1.1 Mô tả toán 34 2.1.2 Phân tích trạng 34 2.1.3 Phân tích u cầu tốn 34 2.1.4 Phân tích tính khả thi 34 2.1.5 Xác định chức hệ thống 34 2.2.1 Tác nhân hệ thống 35 2.2.2 Sơ đồ hệ thống 35 2.2.3 Biểu đồ ca sử dụng 36 2.2.4 Yêu cầu hệ thống 36 2.2.5 Biểu đồ hoạt động 42 2.2.6 Biểu đồ 46 2.3 Xây dựng sở liệu 49 CHƯƠNG III: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 53 3.1 Triển khai hệ thống 53 3.1.1 Môi trường triển khai 53 3.1.2 Cài đặt môi trường 53 3.1.3 Tập liệu: 53 3.1.4 Xây dựng mạng CNN: 54 3.2 Kết 55 3.2.1 Xử lí ảnh nhận diện cảm xúc: 55 3.2.2 Ứng dụng: 56 3.3 Đánh giá 67 3.3.1 Xử lí ảnh nhận diện cảm xúc: 67 3.3.2 Ứng dụng: 67 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68 Kết đạt được: 68 Hạn chế: 68 Hướng phát triển: 68 TÀI LIỆU THAM KHẢO 69 DANH SÁCH HÌNH ẢNH Chương I Hình 1 Cấu tạo nơ-ron nhân tạo 14 Hình Đồ thị hàm Sigmoid 15 Hình Đồ thị hàm 16 Hình Đồ thị hàm ReLU 16 Hình Mạng nơ-ron truyền thẳng nhiều lớp .17 Hình Mạng nơ-ron hồi quy 18 Hình Mạng nơ-ron lan truyền ngược MLP 19 Hình Mơ hình mạng nơ-ron lan truyền ngược 20 Hình Ảnh mẫu đen trắng ban đầu .22 Hình 10 Lấy mẫu ảnh ban đầu 23 Hình 11 Đặt kernel vào ma trận ảnh 24 Hình 12 Thực tích chập 24 Hình 13 Áp dụng padding cho ma trận ảnh .25 Hình 14 Kết phép tích chập ảnh 25 Hình 15 Kiến trúc hệ điều hành Android .27 Hình 16 Giao diện hình Android Studio 28 Hình 17 Luồng liệu mơ hình MVP 29 Hình 18 Sơ đồ REST API 31 Hình 19 Quy trình hoạt động REST API 32 Chương II Hình Sơ đồ hệ thống 35 Hình 2 Biểu đồ ca sử dụng hệ thống 36 Hình Biểu đồ hoạt động – đăng nhập 42 Hình Biểu đồ hoạt động – đăng kí 43 Hình Biểu đồ hoạt động – nhận diên cảm xúc 44 Hình Biểu đồ hoạt động – cập nhật thông tin cá nhân .45 Hình Biểu đồ hoạt động – cập nhật mật 45 Hình Biểu đồ - đăng nhập 46 Hình Biểu đồ - đăng kí 47 Hình 10 Biểu đồ - nhận diện cảm xúc .48 Hình 11 Biểu đồ - cập nhật thông tin cá nhân 48 Hình 12 Biểu đồ - cập nhật mật 49 Hình 13 Bảng liệu – Users .50 Hình 14 Bảng liệu – Moods .50 Hình 15 Bảng liệu – Foods 50 Hình 16 Bản liệu – Food_Mood 50 Chương III Hình Một số ảnh dùng để huấn luyện 54 Hình Kết sau bước huấn luyện .55 Hình 3 Biểu đồ kết huấn luyện 55 Hình Kết theo cảm xúc 56 Hình Màn hình ban đầu ứng dụng 57 Hình Màn hình Đăng nhập 58 Hình Màn hình đăng kí .59 Hình Màn hình Trang chủ 60 Hình Màn hình More 61