1. Trang chủ
  2. » Công Nghệ Thông Tin

Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)

86 843 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 86
Dung lượng 3,25 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)Nhận dạng mặt người bằng máy học chuyên sâu (Luận văn thạc sĩ)

Trang 1

Thành phố Hồ Chí Minh - 2017

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH

Nguyễn Văn Danh

NHẬN DẠNG MẶT NGƯỜI BẰNG MÁY HỌC CHUYÊN SÂU

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

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH

Nguyễn Văn Danh

NHẬN DẠNG MẶT NGƯỜI BẰNG MÁY HỌC CHUYÊN SÂU

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

Trang 3

Tôi là: Nguyễn Văn Danh

Học viên cao học khoá học: 2015 - 2017

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

Mã số chuyên ngành: 60 48 01 01

Cơ sở đào tạo: Trường Đại học Sư phạm Thành phố Hồ Chí Minh

Giáo viên hướng dẫn: PGS.TS Phạm Thế Bảo

Cơ quan công tác: Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia, Thành phố Hồ Chí Minh

Tôi xin cam đoan luận văn “Nhận dạng mặt người bằng máy học chuyên sâu” này là công trình nghiên cứu của riêng tôi Các số liệu sử dụng trong luận văn là trung thực Các kết quả nghiên cứu được trình bày trong luận văn chưa từng được công bố tại bất kỳ công trình nào khác

Tp Hồ Chí Minh, ngày tháng năm 2017

Học viên

Nguyễn Văn Danh

Trang 4

Lời đầu tiên tôi xin bày tỏ lòng biết ơn sâu sắc tới PGS.TS Phạm Thế Bảo, công tác tại trường Đại học Khoa học Tự nhiên – Đại học Quốc gia Thành phố Hồ Chí Minh, người đã tận tình hướng dẫn tôi những ý tưởng, nền tảng lý thuyết, cũng như những lời nhận xét để tôi hoàn thành luận văn tốt nghiệp này

Tôi xin gửi lời cảm ơn chân thành đến TS Ngô Quốc Việt trưởng Khoa Công nghệ Thông tin, cùng những Thầy Cô Khoa Công nghệ Thông tin trường Đại học Sư phạm Thành phố Hồ Chí Minh, cùng một số Thầy Cô đã nhiệt tình giảng dạy, truyền đạt kiến thức cho tôi trong suốt 2 năm học qua

Tôi cũng cảm ơn em Võ Hoàng Trọng và các bạn cùng sinh hoạt tại phòng LAB, trường Đại học Khoa học Tự nhiên – Đại học Quốc gia Thành phố Hồ Chí Minh đã giúp đỡ cho tôi khi gặp khó khăn để hoàn thành luận văn này

Ngoài ra, tôi xin bày tỏ lòng biết ơn đến cộng đồng thành viên Stack Overflow, Stack Exchange, Quora, GitHub, … các bạn đã hỗ trợ rất lớn cho tôi khi nhóm gặp những vấn đề nan giải khi thực hiện đề tài

Cuối cùng, tôi muốn gửi lời cảm ơn sâu sắc đến tất cả bạn bè, anh chị em trong Gia đình, và đặc biệt là vợ tôi, đã luôn kịp thời động viên và giúp đỡ tôi vượt qua những khó khăn trong cuộc sống để hoàn thành được luận văn này

Trang 5

Trang phụ bìa

Lời cam đoan

Lời cảm ơn

Mục lục

Danh mục các từ viết tắt

Danh mục hình

Danh mục bảng

MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN 4

1.1 Bài toán nhận dạng mặt người 4

1.2 Các ứng dụng 5

1.3 Các hướng tiếp cận 6

1.3.1 Hướng tiếp cận trích đặc trưng 6

1.3.2 Tiếp cận nhận dạng 13

1.4 Khó khăn và thách thức 18

1.5 Đề xuất hướng giải quyết 18

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 20

2.1 Mạng neural 20

2.1.1 Cấu trúc tổng quát của ANN 20

2.1.2 Một số dạng mạng neural 22

2.1.3 Quá trình học của mạng neural 23

2.1.4 Thuật toán lan truyền ngược 26

2.1.5 Hàm softmax 32

2.2 Mạng neural tích chập 33

2.2.1 Lớp tích chập 35

2.2.2 Lớp hàm kích hoạt 38

2.2.3 Lớp pooling 39

2.2.4 Lớp kết nối đầy đủ 39

2.2.5 Nguyên lý hoạt động 40

2.2.6 Vấn đề quá khớp 41

Trang 6

2.2.8 Điều chỉnh 44

2.2.9 Loại bỏ 47

CHƯƠNG 3 XÂY DỰNG KIẾN TRÚC CNN CHO BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI 49

3.1 Mô hình tổng quát 50

3.2 Kiến trúc CNN tổng quát 51

3.3 Tổng quát hóa kích thước 52

3.3.1 Tổng quát hóa kích thước ảnh 52

3.3.2 Tổng quát hóa kích thước bộ lọc của Convolution 53

3.3.3 Tổng quát hóa kích thước bộ lọc của max pooling 53

3.3.4 Kích thước ảnh sau mỗi tầng 53

3.3 Xây dựng hệ thống phân loại tích hợp từ nhiều phân loại khác nhau 54

3.3.1 Xác suất cao nhất từ các thành phần 54

3.3.2 Xây dựng hệ số quan trọng đại diện cho nhiều bộ dữ liệu 56

CHƯƠNG 4 KẾT QUẢ THỰC NGHIỆM VÀ HƯỚNG PHÁT TRIỂN 57

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

4.2 Bộ dữ liệu 57

4.2.1 Tính đa dạng của bộ dữ liệu 57

4.2.2 Tỷ lệ huấn luyện - kiểm tra 61

4.2.3 Chuẩn hóa kích thước ảnh 61

4.3 Chọn hệ số cho hệ thống 63

4.4 Xây dựng bộ hệ số quan trọng của hệ thống tích hợp 63

4.4.1 Hệ số quan trọng trên bộ dữ liệu ORL 63

4.4.2 Hệ số quan trọng trên bộ dữ liệu CYBERSOFT 64

4.4.3 Hệ số quan trọng chung trên bộ dữ liệu ORL - CYBERSOFT 65

4.5 Độ chính xác 65

4.5.1 Độ chính xác trên bộ dữ liệu ORL 65

4.5.2 Độ chính xác trên bộ dữ liệu CYBERSOFT 66

4.5.3 Độ chính xác khi áp dụng hệ số quan trọng chung 67

4.6 Đánh giá và hướng phát triển 68

Trang 7

4.6.2 Hướng phát triển 69

TÀI LIỆU THAM KHẢO 70

Trang 8

KÝ HIỆU TÊN TIẾNG ANH

ANN Artificial Neural Network

CNN Convolution Neural Network

LDA Linear Discriminant Analysis

LBP Local Binary Pattern

LMNN Large Margin Nearest Neighbor

MLP Multilayer Perceptron Network

ORL Olivetti Research Laboratory

PCA Principal Component Analysis

PDBNN Probabilistic Decision-based Neural Network PDM Point Distribution Model

RELU Rectified Linear Unit

SIFT Scale Invariant Feature Transform

Trang 9

Hình 1.1 Hệ thống nhận dạng mặt người 4

Hình 1.2 Ảnh sau khi biến đổi theo PCA 8

Hình 1.3 Ví dụ minh họa LDA 10

Hình 1.4 Ảnh sau khi biến đổi theo LDA 10

Hình 1.5 Sự liên thông giữa hình vòng (a) và hình nhập nhằng (b) 11

Hình 1.6 Ảnh sau khi biến đổi theo hình thái 12

Hình 1.7 Ví dụ về ảnh một phần khuôn mặt 13

Hình 1.8 Mô tả ý tưởng cho thuật toán nhận dạng một phần khuôn mặt 14

Hình 1.9 Sơ đồ thuật toán Khối Bag of Word 15

Hình 1.10 Hình minh họa khoảng cách khi sử dụng FaceNet 16

Hình 1.11 Tóm tắt quy trình nhận dạng khuôn mặt sử dụng FaceNet 17

Hình 2.1 Mạng neural sinh học 20

Hình 2.2 Cấu trúc của một ANN 21

Hình 2.3 Quá trình xử lý của một neural trong ANN 21

Hình 2.5 Bộ cơ sở dữ liệu chữ số viết tay của MNIST 24

Hình 2.6 AlphaGo của Google 26

Hình 2.7 Mô phỏng cách tính lan truyền ngược 29

Hình 2.8 Mô hình hàm softmax cho mạng Neural 33

