Tải bản đầy đủ (.docx) (72 trang)

Nhận dạng và phát hiện khuôn mặt

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 (1.17 MB, 72 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG

ĐỒ ÁN TỐT NGHIỆP

PHÁT HIỆN VÀ NHẬN DẠNG KHUÔN MẶT

Ngành Công Nghệ Kỹ Thuật Điện Tử Viễn Thông

Sinh viên:

LÊ THANH LONG
MSSV: 10917019
NGUYỄN NHƯ TUÂN
MSSV: 10917006

TP. HỒ CHÍ MINH - 01/2015


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG

ĐỒ ÁN TỐT NGHIỆP

PHÁT HIỆN VÀ NHẬN DẠNG KHUÔN MẶT
Ngành Công Nghệ Kỹ Thuật Điện Tử Viễn Thông

Sinh viên:


LÊ THANH LONG
MSSV: 10917019
NGUYỄN NHƯ TUÂN
MSSV: 10917006

Hướng dẫn: ThS. HUỲNH THỊ THU HIỀN

TP. HỒ CHÍ MINH – 01/2015


PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin sinh viên

Họ và tên: Lê Thanh Long
Tel: 0978711560
Họ và tên: Nguyễn Như Tuân
Tel: 0978316364

MSSV:10917019
Email:
MSSV:10917006
Email:

2. Thông tin đề tài

Tên của đề tài: PHÁT HIỆN VÀ NHẬN DẠNG KHUÔN MẶT
Mục đích của đề tài: Tìm hiểu, nghiên cứu và xây dựng hệ thống nhận dạng
khuôn mặt sử dụng nguồn thư viện mở Open CV trên kit Raspberry pi.
Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Viễn Thông, Khoa Điện Điện Tử, Trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh.
Thời gian thực hiện: Từ ngày 20 / 09 /2014 đến 29 /12 /2014

3. Các nhiệm vụ cụ thể của đề tài

-

Tìm hiểu về các giải thuật phát hiện và nhận dạng khuôn mặt.
Tìm hiểu phương pháp AdaBoost, Haar-like và trích rút đặc trưng PCA.
Xây dựng thuật toán phát hiện và nhận dạng khuôn mặt.
Áp dụng mã nguồn thư viện mở OpenCV vào thuật toán.
Tạo môi trường làm việc với mã nguồn OpenCV trên hệ điều hành Linux.
Xây dựng chương trình phát hiện và nhận dạng khuôn mặt dựa trên mã
nguồn thư viện mở OpenCV và được thực hiện trên kit Raspberry pi.

4. Lời cam đoan của sinh viên

Chúng tôi – Lê Thanh Long và Nguyễn Như Tuân cam đoan ĐATN là công trình
nghiên cứu của bản thân chúng tôi dưới sự hướng dẫn của thạc sỹ Huỳnh Thị Thu
Hiền.
Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công
trình nào khác.
Tp.HCM, ngày 5 tháng 1 năm 2015
SVTH
Lê Thanh Long- Nguyễn Như
Tuân
Giáo viên hướng dẫn xác nhận về mức độ hoàn thành và cho phép được bảo vệ:
……………………………………………………………………………………
Xác nhận của Bộ Môn

Tp.HCM, ngày 5 tháng 01 năm 2014
Giáo viên hướng dẫn



(Ký ghi rõ họ tên và học hàm học vị)


LỜI CẢM ƠN
Sau một thời gian dài học tập và nghiên cứu, cuối cùng chúng tôi cũng đã
hoàn thành khóa luận tốt nghiệp này, đây là dịp tốt nhất để chúng tôi có thể gửi
lời cảm ơn đến mọi người.
Chúng tôi xin gửi lời cảm ơn sâu sắc đến Th.s Huỳnh Thị Thu Hiền, đã tận
hình hướng dẫn, định hướng cho chúng tôi trong suốt thời gian thực hiện đề tài.
Cô đã cho chúng tôi những lời khuyên quý báu giúp chúng tôi hoàn thành tốt
khóa luận.
Chúng tôi xin cảm ơn khoa Điện-Điện tử trường Đại Học Sư phạm Kỹ thuật
Tp.HCM, cảm ơn các thầy cô trong khoa đã tận tình giảng dạy, truyền đạt cho
chúng tôi những kiến thức quý báu trong những năm học vừa qua, giúp cho
chúng tôi có một nền tảng kiến thức vững chắc để thực hiện khóa luận cũng như
nghiên cứu học tập sau này.
Cuối cùng, chúng tôi xin gửi lời cảm ơn đến tất cả bạn bè, anh, chị, những
người đã giúp đỡ, khích lệ cũng như phê bình, góp ý, giúp chúng tôi hoàn thành
khóa luận một cách tốt nhất.
Tp.HCM, ngày 5 tháng 1 năm 2015
SVTH

Lê Thanh Long- Nguyễn Như Tuân

5


TÓM TẮT
Nhận diện mặt người là bài toán mới chỉ xuất hiện cách đây không lâu ,

chỉ khoảng vài thập niên, nhưng đã có rất nhiều nghiên cứu về nó. Các nghiên
cứu ban đầu rất đơn giản, ảnh là đen trắng và chỉ có một khuôn mặt chụp thẳng,
sau này mở rộng ra cho ảnh màu, ảnh có nhiều khuôn mặt với nhiều góc độ khác
nhau, môi trường xung quanh cũng đi từ đơn giản đến rất phức tạp ...
Ngày nay các hệ thống nhận dạng mặt người đang được ứng dụng trong
nhiều lĩnh vực, đặc biệt là an ninh và bảo mật. Nhận dạng mặt người tức là đưa ra
những thông tin về đối tượng được đưa vào từ một bức ảnh, hay từ camera quan
sát. Bước đầu tiên của một hệ thống nhận dạng mặt người là phát hiện khuôn
mặt, tức xác định vị trí khuôn mặt trên bức ảnh, sau đấy tách khuôn mặt ra khỏi
ảnh để tiến hành nhận dạng. Sau khi đã xem xét các hướng tiếp cận khác nhau,
nhóm chúng tôi chọn phương pháp phân tích thành phần chính PCA và phương
pháp tiếp cận học máy bằng AdaBoost và mô hình Cascade of classifiers. Điểm
mạnh của AdaBoost là tốc độ phát hiện khuôn mặt khá nhanh. Kết quả thử
nghiệm cho thấy chương trình đạt độ chính xác khá cao với các ảnh mặt người
được chụp trực diện.

6


MỤC LỤC

7


DANH MỤC HÌNH

8


DANH MỤC BẢNG


9


DANH SÁCH CÁC THUẬT NGỮ
Thuật ngữ

Giải thích

Classifier

(bộ Một bộ phân loại được xây dựng theo một thuật toán học

phân loại)

máy nào đấy, dùng để phân loại các đối tượng (khuôn mặt
hay không phải khuôn mặt)

False alarm
Feature

Là tỉ lệ nhận dạng sai của các bộ phân loại
(đặc Các thông tin giúp nhận biết đối tượng.

trưng)
Haar-like feature

Các đặc trưng của đối tượng trong ảnh. Các đặc trưng này
thường được định nghĩa bằng các tính toán với tổng điểm
ảnh của một vùng nào đó trên bức ảnh.


Hit rate
Max false alarm

Là tỉ lệ nhận dạng đúng của các bộ phân loại
Đạt được tỉ lệ sai này thì bộ phân loại được xây dựng thành
công, tỉ lệ sai này là một giá trị bé, có thể chấp nhận được
trong bài toán phân loại.

Strong classifier (bộ Bộ phân loại được xây dựng từ nhiều bộ phân loại yếu, có
phân loại mạnh)

độ chính xác cao.

Threshold (ngưỡng) Ngưỡng là giá trị ranh giới giữa các lớp, giá trị của ngưỡng
thường được chọn từ thực nghiệm. Chọn giá trị thích hợp
nhất để hợp thành các bộ phân loại yếu.
Weak classifier (bộ Bộ phân loại đơn giản có độ chính xác khoảng 50%.
phân loại yếu)

10


CHƯƠNG 1

TỔNG QUAN

1.1 GIỚI THIỆU VỀ ĐỀ TÀI
Nhận dạng mặt người (Face recognition) được nghiên cứu từ những năm
1980, là một lĩnh vực nghiên cứu của ngành thị giác máy tính (Computer Vision),

và cũng được xem là một lĩnh vực nghiên cứu của ngành sinh trắc học
(Biometrics) tương tự như nhận dạng vân tay – Fingerprint recognition, hay
nhận dạng mống mắt – Iris recognition. Trong khi nhận dạng vân tay và mống
mắt có thể áp dụng trên thực tế một cách rộng rãi thì nhận dạng mặt người vẫn
còn nhiều thách thức. So với nhận dạng vân tay và mống mắt, nhận dạng mặt có
nguồn dữ liệu phong phú hơn và ít đòi hỏi sự tương tác có kiểm soát hơn. Bài
toán nhận dạng mặt người còn nhiều thách thức nên hàng năm trong và ngoài
nước vẫn có nhiều nghiên cứu về các phương pháp nhận dạng mặt người.
Có hai phương pháp nhận dạng phổ biến hiện nay là nhận dạng dựa trên
đặc trưng của các phần tử trên khuôn mặt như biển đổi sóng Wavelet (Gabor
Wavelet) và mạng Nơron (Neural Network), Support Vector Machine (SVN),…
và nhận dạng dựa trên xét tổng thể toàn khuôn mặt như 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), phương pháp
phân tích đặc điểm vùng (Local Feature Analysis – LFA).
Nhiệm vụ đặt ra cho bài toán nhận dạng mặt người là nghiên cứu và xây
dựng một chương trình sử dụng phương pháp nhận dạng có độ chính xác cao mà
khối lượng và thời gian tính toán lại ít. Để giải quyết vấn đề trên chúng tôi nhận
thấy phương pháp phân tích các thành phần chính của khuôn mặt sẽ giảm bớt số
thành phần không cần thiết tạo ra hiệu quả tính toán nhanh mà vẫn đảm bảo được
độ chính xác.
Do đó, nhóm nghiên cứu chúng tôi chọn đề tài: “Phát hiện và nhận dạng
khuôn mặt” dựa trên đặc trưng Haar-like và phương pháp phân tích thành phần
chính PCA viết bằng ngôn ngữ C++ được thực hiện kit Raspberry pi.
11


