đồ án 1 nhận diện cảm xúc con người trực tiếp từ nguồn dữ liệu máy ảnh

30 1 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 1 nhận diện cảm xúc con người trực tiếp từ nguồn dữ liệu máy ảnh

Đ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

TÓM TẮT Bài toán này trình bày một phương pháp sử dụng luồng hình ảnh từ camera để nhận diện khuôn mặt người và nhận diện cảm xúc của người đó.. Mục tiêu và phạm vi nghiên cứu - Mục tiêu

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

Phạm Trần Anh Khôi – 21520303 Trần Trọng Khiêm – 21522217

ĐỒ ÁN 1

NHẬN DIỆN CẢM XÚC CON NGƯỜI TRỰC TIẾP TỪ NGUỒN DỮ LIỆU MÁY ẢNH

GIẢNG VIÊN HƯỚNG DẪN

TS NGUYỄN TẤN TRẦN MINH KHANG

Trang 2

2.5 Tổng quan về Visual Studio Code 11Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 12

Trang 4

DANH MỤC HÌNH

Hình 1 Đầu vào và đầu ra của bài toán 3

Hình 2 Ví dụ một số ảnh trong bộ dữ liệu FER-2013 6

Hình 3 Sơ đồ minh họa cấu trúc mạng lưới nơ-ron 8

Hình 4 React-Native 9

Hình 5 Android Studio 10

Hình 6 Visual Studio Code 11

Hình 7 Sơ đồ Activity 15

Hình 8 Home & Model Selection Screen 16

Hình 9 Camera Screen & Camera Without Face Screen 17

Hình 10 Emotion Recognition Screen 18

Hình 11 About App Screen 19

Trang 5

DANH MỤC BẢNG

Trang 6

DANH MỤC TỪ VIẾT TẮT

Từ viết tắt Từ nguyên gốc

Trang 7

TÓM TẮT

Bài toán này trình bày một phương pháp sử dụng luồng hình ảnh từ camera để nhận diện khuôn mặt người và nhận diện cảm xúc của người đó Trong dự án này, chúng tôi sẽ tạo một ứng dụng camera sử dụng một mô hình được đào tạo trước tùy chỉnh lưu trữ trên thiết bị Chúng tôi sử dụng bộ dữ liệu Microsoft COCO gồm 330,000 ảnh với hơn 200,000 ảnh được gán nhãn Mô hình này sử dụng mạng nơ-ron tích chập sâu (CNN) và mạng nơ-ron ngắn hạn dài (LSTM) cho việc tạo ra các chú thích

Trang 8

Chương 1 MỞ ĐẦU

Ở Chương 1 – Nhóm chúng em xin trình bày về động lực nghiên cứu, phát biểu bài toán, các thách thức, mục tiêu và phạm vi nghiên cứu, đóng góp của nghiên cứu và sơ lược về bố cục của bài báo

1.1 Động lực nghiên cứu

Trong thời đại số hóa ngày nay, nhu cầu tìm kiếm và phát triển các phương pháp nhận diện khuôn mặt và cảm xúc ngày càng trở nên quan trọng Sự tiện lợi và linh hoạt của máy ảnh kỹ thuật số đã mở ra không gian rộng lớn cho việc ứng dụng những công nghệ này trong nhiều lĩnh vực cuộc sống hàng ngày

Một trong những động lực chính đằng sau nghiên cứu này là khả năng cải thiện trải nghiệm người dùng và tương tác giữa con người và máy Khả năng nhận diện khuôn mặt không chỉ mang lại sự thuận tiện trong việc xác định danh tính, mà còn mở ra cánh cửa cho các ứng dụng như an ninh thông minh, quản lý diễn đàn sự kiện, và tương tác cá nhân trong thương mại điện tử

Ngoài ra, việc nhận diện cảm xúc từ khuôn mặt mở ra cơ hội đối với các lĩnh vực như y tế tâm thần, giáo dục, và quảng cáo Hiểu biết được cảm xúc của người dùng không chỉ giúp cải thiện chất lượng dịch vụ mà còn tạo ra những trải nghiệm tương tác độc đáo và cá nhân

Cuối cùng, nghiên cứu này có thể mở ra các khả năng mới cho ứng dụng của trí tuệ nhân tạo và học sâu trong việc xử lý dữ liệu thời gian thực Nó có thể dẫn đến những tiến bộ đáng kể trong các lĩnh vực khác và mở ra những triển vọng mới trong lĩnh vực machine learning và trí tuệ nhân tạo

