Công Nghệ Nhận Dạng Cảm Xúc Trên Khuôn Mặt Người: Giải Pháp Hiện Đại

Công nghệ nhận dạng cảm xúc khuôn mặt người hiệu quả giúp phân tích và xác định trạng thái cảm xúc chính xác, ứng dụng rộng rãi trong nhiều lĩnh vực.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2018

78
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: NỘI DUNG NGHIÊN CỨU

1.1. Mục tiêu xây dựng hệ thống

1.2. GIỚI HẠN

1.3. BỐ CỤC

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

2.1. Kit Arduino

2.2. PHẦN MỀM MATLAB

2.3. CÁC CẢM XÚC TRÊN KHUÔN MẶT

2.4. PHƯƠNG PHÁP NHẬN DẠNG PCA - EIGENFACES

2.4.1. Phương pháp nhận dạng PCA

2.4.2. Các khái niệm toán học trong PCA

3. CHƯƠNG 3: THIẾT KẾ VÀ TÍNH TOÁN

4. CHƯƠNG 4: THI CÔNG HỆ THỐNG

4.1. Thi công hệ thống

4.2. Lập trình hệ thống

4.3. Viết tài liệu hướng dẫn sử dụng, thao tác

5. CHƯƠNG 5: KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ

5.1. Tổng quan kết quả đạt được

5.2. Nhận xét và đánh giá

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Ưu và nhược điểm

6.2. Hướng phát triển

LIỆT KÊ HÌNH VẼ

LIỆT KÊ BẢNG

Tóm tắt

I. Nhận diện cảm xúc và công nghệ AI

Nhận diện cảm xúc là một lĩnh vực nghiên cứu quan trọng trong công nghệ AI, đặc biệt là trong việc phân tích và hiểu biểu cảm khuôn mặt con người. Công nghệ này sử dụng các thuật toán máy họcxử lý hình ảnh để phân tích các đặc điểm trên khuôn mặt, từ đó xác định trạng thái cảm xúc như vui, buồn, ngạc nhiên. Hệ thống nhận diện này không chỉ giúp tự động hóa quá trình phân tích mà còn mang lại độ chính xác cao trong các ứng dụng thực tế.

1.1. Ứng dụng của nhận diện cảm xúc

Ứng dụng nhận diện cảm xúc đang được sử dụng rộng rãi trong nhiều lĩnh vực như y học, an ninh, và giao diện người máy. Trong y học, công nghệ này giúp theo dõi trạng thái tâm lý của bệnh nhân. Trong an ninh, nó được sử dụng để phát hiện các hành vi đáng ngờ thông qua biểu cảm khuôn mặt. Công nghệ thị giác máy tính đóng vai trò quan trọng trong việc xử lý và phân tích hình ảnh, giúp hệ thống nhận diện cảm xúc hoạt động hiệu quả.

1.2. Công nghệ hiện đại trong nhận diện cảm xúc

Công nghệ hiện đại như AI trong nhận diện cảm xúc đã mang lại những bước tiến đáng kể trong việc tự động hóa quá trình phân tích biểu cảm. Các hệ thống sử dụng cảm biến khuôn mặt và thuật toán phân tích biểu cảm để xác định cảm xúc một cách chính xác. Công nghệ nhận diện khuôn mặt cũng được tích hợp để nâng cao hiệu quả của hệ thống, giúp phân tích tâm lý qua khuôn mặt một cách nhanh chóng và chính xác.

II. Phương pháp phân tích và nhận diện cảm xúc

Phân tích khuôn mặt là một phương pháp quan trọng trong nhận diện cảm xúc. Các thuật toán như PCA (Principal Component Analysis) được sử dụng để giảm chiều dữ liệu và trích xuất các đặc trưng quan trọng từ hình ảnh khuôn mặt. Eigenfaces là một kỹ thuật phổ biến trong việc nhận diện cảm xúc, giúp hệ thống học và phân loại các biểu cảm một cách hiệu quả.