1.2 MỤC TIÊU VÀ NHIỆM VỤ
1.2.1 Mục tiêu của đề tài
Mục tiêu của đề tài là xây dựng một hệ thống nhận dạng mặt người online với

đầu vào là ảnh khuôn mặt người, hệ thống sẽ xử lý và tìm kiếm xem người này
có trong cơ sở dữ liệu hay không và cho đầu ra là thông tin liên quan đến người
được nhận dạng.

Hình 1.1: Tổng quan về một hệ thống nhận dạng khuôn mặt

1.2.2 Nhiệm vụ của đề tài
-

Tìm hiểu các giải thuật phát hiện và nhận dạng khuôn mặt.
• Các giải thuật phát hiện khuôn mặt.
• Các giải thuật nhận dạng khuôn mặt.
• Chọn ra giải thuật và phương pháp tối ưu.

-

Xây dựng thuật toán phát hiện và nhận dạng khuôn mặt.

-

Áp dụng mã nguồn thư viện mở OpenCV vào thuật toán.

-

Tạo môi trường làm việc với mã nguồn OpenCV trên hệ điều hành Linux.

-

Xây dựng chương trình phát hiện và nhận dạng khuôn mặt dựa trên mã
nguồn thư viện mở Open CV và được thực hiện trên Kit Raspberry pi.