1.2 Phát biểu bài toán

Đầu vào của bài toán là nguồn dữ liệu trực tiếp từ máy quay của điện thoại, đầu ra là những hình ảnh có bounding box xung quanh khuôn mặt người và dòng chữ biểu thị cảm xúc người đó

Trang 9

Đầu vào Đầu ra

Hình 1 Đầu vào và đầu ra của bài toán

1.3 Các thách thức

Thách thức về thời gian thực: ứng dụng yêu cầu kết quả được tạo ra ngay tức khắc, do đó, các hệ thống phải xử lý dữ liệu và phân tích trong thời gian gần như lập tức Điều này đòi hỏi các giải pháp có thể đáp ứng được yêu cầu về tốc độ xử lý

Thách thức về phân tích hình ảnh: Các giải pháp phân tích hình ảnh cần phải đối mặt với nhiều thách thức khác nhau, bao gồm ánh sáng yếu, chất lượng hình ảnh kém, nhiễu hình ảnh và các cảnh quay phức tạp Ứng dụng phải được thiết kế để có khả năng phân tích và xử lý các điều kiện khác nhau để đảm bảo chất lượng chú thích cao

Trang 10

Thách thức về dữ liệu: Dữ liệu thu thập từ máy ảnh có thể bị ảnh hưởng bởi nhiễu, mờ, hoặc các điều kiện ánh sáng kém Các vấn đề này có thể ảnh hưởng đến khả năng của mô hình nhận diện và dự đoán

Thách thức về khả năng của ứng dụng: Khuôn mặt và cảm xúc con người thường biến đổi theo nhiều yếu tố như góc nhìn, ánh sáng, tuổi tác, và văn hóa Cảm xúc con người thường phức tạp và có thể biểu hiện dưới nhiều dạng khác nhau Điều này tạo ra một thách thức lớn trong việc xây dựng mô hình có khả năng tổng quát hóa cho mọi tình huống

1.4 Mục tiêu và phạm vi nghiên cứu

- Mục tiêu: xây dựng thành thành công ứng dụng di động tích hợp mô hình “Nhận diện khuôn mặt và cảm xúc của con người”

- Phạm vi: sử dụng 10 model đã được huấn luyện trước để nhận diện cảm xúc của con người

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

Nghiên cứu về nhận diện khuôn mặt và cảm xúc bằng máy ảnh hứa hẹn đem lại nhiều đóng góp quan trọng cho cả lĩnh vực machine learning và ứng dụng thực tế Nhận diện khuôn mặt và cảm xúc có thể cải thiện trải nghiệm người dùng trong nhiều ngữ cảnh, từ ứng dụng di động cho đến hệ thống giải trí Điều này giúp tăng cường tương tác giữa con người và máy, làm cho giao tiếp trở nên tự nhiên và hiệu quả hơn Ngoài ra, nghiên cứu này mở ra cánh cửa cho các ứng dụng trong lĩnh vực y tế tâm thần, giúp phát hiện và hỗ trợ người có vấn đề tâm lý thông qua việc phân tích cảm xúc từ khuôn mặt Nghiên cứu còn có thể ứng dụng để giúp giúp tạo ra hệ thống có khả năng hiểu biết phản hồi từ người dùng, giúp cải thiện dịch vụ và sản phẩm dựa trên sự hiểu biết sâu sắc về cảm xúc và phản ứng của họ Và cuối cùng, các công trình nghiên cứu có thể giúp tăng cường kiến thức và kỹ năng của cộng đồng nghiên cứu về các công nghệ mới trong lĩnh vực này

Trang 11

1.6 Bố cục của báo cáo

Phần còn lại của báo cáo được trình bày theo bố cục như sau:

CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT

CHƯƠNG 3 – PHÂN TÍCH THIẾT KẾ HỆ THỐNG CHƯƠNG 4 – CÀI ĐẶT ỨNG DỤNG

CHƯƠNG 5 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Trang 12

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 Bộ dữ liệu

- Tên bộ dữ liệu: FER-2013

