1. Trang chủ
  2. » Giáo Dục - Đào Tạo

NHẬN DẠNG BIỂU CẢM KHUÔN MẶT DÙNG MẠNG C-NN

67 9 0

Đ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

Thông tin cơ bản

Tiêu đề Nhận Dạng Biểu Cảm Khuôn Mặt Dùng Mạng C-Nn
Người hướng dẫn PGS-TS: Lê Hoàng Thái
Trường học Đại Học Quốc Gia Tp. Hcm
Chuyên ngành Hệ Thống Thông Tin
Thể loại Đồ Án Thạc Sĩ Công Nghệ Thông Tin
Năm xuất bản 2018
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 67
Dung lượng 2,17 MB

Cấu trúc

  • Chương 1 Giới thiệu đồ án (12)
    • 1.1 Mục tiêu (13)
    • 1.2 Giới hạn (13)
    • 1.3 Cấu trúc đồ án (14)
  • Chương 2 Cơ sở lý thuyết (15)
    • 2.1 Mạng nơ-ron nhân tạo (15)
      • 2.1.1 Giới thiệu về mạng nơ-ron (15)
      • 2.1.2 Một số kiểu mạng nơ-ron (17)
      • 2.1.3 Mạng nơ-ron lan truyền ngược MLP (19)
    • 2.2 Mạng tích chập (24)
      • 2.2.1 Phép tích chập (25)
      • 2.2.2 Kiến trúc mạng tích chập (27)
      • 2.2.3 Quá trình huấn luyện mạng (29)
  • Chương 3 Bài toán nhận dạng biểu cảm (30)
    • 3.1 Các thách thức trong bài toán nhận dạng biểu cảm (30)
    • 3.2 Phân loại (31)
    • 3.3 Một số phương pháp nhận dạng biểu cảm khuôn mặt (32)
    • 3.4 Các bước thực hiện bài toán nhận diện biểu cảm (33)
    • 3.5 Các nghiên cứu gần đây (35)
  • Chương 4 Phương pháp nghiên cứu (40)
    • 4.1 Khởi tạo mẫu tổng hợp (Synthetic sample generation) (41)
    • 4.2 Phép quay (Rotation correction) (43)
    • 4.3 Cắt tỉa hình ảnh (Image Cropping) (44)
    • 4.4 Lấy mẫu xuống (Down-sampling) (45)
    • 4.5 Chuẩn hóa cường độ (Intensity normalization) (45)
    • 4.6 Kiến trúc mạng CNN (46)
  • Chương 5 Kết quả thực nghiệm (51)
    • 5.1 Môi trường thực nghiệm (51)
      • 5.1.1 Cơ sở dữ liệu (51)
      • 5.1.2 Hiện thực code (54)
    • 5.2 Thống kê đánh giá (54)
      • 5.2.1 Không tiền xử lý (55)
      • 5.2.2 Cắt tỉa hình ảnh (56)
      • 5.2.3 Chuẩn hóa cường độ (57)
      • 5.2.4 Chuẩn hóa không gian và cường độ (58)
      • 5.2.5 Chuẩn hóa không gian- cường độ và tổng hợp mẫu (0)
      • 5.2.6 Tăng tốc độ thực thi của mạng (60)
  • Chương 6 Kết luận- Hướng phát triển (64)
    • 6.1 Những vấn đề đạt được trong báo cáo (64)
    • 6.2 Hạn chế và hướng phát triển (64)
      • 6.2.1 Những hạn chế (64)
      • 6.2.2 Hướng phát triển (64)
  • Tài liệu tham khảo (65)

Nội dung

Giới thiệu đồ án

Mục tiêu

Tìm hiểu và nghiên cứu mạng nơ-ron CNN áp dụng cho bài toán nhận diện biểu cảm khuôn mặt

Để cải thiện chất lượng nhận diện biểu cảm khuôn mặt, cần thực hiện một số bước tiền xử lý ảnh khuôn mặt và xây dựng mô hình liên kết các bước này với mạng nơ-ron CNN.

Thực nghiệm trên cơ sở dữ liệu chuẩn để chỉ ra tính khả thi của mô hình.

Giới hạn

This project focuses on facial expression recognition using the methods proposed in the paper "Facial Expression Recognition with Convolutional Neural Networks: Coping with Few Data and the Training Sample Order." Modifications have been made to the structure and parameters to enhance performance when executed on a single CPU.

Cấu trúc đồ án

Chương 1: Giới thiệu sơ lược về bài toán nhận dạng biểu cảm khuôn mặt, ứng dụng của nó trong cuộc sống hàng ngày, mục tiêu, giới hạn và cấu trúc đồ án

Chương 2: Cơ sở lý thuyết: Giới thiệu các lý thuyết cơ bản Những kiến thức cơ bản về mạng nơ-ron, mạng tích chập là tiền đề để biết cách áp dụng bài toán nhận dạng biểu cảm khuôn mặt

Chương 3: Bài toán nhận diện biểu cảm khuôn mặt: Giới thiệu các nghiên cứu về nhận diện biểu cảm khuôn mặt và các thách thức gặp phải

Chương 4: Phương pháp nghiên cứu: Đề xuất các phương pháp tiền xử lý để tăng cơ sở dữ liệu cho quá trình học đồng thời áp dụng kiến trúc mạng tích chập vào xây dựng mô hình học cho việc nhận dạng dạng biểu cảm khuôn mặt

Chương 5: Kết quả thực nghiệm: So sánh, đánh giá kết quả đạt được

Chương 6: Kết luận- Hướng phát triển

Cơ sở lý thuyết

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

2.1.1 Giới thiệu về mạng nơ-ron

Mạng Nơ-ron nhân tạo (ANN) là mô hình xử lý thông tin được phát triển dựa trên hoạt động của hệ thống thần kinh sinh vật, bao gồm nhiều nơ-ron liên kết với nhau để xử lý dữ liệu Giống như bộ não con người, ANN có khả năng học hỏi từ kinh nghiệm thông qua quá trình huấn luyện, giúp nó lưu giữ và áp dụng tri thức để dự đoán các dữ liệu chưa biết.

Mạng nơ-ron được ứng dụng rộng rãi trong nhiều lĩnh vực như điện, điện tử, kinh tế và quân sự, nhằm giải quyết các bài toán phức tạp và yêu cầu độ chính xác cao Chúng đóng vai trò quan trọng trong các lĩnh vực như điều khiển tự động, khai phá dữ liệu và nhận dạng.

Kiến trúc tổng quát của một ANN được mô tả trong hình 2-1 như sau:

Hình 2-1 Kiến trúc mạng nơ-ron nhân tạo

Mỗi nơ-ron trong mạng nơ-ron nhận dữ liệu đầu vào (Input), xử lý và tạo ra một kết quả (output) duy nhất Kết quả này có thể được sử dụng làm đầu vào cho các nơ-ron khác Đầu vào của nơ-ron thường được biểu diễn dưới dạng vector N chiều, bao gồm các tín hiệu đầu vào.

Lớp ẩn trong mạng nơ-ron bao gồm các nơ-ron nhận dữ liệu từ lớp trước và chuyển đổi thông tin cho các lớp xử lý tiếp theo Mỗi nơ-ron hoạt động như một mô hình ra quyết định, phân tích các dữ kiện đầu vào để tạo ra tín hiệu đầu ra Đầu ra của mỗi nơ-ron chỉ có tối đa một giá trị, đóng vai trò quan trọng trong quá trình xử lý dữ liệu.

Xét một nơ-ron đơn giản quyết định việc đi chơi vào cuối tuần dựa trên ba thông tin đầu vào: khả năng tài chính, hoàn thành nhiệm vụ và số bạn bè đi cùng Nơ-ron output sẽ tính toán kết quả thông qua tổ hợp tuyến tính các thông tin đầu vào, với trọng số cho từng thông tin là 0.2 cho khả năng tài chính, 1 cho hoàn thành nhiệm vụ và -0.05 cho số bạn bè đi cùng Kết quả tính toán được thể hiện qua công thức: 0.2 × 3 + 1 × 0.2 + 2 × (−0.05).

Quyết định được đưa ra theo một luật đặt trước tùy ý, ví dụ như output lớn hơn 0.6 thì đi chơi, và ngược lại