12


1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
1.3.1 Đối tượng nghiên cứu
Đối tượng nghiên cứu bao gồm:
-

Lý thuyết về phát hiện và nhận dạng khuôn mặt.
Các vấn đề liên quan đến các phương pháp nhận dạng khuôn mặt.
Phương pháp phát hiện khuôn mặt bằng AdaBoost và Haar-like.
Nhận dạng khuôn mặt bằng phương pháp phân tích thành phần chính

-

PCA.
Mã nguồn thư viện mở OpenCV.
Phần cứng kit Raspberry pi.

1.3.2 Phạm vi đề tài
Trong đề tài này, chúng tôi tập trung vào việc xác định khuôn mặt từ
webcam. Từ đó theo dõi và xử lý khuôn mặt được phát hiện. Sau đó nhận dạng
xem khuôn mặt đó là ai trong cơ sở dữ liệu đã có sẵn. Do các khó khăn của bài
toán nhận dạng khuôn mặt như: Tư thế góc chụp, sự xuất hiện hoặc thiếu một số
thành phần của khuôn mặt, sự biểu cảm của khuôn mặt, sự che khuất, hướng của
ảnh, điều kiện của ảnh...
Vì thế trong luận văn này chúng tôi đưa ra những giả định và ràng buộc sau
làm giảm độ phức tạp của bài toán như sau:



Các khuôn mặt được quay thẳng hoặc góc nghiêng không đáng kể (bé

hơn 200).
• Phông nền không quá phức tạp, không bị che khuất.
• Video được quay trong điều kiện ánh sáng bình thường.
• Do có thể tách thành các xử lý trên ảnh nên với những camera quá kém
chương trình sẽ không thực hiện được tốt nhất có thể.

13


1.4 PHƯƠNG PHÁP NGHIÊN CỨU
1.4.1 Phương pháp tài liệu
-

Tìm hiểu cách lập trình với mã nguồn thư viện mở Open CV trên kit

-

Raspberry pi.
Tìm hiểu tổng quan về bài toán nhận dạng khuôn mặt.
Tìm hiểu các phương pháp phát hiện và nhận dạng khuôn mặt.
Tìm hiểu thuật toán AdaBoost, Haar-like.
Tìm hiểu phương pháp trích rút đặc trưng PCA.

1.4.2 Phương pháp thực nghiệm
-

Tiến hành phân tích, cài đặt và mô phỏng thuật toán AdaBoost, Haar-like

kết hợp với trích rút đặc trưng PCA.

1.5 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
1.5.1 Ý nghĩa khoa học
-

Nghiên cứu việc phát hiện và nhận dạng khuôn mặt.
Nghiên cứu về phương pháp phát hiện khuôn mặt AdaBoost và Haar-like.
Nghiên cứu về phương pháp phân tích thành phần chính PCA trong việc

-

nhận dạng khuôn mặt.
Ứng dụng thành công các phương pháp xử lý ảnh vào thực tế.
Tạo tiền đề cho những nghiên cứu tiếp theo trong tương lai.

1.5.2 Ý nghĩa thực tiễn
-

Cung cấp các thuật toán hỗ trợ cho các thiết bị phát hiện và nhận dạng

-

khuôn mặt người.
Giúp giảm giá thành cho công tác bảo vệ và bảo mật.
Tạo tiền đề cho việc xây dựng cơ sở dữ liệu nhận dạng đối tượng một
cách tự động thông qua khuôn mặt.

1.6 CẤU TRÚC ĐỒ ÁN
Với mục tiêu chính là tìm hiểu giải thuật AdaBoost, các đặc trưng Haar-like,

mô hình Cascade of Classifiers, kỹ thuật PCA đồng thời áp dụng vào bài toán
phát hiện và nhận dạng mặt người từ camera, đồ án được trình bày trong bốn
chương với bố cục như sau:
14


