Khóa luận về hệ thống nhận dạng cảm xúc khuôn mặt thời gian thực sử dụng Python

Khóa luận về hệ thống nhận dạng cảm xúc gương mặt thời gian thực sử dụng Cython và Python, khám phá công nghệ và ứng dụng trong AI.

Trường đại học

Đại học Thăng Long

Chuyên ngành

Toán Ứng Dụng

Người đăng

Ẩn danh

Thể loại

khóa luận

2022

101
9
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Cảm xúc và biểu hiện khuôn mặt

1.1.1. Hạnh phúc - Happy

1.1.2. Buồn bã - Sad

1.1.3. Ngạc nhiên

1.1.4. Nỗi sợ

1.1.5. Giận dữ

1.1.6. Chán ghét

1.2. Học máy

2. CHƯƠNG 2: LỰA CHỌN PHƯƠNG PHÁP NHẬN DIỆN CẢM XÚC

2.1. Mô tả dữ liệu đầu vào

2.2. Phương pháp truyền thống - SVM

2.2.1. Ví dụ với bài toán phân chia hai classes

2.3. Phương pháp hiện đại - CNN

2.3.1. Depthwise Separable Convolution

2.4. Môi trường phát triển

2.5. Tiến hành training

2.5.1. Tiền xử lý dữ liệu

2.5.2. Tiến hành thực nghiệm

2.5.3. Đề xuất cải tiến

2.6. Gán nhãn dữ liệu ảnh bán tự động

2.7. Xử lý ảnh bị mờ khi xử lý video

2.7.1. Chuẩn bị môi trường

2.7.2. Dự đoán cảm xúc với ảnh

2.7.3. Dự đoán cảm xúc với video

DANH SÁCH HÌNH VẼ

Tóm tắt

I. Tổng quan về hệ thống nhận dạng cảm xúc khuôn mặt bằng Python

Hệ thống nhận dạng cảm xúc khuôn mặt thời gian thực bằng Python đang trở thành một lĩnh vực nghiên cứu quan trọng trong công nghệ hiện đại. Với sự phát triển của machine learningdeep learning, khả năng nhận diện cảm xúc từ khuôn mặt người đã được cải thiện đáng kể. Hệ thống này không chỉ giúp máy tính hiểu được cảm xúc của con người mà còn mở ra nhiều ứng dụng trong các lĩnh vực như giáo dục, y tế và marketing. Việc sử dụng OpenCV và các thư viện Python khác đã giúp đơn giản hóa quá trình phát triển hệ thống này.

1.1. Khái niệm về nhận dạng cảm xúc khuôn mặt

Nhận dạng cảm xúc khuôn mặt là quá trình phân tích và xác định cảm xúc của con người thông qua các biểu hiện trên khuôn mặt. Các cảm xúc cơ bản như hạnh phúc, buồn, giận dữ, sợ hãi, ngạc nhiên, và ghê tởm có thể được nhận diện thông qua các thuật toán học máy. Hệ thống này sử dụng các kỹ thuật như thuật toán nhận dạngphân tích hình ảnh để đạt được độ chính xác cao.

1.2. Tầm quan trọng của nhận dạng cảm xúc trong xã hội

Nhận dạng cảm xúc khuôn mặt có vai trò quan trọng trong việc cải thiện giao tiếp giữa người và máy. Nó giúp máy tính hiểu được tâm trạng của người dùng, từ đó cung cấp phản hồi phù hợp. Điều này đặc biệt hữu ích trong các ứng dụng như trò chuyện tự động, hệ thống hỗ trợ khách hàng, và phân tích tâm lý người tiêu dùng.

II. Thách thức trong việc phát triển hệ thống nhận dạng cảm xúc

Mặc dù công nghệ nhận dạng cảm xúc đã có những bước tiến lớn, nhưng vẫn còn nhiều thách thức cần phải vượt qua. Một trong những vấn đề lớn nhất là độ chính xác của hệ thống khi nhận diện cảm xúc trong các điều kiện ánh sáng khác nhau hoặc khi khuôn mặt bị che khuất. Ngoài ra, sự đa dạng về biểu cảm khuôn mặt giữa các cá nhân cũng tạo ra khó khăn trong việc xây dựng một mô hình chính xác.