2.1. Phương pháp PCA trong nhận diện cảm xúc

Phương pháp PCA được sử dụng để giảm chiều dữ liệu hình ảnh, giúp hệ thống tập trung vào các đặc trưng quan trọng nhất. Bằng cách biến đổi dữ liệu từ không gian nhiều chiều sang không gian ít chiều hơn, PCA giúp tối ưu hóa quá trình nhận diện. Eigenfaces là một ứng dụng của PCA trong việc nhận diện khuôn mặt, giúp hệ thống học và phân loại các biểu cảm một cách hiệu quả.

2.2. Eigenfaces và nhận diện cảm xúc

Eigenfaces là một kỹ thuật dựa trên phương pháp PCA, được sử dụng để nhận diện khuôn mặt và phân tích biểu cảm. Kỹ thuật này giúp hệ thống học các đặc trưng chính của khuôn mặt và sử dụng chúng để phân loại cảm xúc. Các bước cơ bản trong Eigenfaces bao gồm việc tạo tập dữ liệu huấn luyện, tính toán các giá trị riêng và vectơ riêng, sau đó sử dụng chúng để nhận diện cảm xúc từ hình ảnh đầu vào.

III. Thiết kế và ứng dụng hệ thống nhận diện cảm xúc

Thiết kế hệ thống nhận diện cảm xúc bao gồm việc xây dựng các khối hệ thống, lập trình và tích hợp các công nghệ như ArduinoMatlab. Hệ thống này sử dụng webcam để thu thập hình ảnh khuôn mặt, sau đó sử dụng các thuật toán xử lý hình ảnh để phân tích và nhận diện cảm xúc. Ứng dụng AI trong nhận diện cảm xúc giúp hệ thống hoạt động một cách tự động và chính xác.

3.1. Thiết kế hệ thống nhận diện cảm xúc

Thiết kế hệ thống nhận diện cảm xúc bao gồm việc xây dựng các khối hệ thống như thu thập hình ảnh, xử lý dữ liệu và nhận diện cảm xúc. Arduino được sử dụng để điều khiển các thiết bị phần cứng như đèn và cửa, trong khi Matlab được sử dụng để lập trình và phân tích hình ảnh. Các gói hỗ trợ phần cứng được cài đặt để kết nối Arduino với Matlab, giúp hệ thống hoạt động một cách đồng bộ.

3.2. Ứng dụng thực tế của hệ thống

Ứng dụng thực tế của hệ thống nhận diện cảm xúc bao gồm việc điều khiển các thiết bị điện tử dựa trên cảm xúc của người dùng. Ví dụ, khi hệ thống nhận diện cảm xúc vui, nó sẽ điều khiển mở cửa; khi nhận diện cảm xúc buồn, nó sẽ bật đèn. Công nghệ nhận diện cảm xúc thời gian thực giúp hệ thống phản ứng nhanh chóng và chính xác, mang lại trải nghiệm người dùng tốt hơn.

21/02/2025

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

đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án.  Chƣơng 2: Cơ sở lý thuyết. Giới thiệu về kit Arduino, giới thiệu về cách cài đặt thƣ viện cho Arduino và camera webcam trên phần mềm Matlab. Giới thiệu về phép phân tích thành phần chính PCA và áp dụng vào bài toán nhận dạng cảm xúc trên khuôn mặt ngƣời.

 Chƣơng 3: Thiết kế và Tính toán BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2 CHƢƠNG 1. TỔNG QUAN Phân tích, xây dựng sơ đồ khối, sơ đồ phần cứng, thiết kế về chƣơng trình cho hệ thống nhận dạng cảm xúc trên khuôn mặt ngƣời đƣợc viết trên phần mềm Matlab, sử dụng thƣ viện của Matlab cho kit Arduino.  Chƣơng 4: Thi công hệ thống Xây dựng chƣơng trình hoàn chỉnh cho toàn hệ thống, các hàm, các lƣu đồ, các chƣơng trình đƣợc sử dụng. Tạo tập tin huấn luyện, lắp ráp và test cho chƣơng trình.