Hình 2.9 Mô hình CNN 35

Hình 2.10 Minh hoạ tích chập trên ma trận ảnh 36

Hình 2.11 Tìm biên cạnh cho ảnh với tích chập 37

Hình 2.12 Làm mờ ảnh gốc với tích chập 37

Hình 2.13 Minh hoạ tích chập 3 chiều 38

Hình 2.14 Max pooling với lọc 39

Hình 2.15 Ví dụ về cấu trúc CNN 40

Hình 2.16 Mô hình chi tiết của một cấu trúc CNN 41

Hình 2.17 Quá khớp 42

Hình 2.18 Dừng sớm 45

Hình 2.19 Giảm trọng số 47

Hình 2.20 Kỹ thuật loại bỏ trong mạng neural 48

Trang 10

Hình 3.2 Mô hình tổng quát 50

Hình 4.1 Một số ảnh thành phần mắt trái trong bộ dữ liệu ORL 57

Hình 4.2 Một số ảnh thành phần mắt phảitrong bộ dữ liệu ORL 58

Hình 4.3 Một số ảnh thành phần miệng trong bộ dữ liệu ORL 58

Hình 4.4 Một số ảnh toàn mặt trong bộ dữ liệu ORL 58

Hình 4.5 Một số ảnh thành phần mắt trái trong bộ dữ liệu CYBERSOFT 59

Hình 4.6 Một số ảnh thành phần mắt phảitrong bộ dữ liệu CYBERSOFT 59

Hình 4.7 Một số ảnh thành phần miệng trong bộ dữ liệu CYBERSOFT 59

Hình 4.8 Một số ảnh toàn mặt trong bộ dữ liệu CYBERSOFT 60

Trang 11

ảng 3.1 Tổng quát hóa kích thước ảnh 52

ảng 3.2 Tổng quát hóa kích thước các bộ lọc của CONV 53

ảng 3.3 Tổng quát hóa kích thước các bộ lọc của POOL 53

ảng 4.1 Kích thước ảnh của từng thành phần trên bộ dữ liệu ORL 61

ảng 4.2 Kích thước ảnh của từng thành phần trên bộ dữ liệu CYBERSOFT 62

ảng 4.3 Chọn hệ số cho bộ lọc của giai đoạn CONV ở các tầng 63

ảng 4.4 ác suất xây dựng bộ hệ số ORL 63

ảng 4.5 Hệ số quan trọng cho 3 thành phần của bộ dữ liệu ORL 63

ảng 4.6 Hệ số quan trọng 𝛼14 cho 4 thành phần của bộ dữ liệu ORL 64

ảng 4.7 ác suất xây dựng bộ hệ số CYBERSOFT 64

ảng 4.8 Hệ số quan trọng 𝛼23 cho 3 thành phần của bộ dữ liệu CYBERSOFT 64

ảng 4.9 Hệ số quan trọng 𝛼24 cho 4 thành phần của bộ dữ liệu CYBERSOFT 65

ảng 4.10 Hệ số quan trọng 𝛼23 chung cho 3 thành phần của 2 bộ dữ liệu 65

ảng 4.11 Hệ số quan trọng 𝛼24 chung cho 4thành phần của 2 bộ dữ liệu 65

ảng 4.12 Độ chính xác các thành phần trên bộ dữ liệu ORL 65

ảng 4.13 Độ chính xác khi kết hợp các thành phần trên bộ dữ liệu ORL 66

ảng 4.14 Độ chính xác giữa các thành phần trên bộ dữ liệu CYBERSOFT 66

ảng 4.15 Độ chính xác khi kết hợp các thành phần trên bộ dữ liệu CYBERSOFT 67

ảng 4.16 Độ chính xác khi kết hợp các thành phần trên bộ dữ liệu ORL với

chung 68

ảng 4.17 Độ chính xác khi kết hợp các thành phần trên bộ dữ liệu CYBERSOFT với chung 68

ảng 4.18 Độ chính xác của một số hướng tiếp cận khác 68

Trang 12

MỞ ĐẦU

1 Lý do chọn đề tài

Hiện nay, cùng với sự phát triển của xã hội, vấn đề an ninh bảo mật đang được yêu cầu khắt khe tại mọi quốc gia trên thế giới Các hệ thống nhận dạng con người được ra đời với độ tin cậy ngày càng cao Một trong các bài toán nhận dạng con người rất được quan tâm hiện nay là nhận dạng mặt người

Bài toán nhận dạng khuôn mặt người vốn được nghiên cứu từ những năm 1970

và cho đến nay, rất nhiều nghiên cứu lẫn ứng dụng cho bài toán này đã ra đời Bài toán nhận dạng mặt người có thể áp dụng rộng rãi trong nhiều lĩnh vực khác nhau Các ứng dụng liên quan đến nhận dạng mặt người có thể kể như: hệ thống phát hiện tội phạm, hệ thống theo dõi nhân sự trong một đơn vị, hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung,…

Đến tại thời điểm hiện tại đã rất nhiều luận văn nghiên cứu về lĩnh vực phát hiện khuôn mặt người và cũng cho ra khá nhiều kết quả thật tốt Tuy nhiên máy học chuyên sâu (Deep learning) được áp dụng cho bài toán nhận dạng mặt người vẫn là một hướng khá mới, vì vậy tôi đã chọn nghiên cứu vấn đề “Nhận dạng mặt người bằng máy học chuyên sâu” sẽ làm luận văn của tôi

Trong cuốn luận văn này, tôi trình bày một phương pháp nhận dạng mặt người bằng máy học chuyên sâu Từ ảnh ban đầu áp dụng Mạng neural tích chập để huấn luyện trên từng phần như mắt trái, mắt phải, miệng, toàn mặt Sau kiểm tra, tôi đề xuất một hàm tính điểm để từ đó đưa ra kết luận với độ chính xác cao hơn so sau khi kết hợp nhận dạng của mắt trái, mắt phải, miệng và mặt Tôi thực nghiệm phương pháp này dựa trên toàn mặt cũng như mắt trái, mắt phải và miệng của mặt người với 2 bộ

dữ liệu ORL và Cybersoft

2 Mục tiêu của đề tài

 Nghiên cứu mạng Neural nhân tạo và máy học chuyên sâu (Deep learning) – Convolution Neural Network (CNN)

 Hiện thực Convolution Neural Network cho bài toán nhận dạng mặt người

 Đề xuất phương pháp nhận dạng mặt người bằng máy học chuyên sâu cho từng thành phần khuôn mặt( như thành phần mắt trái, thành phần mắt phải, miệng và toàn mặt), rồi xây dựng bộ nhận dạng kết hợp từ các CNN thành phần

Trang 13

3 Đối tượng và phạm vi nghiên cứu của đề tài

Dùng máy học chuyên sâu với mạng CNN để thực hiện trên bộ dữ liệu ORL, CyberSoft

4 Phương pháp nghiên cứu của đề tài

Để thực hiện đề tài khoa học này, thì cần phải kết hợp hai phương pháp sau:

 Phương pháp tìm hiểu lý thuyết:

Trong luận văn này tôi sẽ dùng mạng CNN của máy học chuyên sâu để xây dựng các tầng dùng để huấn luyện tập ảnh đầu vào, và đưa ra các đặc trưng, từ các đặc trưng đó, sẽ là cơ sở để kiểm tra Trong luận văn này tôi không những thực hiện trên những tập ảnh toàn mặt mà tôi còn dùng trên tập hình ảnh của mắt trái, mắt phải,miệng của khuôn mặt để làm dữ liệu huấn luyện và kiểm tra Cuối cùng kết hợp các thành phần này lại để nhằm tăng hiệu suất nhận dạng

5 Đóng góp của đề tài

 Nghiên cứu về máy học chuyên sâu(Deep learning)

 Nhận dạng được mặt người bằng phương pháp máy học chuyên sâu

 Xây dựng bộ nhận dạng từ các CNN thành phần

 Hiện thực kết quả và đánh giá

6 Nội dung luận văn

Luận văn này bao gồm 4 chương:

Trang 14

 Chương 1: Giới thiệu về bài toán nhận dạng mặt người và ứng dụng trong thực