- Tổng quan bộ dữ liệu: Bộ dữ liệu FER-2013, hay còn gọi là Facial Expression Recognition 2013, là một nguồn tài nguyên quan trọng trong lĩnh vực nhận diện cảm xúc từ khuôn mặt Được công bố lần đầu vào năm 2013, bộ dữ liệu này chứa đựng khoảng 35.887 ảnh khuôn mặt với kích thước 48x48 pixels, phản ánh sự đa dạng của 7 lớp cảm xúc khác nhau, bao gồm Tức giận, Ghê tởm, Sợ hãi, Hạnh phúc, Buồn bã, Ngạc nhiên, và Bình thường Tính chất phân phối không đồng đều giữa các lớp cảm xúc là một đặc điểm quan trọng của FER-2013, tạo ra thách thức cho quá trình đào tạo mô hình, đặc biệt là đối với các lớp có ít ảnh Mỗi ảnh trong bộ dữ liệu được lưu dưới định dạng grayscale và có độ sáng tương đối thấp FER-2013 đã đóng góp đáng kể vào lĩnh vực nghiên cứu về nhận diện cảm xúc từ khuôn mặt, thúc đẩy sự phát triển của nhiều mô hình và phương pháp trong lĩnh vực này Tuy nhiên, cũng cần lưu ý đến một số hạn chế, như độ đa dạng hạn chế của các cảm xúc biểu diễn và phân phối không đồng đều của dữ liệu

Hình 2 Ví dụ một số ảnh trong bộ dữ liệu FER-2013

Trang 13

2.2 Phương pháp huấn luyện

Trong chuẩn bị cho giai đoạn huấn luyện, mô hình mạng nơ-ron tích chập (CNN) được biên dịch với trình tối ưu hóa Adam, mất mát crossentropy phân loại và độ chính xác làm đánh giá Bước quan trọng này đều đặn trước quá trình huấn luyện tiếp theo Mô hình trải qua quá trình huấn luyện trong 30 epochs trên một tập dữ liệu cụ thể (x_train, y_train) với kích thước lô là 64 Được thiết kế đặc biệt cho việc nhận diện cảm xúc trên khuôn mặt và xử lý ảnh xám có kích thước 48x48 điểm ảnh, kiến trúc CNN bao gồm ba lớp tích chập với kỹ thuật lấy mẫu tối đa, theo sau là lớp làm phẳng và hai lớp dày đặc Lớp dropout được tích hợp để đảm bảo tính chất chính quy, trong khi lớp cuối cùng sử dụng hàm kích hoạt softmax cho đầu ra đa lớp Quá trình huấn luyện có lẽ liên quan đến việc điều chỉnh lặp đi lặp lại các tham số của mô hình thông qua lan truyền ngược để tối ưu hóa cho mất mát crossentropy phân loại và độ chính xác Ngoài ra, mô hình có thể hưởng lợi từ việc sử dụng kỹ thuật tăng cường dữ liệu và dừng sớm để cải thiện khả năng tổng quát hóa trong quá trình huấn luyện Tóm lại, mục tiêu toàn cầu của mô hình là nhận biết cảm xúc từ biểu hiện khuôn mặt thông qua việc sử dụng kiến trúc CNN này

Trang 14

Hình 3 Sơ đồ minh họa cấu trúc mạng lưới nơ-ron

Trang 15

2.3 Tổng quan về React-Native

React Native là một khung phát triển (framework) mã nguồn mở của Facebook, được thiết kế để phát triển ứng dụng di động sử dụng ngôn ngữ lập trình JavaScript và React Được giới thiệu lần đầu tiên vào năm 2015, React Native nhanh chóng trở thành một công cụ quan trọng cho các nhà phát triển ứng dụng di động Với sự linh hoạt và khả năng tái sử dụng mã nguồn giữa các hệ điều hành khác nhau, React Native cho phép nhà phát triển xây dựng ứng dụng đa nền tảng (cross-platform) cho cả iOS và Android mà không cần phải viết lại toàn bộ mã nguồn Điều này giúp giảm thời gian và công sức đầu tư vào phát triển ứng dụng cho nhiều nền tảng khác nhau React Native sử dụng cách tiếp cận "React" trong xây dựng giao diện người dùng React Native sử dụng các components đã được định nghĩa trước để tạo ra giao diện linh hoạt và hiệu quả Một trong những ưu điểm lớn của React Native là khả năng tích hợp dễ dàng với các thư viện và module của JavaScript, cũng như việc sử dụng các ngôn ngữ web phổ biến như CSS và HTML trong phát triển ứng dụng di động React Native không chỉ thể hiện sự mạnh mẽ về khả năng đa nền tảng mà còn chứa đựng tinh thần linh hoạt và hiệu suất, làm cho nó trở thành một lựa chọn phổ biến trong cộng đồng phát triển ứng dụng di động ngày nay

Trang 16

2.4 Tổng quan về Android Studio

