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

Nhận dạng ảnh mặt người sử dụng mạng Nơron nhân tạo và giải thuật di truyền

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 (448.52 KB, 27 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

PHẠM THỊ MAI HƯƠNG

NHẬN DẠNG ẢNH MẶT NGƯỜI DÙNG MẠNG
NƠRON NHÂN TẠO VÀ GIẢI THUẬT DI TRUYỀN

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

Thái Nguyên, 2011
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

PHẠM THỊ MAI HƯƠNG

NHẬN DẠNG ẢNH MẶT NGƯỜI DÙNG MẠNG
NƠRON NHÂN TẠO VÀ GIẢI THUẬT DI TRUYỀN
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01

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

NGƯỜI HƯỚNG DẪN KH: PGS.TS. LÊ BÁ DŨNG

Thái Nguyên, 2011


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




MỞ ĐẦU
Khuôn mặt đóng vai trò quan trọng trong quá trình giao tiếp giữa ngƣời với
ngƣời, và cũng mang một lƣợng thông tin phong phú, chẳng hạn có thể xác định
giới tính, tuổi tác, trạng thái cảm xúc của ngƣời đó, ... hơn nữa khảo sát chuyển
động của các đƣờng nét trên khuôn mặt có thể biết đƣợc ngƣời đó muốn nói gì. Do
đó, nhận dạng mặt ngƣời là một lĩnh vực nghiên cứu hấp dẫn đƣợc nhiều ngƣời
quan tâm trong vài năm gần đây.
Nhận dạng mặt ngƣời là một lĩnh vực nghiên cứu hấp dẫn đƣợc nhiều ngƣời
quan tâm trong vài năm gần đây. Có rất nhiều hƣớng tiếp cận trƣớc đây đã thực hiện
liên quan đến vấn đề nhận dạng mặt ngƣời. Theo Ming-Hsuan Yang [22], có thể
phân loại thành bốn hƣớng tiếp cận chính: dựa trên tri thức (knowledge-based), đặc
trƣng bất biến (feature invariant), đối sánh mẫu (template matching), và dựa vào diện
mạo (appearance-based) phƣơng pháp này thƣờng dùng một mô hình học máy nên
còn đƣợc gọi là phƣơng pháp dựa trên học máy (machine learning-based).
Các kết quả nghiên cứu về nhận dạng mặt ngƣời cho đến nay đã cho thấy
phƣơng pháp dựa trên học máy là cách tiếp cận tối ƣu và hiệu quả nhất. Về cơ bản,
phƣơng pháp dựa trên học máy sử dụng những mẫu đƣợc rút trích qua một quá
trình học. Nói cách khác, các thuật toán dựa trên học máy dùng các kỹ thuật phân
tích thống kê và học máy để xấp xĩ một hàm phân lớp tuyến tính. Có nhiều mô hình
học máy đƣợc áp dụng trong hƣớng tiếp cận này: Eigenface (M. Turk và A. Pentland
1991 [23]), Mạng Nơ-ron (H. Rowley 1998 [28]), Support Vector Machine (E.
Osuna et al 1997 [24]), Phân lớp Bayes (H. Schneiderman và T. Kanade 1998 [22]),
Mô hình Markov ẩn (A. Rajagopalan et al 1998 [23]), và các mô hình tăng cƣờng
(AdaBoost của P. Viola và M. Jones 2001 [25][26]; FloatBoost do Stan Z. Li và Zhen
Qiu Zhang 2004 [23][24]).

Phƣơng pháp nhận dạng mặt ngƣời dùng mạng nơron là một phƣơng pháp
không mới, có thể coi là phƣơng pháp phổ biến nhất trong các phƣơng pháp dựa trên
học máy. Các kết quả nghiên cứu đã có cho thấy phƣơng pháp này vẫn là phƣơng

Số hóa bởi Trung tâm Học liệu – Đại học Thái
1 Nguyên




pháp hiệu quả, ổn định và có nhiều khả năng ứng dụng. Một trong những nghiên cứu
đầu tiên dùng NN trong nhận dạng ảnh mặt ngƣời trong [72] đã sử dụng mạng
Kohonen nhận dạng ảnh trong một tập mẫu nhỏ các ảnh mặt ngƣời và cho kết quả tốt
ngay cả khi ảnh bị nhiễu hay mất một phần ảnh. Tỷ lệ nhận dạng đúng đƣợc công bố
là 92.5% với ảnh test đã đƣợc huấn luyện và 87.5% với ảnh test chƣa đƣợc huấn
luyện. Trong nhiều nghiên cứu nhận dạng ảnh mặt ngƣời dùng mạng NN sau đó, loại
mạng NN đƣợc cho là hiệu quả nhất là mạng NN perception đa lớp lan truyền ngƣợc
(backpropagation MLP). Trong [N. Jamil and Iqbal [34] ] hệ thống nhận dạng ảnh
mặt ngƣời dùng mạng MLP lan truyền ngƣợc sử dụng cơ sở dữ liệu gồm 100 ảnh của
10 ngƣời khác nhau tự thu thập, tỷ lệ nhận dạng đúng đƣợc công bố là 95.6%.
Các nghiên cứu nhận dạng ảnh mặt ngƣời dùng mạng NN cho tới hiện nay chỉ
ra rằng việc dùng mạng MLP đã cho các kết quả rất tốt cả về độ chính xác. Tuy nhiên
vấn đề chi phí tính toán trong thao tác huấn luyện và nhận dạng dẫn tới chi phí huấn
luyện và nhận dạng khá lớn là vấn đề then chốt cần xử lý của các hệ thống dùng
mạng NN. Do đó, các nghiên cứu nhận dạng mặt ngƣời dùng mạng NN vẫn cần đƣợc
cải tiến phát triển để giảm khối lƣợng tính toán, giảm thời gian, chi phí huấn luyện.
Một giải pháp đã đƣợc đề xuất là áp dụng phƣơng pháp trích đặc trƣng vector
thành phần PCA để giảm số chiều vector đặc trƣng, do đó giảm chi phí tính toán cho
mạng NN [19, 20]. Một giải pháp khác gần đây đƣợc một số nhà nghiên cứu gần đây
quan tâm là áp dụng giải thuật di truyền GA tính toán trọng số tối ƣu đầu vào cho

mạng NN để có để tối ƣu hệ thống. Luận văn này đi theo cách kết hợp hai hƣớng tiếp
cận này, đó là phát triển một hệ thống nhận dạng mặt ngƣời sử dụng kết hợp các
phƣơng pháp MLP-PCA-GA. Các kết quả đánh giá về hiệu quả nhận dạng bao gồm
tỷ lệ nhận dạng đúng, chi phí huấn luyện, thời gian nhận dạng đều cho thấy phƣơng
pháp sử dụng trong đề tài cho các kết quả tƣơng đƣơng và tốt hơn trong một số điều
kiện so với các phƣơng pháp truyền thống khác. Các kết quả thực nghiệm cho thấy
phƣơng pháp sử dụng là một phƣơng pháp tốt cần đầu tƣ nghiên cứu, phát triển thêm.
Để minh họa cho tính ứng dụng của luận văn, tôi cũng trình bày một hệ thống
ứng dụng minh họa việc tìm kiếm thông tin hành khách tại sân bay bằng nhận dạng

Số hóa bởi Trung tâm Học liệu – Đại học Thái
2 Nguyên




mặt ngƣời. Chƣơng trình cho tính năng minh họa cho một hệ thống thực và có thể
phát triển thành một ứng dụng thực tế nếu đƣợc tích hợp với hệ thống camera bắt
hình trực tiếp và cơ sở dữ liệu hành khách thực.
Nội dung đề tài gồm những vấn đề sau:
MỞ ĐẦU
Chƣơng 1

: Đặt vấn đề

Chƣơng 2

: Các cơ sở lý thuyết liên quan:

-


Mạng nơron

-

Giải thuật di truyền

-

Vector đặc trƣng thành phần PCA

Chƣơng 3

: Phƣơng pháp nhận dạng mặt ngƣời MLP-PCA-GA

Chƣơng 4

: Hệ thống ứng dụng minh họa

KẾT LUẬN VÀ KIẾN NGHỊ
Do hạn chế về khả năng, thời gian cũng nhƣ tài liệu, đề tài không tránh khỏi
những sai sót nhất định. Rất mong đƣợc sự chỉ bảo của các thầy cô và các ý kiến
góp ý quan tâm của các đồng nghiệp.

Số hóa bởi Trung tâm Học liệu – Đại học Thái
3 Nguyên





Chƣơng 1
TỔNG QUAN
1.1 BÀI TOÁN NHẬN DẠNG MẶT NGƢỜI VÀ NHỮNG KHÓ KHĂN
1.1.1 Bài toán nhận dạng mặt ngƣời
Hệ thống nhận dạng mặt ngƣời là một hệ thống nhận vào là một ảnh hoặc một
đoạn video (một chuỗi các ảnh). Qua xử lý tính toán hệ thống xác định đƣợc vị trí
mặt ngƣời trong ảnh (nếu có) và xác định là ngƣời nào trong số những ngƣời hệ
thống đã đƣợc biết (qua quá trình học) hoặc là ngƣời lạ.

Hình 1.1 Ví dụ về hệ thống nhận dạng mặt ngƣời
1.1.2 Những khó khăn của nhận dạng khuôn mặt
Bài toán nhận dạng mặt ngƣời là bài toán đã đƣợc nghiên cứu từ những năm
70. Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tại vẫn chƣa đạt
đƣợc kết quả mong muốn. Chính vì thế vấn đề này vẫn đang đƣợc nhiều nhóm trên
thế giới quan tâm nghiên cứu. Khó khăn của bài toán nhận dạng mặt ngƣời có thể kể
nhƣ sau:
a. Tƣ thế, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc
chụp giữa camera và khuôn mặt. Chẳng hạn nhƣ: chụp thẳng, chụp xéo bên trái 450

Số hóa bởi Trung tâm Học liệu – Đại học Thái
4 Nguyên




hay xéo bên phải 450, chụp từ trên xuống, chụp từ dƣới lên, v.v...). Với các tƣ thế
khác nhau, các thành phần trên khuôn mặt nhƣ mắt, mũi, miệng có thể bị khuất một
phần hoặc thậm chí khuất hết.
b. Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặc
trƣng nhƣ: râu mép, râu hàm, mắt kính, v.v... có thể xuất hiện hoặc không. Vấn đề