tế Trình bày các phương pháp trích đặc trưng, một số thuật toán nhận dạng mặt người, những khó khăn, thách thức của đề tài và đề xuất hướng giải quyết

 Chương 2: Trình bày cơ sở lý thuyết khi thực hiện đề tài, khái niệm về Mạng neural, Mạng neural tích chập

 Chương 3: Dùng mạng CNN xây dựng kiến trúc các tầng để huấn luyện và kiểm tra, lựa chọn kích thước các bộ lọc cho phù hợp Ngoài ra, tôi đề xuất hàm tính điểm dùng để phân loại đối tượng khi kiểm tra

 Chương 4: Kết quả khi thực nghiệm trên bộ dữ liệu ORL và CYBERSOFT, lựa chọn các hệ số trong từng giai đoạn của kiến trúc mạng CNN cho từng thành phần Đưa ra độ chính xác khi kiểm tra trên các thành phần như mắt trái, mắt phải, miệng và toàn mặt Từ đó xây dựng bộ nhận dạng khi kết hợp các CNN thành phần khác trên khuôn mặt

Trang 15

CHƯƠNG 1 TỔNG QUAN

1.1 Bài toán nhận dạng mặt người

Nhận dạng mặt người là một trong những ứng dụng quan trọng của thị giác máy tính nói riêng cũng như khoa học máy tính nói chung Bài toán nhận dạng khuôn mặt người vốn được nghiên cứu từ những năm 1970 và cho đến nay, rất nhiều nghiên cứu lẫn ứng dụng cho bài toán này đã ra đời Bài toán nhận dạng mặt người có thể áp dụng rộng rãi trong nhiều lĩnh vực khác nhau Các ứng dụng liên quan đến nhận dạng mặt người có thể kể như: hệ thống phát hiện tội phạm, hệ thống theo dõi nhân sự trong một đơn vị, hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung,… Để giải quyết bài toán này, cần xác định hai vấn đề chính Thứ nhất, dùng thông tin nào để nhận dạng, chẳng hạn như mắt, mũi, miệng, chân mày,… hay kết hợp tất cả các thông tin trên Thứ hai, dùng phương pháp nào để nhận dạng nguồn thông tin đó [1]

Một hệ thống nhận dạng mặt người bao gồm các thành phần chính như Hình 1.1

Hình 1.1 Hệ thống nhận dạng mặt người

Hệ thống nhận dạng mặt người Hình 1.1, với tập dữ liệu đầu vào là bộ ảnh về mặt người đã thông qua tiền xử lý, như các kỹ thuật xử lý ảnh (cân bằng sáng, tách ngưỡng, histogram …), cũng như giai đoạn phát hiện mặt người (Face Detection) Từ tập dữ liệu này hệ thống sẽ tiến hành trích chọn các đặc trưng Quá trình rút trích đặc trưng nhằm giảm số chiều của không gian dữ liệu bằng cách loại bỏ bớt những thành phần (chiều) dư thừa trong dữ liệu sao cho lượng thông tin sau khi rút trích vẫn đảm bảo các đặc trưng của dữ liệu ban đầu Từ các đặc trưng được trích chọn, sẽ tiến hành

so khớp, phân lớp để nhận dạng Đây Là giai đoạn cuối cùng trong bài toán nhận dạng mặt người So sánh đặc trưng ảnh với đặc trưng của toàn bộ ảnh trong cơ sở dữ liệu nhận dạng Dựa vào khoảng cách so sánh, hệ thống xác định thông tin của người được nhận dạng Thường dữ liệu đặc trưng được thể hiện bằng một vector nên có thể dùng

Trang 16

khoảng cách Euclid giữa hai vector để phân lớp, ngoài ra người ta cũng có thể dùng kết hợp PCA, LDA và độ đo Mean-KNN để tính khoảng cách kết hợp, từ đó cho ra kết quả

1.2 Các ứng dụng

Có nhiều ứng dụng đã được xây dựng, tôi xin trình bày một số ứng dụng chính:

o Hệ thống tương tác giữa người và máy: giúp những người bị tật hoặc khiếm khuyết có thể trao đổi Những người dùng ngôn ngữ tay có thể giao tiếp với những người bình thường Những người bị bại liệt thông qua một số ký hiệu nháy mắt có thể biểu lộ những gì họ muốn, … Đó là các bài toán điệu bộ của bàn tay (hand gesture), điệu bộ, khuôn mặt

o Nhận dạng người A có phải là tội phạm truy nã hay không? Giúp cơ quan an ninh quản lý tốt con người Công việc nhận dạng có thể ở trong môi trường bình thường cũng như trong bóng tối (sử dụng camera hồng ngoại)

o Hệ thống quan sát, theo dõi và bảo vệ Các hệ thống camera sẽ xác định đâu là con người và theo dõi con người đó xem họ có vi phạm gì không, ví dụ xâm phạm khu vực không được vào, …

o Lưu trữ (rút tiền ATM, để biết ai rút tiền vào thời điểm đó), hiện nay có tình trạng những người bị người khác lấy mất thẻ ATM hay mất mã số PIN và những người ăn cắp này đi rút tiền, hoặc những người chủ thẻ đi rút tiền nhưng lại báo cho ngân hàng là mất thẻ và mất tiền Các ngân hàng có nhu cầu khi có giao dịch tiền sẽ kiểm tra hay lưu trữ khuôn mặt người rút tiền để sau đó đối chứng và xử lý

o Thẻ căn cước, chứng minh nhân dân (Face Identification)

o Điều khiển vào ra: văn phòng, công ty, trụ sở, máy tính, Palm, … Kết hợp thêm vân tay và mống mắt Cho phép nhân viên được ra vào nơi cần thiết, hay mỗi người sẽ đăng nhập máy tính cá nhân của mình mà không cần nhớ tên đăng nhập cũng như mật khẩu mà chỉ cần xác định thông qua khuôn mặt

o An ninh sân bay, xuất nhập cảnh (hiện nay cơ quan xuất nhập cảnh Mỹ đã áp dụng)

o Dùng để xác thực người xuất nhập cảnh và kiểm tra có phải là nhân vật khủng

bố không

Trang 17

o Tương lai sẽ phát triển các loại thẻ thông minh có tích hợp sẵn đặc trưng của người dùng trên đó, khi bất cứ người dùng khác dùng để truy cập hay xử lý tại các hệ thống sẽ được yêu cầu kiểm tra các đặc trưng khuôn mặt so với thẻ để biết nay có phải là chủ thẻ hay không

o Tìm kiếm và tổ chức dữ liệu liên quan đến con người thông qua khuôn mặt người trên nhiều hệ cơ sở dữ liệu lưu trữ thật lớn, như internet, các hãng truyền hình, … Ví dụ: tìm các đoạn video có tổng thống Bush phát biểu, tìm các phim

có diễn viên Lý Liên Kiệt đóng, tìm các trận đá banh có Ronaldo đá

o Hiện nay có nhiều hướng tiếp cận để xác định một ảnh có phải là ảnh khỏa thân hay không? Khuôn mặt người được xem như một yếu tố để xác định cho một hướng tiếp cận mà được dùng gần đây

o Ứng dụng trong video phone

o Phân loại trong lưu trữ hình ảnh trong điện thoại di động Thông qua bài toán xác định khuôn mặt người và trích đặc trưng, rồi dựa vào đặc trưng này để sắp xếp lưu trữ, giúp người sử dụng dễ dàng truy tìm khi cần thiết

o Kiểm tra trạng thái người lái xe có ngủ gật, mất tập trung hay không, và hỗ trợ thông báo khi cần thiết

o Phân tích cảm xúc trên khuôn mặt

o Trong lãnh vực thiết kế điều khiển robot

và theo các góc giữa các điểm

o Hướng tiếp cận hình ảnh: bao gồm việc xây dựng các mẫu từ những đặc trưng mặt người Mẫu của các đặc trưng nổi bật, hoặc thậm chí là toàn khuôn mặt được thiết lập, việc nhận dạng được thực hiện bằng cách duyệt các khuôn mặt rồi tìm mặt nào khớp nhất với mẫu

Trang 18

Hiện nay hệ thống nhận dạng mặt người vẫn đang tiếp tục được phát triển Dưới đây tôi trình bày một số phương pháp trích chọn đặc trưng:

- Phương pháp phân tích thành phần chính (Principal Component Analysis PCA)

Phương pháp phân tích biệt số tuyến tính (Linear Discriminant Analysis LDA)

Phương pháp biến đổi hình thái

- Phương pháp trích đặc trưng tự động (Deep Neural Networks - DNN)

1.3.1.1 Phương pháp phân tích thành phần chính

Ý tưởng chính của phương pháp phân tích thành phần chính (Principal Component Analysis - PCA) là tìm các vector biểu diễn những sự phân bố đặc trưng nhất của các ảnh trong toàn bộ không gian ảnh Những vector này hình thành nên một không gian con của các ảnh được gọi là “không gian mặt người” [43]

