Nhận dạng cảm xúc sử dụng mô hình mạng nơ-ron

Một phần của tài liệu Nghiên cứu mạng nơ ron deepface và ứng dụng trong bài toán đánh giá chất lượng phục vụ khách hàng dựa trên nhận dạng cảm xúc (Trang 52 - 57)

CHƯƠNG 2. PHƯƠNG PHÁP NHẬN DẠNG CẢM XÚC

2.3. Nhận dạng cảm xúc sử dụng mô hình mạng nơ-ron

Gương mặt là phần biểu đạt cảm xúc tốt nhất trên cơ thể con người. Gương mặt có thể truyền tải rất nhiều cảm xúc mà không cần dùng đến lời nói. Nhận diện được cảm xúc của gương mặt là một trong những biểu hiện của hành vi và tính cách của con người.

Nhận diện cảm xúc gương mặt đã trở thành một lĩnh vực nhận được nhiều sự quan tâm từ giới nghiên cứu nhờ vào các ứng dụng vượt trội của nó với các lĩnh vực khác như giáo dục, thương mại, xã hội hoá rô-bốt. Theo như các nguồn nghiên cứu đa dạng thì việc nhận diện cảm xúc có vai trò quan trọng trong lĩnh vực tiếp thị, quảng cáo. Hiện nay, để đánh giá thái độ yêu, ghét của khách hàng đối với sản phẩm của mình, các nhà tiếp thị thường sử dụng các biện pháp như bảng hỏi, hoặc quan sát trực tiếp thái độ của khách hàng khi sử dụng sản phẩm. Tuy nhiên, những biện pháp này đang dần tỏ ra không hiệu quả khi không đánh giá được chính xác cảm xúc của khách hàng hoặc mất quá nhiều thời gian để có kết quả chính xác. Sử dụng hệ thống nhận diện gương mặt khách hàng theo thời gian thực, nhà tiếp thị có thể ngay lập tức đánh giá được cảm nhận khách hàng, từ đó lên kế hoạch tiếp thị phù hợp hơn cho sản phẩm của mình.

Mục đích của bài nghiên cứu là ứng dụng nhận diện cảm xúc khách hàng trong mạng nơ-ron tích chập nhằm đánh giá chất lượng phục vụ khách hàng bằng hệ thống tự động nhận diện cảm xúc gương mặt dựa trên mạng Nơ-ron tích chập, một thuật toán học sâu được sử dụng rộng rãi trong việc phân loại ảnh. Hệ thống bao gồm một quá trình nhiều giai đoạn nhằm trích xuất được những đặc điển nổi bật của con người.

Hệ thống của bài luận dự định bao gồm ba giai đoạn, nhận diện khuôn mặt, chuẩn hoá, và nhận diện một trong những cảm xúc cơ bản của con người đó là trung tính, tức giận, sợ hãi, buồn phiền, hạnh phúc, bất ngờ và ghê tởm.

Dưới đây là phần mô tả hệ thống được đề xuất trong bản nghiên cứu để phân tích biểu cảm gương mặt của khách hàng sử dụng mạng nơ-ron tích chập.

Bước 1: Hệ thống phát hiện khuôn mặt từ nguồn dữ liệu đầu vào. Sau đó bức ảnh của khuôn mặt được cắt và chuẩn hoá đến kích cỡ 48x48. Bước 2, những bức ảnh này được sử dụng như nguồn dữ liệu đầu vào cho kiến trúc CNN. Cuối cùng, kết quả thu được sẽ là kết quả nhận dạng biểu cảm khuôn mặt ( Tức giận, hạnh phúc, buồn bã, ghê tởm, bất ngờ và trung tính). Hình dưới đây mô tả các bước thực hiện của phương án đề xuất.

Hình 2.4 Mô tả mô hình CNN