Chương 1 Tổng quan: Giới thiệu khái quát về đề tài nghiên cứu. Mục tiêu,
nhiệm vụ và phạm vi của đề tài.
Chương 2 Hệ thống nhận dạng mặt người: Đi sâu vào hướng tiếp cận dựa
theo thuật toán học máy AdaBoost. Giới thiệu về các đặc trưng Haar-like của
khuôn mặt, cách tính các đặc trưng Haar-like, mô hình cascade of classifiers và
cách áp dụng vào bài toán phát hiện mặt người. Tiếp theo giới thiệu về nhận dạng
khuôn mặt và tìm hiểu kỹ thuật PCA trong nhận dạng khuôn mặt.
Chương 3 Thiết kế hệ thống: Xây dựng một chương trình về phát hiện và
nhận dạng mặt người được viết trên nền Visual C ++ của Microsoft, sử dụng thư
viện mã nguồn mở OpenCV của Intel trên kit Raspberry Pi. Nêu lên các phân
tích, thiết kế về chương trình.
Chương 4 Kết quả thực nghiệm: Nêu các kết quả đạt được khi thực thi
chương trình, sau đó phân tích các kết quả thực thi được.
Chương 5 Kết luận và hướng phát triển: Tóm tắt những kết quả đạt
được, những hạn chế và nêu lên các hướng phát triển trong tương lai.

CHƯƠNG 2

HỆ THỐNG NHẬN DẠNG KHUÔN MẶT

2.1 CÁC PHƯƠNG PHÁP ĐỂ XÁC ĐỊNH MẶT NGƯỜI.
Dựa vào tính chất của các phương pháp xác định mặt người trên ảnh, các
phương pháp này được chia thành bốn loại chính, tương ứng với bốn hướng tiếp
15



cận khác nhau. Ngoài ra cũng có rất nhiều nghiên cứu mà phương pháp xác định
mặt người không chỉ dựa vào một hướng mà có liên quan đến nhiều hướng.
• Hướng tiếp cận dựa trên tri thức: Dựa vào các thuật toán, mã hóa các đặc
trưng và quan hệ giữa các đặc trưng của khuôn mặt thành các luật. Đây là
hướng tiếp cận theo kiểu top-down.
• Hướng tiếp cận dựa trên đặc trưng không thay đổi: Xây dựng các thuật toán
để tìm các đặc trưng của khuôn mặt mà các đặc trưng này không thay đổi
khi tư thế khuôn mặt hay vị trí đặt camera thay đổi.
• Hướng tiếp cận dựa trên so sánh khớp mẫu: Dùng các mẫu chuẩn của
khuôn mặt (các mẫu này đã được chọn và lưu trữ) để mô tả các khuôn mặt
hay các đặc trưng của khuôn mặt (các mẫu này được chọn tách biệt theo
tiêu chuẩn đã được các tác giả đề ra để so sánh). Phương pháp này có thể
dùng để xác định vị trí hay dò tìm khuôn mặt trên ảnh.
• Hướng tiếp cận dựa trên diện mạo: Trái ngược với hướng tiếp cận dựa trên
khuôn mẫu, các mô hình (hay các mẫu) sẽ được học từ một tập ảnh huấn
luyện mà thể hiện tính chất tiêu biểu của sự xuất hiện của mặt người trong
ảnh. Sau đó hệ thống (mô hình) sẽ xác định mặt người. Phương pháp này
còn được biết đến với tên gọi tiếp cận theo các phương pháp học máy.

2.1.1 Hướng tiếp cận dựa trên tri thức
2.1.1.1 Tư tưởng
Trong hướng tiếp cận này, các phương pháp xác định mặt người được xây
dựng dựa vào các luật, các luật này phụ thuộc vào tri thức của các tác giả nghiên
cứu về bài toán xác định khuôn mặt. Dễ dàng xây dựng các luật cơ bản để mô tả
các đặc trưng của khuôn mặt và các quan hệ tương ứng. Ví dụ, một khuôn mặt
thường có hai mắt đối xứng qua trục thẳng đứng giữa khuôn mặt và có một mũi
một miệng. Các quan hệ đặc trưng có thể là quan hệ về vị trí và khoảng cách
tương đối. Khó khăn của hướng tiếp cận này đó là làm thế nào để chuyển các tri

thức của con người về khuôn mặt sang các luật cho máy tính một cách hiệu quả.
16


Nếu các luật này quá chi tiết, chặt chẽ thì sẽ có thể xác định thiếu các khuôn mặt
có trong ảnh, nhưng nếu các luật quá tổng quát thì sẽ dẫn đến xác định sai khu
vực không phải là khuôn mặt thành khuôn mặt. Ngoài ra cũng khó để mở rộng
phạm vi của bài toán để xác định các khuôn mặt có nhiều tư thế khác nhau.

2.1.1.2 Các nghiên cứu
Có nhiều cách để xây dựng chương trình xác định mặt người theo hướng
tiếp cận dựa trên tri thức. Thông thường chương trình sẽ được xây dựng theo
hướng dựa vào một phương pháp nào đó chọn ra các ứng viên trong bức ảnh
trước, sau đó sẽ áp dụng các luật để xác định ứng viên nào là khuôn mặt, ứng
viên nào không phải là khuôn mặt. Quá trình này có thể được áp dụng nhiều lần
để giảm sai sót.