Mỗi ảnh là một ma trận M×N các điểm ảnh, ma trận này được chuyển thành một vector bằng cách xếp các cột điểm ảnh liên tiếp nhau Như vậy, mỗi ảnh được coi là một điểm trong không gian MN chiều Các vector của tập ảnh huấn luyện được xếp thành một ma trận Từ ma trận này, ta sẽ tính được ma trận hiệp phương sai của dữ liệu, là ma trận trong đó mỗi phần tử (i, j) là giá trị hiệp phương sai giữa chiều thứ i và chiều thứ j

Công việc tiếp theo là tính các giá trị riêng và vector riêng của ma trận hiệp phương sai Các vector riêng chính là các thành phần đặc trưng cho sự phân bố của tập

dữ liệu Cuối cùng, ma trận biến đổi của phương pháp PCA là ma trận hình thành từ các vector riêng ứng với các giá trị riêng lớn nhất vừa tính được, nghĩa là các thành phần đặc trưng nhất, còn các thành phần kém quan trọng hơn sẽ được bỏ qua để giảm

số chiều của dữ liệu [4]

Nói một cách ngắn gọn, mục tiêu của PCA là tìm một không gian mới (với số chiều nhỏ hơn không gian cũ) Các trục tọa độ trong không gian mới được xây dựng sao cho trên mỗi trục, độ biến thiên của dữ liệu trên đó là lớn nhất có thể

Xét trong bộ dữ liệu tập ảnh ORL (Olivetti Research Laboratory, Surrey University) Ảnh gốc có kích thước 112×92 (10304 điểm ảnh) Những ảnh này cần được rút gọn sao cho lượng thông tin dùng để biểu diễn ảnh đó giảm đi, đồng thời

Trang 19

không làm mất những đặc điểm quan trọng nhất của khuôn mặt Kết quả của việc phân tích này sẽ đạt được, Hình 1.2 [2] Áp dụng PCA để giảm số chiều của không gian khổng lồ trên, kết quả thu được là các ảnh đã được biến đổi sau khi phân tích theo các thành phần đặc trưng, các vector riêng được chọn theo các giá trị riêng tương ứng lớn hơn hoặc bằng 10-3

, số lượng vector riêng là 49, nghĩa là mỗi ảnh biểu diễn một điểm trong không gian 49 chiều [2],[4]

Hình 1.2 Ảnh sau khi biến đổi theo PCA

Phương pháp phân tích thành phần chính cho phép xác định các mẫu trong một tập dữ liệu và biểu diễn dữ liệu theo cách có thể làm nổi bật được sự giống nhau và khác nhau giữa các mẫu Vì các mẫu có thể rất khó tìm ra trong dữ liệu nhiều chiều (do không thể biểu diễn trực quan bằng đồ họa), nên PCA là một công cụ hữu hiệu để phân tích dữ liệu [2]

1.3.1.2 Phương pháp phân tích biệt số tuyến tính

Phương pháp PCA ở trên còn có nhược điểm là chỉ làm nổi bật lên các đặc trưng của từng ảnh, mà chưa quan tâm đến các ảnh đó là của cùng một người hay của những người khác nhau Phương pháp phân tích biệt số tuyến tính (Linear Discriminant Analysis - LDA) có thể khắc phục được những nhược điểm đó [4]

Nhiệm vụ chính của phương pháp là tính sự biến thiên giữa các ảnh của những người khác nhau và tính sự biến thiên giữa các ảnh của cùng một người, sau đó tìm một phép biến đổi để làm cực đại tỉ số của hai sự biến thiên trên Nghĩa là, tập ảnh huấn luyện sẽ được biến đổi sang một không gian mới sao cho sự khác nhau giữa các

Trang 20

ảnh của những người khác nhau được tăng lên tối đa, còn sự giống nhau giữa các ảnh của cùng một người được làm cực tiểu [2]

LDA cho phép đánh giá khách quan về tầm quan trọng của thông tin hình ảnh trong các đặc điểm khác nhau của khuôn mặt để xác định khuôn mặt người LDA cũng cho chúng ta một tập hợp nhỏ các tính năng mà thực hiện phù hợp nhất thông tin cho các mục đích phân loại Phương pháp LDA khắc phục những hạn chế của phương pháp phân tích thành phần chính bằng cách áp dụng các tiêu chuẩn phân biệt tuyến tính

Mục tiêu của LDA là thực hiện giảm chiều trong khi vẫn giữ càng nhiều các thông tin phân biệt giữa các lớp càng tốt.Tìm hướng dọc theo đó các lớp được phân cách tốt nhất Thực hiện bằng cách xem xét các tán xạ trong các lớp và gữa các lớp.Nó

có khả thay đổi hình ảnh từ những biến đổi do các nguồn khác nhau như ánh sáng Thông thường trong phương pháp LDA, sự phân bố ngoại và sự phân bố nội được dùng làm tiêu chí để phân lớp [28] Ma trận biến đổi của LDA được hình thành

từ tập vector W = [W1, , Wd], thỏa mãn:

(1)

Trong đó Sw và Sb lần lượt là ma trận phân bố nội và ma trận phân bố ngoại Nếu

ma trận Sw là khả nghịch, tỉ số ở công thức (1) sẽ đạt cực đại khi các vector của W là các vector riêng của Đối với bài toán nhận dạng mặt người, ma trận Sw thường không khả nghịch, vì số lượng ảnh nhỏ hơn rất nhiều so với số chiều biểu diễn ảnh

Có nhiều phương pháp khác nhau để giải quyết vấn đề của LDA như phương pháp giả nghịch đảo, phương pháp không gian con hoặc phương pháp không gian rỗng [2] Hình 1.3 là một ví dụ minh họa trực quan ý nghĩa của phép biến đổi này Hình 1.3(a) là một cách biến đổi không tốt khi các hình chiếu của các điểm thuộc hai lớp vẫn lẫn lộn với nhau, Hình 1.3(b) là một cách biến đổi khá tốt khi hình chiếu của các điểm thuộc cùng một lớp gần nhau, còn hình chiếu của các điểm khác lớp xa nhau [2]

Trang 21

Hình 1.3 Ví dụ minh họa LDA

Trong Hình 1.4 là ví dụ về một ảnh trong bộ dữ liệu ORL, với kích thước ảnh là Sau khi áp dụng phân tích biệt số tuyến tính LDA, Hình 1.4 [2]

Hình 1.4 Ảnh sau khi biến đổi theo LDA

1.3.1.3 Phương pháp biến đổi hình thái

Hai phương pháp PCA và LDA cho phép phân tích dựa trên các đặc điểm mang tính thống kê của ảnh Tuy nhiên, các phương pháp này chưa xét đến những đặc điểm

về hình thái của mặt người Đó chính là những đặc trưng về đường nét của các bộ phận trên khuôn mặt như mắt, mũi, miệng,… Phương pháp biến đổi hình thái sẽ bổ sung cho những thiếu sót này của hai phương pháp trên [5]

Xử lý ảnh về hình thái là một phép xử lý trong đó dạng không gian hoặc cấu trúc của các đối tượng trong ảnh được chỉnh sửa Phép dãn ảnh và phép co ảnh là hai thao tác xử lý hình thái cơ bản Với phép dãn ảnh, một đối tượng sẽ nổi đều lên trong không gian, còn với phép co ảnh đối tượng sẽ co đều xuống [15],[45]

Trang 22

Các thao tác xử lý hình thái ảnh nhị phân dựa trên các quan hệ về mặt hình học hay là sự liên thông của các điểm ảnh được cho là thuộc cùng một lớp Trong ảnh nhị phân ở Hình 1.5(a), vòng gồm các điểm ảnh đen, hình thành bởi sự liên thông của các điểm ảnh, phân ảnh ra thành ba phân đoạn: các điểm ảnh trắng ở ngoài vòng, các điểm ảnh trắng ở trong vòng và các điểm ảnh đen của bản thân vòng Các điểm ảnh trong mỗi phân đoạn được gọi là liên thông với nhau Khái niệm liên thông này rất dễ hiểu đối với Hình 1.5(a), nhưng lại trở nên nhập nhằng khi xét đến Hình 1.5(b)

Hình 1.5 Sự liên thông giữa hình vòng (a) và hình nhập nhằng (b)

Xét một ảnh đa mức xám F(j,k) được lượng tử hóa với một thang mức xám nào

đó Khi đó, phép dãn ảnh đối với ảnh đa mức xám được định nghĩa công thức (2):

(2)

Trong đó MA {S1, ,S9} trả về giá trị lớn nhất trong các giá trị của chín điểm ảnh của lân cận 3×3 Tương tự, phép co ảnh đối với ảnh đa mức xám được định nghĩa công thức (3):

(3)