2.1. Độ chính xác và độ tin cậy của mô hình

Độ chính xác của mô hình nhận dạng cảm xúc phụ thuộc vào chất lượng của dữ liệu huấn luyện. Việc thu thập và xử lý dữ liệu hình ảnh từ nhiều nguồn khác nhau là rất quan trọng để đảm bảo mô hình có thể hoạt động hiệu quả trong thực tế. Các nghiên cứu cho thấy rằng mô hình cần được huấn luyện với một tập dữ liệu phong phú và đa dạng để đạt được độ chính xác cao.

2.2. Ảnh hưởng của môi trường đến nhận dạng cảm xúc

Môi trường xung quanh có thể ảnh hưởng lớn đến khả năng nhận diện cảm xúc. Các yếu tố như ánh sáng, góc nhìn và sự chuyển động của khuôn mặt có thể làm giảm độ chính xác của hệ thống. Do đó, việc phát triển các thuật toán có khả năng thích ứng với các điều kiện khác nhau là rất cần thiết.

III. Phương pháp xây dựng hệ thống nhận dạng cảm xúc khuôn mặt

Để xây dựng một hệ thống nhận dạng cảm xúc khuôn mặt hiệu quả, cần áp dụng các phương pháp và công nghệ tiên tiến. Việc sử dụng OpenCV để xử lý hình ảnh và TensorFlow cho việc huấn luyện mô hình là những bước quan trọng trong quá trình phát triển. Hệ thống cần được thiết kế để có thể nhận diện cảm xúc trong thời gian thực, đảm bảo tính khả thi và hiệu quả.

3.1. Sử dụng OpenCV trong nhận dạng khuôn mặt

OpenCV là một thư viện mã nguồn mở mạnh mẽ cho xử lý hình ảnh và video. Nó cung cấp các công cụ cần thiết để phát hiện và nhận diện khuôn mặt trong thời gian thực. Việc sử dụng OpenCV giúp đơn giản hóa quá trình phát triển và tăng tốc độ xử lý hình ảnh.

3.2. Huấn luyện mô hình với TensorFlow

TensorFlow là một trong những thư viện phổ biến nhất cho việc phát triển các mô hình học sâu. Việc sử dụng TensorFlow cho phép xây dựng các mô hình phức tạp để nhận diện cảm xúc từ khuôn mặt. Các mô hình này có thể được huấn luyện với dữ liệu lớn để cải thiện độ chính xác và khả năng nhận diện.

IV. Ứng dụng thực tiễn của hệ thống nhận dạng cảm xúc

Hệ thống nhận dạng cảm xúc khuôn mặt có nhiều ứng dụng thực tiễn trong các lĩnh vực khác nhau. Từ giáo dục đến y tế, công nghệ này đang được áp dụng để cải thiện trải nghiệm người dùng và nâng cao hiệu quả công việc. Các ứng dụng như phân tích tâm lý người tiêu dùng và hỗ trợ khách hàng đang trở thành xu hướng trong thời đại số.

4.1. Ứng dụng trong giáo dục

Trong giáo dục, hệ thống nhận dạng cảm xúc có thể giúp giáo viên hiểu được phản ứng của học sinh trong thời gian thực. Điều này giúp cải thiện phương pháp giảng dạy và tạo ra môi trường học tập tích cực hơn.

4.2. Ứng dụng trong marketing

Trong lĩnh vực marketing, nhận dạng cảm xúc giúp các công ty phân tích phản ứng của khách hàng đối với sản phẩm và dịch vụ. Thông qua đó, doanh nghiệp có thể điều chỉnh chiến lược tiếp thị để phù hợp hơn với nhu cầu của người tiêu dùng.

V. Kết luận và tương lai của hệ thống nhận dạng cảm xúc