Viết tài liệu hƣớng dẫn sử dụng, quy trình thao tác.  Chƣơng 5: Kết quả, Nhận xét và đánh giá Nêu các kết quả đạt đƣợc khi thực hiện chƣơng trình, phân tích, nhận xét, đánh giá kết quả thực thi đƣợc.  Chƣơng 6: Kết luận và Hƣớng phát triển Tóm tắt những kết quả đạt đƣợc, những hạn chế và nêu lên các hƣớng phát triển trong tƣơng lai. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3 CHƢƠNG 2.

CƠ SỞ LÝ THUYẾT Chƣơng 2.1 Kit Arduino Arduino ra đời tại thị trấn Ivrea – Italy, đƣợc giới thiệu vào năm 2005 nhƣ một công cụ cho sinh viên tìm tòi, học hỏi, phát triển, nhƣng đến nay Arduino đã đƣợc sử dụng rộng rãi trên thế giới và chứng tỏ đƣợc hiệu quả thông qua vô số ứng dụng từ ngƣời dùng. Arduino là một board mạch vi xử lý đƣợc dùng để tƣơng tác với các thiết bị phần cứng nhƣ cảm biến, động cơ, đèn hay các thiết bị khác. Một board Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung đã làm nên board mạch với nhiều thế mạnh hơn so với các vi điều khiển khác nhƣ: chạy đƣợc trên nhiều hệ điều hành khác nhau (Windows, Linux.), dễ dàng lắp ráp và mở rộng phần cứng, phát triển dựa trên nguồn mở, dễ dàng chia sẻ mã nguồn với nhau mà không phải lo lắng ngôn ngữ hay hệ điều hành đang sử dụng… Arduino thƣờng sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280 và ATmega2560. Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz, các board Arduino hiện tại đƣợc lập trình thông qua cổng USB.

Kit Arduino Uno Kit Arduino có nhiều phiên bản với tính năng và mục đích sử dụng khác nhau. Board Arduino Uno là một trong những phiên bản đƣợc sử dụng rộng rãi nhất bởi chi phí và tính linh động của nó. Arduino Uno [3] là một board mạch vi điều khiển dựa trên chip Atmega328 với 14 chân vào/ra bằng tín hiệu số đƣợc đánh số từ 0 đến 13, trong đó 6 chân có thể tạo xung PWM đƣợc đánh dấu “~” trƣớc mã số của chân, 6 chân nhận tín hiệu analog đƣợc đánh dấu từ A0 đến A5, có thể sử dụng nhƣ là 6 chân I/O số. Có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 30 mA.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 1 CHƢƠNG 2. CƠ SỞ LÝ THUYẾT Bảng 2. Thông số kỹ thuật Arduino Uno. Vi điều khiển Atmega328P họ 8 bit Điện áp hoạt động 5V Điện áp đầu vào 7-12V Điện áp đầu vào giới hạn 6-20V Số chân Digital I/O 14 (có 6 chân PWM) Số chân Analog 6 ( độ phân giải 10bit) DC current per I/O pin 20mA DC current for 3.3V pin 50mA Flash Memory 32KB (ATmega328P) SRAM 2KB (Atmega328P) EEPROM 1KB (Atmega328P) Clock Speed 16MHZ Length 68.4 mm Weight 25 g Hình 2.1 Cấu trúc phần cứng của Arduino Uno.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2 CHƢƠNG 2. CƠ SỞ LÝ THUYẾT  Cổng USB(1): Cổng USB dùng để kết nối với máy tính và thông qua đó để upload chƣơng trình cho Arduino từ máy tính, đồng thời cung cấp nguồn cho Arduino.  Nguồn (2 và 4): Sử dụng jack cấm nguồn 2.1mm (cực dƣơng ở giữa) hoặc có thể dùng chân Vin và GND để cấp nguồn cho Arduino. Board mạch hoạt động ở điện áp ngoài khoảng 5-20V, nhƣng nếu cấp nguồn lớn hơn 5V thì ngõ ra chân 5V sẽ lớn hơn, không nên cấp nguồn lớn hơn 12V vì board sẽ nóng và dễ bị hỏng.