Trong đó MIN{S1, ,S9} trả về giá trị nhỏ nhất trong các giá trị của chín điểm ảnh của lân cận 3×3 Hình 1.6 là kết quả sau khi biến đổi hình thái [2]

Trang 23

Hình 1.6 Ảnh sau khi biến đổi theo hình thái

1.3.1.4 Trích đặc trƣng tự động

Phương pháp phân tích thành phần chính PCA là một kỹ thuật được tạo ra nhằm khử tương quan và giảm chiều dữ liệu PCA là một hình thức cơ bản của học đặc trưng với khả năng tự động phát hiện các biểu diễn nhỏ gọn và có ý nghĩa của dữ liệu thô mà không dựa vào tri thức chuyên gia hay tri thức về kiểu ứng dụng cụ thể Các véc-tơ riêng của hiệp phương sai cho một tập mẫu (tương ứng với giá trị riêng lớn nhất) được sử dụng để mở rộng thành một không gian phụ có số chiều thấp hơn, tập trung vào phương sai của dữ liệu gốc Việc chiếu dữ liệu gốc lên không gian con với phương sai cực đại được sử dụng làm biểu diễn đặc trưng

Mặc dù PCA có thể học đặc trưng theo cách không giám sát nhưng nó chỉ là kết hợp tuyến tính của các đặc trưng chưa xử lý Do đó, PCA không đủ khả năng mô hình hóa cho các phụ thuộc phi tuyến phức tạp Plotz và cộng sự đã đề xuất sử dụng mạng nơ-ron sâu (DNN) để tách được các đặc trưng có ý nghĩa hơn Một trong những khác biệt chính giữa mạng nơ-ron truyền thống và DNN là DNN có thể có nhiều lớp, trong khi mạng nơ-ron truyền thống thường sử dụng nhiều nhất 3 lớp Một lợi thế quan trọng khác nữa của DNN là khả năng biểu diễn các dữ liệu đầu vào DNN có thể mô hình hóa nhiều hoạt động đa dạng mà không cần nhiều dữ liệu huấn luyện Nó có thể chia sẻ các phần không gian đầu vào tương tự chỉ với một vài nút ẩn, trong khi giữ cho các nút khác “cảm nhận” một tập con các đặc trưng đầu vào quan trọng cho việc nhận dạng

CNN bao gồm một hoặc nhiều các cặp thuộc lớp convolution và pooling Các bộ phận nhỏ cục bộ của đầu vào được bắt giữ bởi các lớp convolution với một tập các bộ lọc cục bộ Lớp pooling có thể lưu giữ được các đặc trưng bất biến Cuối cùng, lớp kết

Trang 24

nối đầy đủ đứng đầu sẽ kết hợp các đầu vào từ tất cả các đặc trưng để thực hiện phân loại toàn bộ đầu vào

1.3.2 Hướng tiếp cận nhận dạng

1.3.2.1 Không cần canh chỉnh

Ảnh trích xuất từ các thiết bị thu ảnh (như camera giám sát hay camera du lịch) thường xuất hiện ảnh chỉ chụp một phần mặt người, Hình 1.7 Những phương pháp nhận dạng khuôn mặt theo kiểu toàn cục (PCA và LDA) hay địa phương (Gabor,

L P) thường canh chỉnh và biểu diễn các ảnh khuôn mặt theo cùng một kích cỡ, sau

đó nối dài các giá trị điểm ảnh hoặc trích xuất các vector đặc trưng theo số chiều nhất định Tuy nhiên, với ảnh một phần khuôn mặt thì cách làm này không khả thi do mặt không đủ chi tiết cũng như sẽ gặp khó khăn khi canh chỉnh mặt, với không có gì đảm bảo rằng những điểm mốc phổ biến của khuôn mặt sẽ xuất hiện ở ảnh một phần mặt

Do đó nhóm tác giả Liao và cộng sự [38] đề xuất thuật toán nhận dạng một phần mặt người mà không cần dùng tọa độ 2 mắt (hay bất kỳ điểm nào khác) để canh chỉnh mặt

Hình 1.7 Ví dụ về ảnh một phần khuôn mặt: (a) Ảnh một phần khuôn mặt trong bộ dữ liệu LFW; (b) Ảnh một phần khuôn mặt trong đám đông;

(c) Ảnh khuôn mặt bị che bởi mắt kinh, áo khoác

Nhóm của Liao đã đề xuất một thuật toán biểu diễn khuôn mặt không cần canh chỉnh dựa trên phép Mô tả đa điểm chính (Multi Keypoint Descriptor - MKD), trong

đó kích thước mô tả khuôn mặt được xác định bằng thành phần có trong ảnh Làm theo cách này, ta có thể dùng một tập lớn các mô tả để biểu diễn bất kỳ ảnh khuôn mặt kiểm tra nào, dù là một phần hay toàn phần Nhóm tác giả đã phát triển một phép mô

tả điểm chính mới gọi là mẫu tam phân Gabor (Gabor Ternary Patter - GTP) nhằm giúp nhận dạng khuôn mặt dễ dàng hơn Thuật toán này sử dụng hiệu quả với ảnh

Trang 25

khuôn mặt bị vật thể khá che khuất, ảnh không chính diện, ảnh có đeo phụ kiện, ảnh bị giới hạn góc nhìn, ảnh phơi sáng [5]

Hình 1.8 mô tả sơ đồ thuật toán sử dụng biểu diễn MKD cho thư viện từ điển cũng như ảnh kiểm tra Sau đó, học phép Biểu diễn đa nhiệm thưa với mỗi ảnh kiểm tra, cuối cùng, sử dụng phân loại dựa trên biểu diễn thưa (Sparse Representation based Classification - SRC) [23] để nhận dạng ảnh Nhóm tác giả gọi thuật toán này là MKD-SRC

Hình 1.8 Mô tả ý tưởng cho thuật toán nhận dạng một phần khuôn mặt

Sử dụng thuật toán này cho ra kết quả nhận dạng một phần khuôn mặt tốt hơn các phương pháp phổ biến trước đây như PCA và LDA, L P Ngoài ra, thuật toán đề xuất một phương pháp xác định các điểm chính MKD cho ảnh khuôn mặt không chính diện và xây dựng các điểm chính phù hợp trong ảnh bằng phép phân loại biểu diễn thưa (SRC) [10] Tuy nhiên, do thuật toán này sử dụng quá nhiều điểm chính cũng như kích thước từ điển lớn nên dẫn đến chi phí tính toán cao Ngoài ra, thuật toán này không chú ý đến thông tin hình học của tập đặc trưng [38]

Trang 26

Nhóm tác giả Li đánh giá rằng các ảnh khuôn mặt đều cùng một loại vật thể, cho nên nếu ta trính xuất đặc trưng khuôn mặt bằng cách thành tập các phần nhỏ thì điều này không đảm bảm rõ thông tin của khuôn mặt Do đó, nhóm đề xuất thuật toán rút trích đặc trưng khuôn mặt như Hình 1.9 [5]

Hình 1.9 Sơ đồ thuật toán Khối Bag of Word

Ta chia ảnh thành các khối và xem mỗi khối nhỏ là vùng quan tâm (Region of Interest - ROI) Với mỗi ROI, ta tính đặc trưng SIFT đặc trên mỗi đoạn lấy mẫu dài 2 điểm ảnh, thu được vector SIFT 128 chiều, từ đó, mỗi khối ta thu được một tập các vector SIFT Ở bước huấn luyện, sử dụng thuật toán -means chuyển đổi vector SIFT ở mỗi ROI thành các codeword Ở trong một ROI, ta phân vùng các đặc trưng SIFT ở mỗi đoạn thành cụm, khi đó ta định nghĩa codeword là tâm của cụm Một codebook bao gồm codeword của cùng một ROI và từ dữ liệu huấn luyện, ta được codebook Cuối cùng, ta đối chiếu mỗi vector SIFT của mỗi đoạn ở mỗi ROI với codebook tương ứng, sử dụng biểu đồ tần số của các codeword khác nhau và dùng biểu đồ này làm đặc trưng của ROI, sau đó ta nối dài biểu đồ để thu được một vector biểu diễn ảnh khuôn mặt Sử dụng SVM tuyến tính để huấn luyện biểu đồ của từng người [48]

Ở bước kiểm tra, ta cũng chia ảnh thành khối, thu được biểu đồ codeword sử dụng codebook đã huấn luyện Nối dài biểu đồ này thu được vector biểu diễn ảnh, ta phân loại ảnh bằng phân loại SVM với mô hình huấn luyện

Trang 27