Hệ thống nhận dạng cảm xúc khuôn mặt bằng Python đang mở ra nhiều cơ hội mới trong việc cải thiện giao tiếp giữa người và máy. Với sự phát triển không ngừng của công nghệ, tương lai của hệ thống này hứa hẹn sẽ mang lại nhiều ứng dụng thú vị và hữu ích. Việc tiếp tục nghiên cứu và phát triển các thuật toán mới sẽ giúp nâng cao độ chính xác và khả năng nhận diện của hệ thống.

5.1. Tương lai của công nghệ nhận dạng cảm xúc

Công nghệ nhận dạng cảm xúc sẽ tiếp tục phát triển và được áp dụng rộng rãi trong nhiều lĩnh vực. Các nghiên cứu mới sẽ giúp cải thiện khả năng nhận diện và mở rộng ứng dụng của công nghệ này trong cuộc sống hàng ngày.

5.2. Định hướng nghiên cứu tiếp theo

Các nghiên cứu tiếp theo nên tập trung vào việc cải thiện độ chính xác của mô hình và phát triển các ứng dụng mới. Việc tích hợp công nghệ nhận dạng cảm xúc với các hệ thống khác sẽ tạo ra những giải pháp toàn diện hơn cho các vấn đề trong xã hội.

14/07/2025
Khóa luận hệ thống nhận dạng cảm xúc gương mặt realtime cython python emotionrecognition

Trích đoạn nội dung tài liệu

Chương 1. Cơ sở lý thuyết Không thể phủ nhận Machine learning là một trong những công nghệ có ảnh hưởng mạnh mẽ nhất trên thế giới ngày nay. Quan trọng hơn, phải cần một khoảng thời gian rất lâu nữa, con người mới thấy được hết tiềm năng của nó. Trong chương này, em sẽ trình bày một số khái niệm cơ bản về học máy như khái niệm về cảm xúc, quy trình xây dựng machine learning, cách tiếp cận với ngôn ngữ lập trình python,.1 Cảm xúc và biểu hiện khuôn mặt Cảm xúc trên khuôn mặt là một quy luật rất quan trọng trong giao tiếp giữa người với người.

Những công nghệ giao tiếp tiến bộ nhanh chóng gần đây cùng với sự phát triển của khoa học máy tính đã cho chúng ta những hi vọng rằng cảm xúc trên khuôn mặt sẽ trở thành một giải pháp then chốt trong lĩnh vực giao diện người máy và các hướng phát triển giao tiếp khác trong tương lai. Trong các cách biểu đạt ngôn ngữ cơ thể, cảm xúc là nơi thể hiện rõ nhất những gì mà người khác cảm nhận được. Qua nghiên cứu của nhà tâm lý học Mehrabian năm 1968 đã chỉ ra rằng khi một thông điệp từ một người chuyển tới người khác, phần từ ngữ chỉ chiếm 7% ảnh hưởng, 38% âm lượng của giọng nói, trong khi ngôn ngữ cơ thể của người nói chiếm tới 55% ảnh hưởng của thông điệp đó. Có rất nhiều lý do được đưa ra giải thích tại sao phát hiện cảm xúc của một người có thể hữu ích.

Đặc biệt là đối với các doanh nghiệp trong thời đại số, khi mà dữ liệu người dùng trở thành tài nguyên quý giá nhất. Cho biết mức độ quan tâm, phản ứng của người tiêu dùng với sản phẩm. Từ đó, giúp doanh nghiệp có căn cứ thông tin để đưa ra những chiến lược điều chỉnh hợp lý. Và nhận dạng cảm xúc được cũng ứng dụng trong rất nhiều lĩnh vực khác nhau như y học, tương tác giao diện giữa người và máy, chuyển động thân người.

