Đồ án: Xây dựng hệ thống nhận diện khuôn mặt và cảm xúc dùng mạng nơ ron tích chập

Xây dựng hệ thống nhận diện khuôn mặt và cảm xúc hiệu quả với mạng nơ-ron tích chập (CNN). Tìm hiểu quy trình, kỹ thuật và ứng dụng thực tế.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2020

109
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

TÓM TẮT

MỤC LỤC

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

DANH MỤC BẢNG

DANH MỤC HÌNH

1. CHƯƠNG 1: TỔNG QUAN

1.1. TÌNH HÌNH NGHIÊN CỨU

1.2. MỤC TIÊU ĐỀ TÀI

1.3. GIỚI HẠN ĐỀ TÀI

1.4. ĐỐI TƯỢNG NGHIÊN CỨU

1.5. PHẠM VI NGHIÊN CỨU

1.6. BỐ CỤC ĐỀ TÀI

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

2.1. TỔNG QUAN VỀ QUÁ TRÌNH XỬ LÝ ẢNH

2.1.1. Tăng cường ảnh

2.1.2. Khôi phục ảnh

2.1.3. Phân tích ảnh

2.1.4. Nén dữ liệu ảnh

2.1.5. Nhận dạng ảnh

2.2. KHUÔN MẶT VÀ CẢM XÚC

2.2.1. Đặc trưng của mặt người

2.2.2. Phương pháp tiếp cận đặc trưng khuôn mặt

2.2.3. Biểu cảm của khuôn mặt khi bày tỏ cảm xúc

2.3. MẠNG NƠ-RON TÍCH CHẬP

2.3.1. Mạng nơ-ron nhân tạo

2.3.2. Mạng nơ-ron tích chập

2.3.2.1. Mô hình tổng quan
2.3.2.2. Các lớp trong mô hình
2.3.2.3. Những vấn đề xảy ra với mô hình mạng nơ-ron tích chập

2.4. Giới thiệu về máy tính nhúng kit Raspberry Pi

2.5. Xử lý ảnh với Python

2.5.1. Giới thiệu ngôn ngữ lập trình Python

2.5.2. Một số ưu điểm của ngôn ngữ Python:

3. CHƯƠNG 3: XÂY DỰNG HỆ THỐNG NHẬN DIỆN KHUÔN MẶT VÀ CẢM XÚC DÙNG MẠNG NƠ-RON TÍCH CHẬP TRÊN KIT RASPBERRY PI 4

3.1. Yêu cầu của hệ thống

3.2. Đặc tả hệ thống

3.3. Sơ đồ khối hệ thống

3.4. Thiết kế chi tiết hệ thống

3.4.1. Khối xử lý Raspberry Pi 4

3.5. Hệ thống nhận dạng khuôn mặt

3.5.1. Sơ đồ quá trình xử lý hệ thống nhận dạng khuôn mặt

3.5.2. Tạo cơ sở dữ liệu ảnh

3.5.3. Phát hiện khuôn mặt

3.5.4. Trích chọn đặc trưng

3.5.5. Phân loại, nhận dạng

3.6. Mô hình mạng nơ-ron tích chập được dùng để mã hóa khuôn mặt43

3.7. Hệ thống nhận dạng cảm xúc

3.7.1. Lưu đồ xử lý của hệ thống nhận dạng cảm xúc

3.7.2. Mô hình mạng CNN được dùng để nhận dạng cảm xúc

3.7.3. Tập dữ liệu

3.7.3.1. Tập dữ liệu mẫu có sẵn
3.7.3.2. Tập dữ liệu riêng

3.7.4. Quá trình huấn luyện và nhận dạng

3.7.4.1. Quá trình huấn luyện
3.7.4.2. Quá trình nhận dạng

3.8. Khối hiển thị

4. CHƯƠNG 4: KẾT QUẢ

4.1. Mô hình hoàn chỉnh của hệ thống

4.2. Giao diện hiển thị kết quả của hệ thống

4.3. Kết quả hệ thống nhận dạng khuôn mặt

4.3.1. Phân tích và nhận xét kết quả hệ thống nhận dạng khuôn mặt

4.3.1.1. Kết quả kiểm tra với tập dữ liệu 1
4.3.1.2. Kết quả kiểm tra với tập dữ liệu 2

4.3.2. Kết quả kiểm tra nhận dạng với một số ảnh

4.4. Kết quả hệ thống nhận dạng cảm xúc

4.4.1. Kết quả huấn luyện và nhận dạng

4.4.2. Kết quả kiểm tra nhận dạng với một số ảnh

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

