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

Hệ thống nhận dạng gương mặt trong video giám sát luận văn thạc sĩ

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.44 MB, 59 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC LẠC HỒNG
***

TRẦN TRUNG KIÊN

HỆ THỐNG NHẬN DẠNG GƢƠNG MẶT
TRONG VIDEO GIÁM SÁT

Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Mã số: 60480201

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC:
TS.TÂN HẠNH

ĐỒNG NAI – 2013


ỜI C M ĐO N

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai
công bố trong bất kỳ công trình nào khác.

Đồng Nai, ngày

tháng

năm 2013



Trần Trung Kiên


iii

LỜI CẢM ƠN

Tôi xin chân thành cảm ơn Trƣờng Đại học Lạc Hồng, Khoa Công nghệ
thông tin, thầy Tiến sĩ Tân Hạnh đã giúp đỡ tạo điều kiện thuận lợi cho tôi trong
quá trình thực hiện luận văn tốt nghiệp này.
Tôi xin cảm ơn Phòng Sau Đại Học – Đại học Lạc Hồng đã tạo điều kiện tốt
nhất cho em có thể học tập nghiên cứu, tiếp cận những kiến thức công nghệ mới.
Xin cảm ơn các thầy cô trong nhà trƣờng đã nhiệt tình giảng dạy em trong suốt thời
gian qua. Đặc biệt, tôi xin gửi lời cảm ơn sâu sắc đến thầy Tiến Sĩ Tân Hạnh đã tận
tình hƣớng dẫn giúp đỡ tôi trong quá trình làm luận văn, để em có thể thực hiện tốt
những yêu cầu đề ra.
Cuối cùng tôi xin cảm ơn gia đình tôi đã làm chỗ dựa tinh thần vững chắc
cho tôi, đó là nguồn động lực lớn giúp tôi vƣợt qua đƣợc những khó khăn trong quá
trình học tập.

XIN CHÂN THÀNH CẢM ƠN!
Đồng Nai, ngày tháng năm 2013

Trần Trung Kiên


iv

MỤC ỤC

LỜI

M ĐO N

LỜI CẢM ƠN
M

L
NH M

K HI U,

NH M

H NH

H

VI T TẮT

MỞ Đ U......................................................................................................................................... 1
hƣơng 1 - TỔNG QUAN ......................................................................................................... 3
1.1

Giới Thiệu ......................................................................................................3

1.2

Ứng Dụng ......................................................................................................7


1.3

Mục tiêu thực hiện của luận văn ....................................................................8

1.4

Phạm vi thực hiện của luận văn .....................................................................8

1.5

Kết luận chƣơng 1 .........................................................................................8

hƣơng 2 - PHÁT HI N KHUÔN MẶT .............................................................................. 9
2.1

Giới thiệu .......................................................................................................9

2.2

ác khó khăn trong việc phát hiện khuôn mặt ..............................................9

2.3

Một số phƣơng pháp phát hiện khuôn mặt ..................................................11

2.3.1

Neural Network.....................................................................................11

2.3.2


Support Vector Machine .......................................................................12

2.3.3

Hidden Markov model (HMM) ............................................................13

2.3.4

Phƣơng pháp dò tìm khuôn mặt dựa trên sắc màu da ...........................14

2.3.4.1 Mô tả phƣơng pháp ...............................................................................14
2.3.4.2 Phạm vi vùng màu da............................................................................16
2.3.5

AdaBoost ..............................................................................................17

2.3.5.1 Đặc trƣng Haar-Like .............................................................................18
2.3.5.2 Cascade of Classifiers ...........................................................................22
2.4

Kết luận chƣơng 2 .......................................................................................23

hƣơng 3 - NHẬN DẠNG GƢƠNG MẶT ........................................................................ 25
3.1

Tổng quan ....................................................................................................25


v


3.2

Eigenfaces ....................................................................................................25

3.2.1

Tính toán eigenfaces .............................................................................26

3.2.2

Cải tiến phƣơng pháp P

...................................................................29

3.2.2.1 Tính toán Eigenvector từ mẫu huấn luyện ............................................30
3.2.2.2 Phép chiếu mẫu huấn luyện vào không gian khuôn mặt ......................31
3.2.2.3 Phép chiếu mẫu kiểm tra vào không gian khuôn mặt ...........................31
3.2.2.4 Phân lớp của mẫu kiểm tra....................................................................32
3.2.3
3.3