Thuật toán cho kết quả nhận dạng cao dưới nhiều điều kiện của ảnh, kể cả khuôn mặt có biểu đạt cảm xúc hay bị che khuất một phần mà chỉ cần huấn luyện bộ ảnh thường Tuy nhiên, Biểu diễn túi từ này chỉ hiệu quả khi ảnh không bị che khuất quá nhiều vì nếu không thì biểu đồ biểu diễn ảnh ở vùng một phần sẽ khác với biểu đồ cũng của vùng đó nhưng ở toàn phần [39]

1.3.2.3 Thuật toán FaceNet

Nhóm tác giả Schroff và cộng sự [16] từ Google đề xuất một thuật toán có tên là FaceNet sẽ học cách ánh xạ từ ảnh khuôn mặt vào không gian Euclide đầy đủ với khoảng cách đo được tương ứng với độ tương đồng của khuôn mặt Thuật toán này có thể tạo ra vector đặc trưng và nhúng vào bài toán nhận dạng khuôn mặt, kiểm tra khuôn mặt và phân cụm khuôn mặt Nhóm tác giả sử dụng Mạng tích chập sâu (Deep Convolution Network - DNN) được huấn luyện để tự tối ưu hóa bài toán Mạng được huấn luyện sao cho khoảng cách L2 bình phương trong không gian nhúng tương ứng với mức độ tương đồng của khuôn mặt: Mặt cùng người sẽ có khoảng cách nhỏ, mặt khác người sẽ có khoảng cách lớn, Hình 1.10 [5]

Hình 1.10 Hình minh họa khoảng cách khi sử dụng FaceNet

Hình 1.10 minh họa khoảng ách khi sử dụng FaceNet giữa các cặp khuôn mặt Nếu lấy ngưỡng là 1.1, ta thấy rằng 2 mặt có khoảng cách nhỏ hơn ngưỡng điều thuộc

về một người (2 ảnh ở dòng đầu tiên) và ngược lại

Trang 28

Sau khi thực hiện phép nhúng và thu được vector đặc trưng, ta có thể thực hiện được 3 bài toán: Kiểm tra khuôn mặt, ta chỉ cần phân ngưỡng khoảng cách giữa 2 vector đặc trưng của 2 khuôn mặt Nhận dạng khuôn mặt là bài toán phân loại k-NN Phân cụm khuôn mặt sử dụng k-mean (xem tóm tắt cách nhận dạng khuôn mặt sử dụng FaceNet ở Hình 1.11)

Hình 1.11 Tóm tắt quy trình nhận dạng khuôn mặt sử dụng FaceNet

Hình 1.11, từ ảnh vào (input image), sau đó xác định khuôn mặt, những điểm chính trên mặt (Detect), canh chỉnh lại mặt (Transform), sau đó cắt khuôn mặt ra khỏi ảnh (Crop) và đưa vào Mạng neuron sâu (Deep Neural Network), thu được vector đặc trưng 128 chiều dùng để biểu diễn khuôn mặt (Representation) Từ vector đặc trưng này có thể dùng để phân cụm khuôn mặt (Clustering), xác định tính tương đồng (Similarity Detection) và phân loại (Classification) [5]

FaceNet huấn luyện output thành nhúng đầy đủ 128 chiều sử dụng hàm bộ ba sai

số dựa trên LMNN [27], mẫu bộ ba này gồm 2 ảnh cùng loại và 1 ảnh khác loại và hàm lỗi có nhiệm vụ tách ảnh đúng ra khỏi ảnh sai dựa vào biên khoảng cách Nhóm tác giả sử dụng 2 kiến trúc DNN, một mạng dựa theo mô hình của Zeiler và Fergus, mạng còn lại sử dụng mô hình Inception từ GoogLeNet

Trang 29

Tính đến thời điểm FaceNet ra đời, thuật toán này đã lập nên kỷ lục mới trong nhận dạng khuôn mặt dưới nhiều điều kiện ảnh khác nhau Tuy nhiên, FaceNet huấn luyện với một số lượng lớn hình ảnh (hơn 200 triệu ảnh của 8 triệu đối tượng), lớn gấp

3 lần so với các bộ dữ liệu hiện có Để xây dựng bộ dữ liệu lớn như vậy rất khó thực hiện trong các phòng thiết bị, học thuật do đòi hỏi kiến trúc máy lớn [34]

1.4 Khó khăn và thách thức

Bài toán nhận dạng mặt người gặp khó khăn lớn khi ảnh mặt người bị tác động từ môi trường xung quanh, ví dụ như góc chụp, mức độ sáng, tối khi lấy ảnh Chất lượng ảnh đôi khi không được sắc nét do ảnh hưởng bởi nhiễu, phơi sáng Ngoài ra, một người theo thời gian thì khuôn mặt sẽ biến đổi, do đó phần nào ảnh hưởng đến thông tin trên mặt như ria mép, râu, cũng như một số ảnh mặt người có đeo thêm phụ kiện như mắt kính, đôi khi vị trí của mắt kính vẫn khác nhau, như lệch xuống không đúng

vị trí Bên cạnh đó trạng thái của khuôn mặt cũng ảnh hưởng lớn đến vấn đề nhận dạng như vui, buồn, cười, há miệng, ngậm môi, nheo mắt hay mở mắt to,

Với sự phát triển của Mạng neural đã hỗ trợ rất lớn cho bài toán nhận dạng mặt người với độ chính xác cao, nhưng bù lại đòi hỏi quá trình huấn luyện cần nhiều dữ liệu, đôi lúc không thể huấn luyện bằng những máy tính học thuật thông thường

1.5 Đề xuất hướng giải quyết

Trong luận văn này, tôi đề xuất phương pháp nhận dạng khuôn mặt người bằng máy học chuyên sâu cho từng thành phần khuôn mặt (như thành phần mắt trái, thành phần mắt phải, miệng và toàn mặt), rồi xây dựng bộ nhận dạng kết hợp từ các CNN thành phần

Với CNN, khi nhận dạng với dữ liệu trích đặc trưng tự động là ảnh toàn mặt, thì

có thể nhiều thông tin không "nhìn thấy", nhưng nếu tách riêng thì có thể các đặc trưng này sẽ được "nhìn thấy" Vì thế tôi quyết định xây dựng bộ nhận dạng kết hợp

từ các CNN thành phần

Các thành phần của khuôn mặt tôi sử dụng để nhận dạng trong luận văn này là mắt trái, mắt phải, miệng và cả khuôn mặt Tôi không sử dụng thành phần mũi, vì đối với các hình có góc chụp hơi nghiêng trái hay nghiêng phải, cúi đầu hay ngước lên sẽ làm mất thông tin của mũi, vì thế tôi sẽ không chọn thành phần mũi làm dữ liệu để kiểm tra

Trang 30

Để có thể nhận dạng khuôn mặt người với hệ thống tôi đề xuất, thì các hình ảnh trong bộ dữ liệu khuôn mặt phải thỏa yêu cầu sau:

- Dữ liệu phải được thấy đủ 2 mắt và miệng

- Dữ liệu phải được chụp trực diện, có quay một góc không đáng kể, tránh mất thông tin của mắt, cúi vừa phải để không mất thông tin của miệng

- Dữ liệu đã thông qua giai đoạn xác định khuôn mặt người, trong luận văn này tôi không tiến hành xác định khuôn mặt người (Face detection)

- Dữ liệu phải đa dạng về góc chụp (cho phép nghiêng một góc không đáng

kể, không quá 30 độ) nghiêng mà vẫn không mất thông tin như mắt trái, mắt phải và miệng

- Dữ liệu được chụp ở nhiều trạng thái khác nhau như cười hay không cười, há miệng hay bình thường, mở to mắt hay nheo mắt, đeo kính hay không đeo, đeo lệch xuống hay bình thường

Trong luận văn này, tôi tiến hành xây dựng mô hình CNN để huấn luyện và kiểm tra cho từng thành phần trong khuôn mặt như:

và kết quả của toàn mặt, kết hợp với một hàm độ đo để tổ hợp các kết quả, từ đó đưa

ra danh tính của ảnh mặt người kiểm tra

Trang 31

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Mạng Neural

Mạng neural nhân tạo (Artificial Neural Network – ANN) là mô hình xử lý thông

tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật hay còn gọi

là mạng neural sinh học, Hình 2.1 Cấu tạo từ số lượng lớn các neural được kết nối với nhau để xử lý thông tin ANN giống như bộ não con người, được học bởi kinh nghiệm thông qua huấn luyện, có khả năng lưu giữ những kinh nghiệm tri thức và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết ANN được giới thiệu năm