Trong đề tài đồ án tốt nghiệp này, Em đã xây dựng một hệ thống nhận dạng cảm xúc dựa trên 6 cảm xúc cơ bản trên đó là: vui, buồn, ngạc nhiên, sợ hãi, khinh thường và tức giận.1 Hạnh phúc - Happy Cảm xúc này thể hiện qua nét mặt rạng rỡ trên khuôn mặt.Hạnh phúc là một cảm xúc thường liên quan với trạng thái của tâm trí phản ánh sự hài lòng, thỏa mãn và thích thú. Hạnh phúc là một trong những cảm xúc phổ biến nhất và đã được nghiên cứu thông qua những phương pháp triết học, tín ngưỡng và sinh học khác nhau. Tất cả những nghiên cứu này được thực hiện để cố gắng tìm ra nguồn gốc của hạnh phúc. Nhà triết gia và những nhà thần học tôn 1.1 Cảm xúc và biểu hiện khuôn mặt 13 giáo đã có nhiều định nghĩa về hạnh phúc như bắt nguồn từ việc sống trong một cuộc sống tốt, hay sự nảy nở của tâm hồn hơn là một cảm xúc đơn thuần.

Ngày nay, chúng ta thường kết hợp hạnh phúc với sự thỏa mãn. Sự hạnh phúc được được thể hiện thông qua biểu cảm trên khuôn mặt khiến chúng ta nâng khóe miệng lên hay còn gọi là Nụ cười. Hình 1: Biểu hiện/cảm xúc trên khuôn mặt: Hạnh phúc 1.2 Buồn bã - Sad Biểu hiện của cảm xúc này thông qua khuôn mặt là vùng trán nhăn lại, đôi mắt trùng xuống, không có thần thái, vẻ mặt biểu lộ rõ sự buồn khổ, sầu não kèm theo những tiếng thở dài. Nhìn vào dễ dàng tạo cảm giác lặng lẽ, trầm buồn.1 Cảm xúc và biểu hiện khuôn mặt 14 Hình 2: Biểu hiện/cảm xúc trên khuôn mặt: Buồn bã Sự buồn bã là một cảm xúc thường liên quan đến cảm giác thất vọng, sự mất mát hay không được giúp đỡ.

Thông thường, con người thể hiện sự buồn bã bằng việc im lặng, cảm thấy thiếu năng lượng và cần được tránh xa những vấn đề không vui. Nỗi buồn được xem là trái ngược với hạnh phúc, và có thể được mô tả như nỗi buồn, đau buồn, khổ sở và u sầu. Nỗi buồn mang lại hai hệ quả: sự chùng xuống tạm thời của một tâm trạng, hay sự buồn bã mãn tính dai dẳng của một tâm trạng khác và thường liên quan đến trầm cảm. Nỗi buồn được thể hiện thông qua việc hạ thấp khóe miệng và nâng phần bên trong của chân mày.3 Ngạc nhiên Đây là trạng thái dễ gây cảm giác thú vị khi nhìn vào.

Sự ngạc nhiên thể hiện qua lông mày nhô cao, mắt mở to, phần hàm dưới trề xuống, miệng mở tròn ra. Ngạc nhiên là cảm xúc thường liên quan với tình trạng đột ngột. Trạng thái này thường xảy ra bằng những sự kiện liên quan không mong đợi. Tuy nhiên, ngạc nhiên không phải lúc nào cũng mang lại cảm xúc đau thương.1 Cảm xúc và biểu hiện khuôn mặt 15 Hình 3: Biểu hiện/cảm xúc trên khuôn mặt: Ngạc nhiên Ngạc nhiên cũng đã được phân loại thành hóa trị, có nghĩa là nó trải dài trên phạm vi trung tính, dễ chịu và khó chịu.