Sử dụng eigenfaces để nhận dạng gƣơng mặt ......................................32

Kết luận chƣơng 3 .......................................................................................35

hƣơng 4 - XÂY DỰNG ỨNG D NG ............................................................................... 36
4.1

Giới thiệu .....................................................................................................36


4.2

Mục Tiêu......................................................................................................36

4.3

Kiến trúc hệ thống .......................................................................................36

4.4

Xây dựng giao diện......................................................................................39

4.4.1

Giao diện chƣơng trình .........................................................................39

4.4.2

Giao diện thống kê nhận dạng ..............................................................40

4.5

Thu thập ơ Sở Dữ Liệu .............................................................................41

4.6

Thử nghiệm ứng dụng .................................................................................41

4.6.1


Thử nghiệm với góc nghiêng ................................................................41

4.6.2

Thử nghiệm với độ sáng .......................................................................44

4.6.3

Thử nghiệm với các ngƣỡng .................................................................45

4.6.4

Thử nghiệm với số ảnh trên tập huấn luyện .........................................46

4.7

Kết luận chƣơng 4 .......................................................................................46

hƣơng 5 - K T LUẬN ........................................................................................................... 48
5.1

Kết quả đạt đƣợc ..........................................................................................48

5.2

Hạn chế ........................................................................................................48

5.3


Hƣớng phát triển ..........................................................................................48

DANH M C TÀI LI U THAM KHẢO


vi

NH MỤC C C

CÁC CH

HIỆU C C CH

VI T TẮT

VI T TẮT

Chữ viết tắt
ATM
CSDL
HMM
PCA
SVM

Viết đầy đủ
Automatic Teller Machine
ơ sở dữ liệu
Hidden Markov Model
Pricipal Component Analysis
Support Vector Machine


Nghĩa tiếng việt
Máy rút tiền tự động
ơ sở dữ liệu
Mô hình ẩn Markov
Phân tích thành phần chính
Máy vector hỗ trợ


vii

NH MỤC C C H NH
Hình 1.1 Ứng dụng nhận dạng trong ID card [19] ......................................................3
Hình 1.2 Ứng dụng nhận dạng trong điều khiển truy cập (access control) [20] .........4
Hình 1.3 Ứng dụng khác của hệ thống nhận dạng [20] ..............................................4
Hình 1.4 Mô hình hệ thống. ........................................................................................6
Hình 1.5 Xử lý khuôn mặt...........................................................................................6
Hình 1.6 Mô hình ứng dụng. .......................................................................................7
Hình 2.1 Phát hiện khuôn mặt [17] .............................................................................9
Hình 2.2 Các trạng thái khuôn mặt [18]....................................................................10
Hình 2.3 Mạng Neural [8] .........................................................................................11
Hình 2.4 Minh họa thuật toán SVM, dữ liệu đầu vào (a), và kết quả (b) [5]...........13
Hình 2.5 Phƣơng pháp dò tìm khuôn mặt trên ảnh đã phân ngƣỡng ........................15
Hình 2.6 Hoạt động theo kĩ thuật boosting ...............................................................18
Hình 2.7 Egde feature – Haar-like cơ bản [9] ...........................................................19
Hình 2.8 Line feature – Haar-like cơ bản [9] ............................................................19
Hình 2.9 Diagona line feature – Haar-like cơ bản [9]..............................................19
Hình 2.10 Ví dụ đặc trƣng Haar-like [9] ...................................................................20
Hình 2.11 Egde features – Haar-like mở rộng [9] ....................................................20
Hình 2.12 Egde features – Haar-like mở rộng [9] ....................................................20

Hình 2.13 Center-surround features – Haar-like mở rộng [9] ..................................21
Hình 2.14 Special Diagona line feature – Haar-like Mở rộng [9] ...........................21
Hình 2.15 Integral Image .........................................................................................21
Hình 2.16 Tính các giá trị mức xám của vùng D ......................................................22
Hình 2.17 Cascade of classifiers ...............................................................................23
Hình 3.1 Hai giai đoạn chính của phƣơng pháp P ...............................................26
Hình 3.2 Ảnh huấn luyện ( ơ sở dữ liệu Yale) [15].................................................27
Hình 3.3 Ảnh trung bình [15] ....................................................................................28
Hình 3.4 Eigenvectors [15] .......................................................................................29
Hình 3.5 Cải tiến phƣơng pháp P
........................................................................30
Hình 3.6 Face reconstruction [15] .............................................................................33
Hình 3.7 Eigenfaces trong nhận dạng gƣơng mặt [7] ...............................................34
Hình 3.8 Hình ảnh khuôn mặt trong điều kiện ánh sáng khác nhau [2] ...................35
Hình 4.1 Kiến trúc hệ thống nhận dạng ....................................................................37
Hình 4.2 Huấn luyện từ ảnh ......................................................................................39
Hình 4.3 Nhận dạng từ video ....................................................................................40
Hình 4.4 Giao diện màn hình báo cáo. ......................................................................40