5.1. Kết quả đạt được

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

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Hệ Thống Nhận Diện Khuôn Mặt Cảm Xúc Bằng CNN

Trong bối cảnh trí tuệ nhân tạo và thị giác máy tính ngày càng phát triển, việc xây dựng hệ thống nhận diện khuôn mặtnhận diện cảm xúc trở thành một lĩnh vực nghiên cứu sôi động. Công nghệ này có tiềm năng ứng dụng rộng rãi trong nhiều lĩnh vực, từ an ninh đến tương tác người-máy. Các hệ thống nhận diện khuôn mặtcảm xúc sử dụng đầu vào là hình ảnh hoặc video, sau đó áp dụng các kỹ thuật xử lý ảnhhọc sâu (Deep Learning) để trích xuất thông tin và đưa ra kết luận. Theo tài liệu gốc, "Các nghiên cứu về nhận dạng khuôn mặt và cảm xúc đã được xây dựng và phát triển theo nhiều hướng khác nhau dựa trên đặc điểm và yêu cầu riêng của từng hệ thống." Điều này nhấn mạnh sự đa dạng và linh hoạt trong cách tiếp cận vấn đề. Sự phát triển của mạng nơ-ron tích chập (CNN) đã mang lại những bước tiến đáng kể trong việc nâng cao độ chính xác và hiệu quả của các hệ thống này. Việc sử dụng CNN cho phép tự động trích xuất các đặc trưng quan trọng từ dữ liệu ảnh khuôn mặtdữ liệu ảnh cảm xúc, giảm thiểu sự can thiệp thủ công và nâng cao khả năng tổng quát hóa của mô hình. Điều này đặc biệt quan trọng trong các ứng dụng thực tế, nơi điều kiện môi trường và đặc điểm khuôn mặt có thể thay đổi đáng kể.

1.1. Tầm quan trọng của Nhận Diện Khuôn Mặt và Cảm Xúc

Việc nhận diện khuôn mặtcảm xúc đóng vai trò quan trọng trong nhiều ứng dụng thực tế. Trong lĩnh vực an ninh, nó có thể được sử dụng để xác định danh tính và phát hiện các hành vi đáng ngờ. Trong lĩnh vực tương tác người-máy, nó có thể giúp tạo ra các giao diện tự nhiên và trực quan hơn, cho phép máy móc hiểu và phản ứng với cảm xúc của người dùng. Các hệ thống sử dụng rô bốt điều khiển bằng cảm xúc, các thiết bị hỗ trợ người tàn tật,... Đây là những minh chứng rõ ràng cho tiềm năng ứng dụng rộng lớn của công nghệ này.

1.2. Tổng quan về Mạng Nơ ron Tích Chập CNN trong bài toán

Mạng nơ-ron tích chập (CNN) là một kiến trúc mạng nơ-ron đặc biệt hiệu quả trong việc xử lý dữ liệu ảnhvideo. CNN sử dụng các lớp tích chập để tự động trích xuất các đặc trưng từ dữ liệu đầu vào, sau đó sử dụng các lớp kết nối đầy đủ để phân loại và đưa ra dự đoán. Ưu điểm của CNN là khả năng học các đặc trưng một cách tự động, giảm thiểu sự can thiệp thủ công và nâng cao khả năng tổng quát hóa của mô hình.

1.3. Các Ứng Dụng Tiềm Năng trong Đời Sống thực tế

Các ứng dụng của nhận diện khuôn mặtcảm xúc rất đa dạng và tiềm năng. Chúng có thể được sử dụng trong hệ thống an ninh, hệ thống điều khiển truy cập, hệ thống giám sát, hệ thống tương tác người-máy, hệ thống hỗ trợ giáo dục, hệ thống chăm sóc sức khỏe, và nhiều lĩnh vực khác. Việc đánh giá tâm trạng cũng như mức độ hài lòng của người tiêu dùng đối với sản phẩm hoặc thương hiệu trong thế giới kỹ thuật số là một ví dụ điển hình.

II. Thách Thức Xây Dựng Hệ Thống Nhận Diện Khuôn Mặt Cảm Xúc