1943 bởi nhà thần kinh học Warren McCulloch và nhà logic học Walter Pits [5] Các ứng dụng của Mạng neuron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng,…

Hình 2.1 Mạng neural sinh học

2.1.1 Cấu trúc tổng quát của ann

Một ANN gồm ba tầng lớp đầu vào (input layer), các lớp ẩn (hidden layers) và cuối cùng là lớp đầu ra (output layer) được mô tả trong Hình 2.2, trong đó, lớp ẩn

gồm nhiều neural nhận dữ liệu đầu vào từ các lớp trước đó để xử lý và chuyển đổi các

dữ liệu này cho các lớp tiếp theo Một ANN có thể có nhiều lớp ẩn hoặc không có lớp

ẩn

Mỗi node trong mạng gọi là một neural Mỗi neural nhận các dữ liệu đầu vào xử

lý chúng và trả ra một kết quả duy nhất Kết quả đầu ra của neural này có thể làm dữ liệu đầu vào của các neural khác

Trang 32

Hình 2.2 Cấu trúc của một ANN

Hình 2.3 mô tả quá trình xử lý của một neural trong ANN Trong đó input là dữ

liệu đầu vào, output là kết quả đầu ra Trọng số liên kết hay trọng số (connection

weights hay gọi tắt là weights) là thành phần rất quan trọng, thể hiện mức độ quan trọng đối với quá trình xử lý dữ liệu từ lớp này sang lớp khác Quá trình học của ANN thực ra là quá trình điều chỉnh trọng số của các dữ liệu đầu vào

Hình 2.3 Quá trình xử lý của một neural trong ANN

Hàm tổng tính tổng của tích trọng số và dữ liệu vào Hàm tính tổng một neural của dữ liệu đầu vào của lớp thứ

Trang 33

Hàm kích hoạt hay hàm chuyển đổi tính toán đầu ra của một neural để chuyển đến lớp tiếp theo trong mạng neural Hàm kích hoạt phi tuyến được sử dụng vì mạng chỉ sử dụng các hàm kích hoạt tuyến tính có thể lược giản thông qua các biến đổi đại

số thành mô hình perceptron một lớp (là mô hình ANN đơn giản nhất, không có lớp ẩn) Một số hàm kích hoạt phi tuyến thường dùng là ReLU (Rectified Linear Unit), sigmoid, logistic, Gaussian, tanh, softmax, ReLU Hình 2.4

2.1.2 Một số dạng mạng neural

Mạng liên kết đầy đủ (fully connected) nếu mọi đầu ra của một lớp liên kết với

mọi neural của lớp tiếp theo

Mạng lan truyền thẳng (feedforward network) nếu không tồn tại liên kết giữa các

neural thuộc cùng một lớp

Mạng phản hồi (feedback network) nếu tồn tại đầu ra của một neural liên kết

ngược lại làm đầu vào của một neural cùng lớp

Mạng hồi quy (recurrent network) nếu các mạng phản hồi có các vòng lặp kín

Trang 34

2.1.3 Quá trình học của mạng neural

Quá trình học của mạng neural là quá trình lan truyền thông tin để làm thay đổi

các trọng số tốt nhất có thể Mạng neural được huấn luyện hay được học theo ba

phương pháp học có giám sát, học không giám sát và học tăng cường

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

Học có giám sát (supervised learning) là phương pháp học từ một tập dữ liệu

huấn luyện ta đã biết trước nhãn của dữ liệu cần học và số lớp cần phân loại của bộ dữ

Trang 35

liệu được đem đi huấn luyện Đây là phương pháp học phổ biến nhất trong các phương pháp học của mạng neural Mục đích của phương pháp này là từ tập dữ liệu

đã gán nhãn qua quá trình học tạo ra một hàm số thật tốt để khi có dữ liệu mới ta có thể tính hay dự đoán được nhãn tương ứng của dữ liệu đó [5]

Ví dụ như nhận dạng chữ số viết tay, Hình 2.5 Tập dữ liệu huấn luyện gồm hàng nghìn chữ số viết tay của hàng nghìn người khác nhau Ta đưa các bức ảnh chữ số viết tay này vào thuật toán học và chỉ cho nó biết mỗi bức ảnh tương ứng với chữ số nào Sau quá trình học một mô hình hay một hàm số được tạo ra, khi nhận được bức ảnh mà mô hình chưa nhìn thấy bao giờ hay không nằm trong tập huấn luyện thì nó sẽ đưa ra dự đoán chữ số trong bức ảnh đó

Hình 2.5 Bộ cơ sở dữ liệu chữ số viết tay của MNIST

Phương pháp học giám sát chia ra thành hai loại chính là:

- Phân loại (classification): Nếu nhãn của các dữ liệu đầu vào được chia thành

một số hữu hạn nhóm Như các bài toán nhận dạng chữ số viết tay, dò tìm khuôn mặt người, …

- Hồi quy (regression): Nếu nhãn của các dữ liệu đầu vào không được chia thành

các nhóm mà là một giá trị thực cụ thể Ví dụ như bài toán dự đoán giá của một căn nhà, giá trị dinh dưỡng của một món ăn,…

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

Học bán giám sát (Semi-Supervised Learning) là phương pháp học mà bộ dữ liệu

học có cả dữ liệu đã dán nhãn và chưa dán nhãn Theo các nhà nghiên cứu nhận thấy học dữ liệu chưa dán nhãn kết hợp với một phần dữ liệu đã dán nhãn giúp cải thiện một cách đáng kể độ chính xác Vì dữ liệu trong thực tế rất lớn, việc thu thập dữ liệu

Trang 36

đã dán nhãn rất khó khăn, tốn thời gian và chi phí cao nên học bán giám sát được sử dụng phổ biến, áp dụng nhiều trong các bài toán thực tế Ví dụ như việc học từ bộ dữ liệu hình ảnh, văn bản,… trên internet, phần lớn dữ liệu chưa được dán nhãn nên phương pháp học bán giám sát là thích hợp nhất [5]

Một cách tiếp cận học bán giám sát là đồng huấn luyện, một hay nhiều bộ học huấn luyện cùng một tập dữ liệu nhưng mỗi bộ sẽ huấn luyện các đặc trưng khác nhau của tập dữ liệu, điều kiện lý tưởng nhất là các đặc trưng này độc lập với nhau Một cách tiếp cận khác là mô hình hóa phân phối xác xuất đồng thời của các đặc trưng và nhãn Các dữ liệu chưa dán nhãn, nhãn được coi là “dữ liệu còn thiếu” Sau đó, áp dụng các phương pháp xử lý dữ liệu còn thiếu như tối ưu kỳ vọng,… để ước lượng tham số

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

Học không giám sát (Unsupervised Learning) là phương pháp học từ một tập dữ

liệu cần học ta không biết trước nhãn của dữ liệu, cũng như số lớp đầu ra Thuật toán

sẽ dựa vào cấu trúc của dữ liệu để phân nhóm hay giảm chiều của dữ liệu,… Học không giám sát có liên quan chặt chẽ đến việc ước lượng mật độ trong thống kê Cách học này không sử dụng tri thức từ bên ngoài trong quá trình học nên còn được gọi là

tự tổ chức

Mạng neural điển hình cho cách học này là Seft – Organizing Map (SOM) Một

số thuật toán học không giám sát khác như k-means, Hieararchical Agglomerative Clustering (HAC), Fuzzy Cognitive Map (FCM),….Các hướng tiếp cận bài toán học không giám sát là (1) và (2) [5]:

(1) Phân cụm (cluster): Chia dữ liệu thành các cụm nhỏ dựa trên sự liên quan của

các dữ liệu trong mỗi cụm

(2) Liên kết (association): Bài toán khám phá ra quy luật của bộ dữ liệu cho

trước

Phần lớn ứng dụng học không giám sát vào các bài toán ước lượng như mô hình hóa thống kê, nén, lọc, phân nhóm,…

2.1.3.4 Học tăng cường

Học tăng cường (Reinforcement Learning) là phương pháp học giúp cho một hệ

thống tự động xác định hành động dựa trên hoàn cảnh để đạt lợi ích cao nhất Học

Trang 37

tăng cường bằng cách thử nghiệm dữ liệu để khám phá ra hành động nào là tốt nhất Hành động đó không chỉ có lợi ích tốt cho bước hiện tại mà còn cho các bước tiếp theo Hai đặc điểm quan trọng để phân biệt học tăng cường là tìm kiếm thử - sai (trial-and-error search) và bồi dưỡng chậm (delayed reward) [5]

Môi trường học thường được biểu diễn dưới dạng Quy trình quyết định markov (Markov Decision Process - MDP) trạng thái hữu hạn Và các thuật toán học tăng cường liên quan đến các kỹ thuật quy hoạch động