Hình 2.2: Xác định khuôn mặt theo hướng tiếp cận top-down
Các luật được xây dựng dựa vào tri thức của người nghiên cứu về các đặc
trưng của khuôn mặt (ví dụ như cường độ phân phối và sự khác nhau) của các
vùng trên khuôn mặt.
Yang và Huang đã sử dụng hướng tiếp cận dựa trên tri thức để xác định
khuôn mặt [1]. Hệ thống của hai tác giả bao gồm ba mức luật. Đầu tiên các ông
sử dụng một khung cửa sổ để quét trên bức ảnh và thông qua một số tập luật để
xác định các ứng viên có thể là mặt người, ví dụ như tìm phần trung tâm của
khuôn mặt (phần tối hơn trong hình 2.1). Tiếp theo, dùng một tập luật để mô tả
tổng quát hình dáng khuôn mặt, lọc các ứng viên ở mức một thành một tập các
ứng viên mới có xác xuất là khuôn mặt cao hơn. Cuối cùng, các ông lại dùng một
tập luật khác để xem xét ở mức chi tiết các đặc trưng khuôn mặt (có thể là đặc


17


trưng về mắt, mũi, miệng …), từ đó lọc ra các ứng viên chính xác nhất. Có thể
nói cách làm của hai ông là một cách làm mịn dần để đạt được kết quả tốt nhất,
mặc dù tỷ lệ chính xác chưa cao, nhưng đây là tiền đề cho nhiều nghiên cứu sau
này.
Có rất nhiều công trình nghiên cứu sử dụng phương pháp chiếu để xác định
khuôn mặt. Kotropoulos và Pitas đưa ra một phương pháp gần tương tự với Yang
và Huang. Đầu tiên, các vùng của khuôn mặt được định vị bởi phương pháp
chiếu (đã được Kanade sử dụng thành công) để xác định biên của khuôn mặt. Với
I(x,y) là giá trị xám của một điểm trong ảnh có kích thước m x n ở tại vị trí (x,y),
các hàm để chiếu ảnh theo phương ngang và thẳng đứng được định nghĩa như
sau:
HI(x) =

112Equation Chapter 2 Section 1222\* MERGEFORMAT

(.)
và VI(y) =

323\* MERGEFORMAT (.)

Dựa trên biểu đồ hình chiếu ngang, khi xét biểu đồ biến thiên của HI hai
ông tìm được hai cực tiểu địa phương tương ứng với hai đỉnh đầu bên trái và bên
phải của khuôn mặt. Còn theo hình chiếu dọc, xét biến thiên và tìm cực tiểu địa
phương của VI cũng cho ta các vị trí của miệng, đỉnh mũi và hai mắt. Các đặc
trưng này đủ để xác định khuôn mặt. Hình 2.2.a cho một ví dụ về cách xác định
như trên. Cách xác định này có tỷ lệ xác định chính xác là 86.5% cho trường hợp
chỉ có một khuôn mặt thẳng trong ảnh và hình nền không phức tạp. Nếu hình nền

phức tạp như hình 2.2.b thì rất khó tìm. Còn nếu ảnh có nhiều khuôn mặt (hình
2.2.c) thì sẽ không xác định được.

18


Hình 2.3: Phương pháp chiếu
(a) Ảnh chỉ có một khuôn mặt và hình nền đơn giản.
(b) Ảnh chỉ có một khuôn mặt và hình nền phức tạp.
(c) Ảnh có nhiều khuôn mặt.

2.1.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi.
Tiếp cận dựa trên các đặc trưng không thay đổi là tiếp cận theo kiểu bottom
up. Dựa trên thực tế, chúng ta cố gắng tìm ra những đặc điểm không thay đổi của
khuôn mặt khi ở các tư thế khác nhau và các điều kiện môi trường như ánh sáng
khác nhau. Đã có rất nhiều nghiên cứu về hướng tiếp cận này, các đặc điểm
không thay đổi được tìm thấy như: lông mày, mắt, mũi, miệng hay các đường
viền trên tóc … Trên cơ sở các đặc trưng này, các nhà nghiên cứu xây dựng lên
một mô hình thống kê mô tả quan hệ của các đặc trưng và từ đó xác định sự xuất
hiện của khuôn mặt trong bức ảnh. Khó khăn của hướng tiếp cận này đó là phải
mô tả các đặc trưng không thay đổi và quan hệ giữa chúng phù hợp với điều kiện
ánh sáng, độ nhiễu hay bị che khuất.

2.1.2.1 Các đặc trưng của khuôn mặt
Có rất nhiều nghiên cứu về các đặc trưng của khuôn mặt. Có thể dựa vào
các đặc trưng như hai mắt, hai lỗ mũi, miệng, phần nối giữa mũi và miệng …
hoặc dựa vào đường viền của khuôn mặt.
Leung đã đưa ra một mô hình xác xuất để xác định khuôn mặt trong ảnh có
hình nền phức tạp dựa trên việc tìm kiếm các đặc trưng không thay đổi của
khuôn mặt trong ảnh, sau đó dùng đồ thị ngẫu nhiên để xác định khuôn mặt. Tư

tưởng của phương pháp này đó là xem bài toán xác định khuôn mặt như là bài
toán tìm kiếm với mục tiêu là tìm thứ tự các đặc trưng không thay đổi của khuôn
mặt. Dùng năm đặc trưng (hai mắt, hai lỗ mũi, phần nối giữa mũi và miệng) để
mô tả một khuôn mặt. Đồng thời tính quan hệ khoảng cách cho tất cả các cặp đặc
trưng (như mắt trái, mắt phải), sau đấy dùng phân bố Gauss để mô hình hóa. Một
mẫu khuôn mặt được đưa ra thông qua trung bình tương ứng cho một tập đa
19