này làm cho bài toán càng trở nên khó hơn rất nhiều.
c. Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt ngƣời có thể làm
ảnh hƣởng đáng kể lên các thông số của khuôn mặt. Chẳng hạn, cùng một khuôn mặt
một ngƣời, nhƣng có thể sẽ rất khác khi họ cƣời hoặc sợ hãi,v.v...
d. Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tƣợng khác hoặc
các khuôn mặt khác.
e. Hƣớng của ảnh: Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các
góc quay khác nhau của trục camera. Chẳng hạn chụp với trục máy ảnh nghiêng làm
cho khuôn mặt bị nghiêng so với trục của ảnh.
f. Điều kiện của ảnh: Ảnh đƣợc chụp trong các điều kiện khác nhau về: chiếu
sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại,v.v...) ảnh hƣởng rất
nhiều đến chất lƣợng ảnh khuôn mặt.
1.2 CÁC ỨNG DỤNG LIÊN QUAN ĐẾN NHẬN DẠNG MẶT NGƢỜ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 ứng
dụng thực tế khác nhau. Đó chính là lý do mà bài toán này hấp dẫn rất nhiều
nhóm nghiên cứu trong thời gian dài. 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: camera đƣợc đặt tại một số điểm công cộng
nhƣ: siêu thị, nhà sách, trạm xe buýt, sân bay,v.v... Khi phát hiện đƣợc sự xuất hiện
của các đối tƣợng là tội phạm, hệ thống sẽ gởi thông điệp về cho trung tâm xử lý.
- Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng
nhân viên và chấm công.
- Hệ thống giao tiếp ngƣời máy: thay thế việc tƣơng tác giữa ngƣời và máy theo
những cách truyền thống nhƣ: bàn phím, chuột,v.v...Thay vào đó là sử dung các giao

