ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

DƯƠNG VĂN CƯỜNG

NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG

CHO ẢNH VÀ ỨNG DỤNG TRONG BÀI TOÁN PHÂN LOẠI

TRẠNG THÁI CẢM XÚC KHUÔN MẶT

Chuyên ngành: Khoa học máy tính

Mã số: 84 8 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: TS. VŨ VIỆT VŨ

THÁI NGUYÊN, 2018

i

MỤC LỤC

MỤC LỤC ......................................................................................................... i

DANH MỤC CÁC CHỮ VIẾT TẮT ........................................................... iii

DANH MỤC CÁC HÌNH VẼ........................................................................ iv

Mở đầu ............................................................................................................. 1

Chương 1. Tổng quan về khai phá dữ liệu ứng dụng .................................. 3

1.1. Khái niệm về lĩnh vực khai phá dữ liệu và phát hiện tri thức ...... 3

1.1.1. Khái niệm ........................................................................................ 3

1.1.2. Các mô hình học máy cơ bản .......................................................... 5

1.1.3. Ứng dụng của học máy ................................................................... 8

1.2. Tổng quan về bài toán trích chọn đặc trưng, trích chọn đặc trưng

cho dữ liệu hình ảnh .................................................................................... 9

1.3. Bài toán phân loại cảm xúc khuôn mặt ......................................... 11

1.4. Những vấn đề nghiên cứu của luận văn ........................................ 12

Chương 2. Nghiên cứu một số phương pháp trích chọn đặc trưng cho ảnh

......................................................................................................................... 14

2.1. Tổng quan về trích chọn đặc trưng .................................................. 14

2.2. Phương pháp trích chọn đặc trưng Gabor ...................................... 15

2.3. Phương pháp trích chọn đặc trưng HoG ......................................... 18

2.3.1. Giới thiệu ....................................................................................... 18

2.3.2. Các bước trích trọn đặc trưng HoG trên ảnh ............................... 19

2.4. Phương pháp trích chọn đặc trưng LBP ......................................... 25

2.5. Một số phương pháp học máy ứng dụng trong bài toán phân loại

trạng thái cảm xúc khuôn mặt ................................................................. 31

2.5.1. Phương pháp học không giám sát ................................................. 31

2.5.2 Phương pháp phân cụm bán giám sát ........................................... 33

2.5.3. Phương pháp học có giám sát ....................................................... 35

ii

2.6. Kết luận ............................................................................................... 37

Chương 3. Kết quả thực nghiệm .................................................................. 38

3.1. Giới thiệu .............................................................................................. 38

3.2. Kết quả thực nghiệm ............................................................................ 40

3.2.1 Thực hiện phương pháp Gabor ...................................................... 41

3.2.2 Kết quả thực nghiệm với thuật toán học bán giám sát MCSSDBS,

SSDBSCAN. ............................................................................................. 41

3.2.3 Kết quả thực nghiệm với thuật toán K-Means và Seed K-Means .. 43

3.3. Kết luận ................................................................................................ 45

KẾT LUẬN .................................................................................................... 46

 Những kết quả đã đạt được ............................................................ 46

 Hướng phát triển tiếp theo của đề tài ............................................ 46

TÀI LIỆU THAM KHẢO ............................................................................ 48

iii

DANH MỤC CÁC CHỮ VIẾT TẮT

DBSCAN Phương pháp phân cụm dựa trên mật độ (Density Based Spatial

Clustering of Application with Noise)

HoG Biểu đồ các đường dốc (Histogram of Gradients)

LBP Mẫu nhị phân địa phương (Local Binary Pattern)

LDA Phân tích phân biệt tuyến tính (Linear Discriminant Analysis)

SSDBSCAN Thuật toán phân cụm bán giám sát dựa trên mật độ (Semi

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

supervised Density Based Spatial Clustering of Application

with Noise)

SSGC Thuật toán phân cụm bán giám sát dựa trên đồ thị (Semi -

supervised Graph Clustering)

SVM Máy hỗ trợ véc tơ (Support Vector Machine)

iv

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Các bước của quá trình khai phá dữ liệu ........................................... 3

Hình 1.2 Mô hình học có giám sát ..................................................................... 6

Hình 1.3 Mô hình học không giám sát ............................................................... 6

HÌnh 1.4 Mô hình học bán giám sát ................................................................... 7

Hình 1.5 Ví dụ về khả năng của Deep learning ................................................. 8

Hình 1.6 (a). Ví dụ về trích chọn đặc trưng từ ảnh............................................ 9

Hình 1.6 (b). Ví dụ về trích chọn đặc trưng từ ảnh ........................................ 10

Hình 1.7. Ví dụ về tập dữ liệu mô tả trạng thái cảm xúc khuôn mặt ............... 11

Hình 1.8. Ví dụ về thu thập ảnh trạng thái khuôn mặt từ Video ...................... 12

Hình 2.1. Bộ lọc Gabor với 5 loại tần số và 8 hướng khác nhau .................... 16

Hình 2.2 Ảnh sau khi sử dụng bộ lọc Gabor tương ứng với hình 2.1 .............. 17

Hình 2.3: R-HOG và C-HOG........................................................................... 19

Hình 2.4: Chia khối trích đặc trưng HOG ....................................................... 20

Hình 2.5: Ví dụ về trích chọn đặc trưng bởi HoG ........................................... 23

Hình 2.7. Gradient theo hướng x (trái), hướng y (giữa) và tổng hợp gradient (phải) ....... 24

Hình 2.6 Tiền xử lý ảnh .................................................................................... 23

Hình 2.8. Chia ảnh thành các ô để tính các biểu đồ ........................................ 24

Hình 2.9. Tính lược đồ mức xám ...................................................................... 25

Hình 2.10. Ví dụ về phương pháp LBP ............................................................ 26

Hình 2.11. Ví dụ về ảnh khuôn mặt (trái) và các đặc trưng LBP (phải) ......... 26

Hình 2.12. Tập hợp các điểm xung quanh Ptt. ................................................. 27

Hình 2.13. Các biến thể của LBP, LBP đồng dạng. ........................................ 28

Hình 2.14. Bảng thống kê các mẫu của LBP đồng dạng ................................. 29

Hình 2.15. Ví dụ về quá trình tính toán đặc trưng ........................................... 30

Hình 2.16. Phương pháp LBP không phụ thuộc vào độ sáng ảnh chụp cho

cùng một đối tượng giống nhau ............................................................... 31

v

Hình 2.17. Ví dụ về dữ liệu của bài toán phân cụm: hình bên trái bao gồm 3

cụm rời nhau tuyến tính trong khi hình bên phải có các cụm hình dạng

bất kỳ và không tuyến tính. ....................................................................... 32

Hình 2.18. Kết quả phân cụm bằng thuật toán DBSCAN và Graph

clustering (trái) và bằng K-Means, Fuzzy C-Means (phải) ..................... 33

Hình 2.19. Dữ liệu đầu vào cho 3 loại thuật toán học (a) học có giám sát,

(b,c) học bán giám sát, và (d) học không giám sát .................................. 33

Hình 2.20. Mô hình học có giám sát ................................................................ 35

Hình 3.1 Ví dụ về ảnh trong tập CK+ .............................................................. 39

Hình 3.2. Ví dụ về ảnh trong tập dữ liệu ITI .................................................... 40

Hình 3.3. Kết quả thực nghiệm cho tập dữ liệu CK+ ...................................... 42

Hình 3.4. Kết quả thực nghiệm cho tập dữ liệu ITI ......................................... 43

Hình 3.5 Kết quả phân loại trạng thái cảm xúc khuôn mặt bằng phương

pháp Seed K-Means .................................................................................. 44

Hình 3.6. Kết quả phân cụm cho tập ITI ......................................................... 44

1

Mở đầu

Trong tất cả các nền văn minh từ trước đến nay, giao tiếp là một hoạt

động không thể thiếu, nó xuất hiện mọi nơi mọi lúc, trong mọi lĩnh vực và

ảnh hưởng trực tiếp tới cuộc sống của từng cá thể. Giao tiếp là một nhu cầu xã

hội cơ bản, nó xuất hiện sớm nhất trong đời sống của mỗi người và là yếu tố

ảnh hưởng trực tiếp tới quá trình hình thành lên tâm sinh lý của con người.

Hơn thế nữa, giao tiếp giúp con người có thể truyền tải thông tin, học hỏi tri

thức và thể hiện cảm xúc. Nhờ có giao tiếp làm cho con người văn hóa, xã hội

văn minh và đất nước phát triển. Nhận thấy tầm quan trọng của hoạt động

giao tiếp nên con người đã bỏ rất nhiều thời gian và công sức vào nghiên cứu

yếu tố quyết định thành công của việc giao tiếp, không chỉ trong lĩnh vực giao

tiếp giữa con người với con người, mà ngày nay con người đã bắt đầu nghiên

cứu về các hệ thống tương tác người – máy. Mặt khác, trong giao tiếp thì

khuôn mặt là nơi con người thể hiện suy nghĩ, tình cảm, thái độ nên để con

người và máy tính có thể tương tác với nhau tự nhiên hơn thì các hệ thống

được xây dựng dựa trên nền tảng là những thay đổi của khuôn mặt. Cần phải

có một công cụ có thể thực hiện được công việc này. Đó là lí do tôi chọn đề

tài: "Nghiên cứu một số phương pháp trích chọn đặc trưng cho ảnh và ứng