Một cách hình thức, mô hình học tăng cường bao gồm: Tập các trạng thái của môi trường, tập các hành động và tập các điểm số Học tăng cường khai thác những gì

nó đã biết và khám phá môi trường mới, những hành động mới

Hiện tại, học tăng cường chủ yếu được áp dụng vào Lý thuyết trò chơi, thuật toán cần xác định hành động tiếp theo để đạt số điểm tốt nhất Ví dụ, AlphaGo của Google đánh cờ vây thắng con người, trong khi cờ vây có độ phức tạp cao xấp xĩ AlphaGo kết hợp cả học có giám sát và học tăng cường, Hình 2.6

Hình 2.6 AlphaGo của Google

2.1.4 Thuật toán lan truyền ngƣợc

Với thuật toán Lan truyền ngược (Backpropagation Algorithm), giả sử

( ) là một hàm lỗi của bài toán, trong đó là tập hợp tất cả các ma trận trọng số giữa các lớp và hướng của mỗi lớp là cặp dữ liệu huấn luyện, là tập hợp các điểm dữ liệu, là nhãn của các điểm dữ liệu tương ứng trong Đầu ra dự

đoán ̂ của dữ liệu đầu vào của mạng neural truyền thẳng đa lớp được tính như sau:

Trang 38

( )

Với là số cặp dữ liệu ( ) trong tập huấn luyện

Theo công thức (15) thì việc tính đạo hàm của hàm lỗi theo trọng số và hướng một cách trực tiếp là cực kỳ phức tạp, vì hàm lỗi không phụ thuộc trực tiếp vào các hệ

số

Phương pháp phổ biến nhất để tính đạo hàn của hàm lỗi có tên là lan truyền ngược Lan truyền ngược giúp tính đạo hàm ngược từ lớp cuối cùng đến lớp đầu tiên Lớp cuối cùng được tính trước vì nó gần hơn với đầu ra dự đoán và hàm lỗi Việc tính

Trang 39

toán đạo hàm của các lớp trước được thực hiện dựa trên nguyên tắc xích, tức là đạo hàm của hàm hợp

( ) ( ) ( ( )) ( ) (16) Với ( ) và ( )

Với một cặp điểm dữ liệu huấn luyện ( ) và hàm lỗi chỉ xét cho cặp điểm này, ta có thể tính đạo hàm của hàm lỗi theo ma trận trọng số và hướng Đạo hàm của hàm lỗi theo chỉ một thành phần của ma trận trọng số của lớp cuối cùng

( )

( )

( )

Trang 40

Hình 2.7 Mô phỏng cách tính lan truyền ngƣợc

( )

( )

( ∑ ( ) ( )( )

Ngày đăng: 04/04/2018, 11:26

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Phạm Thế Bảo và Trịnh Tấn Đạt, "Dùng đặc trưng gabor kết hợp adaboost và k- means trong bài toán nhận dạng mặt người", Tạp chí Khoa học ĐHSP Thành phố Hồ Chí Minh , Số 43, 2013 Sách, tạp chí
Tiêu đề: Dùng đặc trưng gabor kết hợp adaboost và k-means trong bài toán nhận dạng mặt người
2. Đỗ Duy Cốp, "Nghiên cứu phương pháp nhận dạng ảnh mặt người và Ứng dụng", Luận văn thạc sỹ khoa học máy tính, Đại học Thái Nguyên, 2014 Sách, tạp chí
Tiêu đề: Nghiên cứu phương pháp nhận dạng ảnh mặt người và Ứng dụng
3. Trương Công Lợi, "Nhận dạng khuôn mặt sử dụng Phương pháp biến đổi eigenfaces Và mạng nơron", Luận văn thạc sỹ khoa học máy tính, Đại học Đà Nẵng, Đà Nẵng, 2013 Sách, tạp chí
Tiêu đề: Nhận dạng khuôn mặt sử dụng Phương pháp biến đổi eigenfaces Và mạng nơron
4. Võ Phúc Nguyên, "Nhận dạng ảnh mặt người sử dụng mạng nơron", Tạp chí Khoa học & Công nghệ, Số 64, trang 52-57, 2014 Sách, tạp chí
Tiêu đề: Nhận dạng ảnh mặt người sử dụng mạng nơron
5. Võ Hoàng Trọng, Nguyễn Thanh Thủy, "Nhận dạng mặt người dựa trên thông tin mặt người không đầy đủ", Luận văn tốt nghiệp đại học, Đại học Khoa học Tự nhiên, Thành phố Hồ Chí Minh, 2017 Sách, tạp chí
Tiêu đề: Nhận dạng mặt người dựa trên thông tin mặt người không đầy đủ
6. Đỗ Thanh Toàn, "Phát hiện mặt người trong ảnh dựa trên các đặc trưng Haar – Like và mẫu nhị phân cục bộ", Luận văn thạc sỹ khoa học máy tính, Đại học Khoa học Tựnhiên, Thành phố Hồ Chí Minh, 2009 Sách, tạp chí
Tiêu đề: Phát hiện mặt người trong ảnh dựa trên các đặc trưng Haar – Like và mẫu nhị phân cục bộ
7. Hoàng Văn Trưởng, "Nhận dạng khuôn mặt người dựa trên kết hợp đặc trưng Contourlet toàn cục và cục bộ với mạng Bayes", Luận văn thạc sỹ toán học cho máy tính, Đại học Khoa học Tự nhiên, Thành phố Hồ Chí Minh, 2016.Tiếng Anh Sách, tạp chí
Tiêu đề: Nhận dạng khuôn mặt người dựa trên kết hợp đặc trưng Contourlet toàn cục và cục bộ với mạng Bayes
8. P.T. Bao, T.A Tuan, T.T. Dat, and J.Y. Kim, "Face Recognition using Global and Local Features based on Contourlet and Adaboost", International Symposium on Information Technology Convergence, vol. 3, no. 2, pp. 6-9, Oct.2014 Sách, tạp chí
Tiêu đề: Face Recognition using Global and Local Features based on Contourlet and Adaboost
9. A. Martinez and R. Benavente, "The AR Face Database," CVC Technical Report #24, June 1998 Sách, tạp chí
Tiêu đề: The AR Face Database
11. C. Szegedy and e. al, "Going deeper with convolutions," 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1-9, 2015 Sách, tạp chí
Tiêu đề: Going deeper with convolutions
12. C.-F. Tsai, "Bag-of-words representation in image annotation: A review.," ISRN Artificial Intelligence 2012, 2012 Sách, tạp chí
Tiêu đề: Bag-of-words representation in image annotation: A review
13. D. Kingma and J. Ba, "Adam: A method for stochastic optimization,"arXiv preprint arXiv:1412.6980, 2014 Sách, tạp chí
Tiêu đề: Adam: A method for stochastic optimization
14. Ethan Png, "Morphological Shared-Weight Neural Network for Face Recognition", University of Manchester Institute of Science and Technology, 2004 Sách, tạp chí
Tiêu đề: Morphological Shared-Weight Neural Network for Face Recognition
15. F. Schroff, D. Kalenichenko and J. Philbin, "Facenet: A unified embedding for face recognition and clustering," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 815-823, 2015 Sách, tạp chí
Tiêu đề: Facenet: A unified embedding for face recognition and clustering
16. F. Schroff, D. Kalenichenko and J. Philbin, "Facenet: A unified embedding for face recognition and clustering," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 815-823, 2015 Sách, tạp chí
Tiêu đề: Facenet: A unified embedding for face recognition and clustering
17. Gencay and R. M. Qi, "Pricing and hedging derivative securities with neural networks: Bayesian regularization, early stopping, and bagging," 2001 Sách, tạp chí
Tiêu đề: Pricing and hedging derivative securities with neural networks: Bayesian regularization, early stopping, and bagging
18. H.-W. Ng and S. Winkler, "A data-driven approach to cleaning large face datasets," Image Processing (ICIP), 2014 IEEE International Conference on.IEEE, pp. 343-347, 2014 Sách, tạp chí
Tiêu đề: A data-driven approach to cleaning large face datasets
20. Huu-Tuan Nguyen, A. Caplier, "Local Patterns of Gradients (LPOG) for Face Recognition", 2015 Sách, tạp chí
Tiêu đề: Local Patterns of Gradients (LPOG) for Face Recognition
2017. [Online]. Available: http://megaface.cs.washington.edu/results/faces _crubresults.html Link
53. Labeled Faces in the Wild Home, [Online]. Available: http://vis- www.cs.umass.edu/lfw/#information Link

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w