Số hóa bởi Trung tâm Học liệu – Đại học Thái
5 Nguyên





tiếp trực quan: biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay (visual input, visual
interaction).
- Hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung (chỉ mục theo
ngƣời). Chẳng hạn nhƣ: đài truyền hình Việt Nam (VTV) có một kho dữ liệu video
tin tức khá lớn cần tìm kiếm nhanh những đoạn video nào có G. Bush hoặc Bin
Laden.
- Các thệ thống bảo mật dựa trên thông tin trắc sinh học: mặt ngƣời, vân
tay,v.v... thay vì xác nhận mật khẩu, khóa,v.v...
1.3 TỔNG QUAN KIẾN TRÚC CỦA MỘT HỆ THỐNG NHẬN DẠNG
MẶT NGƢỜI
Một hệ thống nhận dạng mặt ngƣời thông thƣờng bao gồm bốn bƣớc xử lý
sau: phát hiện khuôn mặt (face detection), phân đoạn khuôn mặt (face alignment hay
segmentation), rút trích đặc trưng (feature extraction), và phân lớp khuôn mặt (face
classification).

Hình 1.2 Các bƣớc chính trong một hệ thống nhận dạng mặt ngƣời
Phát hiện khuôn mặt dò tìm và định vị những vị trí khuông mặt xuất hiện
trong ảnh hoặc trên các frame video. Phân đoạn khuôn mặt sẽ xác định vị trí mắt mũi,
miệng, và các thành phần khác của khuôn mặt và chuyển kết quả này cho bƣớc rút
trích đặc trưng. Từ những thông tin về các thành phần trên khuôn mặt, chúng ta có
thể dễ dàng tính đƣợc véc-tơ đặc trƣng trong bƣớc rút trích đặc trƣng. Những véc-tơ
đặc trƣng này sẽ là dữ liệu đầu vào cho một mô hình đã đƣợc huấn luyện trƣớc để
phân loại khuôn mặt. Bên cạnh những bƣớc chính nêu trên, chúng ta còn có thể áp
dụng thêm một số bƣớc khác nhƣ tiền xử lý, hậu xử lý nhằm làm tăng độ chính xác
Số hóa bởi Trung tâm Học liệu – Đại học Thái
6 Nguyên