dụng trong bài toán phân loại trạng thái cảm xúc khuôn mặt". Dựa vào

các phương pháp trích chọn đặc trưng, tác giả muốn xây dựng một ứng dụng

có khả năng phân loại cảm xúc khuôn mặt người. Từ những bức ảnh mặt

người thu nhận được từ camera quan sát, chương trình có thể phân biệt được

các trạng thái cảm xúc khuôn mặt như: hạnh phúc (happy), ngạc nhiên

(surprise), ghê tởm (disgust), buồn (sad), sợ hãi (fear), giận dữ (angry), và

bình thường (neutral).

Để thực hiện được bài toán phân loại cảm xúc khuôn mặt, chúng ta phải

sử dụng đến các hệ thống học máy. Một hệ thống học máy thường có các

bước gồm thu thập dữ liệu, trích chọn đặc trưng từ dữ liệu, giảm số chiều dữ

liệu, xây dựng mô hình phân lớp/phân cụm và thực hiện để thu được kết quả

2

và cuối cùng là biểu diễn và mô tả kết quả. Trong luận văn của mình tôi tập

trung vào nghiên cứu vấn đề trích chọn đặc trưng từ ảnh từ đó áp dụng các

thuật toán học máy nhằm giải quyết bài toán đề xuất. Ứng dụng của lớp bài

toán phân loại, nhận dạng trạng thái cảm xúc khuôn mặt có thể kể đến như:

tương tác người-máy, phân tích cảm xúc, phát hiện trạng thái mệt mỏi của con

người, video tương tác, đánh chỉ mục của ảnh và video,…

Nội dung luận văn:

Nội dung cơ bản chương 1:

o Tổng quan bài toán trích chọn đặc trưng

o Giới thiệu bài toán phân loại cảm xúc khuôn mặt

Nội dung cơ bản chương 2:

o Phương pháp trích chọn đặc trưng Gabor

o Phương pháp trích chọn đặc trưng HoG

o Phương pháp trích chọn đặc trưng LBP

Nội dung cơ bản chương 3:

o Thực nghiệm kết quả với phương pháp phân cụm K-Means,

SSDBSCAN, MCSSDBS

Kết luận

3

Chương 1. Tổng quan về khai phá dữ liệu và ứng dụng

1.1. Khái niệm về lĩnh vực khai phá dữ liệu và phát hiện tri thức

1.1.1. Khái niệm

Lĩnh vực khai phá dữ liệu và phát hiện tri thức từ dữ liệu (KDD)

nhằm mục đích tạo ra các mẫu, các luật, các tri thức quý từ một số lượng

dữ liệu lớn thu nhận được [12],[13]. Các ứng dụng của lĩnh vực này có thể

kể như nhận dạng hình ảnh, âm thanh, chẩn đoán trong y học, sử dụng

trong các công cụ tìm kiếm như Google,… Quy trình phát hiện tri thức

Tri thức

Các mẫu dữ liệu

thường tuân theo các bước trong hình 1.1:

Dữ liệu đã tiền xử lý

Diễn giải, đánh giá

Dữ liệu mục tiêu

Khai phá dữ liệu

Tiền xử lý và làm sạch

Lựa chọn

Cơ sở dữ liệu

Lựa chọn và trích xuất đặc trưng

Chuyển đổi dữ liệu

Hình 1.1: Các bước của quá trình khai phá dữ liệu

- Bước thứ nhất: Hình thành, xác định và định nghĩa bài toán. Tìm hiểu

lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải

hoàn thành, thu thập dữ liệu. Bước này sẽ quyết định cho việc rút ra được các

4

tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp

với mục đích ứng dụng và bản chất của dữ liệu.

- Bước thứ hai: Xử lý thô, còn được gọi là tiền xử lý dữ liệu nhằm loại

bỏ nhiễu (làm sạch dữ liệu), xử lý việc thiếu dữ liệu (làm giàu dữ liệu), biến

đổi dữ liệu, trích rút đặc trưng và rút gọn dữ liệu nếu cần thiết, bước này

thường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức.

Do dữ liệu được lấy từ nhiều nguồn khác nhau, không đồng nhất, có thể gây

ra các nhầm lẫn. Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và

rời rạc hoá.

- Bước thứ ba: Lựa chọn đặc trưng, trích chọn đặc trưng và biến đổi đặc

trưng của dữ liệu. Đây là một bước rất quan trọng. Nhiệm vụ của bước này

không những làm giảm kích thước của dữ liệu mà còn chọn ra những đặc

điểm đặc trưng nhất nhằm tăng chất lượng của các bước sau. Tùy từng nhiệm

vụ và lĩnh vực bài toán, chúng ta sẽ có các phương pháp trích rút đặc trưng

cho dữ liệu khác nhau.

- Bước thứ tư: Khai phá dữ liệu, rút ra các tri thức, trích ra các mẫu

hoặc/và các mô hình ẩn dưới các dữ liệu [13]. Giai đoạn này rất quan trọng,

bao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khai phá

dữ liệu là gì, dùng phương pháp khai phá nào? Thông thường, các bài toán

khai phá dữ liệu bao gồm: các bài toán mang tính mô tả - đưa ra tính chất

chung nhất của dữ liệu, các bài toán dự báo - bao gồm cả việc phát hiện các

suy diễn dựa trên dữ liệu hiện có, các bài toán phân lớp, phân cụm, phát hiện

cấu trúc dữ liệu,… Tùy theo bài toán xác định được mà ta lựa chọn các

phương pháp khai phá dữ liệu cho phù hợp.

- Bước thứ năm: Là hiểu và giải thích các tri thức/các mẫu/các luật đã

tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán. Các công cụ có dùng

5

như mô phỏng, thống kê, vẽ các biểu đồ, sơ đồ,… để làm rõ hơn nữa kết quả

của khai phá dữ liệu.

Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể

được lấy trung bình trên tất cả các lần thực hiện. Các kết quả của quá trình

phát hiện tri thức có thể được đưa và ứng dụng trong các lĩnh vực khác nhau.

Do các kết quả có thể là các dự đoán hoặc các mô tả nên chúng có thể được

đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hoá quá trình này.

Nghiên cứu về lĩnh vực khai phá dữ liệu liên quan đến nhiều lĩnh vực

như toán học, thống kê, tối ưu hóa, tính toán tiến hóa, khoa học máy tính, cơ

sở dữ liệu, dữ liệu lớn,…

Một vấn đề quan trọng nữa là các nghiên cứu cho các ứng dụng chuyên

ngành, trường hợp này chúng ta phải làm việc với các chuyên gia lĩnh vực,

chẳng hạn lĩnh vực khai phá dữ liệu y sinh, khai phá dữ liệu gene,…

1.1.2. Các mô hình học máy cơ bản

Trên thực tế có một số mô hình học sau đây [15]:

- Học có giám sát

- Học không giám sát

- Học bán giám sát

- Học tăng cường

- Học sâu (deep learning)

Phần sau đây sẽ trình bày một số phương pháp học cơ bản thuộc các

loại trên.

- Học có giám sát là phương pháp học máy thông qua sử dụng tập

mẫu. Tập mẫu được cung cấp, hệ thống sẽ xây dựng mô hình học trên bộ dữ

liệu này và có thể phân lớp/dự đoán,… cho các dữ liệu mới. Các phương pháp

6

học có giám sát có thể kể đến như mạng nơ ron, phân lớp Bayes, cây quyết

định, SVM (Support Vector Machine),… (xem hình 1.2)

x y

Đầu vào mới x

Vào 1 - Ra 1

Vào 2 - Ra 2

Vao 3 - Ra 3

Thuật Mô hình

toán học

m

Vào - n - Ra - n

Đầu ra y

Hình 1.2 Mô hình học có giám sát

- Học không giám sát là phương pháp phát hiện cấu trúc, xác định mối

liên kết, phát hiện dị thường, của một tập dữ liệu cho trước [14]. Loại học này

không có tập dữ liệu mẫu. Một số phương pháp trong loại học này như phân

cụm K-Means, Fuzzy C-Means, phát hiện dị thường ,… (xem hình 1.3)

Học không giám sát

Hình 1.3 Mô hình học không giám sát

7

- Học bán giám sát nằm giữa học có giám sát và học không giám sát,

loại học này sẽ sử dụng một lượng ít dữ liệu mẫu, dữ liệu hướng dẫn để thực

hiện mô hình (xem hình 1.4). Trên thực tế các thông tin có được từ ban đầu

gồm hai dạng cơ bản: (1) một lượng nhỏ dữ liệu được gán nhãn (seed) hoặc

(2) một số lượng nhỏ các thông tin về các cặp dữ liệu must-link (phải liên

kết), cannot-link (không thể liên kết) thể hiện mối quan hệ giữa các cặp dữ

liệu trong tập dữ liệu cho trước: must-link (u,v) thể hiện u và v sẽ thuộc

cùng một cụm trong khi cannot-link (u,v) cho biết u và v sẽ thuộc về hai

cụm khác nhau.

Hình 1.4 Dữ liệu cho việc học bán giám sát

- Học tăng cường là phương pháp học được bổ sung liên tục kỹ năng

trong quá trình giải quyết bài toán. Ví dụ như hai người chơi cờ A và B, người

A có thể vừa thi đấu với người B nhưng lại có thể vừa học từ người B và

ngược lại.

- Học sâu (deep learning), là loại học được quan tâm nhiều đặc biệt là