Mô hình này bao gồm 4 lớp tích chập với 4 lớp gộp để trích xuất các đặc điểm, và 2 lớp kết nối đầy đủ tiếp đó là lớp softmax với 7 loại cảm xúc. Dữ liệu đầu vào là bức ảnh mặt đen trắng với kích cỡ 48x48. Với mỗi lớp tích chập, sử dụng lớp lọc 3x3 với bước nhảy bằng 2. Với các lớp gộp, sử dụng lớp gộp cực đại và 2x2 phễu và bước nhảy bằng 2. Do đó, để giới thiệu sự không tuyến tính trong mô hình Rectified Linear Unit (ReLU) đã được sử dụng. ReLU được định nghĩa trong phương trình sau:

R(z) = max (0,z)

Hình 2.5 mô tả hàm ReLU.

Ta thấy R(z) = 0 nếu z nhỏ hơn hoặc bằng 0 và R (z) = z khi z lớn hơn hoặc bằng 0.

Bảng 1 miêu cả dạng mạng lưới của mô hình được sử dụng

Loại lớp Kích cỡ Bước nhảy

Dữ liệu 48x48 -

Tích chập 1 3x3 2

Gộp cực đại 1 2x2 2

Tích chập 2 3x3 2

Gộp cực đại 2 2x2 2

Tích chập 3 3x3 2

Gộp cực đại 3 2x2 2

Tích chập 4 3x3 2

Gộp cực đại 4 2x2 2

Tầng kết nối đầy đủ - -

Tầng kết nối đầy đủ - -

Áp dụng mô hình mạng nơ-ron vào nhận dạng cảm xúc

Quy trình áp dụng mô hình mạng nơ-ron vào nhận dạng cảm xúc như sau.

Bước 1: Sử dụng thư viện OpenCV để lưu giữ những khung hình chuyển động từ camera và để nhận diện gương mặt của khách hàng dựa vào phương pháp Haar Cascades (14) (được biểu diễn ở hình 8) Haar Cascades sử dụng thuật toán Adaboost

phát minh bở Freund và các đồng nghiệp. Thuật toán Adaboost lựa chọn một vài đặc điểm nổi bật từ một tập dữ liệu lớn để có hiệu quả trong việc phân loại. Mô hình mạng nơ-ron tích chập sử dụng TensorFlow (18) và Keras(17) và API cấp cao.

Trong Keras, lớp ImageDataGenerator được sử dụng để thực hiện tác vụ tăng cường ảnh như được sử dụng trong. Lớp này giúp thay đổi các bức ảnh dùng để huấn luyện bằng cách xoay, tịnh tiến, cắt bớt, phóng to và lật ngược. Cấu hình được sử dụng là

Phạm vi xoay = 10

Phạm vi tịnh tiến chiều ngang = 0.1 Phạm vi phóng to = 0.1

Phạm vi tịnh tiến chiều cao = 0 Lật ngang = True

Phát hiện khuôn mặt dựa sử dụng Haar Cascades.

Hình 2.6: Tăng cường hình ảnh sử dụng Keras.

Sau đó, mạng nơ-ron tích chập CNN định nghĩa với 4 lớp tích chập, bốn lớp gộp và hai lớp kết nối đầy đủ. Sau đó, để có sự không đồng biến trong mô hình, hàm ReLU được áp dụng, đồng thời sử dụng chuẩn hoá theo nhóm để chuẩn hoá hoạt động của lớp trước tại mỗi nhóm. Cuối cùng softmax được sử dụng là hàm chủ động cuối cùng.

Để huấn luyện mô hình CNN, tập dữ liệu được chia thành hai phần. Trong đó 80% là dữ liệu huấn luyện, 20% là dữ liệu kiểm thử. Sau đó, tăng cường Stochastic gradient descent (SGD). Tại mỗi epoch, Keras kiểm tra nếu mô hình hoạt động tốt hơn mô hình trước hay không. Nếu mô hình hoạt động tốt hơn, nó sẽ được lưu trữ lại để sử dụng trực tiếp mà không phải huấn luyện lại khi muốn sử dụng ở những hoàn cảnh khác.

Một phần của tài liệu Nghiên cứu mạng nơ ron deepface và ứng dụng trong bài toán đánh giá chất lượng phục vụ khách hàng dựa trên nhận dạng cảm xúc (Trang 52 - 57)

Tải bản đầy đủ (PDF)

(74 trang)