Tải bản đầy đủ (.pdf) (79 trang)

Mạng nơron trong bài toán nhận dạng khuôn mặt và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.16 MB, 79 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT&TT THÁI NGUYÊN

PHẠM VĂN DŨNG

MẠNG NƠRON TRONG BÀI TOÁN NHẬN DẠNG
KHUÔN MẶT VÀ ỨNG DỤNG

Ngành: Công nghệ thông tin
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 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. Dương Chính Cương

THÁI NGUYÊN, 2016


i

LỜI CAM ĐOAN

Tên tôi là: Phạm Văn Dũng
Sinh ngày: 13/06/1986
Học viên lớp cao học CK13A - Trường Đại học Công nghệ Thông tin và Truyền
thông – Đại học Thái Nguyên.
Hiện đang công tác tại: Liên đoàn Lao động tỉnh Hà Nam.
Xin cam đoan: Đề tài “Mạng nơron trong bài toán nhận dạng khuôn mặt và
ứng dụng” do Thầy giáo TS. Dương Chính Cương hướng dẫn là công trình nghiên cứu
của riêng tôi. Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng.
Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung


trong đề cương và yêu cầu của thầy giáo hướng dẫn. Nếu sai tôi hoàn toàn chịu trách
nhiệm trước hội đồng khoa học và trước pháp luật.
Thái Nguyên, ngày 15 tháng 05 năm 2016
TÁC GIẢ LUẬN VĂN

Phạm Văn Dũng


ii

LỜI CẢM ƠN

Sau một thời gian nghiên cứu và làm việc nghiêm túc, được sự động viên, giúp đỡ
và hướng dẫn tận tình của Thầy giáo hướng dẫn TS. Dương Chính Cương, luận văn với đề
tài “Mạng nơron trong bài toán nhận dạng khuôn mặt và ứng dụng” đã hoàn thành.
Tôi xin bày tỏ lòng biết ơn sâu sắc đến:
Thầy giáo hướng dẫn TS. Dương Chính Cương đã tận tình chỉ dẫn, giúp đỡ tôi
hoàn thành luận văn này.
Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên, khích
lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoàn thành luận
văn này.
TÁC GIẢ LUẬN VĂN

Phạm Văn Dũng


iii

MỤC LỤC
LỜI CAM ĐOAN ......................................................................................................... i

LỜI CẢM ƠN .............................................................................................................ii
MỤC LỤC

............................................................................................................. iii

DANH MỤC CÁC HÌNH ẢNH ................................................................................. vi
DANH MỤC BẢNG BIỂU ......................................................................................viii
DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................. ix
LỜI MỞ ĐẦU ............................................................................................................. 1
CHƯƠNG 1 TỔNG QUAN VỀ NHẬN DẠNG KHUÔN MẶT ................................. 4
1.1.1 Mô tả bài toán nhận dạng khuôn mặt........................................................... 4
1.1.2 Hệ thống nhận dạng khuôn mặt ................................................................... 5
1.1.3 Một số ứng dụng của hệ thống nhận dạng khuôn mặt .................................. 7
1.1.4 Ứng dụng của hệ thống nhận dạng khuôn mặt trong bài toán nhận dạng thí
sinh dự thi ................................................................................................... 8
1.2.1 Theo định hướng tìm ra cách trích chọn đặc trưng ...................................... 9
1.2.2 Theo định hướng ra quyết định ................................................................. 10
1.3.1 Phương pháp PCA. ................................................................................... 11
1.3.1.1 Nguyên lý chung ................................................................................ 11
1.3.1.2 Nội dung thuật toán PCA .................................................................... 12
1.3.1.3 Áp dụng PCA vào trích chọn vector đặc tính cho bài toán nhận dạng
khuôn mặt ........................................................................................... 14
1.3.1.4 Đánh giá thuật toán ............................................................................. 16
1.3.2 Phương pháp phân tách tuyến tính – LDA................................................. 16
1.3.2.1 Nguyên lý chung ................................................................................ 16
1.3.2.2 Nội dung thuật toán ............................................................................ 17
1.3.2.3 Áp dụng LDA vào trích chọn vector đặc tính cho bài toán nhận dạng
khuôn mặt ........................................................................................... 18
1.3.2.4 Đánh giá thuật toán ............................................................................. 20



iv
1.3.3 Phương pháp EBGM (Elastic Bunch Graph Matching) ............................. 20
1.3.3.1 Nguyên lý chung ................................................................................ 20
1.3.3.2 Nội dung thuật toán ............................................................................ 22
1.3.3.3 Áp dụng EBGM vào trích chọn vector đặc tính cho bài toán nhận dạng
khuôn mặt ........................................................................................... 26
1.3.3.4 Đánh giá thuật toán ............................................................................. 27
1.4.1 Thuật toán sử dụng mạng Nơron ............................................................... 27
1.4.2 Thuật toán SVM ....................................................................................... 28
CHƯƠNG 2 NHẬN DẠNG KHUÔN MẶT SỬ DỤNG MẠNG NƠRON MLP ....... 30
2.1.1 Mạng nơron sinh học ................................................................................ 30
2.1.2 Mạng nơron nhân tạo ................................................................................ 31
2.1.2.1 Nơron nhân tạo ................................................................................... 31
2.1.2.2 Mạng nơron nhân tạo .......................................................................... 32
2.1.2.3 Các ứng dụng của mạng nơron ........................................................... 33
2.1.3 Mô hình toán học và kiến trúc mạng nơron ............................................... 34
2.1.3.1 Mô hình toán học của một nơron nhân tạo .......................................... 34
2.1.3.2 Cấu trúc mạng nhân tạo ...................................................................... 35
2.1.3.3 Hàm truyền (Hàm hoạt hoá) ............................................................... 36
2.1.4 Huấn luyện mạng nơron ............................................................................ 37
2.1.4.1 Học có giám sát .................................................................................. 37
2.1.4.2 Học không có giám sát ....................................................................... 37
2.1.4.3 Học tăng cường .................................................................................. 38
2.2.1 Mạng perceptron ....................................................................................... 38
2.2.1.1 Kiến trúc mạng ................................................................................... 38
2.2.1.2 Huấn luyện mạng................................................................................ 39
2.2.1.3 Khả năng ứng dụng cho nhận dạng ảnh. ............................................. 42
2.2.2 Mạng perceptron đa lớp ............................................................................ 43
2.2.2.1 Kiến trúc mạng ................................................................................... 43