cho hệ thống. Trong luận văn này, tôi tập trung chủ yếu vào bƣớc phân loại khuôn
mặt.
1.4. GIỚI HẠN PHẠM VI ĐỀ TÀI
Trong đề tài này, tôi tập trung vào một thuật toán hiệu quả cho việc nhận dạng
(phân loại) ảnh mặt ngƣời. Do các điều kiện khó khăn của bài toán và để tập trung
sâu vào một phần của hệ thống nhận dạng là khối phân lớp, nhận dạng, tôi đƣa ra
những giả định và ràng buộc sau nhằm giảm độ phức tạp của bài toán nhận dạng mặt
ngƣời:
- Thuật toán giải quyết cho ảnh đơn; ảnh khuôn mặt đƣợc chụp thẳng hay góc
nghiêng không đáng kể; ảnh đƣợc chụp trong điều kiện ánh sáng bình thƣờng; ảnh
đƣợc tiền xử lý trƣớc để cắy lại chỉ còn phần khuôn mặt trong ảnh, do vậy có thể bỏ
qua bƣớc phát hiện khuôn mặt (face detection). Với cơ sở dữ liệu thử nghiệm đƣợc
lọc một phần từ CSDL của Yale dùng trong luận văn này thì các điều kiện trên đƣợc
thỏa mãn.
- Luận văn thừa kế các kết quả nghiên cứu nhận dạng mặt ngƣời dùng mạng NN
perception đa lớp MLP với thủ tục huấn luyện lan truyền ngƣợc, sử dụng vector đặc
trƣng PCA đầu vào, thực nghiệm một thuật toán kết hợp mạng NN và giải thuật di
truyền GA để tối ƣu trọng số mạng NN trong bài toán nhận dạng ảnh mặt ngƣời. Việc
kết hợp GA và NN nhằm mục đích giảm chi phí huấn luyện và tối ƣu hệ thống.
- Luận văn xây dựng một ứng dụng demo cho việc phát hiện thông tin hành
khách tại sân bay bằng nhận dạng ảnh tự động. Hệ thống chỉ có tính chất demo, minh
họa chứ chƣa có khả năng áp dụng ngay trong thực tiễn.
1.5 CÁC HƢỚNG TIẾP CẬN LIÊN QUAN ĐẾN PHÁT HIỆN VÀ NHẬN
DẠNG KHUÂN MẶT
Có rất nhiều hƣớng tiếp cận trƣớc đây đã thực hiện liên quan đến vấn đề phát
hiện mặt ngƣời. Theo Ming-Hsuan Yang [22], có thể phân loại thành bốn hƣớng tiếp
cận chính: dựa trên tri thức (knowledge-based), đặc trƣng bất biến (feature invariant),
đối sánh mẫu (template matching), và dựa vào diện mạo (appearance-based) phƣơng
pháp này thƣờng dùng một mô hình máy học nên còn đƣợc gọi là phƣơng pháp dựa