hướng, đa tỷ lệ của bộ lọc đạo hàm Gauss. Từ một ảnh, các đặc trưng của ứng
viên được xác định bằng cách so khớp từng điểm ảnh khi lọc tương ứng với
vector mẫu. Hai ứng viên có đặc trưng đứng đầu sẽ được chọn để tìm kiếm cho
các đặc trưng khác của khuôn mặt. Từ các đặc trưng không thay đổi, các đặc
trưng khác sẽ được xác định thông qua sự đánh giá xác xuất khoảng cách giữa
các đặc trưng, hơn nữa phương sai của phép thống kê này có thể được tính toán
trước để xác định các đặc trưng với xác xuất lớn. Tỷ lệ chính xác của phương
pháp này là 86%.
Bên cạnh tính khoảng cách liên quan để mô tả quan hệ giữa các đặc trưng
như Leung. Kendall [2], Mardia and Dryden [3] dùng lý thuyết xác suất thống kê
về hình dáng. Dùng hàm mật độ xác suất (Probility Density Function - PDF) qua
N điểm đặc trưng, tương ứng (xi, yi) là đặc trưng thứ i với giả sử là phân bố
Gauss có 2N-chiều. Các tác giả áp dụng phương thức cực đại khả năng
(Maximum-Likelihood - ML) để xác định vị trí khuôn mặt. Một thuận lợi của
phương pháp này là các khuôn mặt bị che khuất vẫn có thể xác định được. Hạn
chế phương pháp này đó là không xác định được nhiều khuôn mặt trong cùng
một ảnh.
Không dùng phương pháp xác xuất, Sirohey đưa một phương pháp khác
xác định khuôn mặt từ một ảnh có hình nền phức tạp [4]. Phương pháp dựa trên
cạnh. Dùng phương pháp Candy [5] và heuristics loại bỏ các cạnh để còn lại duy
nhất một đường bao xung quanh khuôn mặt. Một hình ellipse dùng để bao khuôn

mặt, tách biệt vùng đầu và hình nền. Tỷ lệ chính xác của thuật toán là 80%.
Graf đưa ra một phương pháp xác định đặc trưng rồi xác định khuôn mặt
trong ảnh xám [6]. Dùng bộ lọc để làm nổi các biên, các phép toán hình thái học
(morphology) được dùng để làm nổi bật các vùng có cường độ cao và hình dáng
chắc chắn (như mắt). Thông qua histogram để tìm các đỉnh nổi bật để xác định
các ngưỡng chuyển ảnh xám thành hai ảnh nhị phân. Các thành phần dính nhau
đều xuất hiện trong hai ảnh nhị phân thì được xem là vùng của ứng viên khuôn
mặt rồi phân loại xem có phải là khuôn mặt không. Phương pháp được kiểm tra
trên các ảnh chỉ có đầu và vai của người. Tuy nhiên phương pháp này còn một
20


vấn đề đấy là sử dụng các phép toán morphology như thế nào và làm sao xác
định khuôn mặt trên các vùng ứng viên.
Park dùng Gaze để tìm ứng viên góc mắt, miệng và tâm mắt. Ông xây dựng
SVM (Support Vector Machine) đã được học trước đó để xác định các vị trí ứng
viên có phải là góc mắt, miệng, và tâm mắt hay không để theo vết con mắt người.
Juan và Narciso xây dựng một không gian màu mới YCg’Cr’ để lọc các
vùng là ứng viên khuôn mặt dựa trên sắc thái của màu da người. Sau khi có ứng
viên, hai ông dùng các quan hệ về hình dáng khuôn mặt, mức độ cân đối của các
thành phần khuôn mặt để xác định khuôn mặt người. Tương tự, Chang và Hwang
cũng dùng không gian mầu Ycg’Cr’ với tỷ lệ chính xác hơn 80% trong ảnh xám.
Jin xây dựng một bộ lọc để xác định ứng viên khuôn mặt người theo màu
da người. Từ ứng viên này tác giả xác định khuôn mặt người theo hình dáng
khuôn mặt và các quan hệ đặc trưng về thành phần khuôn mặt, với mắt phải được
chọn làm gốc tọa độ để xét quan hệ. Tỷ lệ chính xác cho khuôn mặt chụp thẳng
trên 80%.

2.1.2.2 Kết cấu của khuôn mặt
Khuôn mặt con người có những kết cấu riêng biệt mà có thể dùng để phân

loại so với các đối tượng khác. Từ kết cấu của khuôn mặt xây dựng lên một bộ
phân loại, gọi là kết cấu giống khuôn mặt (face-like texture).

2.1.2.3 Màu sắc da
Thông thường các ảnh màu không xác định trực tiếp trên toàn bộ dữ liệu
ảnh mà các tác giả dùng tính chất sắc màu của da người (khuôn mặt người) để
chọn ra được các ứng viên có thể là khuôn mặt người (lúc này dữ liệu đã thu hẹp
đáng kể) để xác định khuôn mặt người.

2.1.2.4 Đa đặc trưng
Gần đây có nhiều nghiên cứu sử dụng các đặc trưng toàn cục như: màu da
người, kích thước, và hình dáng để tìm các ứng viên khuôn mặt, rồi sau đó sẽ xác
21