viii

Hình 4.5 Bộ dữ liệu huấn luyện ................................................................................42
Hình 4.6 Nhận dạng gƣơng mặt nhìn thẳng ..............................................................42
Hình 4.7 Nhận dạng gƣơng mặt nhìn nghiêng ..........................................................43
Hình 4.8 Độ chính xác dựa vào góc nghiêng của khuôn mặt. ..................................43
Hình 4.9 nhận dạng với nguồn sáng từ mặt trời........................................................44
Hình 4.10 Nhận dạng với nguồn sáng từ đèn điện. ...................................................45
Hình 4.11 Thực nghiệm số ảnh huấn luyện ..............................................................46



1

MỞ ĐẦU

Trƣớc sự phát triển của các thiết bị media, camera, smartphone, hay máy
ảnh, dữ liệu ở dạng video ngày càng nhiều, do đó đặt ra nhiều thách thức cho các
nhà phát triển, quản lý, làm cách nào để có thể khai thác dữ liệu trong các video này
hiệu quả. Một trong những yêu cầu đặt ra là làm sao có thể nhận dạng một đối
tƣợng trong một video. Điều này không hề dễ dàng, để có thể nhận dạng chính xác
đƣợc một đối tƣợng trong hình ảnh bình thƣờng đã khó, nhận dạng đối tƣợng trong
video còn khó hơn. Video đƣợc tạo ra từ rất nhiều hình ảnh, vấn đề đặt ra là làm sao
có thể tách đƣợc những bức ảnh từ video có nội dung mà ngƣời sử dụng đang quan
tâm.
Luận văn sẽ tập trung vào việc ứng dụng nhận dạng gƣơng mặt trong video
giám sát. Việc nhận dạng đối tƣợng trong video sẽ đƣợc ứng dụng rộng rãi trong
các lĩnh vực:
• Bảo mật các hệ thống thông qua nhận dạng gƣơng mặt, I

cards, điều

khiển truy cập (access control)
• Ứng dụng trong việc rút tiền ở các máy ATM thông qua việc nhận dạng
gƣơng mặt.


ó thể dùng để chấm công trong các công ty, xƣởng sản xuất.




ùng để nhận dạng tội phạm, các đối tƣợng tình nghi qua các camera giám

sát.
• Ứng dụng trong việc điểm danh tự động cho các công ty, trƣờng học.
Ta có thể thấy việc nhận dạng đối tƣợng trong video nói chung và nhận dạng
gƣơng mặt trong video nói riêng có ý nghĩa quan trọng trong tƣơng lai. Và đây cũng
là hƣớng luận văn mà tôi sẽ trình bày trong luận văn này.


2

Nội dung luận văn sẽ tập trung vào giải quyết các vấn đề nhƣ làm sao có thể
phải hiện và nhận dạng đối tƣợng trong video, cũng nhƣ việc làm sao có thể phát
hiện khuôn mặt và nhận dạng gƣơng mặt của một ngƣời nào đó theo thời gian thực
dựa vào các video giám sát.
Luận văn được chia thành 5 phần như sau:
hƣơng 1: Tổng quan.
hƣơng 2: Phát hiện khuôn mặt.
hƣơng 3: Nhận dạng gƣơng mặt.
hƣơng 4: Xây dựng ứng dụng.
hƣơng 5: Kết luận


3

Chƣơng 1 - TỔNG QUAN
1.1 Giới Thiệu
Nhƣ trình bày đã đƣợc đề cập ở phần mở đầu, ứng dụng của việc nhận dạng
gƣơng mặt trong cơ sở dữ liệu video là rất lớn, nó có thể áp dụng tại các nơi công
cộng để giám sát cũng nhƣ có thể tự động nhận dạng đối tƣợng (hình 1.2), hay có