v
2.2.2.2 Huấn luyện mạng................................................................................ 44
2.2.2.3 Khả năng ứng dụng cho nhận dạng ảnh .............................................. 48

2.4.1 Sơ đồ hệ thống nhận dạng thí sinh............................................................. 52
2.4.2 Xây dựng vector đặc trưng ........................................................................ 53
2.4.3 Phân lớp bằng mạng nơron truyền thẳng nhiều lớp MLP........................... 55
CHƯƠNG 3 XÂY DỰNG PHẦN MỀM MÔ PHỎNG NHẬN DẠNG THÍ SINH DỰ
THI ............................................................................................................. 56

3.2.1 Cơ sở dữ liệu ảnh ...................................................................................... 57
3.2.2 Lưu đồ kiểm tra thí sinh ............................................................................ 59
3.2.3 Môi trường cài đặt .................................................................................... 59
3.2.4 Cài đặt ...................................................................................................... 60

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ........................................... 66
TÀI LIỆU THAM KHẢO.......................................................................................... 68


vi

DANH MỤC CÁC HÌNH ẢNH
Hình 1.1. Mô hình bài toán nhận dạng mặt người ........................................................ 5
Hình 1.2. Cấu trúc tổng quát của hệ thống nhận dạng khuôn mặt [2]............................ 5
Hình 1.3. Các hướng tiếp cận trích chọn đặc trưng trong nhận dạng khuôn mặt [3]...... 9
Hình 1.4. Không gian mới (p1,p2) theo hướng phân bố mạnh nhất của các vector trong
không gian (x1,x2) tìm theo PCA [6]. ......................................................................... 11
Hình 1.5. Dạng của vector tạo từ bức ảnh về khuôn mặt [6]. ...................................... 14

Hình 1.6. Ảnh gốc trong cơ sở dữ liệu ORL ............................................................... 15
Hình 1.7. Ảnh sau khi biến đổi theo PCA .................................................................. 16
Hình 1.8. Ví dụ minh họa LDA [8] ............................................................................ 17
Hình 1.9. Ảnh sau khi biến đổi theo LDA .................................................................. 19
Hình 1.10. Mô hình lưới của các khuôn mặt khác nhau [14] ...................................... 21
Hình 1.11. Cosine Gabor wavelet và Sin Cosine Gabor wavelet đại diện cho phần thực
và phần ảo của biến đổi Wavelet [5] .......................................................................... 22
Hình 1.12. Tạo Gabor Jet từ biến đổi Gabor wavelet [14] .......................................... 24
Hình 1.13. Đồ thị các Gabor Jet [14].......................................................................... 24
Hình 2.1. Cấu trúc cơ bản của nơron sinh học ............................................................ 30
Hình 2.2. Nơron nhân tạo........................................................................................... 32
Hình 2.3. Mô hình toán học mạng nơron nhân tạo...................................................... 34
Hình 2.4. Nơron 1 đầu vào với hàm hoạt hoá là hàm hardlimit .................................. 36
Hình 2.5. Học có giám sát .......................................................................................... 37
Hình 2.6. Học không có giám sát ............................................................................... 37
Hình 2.7. Học tăng cường .......................................................................................... 38
Hình 2.8. Kiến trúc mạng Perceptron ......................................................................... 38
Hình 2.9. Biên quyết định trong không gian mẫu ....................................................... 40
Hình 2.10. Không gian mẫu khả tách tuyến tính......................................................... 41
Hình 2.11. Không gian mẫu không khả tách tuyến tính .............................................. 42
Hình 2.12. Phân tách không gian mẫu với mạng Perceptron 2 nơron lớp ra................ 43
Hình 2.13. Mạng Perceptron đa lớp (MLP) ................................................................ 43
Hình 2.14. Mạng MLP giải quyết bài toán XOR ........................................................ 44


vii
Hình 2.15. Không gian mẫu ....................................................................................... 48
Hình 2.16. Phân lớp mẫu với mạng MLP 3 lớp .......................................................... 49
Hình 2.17. Sơ đồ hệ thống nhận dạng thí sinh sử dụng Gabor wavelet và MLP ......... 52
Hình 2.18. Lưu đồ trích chọn đặc trưng hình ảnh trên khuôn mặt ............................... 53

