Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Nhận dạng cảm xúc con người bằng phương pháp pca kết hợp với mạng nơron
PREMIUM
Số trang
126
Kích thước
9.9 MB
Định dạng
PDF
Lượt xem
983

Nhận dạng cảm xúc con người bằng phương pháp pca kết hợp với mạng nơron

Nội dung xem thử

Mô tả chi tiết

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC SƯ PHẠM

-------------------------------------

NGUYỄN THÁI MINH ANH

NHẬN DẠNG CẢM XÚC CON NGƯỜI

BẰNG PHƯƠNG PHÁP PCA KẾT HỢP

VỚI MẠNG NƠRON

Chuyên ngành: Hệ thống thông tin

Mã số: 60.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT

Đà Nẵng - Năm 2019

Công trình được hoàn thành tại

TRƯỜNG ĐẠI HỌC SƯ PHẠM

Người hướng dẫn khoa học: TS. Nguyễn Thị Ngọc Anh

Phản biện 1: PGS. TSKH. Trần Quốc Chiến

Phản biện 2: TS. Nguyễn Quang Thanh

Luận văn đã được bảo vệ trước Hội đồng chấm Luận văn tốt

nghiệp thạc sĩ ngành Hệ thống thông tin họp tại trường Đại học

Sư phạm vào ngày 07 tháng 4 năm 2019.

Có thể tìm hiểu luận văn tại:

- Thư viện Trường Đại học Sư phạm – ĐHĐN

- Khoa Công nghệ thông tin, trường Đại học Sư phạm - ĐHĐN

1

MỞ ĐẦU

Xã hội đang ở nền công nghiệp 4.0 ngày nay phần lớn các thiết

bị điện tử đều phát triển theo xu hướng tự động hóa, thông minh, hiểu

ý con người, các thiết bị thông minh phổ biến như smart phone, smart

TV, smart watch, smart house, xe tự lái, máy in 3D, công nghệ nano,

robot thế hệ mới,... Để làm được điều đó các thiết bị cảm biến, các

thuật toán nhận dạng ra đời ngày càng hiện đại hơn, chúng có thể

nhận biết hoạt động, hình dáng của con người và hoạt động theo ý

muốn con người. Thì bài toán “nhận dạng cảm xúc của con người” là

một trong số đó.[1] Bài toán nhận dạng cảm xúc khuôn mặt đã được

bắt đầu nghiên cứu từ những năm 1970 và kết quả của nó ngày càng

cao hơn.[2]

Xuất phát từ những yêu cầu thực tế, tôi đã chọn đề tài “NHẬN

DẠNG CẢM XÚC CON NGƯỜI BẰNG PHƯƠNG PHÁP PCA

KẾT HỢP VỚI MẠNG NƠRON”

Bố cục luận văn gồm 3 chương:

Chương 1: Tổng quan về nhận dạng cảm xúc con người.

Mô tả bài toán bằng lý thuyết, đưa ra cấu trúc tổng quát của hệ

thống nhận dạng. Khảo sát những phương pháp đã thực hiện trước

đây và nêu ra ưu, nhược điểm của nó, sau đó đưa ra hướng giải quyết

mới của đề tài là sử dụng PCA kết hợp ANN.

Chương 2: Cơ sở lý thuyết

Trình bày chi tiết lý thuyết về phương pháp tách đặc trưng

(PCA) và phương pháp nhận dạng dùng mạng Nơron (ANN).

Chương 3: Nhận dạng cảm xúc bằng phương pháp PCA

kết hợp ANN

Giới thiệu dữ liệu thực tế, xây dựng mô hình bài toán sau đó

đánh giá mô hình đã xây dựng dựa trên kết quả thực nghiệm.

2

CHƯƠNG 1

TỔNG QUAN VỀ NHẬN DẠNG CẢM XÚC CON NGƯỜI

1.1. Mô tả bài toán nhận dạng cảm xúc

Giả sử có một cơ sở dữ liệu ảnh về các cảm xúc của con người

đã được lưu trong máy, bài toán nhận dạng là làm sao để khi đưa ảnh

khuôn mặt của một người bất kì vào thì máy sẽ thu nhận mặt, tách

đặc trưng trên mặt và nhận dạng cảm xúc trên mặt của người này

trong cơ sở dữ liệu.

Hình 1.1. Mô hình bài toán nhận dạng cảm xúc trên mặt người

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