thể ứng dụng trong công việc bảo mật (hình 1.1), chấm công, nhận dạng thí sinh,
kiểm tra hộ chiếu (hình 1.3)…

Hình 1.1 Ứng dụng nhận dạng trong ID card [19]


4

Hình 1.2 Ứng dụng nhận dạng trong điều khiển truy cập (access control) [20]

Hình 1.3 Ứng dụng khác của hệ thống nhận dạng [20]


5

Các thuật toán phát hiện khuôn mặt hay nhận dạng gƣơng mặt hiện nay phần
lớn đều áp dụng cho ảnh tĩnh, do đó để có thể áp dụng cho video thì cần thiết phải
tìm cách lấy các ảnh tĩnh từ video. Video thực chất đƣợc tạo từ các khung hình
(frame) liên tiếp, do đó nếu tách các frame này thành các ảnh tĩnh thì có thể áp dụng
các phƣơng pháp nhận dạng cho ảnh tĩnh trên video.
Sau khi có đƣợc các frame chứa đối tƣợng khuôn mặt mà ngƣời sử dụng
quan tâm, ứng dụng sẽ tiến hành xác định vị trí khuôn mặt trong các frame này.
Trong một frame có thể có một hay nhiều khuôn mặt, do đó cần phải xác định đƣợc
hết tất cả các khuôn mặt. Có nhiều phƣơng pháp để xác định khuôn mặt trong đó
phổ biến nhƣ: Neural Network, Support Vector Machine, Hidden Markov Model,
AdaBoost, … luận văn sẽ tìm hiểu những kĩ thuật này ở trong Chƣơng 2: Phát hiện
khuôn mặt. Việc xác định khuôn mặt là một phần quan trọng trong việc nhận dạng,
nếu việc xác định khuôn mặt không chính xác có thể sẽ dẫn đến bỏ sót một số
khuôn mặt trong hình, hay xác định những hình ảnh không phải khuôn mặt là khuôn
mặt.


hƣơng tiếp theo và cũng là phần quan trọng nhất trong quá trình nhận dạng

gƣơng mặt dựa trên video là quá trình nhận dạng gƣơng mặt. Quá trình nhận dạng
gƣơng mặt sẽ dựa vào kết quả của quá trình phát hiện khuôn mặt. Dựa vào những
hình ảnh đƣợc cho là khuôn mặt, ứng sẽ xác định xem khuôn mặt này có trong cơ
sở dữ liệu hay không, nếu có thì phải xác định đƣợc các thông tin về ngƣời có
khuôn mặt này. ó hai phƣơng pháp để nhận dạng gƣơng mặt phổ biến hiện nay là
Eigenface và Fisherface, mỗi cách có những ƣu và nhƣợc điểm riêng. Luận văn sẽ
tìm hiểu về cách nhận dạng gƣơng mặt trong Chƣơng 3: nhận dạng gƣơng mặt. Từ
kết quả của chƣơng 2 và chƣơng 3, hƣơng 4: Xây dựng ứng dụng sẽ nêu lên các
đề của việc xây dựng ứng dụng nhận dạng gƣơng mặt trong video giám sát.
Hình 1.4 mô tả mô hình của hệ thống nhận dạng, trong hình ta có hai phần
chính: phần thứ nhất là phát hiện khuôn mặt và phần thứ hai là xử lý khuôn mặt.


6

Hình 1.4 Mô hình hệ thống.

Trong phần xử lý khuôn mặt ta sẽ có các bƣớc chính nhƣ: xác định khuôn
mặt, lọc các tính chất đặc trƣng, nhận dạng gƣơng mặt (hình 1.5).

Hình 1.5 Xử lý khuôn mặt.


7

1.2 Ứng Dụng
Trong phần ứng dụng của luận văn sẽ xây dựng một ứng dụng có các chức

năng nhƣ nhận dạng gƣơng mặt trong video thu đƣợc dựa trên cơ sở dữ liệu xây
dựng sẵn hay dữ liệu đƣợc huấn luyện trực tiếp, thống kê thời gian mà đối tƣợng
xuất hiện trong video… ứng dụng này (hình 1.6) có thể đƣợc sử dụng cho việc
chấm công, điểm danh cho các công ty, trƣờng học.

Hình 1.6 Mô hình ứng dụng.