từ năm 2006 trở lại đây [16]. Bản chất của loại học này là dựa trên mạng nơ

ron nhiều lớp. Các ứng dụng hiệu quả cho loại học này là nhận dạng đối

tượng, nhận dạng âm thanh, và ứng dụng trong xử lý ngôn ngữ tự nhiên. Hình

1.5 minh họa ví dụ về việc xác định đối tượng trong bức ảnh. Phương pháp

8

học này còn có khả năng chỉ rõ xem người trong ảnh là ai, đang làm gì,… Đối

với phương pháp học sâu chúng ta phải có đủ dữ liệu cần thiết (thường là lớn)

cũng như các hệ thống máy tính đủ lớn để thực hiện.

Hình 1.5 Ví dụ về khả năng của deep learning

1.1.3. Ứng dụng của học máy

Ứng dụng của học máy ngày càng đa dạng và quan trọng, sau đây là

một số ví dụ:

- Xe tự lái: các hệ thống này là những ứng dụng rất nổi trội, hiện nay

đã có một số nơi triển khai thử nghiệm. Hệ thống học của xe sẽ học khả

năng điều khiển xe qua các thực nghiệm mẫu của người lái xe trên đường.

- Xe tự dò tìm đường đi trong rừng: các hệ thống này sẽ được học qua

camera khi con người thực hiện đi mẫu trong rừng.

- Trợ lý ảo: Đã ứng dụng thực tế, đây là những hệ thống lưu trữ, suy diễn

dữ liệu rất lớn và thông minh.

- Nhận dạng đối tượng trong ảnh và video.

- Chẩn đoán bệnh thông qua dữ liệu lâm sàng

- Ứng dụng trong nhà thông minh, thành phố thông minh: các ứng dụng

cụ thể như bật tắt đèn tự động, bãi đỗ xe thông minh, tìm kiếm phương tiện

thông minh

- IoT: các bài toán thu thập dữ liệu từ nhiều nguồn khác nhau như sensor,

điện thoại, máy tính, camera để xử lý dữ liệu tổng hợp.

9

- Robot, người máy

- Xử lý ngôn ngữ tự nhiên,…

- Hệ hỗ trợ quyết định

- Phân lớp, phân cụm, phát hiện cấu trúc của dữ liệu

- Phát hiện dị thường

- Mua sắm thông minh,…

1.2. Tổng quan về bài toán trích chọn đặc trưng, trích chọn đặc trưng

cho dữ liệu hình ảnh

Bài toán trích trọn đặc trưng trên ảnh khuôn mặt người đã được quan

tâm từ khá lâu do có rất nhiều ứng dụng như: Sử dụng trong hệ thống nhận

dạng cảm xúc, hệ thống tương tác giữa người và máy (điều khiển máy tính

qua các cử động của khuôn mặt), hệ thống nhận dạng người (giúp cho các cơ

quan an ninh quản lý con người), hệ thống quan sát theo dõi như hệ thống

quản lý việc ra vào cho các cơ quan và công ty, hệ thống kiểm tra người lái xe

có ngủ gật hay không, hệ thống phân tích cảm xúc trên khuôn mặt, hệ thống

nhận dạng khuôn mặt cho các máy ảnh kỹ thuật số,...

Trích chọn đặc trưng là trích ra những đặc trưng quan trọng cơ bản nhất

của mỗi đối tượng [5]. Yêu cầu của trích chọn đặc trưng là phải đủ các thuộc

tính tuy nhiên với số lượng nhỏ nhất có thể và vẫn đảm bảo được việc phân

Đặc trưng

Các từ hình ảnh

Từ điển hình

biệt đối tượng này với đối tượng kia (xem hình 1.6).

(a)

10

(b)

Hình 1.6 Ví dụ về trích chọn đặc trưng từ ảnh: (a) ảnh sẽ được trích từng

vùng và cho vào túi đựng các đối tượng đặc trưng, (b), các đặc trưng được

trích chọn sử dụng các biến đổi toán học để tìm ra các điểm (vùng điểm)

quan trọng.

Đối với bài toán trích chọn đặc trưng cho ảnh, cụ thể là ảnh mặt người,

trước hết chúng ta phải hiểu ảnh là gì. Ảnh bản chất là một ma trận các số,

mỗi số tương ứng với thông tin trên các điểm ảnh. Đối với ảnh, việc trích

chọn đặc trưng là bài toán phức tạp vì mỗi ảnh chụp tại mỗi thời điểm của

cùng một đối tượng sẽ khác nhau (độ sáng, độ lệch, độ phân giải,…).

Vấn đề nghiên cứu trích chọn đặc trưng ảnh đã có từ lâu, tuy nhiên hiện

nay vẫn thu hút nhiều nhà nghiên cứu. Trong thời đại mà mỗi ngày có hàng tỷ

ảnh được đưa lên mạng, bài toán liên quan đến lĩnh vực xử lý ảnh là một

trong những bài toán thú vị.

Ứng dụng của bài toán trích chọn đặc trưng nằm trong pha thứ ba của

cả quá trình giải bài toán phát hiện tri thức và khai phá dữ liệu. Đây là khâu

quan trọng ảnh hướng đến toàn bộ các pha sau. Như đã trình bày, yêu cầu

của pha trích chọn đặc trưng là các thuộc tính được trích chọn phải đầy đủ và

11

tối ưu. Trong thực tế có rất nhiều phương pháp trích chọn đặc trưng đã được

nghiên cứu và trình bày. Mỗi phương pháp có ưu và nhược điểm riêng, phù

hợp với từng loại dữ liệu và ứng dụng.

1.3. Bài toán phân loại cảm xúc khuôn mặt

Trong những năm gần đây bài toán phân loại, nhận dạng trạng thái cảm

xúc khuôn mặt được tập trung nghiên cứu nhiều vì có nhiều ứng dụng trong

thực tế: tương tác người - máy, phân tích cảm xúc, phát hiện trạng thái mệt

mỏi của con người, video tương tác, đánh chỉ mục của ảnh và video,…

Trên thực tế có 7 loại trạng thái cảm xúc khuôn mặt như sau: Hạnh

phúc (happy), ngạc nhiên (surprise), ghê tởm (disgust), buồn (sad), sợ hãi

(fear), giận dữ (angry), bình thường (neutral). Các ảnh khuôn mặt có thể thu

thập từ các ảnh hoặc từ các video (phim) sau đó chuẩn hóa để thu được tập dữ

liệu cần đánh giá, phân loại. Hình 1.7 minh họa tập dữ liệu mẫu thường dùng

trong bài toán phân loại cảm xúc khuôn mặt.

Hình 1.7 Ví dụ về tập dữ liệu mô tả trạng thái cảm xúc khuôn mặt

12

Hình 1.8. Ví dụ về hệ thống thu thập hình ảnh trạng thái khuôn mặt từ Video

Hình 1.8 minh họa việc trích chọn ảnh khuôn mặt từ Video. Các ảnh

phát hiện được từ video sẽ lưu vào tập cơ sở dữ liệu, sau đó áp dụng các

phương pháp tiền xử lý như loại bỏ ảnh nhiễu, chỉnh lại kích thước trước khi

được đưa vào thử nghiệm cũng như loại bỏ các ảnh dư thừa hoặc ảnh lỗi do

hệ thống phát hiện khuôn mặt gây ra.

1.4. Những vấn đề nghiên cứu của luận văn

Trong khuôn khổ luận văn Thạc sỹ của mình tôi lựa chọn nghiên cứu

vấn đề trích chọn đặc trưng cho dữ liệu hình ảnh áp dụng vào bài toán phân

loại trạng thái cảm xúc khuôn mặt với những nội dung cơ bản sau đây:

- Nghiên cứu tổng quan về bài toán trích chọn đặc trưng và vai trò của

nó trong hệ thống khai phá dữ liệu và phát hiện tri thức. Các tìm hiểu về tổng

quan ứng dụng của lĩnh vực này cũng sẽ được trình bày trong luận văn.

- Nghiên cứu một số phương pháp trích chọn đặc trưng trong ảnh và

ứng dụng, cụ thể trong luận văn này tôi nghiên cứu tìm hiểu ba phương

pháp gồm Gabor, HoG, và LBP. Đây cũng là nội dung nghiên cứu chính

của luận văn nhằm hiểu được các bước thực hiện trong quá trình trích

chọn đặc trưng của mỗi phương pháp.

- Ứng dụng các phương pháp trích chọn đặc trưng vào bài toán

phân loại trạng thái cảm xúc khuôn mặt. Để giải quyết vấn đề này, sau khi

13

có dữ liệu từ pha trích chọn đặc trưng, chúng ta sẽ sử dụng phương pháp

học máy để tiến hành phân lớp hoặc phân cụm dữ liệu. Trong phần thực

nghiệm tôi trình bày phương pháp phân cụm dữ liệu cho bài toán phân

loại cảm xúc khuôn mặt.

14

Chương 2. Nghiên cứu một số phương pháp trích chọn

đặc trưng cho ảnh

2.1. Tổng quan về trích chọn đặc trưng

Mỗi đối tượng nói chung đều có những đặc trưng riêng, đặc trưng chính

là yếu tố giúp phân biệt đối tượng này với đối tượng khác. Ví dụ đặc trưng

của xe ô tô là có 4 bánh, có vô lăng,… còn đặc trưng của xe máy là có hai