Hình 2.19. Mạng nơron lan truyền ngược cho nhận dạng khuôn mặt.......................... 55
Hình 3.1. Mạng nơron lan truyền ngược cho nhận dạng khuôn mặt . Error! Bookmark
not defined.
Hình 3.1. Ảnh gốc trong cơ sở dữ liệu ....................................................................... 58
Hình 3.2. Giao diện chính của chương trình ứng dụng ............................................... 61
Hình 3.3. Giao diện của chương trình Tạo cơ sở dữ liệu từ webcam .......................... 62
Hình 3.4. Giao diện của chương trình Tạo cơ sở dữ liệu từ nguồn ảnh tĩnh ................ 62
Hình 3.5. Giao diện của chương trình Tạo vector đặc trưng ....................................... 63
Hình 3.6. Phần thực, ảo, biên độ của bộ lọc Gabor và ảnh đặc trưng khi qua bộ lọc ... 63
Hình 3.7. Kết quả luyện mạng nơron và kiểm tra ....................................................... 64


viii

DANH MỤC BẢNG BIỂU

Bảng 2.2. Một số công trình công bố sử dụng mạng nơron cho nhận dạng khuôn mặt 50
Bảng 3.1. Các module chính của chương trình ........................................................... 60


ix

DANH MỤC CÁC TỪ VIẾT TẮT
Từ hoặc
cụm từ

Từ tiếng Anh

Từ tiếng Việt
Cơ sở dữ liệu


CSDL
EBGM

Elastic Bunch Graph Matching

Phương pháp đồ thị đàn hồi

FR

Face Recognition

Nhận dạng khuôn mặt

FRS

Face Recognition System

Hệ thống nhận dạng khuôn mặt

LDA

Linear Discriminant Analysis

Phương pháp phân tích sự khác biệt
tuyến tính

NN

Neural Network


Mạng Nơron

PCA

Principal Component Analysis

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

SVM

Support Vector Machine

Học máy véc tơ hỗ trợ


1

LỜI MỞ ĐẦU
1. Tính khoa học và cấp thiết của đề tài
Hiện nay, rất nhiều quốc gia trên thế giới phải đối mặt với tình hình bất ổn về chính
trị, an ninh. Hậu quả của vụ khủng bố 11/9 cũng như một loạt các vụ khủng bố xả súng,
đánh bom liều chết gần đây làm cho vấn đề an ninh bảo mật trở thành yêu cầu khắt khe.
Hệ quả là, các hệ thống xác định, nhận dạng con người được ra đời và cải tiến liên tục
sao cho đạt được độ tin cậy cao nhất. Một trong những bài toàn nhận dạng con người
được quan tâm nhất hiện nay đó là nhận dạng qua khuôn mặt [8] .
Thực tế, ngay từ xa xưa, nhận dạng khuôn mặt đã là cách thức truyền thống để con
người nhận ra nhau. Với sự phát triển vượt bậc của ngành công nghệ thông tin, vào
những năm 60 của thế kỷ trước, các nhà khoa học đã nghiên cứu sử dụng máy tính vào
việc nhận dạng khuôn mặt. Tuy nhận dạng khuôn mặt không chính xác được như nhận