Hình 2-2 Cách hoạt động của một nơ-ron

Để đơn giản hóa quá trình cài đặt, giá trị ngưỡng được áp dụng ngay sau phép tổ hợp tuyến tính và so sánh với 0 Giá trị ngưỡng, cụ thể là -0.6 trong trường hợp này, được gọi là hệ số bias Hệ số này thường được tích hợp vào hàm truyền, một thành phần quan trọng dùng để giới hạn đầu ra của mỗi nơ-ron.

Mỗi nơ-ron trong mạng nơ-ron nhân tạo (ANN) đều có một trọng số (𝑤) tương ứng, và tập hợp tất cả các trọng số này được gọi là bộ trọng số Bộ trọng số là yếu tố quan trọng trong ANN, thể hiện mức độ ảnh hưởng của dữ liệu đầu vào trong quá trình xử lý thông tin Ví dụ, nếu trọng số cho thông tin về "tiền" là một số lớn, điều này cho thấy yếu tố tài chính có ảnh hưởng lớn hơn so với các yếu tố khác Quá trình hoạt động của ANN thực chất là quá trình điều chỉnh các trọng số của dữ liệu đầu vào để đạt được kết quả mong muốn.

Ban đầu, bộ trọng số và bias được khởi tạo ngẫu nhiên Qua quá trình huấn luyện với dữ liệu, các trọng số và bias sẽ được cập nhật, giúp cải thiện độ chính xác của các dự đoán.

Hàm tổng của một nơ-ron được tính bằng cách nhân các đầu vào với trọng số tương ứng Đối với nhiều nơ-ron trong cùng một lớp, hàm tổng được tính theo công thức 2.1.

𝑌 𝑗 = ∑ 𝑛 𝑖=1 𝑥 𝑖 𝑤 𝑖𝑗 (2.1) 2.1.2 Một số kiểu mạng nơ-ron

Các nơ-ron trong mạng có thể được kết nối theo hai cách: kết nối đầy đủ, trong đó mỗi nơ-ron của lớp trước liên kết với tất cả nơ-ron ở lớp sau, hoặc kết nối cục bộ, chỉ liên kết giữa các nơ-ron trong các lớp khác nhau.

• Tự kết hợp (autoassociative): là mạng có các nơ-ron đầu vào cũng là các nơ-ron đầu ra Mạng Hopfield là một kiểu mạng tự kết hợp

Hình 2-3 Mạng tự kết hợp

Heteroassociative networks are characterized by separate input and output neuron sets Examples of this type include Perceptrons, MultiLayer Perceptrons (MLP), and Kohonen networks.

Hình 2-4 Mạng kết hợ pkhác kiểu

Tùy thuộc vào sự hiện diện của các kết nối ngược từ nơ-ron đầu ra đến nơ-ron đầu vào, mạng được phân thành hai loại kiến trúc khác nhau.

Kiến trúc truyền thẳng (feedforward architecture) là loại kiến trúc mạng nơ-ron không có kết nối ngược từ nơ-ron đầu ra về nơ-ron đầu vào Trong kiểu kiến trúc này, mạng không lưu trữ các giá trị đầu ra trước đó hay trạng thái kích hoạt của nơ-ron Điều này cho phép tín hiệu di chuyển theo một hướng duy nhất, từ đầu vào đến đầu ra.

8 đầu ra, đầu ra của một tầng bất kì sẽ không ảnh hưởng tới tầng đó Các mạng kiểu Perceptron là mạng truyền thẳng

Kiến trúc phản hồi (Feedback architecture) là một loại kiến trúc mạng có kết nối giữa nơ-ron đầu ra và nơ-ron đầu vào, cho phép mạng lưu trữ các trạng thái trước đó Trong kiểu kiến trúc này, trạng thái tiếp theo không chỉ phụ thuộc vào tín hiệu đầu vào mà còn vào các trạng thái trước đó của mạng Mạng Hopfield là một ví dụ điển hình của kiến trúc phản hồi này.

2.1.3 Mạng nơ-ron lan truyền ngược MLP

Mô hình mạng nơ-ron MLP (Multi Layer Perceptron) là mô hình được sử dụng phổ biến nhất

Một mạng MLP thông thường có ít nhất 1 tầng ẩn

Mạng nơ-ron lan truyền ngược MLP nhận đầu vào là các vector (x1, x2, xn) trong không gian n chiều và đầu ra là các vector (y1, y2, …ym) trong không gian m chiều Trong bài toán nhận dạng biểu cảm khuôn mặt, đầu vào là các bức ảnh kích thước 32x32, và nhiệm vụ của mạng là phân loại các mẫu này vào 7 lớp biểu cảm khác nhau: giận, khinh, ghét, sợ, vui, buồn, và ngạc nhiên.

Có ba phương thức học phổ biến là học có giám sát (supervised learning), học không giám sát (unsupervised learning) và học tăng cường (reinforcement learning)

Học có giám sát (Supervised learning): là thuật toán dự đoán đầu ra từ dữ liệu đầu dựa trên các cặp dữ liệu vào-ra đã biết trước

Mạng tích chập

Mạng tích chập (Convolutional Neural Networks-CNN hoặc ConvNet) là một trong những thuật toán phổ biến của mô hình học sâu, kiến trúc mạng này

Kỹ thuật 14 thường được áp dụng trong việc xử lý các bài toán dữ liệu có cấu trúc dạng lưới như tín hiệu số, hình ảnh, và đặc biệt là trong phân loại dữ liệu hình ảnh, video và âm thanh.

Tích chập, lần đầu tiên được áp dụng trong xử lý tín hiệu số, đã trở thành một kỹ thuật quan trọng trong xử lý ảnh và video nhờ vào nguyên lý biến đổi thông tin Để hình dung rõ hơn, tích chập có thể được hiểu như một cửa sổ trượt trên một ma trận Phép tính tích chập giữa ảnh I và bộ lọc K được thể hiện trong công thức 2.4.

Ví dụ: Phép tích chập 2D: I(5x5) và K(3x3) với độ dài bước di chuyển stride

=1, ta có kết quả khi K*I

Hình 2-11 Phép tích chập 2 chiều

Khi độ dài bước di chuyển gây ra thiếu hụt dữ liệu cho các nơ-ron ở vị trí ngoài cùng, bạn có thể thêm các biên giá trị 0 Kích thước của phép tích chập được xác định theo công thức 2.5.

Ví dụ phép tích chập với ảnh 3D với I (5x5) và K(3x3) Padding:1 và Stride:2

Hình 2-12 Phép tích chập 3 chiều

Dựa trên nguyên lý rằng các điểm ảnh gần nhau có độ tương đồng cao hơn về cường độ và màu sắc so với các điểm ảnh ở xa, phép tích chập trên 𝐼 cho phép chúng ta xác định mối quan hệ giữa các phần tử gần nhau trong 𝐼.

Vì phép tích chập phụ thuộc vào bộ lọc K nên khi thay đổi giá trị K thì kết quả đem lại sẽ khác nhau

Hình 2-13 Hình ảnh gốc bị biến đổi sau phép tích chập khác nhau

2.2.2 Kiến trúc mạng tích chập

Mạng CNN, được phát triển dựa trên phép tính tích chập, ngày càng trở nên phổ biến nhờ khả năng rút trích đặc trưng hiệu quả từ ảnh gốc Công nghệ này cho phép phân lớp và nhận diện đối tượng, gương mặt cùng biểu cảm thông qua ba đặc điểm chính.

- Loại bỏ tính năng khai thác thủ công- tự động rút trích đặc trưng nhờ các bộ lọc

- Đem lại kết quả đáng công nhận cho bài toán nhận diện

- Có thể xây dựng thêm đặc điểm nhận dạng mới từ mô hình đã có

3 https://www.mathworks.com/solutions/deep-learning/convolutional-neural-network.html

Hình 2-14 Quá trình tự học đặc trưng và phân lớp