Xây dựng một hệ thống nhận diện khuôn mặtcảm xúc hiệu quả đối mặt với nhiều thách thức. Một trong những thách thức lớn nhất là sự biến đổi lớn trong điều kiện môi trường, ánh sáng, góc nhìn, và biểu cảm khuôn mặt. Các hệ thống cần phải có khả năng xử lý những biến đổi này để đảm bảo độ chính xác cao. Một thách thức khác là sự đa dạng trong đặc điểm khuôn mặt của con người, bao gồm chủng tộc, giới tính, độ tuổi, và các yếu tố khác. Theo tài liệu gốc, "Đối với hệ thống nhận dạng khuôn mặt, các thử nghiệm về tỉ lệ nhận dạng chính xác của các phương pháp đề xuất thường được tiến hành trên các tập dữ liệu được thu thập trong điều kiện hạn chế về ánh sáng, hướng nhìn của khuôn mặt, tuổi tác,…" Do đó, việc thu thập và chuẩn bị dữ liệu huấn luyện đa dạng và phong phú là rất quan trọng. Bên cạnh đó, việc lựa chọn kiến trúc mạng nơ-ron tích chập phù hợp và tối ưu hóa các tham số huấn luyện cũng đóng vai trò then chốt trong việc đạt được hiệu suất cao.

2.1. Sự Biến Đổi của Khuôn Mặt Ánh Sáng Góc Nhìn Biểu Cảm

Sự biến đổi trong ánh sáng, góc nhìn, và biểu cảm khuôn mặt có thể ảnh hưởng đáng kể đến hiệu suất của các hệ thống nhận diện khuôn mặtcảm xúc. Các hệ thống cần phải có khả năng xử lý những biến đổi này để đảm bảo độ chính xác cao. Các kỹ thuật tiền xử lý ảnh, như cân bằng độ sáng và chuẩn hóa khuôn mặt, có thể giúp giảm thiểu ảnh hưởng của những biến đổi này.

2.2. Dữ Liệu Huấn Luyện Thu Thập Gán Nhãn và Xử Lý

Dữ liệu huấn luyện đóng vai trò then chốt trong việc xây dựng một hệ thống nhận diện khuôn mặtcảm xúc hiệu quả. Việc thu thập dữ liệu huấn luyện đa dạng và phong phú, bao gồm các khuôn mặt từ nhiều chủng tộc, giới tính, độ tuổi, và biểu cảm khác nhau, là rất quan trọng. Bên cạnh đó, việc gán nhãn chính xác cho dữ liệu huấn luyện và áp dụng các kỹ thuật tiền xử lý ảnh để loại bỏ nhiễu và chuẩn hóa dữ liệu cũng đóng vai trò quan trọng.

2.3. Lựa Chọn và Tối Ưu Kiến Trúc Mạng CNN Phù Hợp

Việc lựa chọn kiến trúc mạng nơ-ron tích chập phù hợp và tối ưu hóa các tham số huấn luyện là một thách thức quan trọng trong việc xây dựng một hệ thống nhận diện khuôn mặtcảm xúc hiệu quả. Các kiến trúc mạng nơ-ron tích chập khác nhau có thể phù hợp với các loại dữ liệu và ứng dụng khác nhau. Việc thử nghiệm và so sánh các kiến trúc khác nhau để tìm ra kiến trúc phù hợp nhất là rất quan trọng.

III. Phương Pháp Xây Dựng Hệ Thống Nhận Diện Khuôn Mặt Với CNN

Để xây dựng hệ thống nhận diện khuôn mặt sử dụng CNN, có nhiều phương pháp tiếp cận khác nhau. Một phương pháp phổ biến là sử dụng mô hình tiền huấn luyện (pretrained model) như VGGNet, ResNet hoặc FaceNet và thực hiện fine-tuning trên dữ liệu khuôn mặt cụ thể. Phương pháp này giúp tận dụng kiến thức đã học được từ dữ liệu lớn và giảm thiểu thời gian huấn luyện. Một phương pháp khác là xây dựng mô hình CNN từ đầu và huấn luyện trên dữ liệu khuôn mặt tùy chỉnh. Phương pháp này cho phép kiểm soát tốt hơn kiến trúc của mô hình và có thể đạt được hiệu suất cao hơn trên dữ liệu cụ thể. Tuy nhiên, nó đòi hỏi nhiều thời gian và tài nguyên tính toán hơn. Theo tài liệu gốc, "Mô hình sử dụng các phương pháp đặc trưng HOG [3] hay bộ phận phân lớp Haar-Cascade để phát hiện khuôn mặt, mô hình nhận dạng được sử dụng dựa trên cơ sở mô hình mạng nơ-ron tích chập có khả năng tự động trích chọn đặc trưng của khuôn mặt từ đó xây dựng một hệ thống nhận dạng khuôn mặt."

3.1. Sử Dụng Mô Hình Tiền Huấn Luyện Transfer Learning