dạng vân tay, nhận dạng võng mạc nhưng nó vẫn nhận được sự quan tâm của rất nhiều
các nhà nghiên cứu trong lĩnh vực thị giác máy tính.
Cho đến nay, đã có rất nhiều công trình công bố, đưa ra các hướng tiếp cận khác
nhau cho việc giải quyết bài toán nhận dạng khuôn mặt như nhận dạng dựa trên đặc
trưng của các phần tử trên khuôn mặt bao gồm biển đổi sóng Wavelet (Gabor Wavelet),
phương pháp đồ thị đàn hồi (Elastic Bunch Graph Matching - EBGM), mạng Nơron
(Neural Network - NN), học máy vector hỗ trợ (Support Vector Machine –SVM… nhận
dạng dựa trên xét tổng thể toàn khuôn mặt bao gồm 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 sự khác biệt tuyến
tính (Linear Discriminant Analysis – LDA). Trong đó, nhận dạng khuôn mặt dùng mạng
Nơron mang lại hiệu quả nhận dạng cao bởi nó hoạt động ổn định và có tính thích nghi
cao khi dữ liệu đầu vào thay đổi nhiều.
Đối với việc giải bài toán nhận dạng khuôn mặt sử dụng mạng nơron, tùy từng yêu
cầu cụ thể của bài toán thực tế mà người thiết kế phải trả lời rất nhiều câu hỏi như: Lựa
chọn cấu trúc mạng nơron nào? Số lượng các lớp cũng như các nơron trong mỗi lớp? Sử
dụng thuật toán học nào để điều chỉnh các trọng số của mạng? Chính vì vậy, đây vẫn
còn là một hướng mở đòi hỏi các nhà khoa học quan tâm phải đầu tư nghiên cứu làm rõ.


2
Vì những lý do trên, đề tài: “Mạng nơron trong bài toán nhận dạng khuôn mặt và
ứng dụng” được lựa chọn làm đề tài nghiên cứu luận văn tốt nghiệp thạc sĩ chuyên ngành
Khoa học máy tính.
2. Mục tiêu, đối tượng và phạm vi nghiên cứu của đề tài
Đề tài nhằm thực hiện các mục tiêu sau:
-

Nghiên cứu tổng quan và đánh giá một số phương pháp thông dụng trong nhận
dạng khuôn mặt như: PCA, LDA, EBGM, SVM, NN…


-

Tập trung làm rõ cơ sở lý thuyết cũng như các ứng dụng của phương pháp nhận
dạng khuôn mặt sử dụng mạng nơron.

-

Phân tích bài toán, lựa chọn thuật toán, thiết kế và cài đặt thử nghiệm phần mềm
mô phỏng nhận dạng thí sinh dự thi ứng dụng mạng nơron.
Chính vì vậy, đối tượng của luận văn là: Các phương pháp nhận dạng khuôn mặt

sử dụng mạng nơron.
Về phạm vi nghiên cứu: luận văn sẽ khảo sát và đánh giá một số phương pháp
thường dùng trong nhận dạng khuôn mặt sử dụng mạng nơron; Lựa chọn phương pháp
phù hợp nhất đối với bài toán nhận dạng thí sinh dự thi; Tập trung sâu vào cài đặt thử
nghiệm phần mềm nhằm chứng minh tính đúng đắn và khả năng ứng dụng trong thực tế
của phương pháp lựa chọn.
3. Phương pháp luận nghiên cứu
-

Phương pháp nghiên cứu lý thuyết: Tổng hợp, nghiên cứu các tài liệu về nhận
dạng khuôn mặt; Nghiên cứu các phương pháp, thuật toán nhận dạng khuôn mặt
sử dụng mạng nơron; Tìm hiểu các kiến thức liên quan như lý thuyết xử lý ảnh,
kỹ thuật lập trình.

-

Phương pháp nghiên cứu thực nghiệm: Sau khi nghiên cứu lý thuyết, phát biểu
bài toán, đưa ra giải pháp xử lý; cài đặt thử nghiệm chương trình phần mềm dùng
công cụ Matlab; Đánh giá các kết quả đạt được.



3
4. Nội dung và bố cục của luận văn
 Chương 1: Tổng quan về nhận dạng khuôn mặt
-

Giới thiệu bài toán nhận dạng khuôn mặt; Bài toán nhận diện thí sinh; Tổng kết
và đánh giá một số phương pháp nhận dạng khuôn mặt ứng dụng trong thực tế.

 Chương 2: Nhận dạng khuôn mặt sử dụng mạng nơron MLP
-

Nghiên cứu về lý thuyết mạng nơron MLP; Cập nhật một số phương pháp sử
dụng mạng nơron trong bài toán nhận dạng khuôn mặt; Đánh giá ưu nhược điểm
của mỗi phương pháp; Ứng dụng thuật toán kết hợp biến đổi Gabor wavelet và
mạng nơron MLP cho bài toán nhận diện thí sinh.

 Chương 3: Xây dựng phần mềm mô phỏng nhận dạng thí sinh dự thi
-

Chỉ ra tính cấp thiết cũng như các yêu cầu cơ bản của bài toán nhận dạng thí sinh
dự thi tại Trường Đại học Công nghệ Thông tin và Truyền thông; Cài đặt phần
mềm thử nghiệm chương trình mô phỏng; Đánh giá các kết quả thu được.

 Cuối cùng là kết luận và hướng phát triển của luận văn


4


CHƯƠNG 1 TỔNG QUAN VỀ NHẬN DẠNG KHUÔN MẶT
Tổng quan về hệ thống nhận dạng khuôn mặt
1.1.1 Mô tả bài toán nhận dạng khuôn mặt
Như chúng ta đã biết, con người khi sinh ra đã có những đặc điểm sinh học tự
nhiên riêng biệt phân biệt giữa người này với người kia, rất khó có thể trùng lặp. Các
đặc điểm đó có thể bị thay đổi trong cuộc sống trừ những tác động khách quan hoặc chủ
quan như: tai nạn, tổn thương, phẫu thuật chỉnh hình... Chính bởi yếu tố riêng biệt đó,
các nhà khoa học tập trung nghiên cứu, tìm hiểu đặc trưng sinh trắc của con người và áp
dụng vào các biện pháp giúp nhận dạng, xác định danh tính của mỗi người. Dựa vào
những đặc điểm sinh trắc học của con người, các hệ thống nhận dạng sinh trắc học ra
đời nhằm giải quyết nhiều vấn đề có liên quan tới bảo mật, an ninh, khoa học hay các
nhu cầu khác trong cuộc sống.
Các đặc trưng sinh trắc khuôn mặt là những đặc điểm riêng trên khuôn mặt mỗi
người gần như không thay đổi theo thời gian, các đặc điểm này phân biệt giữa người
này và người kia, rất khó có thể xảy ra trùng lặp. Dựa trên nhận xét thực tế, con người dễ
dàng nhận biết các khuôn mặt và các đối tượng trong các tư thế khác nhau và điều kiện ánh
sáng khác nhau, thì phải tồn tại các thuộc tính hay đặc trưng không thay đổi. Chính vì thế,
việc xác định danh tính, nhận dạng khuôn mặt người thông qua các đặc trưng sinh trắc học
đó sẽ đảm bảo được độ chính xác, tin cậy cao.

Bản thân con người có thể nhận dạng ảnh khuôn mặt của mọi người một cách dễ
dàng. Thậm chí, ảnh đó có thể nằm trong một ảnh nền phức tạp. Tuy nhiên, đối với hệ
máy thì việc nhận dạng này là một công việc rất phức tạp và khó khăn. Chính vì vậy,
trong những năm gần đây, lĩnh vực nhận dạng khuôn mặt đã nhận được sự quan tâm
nghiên cứu lớn từ các nhà khoa học nhằm tạo ra các hệ hỗ trợ quyết định phục vụ trong
rất nhiều lĩnh vực của cuộc sống.
Giả sử ta có một cơ sở dữ liệu ảnh đã được lưu trong máy về một số người (Hình
1.1), bài toán nhận dạng là làm sao để khi đưa ảnh khuôn mặt của một người bất kỳ vào
thì máy sẽ tự động nhận dạng ra người này trong cơ sở dữ liệu.



5

Cơ sở dữ liệu

Ảnh truy
vấn

Kết quả
tìm được
Hình 1.1. Mô hình bài toán nhận dạng mặt người
1.1.2 Hệ thống nhận dạng khuôn mặt
Nhiệm vụ của hệ thống nhận dạng khuôn mặt là xử lý tự động thông tin từ các ảnh
khuôn mặt để tìm ra độ tương tự giữa các khuôn mặt và đưa ra quyết định về tính đồng
nhất giữa chúng. Cấu trúc của hệ thống nhận dạng khuôn mặt được thể hiện như Hình
1.2 và gồm các khâu chức năng sau [2] :

Hình 1.2. Cấu trúc tổng quát của hệ thống nhận dạng khuôn mặt [2]
-

Phát hiện khuôn mặt (face detection) : Phát hiện khuôn mặt sẽ lấy ra tất cả các
khuôn mặt trong một hình ảnh. Chức năng này làm nhiệm vụ xác định vị trí, kích
cỡ của một hoặc nhiều khuôn mặt trên ảnh chụp từ đó tách ra phần mặt. Phần ảnh


6
mặt được tách ra thường nhỏ hơn nhiều so với ảnh chụp ban đầu, nó sẽ là các
khuôn mặt cần tìm và chức năng trích chọn đặc trưng sẽ sử dụng các ảnh được
tách ra này.
-


Tiền xử lý (Pre-Processing): Bước này nhằm mục đích lọc nhiễu, nâng cao chất
lượng ảnh để chuẩn hóa ảnh cần tìm giúp cho việc tìm kiếm được hiệu quả hơn
[13] . Các công việc trong bước tiền xử lý có thể là: Chuẩn hóa kích cỡ giữa ảnh
trong CSDL và ảnh cần tìm, hiệu chỉnh độ sáng, tối của ảnh; lọc nhiễu, chuẩn
hóa về vị trí, tư thế ảnh mặt.

-

Trích chọn đặc trưng (FE): Tìm ra các đặc trưng chính của ảnh mặt, từ các đặc
trưng này hình thành các vector đặc trưng, các vector này sẽ được sử dụng để đối
sánh sự giống nhau giữa ảnh mặt cần tìm và ảnh mặt trong CSDL.

-

Nhận dạng/Phân lớp: Bước nhận dạng (recognition) hay phân lớp
(classification), tức là xác định danh tính (identity) hay nhãn (label) của ảnh đó
là ảnh của ai.

-

Dữ liệu hệ thống nhận dạng: Dữ liệu hệ thống nhận dạng được chia làm 3 tập
gồm tập huấn luyện (training set), tập tham chiếu (reference set) và tập để nhận
dạng (probe set). Tập training gồm các ảnh được dùng để huấn luyện, thông
thường tập này được dùng để sinh ra một không gian con là một ma trận. Tập
reference gồm các ảnh đã biết danh tính được chiếu vào không gian con ở bước
training... Sau khi thực hiện chiếu tập reference vào không gian con, hệ thống lưu
lại kết quả là một ma trận với mỗi cột của ma trận là một vector tương ứng với
ảnh (định danh đã biết) để thực hiện nhận dạng (hay phân lớp).


Hệ thống nhận dạng khuôn mặt cần đảm bảo các yêu cầu:
- Độ chính xác nhận dạng có thể chấp nhận được đối với yêu cầu của bài toán nhận dạng;
- Tốc độ vận hành cao đối với các CSDL lớn và số lượng các yêu cầu có thể giải
quyết được;
- Đơn giản trong việc cài đặt, lựa chọn thiết bị và vận hành. An toàn với người sử dụng.


7
1.1.3 Một số ứng dụng của hệ thống nhận dạng khuôn mặt
Hệ thống nhận dạng khuôn mặt đã và đang được áp dụng trong rất nhiều lĩnh vực
của đời sống xã hội. Chúng ta có thể liệt kê một số ứng dụng tiêu biểu như sau:
-

Hệ thống tương tác giữa người và máy: sẽ giúp những người tàn tật hoặc khiếm
khuyết có thể trao đổi. Những người câm sẽ nói chuyện với người bình thường
bằng ngôn ngữ tay, người bại liệt có thể thông qua các ký hiệu như nháy mắt,
những cử chỉ trên khuôn mặt để ra hiệu cho người bình thường,…

-

Nhận dạng người có phải là tội phạm bị truy nã hay không? Giúp cơ quan an ninh
quản lý tốt con người. Hoặc có thể truy tìm nhanh chóng các hồ sơ tội phạm trong
cơ sở dữ liệu của máy tính.

-

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ụ như xâm
phạm khu vực không được vào, xâm phạm vào nhà riêng,…


-

Lưu trữ hình ảnh khuôn mặt những người rút tiền từ máy ATM, hiện nay có tình
trạng những người bị người khác lấy 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 mất thẻ và mất
tiền. Các ngân hàng có nhu cầu khi 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ý.

-

Các hệ thống mở cửa, chấm ngày công lao động của các nhân viên vào ra trong
công ty. Hệ thống nhận dạng mặt người sẽ cho phép các nhân viên vào ra những
khu vực cho phép, hay đăng nhập máy tính hoặc đăng nhập máy tính cá nhân của
mình mà không cần mật khẩu,…

-

Phân tích các cảm xúc của con người trên khuôn mặt.

-

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 nào 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 của khuôn mặt so với thẻ
để biết có phải là chủ thẻ hay không.


8
1.1.4 Ứng dụng của hệ thống nhận dạng khuôn mặt trong bài toán nhận dạng thí
sinh dự thi

Hiện tượng gian lận trong Giáo dục nói chung và hiện tượng gian lận trong học hộ,
thi hộ nói riêng là vấn đề nan giải và được bàn cãi nhiều đặc biệt là trước, trong và sau
mỗi kỳ thi.
Trong các trường Đại học, Cao đẳng, Trung học chuyên nghiệp mục đích của việc
học hộ là tránh để mất 30% điểm học phần theo quy chế 43 của Bộ Giáo dục. Việc học
hộ thường xảy ra ở các lớp Liên thông, Tại chức học vào ca tối, các lớp có tình trạng
lớp đông, giáo viên mới...
Đối với hiện tượng thi hộ, việc kiểm tra và đối chiếu học sinh, sinh viên vào dự thi
mất rất nhiều thời gian, đôi khi vẫn bỏ qua được đối tượng thi hộ như trường hợp anh
em thi hộ, hiện tượng tráo ảnh trong thẻ dự thi, hiện tượng quên thẻ sinh viên….
Quy trình thực hiện chống gian lận trong thi cử được thực hiện theo quy định của
Trường Đại học Công nghệ Thông tin và Truyền thông, để kiểm soát việc thi hộ thì
trong các kỳ thi Phòng Khảo thí và Đảm bảo chất lượng giáo dục thường yêu cầu các
môn thi tự luận bố trí mỗi phòng thi có 2 cán bộ coi thi, các môn thi vấn đáp bố trí mỗi
phòng thi có 3 cán bộ (2 giảng viên hỏi/chấm thi và 1 cán bộ gọi sinh viên vào phòng
thi và giám sát), các môn thi trắc nghiệm trên máy tính bố trí mỗi phòng thi có 3 người
(1 giảng viên, 1 cán bộ phòng thực hành, và 1 chuyên viên phòng Khảo thí và Đảm bảo
chất lượng giáo dục). Để giảm bớt thời gian xử lý công việc cho cán bộ coi thi, tăng độ
chính xác khi xử lý thông tin như: thí sinh quên thẻ sinh viên, ảnh nhòe, ảnh cũ hoặc ảnh
bị thay thế không đóng dấu giáp lai rất khó nhận dạng và tránh bỏ lọt các đối tượng thi hộ
là anh em giống nhau, sinh viên trong trường, sinh viên ngoài trường.
Chính vì vậy, ý tưởng xây dựng phần mềm ứng dụng nhận dạng khuôn mặt nhằm
tháo gỡ tình trạng học hộ, đặc biệt là thi hộ như một mong muốn giảm bớt được quy
trình coi thi, với tính chính xác cao mang lại hiệu quả công việc có ý nghĩa cả về khoa
học lẫn thực tiễn. Đây cũng là mục tiêu chính mà luận văn cần đạt được.


9
Các hướng tiếp cận trong nhận dạng khuôn mặt
Như trong phần 1.1.2 đã trình bày, hệ thống nhận dạng khuôn mặt gồm bốn khâu

chính (tiền xử lý, tách vùng mặt, trích chọn đặc trưng, đối sánh). Mỗi một khâu đều có
tác động đến độ chính xác của hệ thống. Tuy nhiên, hai khâu quan trọng nhất vẫn là trích
chọn đặc trưng và đối sánh (ra quyết định). Chính vì vậy, qua khảo sát các công trình
nghiên cứu liên quan đến nhận dạng khuôn mặt [3], [10] [12] , ta có thể thấy các công
trình công bố đều chủ yếu tập trung vào cải tiến hai bước chính là trích chọn đặc trưng
và ra quyết định.
1.2.1 Theo định hướng tìm ra cách trích chọn đặc trưng
Các phương pháp trích chọn đặc trưng khuôn mặt

Dựa trên mô hình các chi tiết

Dựa trên tổng thể khuôn mặt

Linear

PCA
LDA
ICA
Ohters

Non-linear

KPCA
ISOMAP
LLE

2D

EBGM
AAM


3D

3 D Morphable
Model

Hình 1.3. Các hướng tiếp cận trích chọn đặc trưng trong nhận dạng khuôn mặt [3]
Theo định hướng tìm ra cách trích chọn đặc trưng hiệu quả có thể phân làm hai
nhóm chính như sau:
-

Nhận dạng dựa trên xét tổng thể khuôn mặt (Appearance based face
recognition): Nội dung chính của hướng tiếp cận này là xem mỗi ảnh có kích
thước RxC là một vector trong không gian RxC chiều. Ta sẽ xây dựng một không
gian mới có chiều nhỏ hơn sao cho khi biểu diễn trong không gian đó các đặc
điểm chính của một khuôn mặt không bị mất đi. Trong không gian đó, các ảnh
của cùng một người sẽ được tập trung lại thành một nhóm gần nhau và cách xa
các nhóm khác. Một số phương pháp được dùng cho loại này như:


10

-

-

Trích chọn các đặc trưng tuyến tính: PCA, ICA, LDA

-


Trích chọn các đặc trưng phi tuyến: KPCA, ISOMAP

Nhận dạng sử dụng mô hình về khuôn mặt (Model-based face recognition ):
Đây là phương pháp nhận dạng khuôn mặt dựa trên việc xác định các đặc trưng hình
học của các chi tiết trên một khuôn mặt (như vị trí, diện tích, hình dạng của mắt, mũi,
miệng…), và mối quan hệ giữa chúng (như khoảng cách của hai mắt, khoảng cách
của hai lông mày…). Một số phương pháp được dùng cho loại này như:
-

Nhận dạng 2D: EBGM, Active Appearance Model.

-

Nhận dạng 3D: 3D Morphable Model.

Ưu điểm của phương pháp này là nó gần với cách mà con người sử dụng để nhận
biết khuôn mặt. Hơn nữa với việc xác định đặc tính và các mối quan hệ, phương pháp
này có thể cho kết quả tốt trong các trường hợp ảnh có nhiều nhiễu như bị nghiêng, bị
xoay hoặc ánh sáng thay đổi.
1.2.2 Theo định hướng ra quyết định
Theo định hướng tìm ra thuật toán ra quyết định hiệu quả sao cho sai số nhỏ nhất,
có một số hướng tiếp cận như sau:
-

Khoảng cách Euclides là phương pháp đơn giản nhất. Nó cho kết quả tốt đối với
trường hợp đối tượng đã được tạo thành các nhóm cách xa nhau. Vector đặc tính
của đối tượng cần nhận dạng sẽ được so sánh lần lượt với vector đặc tính của
từng ảnh mẫu trong tập các ảnh học. Các khoảng cách ngắn nhất sẽ được lưu lại
và được dùng trong việc ra quyết định.


 k    k

với k=1,…M

(1.1)

Trong đó Ωk là vector của mặt thứ k trong cơ sở dữ liệu. Nếu εk nhỏ hơn threshold
được xác định trước Ω thì bức ảnh được nhận dạng là mặt thứ k trong cơ sở dữ liệu.
-

SVM là phương pháp nhận dạng do Vladimir N. Vapnik đề xuất năm 1995. SVM
là phương pháp nhận dạng dựa trên lý thuyết học thống kê ngày càng được sử
dụng phổ biến trong nhiều lĩnh vực, đặc biệt là lĩnh vực phân loại mẫu và nhận
dạng mẫu. Đồng thời có nhiều tính năng ưu việt so với các phương pháp cổ điển


11
khác: dễ dàng xử lý, xử lý với tính ổn định cao trên dữ liệu phức tạp, có thể có
số chiều lớn và quan trọng hơn cả là khả năng xử lý tổng quát.
-

Mạng nơron được sử dụng rộng rãi trong các hệ thống nhận dạng khuôn mặt. Kỹ
thuật mạng nơron mô phỏng hoạt động của các nơron trong bộ não người. Mạng
nơron có khả năng điều chỉnh các trọng số dựa trên các mẫu học trong quá trình
huấn luyện. Kết quả là mạng đạt được hiệu quả cao trong việc phân loại các lớp,
dựa trên dữ liệu mẫu khả tách tuyến tính hoặc phi tuyến. Chính vì vậy, luận văn
lựa chọn giải pháp sử dụng mạng nơron cho khâu nhận dạng và phân loại. Nhược
điểm của phương pháp này là cài đặt thuật toán phức tạp do việc xác định mối
quan hệ giữa các đặc tính đòi hỏi các thuật toán phức tạp. Mặt khác, với các ảnh
kích thước bé thì các đặc tính sẽ khó phân biệt.

Một số phương pháp tiêu biểu trong trích chọn đặc trưng khuôn mặt

1.3.1 Phương pháp PCA.
1.3.1.1 Nguyên lý chung
70.00
60.00
50.00

x2

40.00
30.00
20.00
10.00
0.00
0.00

50.00

100.00

150.00

200.00

250.00

x1
70.00
60.00

p2
50.00

x2

40.00
p1
30.00
20.00
10.00
0.00
0.00

50.00

100.00

x1

150.00

200.00

250.00

Hình 1.4. Không gian mới (p1,p2) theo hướng phân bố mạnh nhất của các vector trong
không gian (x1,x2) tìm theo PCA [6] .


12

PCA là một thuật toán để được sử dụng để tạo ra một ảnh mới từ ảnh ban đầu.
Ảnh mới này có kích thước nhỏ hơn rất nhiều so với ảnh đầu vào và vẫn mang những
đặc trưng cơ bản nhất của ảnh cần nhận dạng. PCA không cần quan tâm đến việc tìm ra
các đặc điểm cụ thể của thực thể cần nhận dạng và mối quan hệ giữa các đặc điểm đó.
Tất cả các chi tiết đó đều được thể hiện ở ảnh mới được tạo ra từ PCA [6] .
Về bản chất, PCA tìm ra một không gian mới theo hướng biến thiên mạnh nhất
của một tập hợp các vector trong không gian cho trước. Trong không gian mới, người
ta hy vọng rằng việc phân loại sẽ mang lại kết quả tốt hơn so với không gian ban đầu.
1.3.1.2 Nội dung thuật toán PCA
Không gian mới được tạo bởi PCA được cấu thành từ K vector đơn vị có chiều
là N. Mỗi vector được gọi là một Eigenface.
Phép biến đổi:
 a1 
 w1 
a 
w 
 2
 2
. 
. 
A     W    với K<. 
. 
. 
. 
 
 
 wK 
 aN 


Theo công thức:
(1.2)

W  T .A

Với T là ma trận chuyển đổi, T có kích thước KxN
Gọi M là số ảnh đầu vào, mỗi ảnh được chuyển thành vector N chiều. Ta có tập
hợp đầu vào X={x1,x2,…,xM} (xi Є RN)
Trung bình của các vector đầu vào:

x

1
M

M

x
i 1

i

(1.3)

Sai lệch so với tâm:
 i  xi  x

(1.4)



13
Gọi A=[Ф1,Ф2,…,ФM] ta có ma trận tương quan của A là:
C

1
M

M

 
i 1

i

T
i

 A. AT

(1.5)

Gọi các giá trị riêng của C là λ1, λ2,…, λN sắp xếp theo thứ tự giảm dần, tương
ứng với N vector riêng u1, u2,…, uN. Các vector riêng này trực giao từng đôi một. Mỗi
vector riêng ui được gọi là một eigenface. Tập hợp các vector ban đầu được biểu diễn
trong không gian tạo bởi N eigenface theo mô tả:
N

x  x  w1u1  w2 u 2  ...  wN u N   wi ui

(1.6)


i 1

Chọn lấy K vector riêng u tương ứng với K giá trị riêng λ lớn nhất, ta có:
K

x  x  w1u1  w2 u 2  ...  wK u K   wi u i với K<i 1

Vector các hệ số khai triển [w1, w2, …, wK] chính là biểu diễn mới của ảnh được
tạo ra trong không gian PCA. Ảnh mới xˆ vẫn giữ được các đặc điểm chính của ảnh đầu
vào. Vector [w1, w2, …, wK] được tính theo công thức:
T
 w1  u1 
w   T 
 2  u 2 
.  . 
T
      x  x   U .( x  x )
.
  . 
.  . 
   T
 wK  u K 

(1.7)

Vấn đề cần giải quyết ở đây là ma trận tương quan C=A.AT có kích thước N2. Với
N=180x200=36000, khối lượng tính toán sẽ rất lớn. Do đó để tính được các eigenface
mà không cần tính cả ma trận C, người ta đưa ra phương pháp tính nhanh dựa vào vector

riêng và giá trị riêng của ma trận L=AT.A có kích thước MxM với M là số ảnh đầu vào.
Ta có thể chứng minh như sau: gọi vi, µi lần lượt là vector riêng và giá trị riêng của ma
trận L:
AT.A.vi=µi.vi
(1.8)


14
Nhân cả 2 vế với A ta có:
A.AT.A.vi=µi.A.vi

(1.9)

Ta thấy A.vi chính là vector riêng của C=A.AT ứng với giá trị riêng µi
1.3.1.3 Áp dụng PCA vào trích chọn vector đặc tính cho bài toán nhận dạng khuôn mặt
Một bức ảnh về khuôn mặt được coi như là một vector, nếu bức ảnh có kích thước
là w*h pixels thì không gian chứa vector này có số chiều là N=w*h. Mỗi pixel sẽ được
mã hóa bởi một thành phần của vector. Cấu trúc của vector được tạo từ ảnh có thể được
hình dung như Hình 1.5

Hình 1.5. Dạng của vector tạo từ bức ảnh về khuôn mặt [6] .
Khâu quan trọng nhất trong bài toán nhận dạng đó là trích chọn vector đặc tính.
Các bước trích chọn vector đặc tính mang những đặc tính riêng của mặt cần nhận dạng:
(1).

Tạo một tập X gồm M ảnh (ảnh học), mỗi ảnh có kích thước N, các ảnh

được chuyển thành vector N chiều.
X={x1,x2,…,xM}
(2).


Tính trung bình của tập trên:
x

(3).

1
M

M

x
i 1

i

(1.11)

Tính sai lệch của ảnh đầu vào với giá trị trung bình trên:
 i  xi  x

(4).

(1.10)

(1.12)

Tìm tập gồm M vector trực giao, u, biểu diễn chiều phân bố mạnh nhất

của tập dữ liệu X. Tập các vector u được gọi là eigenface của tập dữ liệu học.



15
(5).

Xây dựng các ảnh mới vi theo M vector u:
vi  uit  i

Ω=[v1,v2,…,vM]T

(1.13)

Trong đó vi  uiT  i là vector đặc tính của ảnh thứ i trong không gian mới. Ω ở
đây là tập các eigenface, các thành phần cơ bản cho bức ảnh cần nhận dạng.
Hình 1.6 mô tả các ảnh gốc được lấy từ cơ sở dữ liệu ORL (Olivetti Research
Laboratory, Surrey University). Mỗi ảnh có kích thước 112×92, có thể được coi là một
vector 10304 chiều, hoặc tương đương với một điểm trong không gian 10304 chiều.
Á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 có giá trị lớn hơn 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 (Hình 1.7).

Hình 1.6. Ảnh gốc trong cơ sở dữ liệu ORL


×