Cấu trúc mạng CNN tương tự như mạng nơ-ron thông thường, nhưng thay vì kết nối trực tiếp qua trọng số, các layer được liên kết thông qua cơ chế tích chập Đầu ra của lớp tích chập sẽ là đầu vào cho lớp kế tiếp, cho phép mỗi layer rút trích các đặc trưng khác nhau dựa trên bộ lọc đã chọn Các bộ lọc này có thể từ đơn giản như biên của hình ảnh đến phức tạp hơn như viền gương mặt, vị trí mắt, miệng và chân mày Kiến trúc cơ bản của mạng tích chập được thể hiện trong hình 2.

Hình 2-15 Ví dụ mạng tích chập nhiều tầng

Tầng tích chập (Convolution) được thiết kế để trích xuất các đặc trưng cơ bản như cạnh định hướng, điểm kết thúc, góc và hình dạng thông qua phép tích chập Các bộ lọc thực hiện quá trình này chuyển đổi dữ liệu từ tầng trước thành dữ liệu ở tầng kế tiếp, được gọi là feature map Mỗi bộ lọc với chức năng khác nhau sẽ tạo ra các feature map khác nhau, và chúng hoạt động như các trọng số trong quá trình xử lý.

Trong nhận dạng khuôn mặt, các đặc trưng như hình dạng và góc cạnh của mắt, lông mày và môi là rất quan trọng Khi các đặc trưng này được phát hiện, khoảng cách giữa chúng trở nên đáng chú ý hơn là vị trí chính xác của từng đặc trưng Chẳng hạn, khoảng cách từ mắt đến lông mày có thể chỉ ra sự biểu hiện bất ngờ, trong khi vị trí chính xác của lông mày lại không quan trọng Điều này có thể gây ra vấn đề, vì vị trí có thể thay đổi tự nhiên giữa các đối tượng trong cùng một biểu hiện.

Tầng ReLu (Rectified Linear Unit) giúp tăng tốc quá trình huấn luyện mạng bằng cách loại bỏ các giá trị bằng 0 và giữ lại những giá trị có tác động mạnh, từ đó nâng cao hiệu quả của mô hình.

Tầng giảm (Pooling) giúp giảm độ phân giải không gian của bộ lọc, từ đó tăng cường các bất biến cục bộ Phép pooling tính toán giá trị đặc trưng của một vùng dữ liệu và sử dụng giá trị này để đại diện cho vùng đó Hai loại pooling phổ biến hiện nay là max pooling.

- lấy giá trị lớn nhất trên nhiều nơ-ron và average pooling - lấy giá trị trung bình của nhiều nơ-ron

Tầng kết nối toàn diện (Fully connected): gần giống với mạng nơ ron truyền thống, các nơ-ron kết nối hoàn toàn với lớp trước

2.2.3 Quá trình huấn luyện mạng

Tiến trình học của mạng tích chập tập trung vào việc tối ưu hóa trọng số để đạt hiệu suất tốt nhất Phương pháp học tăng cường có thể được mô tả thông qua kỹ thuật gradient descent.

Thuật toán lan truyền tiến và lan truyền ngược trong mạng tích chập có sự khác biệt so với mạng kết nối đầy đủ, chủ yếu ở các tầng tích chập và pooling Tuy nhiên, tư tưởng cơ bản của hai thuật toán này vẫn giữ nguyên.

Trong suốt quá trình huấn luyện, CNN sẽ tự động học các thông số cho các filter

Bài toán nhận dạng biểu cảm

Các thách thức trong bài toán nhận dạng biểu cảm

Nhận dạng biểu cảm là một nhiệm vụ dễ dàng đối với con người nhưng lại gặp nhiều khó khăn với máy tính, mặc dù một số phương pháp gần đây đạt độ chính xác trên 95% trong điều kiện lý tưởng như mặt người chính diện và môi trường kiểm soát Sự thiếu thống nhất trong phương pháp đánh giá và việc sử dụng các bộ dữ liệu khác nhau gây ra sự nhầm lẫn về độ chính xác Độ chính xác thấp có thể xuất phát từ dữ liệu trong môi trường không kiểm soát và các vấn đề trong đánh giá chéo Việc phân tách các đặc trưng biểu cảm trên gương mặt vẫn là một thách thức lớn, vì đặc trưng của hai biểu cảm khác nhau có thể rất gần nhau, trong khi đặc trưng của hai người với cùng một biểu cảm lại có thể khác biệt rõ rệt Hơn nữa, một số biểu cảm như "buồn" và "sợ hãi" hay "khinh" và "ghét" có thể có sự tương đồng trong một số trường hợp.

Hình 3-1 trình bày ba đối tượng với biểu cảm vui vẻ, thể hiện sự khác biệt rõ rệt không chỉ ở cách biểu cảm mà còn do ảnh hưởng của ánh sáng, góc chụp và nền Các bức ảnh được thu thập từ bộ dữ liệu CK+, JAFF và BU-3DFE.

Hình 3-1 minh họa ba người với biểu cảm vui vẻ, cho thấy sự khác biệt rõ rệt không chỉ ở cách biểu cảm mà còn do tác động của ánh sáng, góc chụp và nền Điều này cũng phản ánh một thách thức trong việc đánh giá biểu cảm của con người, khi không thể kiểm soát các kịch bản trong quá trình huấn luyện và kiểm thử, vì hình ảnh huấn luyện có thể khác biệt về điều kiện môi trường và dân tộc Để đánh giá nhận dạng biểu cảm gương mặt một cách chính xác, cần thực hiện huấn luyện với cùng một bộ dữ liệu và kiểm tra với bộ dữ liệu khác, có thể từ một dân tộc khác.

Bài toán xác định biểu cảm khuôn mặt không chỉ dừng lại ở 7 cảm xúc cơ bản mà còn mở rộng ra nhiều cảm xúc đa dạng khác Việc phân lớp biểu cảm này đòi hỏi sự chính xác và tinh tế, nhằm nhận diện đầy đủ các trạng thái cảm xúc phong phú của con người.

Phân loại

Hệ thống nhận diện biểu cảm mặt người có thể được chia thành 2 loại:

Phương pháp dựa trên ảnh tĩnh không cần sử dụng thông tin thời gian, vector đặc trưng chỉ lưu thông tin thời điểm hiện tại ảnh đầu vào

Phương pháp ảnh động ghi lại biểu cảm qua thông tin thời điểm của các khung hình, cho phép hệ thống nhận diện biểu cảm tự động nhận đầu vào là ảnh động hoặc ảnh tĩnh Hệ thống này có khả năng phân loại các biểu cảm cơ bản như giận, buồn, ngạc nhiên, vui, ghét, và sợ, trong khi một số hệ thống cũng có thể nhận diện biểu cảm trung tính.

Một số phương pháp nhận dạng biểu cảm khuôn mặt

Nhiều phương pháp đã được nghiên cứu để giải quyết bài toán nhận diện biểu cảm khuôn mặt, bao gồm việc sử dụng các đơn vị vận động (Action Units - AU), PCA, AAM kết hợp với tương quan điểm, và các phương pháp học tăng cường khác Mỗi phương pháp đều có những ưu điểm và nhược điểm riêng Đặc biệt, phương pháp sử dụng mạng tích chập để huấn luyện, như trong nghiên cứu này, gặp nhiều khó khăn và tốn kém do yêu cầu cần nhiều người mẫu, trong khi khả năng diễn đạt cảm xúc của họ không phải lúc nào cũng tốt.

Phương pháp dựa trên đặc trưng ảnh: phân tích thành phần chính PCA, sau đó huấn luyện bằng các thuận toán học

Phương pháp Action Units (AU) là cách nhận dạng biểu cảm thông qua chuyển động của khuôn mặt, với tổng cộng 64 AU Mỗi AU bao gồm sự kết hợp của nhiều cơ mặt, như minh họa trong hình 3-2 Cảm xúc được xác định bằng cách đếm số AU xuất hiện đồng thời tại một thời điểm, mỗi sự kết hợp tương ứng với một biểu cảm cụ thể.

Hình 3-2 Ví dụ về một số AU trên tập dữ liệu CK

Phương pháp sử dụng mô hình AAM kết hợp với tương quan điểm giúp phát hiện khuôn mặt và nhận dạng biểu cảm thông qua tỷ lệ giữa các điểm như hai mắt, lông mày, miệng và mũi.