8

1.3 Mục tiêu thực hiện của luận văn
Luận văn “Hệ thống nhận dạng gƣơng mặt trong video giám sát” hƣớng tới
một chƣơng trình có chức năng phát hiện ra khuôn mặt ngƣời và nhận dạng ra đó là
ai thông qua các phƣơng pháp phát hiện và nhận dạng. Thông qua các thƣ viện mã
nguồn mở của EmguCV, phƣơng pháp nhận dạng và ngôn ngữ C# luận văn muốn
xây dựng một chƣơng trình có thể nhận dạng đƣợc gƣơng mặt ngƣời thông qua
camera hay video theo thời gian thực.

1.4 Phạm vi thực hiện của luận văn
Với mục tiêu đã đề ra ở trên, luận văn chỉ thực hiện những vấn đề sau:
-

Đối tƣợng nghiên cứu là các phƣơng pháp phát hiện mặt ngƣời qua đó lựa
chọn một phƣơng pháp phù hợp. Tìm hiểu và đề xuất một phƣơng pháp
nhận dạng cụ thể.

-

Nghiên cứu và sử dụng công cụ EmguCV ứng dụng các đặc trƣng Haar like trên nền tảng C# và thuật toán Adaboost nhằm nâng cao tốc độ phát
hiện khuôn mặt.


-

Phạm vi thực hiện: trên camera và video giám sát theo thời gian thực.

1.5 Kết luận chƣơng 1
Với các vấn đề đã nêu ở trên, luận văn đã sơ lƣợc nêu ra việc phát hiện và
nhận dạng mặt ngƣời với những ứng dụng trong thực tế. Đồng thời cũng nêu ra mục
tiêu và phạm vi thực hiện của luận văn. Khi đầu vào từ camera hay file video đã
đƣợc chuẩn bị thì giai đoạn phát hiện ra các khuôn mặt là rất quan trọng vì cần một
phƣơng pháp phát hiện khuôn mặt hiệu quả tránh bỏ sót. Các vấn đề về phát hiện
khuôn mặt sẽ đƣợc luận văn trình bày trong chƣơng 2: Phát hiện khuôn mặt.


9

Chƣơng 2 - PH T HIỆN

HUÔN MẶT

2.1 Giới thiệu
Bài toán phát hiện khuôn mặt đã đƣợc nghiên cứu từ khá lâu, và đã có rất
nhiều phƣơng pháp đƣợc đƣa ra, ban đầu chỉ tập trung vào xác định khuôn mặt
ngƣời nhìn thẳng, với điều kiện ánh sáng ổn định nhƣ một số thiết bị thu hình kỹ
thuật số hiện tại (hình 2.1), nhƣng thời gian gần đây các nhà nghiên cứu đã và đang
tìm cách để có thể phát hiện khuôn mặt trong những điều kiện khác nhau nhƣ gƣơng
mặt bị nghiêng, điều kiện ánh sáng kém...

Hình 2.1 Phát hiện khuôn mặt [17]


2.2 Các khó khăn trong việc phát hiện khuôn mặt
Việc phát hiện khuôn mặt đối với con ngƣời là một dễ dàng, nhƣng sẽ rất
khó để xây dựng một hệ thống tự phân loại mà có thể phát hiện đƣợc các khuôn mặt
trong một bức hình với các điều kiện khác nhau. Đối tƣợng khuôn mặt rất khó phát
hiện đối với máy tính vì nó có rất nhiều trạng thái khác nhau, không chỉ phụ thuộc
vào trạng thái của khuôn mặt nhƣ vui, buồn, ... mà nó còn phụ thuộc vào cả các yếu
tố bên ngoài nhƣ nguồn sáng, thời tiết ... Chúng ta sẽ xem xét một số yếu tố chính
ảnh hƣởng tới việc phát hiện khuôn mặt.


10

 Vị trị của khuôn mặt: vị trị của ngƣời ở trƣớc camera quyết định đến góc
nhìn của khuôn mặt, đó có thể là góc nhìn thẳng, nghiêng... đối với các
phƣơng pháp hiện nay với khuôn mặt có góc nhìn thẳng sẽ cho kết quả
tốt nhất, nếu khuôn mặt bị nghiêng nhiều quá thì sẽ không thể phát hiện
đƣợc.
 Trạng thái của khuôn mặt: trạng thái của khuôn mặt phụ thuộc vào tâm