Transfer learning là một kỹ thuật mạnh mẽ cho phép tận dụng kiến thức đã học được từ mô hình được huấn luyện trên dữ liệu lớn để giải quyết các bài toán tương tự với dữ liệu nhỏ hơn. Trong lĩnh vực nhận diện khuôn mặt, transfer learning có thể được sử dụng bằng cách sử dụng mô hình tiền huấn luyện như VGGNet, ResNet hoặc FaceNet và thực hiện fine-tuning trên dữ liệu khuôn mặt cụ thể.

3.2. Xây Dựng Mô Hình CNN Tùy Chỉnh Custom CNN

Xây dựng mô hình CNN từ đầu cho phép kiểm soát tốt hơn kiến trúc của mô hình và có thể đạt được hiệu suất cao hơn trên dữ liệu cụ thể. Tuy nhiên, nó đòi hỏi nhiều thời gian và tài nguyên tính toán hơn so với việc sử dụng mô hình tiền huấn luyện. Các bước xây dựng mô hình CNN tùy chỉnh bao gồm: thiết kế kiến trúc, chọn hàm kích hoạt, chọn hàm mất mát, chọn thuật toán tối ưu hóa, và huấn luyện mô hình.

3.3. Trích Xuất Đặc Trưng Khuôn Mặt Face Feature Extraction

Quá trình trích xuất đặc trưng khuôn mặt bao gồm việc sử dụng các kỹ thuật xử lý ảnh và học sâu để lấy ra các đặc trưng quan trọng từ khuôn mặt. Các đặc trưng này có thể là các điểm trên khuôn mặt (như mắt, mũi, miệng), các đường nét trên khuôn mặt, hoặc các đặc trưng học được từ các lớp của mạng nơ-ron tích chập (CNN).

IV. Phương Pháp Xây Dựng Hệ Thống Nhận Diện Cảm Xúc Với CNN

Xây dựng hệ thống nhận diện cảm xúc sử dụng CNN đòi hỏi việc thu thập và chuẩn bị dữ liệu huấn luyện chứa các hình ảnh hoặc video khuôn mặt với các nhãn cảm xúc tương ứng. Các dữ liệu này có thể được thu thập từ các bộ dữ liệu công khai như FER2013 hoặc JAFFE, hoặc được tạo ra bằng cách thu thập dữ liệu tùy chỉnh. Mô hình CNN được huấn luyện trên dữ liệu này để học cách liên kết các đặc trưng khuôn mặt với các cảm xúc khác nhau. Quá trình huấn luyện có thể được thực hiện bằng cách sử dụng các thư viện học sâu như TensorFlow, Keras hoặc PyTorch. Theo tài liệu gốc "Đối với hệ thống nhận dạng cảm xúc, cá nhân thực hiện đề tài sử dụng tập dữ liệu hình ảnh cảm xúc FERC-2013 để làm cơ sở dữ liệu để huấn luyện mô hình mạng nơ-ron tích chập."

4.1. Lựa Chọn và Chuẩn Hóa Dữ Liệu Huấn Luyện Cảm Xúc

Việc lựa chọn và chuẩn hóa dữ liệu huấn luyện cảm xúc là một bước quan trọng trong quá trình xây dựng hệ thống nhận diện cảm xúc. Dữ liệu huấn luyện nên đa dạng về chủng tộc, giới tính, độ tuổi và các biểu cảm khác nhau để đảm bảo tính tổng quát của mô hình.

4.2. Thiết Kế Kiến Trúc Mạng CNN Cho Nhận Diện Cảm Xúc

Kiến trúc mạng CNN cho nhận diện cảm xúc có thể khác nhau tùy thuộc vào yêu cầu cụ thể của ứng dụng. Một kiến trúc phổ biến bao gồm các lớp tích chập, lớp gộp, và lớp kết nối đầy đủ. Các lớp tích chập có nhiệm vụ trích xuất các đặc trưng từ khuôn mặt, lớp gộp giảm kích thước của các đặc trưng, và lớp kết nối đầy đủ phân loại các đặc trưng để đưa ra dự đoán về cảm xúc.

4.3. Huấn Luyện và Đánh Giá Hiệu Suất Mô Hình Cảm Xúc

Quá trình huấn luyện mô hình CNN cho nhận diện cảm xúc bao gồm việc cung cấp dữ liệu huấn luyện cho mô hình và điều chỉnh các tham số của mô hình để giảm thiểu sai số dự đoán. Hiệu suất của mô hình được đánh giá bằng cách sử dụng dữ liệu kiểm tra độc lập và đo các chỉ số như độ chính xác, độ thu hồi, và độ chính xác.

V. Ứng Dụng Thực Tế Hệ Thống Nhận Diện Khuôn Mặt và Cảm Xúc