Sự ngạc nhiên khiến ai đó thể hiện cảm xúc trên khuôn mặt thông qua việc cong lông mày, mở to mắt và hất hàm.4 Nỗi sợ là một cảm xúc thường liên quan với một mối đe dọa hay tình huống nguy hiểm. Đó là một cơ chế sinh tồn cơ bản xuất hiện để đáp ứng với hiện thực đau thương, chẳng hạn như đau đớn hoặc mối đe dọa đau đớn sắp xảy ra. Nỗi sợ được liên hệ với cách ứng xử của sự trốn thoát, lảng tránh, nhưng không nên kết hợp với nỗi lo âu, cảm xúc về mặt thể chất phản ứng với sự đe dọa mà được coi không thể tránh và không kiểm soát được. Khi trải qua nỗi sợ, con người thường biểu hiện trên gương mặt như nhướn mày, khẽ hé miệng và mở mắt ra một cách rộng hơn bình thường.1 Cảm xúc và biểu hiện khuôn mặt 16 Hình 4: Biểu hiện/cảm xúc trên khuôn mặt: Nỗi sợ 1.5 Giận dữ Là một cảm xúc thường liên quan đến sự bực dọc nhỏ đến sự bùng nổ lớn.

Về mặt thể chất, tức giận làm một vài người trải qua cảm giác tăng tỉ lệ đập của tim, huyết áp tăng và mức độ bất thường của adrenaline and noradrenaline. Hình 5: Biểu hiện/cảm xúc trên khuôn mặt: Giận dữ Bạn có thể thường nghe thấy sự giận dữ liên quan đến phản ứng não bộ khi ai đó được giới thiệu một trải nghiệm khiến họ cảm thấy bị đe dọa hoặc đau đớn. Khi một người nào đó chọn việc chống lại bất kỳ mối đe dọa nào đang khiến họ bị chấn thương hoặc đau đớn, sự tức giận được cho là phản ứng và cảm xúc chi phối được thể hiện theo cách nhận thức và sinh lý. Sự tức giận biểu hiện trên khuôn mặt khiến chúng ta hạ thấp lông mày, ấn chặt môi vào nhau và phồng mắt.1 Cảm xúc và biểu hiện khuôn mặt 17 1.6 Chán ghét Chán ghét là cảm xúc thường liên quan với những thứ mất vệ sinh, không ăn được, truyền nhiễm hoặc xúc phạm.

Ví dụ, ai đó có thể bị xúc phạm vì những tổn thương mà bạn gây ra cho họ, hay có thể họ ghét cách cư xử của bạn chẳng hạn. Tóm lại, chán ghét liên quan đến một thứ gì đó gây khó chịu và chủ yếu để trả đũa cảm giác vị giác, và thứ hai là trả đũa bất cứ thứ gì gợi ra cảm giác tương tự thông qua các giác quan và xúc giác. Chán ghét thể hiện trên khuôn mặt làm họ có xu hướng nâng môi trên, nhăn mũi và nâng má. Tuy nhiên, đáng ngạc nhiên, sự chán ghét là một trong 6 cảm xúc làm giảm nhịp tim.

Hình 6: Biểu hiện/cảm xúc trên khuôn mặt: Chán ghét Nhận dạng cảm xúc qua khuôn mặt có ứng dụng trong các lĩnh vực khác nhau: • Giáo dục: Phản ứng của người học trong thời gian thực và sự tham gia vào nội dung là giáo dục là một thước đo lường cho hiệu quả của bài giảng. • Tiếp thị: Đây là một cách tuyệt vời để các công ty kinh doanh phân tích cách khách hàng phản hồi với quảng cáo, sản phẩm, bao bì và thiết kế cửa hàng của họ. • Bán hàng: Việc phát hiện cảm xúc sẽ cho biết mức độ quan tâm, phản ứng của một người tiêu dùng với sản phẩm. Từ đó, giúp doanh nghiệp có căn cứ thông tin để đưa ra những chiến lược điều chỉnh hợp lý.

Ứng dụng tính năng nhận biết cảm xúc hiện tại để nắm bắt tâm lý con người sẽ trở thành “chìa khóa vàng” mở cửa thành công của doanh nghiệp 1.2 Học máy 18 trên mặt trận marketing và bán hàng, cho họ biết được cách mà họ nên ứng xử và đưa ra những sản phẩm, gợi ý nào thì phù hợp với đối tượng và hoàn cảnh. • Y tế: nhận dạng cảm xúc còn có thể cho phép các chuyên gia y tế thấu hiểu để giúp đỡ những bệnh nhân gặp khó khăn hay mất khả năng nói. • Chơi game: Với sự ra đời của game thực tế ảo gần với trải nghiệm thực tế. Nhận dạng cảm xúc khuôn mặt đóng một vai trò quan trọng để cải thiện trải nghiệm chơi trò chơi.