trạng của con ngƣời, cùng một ngƣời nhƣng khi chúng ta cƣời và khi
chúng ta khóc có sự khác nhau rất lớn (hình 2.2).


ác đối tƣợng khác trên khuôn mặt: việc một ngƣời có đeo kính và
không đeo kính cũng ảnh hƣởng rất lớn tới kết quả của việc phát hiện.
Khi chúng ta mang kính thì sẽ khó khăn hơn trong việc phát hiện ra cặp
mắt. Bên cạnh đó việc có râu quai nón hay tóc cũng là các yếu tố làm sai
sót trong quá trình thực hiện.

 Nội dung của hình ảnh: các yếu tố nhƣ ánh sáng, chất lƣợng hình ảnh
cũng cần đƣợc xem xét, chúng ta chỉ có thể đƣa ra kết quả chính xác khi

bức hình có đủ độ sáng, độ phân giải phải ở một mức độ cho phép không
đƣợc quá thấp.

Hình 2.2 Các trạng thái khuôn mặt [18]


11

2.3 Một số phƣơng pháp phát hiện khuôn mặt
2.3.1 Neural Network
Mạng neural đƣợc phát triển bởi Rowley [3] [15], nó sử dụng một cửa sổ để
quét toàn bộ bức hình và quyết định xem vùng cửa sổ đang quét có phải là khuôn
mặt hay không. Ngoài ra mạng neural [13] còn đƣợc áp dụng khá thành công trong
các bài toán nhận dạng mẫu nhƣ: nhận dạng ký tự, đối tƣợng.
Để có thể phát hiện đƣợc khuôn mặt, mạng neural cần phải đƣợc huấn luyện
từ các tập dữ liệu mẫu, việc huấn luyện cho mạng neural không phải là việc đơn
giản đặc biệt là trong việc biểu thị ảnh không phải là khuôn mặt. Dữ liệu huấn luyện
cho mạng neural gồm hai tập, một tập gồm các ảnh có chứa khuôn mặt, và một tập
gồm các ảnh không chứa khuôn mặt. Đầu vào của mạng neural là một vùng ảnh có
kích thƣớc 20x20 pixel, dựa vào vùng ảnh này mạng neural sẽ tính toán và cho giá
trị đầu ra trong khoảng từ -1 đến 1, biểu thị có hay không khuôn mặt trong vùng ảnh
nhận đƣợc. Vì khuôn mặt trong ảnh có thể lớn hơn kích thƣớc 20x20 pixel do đó,
ảnh đầu vào sẽ đƣợc giảm kích thƣớc đi nhiều lần theo dạng hình chóp nhƣ hình
minh hoạ bên dƣới (hình 2.3).

Hình 2.3 Mạng Neural [8]


12


2.3.2 Support Vector Machine
Support Vector Machine (SVM) đƣợc giới thiệu bởi Vapnik [5], đây là một
phƣơng pháp học có giám sát, phƣơng pháp này cho độ chính xác cao với lƣợng dữ
liệu lớn. Support Vector Machine dùng huấn luyện để phân loại theo hàm đa thức,
và sử dụng quy nạp để tối thiểu lỗi xảy ra trong quá trình huấn luyện. Với một tập
dữ liệu huấn luyện đầu vào, thuật toán học của Support Vector Machine sẽ phân
mỗi mẫu huấn luyện vào một trong hai loại, khuôn mặt và không phải khuôn mặt
(hình 2.4a). Với một mẫu dữ liệu mới, Support Vector Machine sẽ biểu diễn mẫu
này giống nhƣ một điểm ở trong không gian, trong quá trình huấn luyện, Support
Vector Machine sẽ chia các mẫu thành hai vùng càng cách xa nhau càng tốt (hình
2.4b), mẫu mới sẽ đƣợc quyết định thuộc loại nào dựa vào điểm thể hiện nó trong
không gian thuộc vùng nào.

(a)


13

(b)
Hình 2.4 Minh họa thuật toán SVM, dữ liệu đầu vào (a), và kết quả (b) [5]