Hệ thống nhận diện khuôn mặtcảm xúc có tiềm năng ứng dụng rộng rãi trong nhiều lĩnh vực. Trong lĩnh vực an ninh, nó có thể được sử dụng để xác định danh tính và phát hiện các hành vi đáng ngờ. Trong lĩnh vực tương tác người-máy, nó có thể giúp tạo ra các giao diện tự nhiên và trực quan hơn, cho phép máy móc hiểu và phản ứng với cảm xúc của người dùng. Trong lĩnh vực y tế, nó có thể được sử dụng để theo dõi cảm xúc của bệnh nhân và phát hiện các dấu hiệu sớm của các bệnh tâm lý. Hệ thống này cũng đảm bảo tốc độ xử lý nhanh, cho phép giải quyết bài toán nhận dạng khuôn mặtcảm xúc theo thời gian thực.

5.1. Ứng Dụng Trong An Ninh và Giám Sát Security Surveillance

Trong lĩnh vực an ninh và giám sát, hệ thống nhận diện khuôn mặt có thể được sử dụng để xác định danh tính của những người truy cập vào các khu vực hạn chế, theo dõi các đối tượng tình nghi, và phát hiện các hành vi đáng ngờ. Hệ thống nhận diện cảm xúc cũng có thể được sử dụng để phát hiện các dấu hiệu căng thẳng hoặc lo lắng, giúp ngăn chặn các hành vi bạo lực hoặc khủng bố.

5.2. Ứng Dụng Trong Tương Tác Người Máy Human Computer Interaction

Trong lĩnh vực tương tác người-máy, hệ thống nhận diện khuôn mặt và cảm xúc có thể giúp tạo ra các giao diện tự nhiên và trực quan hơn, cho phép máy móc hiểu và phản ứng với cảm xúc của người dùng. Ví dụ, một hệ thống có thể điều chỉnh độ sáng màn hình hoặc âm lượng dựa trên cảm xúc của người dùng, hoặc một chatbot có thể đưa ra các câu trả lời phù hợp với tâm trạng của người dùng.

5.3. Ứng Dụng Trong Y Tế và Chăm Sóc Sức Khỏe Healthcare

Trong lĩnh vực y tế và chăm sóc sức khỏe, hệ thống nhận diện khuôn mặt và cảm xúc có thể được sử dụng để theo dõi cảm xúc của bệnh nhân và phát hiện các dấu hiệu sớm của các bệnh tâm lý. Ví dụ, một hệ thống có thể phát hiện các dấu hiệu trầm cảm hoặc lo âu ở bệnh nhân, hoặc theo dõi hiệu quả của các phương pháp điều trị tâm lý.

VI. Kết Luận Hướng Phát Triển Hệ Thống Nhận Diện Khuôn Mặt

Việc xây dựng hệ thống nhận diện khuôn mặtcảm xúc sử dụng CNN là một lĩnh vực nghiên cứu đầy tiềm năng. Mặc dù đã có những tiến bộ đáng kể, vẫn còn nhiều thách thức cần được giải quyết, như cải thiện độ chính xác trong điều kiện môi trường phức tạp và tăng cường khả năng xử lý dữ liệu lớn. Hướng phát triển trong tương lai có thể tập trung vào việc kết hợp CNN với các kỹ thuật học sâu khác, như mạng nơ-ron hồi quy (RNN) hoặc mô hình biến áp (Transformer), để tận dụng lợi thế của từng kiến trúc và tạo ra các hệ thống mạnh mẽ hơn. Ngoài ra, việc nghiên cứu và phát triển các phương pháp học không giám sáthọc bán giám sát có thể giúp giảm thiểu sự phụ thuộc vào dữ liệu gán nhãn và mở rộng phạm vi ứng dụng của các hệ thống này.

6.1. Tổng Kết Các Kết Quả Đạt Được và Hạn Chế Còn Tồn Tại

Hệ thống nhận diện khuôn mặtcảm xúc đã đạt được những kết quả đáng khích lệ, tuy nhiên vẫn còn tồn tại một số hạn chế. Độ chính xác có thể bị ảnh hưởng bởi điều kiện ánh sáng, góc nhìn, và biểu cảm khuôn mặt. Bên cạnh đó, việc xử lý dữ liệu lớn và đảm bảo tính riêng tư của người dùng cũng là những thách thức cần được giải quyết.

6.2. Đề Xuất Các Hướng Nghiên Cứu và Phát Triển Trong Tương Lai