bánh; đặc trưng của mỗi con người thể hiện là chiều cao, cân nặng, màu tóc,

màu da,… Tóm lại đặc trưng là các yếu tố xác định nên đối tượng. Một đối

tượng chỉ được xác định khi có đủ số đặc trưng xác định nên nó.

Trong lĩnh vực nhận dạng mặt người nói chung bài toán trích chọn đặc

trưng là khâu vô cùng quan trọng, nó sẽ quyết định đến các pha tiếp theo như

phân lớp đối tượng, phân cụm đối tượng. Về mặt bản chất ảnh được biểu diễn

qua một ma trận kích thước m  n trong đó m là số hàng và n là số cột của

ảnh. Cách đơn giản nhất khi xây dựng véc tơ đặc trưng cho ảnh là đem m  n

điểm ảnh xếp vào véc tơ một chiểu sau đó có thể thực hiện các phép toán trên

véc tơ đó. Tuy nhiên cách làm này có hạn chế rất lớn là sẽ làm mất đi tính

chất không gian của ảnh tức là mất đi thuộc tính vô cùng quan trọng của mỗi

điểm ảnh là những điểm hàng xóm của chúng. Chính vì vậy rất nhiều phương

pháp trích chọn đặc trưng được nghiên cứu và giới thiệu, các phương pháp

này nhằm mục đích tận dụng tối đa tính chất không gian của ảnh trong việc

xây dựng các véc tơ đặc trưng.

Trong chương này chúng tôi sẽ trình bày một số phương pháp trích

chọn đặc trưng cơ bản cho ảnh mặt người gồm phương pháp Gabor, phương

pháp LBP và phương pháp HoG nhằm làm cơ sở cho các thực nghiệm ở

chương tiếp theo.

15

2.2. Phương pháp trích chọn đặc trưng Gabor

Phương pháp trích chọn đặc trưng Gabor được giới thiệu vào những

năm 1990. Ý tưởng của phương pháp Gabor là sử dụng biến đổi dạng sóng.

Các đặc trưng Gabor được trích chọn trực tiếp từ ảnh mức xám. Tính chất

quan trọng của phương pháp này là nó làm việc tốt với ảnh bị quay, độc lập

với tỷ lệ ảnh, và biến đổi ảnh. [1],[2],[7],[17].

Đặc điểm của trích chọn đặc trưng Gabor là đặc biệt với tần số và

hướng đại diện, giống như hệ thống nhận diện khuôn mặt người. Nó đặc biệt

thích hợp cho cho trích chọn đặc trưng kết cấu và nhận diện. Bộ lọc Gabor

trích chọn trực tiếp từ ảnh cấp xám. Trong miền không gian hai chiều, Gabor

là một hàm Gaussian dạng sóng hình sin phức hợp, có thể thực hiện tính toán

biến đổi bằng công thức:

(2.1)

Trong trường hợp này:

(x, y) là tọa độ điểm (pixel) trong miền không gian ảnh

: Là tần số góc trung tâm

: Là hướng của bộ lọc Gabor

: Là biểu diễn độ sắc nét dọc theo cả hai hướng x và y.

Trên thực tế   / để xác định mối liên hệ giữa  và  trong các thí

nghiệm.

16

Hình 2.1. Bộ lọc Gabor với 5 loại tần số và 8 hướng khác nhau

Hình 2.1 minh họa bộ lọa Gabor trong trường hợp chọn 5 loại tần số và

8 hướng khác nhau tương ứng với . Trên thực tế đa số các thực nghiệm sẽ

chọn bộ thông số này. Công thức (2.2) và (2.3) sau đây tương ứng là giá trị

cho 5 loại tần số và 8 hướng với bộ lọc Gabor trong ví dụ trên:

, u = 0, 1,...4 (2.2)

, v = 0, 1, 2,... 7 (2.3)

Giả sử chúng ta có ảnh kích thước 120120, với việc sử dụng 40 bộ lọc

Gabor như hình 1, chúng ta sẽ có số lượng đặc trưng là 120 12040 chiều.

Chúng ta có thể giảm số chiều bằng các phương pháp như PCA, LDA,…

17

Hình 2.2 Ảnh sau khi sử dụng bộ lọc Gabor tương ứng với hình 2.1

Biểu diễn Gabor của một ảnh mặt người I(x,y) có thể thu được bằng

cách kết hợp cùng với biểu thức Gabor tương ứng:

(2.4)

trong đó Gu,v(x,y) là biểu thị mảng hai chiều kết quả tích chập kết hợp tương

ứng với bộ lọc Gabor với tỷ lệ u và hướng v. Phép tích chập ở đây được hiểu

như là phép lọc ảnh để chọn ra các thành phần theo biến đổi Gabor  (công

thức 2.1). Hình 2.2 minh họa 40 kết quả tương ứng khi sử dụng bộ lọc Gabor

với 5 loại tỷ lệ và 8 hướng tương ứng như trong hình 2.1.

Như vậy, mỗi ảnh I(x,y) có thể được biểu diễn bởi một tập hợp các bộ

các tham số Gabor như sau (tùy theo cách chọn u và v):

{Gu,v(x,y) | u = 0,1,...4; v = 0,1,2,...7 }.

18

Giá trị của mỗi Gu,v (x,y) sau đó được lấy mẫu bởi một hệ số của r, chuẩn hóa

và thu được véc tơ zu,v bằng cách nối các hàng liên tục. Véc tơ Z cuối cùng

thu được biểu diễn cho ảnh I(x,y) bởi cách nối các véc tơ Zu,v như sau:

. (z0,1)T ... (z4,7)T]T