Số hóa bởi Trung tâm Học liệu – Đại học Thái
7 Nguyên




trên máy học (machine learning-based).
Các phƣơng pháp dựa trên tri thức: Hƣớng tiếp cân này chủ yếu dựa trên
những luật đƣợc định nghĩa trƣớc về khuôn mặt ngƣời. Những luật này thƣờng là các
mối quan hệ giữa các thành phần trên khuôn mặt. Có một số nghiên cứu từ rất sớm đã
áp dụng phƣơng pháp này nhƣ của Kanade 1973 [23], và Kotropoulos 1997 [24].
Hƣớng tiếp cận dựa trên các đặc trƣng bất biến: Hƣớng tiếp cận này cố
gắng tìm kiếm những đặc trƣng độc lập – những đặc trƣng không phụ thuộc vào tƣ
thế khuôn mặt, điều kiện chiếu sáng, và các khó khăn khác. Các đặc trƣng nhƣ thế
đƣợc gọi là bất biến và đƣợc sử dụng để phát hiện khuôn mặt. Những công trình sử
dụng hƣớng tiếp cận này có thể kể nhƣ: K. C. Yow và R. Cipolla 1997 [25], T. K.
Leung 1995 [26].
Phƣơng pháp đối sánh mẫu: Trong hƣớng tiếp cận này, một mẫu khuôn mặt
chuẩn đƣợc định nghĩa bằng tay trƣớc hoặc đƣợc tham số hóa bằng một hàm số. Mẫu
này đƣợc sử dụng để phát hiện khuôn mặt bằng cách quét nó qua ảnh và tính toán giá
trị tƣơng đồng cho mỗi vị trí. Việc xuất hiện một khuôn mặt tại một vị trí nào đó
trong ảnh phụ thuộc vào giá trị tƣơng đồng của điểm đó so với mẫu chuẩn. I. Craw
1992 [27] đã áp dụng một mẫu cứng trong khi A. Lanitis 1995 [28] sử dụng một mẫu
có thể biến dạng trong bƣớc phát hiện khuôn mặt.
Phƣơng pháp dựa trên máy học: Ngƣợc với phƣơng pháp đối sánh mẫu sử
dụng các mẫu đƣợc các chuyên gia định nghĩa trƣớc, phƣơng pháp này sử dụng
những mẫu đƣợc rút trích qua một quá trình học. Nói cách khác, các thuật toán dựa
trên máy học dùng các kỹ thuật phân tích thống kê và máy học để xấp xĩ một hàm
phân lớp tuyến tính. Có nhiều mô hình máy học đƣợc áp dụng trong hƣớng tiếp cận

này: Eigenface (M. Turk và A. Pentland 1991 [22]), Mô hình dựa trên phân phối (K.
K. Sung and T. Poggio 1998 [23]), Mạng Nơ-ron (H. Rowley 1998 [24]), Support
Vector Machine (E. Osuna et al 1997 [25]), Phân lớp Bayes (H. Schneiderman và T.
Kanade 1998 [26]), Mô hình Markov ẩn (A. Rajagopalan et al 1998 [27]), và các mô
hình tăng cƣờng (AdaBoost của P. Viola và M. Jones 2001 [28]; FloatBoost do Stan
Z. Li và Zhen Qiu Zhang 2004 [22]).

Số hóa bởi Trung tâm Học liệu – Đại học Thái
8 Nguyên




data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not

read....



data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....


data error !!! can't not
read....

data error !!! can't not
read....



data error !!! can't not
read....

data error !!! can't not
read....


data error !!! can't not
read....

data error !!! can't not
read....



×