Trong tương lai, các hướng nghiên cứu và phát triển có thể tập trung vào việc cải thiện độ chính xác của hệ thống trong điều kiện môi trường phức tạp, tăng cường khả năng xử lý dữ liệu lớn, và đảm bảo tính riêng tư của người dùng. Việc kết hợp CNN với các kỹ thuật học sâu khác và nghiên cứu các phương pháp học không giám sáthọc bán giám sát cũng là những hướng đi đầy hứa hẹn.

6.3. Tích Hợp Trên Raspberry Pi 4 và Các Thiết Bị Nhúng Khác

Việc triển khai hệ thống nhận diện khuôn mặtcảm xúc trên Raspberry Pi 4 và các thiết bị nhúng khác mở ra nhiều cơ hội ứng dụng trong thực tế. Các thiết bị nhúng có thể được sử dụng để tạo ra các hệ thống di động, tiết kiệm năng lượng, và có khả năng hoạt động trong môi trường khắc nghiệt.

22/09/2025

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

CHƯƠNG 1 : TỔNG QUAN 1.1 TÌNH HÌNH NGHIÊN CỨU Hiện nay trên thế giới nói chung và tại Việt Nam nói riêng, trí tuệ nhân tạo được xem là một trong những công nghệ cốt lõi của cuộc cách mạng công nghiệp 4. Nhiều quốc gia bắt đầu ghi nhận xu thế phát triển tất yếu và tác động chuyển đổi to lớn của trí tuệ nhân tạo trong mọi mặt đời sống xã hội, từ thay đổi cán cân quyền lực kinh tế, đến cả quân sự và chính trị. Để đảm bảo tiếp tục phát triển kinh tế - xã hội, đem lại thịnh vượng cho quốc gia, bên cạnh việc tận dụng hiệu quả những thành tựu phát triển của trí tuệ nhân tạo và tự động hóa, nhiều nước đã đưa ra nhiều giải pháp phù hợp cho tiến trình chuyển đổi nhanh chóng và mạnh mẽ của cuộc cách mạng công nghiệp 4. Nhắc đến trí tuệ nhân tạo, chúng ta sẽ nghĩ ngay đến công nghệ sinh trắc học.

Đây là một trong những hướng phát triển mũi nhọn trong nền công nghiệp thuộc lĩnh vực thị giác máy tính hiện nay. Công nghệ sinh trắc học là công nghệ sử dụng những đặc tính vật lý, đặc điểm sinh học riêng của mỗi cá nhân như cảm xúc, võng mạc, khuôn mặt, vân tay… để nhận dạng. Trong đó nhận dạng khuôn mặt và cảm xúc là hai loại nhận dạng đặc trưng tiêu biểu cho công nghệ sinh trắc học đóng vai trò quan trọng và là nền tảng trong việc chế tạo các loại rô bốt có thể tương tác trực tiếp với con người Các nghiên cứu về nhận dạng khuôn mặt và cảm xúc đã được xây dựng và phát triển theo nhiều hướng khác nhau dựa trên đặc điểm và yêu cầu riêng của từng hệ thống. Đối với hệ thống nhận dạng khuôn mặt, các thử nghiệm về tỉ lệ nhận dạng chính xác của các phương pháp đề xuất thường được tiến hành trên các tập dữ liệu được thu thập trong điều kiện hạn chế về ánh sáng, hướng nhìn của khuôn mặt, tuổi tác,… Do đó khi áp dụng vào thực tế thì kết quả thu được thường kém xa so với môi trường thử nghiệm.

Để khắc phục điều đó, các hướng tiếp cận sau này được đề xuất dựa trên ý tưởng sử dụng các mô hình học máy thống kê có khả năng học để lựa chọn các đặc trưng khuôn mặt từ một tập mẫu cho trước điển hình như phương pháp PCA, trong đó mỗi khuôn mặt được biểu diễn dưới 1 dạng tổ hợp các eigenvectors, eigenfaces và fisherfaces, phương pháp sử dụng các mô hình mạng nơ-ron tích chập. Hiện tại, hiệu quả của các mô hình nhận dạng khuôn mặt đã được cải thiện đáng kể dựa trên việc kết hợp sử dụng các mô hình học sâu để tự động phát hiện các đặc trưng trên khuôn mặt và các kỹ thuật phân lớp thống kê [4], [5], [6]. Đối với hệ thống nhận dạng cảm xúc của khuôn mặt, để xác định được cảm xúc trên khuôn mặt của con người không phải là công việc dễ dàng. Rất nhiều công trình nghiên cứu, bài báo đưa ra các phương pháp nhằm xác định cảm xúc trên khuôn mặt.

