NHẬN DẠNG CẢM XÚC KHUÔN MẶT SỬ DỤNG MẠNG NƠ RON TÍCH CHẬP

63 4 0
NHẬN DẠNG CẢM XÚC KHUÔN MẶT  SỬ DỤNG MẠNG NƠ RON TÍCH CHẬP

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trong kỷ nguyên công nghệ 4.0, cùng với sự bùng nổ của trí tuệ nhân tạo, đã có rất nhiều công trình nghiên cứu máy học được công bố. Trong đó, lĩnh vực thị giác máy tính nói chung cũng như nhận dạng hình ảnh nói riêng là một trong các lĩnh vực được rất đông người quan tâm hiện nay. Nhận dạng hình ảnh được ứng dụng rộng rãi trong cuộc sống hiện đại, từ ứng dụng trong quản lý nhân sự, sản phẩm,…đến ứng dụng cho các hệ thống an ninh, mang lại sự thuận tiện, an toàn hơn cho mọi người. Do vậy, nhận dạng hình ảnh là một lĩnh vực rất rất quan trọng. Một trong các bài toán quan trọng của nhận dạng hình ảnh đó là bài toán nhận dạng cảm xúc khuôn mặt. Cảm xúc khuôn mặt là một trong những phương thức quan trọng nhất để thể hiện cảm xúc của con người trong giao tiếp xã hội. Tự động nhận dạng biểu cảm khuôn mặt đã trở thành một chủ đề “yêu thích” trong lĩnh vực nghiên cứu thị giác máy tính. Việc ứng dụng nhận dạng biểu cảm khuôn mặt mang lại những lợi ích lớn, bao gồm tự động hoá các dịch vụ y tế, ngân hàng, quản lý dịch vụ khách hàng hiệu quả, phân tích phản hồi của khách hàng và có thể giúp xác định các hành vi đáng ngờ trong đám đông, có thể được sử dụng để ngăn chặn tội phạm tiềm tàng

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN -🙞🙜🕮🙞🙜 - ĐỒ ÁN CHUYÊN NGÀNH NGÀNH: KHOA HỌC MÁY TÍNH ĐỀ TÀI : NHẬN DẠNG CẢM XÚC KHUÔN MẶT SỬ DỤNG MẠNG NƠ RON TÍCH CHẬP Giảng viên hướng dẫn: TS Nguyễn Mạnh Cường Sinh viên thực hiện: Hoàng Lê Bách Mã SV: 2019600913 Lê Thế Đức Mã SV: 2019602129 Phùng Thị Hồng Mã SV: 2019605033 Mã lớp: 20231IT6052002 Nhóm: 10 Hà Nội - 2023 i MỤC LỤC DANH MỤC NHỮNG TỪ VIẾT TẮT iv DANH MỤC BẢNG BIỂU v DANH MỤC HÌNH ẢNH vi LỜI CẢM ƠN viii LỜI NÓI ĐẦU Chương BÀI TOÁN NHẬN DẠNG CẢM XÚC KHUÔN MẶT 1.1 Nhận dạng cảm xúc khuôn mặt là gì? 1.2 Quá trình phát triển của bài toán 1.3 Các thách thức vấn đề nhận dạng cảm xúc khuôn mặt 1.4 Mô tả bài toán Chương MỘT SỐ PHƯƠNG PHÁP NHẬN DẠNG CẢM XÚC KHUÔN MẶT 10 2.1 Support Vector Machine (SVM) 10 2.1.1 Khái niệm 10 2.1.2 Cách hoạt động 11 2.1.3 SVM với các nhân kernel 12 2.1.4 Ưu điểm của thuật toán 13 2.1.5 Nhược điểm của thuật toán 14 2.2 Thuật toán KNN 14 2.2.1 Khái niệm 14 2.3 Các bước thực hiện thuật toán KNN 15 2.3.1 Ưu điểm 16 2.3.2 Nhược điểm 16 ii 2.4 Mạng neuron tích chập (Convolutional Neural Network - CNN) 16 2.4.1 Khái niệm về CNN 16 2.4.2 Các lớp bản của CNN 17 2.4.3 Các hàm kích hoạt thường sử dụng 21 2.4.4 Ưu điểm của thuật toán 22 2.4.5 Nhược điểm của thuật toán 22 Chương THỰC NGHIỆM VỚI CNN 23 3.1 Môi trường thực nghiệm 23 3.2 Bộ dữ liệu thực nghiệm 23 3.2.1 Dữ liệu FER2013 24 3.2.2 Dữ liệu Cohn-Kanade mở rộng (CK+) 25 3.3 Tiền xử lý dữ liệu 27 3.3.1 Chuẩn hóa dữ liệu 27 3.3.2 Tăng cường dữ liệu 28 3.4 Xây dựng mô hình 29 3.5 Huấn luyện 31 3.6 Lưu mô hình 32 3.7 Đánh giá mô hình 33 3.8 Thử nghiệm dữ liệu thực tế 37 Chương CHƯƠNG TRÌNH DEMO 40 4.1 Giới thiệu về Framework sử dụng 40 4.2 Phân tích thiết kế hệ thống 41 4.2.1 Biểu đồ use case 41 4.2.2 Mô tả chi tiết use case 41 iii 4.3 Kết quả thử nghiệm ứng dụng 48 4.3.1 Nhận dạng bằng ảnh 48 4.3.2 Nhận dạng bằng camera 50 4.3.3 Xem dữ liệu và các kết quả huấn luyện với dữ liệu 51 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54 iv DANH MỤC NHỮNG TỪ VIẾT TẮT CNN Convolution Neural Networks ReLU Rectified Linear Unit SVM Support Vector Machine GPU Graphics Processing Unit FER Facial Emotion Recognition HIC Human-Computer Interaction AU Action Units FACS Facial Action Coding System KNN K-Nearest Neighbors v DANH MỤC BẢNG BIỂU Biểu đồ 3.1: Mô tả dữ liệu FER2013 24 Biểu đồ 3.2: Mô tả dữ liệu từ CK+ 26 Biểu đồ 3.3: Biểu đồ độ chính xác và mất mát quá trình huấn luyện với fer2013 34 Biểu đồ 3.4: Biểu đồ độ chính xác và mất mát quá trình huấn luyện với ck+ 34 Biểu đồ 3.5: Ma trận nhầm lẫn của mô hình huấn luyện bằng fer2013 37 Biểu đồ 3.6: Ma trận nhầm lẫn của mô hình huấn luyện bằng ck+ 37 Biểu đồ 4.1: Biều đồ use case tổng quát 41 vi DANH MỤC HÌNH ẢNH Hình 1.1: Hình minh họa cảm xúc bản của người Hình 1.2: Quy trình tiếp cận FER dựa CNN Hình 1.3: Cấu trúc tổng quan của hệ thống nhận dạng khuôn mặt Hình 2.1: SVM không gian hai chiều và ba chiều 10 Hình 2.2: Ví dụ về siêu phẳng phân tách dữ liệu 11 Hình 2.3: Minh họa dữ liệu phân tách tuyến tính và không phân tách tuyến tính 12 Hình 2.4: Dữ liệu ánh xạ vào không gian chiều để tăng khả phân tách tuyến tính 13 Hình 2.5: Mô hình các lớp bản của CNN 17 Hình 2.6: Ví dụ một mô hình CNN 18 Hình 2.7: Mô tả về lớp tích chập 19 Hình 2.8: Mô tả về lớp pooling (Kỹ thuật Max pooling) 20 Hình 2.9: Mô tả lớp kết nối đầy đủ 20 Hình 2.10: Đồ thị hàm ReLU 22 Hình 3.1: Minh họa từ bộ dữ liệu fer2013 25 Hình 3.2: Minh họa từ bộ dữ liệu CK+ 26 Hình 3.3: Hàm đọc và chuẩn hóa dữ liệu 27 Hình 3.4: Hàm tăng cường dữ liệu 28 Hình 3.5: Mô hình mạng CNN xây dựng 30 Hình 3.6: Huấn luyện mô hình 31 Hình 3.7: Quá trình huấn luyện với bộ dữ liệu FER2013 31 Hình 3.8: Quá trình huấn luyện với bộ dữ liệu CK+ 32 vii Hình 3.9: Lưu mô hình với bộ trọng số tốt nhất 32 Hình 3.10: Lưu cấu trúc của mô hình dưới dạng JSON 32 Hình 3.11: Lưu lịch sử huấn luyện của mô hình 33 Hình 3.12: Độ chính xác của mô hình huấn luyện bằng fer2013 tập kiểm thử 35 Hình 3.13: Độ chính xác của mô hình huấn luyện bằng ck+ tập kiểm thử 35 Hình 3.14: Báo cáo phân loại cho từng lớp của mô hình huấn luyện bằng fer2013 35 Hình 3.15: Báo cáo phân loại cho từng lớp của mô hình huấn luyện bằng ck+ 36 Hình 3.16: Ảnh thực tế chưa gắn nhãn 38 Hình 3.17: Nhận dạng bằng mô hình huấn luyện với fer2013 38 Hình 3.18: Nhận dạng bằng mô hình huấn luyện với ck+ 39 Hình 4.1: Giao diện người dùng khởi động của ứng dụng Streamlit 48 Hình 4.2: Giao diện ứng dụng sau tải ảnh lên 49 Hình 4.3: Giao diện ứng dụng sau click chọn nhận dạng cảm xúc 49 Hình 4.4: Giao diện ứng dụng nhận dạng bằng camera 50 Hình 4.5: Giao diện ứng dụng hiển thị kết quả nhận dạng qua camera theo thời gian thực 50 Hình 4.6: Thời gian dự đoán của mô hình CNN thử nghiệm thực tế 51 Hình 4.7: Màn hình chức xem dữ liệu 51 viii LỜI CẢM ƠN Để thực hiện hồn thành tớt đờ án chuyên ngành Khoa học máy tính, chúng em đã nhận sự giúp đỡ và hướng dẫn rất tận tình của thầy giáo Tiến Sỹ Nguyễn Mạnh Cường thuộc Khoa Công nghệ thông tin, trường Đại học Công Nghiệp Hà Nợi Với tình cảm sâu sắc chân thành, xin phép chúng em bày tỏ lòng biết ơn đến thầy Sự giúp đỡ sự đồng hành của thầy đã đóng vai trị vơ cùng quan trọng q trình nghiên cứu của chúng em Cả nhóm rất mong muốn nhận ý kiến đóng góp từ thầy để hồn thiện đề tài của chúng em Sự phản hời góp ý từ thầy giúp chúng em nắm bắt khía cạnh cần cải thiện phát triển thêm ý tưởng mới Chúng em rất trân trọng đóng góp và mong học hỏi thêm từ sự chuyên môn kinh nghiệm của thầy Chúng em xin chúc thầy dồi sức khoẻ, vui vẻ thành công cuộc sống Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực hiện Nhóm 10 LỜI NÓI ĐẦU Trong kỷ nguyên công nghệ 4.0, với sự bùng nở của trí ṭ nhân tạo, đã có rất nhiều cơng trình nghiên cứu máy học công bố Trong đó, lĩnh vực thị giác máy tính nói chung nhận dạng hình ảnh nói riêng một lĩnh vực rất đông người quan tâm hiện Nhận dạng hình ảnh ứng dụng rộng rãi cuộc sống hiện đại, từ ứng dụng quản lý nhân sự, sản phẩm,…đến ứng dụng cho hệ thống an ninh, mang lại sự thuận tiện, an toàn cho người Do vậy, nhận dạng hình ảnh mợt lĩnh vực rất rất quan trọng Mợt tốn quan trọng của nhận dạng hình ảnh đó là bài toán nhận dạng cảm xúc khuôn mặt Cảm xúc khuôn mặt một những phương thức quan trọng nhất để thể hiện cảm xúc của người giao tiếp xã hội Tự động nhận dạng biểu cảm khuôn mặt đã trở thành một chủ đề “yêu thích” lĩnh vực nghiên cứu thị giác máy tính Việc ứng dụng nhận dạng biểu cảm khn mặt mang lại những lợi ích lớn, bao gờm tự đợng hố dịch vụ y tế, ngân hàng, quản lý dịch vụ khách hàng hiệu quả, phân tích phản hời của khách hàng có thể giúp xác định các hành vi đáng ngờ đám đông, có thể sử dụng để ngăn chặn tội phạm tiềm tàng Trong đồ án chuyên ngành Khoa học máy tính, sâu vào bài toán nhận dạng cảm xúc khuôn mặt sử dụng mạng nơ-ron nhân tạo (CNN) Mục tiêu của đề tài nắm vững cách thức hoạt động của mạng CNN và các bước thực hiện để có thể nhận dạng cảm xúc khn mặt từ ảnh đầu vào Để làm điều đó, đờ án có cấu trúc gờm bớn chương: Chương 1: Mơ tả tốn nhận dạng cảm xúc khn mặt, từ khái niệm, lịch sử phát triển đến chi tiết của tốn Đờng thời trình bày về cấu trúc hệ thống nhận dạng khuôn mặt người để từ đó đưa các phương pháp nhận dạng phù hợp Chương 2: Trình bày về kỹ thuật có thể sử dụng để giải quyết toán Từ đó, lựa chọn kỹ thuật phù hợp nhất để nghiên cứu tiến hành áp dụng vào toán 40 Chương CHƯƠNG TRÌNH DEMO 4.1 Giới thiệu về Framework sử dụng Để xây dựng chương trình ứng dụng, chương này nhóm 10 chúng em sử dụng ngôn ngữ python với thư viện Streamlit Streamlit một thư viện Python mạnh mẽ thiết kế để tạo ứng dụng web tương tác mợt cách nhanh chóng dễ dàng Với Streamlit, việc xây dựng giao diện người dùng cho dữ liệu mơ hình khơng cịn thách thức lớn nữa Thay tập trung vào lập trình HTML hoặc CSS, chúng ta có thể tận hưởng sự phát triển nhanh chóng bằng cách sử dụng các hàm Python đơn giản để hiển thị dữ liệu và tương tác với người dùng Streamlit không đơn giản hóa q trình phát triển ứng dụng web mà mang lại trải nghiệm linh hoạt cho người dùng ći Bạn có thể dễ dàng tích hợp biểu đờ, bảng thành phần tương tác khác vào ứng dụng của mà khơng cần kiến thức chun sâu về giao diện người dùng Điều làm cho Streamlit trở thành cơng cụ u thích của nhà phân tích dữ liệu, nhà nghiên cứu những người ḿn nhanh chóng chia sẻ triển khai ứng dụng dựa Python một cách hiệu quả Đồng thời, cộng đồng người dùng của Streamlit phát triển, cung cấp nguồn lực hỗ trợ đáng kể cho những người mới làm quen với công nghệ 41 4.2 Phân tích thiết kế hệ thống 4.2.1 Biểu đồ use case Biểu đồ 4.1: Biều đồ use case tổng quát 4.2.2 Mô tả chi tiết use case 4.2.2.1 Mô tả use case Xem liệu Fer2013 Tên use case: Xem dữ liệu Fer2013 42 Mô tả tóm tắt: Use case cho phép người dùng xem bộ dữ liệu fer2013 Luồng sự kiện - Luồng bản: Người dùng có thể nhấp chọn nút “Xem dữ liệu” giao diện trang chủ để bắt đầu xem: 1.1 Người dùng nhấp chọn bộ dữ liệu “fer2013” giao diện trang chủ, hệ thống truy cập tới bộ dữ liệu thiết bị 1.2 Hệ thống hiển thị ảnh của biểu đờ dữ liệu fer2013 lên màn hình - L̀ng rẽ nhánh: Khơng có Các u cầu đặc biệt: Khơng có Tiền điều kiện: Người dùng đã chọn chế đợ “Xem dữ liệu” Hậu điều kiện: Khơng có Các điểm mở rợng: Khơng có 4.2.2.2 Mơ tả use case Xem dữ liệu CK+ Tên use case: Xem dữ liệu CK+ Mô tả tóm tắt: Use case cho phép người dùng nhận xem biểu đồ bộ dữ liệu CK+ 43 Luồng sự kiện - Luồng bản: 1 Người dùng có thể nhấp chọn nút “Xem dữ liệu” giao diện trang chủ để bắt đầu xem: Người dùng nhấp chọn bộ dữ liệu “ck+” giao diện trang chủ, hệ thống truy cập tới bộ dữ liệu thiết bị Hệ thống hiển thị ảnh của biểu đồ dữ liệu ck+ lên màn hình chính - L̀ng rẽ nhánh: Khơng có Các u cầu đặc biệt: Khơng có Tiền điều kiện: Người dùng đã chọn chế độ xem dữ liệu Hậu điều kiện: Không có Các điểm mở rợng: Khơng có 4.2.2.3 Mơ tả use case Nhận dạng ảnh với mơ hình h́n luyện Fer2013 Tên use case: Nhận dạng bằng ảnh với mô hình huấn luyện bằng Fer2013 Mô tả tóm tắt: Use case cho phép người dùng nhận dạng cảm xúc bằng mô hình huấn luyện Fer2013 với dữ liệu đầu vào là hình ảnh 44 Luồng sự kiện - L̀ng bản: Người dùng có thể nhấp chọn chế độ ứng dụng “Nhận dạng” giao diện trang chủ để thực hiện nhận dạng: Người dùng tiếp tục click chọn “Ảnh” để chọn chế độ nhận dạng bằng ảnh Người dùng tiếp tục click chọn “Fer2013” để chọn mô hình huấn luyện bằng bộ dữ liệu Fer2013 Thực hiện tải hình ảnh lên bằng cách click chọn “Browse files”, ảnh sau tải lên hiển thị phiên bản gốc Click chọn vào “Nhận dạng” và hệ thống thực hiện nhận diện khuôn mặt và hiển thị lên màn hỉnh ảnh có gắn nhãn cảm xúc - Luồng rẽ nhánh: Không có Các u cầu đặc biệt: Khơng có Tiền điều kiện: Người dùng đã chọn chế độ nhận dạng, nhận dạng bằng ảnh, bộ dữ liệu Fer2013 Hậu điều kiện: Khơng có Các điểm mở rợng: Khơng có 4.2.2.4 Mơ tả use case Nhận dạng ảnh với mơ hình huấn luyện CK+ Tên use case: Nhận dạng bằng ảnh với mô hình huấn luyện bằng CK+ Mô tả tóm tắt: Use case cho phép người dùng nhận dạng cảm xúc bằng mô hình huấn luyện CK+ với dữ liệu đầu vào là hình ảnh 45 Luồng sự kiện - L̀ng bản: 1 Người dùng có thể nhấp chọn chế độ ứng dụng “Nhận dạng” giao diện trang chủ để thực hiện nhận dạng: Người dùng tiếp tục click chọn “Ảnh” để chọn chế độ nhận dạng bằng ảnh Người dùng tiếp tục click chọn “ckextend” để chọn mô hình huấn luyện với bộ dữ liệu CK+ Thực hiện tải hình ảnh lên bằng cách click chọn “Browse files”, ảnh sau tải lên hiển thị phiên bản gốc Click chọn vào “Nhận dạng” và hệ thống thực hiện nhận diện khuôn mặt, sau đó hiển thị lên màn hình ảnh có gắn nhãn cảm xúc - Luồng rẽ nhánh: Khơng có Các u cầu đặc biệt: Khơng có Tiền điều kiện: Người dùng đã chọn chế đợ nhận dạng, nhận dạng bằng ảnh, bộ dữ liệu Fer2013 Hậu điều kiện: Khơng có Các điểm mở rợng: Khơng có 4.2.2.5 Mơ tả use case Nhận dạng camera với mơ hình h́n luyện Fer2013 Tên use case: Nhận dạng bằng camera với mô hình huấn luyện bằng Fer2013 Mô tả tóm tắt: Use case cho phép người dùng nhận dạng cảm xúc bằng mô hình huấn luyện Fer2013 với dữ liệu đầu vào là camera 46 Luồng sự kiện - Luồng bản: Người dùng có thể nhấp chọn chế đợ ứng dụng “Nhận dạng” giao diện trang chủ để thực hiện nhận dạng: Người dùng tiếp tục click chọn “Camera” để chọn chế độ nhận dạng bằng camera Người dùng tiếp tục click chọn “fer2013” để chọn mô hình huấn luyện với bộ dữ liệu fer2013 Thực hiện tải hình ảnh lên bằng cách click chọn “Start”, hình ảnh webcam hiển thị lên màn hình và cảm xúc thay đổi theo trạng thái khuôn mặt webcam - L̀ng rẽ nhánh: Khơng có Các u cầu đặc biệt: Khơng có Tiền điều kiện: Người dùng đã chọn chế độ nhận dạng, nhận dạng bằng camera, bợ dữ liệu Fer2013 Hậu điều kiện: Khơng có Các điểm mở rợng: Khơng có 4.2.2.6 Mơ tả use case Nhận dạng camera với mơ hình h́n luyện CK+ Tên use case: Nhận dạng bằng camera với mô hình huấn luyện bằng CK+ Mô tả tóm tắt: Use case cho phép người dùng nhận dạng cảm xúc bằng mô hình huấn luyện CK+ với dữ liệu đầu vào là camera 47 Luồng sự kiện - Luồng bản: Người dùng có thể nhấp chọn chế độ ứng dụng “Nhận dạng” giao diện trang chủ để thực hiện nhận dạng: Người dùng tiếp tục click chọn “Camera” để chọn chế độ nhận dạng bằng camera tiếp tục click chọn “ckextend” để chọn mô hình huấn luyện với bộ dữ liệu CK+ Thực hiện tải hình ảnh lên bằng cách click chọn “Start”, hình ảnh webcam hiển thị lên màn hình và cảm xúc thay đổi theo trạng thái khuôn mặt webcam - L̀ng rẽ nhánh: Khơng có Các u cầu đặc biệt: Khơng có Tiền điều kiện: Người dùng đã chọn chế độ nhận dạng, nhận dạng bằng camera, bợ dữ liệu Fer2013 Hậu điều kiện: Khơng có Các điểm mở rợng: Khơng có 48 4.3 Kết quả thử nghiệm ứng dụng 4.3.1 Nhận dạng ảnh Hình 4.1: Giao diện người dùng khởi động ứng dụng Streamlit Khi băt đầu sử dụng tính nhận dạng khuôn mặt, người dùng có hai lựa chọn để tải lên ảnh đầu vào, đó là lựa chọn nhận dạng bằng “camera” hoặc bằng “ảnh” Nếu người dùng không chọn, mặc định là nhận dạng bằng ảnh Tiếp theo, người dùng có thể lựa chọn nhận dạng cảm xúc bằng mô hình với các bộ trọng số tối ưu đã huấn luyện bằng bộ dữ liệu “Fer2013” hoăc “Ckextend” Nếu người dùng không lựa chọn, mặc định sử dụng mô hình huấn luyện bằng dữ liệu Fer2013 Tiếp theo, người dùng ấn vào nút “Browse files” để tải ảnh cần nhận dạng lên Sau tải ảnh lên, giao diện ứng dụng hiển thị hình bên dưới 49 Hình 4.2: Giao diện ứng dụng sau tải ảnh lên Tiếp theo, để tiến hành nhận dạng, người dùng click vào nút “Nhận dạng”, hệ thống tiến hành xác định khuôn mặt người ảnh và thực hiện nhận dạng Sau đó, kết quả trả về bằng một hình ảnh hiển thị bên dưới Hình 4.3: Giao diện ứng dụng sau click chọn nhận dạng cảm xúc 50 4.3.2 Nhận dạng camera Hình 4.4: Giao diện ứng dụng nhận dạng bằng camera Để tiến hành nhận dạng cảm xúc bằng camera, người dùng click nút “START” Sau người dùng nhấp vào nút “START”, camera kích hoạt bắt đầu ghi lại hình ảnh khn mặt của người dùng Mơ hình nhận dạng cảm xúc tiếp nhận hình ảnh này và phân tích để xác định cảm xúc hiện tại của người dùng Kết quả hiển thị trực tiếp màn hình, cho phép người dùng thấy cảm xúc của mình nhận dạng phân loại mợt cách xác Nếu người dùng ḿn dừng q trình nhận dạng, họ cần nhấp vào nút “STOP” Hình 4.5: Giao diện ứng dụng hiển thị kết nhận dạng qua camera theo thời gian thực Thời gian dự đoán mô hình CNN thử nghiệm thực tế nhận diện một khung hình để xác định cảm xúc, tính từ lúc webcam nhận hình đưa vào mô hình 51 đến lúc kết quả mất trung bình 0.03s Hình 4.6 thời gian chạy thực nghiệm nhận dạng cảm xúc khuôn mặt qua webcam Hình 4.6: Thời gian dự đoán mơ hình CNN thử nghiệm thực tế 4.3.3 Xem dữ liệu và các kết quả huấn luyện với dữ liệu Hình 4.7: Màn hình chức xem dữ liệu Nhằm phục vụ mục đích lựa chọn và so sánh kết quả của mô hình huấn luyện bằng tập dữ liệu Fer2013 và CK+, nhóm 10 chúng em đã xây dựng thêm chức “Xem dữ liệu” Khi người dùng kích chọn chế độ “XEM DỮ LIỆU” 52 và chọn bộ dữ liệu muốn xem, màn hình hiển thị các biểu đồ mô tả dữ liệu, độ chính xác,… của mô hình huấn luyện với dữ liệu đó 53 KẾT LUẬN Trong đồ án đây, nhóm 10 đã nghiên cứu về những lý thuyết bản của SVM, KNN tập trung nghiên cứu sâu vào mạng CNN, từ layer của mạng CNN đến hàm kích hoạt Trên sở lý thuyết đó, nhóm đã xây dựng mợt mơ hình mạng CNN bằng ngơn ngữ Python Pycharm phục vụ mục đích nhận dạng cảm xúc khuôn mặt Mô hình thực nghiệm với hai bộ dữ liệu khác là Fer2013 và CK+ Đồng thời, sử dụng mô hình đã huấn luyện để xây dựng ứng dụng nhận dạng cảm xúc khuôn mặt Trong q trình thực hiện đờ án, các thành viên nhóm đã tích cóp một lượng lớn kinh nghiệm, kiến thức, đặc biệt là lĩnh vực học máy học sâu Từ đó có cái nhìn cận cảnh về nghành khoa học máy tính tạo nền móng, mở đường cho q trình tìm hiểu, nghiên cứu sâu sau này Tuy nhiên, mặc dù đã cố gắng nhóm chưa thể tối ưu hoàn toàn mơ hình mạng CNN của Có những phần mơ hình vẫn cần cải thiện tinh chỉnh để mô hình đạt độ chính xác cao Trong tương lai nhóm tiếp tục cải tiến mơ hình của mình Điều bao gờm việc tinh chỉnh tham số, thử nghiệm với kiến trúc mạng khác thực hiện tăng cường dữ liệu (data augmentation) để cải thiện đợ xác khả tởng qt hóa của mơ hình Trên thực tế, thời gian hồn thành đờ án, nhóm đã cố gắng làm việc hiệu quả, nhiên vẫn khơng tránh khỏi thiếu sót Vậy nên nhóm 10 rất mong nhận sự góp ý từ thầy cô bạn đọc Một lần nữa, nhóm 10 chúng em xin gửi lời cảm ơn chân thành nhất tới thầy giáo, Tiến sĩ Nguyễn Mạnh Cường đã tận tình hướng dẫn chúng em thực hiện đề tài Chúng em xin chúc thầy luôn mạnh khỏe thành công những nghiên cứu sắp tới 54 TÀI LIỆU THAM KHẢO [1] Michael Nielsen (2015) Neural Networks and Deep Learning Determination Press [2] Võ Thị Hồng Nhung (2022) Phân tích biểu cảm mặt người dùng mạng nơ ron tích chập Từ https://ptithcm.edu.vn/wpcontent/uploads/2023/07/2020_HTTT_VoThiHongNh ung_TTLV.pdf, truy cập gần nhất 31/12/2023 [3] Huynh Chi Trung (2020) Giới thiệu về Support Vector Machine (SVM) Từ https://viblo.asia/p/gioi-thieu-ve-support-vector-machine-svm-6J3ZgPVElmB [4] Phạm Văn Chung (2020) [Deep Learning] Tìm hiều về mạng tích chập (CNN) Từ https://viblo.asia/p/deep-learning-tim-hieu-ve-mang-tich-chap-cnnmaGK73bOKj2, truy cập gần nhất 31/12/2023 [5] Datai Convolution Neural Network (CNN) Tutorial Từ https://www.kaggle.com/code/kanncaa1/convolutional-neural-network-cnntutorial, truy cập gần nhất 31/12/2023 [6] Nguyễn Tiến Cường, Cao Thanh Hà, Đinh Duy Khánh, & Nguyễn Văn Tài (2018) Giới thiệu về Karas Từ https://machinelearningcoban.com/2018/07/06/deeplearning/, truy cập gần nhất 01/01/2024 [7] Nguyen Duong (2021) HAAR CASCADE LÀ GÌ? HƯỚNG DẪN DEMO NHẬN DIỆN KHUÔN MẶT TRONG ẢNH BẰNG HAAR CASCADE Từ https://onetech.vn/blog/haar-cascade-la-gi-13561, truy cập lần cuối 02/01/2024

Ngày đăng: 12/01/2024, 21:24

Tài liệu cùng người dùng

Tài liệu liên quan