Chân 5V và chân 3.3v là 2 chân lấy nguồn từ Arduino ra ngoài, không đƣợc cấp nguồn vào nó, sẽ làm hỏng.  Chip Atmega328P(6): Có 32KB bộ nhớ flash trong đó có 0.5KB dùng cho bootloader, 2KB SRAM, 1KB EEPROM.  Output và input(3 và 5): Arduino có 14 chân Digital với các chức năng Input và Output. PHẦN MỀM MATLAB.

Matlab (Matrix Laboratory ) là một môi trƣờng tính toán số và lập trình, đƣợc thiết kế bởi công ty MathWorks. Matlab [4] là ngôn ngữ lập trình thực hành bậc cao đƣợc sử dụng nhiều để giải các bài toán kỹ thuật. Matlab tích hợp việc tính toán thể hiện kết quả cho phép lập trình, giao diện làm việc rất dễ dàng cho ngƣời sử dụng. Dữ liệu cũng với thƣ viện đƣợc lập trình sẵn cho phép ngƣời dùng có đƣợc những ứng dụng nhƣ:  Tính toán các phép toán học thông thƣờng, tính toán ma trận,  Lập trình tạo ra những ứng dụng mới.

 Cho phép mô phỏng các mô hình thực tế.  Phân tích, khảo sát, hiển thị dữ liệu.  Matlab đƣợc sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lƣờng kiểm tra, phân tích mô hình tài chính, hay tính toán sinh học. Matlab cung cấp giải pháp chuyên dụng gọi là Toolbox.

Toolbox là một tập hợp toàn diện các hàm của Matlab (M-file). Hệ thống Matlab gồm 5 phần chính: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3 CHƢƠNG 2. CƠ SỞ LÝ THUYẾT Môi trƣờng làm việc: bao gồm các phƣơng tiện cho việc quản lý các biến trong không gian làm việc Workspace cũng nhƣ xuất nhập dữ liệu. Nó cũng bao gồm các công cụ phát triển, quản lý, gỡ rối và định hình M-file.

Xử lý đồ họa: bao gồm các lệnh cao cấp cho trực quan hóa dữ liệu hai chiều và ba chiều, xử lý ảnh, ảnh động. Cung cấp các giao diện tƣơng tác giữa ngƣời sử dụng và máy tính. Thƣ viện toán học: các hàm cơ bản nhƣ cộng, trừ, nhân, chia, sin, cos.các hàm phức tạp nhƣ tính ma trận nghịch đảo, trị riêng, chuyển đổi fourier, laplace, symbolic library. Giao diện ngƣời dùng (Application Program Interface): cho phép viết chƣơng trình tƣơng tác với các ngôn ngữ khác C, C++.

Simulink là một chƣơng trình đi kèm với Matlab, là một hệ thống tƣơng tác với việc mô phỏng các hệ thống động phi tuyết, mô phỏng mạch.CÁC CẢM XÚC TRÊ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ựu 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 đó [5].

Nhận dạng cảm xúc đƣợc ứng dụng trong rất nhiều lĩnh vực khác nhau nhƣ y học [6], tƣơng tác giao diện giữa ngƣời và máy [7], chuyển động thân ngƣời [8]… Trong đề tài đồ án tốt nghiệp này, chúng em xây dựng một hệ thống nhận dạng cảm xúc dựa trên 3 cảm xúc cơ bản trên đó là: vui, buồn, ngạc nhiên. Các dấu hiệu nhận biết cảm xúc:  Vui: Cảm xúc này thể hiện qua nét mặt rạng rỡ trên khuôn mặt. Nụ cƣời chính là dấu hiệu đơn giản nhất để nhận biết cảm xúc này. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 CHƢƠNG 2.