định ứng viên nào là khuôn mặt thông qua dùng các đặc trưng cục bộ (chi tiết)
như: mắt, lông mày, mũi, miệng, và tóc. Tùy mỗi tác giả sẽ sử dụng tập đặc trưng
khác nhau.

2.1.3 Hướng tiếp cận dựa trên so sánh khớp mẫu
2.1.3.1 Tư tưởng của so sánh khớp mẫu
Trong hướng tiếp cận dựa trên so sánh khớp mẫu, các mẫu chuẩn của khuôn
mặt (thường là khuôn mặt được chụp thẳng) sẽ được xác định trước hoặc được
biểu diễn thành một hàm với các tham số cụ thể. Từ một ảnh đưa vào, tính các
giá trị tương quan so với các mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và
miệng. Thông qua các giá trị tương quan này mà hệ thống sẽ quyết định có hay
không có tồn tại khuôn mặt trong ảnh. Hướng tiếp cận này có lợi thế là rất dễ cài
đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình dáng thay đổi.

2.1.3.2 Xác định các mẫu

Sakai đã cố gắng thử xác định khuôn mặt người chụp thẳng trong ảnh [7].
Ông dùng vài mẫu con (sub template) về mắt, mũi, miệng, và đường viền khuôn
mặt để mô hình hóa một khuôn mặt. Mỗi mẫu con được định nghĩa trong giới
hạn của các đoạn thẳng. Các đường thẳng trong ảnh được trích bằng cách xem
xét thay đổi của hệ số góc và so khớp các mẫu con. Đầu tiên tìm các ứng viên
thông qua mối tương quan giữa các ảnh con và các mẫu về đường viền. Sau đó,
so khớp với các mẫu con khác. Hay nói một cách khác, giai đoạn đầu xem như là
giai đoạn sơ chế để tìm ứng viên, giai đọan thứ hai là giai đoạn tinh chế để xác
định ứng viên có phải là khuôn mặt hay không. Ý tưởng này được duy trì cho đến
các nghiên cứu sau này.
Craw đưa ra một phương pháp xác định khuôn mặt người dựa vào các mẫu
về hình dáng của các ảnh được chụp thẳng (dùng vẻ bề ngoài của hình dáng
khuôn mặt). Đầu tiên dùng phép lọc Sobel (Phép lọc Sobel dựa vào tích vô
hướng của hai vector gradient) để tìm các cạnh. Các cạnh này sẽ được nhóm lại
theo một số ràng buộc. Sau đó, tìm đường viền của đầu, quá trình tương tự được
22


lặp đi lặp lại với mỗi tỷ lệ khác nhau để xác định các đặc trưng khác như: mắt,
lông mày, và môi. Sau đó Craw mô tả một phương thức xác định dùng một tập có
40 mẫu để tìm các đặc trưng khuôn mặt và điều khiển chiến lược dò tìm.
Một số nhà nghiên cứu sử dụng hình chiếu như các mẫu để xác định khuôn
mặt người. Silhouettes dùng PCA (phân tích thành phần chính – Principal
Component Analysis - PCA) để có một tập hình chiếu cơ bản từ các mẫu khuôn
mặt, hình chiếu được mô tả như một mảng các bit. Dùng đặc trưng hình chiếu
riêng kết hợp biến đổi Hough để xác định khuôn mặt người. Sau đó một phương
pháp xác định dựa trên đa loại mẫu để xác định các thành phần của khuôn mặt
được trình bày. Phương pháp này định nghĩa một số giả thuyết để mô tả các khả
năng của các đặc trưng khuôn mặt. Với một khuôn mặt sẽ có một tập giả thuyết,
lý thuyết DepsterShafer. Dùng một nhân tố tin cậy để kiểm tra sự tồn tại hay

không của các đặc trưng của khuôn mặt, và kết hợp nhân tố tin cậy này với một
độ đo để xem xét có hay không có khuôn mặt trong ảnh.
Sinha dùng một tập nhỏ các ảnh bất biến trong không gian ảnh để mô tả
không gian các mẫu ảnh [8, 9]. Tư tưởng chính của ông dựa vào sự thay đổi mức
độ sáng của các vùng khác nhau của khuôn mặt (như hai mắt, hai má, và trán),
(quan hệ về mức độ sáng của các vùng còn lại thay đổi không đáng kể). Sau đấy
xác định các cặp tỷ số của mức độ sáng của một số vùng (một vùng tối hơn hay
sáng hơn) cho ta một lượng bất biến khá hiệu quả. Ông lưu sự thay đổi độ sáng
của các vùng trên khuôn mặt trong một tập thích hợp với các cặp quan hệ sáng
hơn – tối hơn giữa các vùng nhỏ. Một khuôn mặt được xác định nếu nó thỏa mãn
tất cả các cặp sáng hơn – tối hơn. Ý tưởng này xuất phát từ sự khác biệt của
cường độ giữa các vùng kề cục bộ trên ảnh, sau này nó được mở rộng trên cơ sở
biến đổi wavelet để xác định người đi bộ, xác định xe hơi, xác định khuôn mặt. Ý
tưởng của Sinha còn được áp dụng trong các nghiên cứu về thị giác của robot.
Hình 2.3 cho thấy mẫu khuôn mặt với 16 cùng và 23 quan hệ. Các quan hệ này
được dùng để phân loại, có 11 quan hệ thiết yếu (các mũi tên màu đen) và 12
quan hệ xác thực (các mũi tên mầu xám). Mỗi mũi tên là một quan hệ. Một quan
hệ của hai vùng thỏa mãn mẫu khuôn mặt khi tỷ lệ giữa hai vùng vượt qua một
23