Trong một nghiên cứu của tác giả Young Hoon Jo vào năm 2015 [5], tác giả đã xác định cảm xúc của mỗi cá nhân dựa trên đặc điểm, khoảng cách của các thành phần trên khuôn mặt. Sau khi chia ra thành từng vùng trên khuôn mặt, tác giả đã đi phân tích đặc điểm của từng phần, thông qua đặc điểm của từng phần để xác định từng lớp cảm xúc trên khuôn mặt người. Tuy nhiên, việc xác định trên chỉ đúng khi các đặc điểm trên khuôn mặt được coi là tiêu chuẩn. Ngày nay, bằng việc sử dụng một phương pháp mới đó là mạng nơ-ron xoắn tích chập đã mở ra những bước tiến mới trong việc xác định và nhận dạng cảm xúc trên khuôn mặt con người.

Vì những lý do trên, cá nhận thực hiện lựa chọn đề tài “ Xây dựng hệ thống nhận dạng khuôn mặt và cảm xúc dùng mạng nơ-ron tích chập ” để nghiên cứu. Đề tài hướng đến việc giúp cho máy tính và kit Raspberry Pi 4 có thể nhận dạng được khuôn mặt và cảm xúc của con người thông qua khuôn mặt bằng việc sử dụng mạng nơ-ron tích chập.2 MỤC TIÊU ĐỀ TÀI Đề tài tập trung nghiên cứu mạng nơ-ron tích chập, tìm hiểu về kiến trúc, mô hình đào tạo, trích xuất đặc trưng của mạng, thuật toán phân loại nhận dạng. Ngoài ra đề tài còn nghiên cứu về kit Raspberry Pi 4, ngôn ngữ Python và thư viện OpenCV, cách xây dựng cơ sở dữ liệu, tìm hiểu về việc sử dụng thuật toán trong việc phát hiện khuôn mặt từ camera hoặc ảnh, các bước xử lý ảnh. Mô hình sử dụng các phương pháp đặc trưng HOG [3] hay bộ phận phân lớp Haar-Cascade để phát hiện khuôn mặt, mô hình nhận dạng 2 được sử dụng dựa trên cơ sở mô hình mạng nơ-ron tích chập có khả năng tự động trích chọn đặc trưng của khuôn mặt từ đó xây dựng một hệ thống nhận dạng khuôn mặt.

Đối với hệ thống nhận dạng khuôn mặt, hệ thống sẽ nhận dạng được ảnh và luồng video có sẵn được lưu trong máy tính, kit Raspberry Pi hoặc luồng video trực tiếp được thu từ camera. Đối với hệ thống nhận dạng cảm xúc, cá nhân thực hiện đề tài sẽ xây dựng và huấn luyện mô hình mạng nơ-ron tích chập riêng để kiểm tra tính hiệu quả trong việc nhận dạng cảm xúc. Với kết quả đạt được, cá nhân thực hiện đề tài sẽ xây dựng một hệ thống nhận dạng 7 loại cảm xúc thông qua khuôn mặt gồm có: “ vui vẻ ”, “ buồn ”, “ sợ hãi ”, “ giận dữ ”, “ ngạc nhiên ”, “ khó chịu ”, “ bình thường ”. Hệ thống sẽ được cài đặt trên máy tính nhúng Raspberry Pi.3 GIỚI HẠN ĐỀ TÀI Đối với hệ thống nhận dạng khuôn mặt, hệ thống nhận dạng được thực nghiệm tại căn phòng trọ với khoảng 4 người trong phòng, dữ liệu được lấy trực tiếp từ camera.

Hệ thống sẽ nhận dạng được ảnh và luồng video có sẵn được lưu trong máy tính, kit Raspberry Pi hoặc luồng video trực tiếp được thu từ camera. Đối với hệ thống nhận dạng cảm xúc, chỉ xem xét đến thuật toán nhận dạng cảm xúc cho luồng video trực tuyến được thực hiện trong điều kiện đầy đủ ánh sáng, gương mặt chính diện và khoảng cách nhận dạng biểu cảm của khuôn mặt trong khoảng 1m.4 ĐỐI TƯỢNG NGHIÊN CỨU Đề tài nghiên cứu những đối tượng sau: - Mô hình mạng nơ-ron tích chập trong việc xây dựng hệ thống nhận dạng cảm xúc. Đồng thời ứng dụng mô hình mạng nơ-ron tích chập để tạo ra véc-tơ đặc trưng 128 chiều cho mỗi khuôn mặt để nhận dạng khuôn mặt. - Các biểu cảm cảm xúc thông qua khuôn mặt.