• Bảo mật: Nó có thể giúp xác định hành vi đáng ngờ trong đám đông và có thể được sử dụng để ngăn chặn tội phạm và những kẻ khủng bố tiềm năng. Hoặc về lý thuyết, AI phát hiện cảm xúc còn được cho là có thể trở thành công cụ hữu hiệu hỗ trợ những người thực thi pháp luật phát hiện ra những kẻ đang hành động đáng ngờ trước công chúng.2 Học máy Khi AI mới ra đời, các nhà nghiên cứu đã cố gắng tái tạo trí thông minh của con người cho những nhiệm vụ cụ thể – như chơi game. Các nhà nghiên cứu đã giới thiệu rất nhiều quy tắc mà máy tính cần tuân thủ. Lúc này, máy tính sẽ có có 1một danh sách các hành động khả thi, và đưa ra quyết định dựa trên những quy tắc đó.

Machine Learning Là khả năng máy tính học Bộ lớn dữ liệu thay cho các nguyên tắc đã được code một cách cứng nhắc ML hỗ trợ máy tính tự học. Hình thức học này tận dụng lợi thế xử lý các dữ liệu lớn dễ dàng của các máy tính hiện đại. Machine learning có thể tự dự đoán hoặc đưa ra quyết định mà không cần được lập trình cụ thể. Bài toán machine learning thường được chia làm hai loại là dự đoán (pre- diction) và phân loại (classification).

Các bài toán dự đoán như dự đoán giá nhà, giá xe. Các bài toán phân loại như nhận diện chữ viết tay, nhận diện đồ vật. • Supervised Learning Là sử dụng các bộ dữ liệu được dán nhãn có inputs và outputs được kì vọng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu với tiêu đề Hệ thống nhận dạng cảm xúc khuôn mặt thời gian thực bằng Python cung cấp cái nhìn sâu sắc về cách thức xây dựng và triển khai một hệ thống nhận dạng cảm xúc dựa trên công nghệ Python. Bài viết nhấn mạnh các kỹ thuật và thuật toán hiện đại được sử dụng để phân tích và nhận diện cảm xúc từ khuôn mặt người trong thời gian thực, mang lại nhiều lợi ích cho các ứng dụng trong lĩnh vực an ninh, chăm sóc sức khỏe và tương tác người-máy.

Để mở rộng kiến thức của bạn về chủ đề này, bạn có thể tham khảo thêm tài liệu Luận văn thạc sĩ tự động hóa nhận dạng cảm xúc mặt người theo thời gian thực, nơi cung cấp cái nhìn chi tiết về các phương pháp tự động hóa trong nhận dạng cảm xúc. Ngoài ra, tài liệu Luận văn thạc sĩ kỹ thuật viễn thông nhận dạng cảm xúc người nói dựa trên học sâu sẽ giúp bạn hiểu rõ hơn về ứng dụng của học sâu trong việc nhận diện cảm xúc từ giọng nói. Cuối cùng, bạn cũng có thể tìm hiểu về Luận văn ứng dụng biến đổi wavelet cho trích chọn đặc trưng tín hiệu điện não trong hệ thống nhận dạng cảm xúc, tài liệu này sẽ cung cấp thông tin về các kỹ thuật trích xuất đặc trưng từ tín hiệu điện não để nhận diện cảm xúc.

Những tài liệu này không chỉ giúp bạn mở rộng kiến thức mà còn cung cấp các góc nhìn đa dạng về công nghệ nhận dạng cảm xúc, từ đó nâng cao khả năng ứng dụng trong thực tiễn.