2.3.3 Hidden Markov model (HMM)
Hidden Markov Model [12] đƣợc sử dụng để phát hiện khuôn mặt và nhận
dạng gƣơng mặt. Khuôn mặt có thể đƣợc chia thành nhiều vùng khác nhau nhƣ trán,
mắt, mũi, miệng và cằm, đƣợc xuất hiện theo một thứ tự nhất định khi xét từ trên
xuống hay từ dƣới lên trên. o đó ta có thể phát hiện khuôn mặt bằng cách xem xét
các vùng đặc trƣng của khuôn mặt theo một trình tự nhất định.

ác phƣơng pháp


xác định khuôn mặt dựa vào HMM sẽ xem một mẫu khuôn mặt nhƣ là một tập các
vector quan sát, các vector quan sát sẽ chứa một dãy các điểm ảnh. Khi một bức
hình đƣợc đƣa vào, nó sẽ đƣợc quét theo một thứ tự nhất định và một vector giám
sát đƣợc hình thành từ một khối các pixel. Dữ liệu ảnh đƣợc thể hiện bằng phân bố
Gauss nhiều biến, trạng thái của kết quả đầu ra sẽ phụ thuộc vào vector giám sát
đang thuộc lớp nào. Một số phƣơng pháp sử dụng HMM đã đƣợc phát triển bởi
Samaria và Young hay Rajagopolan.


14

2.3.4 Phương pháp dò tìm khuôn mặt dựa trên sắc màu da
2.3.4.1 Mô tả phƣơng pháp
Mục đích của việc xác định các điểm ảnh màu da ngƣời là phân ngƣỡng tách
các điểm ảnh thuộc vùng da ngƣời trong ảnh. Từ ảnh đƣợc phân ngƣỡng ta có thể
áp dụng các thuật toán dò tìm để xác định vị trí của khuôn mặt trong ảnh. Thông
thƣờng để giải quyết vấn đề trên, ngƣời ta xem xét một độ đo để đo khoảng cách
các điểm ảnh màu đến sắc thái của màu da.
Phƣơng pháp dò tìm khuôn mặt dựa trên sắc màu da gồm có 3 giai đoạn nhƣ
sau:
1. Xây dựng mô hình màu da ngƣời
2. Phân ngƣỡng tách các điểm ảnh màu da ngƣời ra khỏi các màu khác trong
ảnh. I(x,y)=1 nếu là màu da, ngƣợc lại bằng 0.
3. Dò tìm các khuôn mặt trong ảnh đã đƣợc phân ngƣỡng.
Việc dò tìm khuôn mặt trong ảnh đã đƣợc phân ngƣỡng tƣơng đối đơn giản.
Định nghĩa min_size và max_size là kích thƣớc nhỏ nhất và lớn nhất của cửa sổ
bao khuôn mặt (chỉ dò tìm các khuôn mặt có kích thƣớc trong khoảng [min_size,
max_size]). Ảnh sau khi phân ngƣỡng đƣợc quét theo từng dòng, đến khi gặp vị
trí nghi ngờ có khuôn mặt (gặp một đƣờng ngang có kích thƣớc thuộc khoảng
[min_size, max_size]) thì: 1.


ò lên phía trên để xác định biên trên của khuôn

mặt, 2. Dò xuống dƣới để xác định biên dƣới và hai bên của khuôn mặt (hình 2.5).


15

Đƣờng có khả
năng thuộc
khuôn mặt

Điều kiện định nghĩa khuôn mặt

Hình 2.5 Phƣơng pháp dò tìm khuôn mặt trên ảnh đã phân ngƣỡng

Sau đó kiểm tra điều kiện định nghĩa khuôn mặt của khu vực vừa dò tìm đƣợc.
Nếu kiểm tra điều kiện đúng:
1. Khu vực đó đƣợc xác định là khuôn mặt,
2. Xoá vùng dò tìm đƣợc,
3.Tiếp tục dò tìm đến các vị trí tiếp theo.
Vấn đề đặt ra của phƣơng pháp này là làm sao để xây dựng mô hình màu da
ngƣời có độ chính xác cao? Giải pháp nào để khắc phục những màu nền có cùng
sắc màu với màu da ngƣời?
Phƣơng pháp này có ƣu điểm là tốc độ dò tìm nhanh, đáp ứng xử lý thời gian
thực. Đối với các khu vực có môi trƣờng xung quanh không phức tạp (trong các
phòng, các vị trí đƣợc thiết kế sẵn nền,…) thì hệ thống này triển khai rất hiệu quả.
Tuy nhiên với môi trƣờng tự nhiên thì phƣơng pháp này có độ chính xác không
cao.