(2.5) Z = [(z0,0)T

Trong đó (zu,v)T là véc tơ chuyển vị của zu,v. Đặc trưng nguồn gốc véc tơ

Z bao gồm tất cả các yếu tố của Gabor đại diện tập:{{Gu\,v(x,y) | u=0,1,...4; v=

0,1,2,...7 }.

Trên thực tế, kích thước của véc tơ Z là khá cao. Ví dụ với ảnh 112 x

92 thì kích thước véc tơ là: (112 x 92) x (5 x 8)/ (4 x 4) = 25.760. Khi hệ số

lấy mẫu là r = (4 x 4) = 16. Chúng ta có thể làm giảm kích thước của véc tơ

xuống bằng các thuật toán như LDA, PCA.

2.3. Phương pháp trích chọn đặc trưng HoG

2.3.1. Giới thiệu

Histogram of Gradient (HoG) là đặc trưng được dùng nhiều trong lĩnh

vực phát hiện đối tượng. Kỹ thuật này được đề xuất bởi Bill Triggs và Nanel

Dalal vào năm 2005 tại viện nghiên cứu INRIA [3],[18],[19].

Ý tưởng chính trong đặc trưng HoG xuất phát từ hình dạng và trạng

thái của vật có thể được đặc trưng bằng sự phân bổ về cường độ và hướng của

cạnh. Đặc trưng HoG được tính trên cả một vùng. Do sự biến thiên về màu

sắc trong các vùng là khác nhau, kết quả mỗi vùng sẽ cho ta một véc tơ đặc

trưng của nó. Vì vậy, để có được đặc trưng của toàn bộ cửa sổ (window) ta

phải kết hợp nhiều vùng liên tiếp lại với nhau.

Đặc trưng HoG có một số biến thể thường gặp như: R-HoG, R2-HoG,

C-HoG. Các đặc trưng này khác nhau ở cách phân bố và hình dạng của các ô

như trong hình:

19

Hình 2.3: R-HoG và C-HoG [25]

 R-HoG: mỗi ô có hình dạng là hình chữ nhật

 C-HoG: mỗi ô có dạng là hình tròn

Từ một ảnh cho trước, qua việc rút trích đặc trưng trên ảnh đó cho ta

một véc tơ đại diện cho đối tượng đó. Việc rút ra được các véc tơ đặc trưng

như vậy giúp chúng ta chuyển không gian ảnh sang không gian véc tơ để có

thể xử lý và tính toán đơn giản hơn trên máy tính.

2.3.2. Các bước trích trọn đặc trưng HoG trên ảnh

Trước khi thực hiện việc trích chọn đặc trưng HoG, ta chuyển ảnh trong

không gian RGB sang ảnh gray scale, sau đó tiến hành cân bằng lược đồ trên

ảnh gray scale để giảm đi ảnh hưởng của sự thay đổi ánh sáng.

Các bước trích trọn đặc trưng HoG như sau:

* Bước 1: Tính Gradient

Đây là bước đầu tiên trong phương pháp HoG và thường được thực

hiện bằng hai phép nhân chập ảnh gốc với 2 nhân và 1 chiều tương ứng với

các toán tử lấy đạo hàm ảnh theo hai hướng Ox và Oy, cụ thể là:

20

Dx = [-1 0 1]

, trong đó T là ký hiệu của phép chuyển dịch ma trận.

Với một ảnh input I, ta sẽ có 2 ảnh đạo hàm riêng theo 2 hướng được

tính bằng công thức: Ix= I * Dx và Iy = I * Dy.

Tính cường độ (magnitude) và hướng biến thiên (orientation) tại mỗi

pixel bằng hai công thức sau:

Cường độ: (2.6)

Hướng: (2.7)

* Bước 2: Chia ảnh đầu ra ở các bước trên thành nhiều khối (block),

mỗi khối có số ô bằng nhau, mỗi ô có số pixel bằng nhau. Các khối được xếp

chồng lên nhau một ô như ở hình 3. Số khối được tính bằng công thức (2.8).

Trong đó: Wimage, Himage, Wblock, Hblock, Wcell, H cell lần lượt là chiều rộng, chiều

cao của ảnh, khối và ô.

(2.8)

Hình 2.4: Chia khối trích đặc trưng HOG [25]

21

* Bước 3: Tính véc tơ đặc trưng cho từng khối

- Chia không gian hướng thành p bin (số chiều vectơ đặc trưng của ô).

Việc lưu trữ chính xác từng giá trị góc (orientation) của từng vị trí (x,y) không

mang lại nhiều kết quả, do vậy ta sẽ chia không gian góc ra thành các bin.

Việc phân chia bin càng nhỏ sẽ càng làm tăng độ chính xác, thực nghiệm cho

thấy kích thước bin khoảng 200 là cho kết quả tốt nhất. Do đó từ 0 đến 1800 ta

chia thành 9 bin như sau: 0-20, 21-40, 41-60, 61-80, 81-100, 101-120, 121-

140, 141 -160, 161-180.

- Góc hướng nghiêng tại pixel (x,y) có độ lớn α(x,y) được rời rạc hóa

vào một trong p bin.

Rời rạc hóa unsigned-HoG (p=9):

(2.9)

Rời rạc hóa signed - HoG (P18)

(2.10)

Giá trị bin được định lượng bởi tổng cường độ biến thiên của các pixel

thuộc về bin đó.

Để tính toán véc tơ đặc trưng cho khối ta chỉ cần ghép các vectơ đặc

trưng của từng cell trong block lại với nhau để được véc tơ đặc trưng của

block này.

Nối các vectơ đặc trưng ô để được vectơ đặc trưng khối. Số chiều vectơ

đặc trưng của khối tính theo công thức:

sizefeature/block=ncells*sizefeature/cell (2.11)

Trong đó, ncells là số ô trong khối và sizefeature/cell là số chiều vectơ đặc

trưng của ô bằng 9 (unsigned- HoG) hoặc 18 (signed-HoG).

22

*Bước 4: Tính véc tơ đặc trưng cho ảnh

- Chuẩn hóa véc tơ đặc trưng: Trước khi thực hiện tính véc tơ đặc trưng

các khối trước khi tính véc tơ đặc trưng cho ảnh.

Để chuẩn hóa véc tơ đặc trưng cho các khối ta có thể thực hiện bằng

một trong các công thức (1.12), (1.13), (1.14) như sau:

L2- norm: (2.12)

(2.13) L1-norm:

(2.14) L1-sqrt:

Trong đó:

v: là véc tơ đặc trưng ban đầu của khối

vk: là k-norm của v (k=1,2)

e: là hằng số nhỏ nhất

- Tính véc tơ đặc trưng cho ảnh: Để tính toán véc tơ đặc trưng cho ảnh,

ta chỉ cần ghép các véc tơ đặc trưng của từng block lại với nhau để được véc

tơ đặc trưng của cả window. Lưu ý rằng các block không đặt tách biệt nhau

mà gối lên nhau, cách nhau một khoảng bằng kích thước của cell theo mỗi

chiều (hoặc bằng phân nửa kích thước của cell).

Ghép các vectơ đặc trưng khối tạo nên ảnh để được đặc trưng R-HOG

cho ảnh. Số chiều vectơ đặc trưng của ảnh tính theo công thức:

sizefeature/image = nblock/image * sizefeature/block (2.15)

Với nblock/image là khối và sizefeature/block là số chiều véc tơ đặc trưng của

mỗi khối.

Tổ hợp của tất cả các đồ thị sẽ là các đặc trưng HoG của ảnh.

23

Hình 2.5: Ví dụ về trích chọn đặc trưng bởi HoG

Sau khi trích chọn các đặc trưng, chúng ta có thể sử dụng phương pháp

PCA hoặc LDA để giảm số chiều của nó.

Chúng ta có thể nghiên cứu tiếp ví dụ sau đây:

Ảnh được trích chọn từ ảnh gốc và chuẩn hóa về kích thước 64  128.

Hình 2.6 Tiền xử lý ảnh

Tiếp theo tính các gradient cho ảnh theo từng hướng.

24

Hình 2.7. Gradient theo hướng x (trái), hướng y (giữa)

và tổng hợp gradient (phải)

Hình 2.8. Chia ảnh thành các ô để tính các biểu đồ

25

Hình 2.9. Tính lược đồ mức xám

Quá trình tính lược đồ mức xám được minh họa trong hình 2.9. Để tính

được giá trị cho các ô trong bảng mức xám chúng ta sẽ căn cứ vào bảng

hướng grandient và giá trị tương ứng. Chẳng hạn bin 80 sẽ chứa số 2 khi đối

chiếu hai ô tương ứng của các bảng trên.

2.4. Phương pháp trích chọn đặc trưng LBP

Local Binary Pattern (LBP) hay là mẫu nhị phân địa phương được

Ojala trình bày vào năm 1996 như là một cách đo độ tương phản cục bộ của

ảnh [6],[26]. Phiên bản đầu tiên của LBP được dùng với 8 điểm ảnh xung

quanh và sử dụng giá trị của điểm ảnh ở trung tâm làm ngưỡng. Giá trị LBP

được xác định bằng cách nhân các giá trị ngưỡng với trọng số ứng với mỗi

điểm ảnh sau đó cộng tổng lại. Hình dưới minh họa cách tính độ tương phản

trực giao (C) là hiệu cấp độ xám trung bình của các điểm ảnh lớn hơn hoặc

bằng ngưỡng với các điểm ảnh thấp hơn ngưỡng.

26

Kể từ khi được đưa ra, theo định nghĩa là bất biến với những thay đổi

đơn điệu trong ảnh đen trắng. Để cải tiến phương pháp, bổ sung thêm

phương pháp tương phản trực giao địa phương. Hình dưới minh họa cách

tính độ tương phản trực giao (C) là ký hiệu cấp độ xám trung bình của các

điểm ảnh lớn hơn hoặc bằng ngưỡng với các điểm ảnh thấp hơn ngưỡng.

Phân phối hai chiều của mã LBP và độ tương phản cục bộ được lấy làm đặc

Trọng số

Ngưỡng

trưng gọi là LBP/C.

Hình 2.10 Ví dụ về phương pháp LBP

Hình 2.11 Ví dụ về ảnh khuôn mặt (trái) và các đặc trưng LBP (phải)

Nguồn gốc:

Dãy LBP được Ojala trình bày vào năm 2002. Định nghĩa một cấu

trúc điểm ảnh T là một phân phối đại số của cấp độ xám của P +1 (P > 0)

điểm ảnh.

T = t(gc,g0,…,gp-1) (2.16)

Với gc ứng với cấp độ xám của điểm ảnh trung tâm Ptt, gp (p = 0,…,1)

tương ứng với P điểm ảnh xung quanh, P điểm ảnh này nằm trên đường tròn

bán kính R và tâm là Ptt.

27

Hình 2.12. Tập hợp các điểm xung quanh Ptt.

Không mất thông tin, có thể trừ gp đi một lượng là gc

T = t(gc,g0 – gc,…,gp – gc) (2.18)

Giả sử sự sai số giữa gp và gc là độc lập với gc, ta có thể nhân tử hóa gc

như sau:

T = t(gc)t(g0- gc,…,gp-1- gc) (2.19)

t(gc) biểu thị xu hướng độ sáng tối của cả bức ảnh nên không liên quan

đến kết cấu của ảnh cục bộ do đó có thể bỏ qua

T~t((g0 – gc),…,(gp-1 – gc)) (2.20)

Mặc dù tính bất biến ngược với độ thay đổi tỷ lệ xám của điểm ảnh,

sự khác biệt ảnh hưởng bởi tỷ lệ. Để thu được đặc điểm bất biến với bất kỳ

một sự thay đổi nào của ảnh đen trắng chỉ quan tâm đến dấu của độ lệch:

T~t(s(g0 – gc),…,s(gp-1 – gc)) (2.21)

Với s là hàm dấu:

Trọng số 2p được dùng cho các hàm dấu, s(gp – gc) để chuyển sự khác

biệt giữa các điểm ảnh bên cạnh về một giá trị duy nhất.

(2.22)

Với P pixel thì có 2p giá trị LBPP,R trong khoảng [0,2p-1 ] nhưng để đơn

giản ta có thể chọn một số giá trị trong 2p giá trị ký hiệu là

28

Thuật toán LBP:

Thông tin LBP của pixel tại trung tâm của mỗi khối ảnh sẽ được tính

dựa trên thông tin của các pixel lận cận. Có thể tóm tắt các bước tiến hành

như sau:

Bước 1: Xác định bán kính làm việc

Bước 2: Tính giá trị LBP cho pixel ở trung tâm (xc, yc) khối ảnh dựa

trên thông tin của các pixel lân cận.

Bước 3: Tính toán biểu đồ, trên toàn bộ ô, về tần số của mỗi "số" xuất

hiện (nghĩa là mỗi kết hợp có điểm ảnh nhỏ hơn và lớn hơn trung tâm). Biểu

đồ này có thể được xem như một véc tơ 256 chiều.

Bước 4: Chuẩn hóa biểu đồ (tùy chọn).

Bước 5: Xây dựng các đặc trưng bằng cách ghép các biểu đồ lại.

Ví dụ:

1*20 + 1*21 + 1*22 + 1*23 + 0*24 + 0*25 + 0*26 + 0*27 = 15.

Hình 2.13. Các biến thể của LBP, LBP đồng dạng.

Một mẫu nhị phân được gọi là đồng dạng khi xét chuỗi bit xoay vòng

thì có nhiều nhất là 2 lần chuyển tiếp từ giá trị bit 0 sang 1 hoặc từ giá trị bit 1

sang 0. Ví dụ: 00000000 có 0 sự chuyển tiếp, 01110000 có 2 sự chuyển tiếp,

11001111 có 2 sự chuyển tiếp nên đây là LBP đồng dạng. 11001001 có 4 sự

chuyển tiếp, 01010011 có 6 sự chuyển tiếp nên không phải là LBP đồng dạng.

Dựa trên định nghĩa này, bảng ánh xạ cho bán kính làm việc P - hàng

xóm sẽ có P(P-1) + 3 nhãn. Có nghĩa là có 59 nhãn trong trường hợp làm việc

với 8- hàng xóm. Hình vẽ sau đây thể hiện 59 nhãn (mẫu) và minh họa về

biểu đồ của đặc trưng LBP đồng dạng.

29

Hình 2.14. Bảng thống kê các mẫu của LBP đồng dạng

Ví dụ về trích rút đặc trưng LBP trên ảnh số kích thước 4 x 4:

23 27 33 64

35 29 15 65

6 72 11 30

1 31 3 90

Chúng ta sẽ tính được giá trị đặc trưng LBP như sau:

23 27 33 64

35 29 15 65

6 72 11 30

1 31 3 90

30

Hình 2.15. Ví dụ về quá trình tính toán đặc trưng

31

Ưu điểm: Thuật toán trích rút đặc trưng LBP cài đặt đơn giản, thời

gian tính toán giá trị đặc trưng nhanh vì nó làm việc với giá trị nguyên. Thuật

toán LBP do sử dụng các giá trị sai khác về đánh giá giữa các điểm lân cận

nên thuật toán LBP không bị lỗi khi ảnh có độ sáng khác nhau (xem hình).

Hình 2.16 Phương pháp LBP không phụ thuộc vào độ sáng ảnh chụp cho

cùng một đối tượng giống nhau

2.5. Một số phương pháp học máy ứng dụng trong bài toán phân loại

trạng thái cảm xúc khuôn mặt

Để thực hiện được bài toán phân loại cảm xúc trạng thái khuôn mặt

chúng ta có thể sử dụng các phương pháp học máy bao gồm học không giám

sát (bài toán phân cụm), học bán giám sát (bài toán phân lớp, phân cụm) và

bài toán học có giám sát (phân lớp). Phần sau đây sẽ trình bày tổng quan về

các phương pháp học này.

2.5.1. Phương pháp học không giám sát

Dạng bài toán đầu tiên có thể dùng cho phân loại trạng thái cảm xúc

khuôn mặt là bài toán phân cụm. Bài toán phân cụm là một dạng của bài toán

học không giám sát được phát biểu như sau: cho tập X gồm n đối tượng x1, x2,

…, xn trong không gian d chiều, hãy phân rã tập X ra thành k (k ≤ n) cụm C1,

32

C2,…, Ck rời nhau (Ci  Cj = , i  j) sao cho các đối tượng trong cùng một

cụm thì tương tự nhau và các đối tượng ở các cụm khác nhau thì không tương

tự nhau theo một tiêu chuẩn nào đó.

Bài toán phân cụm thuộc lớp bài toán học không giám sát nằm trong

lĩnh vực học máy, đây là một trong những chủ đề cơ bản của Trí tuệ nhân tạo.

Mục đích chính của quá trình phân cụm là giúp cho người dùng hiểu được cấu

trúc và phân bố của dữ liệu trong tự nhiên và là khâu quan trọng trong quá

trình xử lý và khai phá dữ liệu. Hình 2.17 minh họa ví dụ về tập dữ liệu trong

bài toán phân cụm.

Hình 2.17. Ví dụ về dữ liệu của bài toán phân cụm: hình bên trái bao gồm 3

cụm rời nhau tuyến tính trong khi hình bên phải có các cụm hình dạng bất kỳ

và không tuyến tính.

Các phương pháp phân cụm phổ biến là phương pháp phân cụm dựa

trên khoảng cách (K-Means), phân cụm dự vào lý thuyết mờ (Fuzzy C-

Means), phương pháp phân cụm thứ bậc, phương pháp phân cụm dựa trên mật

độ (DBSCAN), phương pháp phân cụm dựa trên đồ thị,…[14].

33

Hình 2.18. Kết quả phân cụm bằng thuật toán DBSCAN và phân cụm đồ thị

(trái) và bằng K-Means, Fuzzy C-Means (phải).

2.5.2 Phương pháp phân cụm bán giám sát

Từ những năm 2000 trở lại đây, phương pháp phân cụm bán giám sát

bắt đầu được phát triển mạnh mẽ. Thuật toán phân cụm bán giám sát tích hợp

các thông tin có được từ ban đầu như một lượng nhỏ dữ liệu được gán nhãn

(seed) hoặc một số lượng nhỏ các thông tin về các cặp dữ liệu must-link (phải

liên kết), cannot-link (không thể liên kết): must-link(u,v) thể hiện u và v sẽ

thuộc cùng một cụm trong khi cannot-link(u,v) cho biết u và v sẽ thuộc về hai

cụm khác nhau.

Hình 2.19. Dữ liệu đầu vào cho 3 loại thuật toán học (a) học có giám sát,

(b,c) học bán giám sát, và (d) học không giám sát

34

Hình 2.19 minh họa cho dữ liệu được cung cấp cho các mô hình học có

giám sát, bán giám sát và không giám sát. Phân cụm bán giám sát là phương

pháp sử dụng các thông tin bổ trợ để hướng dẫn cho quá trình phân cụm. Các

thông tin bổ trợ có thể được cho dưới dạng tập các cặp ràng buộc hoặc một

tập nhỏ một số dữ liệu được dán nhãn. Công việc xác định những tập ràng

buộc hay những tập dữ liệu được dán nhãn được thực hiện bởi người phân

cụm. Việc xác định này tuỳ thuộc vào kinh nghiệm của người phân cụm

hoặc có thể dựa vào các tiêu chuẩn khác nhau tuỳ theo mục đích của việc

phân cụm.

Các thuật toán phân cụm bán giám sát đã được nghiên cứu và phát

triển gồm:

- Thuật toán Seed K-Means, đây là thuật toán K-Means tích hợp với

các dữ liệu đã gán nhãn nhằm trợ giúp trong pha khởi tạo các trọng tâm cho

các cụm.

- Thuật toán hạn chế K-Means, thuật toán này sử dụng các ràng buộc

giữa các điểm vào trong quá trình phân cụm, trợ giúp quá trình tìm kiếm

các cụm.

- Thuật toán MPC K-Means, thuật toán này sử dụng các ràng buộc để

huấn luyện hàm mục tiêu và trợ giúp quá trình tìm kiếm các cụm.

- Thuật toán SSDBSCAN, thuật toán này sử dụng một số điểm đã gán

nhãn sẵn cung cấp để giúp cho thuật toán tìm kiếm được các cụm có mật độ

bất kỳ.

- Thuật toán SSGC, đây là thuật toán phân cụm bán giám sát dựa trên đồ

thị, với việc sử dụng một số điểm đã gán nhãn để trợ giúp quá trình phân tách

đồ thị thành các thành phần liên thông lớn nhất.

- Thuật toán MCSSDBS, thuật toán này cải tiến thuật toán SSDBSCAN

bằng cách tích hợp các ràng buộc và các điểm đã gán nhãn sẵn vào trong cùng

35

một quá trình phân cụm làm tăng chất lượng của phân cụm khi so sánh với

thuật toán SSDBSCAN.

- Thuật toán MCSSGC, một cải tiến của thuật toán SSGC, tương tự như

MCSSDBS, thuật toán này tích hợp cả hai loại ràng buộc và các điểm đã gán

nhãn vào trong cùng một thuật toán để cải tiến chất lượng phân cụm khi so

sánh với thuật toán gốc SSGC.

2.5.3. Phương pháp học có giám sát

Học có giám sát là một trong những chủ đề quan trọng trong lĩnh vực trí

tuệ nhân tạo. Bài toán học có giám sát được phát biểu như sau:

Cho tập X = {xi}, i = 1, 2, …, N với xi diễn tả một đối tượng trong

không gian d chiều. Với mỗi xi tương ứng có nhãn là yi với yi  {C1, C2, …,

CM} hoặc yi  R. Mục tiêu của bài toán học có giám sát là đi xây dựng hàm

f(.) dựa trên các bộ (xi, yi) sao cho hàm f có khả năng xác định nhãn cho

một đối đượng xnew nào đó.

Bài toán học có giám sát được minh họa bởi hình 2.20. Học có giám sát

tức là học từ các mẫu thu thập được sau đó nhận dạng hay phân lớp cho mẫu

mới, nó khác với bài toán học không giám sát – không có mẫu học ban đầu

mà chỉ có dữ liệu cần giải quyết.

Huấn luyện

x1, x2,…,xn

yi ?

xnew

Bộ phân lớp: f(.)

Hình 2.20 Mô hình học có giám sát

Từ mô hình hình 2.20, chúng ta thấy rằng học có giám sát là việc xây

dựng mô hình phân lớp f() từ các dữ liệu mẫu. Từ các dữ liệu ban đầu,

36

chúng ta phải phát triển thuật toán: pha huấn luyện, nhằm tạo ra một bộ

phân lớp f(.) để có thể xác định nhãn cho các đối tượng đầu vào mới (xnew).

Các thuật toán học có giám sát tiêu biểu trong thực tế hiện nay có thể kể

đến như: phương pháp SVM (Support Vector Machine), phương pháp đồ thị

k-láng giềng gần nhất (k- Nearest Neighbour graph), phương pháp mạng nơ

ron, phương pháp cây quyết định, phương pháp rừng ngẫu nhiên. Đặc biệt

trong khoảng 10 năm trở lại đây phương pháp học sâu (deep learning) đã

được nghiên cứu và triển khai cho kết quả tốt trên các bài toán dữ liệu ảnh.

Mỗi phương pháp có những ưu và nhược điểm riêng cũng như phù hợp cho

các ứng dụng theo lĩnh vực.

Một đặc điểm quan trọng của thuật toán học có giám sát là vấn đề tập dữ

liệu huấn luyện. Khi xây dựng mô hình phân lớp thì số lượng tập dữ liệu huấn

luyện phải đủ lớn và đầy đủ thì sau khi huấn luyện chúng ta mới có bộ phân lớp

đúng đắn.

Một số ví dụ về bài toán học có giám sát như sau:

- Bài toán nhận dạng biển số xe: Hệ thống sẽ được học các ký tự chữ và

số, sau đó sẽ tự động phát hiện các biển số xe và chuyển về dạng văn bản.

- Bài toán nhận dạng mặt người: Hệ thống sẽ được huấn luyện với các

mẫu ảnh mặt người kèm với nhãn của nó, sau đó có thể định danh cho một

khuôn mặt mới.

37

2.6. Kết luận

Nội dung chương 2 tập trung vào ba phương pháp cơ bản để trích chọn

đặc trưng cho ảnh là phương pháp Gabor, phương pháp LBP và phương pháp

HoG. Đây là những phương pháp có cơ sở toán học vững chắc cũng như được

cộng đồng nghiên cứu quan tâm nhiều. Một nội dung nữa được trình bày

trong chương 2 là hai phương pháp học có giám sát, học bán giám sát và

không giám sát. Các phương pháp này sẽ được sử dụng trong quá trình xây

dựng hệ thống thực nghiệm ở chương 3.

38

Chương 3. Kết quả thực nghiệm

3.1. Giới thiệu

Trên cơ sở những nghiên cứu và tìm hiểu ở chương 2, chúng ta đã có 3

phương pháp cơ bản để trích chọn đặc trưng trên ảnh phục vụ cho các bài toán

phân lớp và nhận dạng. Trong chương này chúng tôi sẽ trình bày việc ứng

dụng phương pháp trích chọn đặc trưng Gabor trong bài toán phân loại cảm

xúc khuôn mặt. Để thực hiện điều này chúng tôi dùng phương pháp phân cụm

bán giám sát MCSSDBS, SSDBSCAN, phương pháp học bán giám sát Seed

K-Means và phương pháp học không giám sát K-Means để thử nghiệm. Tập

dữ liệu thử nghiệm là CK2 và tập dữ liệu thu thập được từ những ảnh người

Việt nam ITI. Chi tiết về tập dữ liệu ảnh được trình bày trong bảng 1.

Bảng 3.1 Thông tin về tập dữ liệu CK+

39

Hình 3.1 Ví dụ về ảnh trong tập CK+

Bảng 3.2 Thông tin về tập dữ liệu ITI

40

Hình 3.2 Ví dụ về ảnh trong tập dữ liệu ITI

3.2. Kết quả thực nghiệm

Để tiến hành thử nghiệm, chúng tôi thực hiện chương trình trên Matlab

và Java. Chương trình trên Matlab dùng để trích chọn đặc trưng bằng thuật

toán Gabor và giảm số chiều bằng thuật toán PCA. Chúng tôi sử dụng các

thuật toán SSDBSCAN, MCSSDBS, Seed K-Means viết trên Java để thực

hiện tính toán kết quả.

Đối với việc đánh giá kết quả của quá trình phân cụm chúng tôi sử

dụng chỉ số Rand Index. Chỉ số Rand Index dùng để so sánh kết quả giữa hai

phân cụm P1 và P2. Giả sử a là tổng số cặp xi và xj thuộc cùng một cụm trong

cả P1 và P2, b là tổng số cặp xi và xj thuộc hai cụm khác nhau trong cả P1 và

P2, chỉ số RI được tính bằng công thức sau:

RI sẽ có giá trí từ 0 đến 1, RI càng lớn thì độ chính xác của quá trình

phân cụm càng lớn.

41

3.2.1 Thực hiện phương pháp Gabor

Để trích chọn đặc trưng của ảnh chúng tôi sử dụng chương trình trên

Matlab, Matlab hỗ trợ các thư viện của phương pháp Gabor. Chẳng hạn như

gabor(sigma_y+y+1,sigma_x+x+1)= ((fu^2)/(pi*gamma*ni))*exp(-

(alfa^2*xc^2 + beta^2*yc^2))*exp((2*pi*fu*xc)*i);

Ví dụ về việc thực hiện trích chọn đặc trưng với ảnh, số chiều giữa lại

-3.9277593728888874e+01 7.1050642860220643e+00 - 3.4728674584734165e+00 5.1464623031117682e+00 - 4.1457460178153775e+00 6.8259377414196800e+00 - 1.0748274494963409e+01 8.2815769063968201e+00 - 1.8228045753255042e+01 7.3936703403248343e+00 - 7.3328220050384969e+00 9.3069924624417641e+00 - 8.3719167917704489e+00 -6.5286054464800163e+00 1.1783343409977993e+01 3.6489964174495788e+00 1.7032676861196192e+00 1.4643874894093987e+00 2.0422554496131852e+01 -1.0363877953406906e+01 - 6.1697827660015010e+00 -4.3776267092769743e+00 - 3.7600688586324464e+00 -2.1362749092309830e+01 1.1077605401503449e+01 1.2667949403672951e+01 4.0166419631208339e-01 -3.1591007179729171e+00 - 7.3150989610128274e+00 -4.6513319392207286e+00 - 7.1488623092409167e+00 3.6162808105149331e+00 4.4366915282603498e+00 2.2466047906115794e+00 1.6938113198410927e+00 -1.6100506589435477e+00

là 36 như sau đây:

Sau khi thu được dữ liệu đã chuyển đổi chúng tôi thực hiện chương

trình trên Java.

3.2.2 Kết quả thực nghiệm với thuật toán học bán giám sát MCSSDBS,

SSDBSCAN.

Thuật toán được dùng để thử nghiệm cho việc phân cụm ảnh mặt người

cho hai bộ dữ liệu CK+ và ITI là MCSSDBS và thuật toán phân cụm bán

giám sát SSDBSCAN.

Sử dụng phương pháp trích chọn đặc trưng Gabor, chúng tôi đã xây

dựng hệ thống biến đổi ảnh về các véc tơ chuẩn hóa. Các dữ liệu về ràng buộc

42

và các giá trị nhãn được sinh ngẫu nhiên từ tập dữ liệu theo các thông tin có

được từ các nhãn tương ứng. Kết quả của thực nghiệm được minh họa trên

hình 3.3 và 3.4.

Chúng ta có thể thấy rằng kết quả phân cụm tốt nhất cho tệp CK+ đạt

được là 97%, khi sử dụng 25 nhãn lớp và 400 ràng buộc. Kết quả tốt nhất cho

tập dữ liệu ITI là 87%. Các kết quả này cho thấy là tương đối tốt nhất là tập

dữ liệu CK+.

Các kết quả trên cũng cho thấy thuật toán MCSSDBS cho kết quả tốt

nhất đặc biệt là trong trường hợp chỉ sử dụng một loại must-link.

Với kết quả này chúng ta hoàn toàn có thể áp dụng vào các bài toán

thực tế như phân loại cảm xúc online, tương tác người-máy tính. Chúng ta

cũng thấy rằng kết quả phân cụm còn phụ thuộc vào các yếu tố khác như tiền

xử lý dữ liệu, xây dựng tập ảnh, trích chọn đặc trưng,…

Hình 3.3. Kết quả thực nghiệm cho tập dữ liệu CK+

43

Hình 3.4. Kết quả thực nghiệm cho tập dữ liệu ITI

3.2.3 Kết quả thực nghiệm với thuật toán K-Means và Seed K-Means

Với thuật toán K-Means, chỉ có một kết quả duy nhất là kết quả phân

cụm. Do thuật toán K-Means thường phụ thuộc vào quá trình chọn các trọng

tâm ở bước đầu tiên. Chúng tôi thực hiện 20 lần chạy K-Means và tính giá trị

kết quả trung bình. K-Means đạt được 67.6% giá trị RI sau 50 lần chạy.

Hình 3.5 và hình 3.6 trình bày kết quả thực hiện phân cụm ảnh với

thuật toán Seed K-Means cho hai tập dữ liệu CK+ và tập dữ liệu ITI. Kết quả

phân cụm cho thấy với một lượng dữ liệu gán nhãn đã cung cấp, chất lượng

phân cụm không cải thiện được nhiều. Điều này có thể lý giải về việc phân bố

các điểm trong tập dữ liệu là có hình dạng không phải hình cầu vì chất lượng

phân cụm khi sử dụng thuật toán SSDBSCAN và MCSSDBS là cao hơn hẳn.

44

Hình 3.5 Kết quả phân loại trạng thái cảm xúc khuôn mặt

bằng phương pháp Seed K-Means

Hình 3.6. Kết quả phân cụm cho tập ITI

45

3.3. Kết luận

Nội dung chương 3 nhằm tiến hành thực nghiệm xây dựng chương

trình và đánh giá kết quả. Với các kết quả thử nghiệm trên, mặc dù chưa nhiều

nhưng đã đạt được những nghiên cứu ban đầu về việc phân loại ảnh trạng thái

cảm xúc khuôn mặt. Với tập dữ liệu ảnh trạng thái cảm xúc khuôn mặt, chúng

tôi sử dụng hai tập dữ liệu là CK2 và ITI, các thuật toán phân cụm bán giám

sát sử dụng là SSDBSCAN, MCSSDBS, Seed K-Means và K-Means. Kết quả

thực nghiệm cho thấy chất lượng của quá trình phân lớp là tốt điều đó khẳng

định quy trình sử dụng thuật toán Gabor trong trích chọn đặc trưng là đúng

đắn và phù hợp. Với các thuật toán phân cụm bán giám sát, chất lượng phân

cụm là tốt hơn hẳn vì đã có thêm các thông tin bổ trợ trong quá trình phân

cụm. Để tiến tới hoàn thiện hơn nữa chúng ta cần thêm nhiều thực nghiệm với

các tập dữ liệu khác, các thuật toán khác (chẳng hạn thuật toán học có giám

sát), để tiếp tục hoàn thiện nghiên cứu của mình.

46

KẾT LUẬN

 Những kết quả đã đạt được

Sau khi thực hiện luận văn với chủ đề nghiên cứu về lĩnh vực trích chọn

đặc trưng và ứng dụng cho bài toán phân loại trạng thái cảm xúc khuôn mặt

tôi đã thu được các kết quả sau đây:

- Hiểu tổng quan về lĩnh vực xử lý ảnh và các bài toán ứng dụng trong

xử lý ảnh. Đây là một hướng nghiên cứu có nhiều ứng dụng trong thực tế nhất

là trong thời đại công nghiệp 4.0, hàng ngày có hàng tỷ bức ảnh và video được

đưa lên mạng và vấn đề là sử dụng (khai phá) những dữ liệu này như thế nào

trong thực tế là một vấn đề quan trọng.

- Đã nghiên cứu và hiểu được phương pháp trích chọn đặc trưng trên

ảnh, cụ thể là ba phương pháp cơ bản gồm Gabor, HoG và LBP. Mỗi phương

pháp có ưu điểm và nhược điểm riêng nhưng bản chất của chúng là tìm ra các

đặc trưng nhất trong bề mặt ảnh giúp cho các công đoạn nhận dạng, phân loại

ở các pha sau được chính xác hơn.

- Nghiên cứu ứng dụng kết quả của bài toán trích chọn đặc trưng cho

việc sử dụng các thuật toán học máy. Tác giả cũng đã nắm bắt và tìm hiểu

các mô hình học máy như học không giám sát, học bán giám sát và học có

giám sát.

- Đã thực hiện thử nghiệm một số kết quả sử dụng phương pháp học bán

giám sát (SSDBSCAN, MCSSGC, Seed K-Means) và phương pháp học

không giám sát (K-Means). Các kết quả đạt được cho thấy có thể áp dụng các

thuật toán này vào các ứng dụng thực tế triển khai.

 Hướng phát triển tiếp theo của đề tài

Do thời gian và kiến thức còn hạn chế, trong khuôn khổ của luận văn tôi

không thể nghiên cứu kỹ và toàn diện bài toán trích chọn đặc trưng trên ảnh.

47

Trong tương lai, một số hướng nghiên cứu mà tôi dự kiến tiếp tục như sau:

- Tiếp tục nghiên cứu và tìm hiểu về lĩnh vực xử lý ảnh, các phương

pháp trích chọn đặc trưng khác, phân tích ưu nhược điểm của chúng.

- Nghiên cứu ứng dụng cho bài toán nhận dạng, phân loại trạng thái cảm

xúc khuôn mặt. Các tập dữ liệu lớn hơn, các thuật toán khác của học máy cần

được tiếp tục thử nghiệm và đánh giá để có cái nhìn toàn diện hơn về các kết

quả đạt được.

48

TÀI LIỆU THAM KHẢO

Tiếng Việt:

[1]. Trịnh Tấn Đạt, Phạm Thế Bảo (2013), "Đặc trưng Gabor kết hợp với

AdaBoost và K-Means trong bài toán nhận dạng mặt người", Tạp chí

Khoa học Đại học Sư phạm Thành phố Hồ Chí Minh.

[2]. Hồ Đức Lĩnh, Huỳnh Hữu Hưng (2015), "Nhận dạng trái bưởi bằng

sóng Gabor, ma trận đồng hiện mức xám Co-occurrence và thuật toán

k-NN", Tạp chí khoa học, Đại học Đông Á.

[3]. Trương Quốc Bảo, Trương Hùng Chen, Trương Quốc Định (2015), "Phát

hiện và nhận dạng biển báo giao thông đường bộ sử dụng đặc trưng HoG

và mạng Nơ ron nhân tạo", Tạp chí khoa học Trường Đại học Cần Thơ.

Tiếng Anh:

[4]. Ali Mollahosseini, Behzad Hassani, Michelle J. Salvador, Hojjat

Abdollahi, David Chan, Mohammad H. Mahoor, “Facial Expression

Recognition from World Wild Web”. In Computer Vision and Pattern

Recognition Workshops, pp. 1509-1516, 2016.

[5]. Mark S. Nixon, Alberto S. Aguado, "Feature extraction and Image

processing", Academic Press, 2008.

[6]. Bo Yang, Songcan Chen, A comparative study on local binary pattern

(LBP) based face recognition: LBP histogram versus LBP image.

Neurocomputing 120: 365-379 (2013).

[7]. Chengjun Liu, Harry Wechsler: Gabor feature based classification using

the enhanced fisher linear discriminant model for face recognition. IEEE

Trans. Image Processing 11(4): 467-476, 2002.

49

[8]. Mohammad Haghighat, Saman A. Zonouz, Mohamed Abdel-Mottaleb,

CloudID: Trustworthy cloud-based and cross-enterprise biometric

identification. Expert Syst. Appl. 42(21): 7905-7916 (2015).

[9]. Vũ Việt Vũ, Đỗ Hồng Quân, 2017, Density-based clustering with side

information and active learning. In proceeding of International

Conference on Knowledge and Systems Engineering, pp. 174-179.

[10]. Vũ Việt Vũ, 2018, An efficient Semi-supervised Graph-based clustering,

Intelligent Data Analysis, Volume 22(2), ISSN: 1571-4128, pp. 297-

307.

[11]. Levi Lelis, Jörg Sander: Semi-supervised Density-Based Clustering.

ICDM : 842-847, 2009.

[12]. Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu: A Density-

Based Algorithm for Discovering Clusters in Large Spatial Databases

with Noise. KDD, 1996.

[13]. S. Basu, I. Davidson, and K. L. Wagstaff, Constrained Clustering:

Advances in Algorithms, Theory, and Applications, Chapman and

Hall/CRC Data Mining and Knowledge Discovery Series, 1st edn., 2008.

[14] Anil K. Jain: Data clustering: 50 years beyond K-means. Pattern

Recognition Letters (PRL) 31(8):651-666 (2010).

[15]. Sugato Basu, Arindam Banerjee, Raymond J. Mooney, Semi-supervised

Clustering by Seeding. In proceeding of International Conference on

Machine Learning, 2002.

[16]. Yann LeCun, Yoshua Bengio, Geoffrey E. Hinton: Deep learning.

Nature 521(7553): 436-444 (2015).

[17]. Taher Khadhraoui, Faouzi Benzarti, Hamid Amiri: Gabor-feature-based

local generic representation for face recognition with single sample per

person. SERA 2017: 157-160.

50

[18]. Atreyee Sinha, Sugata Banerji, Chengjun Liu: New color GPHOG

descriptors for object and scene image classification. Mach. Vis. Appl.

25(2): 361-375 (2014)

[19]. Nabila Mansouri, Yousra Ben Jemaa, Eric Watelain: Optimized HOG

Descriptor for on Road Cars Detection. ICDSC 2016: 166-171

[20]. Li Liu, Paul W. Fieguth, Yulan Guo, Xiaogang Wang, Matti

Pietikäinen: Local binary features for texture classification: Taxonomy

and experimental study. Pattern Recognition 62: 135-160 (2017).

[21]. Ze Lu, Xudong Jiang, Alex C. Kot: A novel LBP-based Color descriptor

for face recognition. ICASSP 2017: 1857-1861.

[22]. T. Ojala, M. Pietikäinen, and D. Harwood (1996), "A Comparative

Study of Texture Measures with Classification Based on Feature

Distributions", Pattern Recognition, vol. 29, pp. 51-59

[23]. https://www.quora.com/How-does-features-extraction-on-images-work

[24]. http://www.pitt.edu/~emotion/ck-spread.htm

[25] https://vi.scribd.com/doc/138024664/Histogram-of-Oriented-Gradients-HOG