Hệ thống nhận dạng cảm xúc cơ bản như sau:

Hình 1.2. Hệ thống nhận dạng cảm xúc cơ bản

 Tiền xử lí: Quá trình tiền xử lý đối với khuôn mặt nhằm nâng

Ảnh tĩnh

Tiền xử lí

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

Nhận dạng cảm xúc

3

cao chất lượng ảnh, chuẩn hóa dữ liệu, kích thước ảnh. Việc chuẩn

hóa này khiến độ lệch giữa 2 điểm ảnh được giảm xuống làm quá

trình trích chọn đặc trưng thêm chính xác.

 Trích chọn đặc trưng: là kỹ thuật sử dụng các thuật toán để

lấy ra những thông tin mang những đặc điểm riêng biệt của một

người. Trong bài này sử dụng phương pháp PCA, phương pháp này

sẽ được trình bày cụ thể ở chương 2.[4]

 Nhận dạng cảm xúc: Những đặc trưng sau khi được trích

chọn sẽ đưa vào khối nhận dạng để phân lớp đối tượng. Trong đề tài

này tôi dùng mạng nơron để nhận dạng các đối tượng.

1.3. Một số phương pháp nhận dạng cảm xúc khuôn mặt

1.3.1. Phương pháp sử dụng Action Units

Phương pháp Action Units (AU) này nhận dạng cảm xúc

dựa trên các đơn vị chuyển động của khuôn mặt. Có tất cả 64 Au,

mỗi AU là sự kết hợp của một số các cơ trên khuôn mặt. Cảm xúc

được nhận dạng bằng cách phát hiện tại một thời điểm có bao

nhiêu AU xuất hiện trên khuôn mặt và với các AU xuất hiện cùng

nhau đó thì tương ứng với 1 loại cảm xúc. [2]

Hình 1.4. Phương pháp AU

1.3.2. Phương pháp dùng mô hình AAM kết hợp tương

quan điểm

Phương pháp này sử dụng mô hình AAM để phát hiện khuôn

mặt. Sau đó dựa vào tỷ lệ giữa 2 mắt, miệng, mũi... để nhận dạng

4

cảm xúc. Khó khăn của phương pháp này là việc xác định ngưỡng tỉ

lệ để xác định cảm xúc.[2]

Hình 1.5. Phương pháp AAM kết hợp tương quan điểm

1.3.3. Nhận dạng bằng phương pháp PCA truyền thống

Phân tích thành phần chính (Principal Component Analysis –

PCA) là kĩ thuật hữu ích trong các ứng dụng nhận dạng mặt và nén

ảnh và là một kĩ thuật phổ biến để tìm mẫu trong các dữ liệu nhiều

chiều. [2]

 Ưu điểm

- Tìm được đặc tính tiêu biểu của đối tượng cần nhận dạng mà

không cần phải xác định các thành phần và mối quan hệ giữa các

thành phần đó.

- Thuật toán có thể thực hiện tốt với các ản có độ phân giải

cao, do PCA sẽ thu gọn ảnh thành một ảnh có kích thước nhỏ hơn.

- PCA có thể kết hợp với các phương pháp khác như: Mạng

Nơron, cây quyết định, Support Vector Machine, ... để mang lại hiệu

quả nhận dạng cao hơn.

 Nhược điểm

- PCA phân loại theo chiều lớn nhất của tập vector. Tuy nhiên,

chiều phân bố lớn nhất không phải lúc nào cũng mang lại hiệu quả tốt

nhất cho bài toán nhận dạng. Đây là nhược điểm cơ bản của PCA

1.4. Đề xuất

PCA là phương pháp dùng để xây dựng đặc trưng khuôn mặt,

nó là một nền tảng để phát triển những thuật toán khác. PCA nếu

được áp dụng với những phương pháp khác như mạng Nơron thì có

5

thể sẽ cho ra độ chính xác cao hơn.

Tổng kết chương 1

Như vậy, chương này tôi đã phát biểu và đưa ra được mô hình

chung của một bài toán nhận dạng và mô hình chung của hệ thống

nhận dạng mà tôi sẽ làm trong đề tài này. Bên cạnh đó, để khắc phục

những nhược điểm của phương pháp nhận dạng cũ, tôi đề xuất giải

quyết bài toán theo hướng tiếp cận mới bằng phương pháp PCA kết

