ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
DƯƠNG HỮU PHƯỚC
XÂY DỰNG HỆ THỐNG NHẬN DẠNG
THUỘC TÍNH MẶT NGƯỜI
DỰA VÀO MẠNG HỌC SÂU TÍCH CHẬP
LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01
Người hướng dẫn khoa học:
1. PGS. TS. Dương Anh Đức
2. PGS. TS. Lý Quốc Ngọc
TP. HỒ CHÍ MINH – Năm 2018
LỜI CÁM ƠN
Trước tiên, em xin gửi lời cảm ơn chân thành đến thầy PGS. TS. Dương Anh Đức và
thầy PGS. TS. Lý Quốc Ngọc. Trong suốt quá trình làm luận văn, hai thầy đã dành nhiều
thời gian, công sức để hướng dẫn và giúp đỡ em rất tận tình để em có thể hoàn tất để tài
này một cách thuận lợi nhất.
Bên cạnh đó, em xin cảm ơn các thầy cô tại trường Đại học Công nghệ Thông tin, Đại
học Quốc gia Tp.HCM, đặc biệt là thầy Lê Đình Duy và thầy Nguyễn Tấn Trần Minh
Khang, cùng các thầy cô tại MMLab đã tạo mọi điều kiện cho em có thể học tập, nghiên
cứu và hoàn tất luận văn này.
Em cũng xin cảm ơn các anh chị đồng nghiệp tại đơn vị đang công tác đã hỗ trợ em
trong suốt quá trình thực hiện luận văn.
Em xin chân thành cảm ơn.
Tp.HCM, tháng 12 năm 2017
Dương Hữu Phước
i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu
trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nghiên
cứu nào khác, ngoại trừ các tư liệu được trích dẫn và liệt kê trong mục Tài liệu tham khảo.
Tác giả luận văn
Dương Hữu Phước
ii
MỤC LỤC
DANH MỤC HÌNH ....................................................................................................... v
DANH MỤC BẢNG ..................................................................................................... vi
DANH MỤC TỪ VIẾT TẮT ...................................................................................... vii
Chương 1: Giới thiệu ..................................................................................................... 1
1.
Động lực nghiên cứu .......................................................................................... 1
2.
Phát biểu bài toán ............................................................................................... 2
3.
Thách thức và mục tiêu....................................................................................... 3
4.
Đóng góp của luận văn ....................................................................................... 4
5.
Cấu trúc luận văn ................................................................................................ 4
Chương 2: Các công trình nghiên cứu liên quan ........................................................... 6
1.
Bài báo “Deep Learning Face Attributes in the Wild” ....................................... 6
2.
Bộ nhận dạng khuôn mặt sử dụng Deep Learning ........................................... 11
3.
Bảng thống kê các công trình nghiên cứu liên quan ........................................ 14
Chương 3: Mô hình học thuộc tính mặt người dựa trên mạng học sâu ....................... 19
1.
Framework của hệ thống nhận dạng mặt người dựa trên thuộc tính ................ 19
2.
Đề xuất cải tiến module nhận dạng thuộc tính khuôn mặt ............................... 20
3.
Cách tổ chức, phân loại thuộc tính ................................................................... 22
4.
Kiến trúc mạng AlexNet [25] ........................................................................... 23
5.
Kiến trúc mạng VGG-16 [8]............................................................................. 23
Chương 4: Thực nghiệm và đánh giá ........................................................................... 26
1.
Bộ dữ liệu huấn luyện và thử nghiệm: CelebA ................................................ 26
2.
Bộ dữ liệu huấn luyện và thử nghiệm: LFWA ................................................. 30
iii
3.
Các thiết lập thí nghiệm .................................................................................... 32
4.
Các kết quả thí nghiệm ..................................................................................... 33
Chương 5: Kết luận và hướng phát triển...................................................................... 38
1.
Kết luận ............................................................................................................. 38
2.
Hướng phát triển ............................................................................................... 38
Tài liệu tham khảo........................................................................................................ 39
iv
DANH MỤC HÌNH
Hình 1.1. Minh họa hệ thống nhận dạng và chú thích thuộc tính cho mặt người ......... 2
Hình 2.1. DL Framework dùng trong việc nhận dạng thuộc tính khuôn mặt [4]. ........ 7
Hình 2.2. Mô hình DL Framework ở hình 2.1 .............................................................. 7
Hình 2.3. Mô phỏng việc sử dụng 8 bộ phân lớp SVM để dự đoán thuộc tính [10]... 13
Hình 2.4. So sánh độ chính xác của CNN so với 3 descriptor truyền thống [10] ....... 14
Hình 2.5. Độ chính xác trung bình của CNN so với các bộ phân lớp truyền thống ... 14
Hình 3.1. Framework hệ thống nhận dạng mặt người dựa trên thuộc tính ................. 19
Hình 3.2. Ví dụ kết quả sau khi nhận dạng các thành phần khuôn mặt ...................... 20
Hình 3.3. Cấu trúc mạng AlexNet [25] ....................................................................... 23
Hình 3.4. Kiến trúc mạng VGG-16 [8] ....................................................................... 24
Hình 4.1. Sơ đồ cấu trúc thư mục của bộ dữ liệu CelebA........................................... 27
Hình 4.2. Một số ảnh mẫu kèm theo thuộc tính của bộ dữ liệu CelebA ..................... 29
Hình 4.3. Một số ảnh mẫu của bộ dữ liệu LFW .......................................................... 31
Hình 4.4. Biểu đồ độ chính xác của 5 thuộc tính giữa AlexNet và VGG-16 .............. 35
Hình 4.5. Biểu đồ độ chính xác của 5 thuộc tính giữa AlexNet và VGG-16 .............. 37
v
DANH MỤC BẢNG
Bảng 2.1. Một số thử nghiệm trên tập dữ liệu CelebA và LFWA [4] ........................... 9
Bảng 2.2. Một số thử nghiệm trên tập dữ liệu CelebA và LFWA [4] (tt) ................... 10
Bảng 2.3. Một số thử nghiệm trên tập dữ liệu CelebA và LFWA [4] (tt) ................... 11
Bảng 2.4. Số ảnh huấn luyện từ tập dữ liệu LFW [10] ............................................... 12
Bảng 2.5. So sánh các công trình nghiên cứu liên quan .............................................. 15
Bảng 3.1. Phân loại các thuộc tính theo nhóm ............................................................ 22
Bảng 3.2. Thông số chi tiết của mạng VGG-16 .......................................................... 25
Bảng 4.1. Danh sách thuộc tính trong bộ dữ liệu CelebA ........................................... 29
Bảng 4.2. Danh sách thuộc tính trong bộ dữ liệu LFWA ............................................ 30
Bảng 4.3. Tên mạng CNN tương ứng với nhóm thuộc tính ........................................ 32
Bảng 4.4. Cấu hình máy học và thử nghiệm ............................................................... 33
vi
DANH MỤC TỪ VIẾT TẮT
FAD: Facial Attribute Detection
DL: Deep Learning
ML: Machine Learning
SIFT: Scale-Invariant Feature Transform
HOG: Histogram of Oriented Gradients
CNN: Convolutional Neural Network
vii
Chương 1: Giới thiệu
1. Động lực nghiên cứu
Trong lĩnh vực Thị giác máy tính nói riêng và Khoa học máy tính nói chung, việc “dạy”
cho máy tính “nhìn” và “hiểu” được một khái niệm là mục tiêu cốt lõi. Tuy nhiên có những
khái niệm rất khó để học, ngược lại học một khái niệm qua các dấu chỉ, đặc tính của khái
niệm đó sẽ dễ dàng hơn rất nhiều.
Với một khuôn mặt người (coi như là khái niệm cần học), các thuộc tính khuôn mặt
như mắt, mũi, miệng, tóc, tai… là dấu chỉ. Việc huấn luyện cho máy tính hiểu được một
khuôn mặt sẽ khó hơn so với việc hiểu các dấu chỉ vì đặc trưng các thuộc tính khuôn mặt
đơn giản hơn so với đặc trưng cả khuôn mặt.
Ngoài ra, trong lĩnh vực nhận dạng khuôn mặt còn tồn đọng nhiều bài toán liên quan
đến thuộc tính, ví dụ bài toán 1 người – n thuộc tính và bài toán n người – 1 thuộc tính
giống nhau. Với việc huấn luyện cho máy nhận dạng thuộc tính khuôn mặt sẽ giải quyết
được 2 bài toán trên, đồng thời góp phần vào công đoạn lọc dữ liệu nhanh (fast filtering)
trên tập dữ liệu lớn để giảm thời gian truy vấn ảnh.
Ngoài ra, đa số các bộ nhận dạng khuôn mặt hiện nay đều gặp khó khăn khi đối đầu với
các biểu cảm khác nhau của khuôn mặt, các góc chụp khác nhau, ánh sáng, màu sắc của
ảnh. Tuy nhiên, việc áp dụng mạng nơron nhân tạo, cụ thể là mạng nơron tích chập (CNN)
vào bài toán nhận dạng khuôn mặt đã cho thấy kết quả tốt hơn cả về thời gian lẫn hiệu suất.
Do đó, tác giả muốn áp dụng DL và CNN vào bài toán nhận dạng thuộc tính khuôn mặt
nhằm đạt kết quả tốt hơn.
Bài toán nhận dạng và chú thích thuộc tính cho mặt người cũng sẽ làm tiền đề để các
công trình nghiên cứu sau này có thể áp dụng các phương pháp Deep Learning vào các hệ
thống nhận dạng khác như nhận dạng đối tượng (object recognition), nhận dạng con vật
(animal recognition)…
1
Chương 1: Giới thiệu
2. Phát biểu bài toán
Bài toán nhận dạng thuộc tính khuôn mặt (FAD) được mô tả như sau: Đầu vào là 1 tấm
ảnh I và danh sách các thuộc tính Ai mà hệ thống có thể nhận dạng được (ví dụ các màu
tóc, màu mắt, màu da, các hình dáng khuôn mặt, các đặc điểm riêng và dị hình như nốt
ruồi, tàn nhang…), đầu ra là danh sách các thuộc tính Aj xuất hiện trên tấm ảnh, kèm theo
bounding box Bj chỉ rõ vị trí tương ứng của các thuộc tính đó.
Hệ thống
Image I + Attribute Ai:1→n →
Attribute Aj
{
(j ∈ [1, n])
Bounding box Bj
Hệ thống nhận
dạng thuộc tính
mặt người
Hình 1.1. Minh họa hệ thống nhận dạng và chú thích thuộc tính cho mặt người
Bất kì hệ thống nhận dạng nào cũng gồm 2 giai đoạn đó là giai đoạn offline (cài đặt hệ
thống và huấn luyện) và giai đoạn online (thử nghiệm).
2
Chương 1: Giới thiệu
Trong giai đoạn offline, phải xây dựng tập dữ liệu kèm theo việc đánh dấu vị trí các bộ
phận trên khuôn mặt bằng landmark hoặc bounding box. Tiếp đó phải xác định danh sách
thuộc tính Ai:1n. Sau đó là xây dựng mô hình học thuộc tính MA và mô hình phát hiện
thành phần MP trên khuôn mặt.
Trong giai đoạn online, hệ thống sẽ nhận dữ liệu đầu vào là 1 tấm ảnh I. Mô hình MP
sẽ phát hiện các thành phần của khuôn mặt, làm tiền đề cho mô hình MA phát hiện các
thuộc tính của từng thành phần cũng như thuộc tính trên toàn khuôn mặt.
Trong khuôn khổ luận văn này, tác giả tập trung vào phần xây dựng mô hình học thuộc
tính. Các công đoạn khác như xây dựng danh sách thuộc tính cũng như chỉ định landmark
và bounding box sẽ sử dụng lại của tập dữ liệu CelebA (xem Chương 4). Tác giả cũng sẽ
không xây dựng bộ phát hiện thành phần khuôn mặt cũng như không thực hiện nhận dạng
khuôn mặt.
3. Thách thức và mục tiêu
3.1. Thách thức
Mỗi thuộc tính lại cần một đặc trưng riêng phù hợp, do đó nếu mở rộng hệ thống
bằng cách bổ sung thuộc tính thì sẽ dẫn đến việc phát sinh thêm nhiều đặc trưng.
Mỗi thuộc tính chính lại đi kèm với nhiều thuộc tính con: kích thước (size), màu sắc
(color), kiểu (type)… dẫn đến sự đa dạng của thuộc tính.
Góc nhìn (view point), sự chiếu sáng (illumination), sự che khuất (occlusion) luôn
là trở ngại đối với các bài toán Thị giác máy tính, và với luận văn này cũng không
ngoại lệ.
3.2. Mục tiêu
Luận văn "Xây dựng hệ thống nhận dạng thuộc tính mặt người dựa vào mạng học sâu
tích chập" có mục tiêu chính sau đây:
(a) Tìm hiểu tổng quan bài toán nhận dạng thuộc tính trong ảnh.
3
Chương 1: Giới thiệu
(b) Nghiên cứu về DL và chọn lọc các thuật toán, mô hình mạng để áp dụng cho bài
toán FAD.
(c) Tìm cách gia tăng độ chính xác cho thuật toán bằng cách sử dụng cấu trúc mạng
CNN khác nhau.
4. Đóng góp của luận văn
Về mặt lý thuyết, luận văn có những đóng góp:
Xây dựng được mô hình học thuộc tính dựa trên mạng học xây tích chập CNN,
hỗ trợ giải quyết bài toán 1 người – n thuộc tính và n người – 1 thuộc tính đã đề
cập ở phần 1 phía trên.
Thử nghiệm qua một số mạng học sâu tích chập và chọn được mô hình có hiệu
suất cao cho bài toán FAD.
Triển khai cách học theo hình thức multitask: Chia các thuộc tính ra thành nhiều
nhóm, mỗi nhóm sẽ là 1 mạng riêng để học, có số đầu ra khác nhau tùy thuộc
vào số thuộc tính của mạng đó.
Bên cạnh đó, luận văn còn có những đóng góp về mặt ứng dụng như sau:
Cài đặt được mô hình học thuộc tính bằng phương pháp học sâu (Deep Learning)
sử dụng mạng nơ-rơn tích chập (Convolutional Neural Network).
Hỗ trợ đắc lực cho các hệ thống nhận dạng mặt người.
Hỗ trợ việc lọc dữ liệu (fast filtering) cho các bài toán truy vấn ảnh (Image
Retrieval).
Làm nền tảng cho các hệ thống mô tả ảnh bằng ngữ nghĩa.
5. Cấu trúc luận văn
Trong chương 1, tác giả đã giới thiệu bài toán, phương pháp thực hiện và kết quả mong
đợi. Các chương tiếp theo của luận văn sẽ trình bày các nội dung sau:
4
Chương 1: Giới thiệu
Chương 2: Các công trình nghiên cứu liên quan và hướng tiếp cận. Chương này sẽ giới
thiệu về các công trình nghiên cứu liên quan đến bài toán FAD và thực trạng hiện nay
về vấn đề giải quyết bài toán.
Chương 3: Hệ thống nhận dạng thuộc tính cho mặt người. Chương này sẽ giới thiệu
việc áp dụng mạng CNN vào việc giải quyết bài toán FAD.
Chương 4: Thực nghiệm và đánh giá. Tác giả sẽ trình bày các bộ dữ liệu học và thử
nghiệm, cách xây dựng và cài đặt hệ thống, kết quả thí nghiệm kèm theo các đánh giá,
phân tích.
Chương 5: Kết luận và hướng phát triển. Tác giả sẽ tổng kết về luận văn, phân tích ưu
và nhược điểm của hệ thống, thảo luận thêm về các hướng phát triển, cải tiến trong
tương lai.
5
Chương 2: Các công trình nghiên cứu liên quan
1. Bài báo “Deep Learning Face Attributes in the Wild”
Bài báo “Deep Learning Face Attributes in the Wild” [4] của nhóm tác giả Ziwei Liu,
Ping Luo, Xiaogang Wang, Xiaoou Tang trình bày một phương pháp xây dựng hệ thống
nhận dạng thuộc tính sử dụng mạng CNN. Đây đồng thời cũng là bài báo công bố bộ dữ
liệu CelebA mà luận văn sử dụng để học và thử nghiệm trong Chương 4.
1.1. Cấu trúc framework của bài báo
Trước đây, trong bài toán nhận dạng thuộc tính (attribute recognition) nói riêng và nhận
dạng đối tượng (object recognition) nói chung, việc lấy đặc trưng thủ công (hand-craft
feature) luôn là một bước không thể thiếu. Đối với bài toán này, các phương pháp truyền
thống sẽ chia làm 3 công đoạn:
Face localization: Định vị khuôn mặt
Facial descriptor construction: Xây dựng bộ dò tìm
Attribute classification: Phân lớp thuộc tính
Các hướng tiếp cận truyền thống sẽ sử dụng các bộ nhận dạng (descriptor) cấp thấp, ví
dụ như SIFT, LBP, HOG. Tuy nhiên, các công trình nghiên cứu gần đây [4, 6, 10, 12, 15,
16, 22, 23, 24] cho thấy việc áp dụng DL vào bài toán dự đoán thuộc tính rất thành công
và cho kết quả vượt trội. Trong phần này, tác giả sẽ phân tích một công trình nghiên cứu
khá mới trong bài toán nhận dạng thuộc tính khuôn mặt.
Framework của hệ thống gồm 2 mạng CNN: LNet và ANet (xem hình 2.1) [4]. 2 mạng
CNN này có mục đích khác nhau và do đó, được train khác nhau. Mạng LNet với mục đích
định vị khuôn mặt trong ảnh (face localization), sẽ được train với tập dữ liệu gồm nhiều
đối tượng (trong đó có khuôn mặt) là ImageNet Large Scale Visual Recognition Challenge
(ILSVRC) với khoảng 1,200,000 ảnh. Mạng ANet với mục đích dự đoán thuộc tính trên
6
Chương 2: Các công trình nghiên cứu liên quan
khuôn mặt (attribute prediction) sẽ được train với tập dữ liệu các thuộc tính khuôn mặt
người là CelebA với khoảng 160.000 ảnh.
Từ 1 bức ảnh đầu vào, mạng LNet sẽ định vị vị trí của toàn bộ khuôn mặt người trong
ảnh (hình 2.1a, b). Mạng ANet sẽ có nhiệm vụ rút trích đặc trưng từ vùng khuôn mặt này
(hình 2.1c), sau đó đưa các đặc trưng qua bộ phân lớp SVM, dựa vào model đã được học
trong giai đoạn offline để dự đoán các thuộc tính khuôn mặt có trong ảnh (hình 2.1d).
Hình 2.1. DL Framework dùng trong việc nhận dạng thuộc tính khuôn mặt [4].
Hình ảnh
Bộ phân lớp
(SVM)
Bộ định vị
Trích xuất
khuôn mặt
đặc trưng
(CNN)
(CNN)
Kết quả
Hình 2.2. Mô hình DL Framework ở hình 2.1
Trong giai đoạn định vị khuôn mặt của hệ thống trên, mạng LNet gồm 2 mạng con:
LNeto và LNetS với cấu trúc mạng tương tự nhau gồm 5 layer tích chập (C1 C5). Ảnh
7
Chương 2: Các công trình nghiên cứu liên quan
đầu vào xo của LNeto có kích thước m x n pixel, sau khi qua mạng LNeto, đến layer C5 sẽ
cho kết quả là vị trí vùng đầu và vai trong ảnh. Vùng này sẽ được cắt ra và biến đổi kích
thước thành 227 x 227 pixel, làm ảnh đầu vào xS của mạng LNetS. Sau khi qua mạng LNetS,
layer C5 của mạng này sẽ cho kết quả là vùng mặt người trong ảnh.
Vùng mặt người từ LNetS sẽ được thay đổi kích thước và tiếp tục trở thành ảnh đầu vào
xf của mạng ANet. Mạng ANet gồm 4 layer tích chập (C1 C4), với kết quả là các vector
đặc trưng của khuôn mặt được lấy bằng cách trượt các filter trên ảnh xf, cùng với vị trí của
các vector đặc trưng này. Ảnh xf và các vector đặc trưng sẽ được đưa qua một bộ phân lớp
SVM đã được xây dựng model sẵn, từ đó dự đoán các thuộc tính có trên khuôn mặt.
1.2. Thử nghiệm
Tác giả của [4] thử nghiệm trên 2 tập dữ liệu CelebA và LFWA, với số lượng ảnh lần
lượt là 202.599 và 13.233, và số lượng nhãn thuộc tính lần lượt là hơn 8.000.000 và hơn
500.000.
Cấu trúc tập dữ liệu CelebA gồm 3 phần: 160.000 ảnh dùng để huấn luyện cho mạng
LNet và ANet, 20.000 ảnh dùng để xây dựng bộ phân lớp SVM, và 20.000 ảnh còn lại
dùng để thử nghiệm.
Cấu trúc tập dữ liệu LFWA gồm 2 phần: 6.263 ảnh sẽ dùng để huấn luyện bộ phân lớp
SVM, và 6.970 ảnh còn lại dùng để thử nghiệm. Do tập dữ liệu LFWA không có dữ liệu
huấn luyện cho LNet và ANet nên khi thử nghiệm với tập dữ liệu LFWA, tác giả huấn
luyện LNet và ANet bằng tập dữ liệu CelebA.
Bảng 2.1 so sánh độ chính xác giữa các phương pháp PANDA-w, PANDA-l [20] và
mạng LNet + ANet khi chưa được huấn luyện (w/o) và đã được huấn luyện trên một số
thuộc tính khuôn mặt. Trong tất cả các thuộc tính, mạng LNet+ANet luôn cho độ chính xác
cao nhất. Về mặt thời gian, với 1 tấm ảnh kích thước 300 x 300 pixel, mạng LNet tốn 35ms
để định vị khuôn mặt và mạng ANet tốn 14ms để trích xuất đặc trưng (nếu có sử dụng
GPU), trong khi đó phương pháp truyền thống tốn gần 80ms để trích xuất đặc trưng.
8
Chương 2: Các công trình nghiên cứu liên quan
Bảng 2.1. Một số thử nghiệm trên tập dữ liệu CelebA và LFWA [4]
Arch Eyebrows
Attractive
Bags Under Eyes
Bald
Bangs
Big Lips
BigNose
Black Hair
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
82
88
88
91
64
84
81
84
73
78
74
79
63
79
78
82
77
81
77
81
70
81
80
83
71
79
73
79
63
80
79
83
92
96
95
98
82
84
83
88
89
92
92
95
79
84
84
88
61
67
66
68
64
73
72
75
70
75
75
78
71
79
76
81
74
85
84
88
78
87
86
90
Blurry
Brown Hair
Bushy Eyebrows
Chubby
Double Chin
Eyeglasses
Goatee
Gray Hair
LFWA
5 Shadow
CelebA
Blond Hair
Tập dữ liệu
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
81
93
91
95
87
94
94
97
77
86
80
84
70
74
70
74
69
77
78
80
65
74
73
77
76
86
85
90
63
79
79
82
82
86
86
91
65
69
70
73
85
88
88
92
64
75
74
78
94
98
96
99
84
89
92
95
86
93
92
95
65
75
75
78
88
94
93
97
77
81
81
84
Tập dữ liệu
CelebA
LFWA
9
Chương 2: Các công trình nghiên cứu liên quan
Bảng 2.2. Một số thử nghiệm trên tập dữ liệu CelebA và LFWA [4] (tt)
High Cheekbones
Male
Mouth Slightly
Open
Mustache
Narrow Eyes
No Beard
Oval Face
Pale Skin
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
84
90
85
90
86
93
91
95
80
86
84
87
75
86
83
88
93
97
94
98
86
92
91
94
82
93
86
92
74
78
78
82
83
93
91
95
77
87
87
92
79
84
77
81
68
73
77
81
87
93
92
95
63
75
75
79
62
65
63
66
64
72
71
74
84
91
87
91
64
84
81
84
Receding Hairline
Rosy Cheeks
Sideburns
Smiling
Straight Hair
Wavy Hair
Waering Earings
Waering Hat
LFWA
Heavy Makeup
CelebA
Pointy Nose
Tập dữ liệu
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
65
71
70
72
68
76
76
80
82
85
85
89
61
84
81
85
81
87
87
90
64
73
72
78
90
93
91
96
68
76
72
77
89
92
88
92
77
89
88
91
67
69
69
73
68
73
71
76
76
77
75
80
63
75
73
76
72
78
78
82
85
92
90
94
91
96
96
99
78
82
84
88
Tập dữ liệu
CelebA
LFWA
10
Chương 2: Các công trình nghiên cứu liên quan
Bảng 2.3. Một số thử nghiệm trên tập dữ liệu CelebA và LFWA [4] (tt)
Wearing Necktie
Young
Average
LFWA
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
PANDA-w
PANDA-l
LNet+ANet(w/o)
LNet+ANet
Wearing Necklace
CelebA
Weraing Lipstick
Tập dữ liệu
88
93
90
93
83
93
92
95
67
67
68
71
79
86
83
88
88
91
86
93
70
79
76
79
77
84
83
87
76
82
82
86
79
85
83
87
71
81
79
84
2. Bộ nhận dạng khuôn mặt sử dụng Deep Learning
2.1. Hướng tiếp cận
Việc sử dụng phương pháp Deep Learning, mà cụ thể là mạng nơron tích chập (CNN –
ConvNets) vào bài toán nhận dạng, dự đoán, phân lớp thuộc tính khuôn mặt đang cho kết
quả rất khả quan. Đa phần các bộ nhận dạng truyền thống đều thất bại trong việc xử lí các
ảnh mặt người bị thay đổi về góc chụp, kiểu dáng, ánh sáng…, trong khi mạng CNN thì
không. Trong bài báo Deep or Shallow Facial Descriptors? A Case for Facial Attribute
Classification and Face Retrieval [10], các tác giả đã so sánh hiệu suất và độ chính xác
giữa 2 phương pháp: Phương pháp truyền thống (tạm gọi là Shallow Descriptor) và phương
pháp sử dụng Deep Learning (Deep Descriptor).
Với descriptor truyền thống, tác giả sử dụng 3 descriptor là D-SIFT, G-LBP và G-HOG
để so sánh với độ chính xác của 1 mạng Deep-CNN là VGG-Face chuyên dùng cho các bài
toán nhận dạng khuôn mặt, trên tổng số là 8 thuộc tính, gồm có: Male, Female, Asian,
White, Black, Young, Senior và Eyeglass. Tập dữ liệu tác giả sử dụng là CelebA, và được
thử nghiệm lần lượt trên các tập con gồm 2000, 4000, 6000, 8000 và 10000 phần tử.
11
Chương 2: Các công trình nghiên cứu liên quan
VGG-Face là 1 mạng CNN gồm 37 lớp, được huấn luyện sẵn bởi 2.6 triệu bức ảnh của
2,633 khuôn mặt. Ở bước trích xuất đặc trưng, với mỗi ảnh, tác giả cắt 4 hình có kích thước
224 x 224 và xây dựng 1 vector đặc trưng từ 4 hình này. Các vector đặc trưng sẽ được đưa
qua VGG-Face và sau khi qua lớp fully-connected cuối cùng, 1 vector 4,096 chiều sẽ được
tạo ra và đó chính là đặc trưng của khuôn mặt cần trích xuất.
Với mỗi thuộc tính trong số 8 thuộc tính kể trên, tác giả sử dụng 1 bộ phân lớp SVM
được huấn luyện và thử nghiệm trên thuộc tính đó. Bộ dữ liệu huấn luyện được trích từ tập
dữ liệu LFW, bao gồm các ảnh đúng và các ảnh sai, theo số lượng trong bảng sau:
Bảng 2.4. Số ảnh huấn luyện từ tập dữ liệu LFW [10]
Tên classifier
(Tên thuộc tính)
Ảnh đúng
Ảnh sai
Số lượng ảnh
đúng và sai
Male
Male
Female
2,000 – 2,000
Female
Female
Male
2,000 – 2,000
Asian
Asian
Black + White
1,000 – 1,000
White
White
Asian + Black
1,000 – 1,000
Black
Black
Asian + White
500 – 500
Young
Young
Senior
2,000 – 2,000
Senior
Senior
Young
2,000 – 2,000
Eyeglass
Eyeglass
No Eyeglass
2,000 – 2,000
Vector đặc trưng 4,096 chiều đã được trích xuất ở trên sẽ được đưa vào 8 bộ phân lớp
SVM này, cho ra kết quả là điểm số của từng thuộc tính, từ đó, ta có thể kết luật được ảnh
input bao gồm những thuộc tính nào. Trong ví dụ ở hình 2.3, ảnh người phụ nữ ban đầu sẽ
có các thuộc tính sau: Female, Non-Asian, White, Young, No Eyeglass:
12
Chương 2: Các công trình nghiên cứu liên quan
Hình 2.3. Mô phỏng việc sử dụng 8 bộ phân lớp SVM để dự đoán thuộc tính [10]
2.2. Thử nghiệm
Tập dữ liệu thử nghiệm là CelebA. Hình 2.4 cho thấy độ chính xác của 4 descriptor (3
descriptor truyền thống là G-HOG, G-SIFT, G-LBP và 1 descriptor là mạng Deep CNN)
trên 8 thuộc tính đã nêu. Trong tất cả 8 thuộc tính, mạng CNN luôn cho độ chính xác cao
nhất, và xấp xỉ ở mức 90% - 95%.
13
Chương 2: Các công trình nghiên cứu liên quan
Hình 2.4. So sánh độ chính xác của CNN so với 3 descriptor truyền thống [10]
Hình 2.5 cho thấy độ chính xác trung bình của CNN so với 3 bộ phân lớp truyền thống.
Với bài toán phân lớp thuộc tính khuôn mặt với 8 thuộc tính thì CNN cho độ chính xác đến
91.05%, trong khi G-LBP, G-HOG và G-SIFT có độ chính xác lần lượt là 87.28%, 83.97%,
86.30%. Từ đó cho thấy Deep Learning là hướng đi phù hợp để giải quyết bài toán FAD
hiện tại.
Hình 2.5. Độ chính xác trung bình của CNN so với các bộ phân lớp truyền thống
3. Bảng thống kê các công trình nghiên cứu liên quan
Dưới đây là bảng thống kê tổng quát các công trình nghiên cứu có liên quan trong lĩnh
vực nhận dạng, dự đoán, phân lớp thuộc tính khuôn mặt bằng Deep Learning:
14
Bảng 2.5. So sánh các công trình nghiên cứu liên quan
Tên tác giả
Hướng tiếp cận
Tên công trình
Tập dữ liệu
Kết quả
Ziwei Liu, Ping Deep Learning
Xây dựng 1 hệ thống gồm 2
CelebA,
Khi so sánh với các phương pháp
Luo, Xiaogang
Face Attributes in
mạng LNet và 1 mạng ANet.
LFWA
như FaceTracer, PANDA-w,
Wang, Xiaoou
the Wild [4]
Mạng LNet dùng để định vị
PANDA-l, hệ thống của tác giả
Tang
(2015)
khuôn mặt trong ảnh và mạng
luôn cho kết quả tốt hơn
ANet dùng để định vị các thuộc
tính có trong khuôn mặt đó.
Yang Zhong,
Face Attribute
Xây dựng 1 hệ thống gồm 3
CelebA,
Khi thử nghiệm trên 2 tập dữ liệu
Josephine
Prediction using
module nhỏ:
LFWA
CelebA và LFWA, cách tiếp cận
Sullivan, Haibo Off-the-Shelf
- Face detection
này cho độ chính xác là 86.6% và
Li
CNN Features [6]
- Feature extraction sử dụng
84.7%, còn mạng LNet+ANet
(2016)
CNN
đang cho kết quả tốt nhất hiện tại
- Attribute classifiers
là 87% và 84%. Với phương pháp
Trọng tâm của bài báo là tìm ra
truyền thống, độ chính xác chỉ là
cách biểu diễn đặc trưng phù
83% và 76%.
hợp nhất để tăng tốc độ dự đoán
thuộc tính khuôn mặt.
Rasoul
Deep or Shallow
Bài báo so sánh hiệu suất của 2
Banaeeyan,
Facial Descriptors phương pháp xây dựng bộ nhận
15
CelebA,
So sánh độ chính xác giữa 4
LFWA
descriptor gồm 3 descriptor truyền
Chương 2: Các công trình nghiên cứu liên quan
Tên tác giả
Hướng tiếp cận
Tên công trình
Tập dữ liệu
Kết quả
Mohd Haris
A Case for Facial
dạng khuôn mặt (facial
thống là G-LBP, G-HOG, G-SIFT
Lye,
Attribute
descriptor) là phương pháp trích
là 1 descriptor deep learning là
Mohammad
Classification and
xuất đặc trưng truyền thống và
CNN:
Faizal Ahmad
Face Retrieval
phương pháp deep learning, trên
- Bài toán phân lớp thuộc tính
Fauzi, Hezerul
[10] (2016)
2 bài toán:
khuôn mặt: 87.28%, 83.97%,
Abdul Karim,
- Phân lớp thuộc tính khuôn mặt
86.3% và 91.05%
John See
(Facial attribute classification)
- Bài toán truy vấn ảnh khuôn mặt:
- Truy vấn ảnh khuôn mặt (Face
15.26%, 20.20%, 19.18%, 45.1%
image retrieval)
Yi Sun,
Deep Learning
Mạng CNN của công trình này
Train:
Tác giả mở rộng tập dữ liệu
Xiaogang
Face
chứa 4 layer tích chập với cơ
CelebFaces
CelebFaces thành CelebFaces+
Wang, Xiaoou
Representation
chế max-pooling dùng để trích
Test: LFW
với số lượng ảnh tăng gấp 2.5 lần
Tang
from Predicting
xuất đặc trưng. Sau đó là 1 layer
để đủ 10,000 lớp.
10,000 Classes
DeepID và 1 layer softmax
Độ chính xác của phương pháp
[12] (2014)
output.
này đạt 96.05% - 97.45%.
Ảnh đầu vào là 39 x 31 x k hoặc
31 x 31 x k (k = 3 với ảnh màu
và k = 1 với ảnh mức xám), sau
16
Chương 2: Các công trình nghiên cứu liên quan
Tên tác giả
Hướng tiếp cận
Tên công trình
Tập dữ liệu
Kết quả
đó hệ thống sẽ dự đoán 10,000
lớp khác nhau.
Max Ehrlich,
Facial Attributes
Sử dụng cách học đa nhiệm
CelebA,
Độ chính xác của bộ phân lớp MT-
Timothy J.
Classification
(multi-task) để học đặc trưng
MTFL,
RBM luôn cao hơn SVM khi xét
Shields, Timur
using Multi-Task
cho khuôn mặt. Tác giả sử dụng
ChaLearn
với tập dữ liệu MTFL và
Almaev,
Representation
mô hình Restricted Boltzmann
ChaLearn.
Mohamed R.
Learning [14]
Machine (RBM), kết hợp với
Khi so sánh với mạng ANet+LNet
Amer
(2016)
phương pháp học đa nhiệm để
trên tập dữ liệu CelebA, bộ phân
tạo thành Multi-Task Restricted
lớp MT-RBM luôn cho độ chính
Boltzmann Machine (MT-
xác gần bằng, hoặc cao hơn ở một
RBM).
số thuộc tính khuôn mặt.
Yang Zhong,
Face Attribute
Tác giả cho rằng mạng CNN
CelebA,
Độ chính xác khi dự đoán thuộc
Josephine
Prediction with
mid-level có thể biểu diễn đặc
LFW
tính của các lớp C2-C6 và F1, F2
Sullivan, Haibo Classification
trưng tốt hơn mạng CNN high-
như sau: 89.8% , 91.3%, 91.3%,
Li
level. Nói cách khác, các lớp
91.4%, 91.5%, 90.0% và 89.2%
CNN [23] (2016)
trước của mạng CNN biểu diễn
hình dạng khuôn mặt tốt hơn các
lớp sau.
17