Android Studio là một môi trường phát triển tích hợp (IDE) chính thức được phát triển bởi Google, dành cho việc xây dựng ứng dụng di động chạy trên hệ điều hành Android Được giới thiệu lần đầu vào năm 2013, Android Studio nhanh chóng trở thành công cụ phổ biến và mạnh mẽ trong cộng đồng phát triển ứng dụng di động IDE này tích hợp nhiều tính năng và công cụ hỗ trợ mạnh mẽ giúp nhà phát triển tạo ra ứng dụng Android một cách dễ dàng và hiệu quả Android Studio hỗ trợ ngôn ngữ lập trình chính là Java và Kotlin, đồng thời có các tính năng như kiểm soát mã nguồn, xây dựng và quản lý dự án, cũng như trực quan hóa giao diện người dùng thông qua trình thiết kế "Layout Editor" Một trong những ưu điểm lớn của Android Studio là tích hợp chặt chẽ với các dịch vụ và tài nguyên của Google, giúp nhà phát triển dễ dàng truy cập và tích hợp các API, dịch vụ và thư viện Điều này giúp tối ưu hóa quá trình phát triển và đảm bảo ứng dụng tận dụng tối đa các tính năng của nền tảng Android Tóm lại, Android Studio là một công cụ phát triển đáng tin cậy, linh hoạt và tích hợp chặt chẽ với nền tảng Android, làm cho quá trình phát triển ứng dụng di động trở nên thuận lợi và hiệu quả

Hình 5 Android Studio

Trang 17

2.5 Tổng quan về Visual Studio Code

Visual Studio Code (VS Code) là một trình soạn thảo mã nguồn được phát triển bởi Microsoft Nó cung cấp một trải nghiệm viết mã mượt mà trên các nền tảng và ngôn ngữ lập trình khác nhau Với hệ sinh thái mở rộng phong phú, giao diện trực quan, tích hợp kiểm soát phiên bản, khả năng gỡ lỗi, tự động hóa nhiệm vụ và tính năng cộng tác trực tiếp, VS Code mang đến cho nhà phát triển môi trường linh hoạt và hiệu quả cho việc viết mã Nó có khả năng tùy chỉnh cao, tối ưu hóa hiệu suất và đã trở nên phổ biến trong cộng đồng nhà phát triển nhờ tính đa năng và trải nghiệm thân thiện với người dùng

Hình 6 Visual Studio Code

Trang 18

Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

3.1 Khảo sát hiện trạng 3.1.1 Mục đích khảo sát hiện trạng

Mục đích của phần khảo sát hiện trạng là để xác định tình hình và tiến độ của các nghiên cứu, ứng dụng và công trình liên quan đến việc sinh câu mô tả cho bức ảnh Bằng cách tiến hành khảo sát này, chúng ta có thể hiểu rõ hơn về các phương pháp, thách thức và tiềm năng trong lĩnh vực này, từ đó định hình hướng phát triển cho hệ thống của dự án

3.1.2 Hiện trạng hiện nay

Trong thời gian gần đây, lĩnh vực nhận diện khuôn mặt và cảm xúc bằng máy ảnh đang là một trong những lĩnh vực nghiên cứu sôi động trong cộng đồng machine learning và trí tuệ nhân tạo Dưới đây là một số điểm tóm lược về hiện trạng nghiên cứu này:

- Tiến Bộ Trong Các Mô Hình Học Sâu: Nghiên cứu liên tục tập trung vào phát triển các mô hình học sâu để cải thiện hiệu suất nhận diện khuôn mặt và cảm xúc Sự xuất hiện của các mô hình mạng nơ-ron chập (CNN) và các kiến trúc mạng nơ-ron tái lập (RNN) đã đóng góp lớn vào sự tiến bộ trong lĩnh vực này

- Ứng Dụng Rộng Rãi: Công nghệ nhận diện khuôn mặt và cảm xúc được tích hợp vào nhiều ứng dụng thực tế như hệ thống an ninh, trải nghiệm người dùng trong dịch vụ, giáo dục, y tế, và giải trí Các công ty và tổ chức đang sử dụng chúng để tạo ra sản phẩm và dịch vụ mới

- Thách Thức Đạo Luật và Quyền Riêng Tư: Vấn đề liên quan đến đạo luật và quyền riêng tư ngày càng trở nên quan trọng khi sử dụng công nghệ nhận diện khuôn mặt Nhiều quốc gia và tổ chức đã đặt ra các quy định và hạn chế để bảo vệ quyền riêng tư và đảm bảo rằng công nghệ được sử dụng một cách hợp pháp