Kỹ thuật mạng đa lớp sâu (Deep multi-layer neural network) đã được áp dụng thành công trong nhận diện biểu cảm gương mặt Phương pháp này bao gồm ba bước chính: học, chọn và phân lớp, tất cả được thực hiện trong một bước duy nhất.

Các bước thực hiện bài toán nhận diện biểu cảm

Mô hình tổng quan nhận dạng biểu cảm gương mặt có thể hiểu như sau:

Hình 3-3 Mô hình tổng quan nhận dạng biểu cảm

Phân tích biểu cảm gương mặt tự động gồm ba bước:

Hình 3-4 Các bước phân tích biểu cảm gương mặt

Thu thập có thể được chia thành 2 bước lớn như sau: định dạng gương mặt và định vị phần đầu

Hệ thống nhận diện biểu cảm gương mặt cơ bản bao gồm ba giai đoạn huấn luyện: học đặc trưng, chọn đặc trưng và xây dựng phân lớp Giai đoạn học đặc trưng tập trung vào việc khai thác các đặc trưng liên quan đến biểu cảm gương mặt, trong khi giai đoạn chọn đặc trưng xác định những đặc trưng tốt nhất để thể hiện biểu cảm Để nâng cao độ chính xác trong nhận diện biểu cảm, cần hạn chế biến thể nội bộ của biểu cảm và tăng cường biến thể liên bộ, đồng thời làm nhỏ biến thể của ảnh đầu vào.

Phát hiện khuôn mặt Tiền xử lý ảhn Phân tích biểu cảm Biểu cảm

Thu thập Trích xuất-biểu hiện Nhận dạng

Biểu cảm khuôn mặt nội bộ là một thách thức lớn do sự khác biệt rõ rệt trong hình ảnh của các cá thể khác nhau với cùng một biểu cảm Việc mở rộng các biến thể liên bộ cũng gặp khó khăn, vì hình ảnh của một người với các biểu cảm khác nhau có thể tương tự với hình ảnh của người khác Cuối cùng, các đặc trưng được chọn sẽ được sử dụng để phân lớp và suy luận về biểu cảm khuôn mặt.

Các nghiên cứu gần đây

Trong thập niên gần đây, nghiên cứu về nhận dạng biểu cảm gương mặt đã có những bước tiến đáng kể nhờ vào sự phát triển của các phương pháp học sâu, đặc biệt là mạng tích chập Sự khả thi của các nghiên cứu này được hỗ trợ bởi lượng dữ liệu lớn hiện có, cho phép áp dụng hiệu quả các phương pháp huấn luyện Bên cạnh đó, việc sử dụng kỹ thuật GPU cũng giúp nâng cao hiệu suất tính toán với chi phí thấp trong quá trình huấn luyện mạng có kiến trúc sâu.

Một số nghiên cứu hiện nay tập trung vào môi trường không thể kiểm soát, bao gồm mặt không chính diện, hình ảnh chồng chéo và biểu hiện tự phát Những vấn đề này vẫn đang đặt ra nhiều thách thức Hướng nghiên cứu này nhằm kiểm soát môi trường và đánh giá sự khác biệt giữa các nhóm dân tộc khác nhau.

Một phương pháp tạo ra danh sách phân lớp được gọi là phân lớp yếu, với mỗi phân lớp chịu trách nhiệm cho một phân lớp biểu cảm trong mô hình Boosted deep belief network (BDBN) Quá trình học diễn ra qua ba bước: học đặc trưng, chọn đặc trưng và xây dựng phân lớp, tất cả trong một lớp duy nhất Các thí nghiệm được thực hiện trên hai bộ dữ liệu tĩnh công khai là Cohn-Kanade và JAFFE, đạt độ chính xác lần lượt là 96.7% và 91.8% Tất cả hình ảnh được xử lý dựa vào tọa độ mắt đã cho, được canh chỉnh và cắt tỉa Quá trình đào tạo và kiểm tra sử dụng phân lớp nhị phân, với thời gian huấn luyện mạng kéo dài tám ngày.

Hệ thống nhận diện biểu cảm gương mặt (giận, vui, buồn, ngạc nhiên và trung tính) được phát triển dựa trên mạng nơ-ron tích chập (CNN) và có khả năng hoạt động trên điện thoại thông minh Mạng lưới bao gồm 5 lớp với 65.000 tế bào thần kinh, trong đó các kỹ thuật tăng cường dữ liệu và phương pháp drop-out đã được áp dụng trong quá trình huấn luyện Các thử nghiệm được thực hiện trên bộ dữ liệu CK+ với độ chính xác đạt 99,2%, mặc dù có sự chồng chéo giữa các đối tượng trong tập huấn luyện, cùng với một số bộ dữ liệu khác do tác giả tạo ra.

Kiến trúc mạng CNN mới của Burket [8] hoàn toàn độc lập với các đặc trưng hình ảnh gốc, bao gồm bốn phần: phần tiền xử lý dữ liệu tự động và ba phần còn lại tham gia vào quá trình trích xuất đặc trưng Kiến trúc này có 15 lớp, trong đó có 7 lớp tích chập, 5 lớp pooling, 2 lớp kết nối và 1 lớp thông thường Phương pháp được đánh giá với CK+ và MMI, đạt tỷ lệ chính xác 99.6% và 98.63% Tuy nhiên, một hạn chế quan trọng là không đảm bảo rằng các đối tượng trong quá trình huấn luyện không được sử dụng trong quá trình kiểm tra, điều này cần được xem xét để đánh giá hợp lý các phương pháp nhận diện khuôn mặt.

Liu và cộng sự đã đề xuất một mạng học sâu để nhận diện biểu cảm khuôn mặt, dựa trên các đơn vị hành động (AU) Phương pháp này tối ưu hóa việc học sự biến đổi thông tin cục bộ, giúp mô tả chính xác hơn về nhận dạng biểu cảm Các thí nghiệm được thực hiện với phương pháp kiểm tra chéo không trùng lặp giữa các nhóm huấn luyện và kiểm tra, đánh giá sáu biểu cảm cơ bản Kết quả cho thấy phương pháp đạt độ chính xác cao, lên tới 93.7% với bộ dữ liệu CK+.

Ali đã đề xuất một bộ sưu tập mạng nơ-ron tăng cường nhằm nhận biết biểu hiện khuôn mặt đa sắc tộc Mô hình này bao gồm ba bước: đầu tiên, tập hợp các mạng nơ-ron nhị phân được huấn luyện.

Bài viết trình bày 26 dự đoán kết hợp các mạng nơ-ron thành một bộ duy nhất nhằm phát hiện sự có mặt của biểu hiện Cơ sở dữ liệu biểu hiện khuôn mặt đa sắc tộc được xây dựng từ ba CSDL khác nhau, bao gồm hình ảnh của người Nhật (JAFFE), Đài Loan (TFEID) và người khác.

Các tác giả nghiên cứu về biểu hiện cảm xúc của người Caucasian (RAFD) và người Ma rốc, nhận diện năm cảm xúc chính: tức giận, vui, buồn, bất ngờ và sợ hãi Trong lần đầu tiên, hệ thống được huấn luyện và đánh giá trên cơ sở dữ liệu sắc tộc, đạt độ chính xác cao 93.75% Thực nghiệm thứ hai đánh giá phương pháp trong môi trường ít kiểm soát, với việc huấn luyện trên hai cơ sở dữ liệu (TFIID và RaFD) và đạt độ chính xác 48.67% khi đánh giá trên JAFF.

Shan và cộng sự đã sử dụng mô hình nhị phân cục bộ (Local Binary Patterns - LBP) để trích xuất đặc trưng trong nghiên cứu nhận dạng biểu cảm trên gương mặt Họ đã so sánh các kỹ thuật máy học như kết hợp mẫu, support vector machine (SVM), phân tích phân biệt tuyến tính và lập trình tuyến tính Nghiên cứu cũng phân tích tác động của độ phân giải hình ảnh đến độ chính xác, cho thấy rằng các phương pháp dựa trên tính năng hình học không hiệu quả với hình ảnh có độ phân giải kém, trong khi các phương pháp như biểu đồ Gabor và LBP không bị ảnh hưởng bởi độ phân giải Kết quả tốt nhất đạt được là 95.1% với SVM và LBP trên bộ dữ liệu CK+ Khi sử dụng dữ liệu chéo (huấn luyện với CK+ và kiểm tra với JAFFE), độ chính xác đạt được là 41.3% Hình ảnh được cắt tỉa dựa trên vị trí mắt và thực nghiệm được thiết lập với kế hoạch kiểm tra chéo 10 lần mà không trùng nhau, tuy nhiên, thời gian huấn luyện và nhận dạng chưa được đề cập.