hợp với mạng Nơron để nhận dạng. Ở chương 2 tôi sẽ trình bày rõ về

lí thuyết của PCA và mạng Nơron.

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT

2.1. Phân tích thành phần chính Principal Component Analysis

(PCA)

2.1.1. Ý tưởng chính

Mục tiêu của phương pháp PCA là “giảm số chiều” của 1 tập

vector sao cho vẫn đảm bảo được “tối đa thông tin quan trọng nhất”.

Tức Feature extraction nhằm mục đích giữ k thuộc tính mới. [6]

Hình 2.1. Phương pháp phân tích thành phần chính (PCA)

Không gian N chiều với

hệ cơ sở v1, v2,…,vn

Không gian K chiều

(K<<N) với hệ cơ sở u1,

u2,…,uk

Ánh xạ tuyến

tính T cần tìm

(phép chiếu)

Vector x ban

đầu có N chiều

Vector y chỉ còn K

�� = ��1��1 + ��2��2 + ⋯ + ��������

�� = ��1��1 + ��2��2 + ⋯ + ��������

6

2.1.2. Tính toán các Eigenfaces

Phần này em sẽ sử dụng bộ dữ liệu thực tế Japanese Female

Facial Expression (JAFEE) để biểu diễn [7]. Tổng hình ảnh trong bộ

dữ liệu này 137, trong đó 110 ảnh dùng để huấn luyện và 27 hình ảnh

dùng để test.

Như vậy, tập huấn luyện có 110 hình ảnh, khi đó =

. Các ảnh huấn luện là I1, I2, …, I110 , gọi chung là Ii

Hình 2.3. Các khuôn mặt huấn luyện

Bước 1: Chuyển các hình ảnh trong tập huấn luyện thành các

vector

Biểu diễn mọi ảnh Ii

thành vector i

. Mỗi hình ảnh có kích

thước 256x256 pixel.

(ảnh 256x256) → i (vector 65536x1)

Bước 2: Tính vector khuôn mặt trung bình

theo công thức:

1

1

M

i M

i

   

i

là vector một chiều (N2

×1) đại diện cho mỗi ảnh.

7

Ψ là vector trung bình (kích thước N2

×1) của tập tất cả các i

trên. Ψ còn được gọi là vector trung bình mặt của tập luyện. Nên Ψ là

vector có số chiều 65536x1

Bước 3:Trừ vector khuôn mặt trung bình: = i – Ψ

là vector sai số ứng với mỗi ảnh (vector 65536x1)

Bước 4: Tính ma trận hiệp phương sai (covariance) C:

1

1

=AA

M

T T

n n

n

C

M 

   

Trong đó: = [ 1 2 11 ] nên A sẽ có kích thước là

N

2

xM (65536x110). Ta thấy ma trận A kích thước 65536 x 110 và

ma trận AT

có kích thước M x N2

(110 x 65536). Nên C sẽ có kích

thước N2

xN2

(65536 x 65536). Kích thước này quá lớn, có thể làm

chậm hệ thống hoặc không đủ bộ nhớ để xử lí dữ liệu. Giải pháp của

chúng ta là phải làm giảm giảm số chiều của ma trận Covariance

bằng cách hoán đổi A và A

T

với nhau. Lúc đó C =A

T

.A thì số chiều

của C sẽ giảm còn MxM (110x110).

Bước 5: Tính các trị riêng (eigenvalue) và vecto đặc trưng

(Eigenvecto) ui của ma trận hiệp phương sai.

Giá trị riêng và vecto riêng của ma trận A được định nghĩa như

sau:

Cho A là ma trận vuông cấp n trên trường số K (K= ). Số

K được gọi là giá trị riêng (gọi tắt là trị riêng) của ma trận A, nếu

tồn tại một vecto ,

sao cho A = . Khi đó vecto u

được gọi là vecto riêng của ma trận A ứng với giá trị riêng

Ma Trận A.A

T

và A

T

.A luôn có chung trị riêng và vecto đặc

trưng thì có liên hệ với nhau bởi biểu thức ui = A.vi

trong đó vector vi

có kích thước là M x 1 (110 x 1), ta sẽ dễ dàng suy ra được các vector

riêng ui có kích thước N2

x1 (65536x1)

8

Các trị riêng của ma trận A

T

.A sẽ được sắp xếp lại theo thứ tự