3 - Kit Raspberry Pi 4 xử lý nhận dạng khuôn mặt và cảm xúc. - Thuật toán trong việc phát hiện khuôn mặt từ ảnh hoặc video đã lưu sẵn trong máy tính hoặc kit Raspberry Pi và luồng video trực tuyến thông qua camera. - Các tập cơ sở dữ liệu có sẵn dùng để huấn luyện cho mạng nơ-ron tích chập.5 PHẠM VI NGHIÊN CỨU Phạm vi nghiên cứu của đề tài là tập trung nghiên cứu về mạng nơ-ron tích chập, tìm hiểu về kiến trúc, mô hình đào tạo, trích xuất đặc trưng của mạng, thuật toán phân loại và nhận dạng đối với hệ thống nhận dạng khuôn mặt và cảm xúc. Ngoài ra đề tài còn tìm hiểu về kit Raspberry Pi 4, ngôn ngữ Python và thư viện OpenCV[24].

Các thuật toán trong việc phát hiện khuôn mặt từ ảnh, video được lưu sẵn trong phần cứng máy tính hoặc kit Raspberry Pi và luồng video trực tuyến thông qua camera.6 BỐ CỤC ĐỀ TÀI Dựa trên mục tiêu cụ thể đã trình bày trong phần trước, đề tài được phân thành năm chương với các nội dung cụ thể như sau: Chương 1: Tổng quan: Giới thiệu về đề tài nghiên cứu, cho thấy được tình hình nghiên cứu của các đề tài liên quan, các giới hạn của đề tài và các phương hướng nghiên cứu, từ đó đưa ra phương hướng cụ thể cho đề tài nghiên cứu. Chương 2: Cơ sở lý thuyết: Tổng quát các lý thuyết của hệ thống bao gồm: quá trình xử lý ảnh, phát hiện khuôn mặt, đặc trưng HOG và bộ phân lớp Haar-Cascade, nhận dạng khuôn mặt, mạng nơ-ron nhân tạo , tìm hiểu về cấu trúc và hoạt động của mạng nơ-ron tích chập. Trình bày các đặc trưng của mặt người, các phương pháp tiếp cận đặc trưng khuôn mặt và biểu cảm của khuôn mặt khi bày tỏ cảm xúc, thư viện xử lý ảnh mã nguồn mở OpenCV với ngôn ngữ Python trong xử lý ảnh. Chương 3: Xây dựng hệ thống nhận dạng khuôn mặt và cảm xúc dùng mạng nơ-ron tích chập trên kit Raspberry Pi 4: Trong chương này trình bày về sơ đồ khối của hệ 4 thống, hoạt động của từng khối, thiết kế chi tiết từng khối của hệ thống như khối camera, khối xử lý Raspberry Pi, khối màn hình hiển thị.

Bên cạnh đó trong chương này còn trình bày thiết kế của hai hệ thống bao gồm hệ thống nhận dạng khuôn mặt và hệ thống nhận dạng cảm xúc được xử lý trong kit Raspberry Pi. Đối với hệ thống nhận dạng khuôn mặt, trình bày cách xây dựng hệ thống và lưu đồ thuật toán cho từng quá trình của hệ thống nhận dạng khuôn mặt sử dụng mạng nơ-ron tích chập như quá trình tiền xử lý, trích chọn đặc trưng,…. Đối với hệ thống nhận dạng cảm xúc tìm kiếm tập dữ liệu mẫu, diễn giải các thông số của mô hình, quá trình huấn luyện, quá trình kiểm tra và thiết kế hệ thống nhận dạng cảm xúc thông qua khuôn mặt dùng mạng nơ-ron tích chập. Chương 4: Kết quả: Đưa ra kết quả hình ảnh thực tế về cơ sở dữ liệu, kết quả nhận dạng so với yêu cầu và mục tiêu đã đề ra đối với từng hệ thống trong đề tài.

Chương 5: Kết luận và hướng phát triển: Trình bày các kết quả đạt được của từng hệ thống và hướng phát triển trong đề tài. 5 CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ QUÁ TRÌNH XỬ LÝ ẢNH 2.1 Xử lý ảnh Xử lý ảnh là một hình thức xử lý tín hiệu mà ảnh đầu vào là một hình ảnh và đầu ra của xử lý hình ảnh có thể là một hình ảnh hoặc một tập hợp các đặc tính hoặc tham số liên quan đến hình ảnh [11]. Đây là một phân ngành khoa học mới, rất phát triển trong những năm gần đây. Các chủ đề chính trong trong lĩnh vực xử lý ảnh gồm: Phục hồi hình ảnh, nâng cao chất lượng hình ảnh, nén hình ảnh…Sự phát triển của xử lý ảnh đem lại rất nhiều lợi ích cho cuộc sống con người.

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