16

Hiện nay có rất nhiều các nghiên cứu xây dựng mô hình màu da ngƣời nhƣ thu
thập và xác định một số khoảng biến thiên của da ngƣời, dựa trên phân bố Gauss,
xác suất điều kiện, lý thuyết Bayes, xây dựng ngƣỡng dựa trên các kỹ thuật:
Goodness- of- fit, cực đại hoá khả năng, khoảng cách Mahalanobis, Histogram,
cực đại triển vọng, dùng mạng Neural đã đƣợc huấn luyện, hoặc kết hợp nhiều
phƣơng pháp…

2.3.4.2 Phạm vi vùng màu da
Một phƣơng thức cơ bản là xây dựng một số điều kiện biên để kiểm tra một
điểm ảnh có thuộc điều kiện đó thì điểm ảnh đó có thể là da ngƣời. Có nhiều cách
để xây dựng, có thể thu thập các điểm ảnh mình biết chắc là da ngƣời rồi từ đó
xây dựng điều kiện. Có rất nhiều nghiên cứu theo hƣớng này và cho kết quả khả
quan.

ƣới đây là một số công thức thực nghiệm để đánh giá điểm ảnh có cùng

kết quả với màu da ngƣời [13]:
R  95 & G  40 & B  20

max{R, G, B} - min{R, G, B}  15
| R - G | 15 & R  G & R  B

Y  45 & Y  252

Cb  -60 & Cb  10.3
Cr  10 & Cr  60



(2.1)

(2.2)

Tuy nhiên các giá trị biên này không hoàn toàn chính xác, mà còn phụ thuộc
rất nhiều vào thiết bị, điều kiện môi trƣờng nhƣ: ánh sáng, khung cảnh xung
quanh, quần áo đang mặc,… Nếu muốn độ chính xác cao thì phải càng nhiều điều
kiện, nếu càng nhiều điều kiện thì càng phức tạp khi tính toán.
- Phân tích ảnh trên các không gian màu để xác định mô hình màu da ngƣời,
kết hợp với phƣơng pháp dựa trên các kết quả thực nghiệm về phân bố của màu da
và không phải sắc màu da để phân đoạn tách khuôn mặt ra khỏi màu nền. Theo


17

một số các kết quả thực nghiệm các điểm ảnh có sắc màu da ngƣời có phạm vi
nhƣ sau:
Trong không gian màu YCbCr: {138< Cr< 178; 299 < Cb+ 0.6Cr < 215} với
0≤ b, r≤ 255.
Trong không gian màu HSL: theo các kết quả nghiên cứu các màu có giá trị
nằm trong dải màu từ đỏ tƣơi đến màu vàng có sắc màu da.
Theo một kết quả nghiên cứu cho kết quả khá tốt dùng công thức sau để xác
định khoảng thuộc màu da ngƣời:
I = [L(R) + L(B) + L(G)] / 3
Rg = L(R) - L(G)
By = L(B) - [L(G) +L(R)] / 2
Trong đó L là hàm log10;
hue = atan2(Rg,By) * (180 / PI)
Theo công thức trên thì các màu có giá trị I và hue có cùng sắc màu với màu

da thuộc khoảng giá trị sau:
{ I <= 5 && hue >= 4 && hue <= 255 }

2.3.5 AdaBoost
AdaBoost đƣợc Viola và Jones [11] [14] sử dụng và kết hợp cùng với
cascade để xác định khuôn mặt với các đặc trƣng dạng wavelet-like. Đây là phƣơng
pháp cho kết quả nhanh và vẫn còn đƣợc sử dụng đến bây giờ, nó đáp ứng đƣợc yêu
cầu về thời gian thực cho các ứng dụng phát hiện và nhận dạng gƣơng mặt, phƣơng
pháp này có thể xử lý đƣợc 15 khung hình với kích thƣớc 384x288 pixel trong một
giây với bộ xử lý Intel Pentium 700 MHz.
AdaBoost hoạt động dựa trên nguyên lý tạo ra các strong classifier (phân lớp
mạnh) từ các weak classifier (phân lớp yếu) kết hợp với các đặc trƣng haar-like.
AdaBoost sử dụng một trọng số weight để đánh dấu các mẫu khó nhận dạng và cập
nhật lại trọng số cho các mẫu trong quá trình tạo các weak classifier, ứng với mỗi


×