giảm dần, và chỉ lấy các trị riêng “non-zero”.

Chú ý nên chuẩn hóa các vector đặc trưng ui về vector đơn vị

‖ ‖=1.

 Ta rút ra được các chú ý sau (theo TOÁN HỌC):

 Ma trận A.A

T

có thể có đến N

2

trị riêng (mỗi trị riêng sẽ

ứng với vô số vector riêng – nó được gọi là “không gian riêng ứng

với trị riêng nào đó”).

 Ma trận A

T

.A có thể có đến M trị riêng.

 M trị riêng của ma trận A

T

.A (kèm với các vector riêng

tương ứng), sẽ ứng với M trị riêng lớn nhất của A.A

T

(cái này quan

trọng bởi ta đang đi tìm các hướng biến thiên quan trọng nhất). [6]

Bước 6: Chỉ giữ lại K vector riêng trong số M vector nói trên

(ứng với K trị riêng lớn nhất), tất nhiên K<<N2

. Có 2 cách để xác

định K.

Cách 1:

- Sắp xếp theo thứ tự dãy giảm dần các eigenvalues tìm được.

- Theo dõi sự biến thiên của dãy trên, khi không còn biến thiên

(hoặc xấp xỉ bằng không) thì lúc đó ta đã chọn đủ K.

Cách 2: Chọn K theo công thức sau:∑

> Threshold

2.3. Phương pháp nhận diện sử dụng Artipicial Neural Network

(ANN)

2.3.1. Cấu trúc của ANN

Cấu trúc cơ bản của 1 Neural Network gồm: một lớp vào

(input layer), một lớp ra (output layer) và một hay nhiều lớp ẩn

(hidden layer). Mỗi lớp chứa nhiều Neural. Các Neural giữa các lớp

liên kết với nhau. Hình minh họa cho một mạng Neural:

9

Hình 2.5. Cấu trúc 1 Neural Network cơ bản

Với mỗi Neural có cấu trúc như sau:

Hình 2.6. Sơ đồ khối tổng quát của 1 Nơ-ron trong Neural Network

Chi tiết về các thành phần của một Nơ-ron như sau:

 Inputs

: Mỗi Input tương ứng với 1 thuộc tính (attribute)

của dữ liệu (patterns).

 Connection Weights (Trọng số liên kết) Wij: Trọng số kết

nối giữa đầu vào thứ j với Nơ-ron i. Đây là thành phần rất quan trọng

của một mạng Nơ-ron, nó thể hiện mức độ quan trọng (độ mạnh) của

10

dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển

đổi dữ liệu từ lớp này sang lớp khác). Quá trình học (Learning

Processing) của mạng Nơ-ron thực ra là quá trình điều chỉnh các

trọng số (Weight) của các input data để có được kết quả mong muốn.

[11]

 Giá trị Bias(

): Hay còn được gọi là độ lệch, được đưa vào

để thể hiện sự thiên vị cho một thông số nào đầu vào nào đó trong

mạng.

 Summation Function (Hàm tổng): Tính tổng trọng số của tất

cả các input được đưa vào mỗi Nơ-ron. Hàm tổng của một Nơ-ron

đối với n input được tính theo công thức sau:

= ∑

1 +

Hàm tổng (summation function) của một Neural cho biết khả

năng kích hoạt (activation) của neuron đó còn gọi là kích hoạt bên

trong (internal activation). Các Neural này có thể sinh ra một output

hoặc không trong mạng Neural (nói cách khác rằng output của 1

Neural có thể được chuyển đến lớp tiếp theo trong mạng Neural hoặc

không). Mối quan hệ giữa internal activation và kết quả (output)

được thể hiện bằng hàm chuyển đổi (transfer function). [11]

 f(

) là hàm truyền hay còn gọi là hàm kích hoạt, trong đề tài

này em sử dụng hàm truyền sigmoid ở lớp ẩn và hàm softmax ở lớp

ra

o Hàm sigmoid: ( ) =

1

1

Kết quả của sigmoid function thuộc khoảng [0,1] nên còn gọi

là hàm chuẩn hóa (normalized function).

o Hàm softmax: ( ) =

Kết quả của hàm softmax là dãy kết quả có tổng bằng 1.

là đầu ra của Nơ-ron thứ i

Tải ngay đi em, còn do dự, trời tối mất!