Trang 19

- Tăng Cường Đào Tạo Dữ Liệu: Vấn đề về chất lượng dữ liệu là một thách thức tiếp tục Cần có sự tập trung vào việc thu thập và chuẩn bị dữ liệu đa dạng để mô hình có khả năng tổng quát hóa tốt trên nhiều điều kiện và ngữ cảnh

- Nghiên Cứu Liên Kết với Các Lĩnh Vực Khác: Nghiên cứu trong lĩnh vực này ngày càng liên kết với các lĩnh vực khác như xử lý ngôn ngữ tự nhiên, thị giác máy tính, và roboethics để tạo ra các hệ thống toàn diện và đa chiều

3.2 Xây dựng hệ thống 3.2.1 Công nghệ hệ thống

- Ngôn ngữ lập trình: Typescript, Java - UI Framework: React-Native

- IDE: Visual Studio Code, Android Studio

3.2.2 Use case

1 Nhận diện cảm xúc Người dùng chụp ảnh mới bằng camera của thiết bị và nhận diện cảm xúc người trong ảnh

Bảng 1 Bảng mô tả Use Case

3.2.3 Đặc tả Use case Photo Regcognition:

Mô tả: Người dùng chụp ảnh mới bằng camera của thiết bị và nhận diện cảm xúc người trong ảnh

Luồng chính:

1 Chọn 1 trong 10 model có sẵn của app để thấy được các kết quả khác nhau tùy thuộc vào loại model

Trang 21

3.2.4 Sơ đồ activity

Hình 7 Sơ đồ Activity

Trang 22

Chương 4 ỨNG DỤNG

4.1 Giao diện ứng dụng

4.1.1 Home & Model Selection Screen

Hình 8 Home & Model Selection Screen

Trang 23

4.1.2 Camera Screen & Camera Without Face Screen

Hình 9 Camera Screen & Camera Without Face Screen

Trang 24

4.1.3 Emotion Recognition Screen

Hình 10 Emotion Recognition Screen

Trang 25

4.1.4 About App Screen

Hình 11 About App Screen

Trang 26

4.2 Hướng dẫn sử dụng

- Bước 1: Mở ứng dụng trên thiết bị di động

- Bước 2: Chọn 1 trong 10 model có sẵn từ V01 đến V10 - Bước 3: Chụp 1 tấm ảnh có khuôn mặt người

- Bước 4: Chọn Proceed để ứng dụng xử lí ảnh - Bước 5: Quan sát thành quả

Trang 27

Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1 Đánh giá 5.1.1 Thuận lợi

Việc xây dựng các model nhận diện cảm xúc không quá khó khăn khi có nhiều tài nguyên trên internet đã trợ giúp, kết hợp với sự đơn giản nhưng đầy đủ của bộ dữ liệu FER-2013 giúp cho tốc độ huấn luyện mô hình trong giai đoạn bắt đầu dự án hoàn thành sớm

5.1.2 Khó khăn

Trong quá trình xây dựng ứng dụng, nhóm đã gặp rất nhiều khó khăn về công nghệ đã tiếp cận là framework React Native và Java, cụ thể là những lỗi liên quan đến vấn đề phiên bản cho phép tối ưu hóa tài nguyên của việc sử dụng camera Hơn thế nữa, việc nhúng model đã train vào ứng dụng cũng đòi hỏi lập trình viên cần có kỹ năng xử lí ảnh chính xác, hiệu quả, tối ưu

5.2 Kết quả đạt được

Sau quá trình tìm hiểu và phát triển thì nhóm đã xây dựng thành công một ứng dụng sinh nhận diện cảm xúc từ ảnh Nhóm đã tìm hiểu được cách hoạt động cũng như cách huấn luyện của model nhận diện cảm xúc mà nhóm tích hợp vào ứng dụng Ngoài ra, trong quá trình phát triển nhóm còn có thêm kiến thức về các công nghệ mới như React Native, Java Điều đó sẽ giúp ích rất nhiều cho các dự án tiếp theo trong tương lai

5.3 Hướng phát triển

Ứng dụng mà nhóm xây dựng vẫn còn đơn giản và còn nhiều tiềm năng để khai thác Từ đó mở ra nhiều hướng phát triển trong tương lai và dưới đây là một số hướng phát triển mà nhóm hướng đến:

Ngày đăng: 15/05/2024, 09:29

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

  • Đang cập nhật ...

Tài liệu liên quan