Hệ thống nhận diện biểu cảm gương mặt dựa trên video được đề xuất bởi Byeon và Kwak [12] Họ phát triển mô hình 3D-CNN với 1 chuỗi hình ảnh (từ

Nghiên cứu sử dụng 5 khung hình liên tiếp làm đầu vào cho mạng CNN 3D, với kích thước đầu vào là H*W*5, trong đó H và W lần lượt là chiều cao và chiều rộng của hình ảnh Phương pháp 3D-CNN được cho là có khả năng xử lý các biến đổi và thay đổi bất biến, đạt được độ chính xác lên đến 95% Tuy nhiên, phương pháp này phụ thuộc vào một trình tự chứa toàn bộ chuyển động từ trạng thái trung tính đến biểu hiện Thí nghiệm được thực hiện với 10 người và chỉ dựa trên dữ liệu thông thường, nhưng không đề cập đến thời gian huấn luyện và nhận dạng.

Một hướng nghiên cứu mới liên quan đến video là việc áp dụng khung thời gian-không gian, dựa trên biểu đồ gradient và dòng chảy quang học.

Phương pháp tích hợp ba bước bao gồm tiền xử lý, trích xuất đặc trưng và phân lớp Trong bước tiền xử lý, việc phát hiện và canh chỉnh khuôn mặt nhằm giảm thiểu biến đổi đầu ra đã được thực hiện Giai đoạn khai thác đặc trưng sử dụng một khuôn khổ tích hợp thông tin động từ các biểu thức trên khuôn mặt Cuối cùng, phân lớp được thực hiện bằng SVM với kernel RBF Các thử nghiệm được thực hiện trên CSDL CK+ và MMI, với độ chính xác đạt được lần lượt là 83.7% cho 7 biểu cảm trong CSDL CK+ và 74.3% trong CSDL MMI Thời gian nhận diện biểu cảm là khoảng 350 ms cho mỗi hình ảnh trong CSDL CK+ và 520 ms trong CSDL MMI, trong khi thời gian đào tạo không được đề cập.

Phương pháp của André Teixeira Lopes đạt độ chính xác gần 100% trong cơ sở dữ liệu CK+ và JAFFE mà không có sự trùng lặp dữ liệu giữa tập huấn luyện và kiểm tra, đồng thời thời gian huấn luyện và đánh giá cũng rất ngắn.

Phương pháp Độ chính xác Nhận xét

CNN trên Smartphone [6] 99.2% Chồng chéo các đối tượng

CNN: 15 lớp [8] 99.6% Chồng chéo các đối tượng

Bộ sưu tập các mạng nơ-ron [5] 93.75%

Dòng chảy quang học video [11] 83.7%

Bảng 1: Bảng so sánh độ chính xác giữa các phương pháp nghiên cứu

Phương pháp nghiên cứu

Khởi tạo mẫu tổng hợp (Synthetic sample generation)

Một trong những thách thức lớn của phương pháp học sâu là yêu cầu một lượng lớn dữ liệu trong giai đoạn đào tạo Tuy nhiên, lượng dữ liệu có sẵn từ các bộ dữ liệu công cộng thường không đủ để áp dụng hiệu quả Để khắc phục vấn đề này, chúng ta có thể sử dụng kỹ thuật tăng cường dữ liệu bằng cách tạo ra các hình ảnh tổng hợp thông qua các phép biến đổi như quay, dịch chuyển và co giãn.

Bài báo cáo này sử dụng mô hình AAM để xác định các điểm mắt trái và phải, từ đó tạo ra nhiễu ngẫu nhiên xung quanh vị trí trung tâm của mắt Qua việc áp dụng 7 giá trị điểm cho mỗi mắt, bao gồm cả trung tâm, chúng tôi đã tạo ra 49 hình ảnh tổng hợp bổ sung.

Trong hình 4-2, điểm cho hai mắt được tạo ra thông qua sự kết hợp của các điểm xung quanh vị trí trung tâm ban đầu Vị trí trung tâm của mắt được xác định bằng cách tính toán trọng tâm của các điểm lân cận, dẫn đến việc hình thành các giá trị mới.

Quy trình chuẩn hóa không phải là trung tâm mắt thực, dẫn đến việc hình ảnh kết quả có thể bị làm nhiễu bởi các yếu tố như chuyển đổi, vòng quay hoặc co giãn Điều này có thể gây ra độ lệch lớn cho mỗi mắt, dẫn đến sự dịch chuyển, quay hoặc co giãn quá nhiều trong hình ảnh, làm cho việc tìm kiếm các đặc trưng phân lớp trở nên phức tạp hơn.

Hình 4-2 Minh họa khởi tạo mẫu từ các điểm đặc trưng mắt

Hình 4-3 Minh họa khởi tạo mẫu tổng hợp

Phép quay (Rotation correction)

Trong cơ sở dữ liệu hình ảnh, sự thay đổi về góc độ, độ sáng và kích thước của hình ảnh, ngay cả khi chụp cùng một đối tượng, có thể ảnh hưởng đến độ chính xác của hệ thống nhận diện khuôn mặt Để khắc phục vấn đề này, việc căn chỉnh vùng khuôn mặt với phương ngang và điểm trung tâm của hai mắt là cần thiết nhằm sửa các vấn đề hình học như phép quay và phép chuyển đổi Quá trình căn chỉnh này yêu cầu thông tin về hình ảnh khuôn mặt và vị trí trung tâm của hai mắt, mặc dù có nhiều phương pháp chính xác để xác định các điểm trên gương mặt, nhưng đó không phải là trọng tâm của bài báo cáo này.

Để căn chỉnh mặt, một phép biến đổi quay được áp dụng nhằm điều chỉnh vị trí mắt với trục ngang của hình ảnh, kết hợp với một dịch chuyển affine dựa trên vị trí của mắt để tập trung vào một điểm cụ thể trên khuôn mặt Phép quay giúp tạo ra góc giữa đoạn thẳng từ trung tâm mắt đến điểm cần tập trung và trục ngang là 0 Việc loại bỏ các phép quay và chuyển đổi không liên quan đến biểu cảm khuôn mặt là cần thiết để đảm bảo độ chính xác của hệ thống Thủ tục hiệu chỉnh xoay được minh họa trong hình 4-3.

Hình 4-4 Ví dụ hiệu chỉnh quay

Quy trình này có thể sử dụng đầu vào là hình ảnh gốc hoặc hình ảnh tổng hợp Việc điều chỉnh quay cho hình ảnh tổng hợp thường gặp khó khăn trong việc canh chỉnh hoàn hảo với trục ngang, do trung tâm mắt có thể bị nhiễu bởi các điểm ngẫu nhiên Kết quả là hình ảnh bị xáo trộn do phép quay và chuyển đổi, dẫn đến tăng biến thể trong các ví dụ huấn luyện.

Cắt tỉa hình ảnh (Image Cropping)

Hình ảnh ban đầu chứa nhiều thông tin cơ bản không quan trọng cho quá trình phân lớp biểu cảm, dẫn đến giảm độ chính xác trong việc phân biệt giữa lớp nền và lớp làm nổi Sau khi cắt tỉa, các phần hình ảnh không chứa thông tin biểu cảm cụ thể đã được loại bỏ, giúp xác định khu vực quan tâm dựa trên tỷ lệ khoảng cách giữa mắt Phương pháp này cho phép xử lý hiệu quả các đối tượng khác nhau.

Quá trình điều chỉnh kích thước hình ảnh không cần sự can thiệp của con người được giới hạn bởi các yếu tố cụ thể Vùng cắt dọc được xác định bởi yếu tố 4.5, với 1.3 cho vùng phía trên mắt và 3.2 cho khu vực bên dưới, áp dụng cho khoảng cách trung bình giữa hai điểm mắt và trung tâm phải Vùng cắt ngang được quy định bởi yếu tố 2.4, sử dụng khoảng cách tương tự Các giá trị yếu tố này được xác định thông qua nghiên cứu thực nghiệm, như minh họa trong hình 4-4.

Hình 4-5 Minh họa cắt tỉa hình ảnh

Lấy mẫu xuống (Down-sampling)

Lấy mẫu xuống là quá trình giảm kích thước hình ảnh để chuẩn hóa quy mô, đảm bảo các thành phần khuôn mặt như mắt, miệng, và lông mày có vị trí đồng nhất trong tất cả các hình ảnh Phương pháp nội suy tuyến tính được áp dụng trong quá trình này, giúp xác định vị trí trung tâm của mắt một cách chính xác Điều này hỗ trợ mạng nơ-ron tích chập (CNN) trong việc học các vùng quan trọng liên quan đến biểu cảm Cuối cùng, các hình ảnh sau khi lấy mẫu xuống sẽ có kích thước 32x32 pixel.

Chuẩn hóa cường độ (Intensity normalization)

Độ sáng và độ tương phản của hình ảnh có thể thay đổi, ngay cả khi chụp cùng một người với cùng một biểu cảm, dẫn đến sự biến đổi đáng kể trong cách thể hiện hình ảnh.

35 thiên của vector đặc trưng làm tăng tính phức tạp trong việc phân lớp, chỉ giải quyết vấn đề biểu cảm gương mặt Để giảm thiểu những khó khăn này, một chuẩn mực cường độ đã được áp dụng.

Hình 4-6 Minh họa phép chuẩn hóa cường độ

Kiến trúc mạng CNN

Cấu trúc mạng CNN được minh họa trong hình 4-13, với đầu vào là ảnh xám kích thước 32x32 và đầu ra là biểu cảm Biểu cảm trong hình ảnh được xác định bởi lớp có giá trị lớn nhất Kiến trúc của CNN bao gồm 2 lớp tích chập, 2 lớp lấy mẫu phụ và một lớp kết nối hoàn chỉnh.

Hình 4-7 Đầu vào của mạng

Lớp đầu tiên của CNN là một lớp tích chập, sử dụng tích chập kernel 5x5 và xuất ra 32 hình ảnh có 28x28 điểm ảnh

Hình 4-8 Hình ảnh đầu vào kết hợp tích chập 5x5

Trong quá trình xử lý ảnh, các điểm đầu vào sẽ được kết nối với tầng ẩn, nhưng thay vì kết nối từng điểm ảnh với mọi nơ-ron, ta chỉ kết nối trong một vùng nhỏ 5x5 Cửa sổ trượt feature map sẽ di chuyển trên toàn bộ bức ảnh, mỗi lần trượt sẽ thu về một giá trị nơ-ron tương ứng.

Hình 4-9 Minh họa trượt cửa sổ kernel lần 1

Hình 4-10 Minh họa trượt cửa sổ kernel lần 2

Từ một ảnh đầu vào kích thước 32x32 và một kernel 5x5, ta thu được 28x28 nơ-ron trong lớp ẩn Để nhận dạng biểu cảm hiệu quả, cần nhiều hơn một bản đồ đặc trưng, do đó, một tích chập yêu cầu sử dụng 32 bản đồ đặc trưng.

Hình 4-11 Qua tích chập ta tạo được 32x28x28 nơ-ron

Lớp mẫu nhỏ sử dụng max-pooling với kích thước kernel 2x2 giúp giảm kích thước hình ảnh xuống một nửa Cụ thể, từ 28x28 nơ-ron đầu ra của mỗi feature map từ lớp tích chập trước, sau khi áp dụng pooling, kích thước nơ-ron được thu hẹp còn 14x14.

Hình 4-12 Kích thước ảnh đầu vào sau lớp tích chập và giảm chiều

Một lớp tích chập mới thực hiện 64 tích chập với kernel 7x7 để ánh xạ lớp trước và lớp mẫu phụ với kernel 2x2 Các đầu ra từ lớp này được cung cấp cho một lớp ẩn kết nối đầy đủ với 256 nơ-ron Cuối cùng, mạng có 7 đầu ra, mỗi đầu ra đại diện cho một biểu cảm, được kết nối hoàn toàn với lớp trước đó.

Hình 4-13 Kiến trúc mạng đề xuất

Lớp đầu tiên của mạng tích chập đóng vai trò quan trọng trong việc trích xuất các đặc trưng cơ bản như cạnh định hướng, điểm kết thúc, góc và hình dạng Trong nhận dạng khuôn mặt, các đặc trưng chủ yếu được phát hiện bao gồm hình dạng và góc cạnh của mắt, lông mày và môi Khi các đặc trưng này được nhận diện, vị trí chính xác của chúng không còn quan trọng, mà khoảng cách giữa các đặc trưng lại trở thành yếu tố then chốt, ví dụ như khoảng cách giữa lông mày và các đặc trưng khác trên khuôn mặt.

Khoảng cách từ mắt đến các đối tượng không quan trọng, nhưng sự khác biệt lớn có thể chỉ ra những biểu hiện bất ngờ Vị trí này không chỉ không liên quan mà còn có thể gây ra vấn đề, vì nó có thể thay đổi một cách tự nhiên giữa các đối tượng khác trong cùng một biểu hiện.

Lớp thứ hai (lớp lấy mẫu phụ) làm giảm độ phân giải không gian của bản đồ đặc trưng

Lớp kế tiếp trong mạng nơ-ron tích chập thực hiện các hoạt động tương tự như lớp đầu tiên, nhưng tập trung vào việc xử lý các đặc trưng phức tạp hơn, nhận diện các phần tử theo ngữ cảnh thay vì chỉ dựa vào hình dạng, cạnh và góc Sự kết hợp của các lớp chập và mẫu phụ giúp đạt được mức độ bất biến cao đối với các biến đổi hình học của dữ liệu đầu vào.

Lớp ẩn cuối cùng, hay còn gọi là lớp kết nối hoàn chỉnh, nhận diện và tổng hợp các đặc trưng đã học, từ đó đánh giá mức độ tin cậy của từng đặc trưng trong các biểu hiện đã được phân tích.

Mạng này áp dụng phương pháp SGD để tính toán trọng số synaptic giữa các nơ-ron Các giá trị khởi tạo cho các khớp thần kinh trong các lớp tích chập và lớp kết nối đầy đủ được tạo ra thông qua bộ lọc tự động, dựa trên số lượng nơ-ron đầu vào và đầu ra Hàm mất mát được xác định bằng hàm logistic của đầu ra soft-max.

Kết quả thực nghiệm

Môi trường thực nghiệm

Các thí nghiệm trong nghiên cứu nhận dạng khuôn mặt đã sử dụng CSDL công khai Cohn-Kanade (CK+) để đánh giá độ chính xác Độ chính xác này được xác định thông qua một phân lớp nhằm phân loại tất cả các biểu hiện đã được học.

Sử dụng thư viện Computing Toolbox Matlab để chuẩn bị trước có thể tăng tốc độ xử lý trên GPU, CK+ và thư viện CNN Tất cả các thí nghiệm được thực hiện trên bộ xử lý Intel Core i7 2.4 GHz trong môi trường Windows 10.

Cơ sở dữ liệu CK+ bao gồm 210 đối tượng trong độ tuổi từ 18 đến 50, với hình ảnh được chụp từ một máy ảnh đặt trực tiếp phía trước Các đối tượng thực hiện một loạt biểu cảm, bắt đầu từ biểu cảm trung lập và kết thúc bằng biểu hiện đặc trưng Tất cả hình ảnh trong cơ sở dữ liệu đều có định dạng trắng đen và kích thước 640x480 pixel.

NGƯỜI CHÂU Á HOẶC NAM MỸ 13%

Bảng 2: Thành phần các đối tượng trong dữ liệu kiểm tra

Bộ cơ sở dữ liệu thực nghiệm có 123 đối tượng, mỗi đối tượng có 1 hoặc nhiều biểu cảm

Cấu trúc cơ sở dữ liệu được chia thành 3 phần như hình 5-1

Hình 5-1 Mô tả dữ liệu thực nghiệm CK+

Phần thứ nhất: Hình ảnh (Images): Chứa tất cả hình ảnh của đối tượng cho từng biểu cảm

Phần thứ hai: Biểu cảm (Emtion): Ghi lại loại biểu cảm tương ứng với đối tượng, và biểu cảm của đối tượng đó

Phần thứ ba: Tọa độ điểm (Landmarks): Mỗi ảnh có một tập tin mô tả với

Trên khuôn mặt, có 68 điểm quan trọng được sử dụng để chuẩn hóa hình ảnh biểu hiện Những điểm này giúp mô tả các đặc điểm trên khuôn mặt, như được minh họa trong hình 5-2.

Hình ảnh Biểu cảm Tọa độ điểm

Hình 5-2 Các điểm được mô tả trên khuôn mặt

Người tạo cơ sở dữ liệu đã áp dụng mô hình xuất hiện hoạt động (AAMs) để tự động trích xuất các điểm trên khuôn mặt Cơ sở dữ liệu này bao gồm hình ảnh thể hiện các biểu cảm như giận dữ, khinh bỉ, ghét, sợ hãi, vui vẻ, buồn bã và ngạc nhiên Hình 5-3 minh họa một số ví dụ từ CSDL CK+.

Hình 5-3 Ví dụ hình ảnh trong CK+ (1) trung tính, (2) ngạc nhiên, (3) chán ghét, (4) sợ hãi

Tạo mẫu tổng hợp mp = [lp(i,:);rp(j,:)];

T = cp2tform(mp, fp, 'nonreflective similarity'); im2 = imtransform(im, T, 'XData', [1,100],'YData', [1,100]);

D1 = sqrt(sum((fp(:,1) - fp(:,2)) ^ 2))/2; im3=imcrop(im2,[40-D1*0.2 40-D1*1.3 D1*2.4 D1*4.5]); im32=imresize(im3, [32 32]); if size(im32,3)==3 im32=rgb2gray(im32); end im32 = histeq(im32);

Mô hình mạng layers = [imageInputLayer([24 24 1]) convolution2dLayer(5,32) reluLayer maxPooling2dLayer(2,'Stride',2) convolution2dLayer(8,64) maxPooling2dLayer(2,'Stride',2) fullyConnectedLayer(7) softmaxLayer classificationLayer()]; options = trainingOptions('sgdm',

Thống kê đánh giá

Phương pháp được đề xuất trong chương 4 bao gồm một bước tiền xử lý để loại bỏ các đặc trưng không liên quan đến biểu cảm khuôn mặt, kết hợp với một mạng nơ-ron nhằm nâng cao hiệu quả nhận diện.

Bài nghiên cứu này khám phá tác động của 44 kỹ thuật tiền xử lý hình ảnh đối với độ chính xác phân loại của bảy biểu cảm khác nhau Để minh chứng cho ảnh hưởng của các phương pháp này, một phương pháp luận đơn giản hóa đã được áp dụng Các thí nghiệm sử dụng cách sắp xếp ngẫu nhiên thứ tự mẫu vào mạng từ cơ sở dữ liệu CK+, được chia thành hai bộ: bộ huấn luyện chiếm 70% của phân lớp có kích thước nhỏ nhất và bộ kiểm tra.

Trong thử nghiệm đầu tiên, chúng tôi đã sử dụng cơ sở dữ liệu ban đầu mà không có bất kỳ can thiệp hay tiền xử lý ảnh nào, chỉ thực hiện việc lấy mẫu xuống với kích thước tương đương với đầu vào của mạng nơ-ron tích chập (CNN) Kết quả thu được cho thấy độ chính xác trung bình đạt 18.41%.

Hình 5-4 Mức độc hính xác không tiền xử lý

Sử dụng CNN mà không áp dụng bất kỳ hình thức tiền xử lý ảnh nào, tỷ lệ nhận dạng đạt được rất thấp so với các phương pháp khác do sự biến thiên trong dữ liệu.

45 số lượng mẫu trong CSDL CK+ quá nhỏ để cho phép mạng CNN học cách đối phó bố cục, môi trường và đối tượng

5.2.2 Cắt tỉa hình ảnh Để tăng hiệu suất cho phương pháp, như được giải thích trong chương 4, hình ảnh được tự động cắt để loại bỏ vùng không có biểu hiện, trong cả bước huấn luyện và thử nghiệm Kết quả là độ chính xác trung bình cho tất cả các biểu thức tăng lên đến 50.62 % Độ chính xác cho mỗi biểu hiện được thể hiện trong hình 5-4 Ở đây, lấy mẫu xuống cũng được thực hiện vì đầu vào của mạng đề xuất là hình ảnh cố định 32x32 Kết quả thấp hơn so với ảnh qua tiền xử lý là do trong lúc đọc ảnh để xử lý có một số ảnh lỗi, thư viện không đọc được dẫn đến việc thiếu hụt dữ liệu, đáng chú ý là loại biểu cảm thứ 2 chỉ có 18 mẫu thử

Hình 5-5 Mức độ chính xác khi cắt tỉa hình ảnh

So với kết quả trước, tỷ lệ nhận diện đã tăng đáng kể nhờ vào việc bổ sung quá trình cắt tỉa Sự gia tăng độ chính xác chủ yếu đến từ việc thực hiện cắt tỉa một cách hiệu quả.

Các tác giả đã loại bỏ nhiều thông tin không cần thiết trong quá trình tỉa, giúp việc phân lớp trở nên hiệu quả hơn để xác định biểu cảm của đối tượng Điều này cũng tối ưu hóa không gian hình ảnh, cải thiện đầu vào cho mạng.

Quy trình chuẩn hóa không gian đóng vai trò quan trọng trong việc nâng cao độ chính xác tổng thể của hệ thống Bằng cách chuẩn hóa cường độ, chúng ta có thể loại bỏ sự biến đổi độ sáng trong ảnh trong cả hai giai đoạn huấn luyện và kiểm tra Thử nghiệm này áp dụng phương pháp chuẩn hóa cường độ tương tự như đã mô tả trước đó, và kết quả cho thấy độ chính xác trung bình cho tất cả các biểu cảm đạt 26.34%.

Vì nó có thể nhìn thấy, chỉ cần áp dụng các chuẩn hóa cường độ trong phân lớp, độ chính xác cũng tăng lên một ít

Hình 5-6 Mức độ chính xác khi huấn luyện: chuẩn hóa cường độ

5.2.4 Chuẩn hóa không gian và cường độ

Việc điều chỉnh không gian thông qua quay, cắt và lấy mẫu, cùng với chuẩn hóa cường độ, đã giúp loại bỏ hầu hết các biến thể không liên quan đến biểu hiện trên khuôn mặt Phép tiền xử lý này còn giữ lại những biểu cảm cụ thể không bị ảnh hưởng bởi tư thế hay môi trường Thử nghiệm được thực hiện dựa trên phương pháp đã được mô tả trước đó, với độ chính xác cho mỗi biểu cảm đạt 65.02%, như thể hiện trong hình 5-7.

Hình 5-7 Mức độ chính xác khi huấn luyện: chuẩn hóa không gian và cường độ

Tính chính xác trong việc áp dụng cả chuẩn hóa cường độ và chuẩn hóa không gian cao hơn so với việc chỉ áp dụng một trong hai phương pháp này.

5.2.5 Chuẩn hóa không gian, chuẩn hóa cường độ và tổng hợp mẫu

Trong thử nghiệm này, việc tạo ra các mẫu mới đã giúp mở rộng kích thước tập dữ liệu, từ đó cải thiện hiệu quả của quá trình học Kiểm tra được thực hiện bằng cách lựa chọn các mẫu phù hợp.

7000 mẫu dữ liệu thuộc về mỗi biểu cảm và tiến hành huấn luyện chúng Các mẫu kiểm tra không thuộc về tập dữ liệu huấn luyện

Kết quả tốt nhất trong phương pháp nghiên cứu đạt được thông qua ba bước tiền xử lý Thử nghiệm được thực hiện theo phương pháp tương tự đã được mô tả trước đó, với độ chính xác trung bình đạt 84.35% Tính chính xác này chứng minh rằng việc kết hợp ba kỹ thuật mang lại hiệu quả cao hơn so với việc sử dụng chúng độc lập.

Hình 5-8 Mức độ chính xác khi huấn luyện: tổng hợp các bước tiền xử lý

Trong quá trình huấn luyện mạng, chúng ta sử dụng 2000/7000 mẫu huấn luyện cho mỗi nhãn làm tập đánh giá và điều chỉnh trọng số của mạng Huấn luyện sẽ dừng lại khi tập đánh giá không còn thay đổi hệ số trong mạng Qua quan sát, thay vì huấn luyện trong 20 epoch, chúng ta chỉ cần 6 epoch Tuy nhiên, điều này dẫn đến độ chính xác của mạng chưa cao do số mẫu thử còn ít, khiến cho trọng số không thay đổi khi mô hình chưa đạt được độ chính xác tối ưu.

Hình 5-9 Quá trình huấn luyện mạng có sử dụng tập Validation

5.2.6 Tăng tốc độ thực thi của mạng

Kết quả đạt được, mặc dù cao hơn khi không thực hiện tiền xử lý, nhưng vẫn thấp hơn so với phương pháp trong bài báo nghiên cứu do một số nguyên nhân nhất định.

- Bài báo mẫu sử dụng chỉ 12 đối tượng ít hơn 123 đối tượng của nghiên cứu

- Các đối tượng được chọn làm dữ liệu kiểm tra tồn tại tình trạng không có đủ 7 loại biểu cảm

Thuật toán mất nhiều thời gian do cấu trúc huấn luyện trên GPU, trong khi nghiên cứu thực hiện trên CPU Để phân biệt biểu cảm, cần nhận biết tương quan giữa các đặc trưng như mắt, mũi, và miệng Kích thước ảnh 32x32 được đề xuất giúp tối ưu hóa tốc độ trên GPU, nhưng khi chạy trên CPU, thời gian xử lý trở nên chậm Một giải pháp để tăng tốc độ hệ thống là nhân rộng pixel ảnh đầu vào bằng cách thu nhỏ kích thước.

50 ảnh, sao cho một pixel mà vẫn bao đủ phần trạng thái của các đặc trưng khuôn mặt và vẫn phân biệt được các trạng thái khác nhau

Ngày đăng: 28/12/2021, 10:14

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lê Thị Thu Hằng: “Nghiên cứu về mạng neural tích chập và ứng dụng cho bài toán nhận dạng biển số xe”. Luận án thạc sĩ, Đại học Công nghệ, Hà Nội, 2016 Sách, tạp chí
Tiêu đề: Nghiên cứu về mạng neural tích chập và ứng dụng cho bài toán nhận dạng biển số xe
[2] Nguyễn Việt Nhật, Trương Lê Minh Nhựt: “Tăng tốc quá trình huấn luyện mạng nơ-ron sâu bằng Batch Normalization”, Khóa luận. Đại học Khoa học Tự nhiên, Hồ Chí Minh, 2017Tiếng Anh Sách, tạp chí
Tiêu đề: Tăng tốc quá trình huấn luyện mạng nơ-ron sâu bằng Batch Normalization
[3] André Teixeira Lopes, Edilson de Aguiar, Alberto F. De Souza, Thiago Oliveira-Santos, Facial expression recognition with Convolutional Neural Networks: Coping with few data and the training sample order, Pattern Recognition 61(2017) 610–628, http://www.sciencedirect.com/science/article/abs/pii/S0031320316301753 Link
[5] G. Ali, M.A. Iqbal, T.-S. Choi, Boosted NNE collections for multicultural facial expression recognition, Pattern Recognit. 55 (2016) 14–27, http://dx.doi.org/10.1016/j.patcog.2016.01.032 Link
[7] M. Liu, S. Li, S. Shan, X. Chen, Au-inspired deep networks for facial expression feature learning, Neurocomputing 159 (2015) 126–136, http://dx.doi.org/10.1016/j.neucom.2015.02.011 Link
[8] P. Burkert, F. Trier, M.Z. Afzal, A. Dengel, M. Liwicki, Dexpression: Deep Convolutional Neural Network for Expression Recognition, CoRR abs/1509.05371 (URL 〈http://arxiv.org/abs/1509.05371〉) Link
[13] Y. Lecun, L. Bottou, Y. Bengio, P. Haffner, Gradient-based Learn. Appl. Doc. Recognit. 86 (11) (1998) 2278–2324, http://dx.doi.org/10.1109/5.726791 Link
[4] C. Shan, S. Gong, P.W. McOwan, Facial expression recognition based on local binary patterns: a comprehensive study, Image Vis. Comput. 27 (6) (2009) 803–816 Khác
[6] I. Song, H.-J. Kim, P.B. Jeon, Deep learning for real-time robust facial expression recognition on a smartphone, in: International Conference on Consumer Electronics (ICCE), Institute of Electrical & Electronics Engineers (IEEE), Las Vegas, NV, USA, 2014 Khác
[9] P. Lucey, J. Cohn, T. Kanade, J. Saragih, Z. Ambadar, I. Matthews, The extended Cohn–Kanade dataset (CK+): a complete dataset for action unit and emotionspecified expression, in: 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2010, pp. 94–101 Khác
[10] P. Liu, S. Han, Z. Meng, Y. Tong, Facial expression recognition via a boosted deep belief network, in: 2014 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014, pp. 1805–1812 Khác
[11]X. Fan, T. Tjahjadi, A spatial–temporal framework based on histogram of gradients and optical flow for facial expression recognition in video sequences, Pattern Recognit. 48 (11) (2015) 3407–3416 Khác
[12] Y.-H. Byeon, K.-C. Kwak, Facial expression recognition using 3d convolutional neural network. International Journal of Advanced Computer Science and Applications(IJACSA), 5 (2014) Khác

HÌNH ẢNH LIÊN QUAN

Hình 2-1 Kiến trúc mạng nơ-ron nhân tạo - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 1 Kiến trúc mạng nơ-ron nhân tạo (Trang 15)
Hình 2-2 Cách hoạt động của một nơ-ron - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 2 Cách hoạt động của một nơ-ron (Trang 16)
Hình 2-4 Mạng kết hợ pkhác kiểu - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 4 Mạng kết hợ pkhác kiểu (Trang 18)
Hình 2-6 Mạng phản hồi - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 6 Mạng phản hồi (Trang 19)
Hình 2-7 Mạng nơ-ron lan truyền ngược MLP - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 7 Mạng nơ-ron lan truyền ngược MLP (Trang 20)
Hình 2-9 Quá trình tối ưu theo GD - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 9 Quá trình tối ưu theo GD (Trang 23)
Hình 2-10 Quá trình tối ưu theo SGD - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 10 Quá trình tối ưu theo SGD (Trang 24)
Hình 2-11 Phép tích chập 2 chiều - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 11 Phép tích chập 2 chiều (Trang 26)
Hình 2-13 Hình ảnh gốc bị biến đổi sau phép tích chập khác nhau - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 13 Hình ảnh gốc bị biến đổi sau phép tích chập khác nhau (Trang 27)
Hình 2-14 Quá trình tự học đặc trưng và phân lớp - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 14 Quá trình tự học đặc trưng và phân lớp (Trang 28)
Hình 2-15 Ví dụ mạng tích chập nhiều tầng - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 2 15 Ví dụ mạng tích chập nhiều tầng (Trang 28)
Hình 3-2 Ví dụ về một số AU trên tập dữ liệu CK - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 3 2 Ví dụ về một số AU trên tập dữ liệu CK (Trang 33)
Hình 3-3 Mô hình tổng quan nhận dạng biểu cảm - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 3 3 Mô hình tổng quan nhận dạng biểu cảm (Trang 34)
Hình 4-1 Tổng quan hệ thống nhận diện biểu cảm - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 4 1 Tổng quan hệ thống nhận diện biểu cảm (Trang 41)
Hình 4-2 Minh họa khởi tạo mẫu từ các điểm đặc trưng mắt - NHẬN DẠNG BIỂU CẢM KHUÔN MẶT  DÙNG MẠNG C-NN
Hình 4 2 Minh họa khởi tạo mẫu từ các điểm đặc trưng mắt (Trang 42)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w