ngưỡng và một khuôn mặt được xác đinh khi có 23 quan hệ thỏa mãn điều kiện
trên.

Hình 2.4: Khuôn mặt trong phương pháp định vị khuôn mặt của Sinha
Một số phương pháp khác như của Froba và Zink lọc cạnh ở độ phân giải
thấp rồi dùng biến đổi Hough để so khớp mẫu theo hướng cạnh để xác định hình
dáng khuôn mặt ở dạng chụp hình thẳng ở dạng xám. Tỷ lệ chính xác trên 91%.
Ngoài ra Shu và Jain còn xây dựng ngữ nghĩa khuôn mặt. Ngữ nghĩa xây dựng
theo hình dáng và vị trí các thành phần khuôn mặt. Hai ông từ bộ ngữ nghĩa này

tạo một đồ thị quan hệ để dễ dàng so khớp khi xác định khuôn mặt người.

2.1.3.3 Các mẫu biến dạng
Yuille dùng các mẫu biến dạng để mô hình hóa các đặc trưng của khuôn
mặt [10]. Trong hướng tiếp cận này, các đặc trưng khuôn mặt được mô tả bằng
các mẫu được tham số hóa và có một hàm năng lượng (giá trị) được để liên kết
các cạnh, đỉnh, và thung lũng trong ảnh để tương ứng với các tham số trong mẫu.
Mô hình này tốt nhất khi tối thiểu hàm năng lượng qua các tham số. Mặc dù có
kết quả tốt nhưng phương pháp này có một số hạn chế đó là các mẫu biến dạng
phải được khởi tạo trong phạm vi gần với các đối tượng mà nó xác định.
Rất nhiều hướng tiếp cận dựa trên dường gấp khúc (snake) và các mẫu để
xác định khuôn mặt. Đầu tiên ảnh sẽ được làm xoắn lại bởi một lọc làm mờ rồi
dùng phép toán morphology để làm nổi bật cạnh lên. Tiếp theo dùng một đường
gấp khúc có n điểm ảnh (giá trị n nhỏ) để tìm và ước lượng các đọan cong nhỏ.
24


Mỗi khuôn mặt được xấp xỉ bằng một ellipse và biến đổi Hough, rồi tìm một
ellipse nổi trội nhất. Các ứng viên sẽ có bốn tham số mô tả nột ellipse (để xác
định khuôn mặt). Với mỗi ứng viên, một phương thức tương tự như phương thức
mẫu biến dạng được dùng để xác định các đặc trưng ở mức chi tiết. Nếu tìm thấy
số lượng đáng kể các đặc trưng khuôn mặt và thỏa mãn tỷ lệ cân đối thì xem như
đã xác định được một khuôn mặt. Lam và Yan cũng dùng đường gấp khúc để xác
định vị trí đầu với thuất toán greedy để cực tiểu hóa hàm năng lượng [11].
Thay vì dùng đường gấp khúc thì Huang và Su [12] dùng lý thuyết dòng
chảy để xác định đường viền khuôn mặt dựa trên đặc tính hình học. Hai ông dùng
lý thuyết tập hợp đồng mức (Level Set) để loang từ các khởi động ban đầu để có
được các khuôn mặt người.
Lanitis mô tả một phương pháp biểu diễn khuôn mặt người với cả hai thông
tin: hình dáng và cường độ [13]. Bắt đầu bằng các tập ảnh được huấn luyện với

các đường viền mẫu như là đường bao mắt, mũi, cằm/má đã được gán nhãn
(phân loại). Ông dùng một vector các điểm mẫu để mô tả hình dáng. Sau đó dùng
một mô hình phân bố điểm (Point Distribution Model – PDM) để mô tả vector
hình dáng qua toàn bộ các cá thể. Dùng cách tiếp cận như của Kirby và Sirovich
[14] để mô tả cường độ bề ngoài của hình dáng đã được chuẩn hóa. Để tìm kiếm
và ước lượng vị trí khuôn mặt cũng như các tham số về hình dáng ông sử dụng
một mô hình PDM có hình dáng như khuôn mặt (xác định khuôn mặt bằng mô
hình hình dáng tích cực - Active Shape Model - ASM). Các mảnh của khuôn mặt
được làm biến dạng về hình dáng trung bình rồi trích lấy các tham số cường độ.
Sau đấy các tham số hình dáng và cường độ được dùng để phân loại và xác định
khuôn mặt.

2.1.4 Hướng tiếp cận dựa trên diện mạo
2.1.4.1 Tư tưởng của hướng tiếp cận dựa trên diện mạo
Trái ngược với hướng tiếp cận dựa trên so sánh khớp mẫu (các mẫu đã
được các nhà nghiên cứu định nghĩa trước), các mẫu trong hướng tiếp cận này
được học từ một tập ảnh mẫu. Có thể nói hướng tiếp cận dựa trên diện mạo áp
25


×