CƠ SỞ LÝ THUYẾT  Buồn: 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.  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.

PHƢƠNG PHÁP NHẬN DẠNG PCA - EIGENFACES. Phƣơng pháp nhận dạng PCA Phân tích thành phần chính PCA (Principal Component Analysis) là một thuật toán sử dụng phép biến đổi trực giao để biến đổi một tập hợp dữ liệu từ một không gian nhiều chiều sang một không gian mới ít chiều hơn (2 hoặc 3 chiều) nhằm tối ƣu hóa việc thể hiện sự biến thiên của dữ liệu. PCA một trong những ứng dụng hữu ích trong việc nhận dạng mặt và nén ảnh, là phƣơng pháp phân tích dữ liệu nhiều biến đơn giản nhất. Phép biến đổi tạo ra những ƣu điểm nhƣ:  Giảm sổ chiều của không gian chứa dữ liệu: tạo ra một ảnh mới từ ảnh ban đầu, ảnh này có kích thƣớt nhỏ hơn nhiều so với ảnh ban đầu nhƣng vẫn giữ lại những nét đặc trƣng nhất từ ảnh ban đầu.

 Thay vì giữ lại các trục tọa độ của không gian cũ. PCA xây dựng những trục tọa độ mới nhƣng có khả năng biểu diễn dữ liệu tƣơng đƣơng, và đảm bảo độ biến thiên của dữ liệu trên mỗi chiều mới.  Trong không gian mới, các liên kết tiềm ẩn của dữ liệu có thể đƣợc khám phá, mà nếu đặt trong không gian cũ thì khó phát hiện hơn vì những liên kết này không thể hiện rõ.  Các trục tọa độ trong không gian mới là tổ hợp tuyến tính của không gian cũ.

Các trục này luôn đƣợc trực giao đôi một với nhau mặc dù trong không gian ban đầu các trục có thể không trực giao.  Nói một cách ngắn gọn, mục tiêu của PCA là tìm một không gian mới với số chiều nhỏ hơn không gian cũ. Các trục tọa độ không gian mới đƣợc xây dựng sao cho trên mỗi trục, độ biến thiên của dữ liệu trên đó là lớn nhất.

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

Tài liệu "Công Nghệ Nhận Dạng Cảm Xúc Khuôn Mặt Người Hiệu Quả" tập trung vào các phương pháp và công nghệ tiên tiến giúp nhận diện cảm xúc thông qua khuôn mặt con người. Nó đề cập đến các thuật toán và kỹ thuật xử lý hình ảnh, cũng như ứng dụng của chúng trong các lĩnh vực như an ninh, marketing và tương tác người-máy. Tài liệu này mang lại lợi ích cho độc giả bằng cách cung cấp cái nhìn tổng quan về cách công nghệ này hoạt động và tiềm năng của nó trong tương lai.

Để hiểu sâu hơn về các kỹ thuật liên quan, bạn có thể khám phá Đồ án HCMUTE ứng dụng kit Raspberry nhận dạng mặt người, nơi trình bày chi tiết về việc triển khai nhận dạng khuôn mặt trên phần cứng cụ thể. Ngoài ra, Luận văn thạc sĩ tóm tắt văn bản sử dụng các kỹ thuật trong deep learning cung cấp thêm góc nhìn về cách deep learning được áp dụng trong xử lý dữ liệu. Cuối cùng, Luận văn thạc sĩ nghiên cứu và ứng dụng deep learning phát hiện người xâm nhập mở rộng kiến thức về ứng dụng của deep learning trong các hệ thống an ninh.

Những tài liệu này là cơ hội tuyệt vời để bạn mở rộng hiểu biết về các công nghệ liên quan và ứng dụng thực tế của chúng.