Tải bản đầy đủ (.doc) (90 trang)

Phát triển và xây dựng ứng dụng phát hiện khuôn mặt dựa trên màu da

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 (4.27 MB, 90 trang )

LỜI NÓI ĐẦU
Gần đây, lĩnh vực nhận dạng đang dành được nhiều sự quan tâm nghiên cứu và thử
nghiệm như nhận dạng khuôn mặt, nhận dạng vân tay, giọng nói, mắt,... Trong đó
nhận dạng khuôn mặt chiếm một vị trí khá quan trọng. Nhận dạng khuôn mặt được
ứng dụng trong nhiều lĩnh vực như: hình sự (nhận dạng tội phạm), các hệ thống an
toàn, bảo mật (dùng xác nhận các nhân viên của tổ chức), và nhiều lĩnh vực khác
nữa.
Trong nhận dạng khuôn mặt, đầu tiên ta phải lấy các khuôn mặt ra một cách thủ
công, rồi sau đó đem đi nhận dạng xem đó là ai. Để việc nhận dạng khuôn mặt
được thực hiện một cách tự động, tức là đưa vào một bức ảnh phải xác định xem
trong ảnh có những ai, rõ ràng cần thực hiện một bước trước đó là phát hiện
khuôn mặt.
Việc phát hiện khuôn mặt còn được ứng dụng trong đếm số người. Bao nhiêu khuôn
mặt được phát hiện là có bấy nhiêu người. Việc đếm số người có ý nghĩa trong giao
thông (xác định lưu lượng người qua lại trên đường), trong thương mại (xác định
số lượng khách hàng ra vào siêu thị),...

Trang 1/90


MỤC LỤC
DANH MỤC HÌNH VẼ....................................................................................8
CHƯƠNG 1: TỔNG QUAN PHÁT HIỆN MẶT NGƯỜI........................10
1.1. Tổng quan....................................................................................................10
1.2. Giới thiệu về một số hệ màu.......................................................................11
1.2.1. Hệ màu HSV..........................................................................................11
1.2.2. Hệ màu HSL...........................................................................................14
1.2.3. Hệ màu YCrCb.......................................................................................16
1.3. Một số phương pháp phát hiện mặt người dựa trên đặc trưng và trên
màu da................................................................................................................17
1.3.1. Phương pháp dựa trên màu da và thông tin biên của K. Sandeep và A.N.


Rajagopalan......................................................................................................17
1.3.1.1. Xác định 1 điểm có là màu da hay không........................................17
1.3.1.2. Xác định vị trí và kích thước các vùng trong ảnh màu da (A3)........18
1.3.1.3. Quyết định có phải là vùng mặt hay không......................................19
1.3.1.4. Kết quả thử nghiệm..........................................................................19
1.3.1.5. Đánh giá...........................................................................................20
1.3.2. Phương pháp dựa trên nhiều chứng cứ của Manoj Seshadrinathan và
Jezekiel Ben – Arie...........................................................................................21
1.3.2.1. Xác định màu da..............................................................................21
1.3.2.2. Dựa trên hình dạng..........................................................................22
1.3.2.3. Dùng các bộ lọc Gabor....................................................................22
1.3.2.4. Tổng hợp các kết quả.......................................................................23
1.3.2.5. Kết quả thực hiện.............................................................................24
1.3.2.6. Đánh giá...........................................................................................25
1.3.3. Phương pháp sử dụng khoảng cách Hausdorff của Oliver Jesorsky,
Klaus J. Kirchberg và Robert W. Frischholz....................................................25
1.3.3.1. Khoảng cách Hausdorff...................................................................25
1.3.3.2. Kĩ thuật phát hiện đối tượng dựa trên mô hình................................26
1.3.3.3. Quá trình thực hiện phát hiện mặt người..........................................27
1.3.4. Phương pháp dựa trên phân tích bó sóng (wavelet packet analysis) của C.
Garcia, G. Zikos, G. Tziritas............................................................................27
1.3.4.1. Xác định các vùng có màu da mặt...................................................28
1.3.4.2. Xác định các ứng cử viên vùng mặt.................................................29
1.3.4.3. Phân lớp các ứng cử viên dựa vào phân tích bó sóng.......................30
1.3.4.4. Kết quả thử nghiệm..........................................................................32
1.3.5. Phương pháp sử dụng các khung sóng (wavelet frames) của C. Garcia, G.
Simandiris và G. Tziritas..................................................................................33
1.3.5.1. Tổng quan........................................................................................33
1.3.5.2. Xác định các thành phần trên khuôn mặt (2 mắt, mũi, miệng).........33
1.3.5.3. Mô hình hóa khuôn mặt bằng một mẫu biến đổi..............................34

Trang 2/90


1.3.5.4. Phân lớp nội dung mẫu....................................................................36
1.3.5.5. Kết quả thực nghiệm........................................................................37

CHƯƠNG 2: PHÁT HIỆN MẶT NGƯỜI DỰA TRÊN MÀU DA...........39
2.1. Nội dung phương pháp...............................................................................39
2.2. Chi tiết các bước..........................................................................................40
2.2.1. Phát hiện màu da....................................................................................40
2.2.1.1. Công thức màu da............................................................................41
2.2.1.2. Histogram..........................................................................................43
2.2.1.3. Kết hợp 2 tiêu chí.............................................................................44
2.2.2. Lọc nhiễu................................................................................................46
2.2.3. Xác định các vùng trắng.........................................................................47
2.2.3.1. Thuật toán phân vùng cơ bản...........................................................48
2.2.3.2. Thuật toán phân vùng nâng cao.......................................................54
2.2.4. Phân loại các vùng trắng.........................................................................57

CHƯƠNG 3: CÁC CÔNG CỤ ĐƯỢC XÂY DỰNG.................................61
3.1. Công cụ lấy khuôn mặt...............................................................................61
3.1.1. Mục đích................................................................................................61
3.1.2. Các chức năng........................................................................................61
3.1.3. Giao diện................................................................................................62
3.1.4. Chi tiết các chức năng............................................................................63
3.1.4.1. Lấy khuôn mặt từ file ảnh................................................................63
3.1.4.2. Lấy khuôn mặt từ file phim..............................................................65
3.2. Công cụ tổng hợp histogram......................................................................66
3.2.1. Mục đích................................................................................................66
3.2.2. Các chức năng........................................................................................66

3.2.3. Giao diện................................................................................................67
3.2.4. Chi tiết các chức năng............................................................................68

CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH VÀ MỘT SỐ KẾT QUẢ
MINH HỌA...................................................................................................70
4.1. Mục đích......................................................................................................70
4.2. Các chức năng.............................................................................................70
4.3. Giao diện chương trình...............................................................................71
4.4. Các kĩ thuật xử lý........................................................................................72
4.4.1. Thu hình từ camera.................................................................................72
4.4.2. Phát 1 file phim......................................................................................74
4.4.2.1. Khởi tạo cho phim...........................................................................74
4.4.2.2. Lấy frame.........................................................................................78
4.4.3. Chạy bất đồng bộ....................................................................................80
4.5. Các lớp được xây dựng...............................................................................82
4.5.1. YPrPb.....................................................................................................82
4.5.1.1. Mục đích..........................................................................................82
Trang 3/90


4.5.1.2. Các thuộc tính..................................................................................82
4.5.1.3. Các phương thức...............................................................................82
4.5.1.4. Vị trí.................................................................................................83
4.5.2. HSV........................................................................................................83
4.5.2.1. Mục đích..........................................................................................83
4.5.2.2. Các thuộc tính..................................................................................84
4.5.2.3. Các phương thức..............................................................................84
4.5.2.4. Vị trí.................................................................................................84
4.5.3. Vùng trắng..............................................................................................84
4.5.3.1. Mục đích..........................................................................................85

4.5.3.2. Các thuộc tính..................................................................................85
4.5.3.3. Các phương thức..............................................................................85
4.5.3.4. Vị trí.................................................................................................86
4.5.4. Bộ lọc phân vùng....................................................................................86
4.5.4.1. Mục đích..........................................................................................86
4.5.4.2. Các thuộc tính..................................................................................86
4.5.4.3. Các phương thức..............................................................................86
4.5.4.4. Vị trí.................................................................................................87
4.5.5. Bộ phát hiện mặt....................................................................................87
4.5.5.1. Mục đích..........................................................................................87
4.5.5.2. Các thuộc tính..................................................................................88
4.5.5.3. Các phương thức..............................................................................88
4.5.5.4. Vị trí.................................................................................................89
4.6. Các kết quả thí nghiệm...............................................................................89

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

Trang 4/90


CHƯƠNG 1: TỔNG QUAN PHÁT HIỆN MẶT NGƯỜI
Chương này trình bày một số lý thuyết cơ bản trong phát hiện mặt người cũng như
một số phương pháp phát hiện mặt người. Cụ thể, chương này trình bày các vấn đề
sau:
 Các hướng tiếp cận trong phát hiện mặt người.
 Một số hệ màu sử dụng trong phát hiện mặt người; HSV, YCrCb.
 Một số phương pháp phát hiện mặt người dựa trên đặc trưng khuôn
mặt.


1.1. Tổng quan
Lĩnh vực nhận dạng đang dành được nhiều sự quan tâm trong giai đoạn hiện nay.
Nó được ứng dụng trong các hệ thống giám sát, an ninh, trong các máy tính thế hệ
mới mà con người có thể tương tác với máy tính qua cử chỉ hoặc lời nói,… Nhận
dạng mặt người là một trong số đó. Và phát hiện mặt người là một khâu tiền xử lý
cho nhận dạng mặt người. Ý tưởng của nó là: từ một ảnh chụp cảnh đám đông, ta
phải tách ra được các khuôn mặt trong đó. Các khuôn mặt được tách ra sẽ được
chuyển cho khâu nhận dạng.
Có nhiều hướng tiếp cận và các phương pháp khác nhau trong phát hiện mặt người.
Cũng có nhiều cách phân chia, gom nhóm khác nhau. Sau đây la một số hướng tiếp
cận:
 Giải pháp dựa trên mô hình (top-down model-based approach): trong hướng
tiếp cận này, người ta sử dụng các mô hình mặt người khác nhau có tỉ lệ khác
nhau từ thô nhất đến tốt nhất. Đầu tiên, ảnh sẽ được quét bởi mô hình có tỉ lệ
thô nhất. Sau đó ảnh được quét với mô hình có tỉ lệ tốt hơn. Và cuối cùng
được quét với mô hình có tỉ lệ tốt nhất. Ứng với mỗi tỉ lệ chỉ có 1 mô hình
khuôn mặt. Mà 1 mô hình khuôn mặt ứng với 1 góc nhìn khuôn mặt cụ thể.
Do đó, nhìn chung, phương pháp này khó khăn trong việc đưa vào nhiều góc
nhìn khuôn mặt khác nhau.
 Giải pháp dựa trên đặc trưng (bottom-up feature-based approach): trong
hướng tiếp cận này, người ta sẽ tiến hành tìm kiếm trong ảnh các đặc trưng
của khuôn mặt (như mắt, mũi, miệng,…), sau đó gom nhóm chúng lại với
nhau (dựa trên mối quan hệ hình học giữa chúng) tạo thành các ứng cử viên
cho khuôn mặt. Giải pháp này có thể dễ dàng mở rộng cho nhiều góc nhìn
khuôn mặt khác nhau.
 Giải pháp dựa trên bề mặt (texture-based approach): trong hướng tiếp cận
này, các khuôn mặt được phát hiện dựa trên sự phân bố không gian các mức
xám của các điểm trong ma trận ảnh con. Phương pháp này khó mở rộng cho
nhiều góc nhìn.
Trang 5/90



 Giải pháp dựa trên mạng nơron (neural network approach): trong giải pháp
này, người ta tiến hành huấn luyện trên 1 tập ảnh khuôn mặt và không phải
khuôn mặt. Sau khi huấn luyện xong, sẽ được dùng vào nhận ra khuôn mặt.
Ảnh sẽ được quét bằng 1 cửa sổ. Tại mỗi vị trí cửa sổ, nội dung ảnh được lấy
ra (có thể phải thay đổi tỉ lệ (co, giãn) vì các ảnh được huấn luyện có kích
thước như nhau và xác định) và được cho qua bộ lọc mạng nơron. Nhìn
chung, phương pháp này cho kết quả tốt. Tuy nhiên tốn thời gian huấn luyện
và sưu tầm mẫu.
 Giải pháp dựa trên màu sắc (color-based approach): trong giải pháp này, đầu
tiên người ta xác định các điểm trong ảnh có màu giống màu da mặt. Sau đó,
người ta khoanh vùng các điểm đó lại. Các vùng này có thể là khuôn mặt
hoặc không. Để xác định có phải là mặt không, có thể dựa vào tỉ lệ kích
thước của vùng có tương tự tỉ lệ khuôn mặt không, hoặc dựa vào tỉ lệ số
điểm màu da trong hình chữ nhật bao vùng đó,…
 Giải pháp dựa trên chuyển động (motion-based approach): ngay cái tên của
nó cũng cho thấy giải pháp này chỉ áp dụng phát hiện mặt người trong phim,
không áp dụng cho ảnh tĩnh. Từ các đối tượng chuyển động trong ảnh, dựa
trên một số tiêu chí, người ta sẽ xác định được vùng mặt. Ví dụ như một cái
lắc đầu, hay nháy mắt sẽ là cơ sở để phát hiện khuôn mặt.
Trong thực tế, ngoài những phương pháp đơn thuần đi theo một hướng tiếp cận, thì
cũng có những phương pháp kết hợp nhiều hướng tiếp cận để cho ra kết quả chính
xác hơn, tuy nhiên cũng phải trả giá về thời gian. Trong đồ án này, em chỉ đi vào
tìm hiểu các phương pháp phát hiện mặt người theo hướng dựa trên đặc trưng và
dựa trên màu sắc.
Trong các phương pháp phát hiện mặt người, các tác giả thường sử dụng nhiều hệ
màu khác nhau. Do đó, đầu tiên em xin trình bày về một số hệ màu được sử dụng
trong các phương pháp phát hiện mặt người.


1.2. Giới thiệu về một số hệ màu
Trong phát hiện mặt người, người ta thường không sử dụng hệ màu RGB, mà
thường sử dụng các hệ màu khác như: HSV, HSL, YCrCb. Vì những hệ màu này
biểu diễn màu sắc giống với quan điểm nhìn màu sắc của con người. Sau đây, ta sẽ
đi vào diễn đạt chi tiết một số hệ màu cụ thể.

1.2.1. Hệ màu HSV
HSV (còn có tên gọi khác là HSB) là viết tắt của Hue, Saturation, Value. Hệ màu
gồm 3 thành phần H, S, V. Trong hệ màu này, các màu đều được biểu diễn dựa trên
3 thành phần H, S, V này.
H là viết tắt của Hue, nghĩa là màu sắc. Thành phần này biểu diễn màu sắc vốn có
của màu như: đỏ, xanh da trời, da cam,… Nó có giá trị từ 0 đến 360 o. Hình sau
minh họa giá trị của H và màu tương ứng:

Trang 6/90


Hình 1.1: Mô hình biểu diễn 2 thành phần màu H,S trong HSV
Ở trong hình, các giá trị của H đã được quy về dải [0,6), tương ứng với chia các góc
cho 60 độ. Việc biểu diễn H trong dải giá trị nào không thành vấn đề.
S là viết tắt của Saturation, nghĩa là độ bão hòa. Ta có thể hiểu nó giống như khái
niệm nồng độ trong hóa học, với dung môi là màu trắng và chất tan là màu. S có giá
trị nằm trong đoạn [0,1]. Khi giá trị của S lớn, lượng màu hòa trong màu trắng
nhiều lên, màu sẽ đậm hơn. S=1, màu đậm nhất, chiếm hoàn toàn màu trắng. Và
ngược lại, khi giá trị S nhỏ, lượng màu hòa trong màu trắng ít đi, màu sẽ nhạt hơn.
S=0 tương ứng với không có một chút màu nào pha trong màu trắng, kết quả sẽ
không có màu (cũng không khẳng định ngay kết quả là màu trắng, vì nó còn phụ
thuộc vào thành phần V nữa, nhưng có thể khẳng định nó là màu xám). Ví dụ: khi
H=0, ta có màu đỏ. Nhưng không phải cứ H=0 là ta có được 1 màu đỏ đậm đà, nó
còn phụ thuộc vào S (tức là phụ thuộc vào lượng màu đỏ hòa trong màu trắng). Khi

S nhỏ, ta có màu đỏ nhạt. Khi S lớn ta có màu đỏ đậm hơn. S=1 màu đỏ đậm nhất.
Khi S=0, giá trị của H bằng bao nhiêu là vô nghĩa, kết quả cũng chỉ là 1 màu trắng
(giả sử V=max).
Thành phần V là viết tắt của value, nó biểu thị thành phần độ sáng. V có giá trị nằm
trong đoạn [0,1]. Bạn mặc 1 chiếc áo hồng, nhưng nếu bạn đứng trong bóng tối, mọi
người sẽ chỉ nhìn thấy chiếc áo màu đen. Vai trò của V là như vậy. Với 1 giá trị H
xác định, ta có 1 màu xác định. Với giá trị S, ta có được độ đậm nhạt cho màu đó.
Nhưng ta sẽ không thể cảm nhận đúng màu đó với độ đậm nhạt đó, nếu độ sáng
không chuẩn. Khi V=1 ta mới cảm nhận được đúng bản chất vốn có của màu. Khi V
tăng tương ứng với độ sáng tăng dần. V=0: không có ánh sáng, tất cả chỉ là 1 màu
đen với mọi H và S. Như ở trên, ta đã nói, khi S=0 thì màu kết quả không phụ thuộc
vào H, nhưng chưa thể nói ngay ta có màu trắng vì còn phụ thuộc vào V. Nếu V=0
ta có màu đen, V=1 ta có màu trắng, còn nếu 0Hệ màu có thể được mô hình hóa quá hình sau:

Trang 7/90


Hình 1.2: Mô hình hóa hệ màu HSV
Trong xử lý ảnh, ta luôn có nhu cầu chuyển đổi từ hệ màu RGB sang HSV và ngược
lại. Công thức chuyển đổi như sau:
Công thức từ RGB sang HSV:

Trong đó:
 max=max(r,g,b).
 min=min(r,g,b).
 các thành phần màu r,g,b có giá trị nằm trong đoạn [0,1].
Công thức biến đổi từ HSV sang RGB:

Trang 8/90



1.2.2. Hệ màu HSL
HSL (còn có tên gọi khác là HSI) là viết tắt của Hue, Saturation, Lightness. Nó
tương tự như hệ màu HSV (L tương ứng với V cùng chỉ cường độ sáng), với H
thuộc [0,360), S thuộc [0,1], L thuộc [0,1]. Tuy nhiên có một số điểm khác như sau
(tất nhiên là phải có khác, không thì đã chỉ là 1 hệ màu):
 trong hệ màu HSV, ta thấy được màu đúng của nó với giá trị V=1. Còn trong
HSL, màu đúng của nó được thể hiện với L=0,5. Tức là với S=0, trong HSV
với V=1 ta có màu trắng, còn trong HSL với L=0,5 ta vẫn chỉ có màu xám.
Màu trắng chỉ được thể hiện khi L=1. Nhưng khi đó, dù S ≠0 thì cũng vẫn là
màu trắng, cho dù H bằng bao nhiêu. Còn ở HSV khi V=1 thì nếu S≠0 thì sẽ
thể hiện màu sắc với màu chân thực nhất.
 Hai thành phần S ở 2 mô hình, mặc dù có tên giống nhau, nhưng công thức
tính khác nhau.
 Mô hình màu HSV ra đời trước mô hình HSL.
Mô hình HSL có thể được biểu diễn bằng hình sau:

Trang 9/90


Hình 1.3: Mô hình hệ màu HSL
Công thức chuyển đổi giữa 2 hệ màu RGB và HSL như sau:
Chuyển từ RGB sang HSL:
H được tính giống như trong HSV.

Trong đó, các tham số được diễn đạt như trong công thức của HSV.
Chuyển từ HSL sang RGB:

Trang 10/90



1.2.3. Hệ màu YCrCb
Hệ màu này được sử dụng trong các hệ thống ảnh số và video. Nó còn dùng trong
các chuẩn nén JPEG và MPEG. Vì hệ màu RGB chỉ thuận tiện cho hiển thị lên màn
hình nhưng lại không thuận tiện trong lưu trữ và chuyển đổi, nên người ta đã nghĩ ra
hệ màu này thuận lợi cho nén và chuyển đổi.
Hệ màu có 3 thành phần là: Y – biểu diễn thành phần độ sáng; Cr, Cb là các sắc tố
đỏ (red) và xanh lục (blue) trong màu. Hệ màu này không phải là hệ màu tuyệt đối,
tức là ứng với 1 giá trị của RGB, tùy theo chuẩn nào được dùng mà ta có các giá trị
YCrCb khác nhau (sẽ nói rõ hơn trong phần chuyển đổi giữa 2 hệ màu này). YCrCb
là dạng biểu diễn số của hệ màu này (tức là các thành phần Y, Cr, Cb nhận các giá
trị số nguyên), nó còn có dạng analog nữa, kí hiệu là YPrPb.
Công thức chuyển đổi giữa 2 hệ màu như sau: đầu tiên là công thức chuyển từ RGB
sang dạng analog của hệ màu YPrPb:

Trong đó:
 R, G, B thuộc [0,1].
 Y thuộc [0,1].
 Pr, Pb thuộc [-0,5;0,5].

Trang 11/90


Trong công thức có 2 hằng số là Kb và Kr. Giá trị của chúng tùy theo chuẩn nào
được sử dụng. Ví dụ: chuẩn ITU-R BT.601: Kb=0,114; Kr=0,299. chuẩn ITU-R
BT.709: Kb=0,0722; Kr=0,2126; và còn một số chuẩn khác nữa.
Công thức tính ngược lại RGB được suy trực tiếp từ công thức trên. Rõ ràng từ 2
dòng dưới, ta tính lại được B và R, sau đó thay vào dòng đầu tính ra được G.
Dạng số của hệ màu, tức là YCrCb được tính bằng cách lượng tử hóa dải giá trị của

YPrPb. Ví dụ, với mã hóa 8 bít, giá trị Y được tính ra sẽ có giá trị nằm trong khoảng
[16;235], còn Cr, Cb nằm trong khoảng [16;240]. Bạn sẽ thắc mắc tại sao lại không
là [0;255], thực ra tôi cũng thấy thắc mắc. Với giải [16;235], giá trị Y trong YCrCb
được suy từ Y trong YPrPb (tạm kí hiệu là Y’ để phân biệt) như sau (chỉ là 1 phép
thay đổi dải giá trị đơn giản):
Y=(Y’-0)/(1-0)*(235-16)+16=Y’*219+16.
Cr, Cb cũng tương tự.

1.3. Một số phương pháp phát hiện mặt người dựa trên đặc trưng và
trên màu da
1.3.1. Phương pháp dựa trên màu da và thông tin biên của K. Sandeep và
A.N. Rajagopalan
Các bước thực hiện của phương pháp này như sau:
 Ảnh đầu vào, ảnh màu (A1).
 Lọc ảnh bằng bộ lọc Sobel, thu được ảnh biên (A2).
 Duyệt qua các điểm ảnh của ảnh ban đầu A1, xác định xem điểm nào là
màu da, điểm nào không. Từ đó tạo ra ảnh trong đó chỉ hiện các điểm là
màu da (giống như ảnh nhị phân vậy), gọi là ảnh A3. Trong quá trình xác
định điểm màu da này có sử dụng ảnh biên A2.
 Xác định vị trí các vùng trong ảnh A3 về vị trí, chiều rộng, chiều cao.
 Xác định xem vùng ảnh có phải là mặt không dựa trên tỉ lệ chiều
rộng/chiều cao và tỉ lệ số điểm màu da trong hình chữ nhật bao vùng ảnh
đó.
Chi tiết các bước như sau:

1.3.1.1. Xác định 1 điểm có là màu da hay không
Để xác định 1 điểm có phải là màu da hay không, nhóm tác giả dựa trên một
Histogram được tạo nên. Quá trình tạo Histogram này như sau: các tác giả đã thực
hiện quá trình học màu da dựa trên các ảnh khuôn mặt kiểu như sau:


Trang 12/90


Hình 1.4: Một số mặt người trong tổng hợp Histogram của màu da mặt
Khi đó, với mỗi điểm trong ảnh, lấy về giá trị H (hue) và S (saturation) trong mô
hình màu HSV. Tại sao lại chỉ lấy về H,S? Vì màu da của con người trong ảnh còn
phụ thuộc vào yếu tố ánh sáng, ảnh tối thì màu da sẽ hơi sẫm, ảnh sáng thì màu da
sẽ trắng hơn. Cùng 1 người nhưng trong điều kiện ánh sáng khác nhau, màu da cũng
sẽ bị thay đổi. Điều đó gây ra sự đa dạng, phức tạp trong màu da. Do đó, ta cần loại
bỏ tác động của yếu tố ánh sáng này, để lấy về màu da đúng của mỗi người và để
hạn chế bớt sự đa dạng trong màu da. Thành phần V trong mô hình màu HSV chính
là thành phần biểu thị độ sáng trong ảnh. Vì thế nó bị loại bỏ. Trong Histogram dựa
trên (H,S), cột ứng với giá tri H,S này sẽ được tăng lên 1. Sau quá trình học,
Histogram thu được sẽ được chuẩn hóa, tức là chia tỉ lệ, để có được các giá trị trong
khoảng (0,1), chứ không còn là số điểm ảnh nữa.
Để xác định 1 điểm ảnh có phải là màu da hay không, ban đầu phải lấy về thành
phần H,S của điểm ảnh đó. Sau đó, dựa vào histogram thu được xác định xem cột
ứng với giá trị H,S này có giá trị bằng bao nhiêu, nếu nhỏ hơn 1 ngưỡng cho trứơc
thì đó không phải là màu da, ngược lại thì là màu da. Các tác giả thấy rằng nếu chỉ
dùng thông tin này thì kết quả không tốt bằng việc dựa thêm thông tin về biên nữa
để xác định 1 điểm có phải là màu da hay không. Tóm lại, để xác định 1 điểm trong
ảnh có phải là màu da hay không, dựa trên 2 tiêu chí:
o Histogram(H,S) phải lớn hơn 1 giá trị ngưỡng - skinthreshold.
o Điểm đó không nằm trên biên. Để xác định nó có nằm trên biên không,
cần sử dụng ảnh biên. Trong ảnh biên, 1 điểm được coi là nằm trên biên
nếu giá trị của nó lớn hơn 1 giá trị ngưỡng – edgethreshold.
Bằng thực nghiệm, các tác giả chọn ra các giá trị cụ thể cho các giá trị ngưỡng kia
như sau:
o Skinthreshold=0,1.
o Edgethreshold=125.


1.3.1.2. Xác định vị trí và kích thước các vùng trong ảnh màu da (A3)
Ảnh A3 lúc này là ảnh nhị phân, các điểm màu da có giá trị 1, các điểm không phải
có giá trị 0. Để xác định vùng trong ảnh dựa trên phương pháp 8 hàng xóm. Hai
điểm được coi là thuộc cùng 1 vùng nếu điểm này là 1 trong 8 hàng xóm của điểm
kia.
Để xác định kích thứơc của vùng, thì các tác giả làm như sau: đầu tiên là xác định
điểm trung tâm của vùng. Nó được xác định bằng cách tính trung bình cộng tọa độ
của các điểm trong vùng. Sau khi có được tọa độ của điểm này rồi, ta xác định chiều
cao của vùng như sau:
Trang 13/90


o Lấy y của các điểm trong vùng trừ đi y của điểm trung tâm.
o Lấy trung bình cộng của các giá trị âm, và lấy trung bình cộng của các giá
trị dương.
o Cộng trị tuyệt đối 2 giá trị trung bình đó lại, được bao nhiêu nhân 2 ra
chiều cao.
Với chiều rộng của vùng làm tương tự.
Đó là cách làm của tác giả, với cách làm này ta thấy ngay một điều, các giá trị được
tính trung bình, điều đó có nghĩa là khung hình chữ nhật đó sẽ không bao hết các
điểm nằm trong vùng, và quá trình duyệt đòi hỏi phải lưu lại tất cả tọa độ các điểm
trong vùng để phục vụ cho tính chiều rộng, chiều cao sau này. Tôi đề xuất 1 phương
pháp đơn giản hơn giải quyết được 2 vấn đề trên là: lấy x max, x min, y max, y min
của tất cả các điểm trong vùng. Tuy nhiên có thể làm vậy lại ảnh hưởng đến chuẩn
đoán vùng mặt sau này.

1.3.1.3. Quyết định có phải là vùng mặt hay không
Vì vùng da tìm thấy có thể là da tay, da chân, … nên để xác định vùng đó có phải là
khuôn mặt hay không, dựa trên 2 tiêu chí:

 Cao/rộng hoặc rộng/cao phải nằm trong khoảng: tỉ lệ vàng ±delta. Rộng/
cao là cho trường hợp mặt nằm ngang, còn delta được đưa vào vì tất
nhiên tỉ lệ không thể nào đúng bằng tỉ lệ vàng được, và cũng vì những
khuôn mặt khác nhau cũng lệch nhau đôi chút, và cuối cùng là vì những
trường hợp mặt nghiêng. Tỉ lệ vàng =

1 5
.
2

 Tỉ lệ số điểm màu da trong khung hình chữ nhật của vùng đó phải lớn
hơn 1 giá trị ngưỡng – PercentageThreshold.
Bằng thực nghiệm, nhóm tác giả đã đưa ra giá trị cho các tham số đó như sau:
 Delta=0,65.
 PercentageThreshold=55.

1.3.1.4. Kết quả thử nghiệm
Việc thử nghiệm được áp dụng trên 1 tập ảnh lớn, đa dạng, với các điều kiện sang
khác nhau và nền đa dạng. Trong các ảnh thử nghiệm đó cũng có những vùng có
màu da từ các bộ phận khác của cơ thể như tay,… và cũng có những vùng có màu
giống màu da. Các tác giả cài đặt thuật toán trên MATLAB 5.3, Pentium PIII
128MB RAM, Windows NT workstation. Với ảnh 320 x 240, tổng thời gian thực
hiện thuật toán là 11s.
Số điểm ảnh được thu thập trong quá trình học là: 4.500.000 điểm ảnh.
Bên cạnh các khuôn mặt được phát hiện cũng có những sự phát hiện nhầm chủ yếu
là vùng tay.
Trang 14/90


Sau đây là một số kết quả:


(nhận ra được các khuôn mặt nhưng nhầm vùng tay)

Hình 1.5: Một số ảnh kết quả của phương pháp

1.3.1.5. Đánh giá
o Ưu điểm
 Phát hiện được các khuôn mặt với kích thước khác nhau, không
phải giả định trước kích thước khuôn mặt.
o Hạn chế
 Trong thuật toán, khi xác định được 1 vùng màu da, để xác định
xem nó có phải là khuôn mặt hay không thì dựa vào tỉ lệ kích
thước hai chiều của vùng, và tỉ lệ số điểm màu da trong vùng. Như
vậy chỉ cần 1 vùng có màu giống màu da và có kích thước thích
hợp là sẽ bị coi là khuôn mặt. Vì vậy, phương pháp này hay bắt
nhầm vùng tay.
Trang 15/90


 Sự dính nhau của các vùng màu da khi phân vùng, ví dụ vùng da
mặt và da cổ. Nguyên nhân là vì thuật toán xác định vùng dựa trên
8 láng giềng gần, chỉ cần 1 điểm chung cũng có thể sát nhập 2
vùng thành 1. Điều này dẫn đến, khung hình chữ nhật bao vùng
mặt thường to. Và nhiều khi làm cho không phát hiện ra khuôn
mặt. Ví dụ khi bạn chồng tay vào cằm hoặc tay đặt ngang cổ, khi
đó vùng được phát hiện sẽ không có tỉ lệ phù hợp và không được
xem xét là mặt.
 Không phát hiện được trong trường hợp đeo kính hoặc dùng khăn
che mặt (nói chung là không để lộ làn da).


1.3.2. Phương pháp dựa trên nhiều chứng cứ của Manoj Seshadrinathan
và Jezekiel Ben – Arie
Trong phương pháp 1, các tác giả chỉ dựa trên màu da để xác định vùng mặt và dựa
vào tỉ lệ kích thước các chiều để xác định xem đó có phải là mặt hay không. Còn
trong phương pháp này, các tác giả sẽ đưa ra quyết định đó có phải là mặt hay
không dựa trên nhiều chứng cứ, không chỉ là màu da. Các chứng cứ đó là:
o Màu da.
o Hình dạng.
o Kết quả lọc Gabor.

1.3.2.1. Xác định màu da
Các tác giả sử dụng hệ màu YCrCb để biểu diễn màu sắc. Để xác định 1 điểm trong
ảnh có phải là màu da mặt hay không, dựa vào 2 thành phần Cr,Cb của điểm ảnh,
không sử dụng thành phần Y, vì nó là thành phần biểu thị độ sáng, không phải là cái
vốn có của màu sắc da mặt, tức là nó thay đổi theo các điều kiện ánh sáng khác
nhau. Việc loại bỏ nó sẽ giúp xác định màu da mặt một cách đơn giản hơn.
Để dựa vào Cr, Cb phát hiện 1 điểm có màu da mặt hay không, các tác giả thực hiện
quá trình học màu da mặt bằng phương pháp mạng Nơron có tên là: RPROP
(Resillient Propagasion). Đây là 1 thuật toán học mạng nơron cải tiến của thuật toán
Backpropagasion. Thuật toán RPROP cho kết quả hội tụ nhanh hơn thuật toán
Backpropagasion.

Trang 16/90


Hình 1.6: Biểu đồ hội tụ của phương pháp học RPROP
Như hình trên ta thấy, sự phát hiện sai của RPROP trong quá trình học tiến về 0
nhanh hơn phương pháp kia.

1.3.2.2. Dựa trên hình dạng

Sau khi xác định được điểm nào là màu da, điểm nào không, ta đưa ảnh về ảnh nhị
phân, với các điểm màu da là 1 và các điểm không phải màu da là 0. Từ đó, trong
ảnh xuất hiện các vùng màu da. Tuy nhiên, không phải vùng nào cũng là khuôn mặt.
Để loại bỏ những vùng không phải là khuôn mặt, các tác giả dựa trên các tiêu chuẩn
về hình dạng.
Tiêu chuẩn đầu tiên được áp dụng là tiêu chuẩn tỉ lệ mặt 1/3. Tức là chiều rộng trên
chiều cao khuôn mặt phải >=1/3.
Tiêu chuẩn thứ 2 được sử dụng là tiêu chuẩn vùng elip. Mỗi khuôn mặt được coi là
gần giống hình elip. Coi các vùng phát hiện được đó như là các hình elip. Ta xác
định các độ dài các trục của nó: trục chính và trục phụ. Để xác định điều này, các
tác giả sử dụng biến đổi KL. Sau khi, xác định được độ dài các trục, các tác giả đưa
ra công thức đánh giá cho vùng đó như sau:
4 * Ni

Sei(x,y)=  * l * l
1
2
trong đó: l1, l2 là chiều dài các trục, Ni là số điểm trong vùng i đang xem xét.
Ngoài ra, tác giả còn xác định cả tỉ lệ tóc trong vùng elip này. Việc xác định màu tóc
cũng được thực hiện bằng học mạng nơron RPROP .

1.3.2.3. Dùng các bộ lọc Gabor
Trang 17/90


Các tác giả còn sử dụng bộ lọc Gabor để nhận ra các vùng mặt. Các sóng 2 chiều
Gabor (Gabor 2D wavelet) là 1 chứng cứ độc lập khác cho nhận ra khuôn mặt. Nó
cung cấp các tính chất đáp ứng tần số của ảnh. Biểu thức của hàm Gabor 2 chiều
như sau:


Trong đó: (x,y) là các điểm trong ảnh, σ x, σy là kí hiệu của các tỉ lệ Gaussian dọc
theo các trục tương ứng, (xo,yo) là tọa độ tâm của hàm trong miền không gian, u o, vo
là các tần số góc.
Phân tách các thành phần thực và ảo trong hàm trên theo công thức: e jφ=cosφ +
jsinφ, ta được các hàm dạng sin và cosin với 2 tham số độc lập là: tỉ lệ σ và góc
quay θ:

Trong thử nghiệm, các tác giả đã sử dụng 64 hàm Gabor với 4 hướng và 8 tỉ lệ (32
hàm cos và 32 hàm sin). Các tác giả đã sử dụng 5 mẫu học để nhận về các dấu hiệu
của hàm Gabor cho các tư thế đầu khác nhau:

Hình 1.7: Các hướng đầu khác nhau trong học dấu hiệu Gabor
Các hình chiếu Gabor trên mỗi ảnh được nhận về. Kết quả, ta có 5 tập các dấu hiệu,
mỗi tập cho 1 hình mặt trên. Vì tập hàm Gabor là 64, nên với mỗi hình mặt trên, ta
có 64 kết quả trả về.
Áp dụng các bộ lọc Gabor lên ảnh vào, thu được 1 tập dấu hiệu. Sau đó, các tác giả
sẽ tính toán sự gần gũi của tập dấu hiệu thu được đó với 5 mô hình dấu hiệu thu
được trong quá trình học ở trên, lấy về giá trị lớn nhất và gán cho điểm ảnh đang
tính đó. Như vậy, mỗi điểm trong ảnh vào sẽ có một điểm số S g(x,y) thể hiện sự
giống của nó với khuôn mặt mô hình.

1.3.2.4. Tổng hợp các kết quả
Qua phân tích ảnh dựa trên một loạt các tham số như trên, tác giả tiến hành tổng
hợp các kết quả lại bằng 1 công thức, sau đó đưa ra 1 giá trị ngưỡng để quyết định
xem đó có phải là mặt hay không.
Quá trình thực hiện được cho trong sơ đồ sau:

Trang 18/90



Hình 1.8: Sơ đồ biểu diễn phương pháp

1.3.2.5. Kết quả thực hiện
Trong quá trình học màu da mặt, các tác giả đã dùng đến hàng nghìn điểm màu da
mặt, và cũng 1 số lượng như vậy các điểm không phải là màu da mặt. Sau đây là 1
số kết quả thử nghiệm:

Trang 19/90


Hình 1.9: Một số ảnh kết quả của phương pháp. Từ trái sang phải: ảnh nhị phân,
ảnh kết quả với ngưỡng 0,7, ảnh kết quả với ngưỡng 0,8
Hình trên sử dụng giá trị cắt là 0,7, phát hiện được nhiều khuôn mặt hơn, nhưng lại
phát hiện nhầm 1 bàn tay góc phải dưới của ảnh. Ảnh dưới sử dụng ngưỡng cắt cao
hơn là 0,8, không phát hiện nhầm bàn tay đó, nhưng lại bỏ xót vài khuôn mặt.
Kết quả thực nghiệm cho tỉ lệ rất cao: 96%

1.3.2.6. Đánh giá
Phương pháp này có thể phát hiện được các khuôn mặt có kích thước và hướng da
dạng (mà không giả định trước kích thước và hướng khuôn mặt). Phương pháp cho
kết quả phát hiện rất tốt (96%).
Tuy nhiên, có thể nó dùng nhiều tiêu chí để xác định khuôn mặt nên có thể thời gian
sẽ lâu hơn các phương pháp khác một chút. Nhưng điều này có thể khắc phục bằng
đầu tư phần cứng, sử dụng các thiết bị có cấu hình mạnh, tốc độ cao, nên nó vẫn có
khả năng sử dụng được trong hệ thống thời gian thực.

1.3.3. Phương pháp sử dụng khoảng cách Hausdorff của Oliver Jesorsky,
Klaus J. Kirchberg và Robert W. Frischholz
Phương pháp này áp dụng trên ảnh xám, không áp dụng trên ảnh màu. Nhưng đó
không phải là hạn chế vì ta có thể chuyển từ ảnh màu sang ảnh xám dễ dàng. Ngay

từ đầu ta thấy nói đến khoảng cách Hausdorff. Có thể hiểu một cách nôm na,
khoảng cách Hausdorff là 1 độ đo cho biết sự giống nhau của 2 mô hình. Ta sử dụng
nó để xác định xem 1 vùng trong ảnh giống với 1 mô hình mặt đưa ra đến mức nào,
để xác định xem vùng ảnh đó có phải là mặt người hay không.

1.3.3.1. Khoảng cách Hausdorff
Cho 2 tập điểm:
A=  a1 , a 2 ,..., a m 
B=  b1 , b2 ,..., bn 
Trang 20/90


Khi đó, khoảng cách Hausdorff được định nghĩa như sau:
H(A,B)=Max(h(A,B),h(B,A))
Trong đó:
min || a  b ||
h(A,B)= max
a A bB

h(A,B) được gọi khoảng cách Hausdorff trực tiếp từ A tới B.
||a-b|| là chuẩn của vector a-b. Có nhiều dạng chuẩn khác nhau, phổ biến là chuẩn
Ơclit, chính là căn bậc 2 của tổng bình phương các tọa độ.
Trong xử lý ảnh, người ta không áp dụng nguyên định nghĩa khoảng cách Hausdorff
này mà áp dụng 1 biến dạng của khoảng cách Hausdorff này (modified Hausdorff
distance – mod), công thức như sau:
hmod(A,B)=

1
 min(|| a  b ||)
| A | aA bB


Trong đó: |A| là lực lượng của tập A, chính là số vector trong A.
Công thức này khác công thức chuẩn ở chỗ: công thức chuẩn lấy max trong 1 tập
gía trị, còn ở đây lấy trung bình cộng.
Thực nghiệm cho thấy rằng, trong xử lý ảnh, sử dụng công thức tính khoảng cách
Hausdorff thứ 2 cho kết quả tốt hơn.

1.3.3.2. Kĩ thuật phát hiện đối tượng dựa trên mô hình
Rucklidge đưa ra phương pháp phát hiện đối tượng trong ảnh số dựa vào khoảng
cách Hausdorff như sau:
Cho 2 tập vector 2 chiều A, B; trong đó A đại diện cho ảnh, còn B là đối tượng cần
phát hiện. Mục đích là tìm các tham số biến đổi p thuộc P sao cho khoảng cách
Hausdorff giữa đối tượng được biến đổi T p(B) và A là nhỏ nhất. Các biến đổi được
phép và không gian tham số P phụ thuộc vào từng ứng dụng cụ thể.
Khoảng cách h(A, Tp(B)) được gọi là khoảng cách Hausdorff lùi, còn h(T p(B),A)
gọi là khoảng cách Hausdorff tiến.
Quá trình có thể được mô phỏng qua hình vẽ sau:

Hình 1.10: Ví dụ mô phỏng quá trình nhận ra đối tượng dựa trên mô hình
Trang 21/90


1.3.3.3. Quá trình thực hiện phát hiện mặt người
Quá trình thực hiện gồm 2 pha: pha thô và pha tinh chỉnh. Mỗi pha đều gồm 2
bước:
 Xác định biên
 Xác định vùng – để ốp mô hình vào.
Xác định biên: sử dụng bộ lọc sobel. Sau lọc sử dụng 1 giá trị ngưỡng để đưa ảnh
về nhị phân.
Xác định vùng: từ ảnh nhị phân thu được ở trên, ta dê mô hình đi khắp ảnh, và xác

định vùng ảnh mà giống với mô hình nhất, tức là khoảng cách Hausdorff là nhỏ
nhất.
Sự khác nhau giữa pha thô và pha tinh chỉnh là ở chỗ: pha thô dùng mô hình cả
khuôn mặt, còn ở pha tinh chỉnh, sau khi nhận được các vùng có khả năng là khuôn
mặt được xác định ở pha thô, thì sẽ sử dụng mô hình chi tiết hơn là mô hình mắt, để
quyết định xem vùng đó có phải là mặt không.
Quá trình được mô phỏng qua hình sau:

Hình 1.11: Quá trình phát hiện mặt người của phương pháp
AOI là viết tắt của Area of interested – vùng ảnh quan tâm.

1.3.4. Phương pháp dựa trên phân tích bó sóng (wavelet packet analysis)
của C. Garcia, G. Zikos, G. Tziritas
Theo lời giới thiệu của các tác giả, phương pháp mà các tác giả đưa ra là phương
pháp phát hiện tự động và nhanh các mặt người trong ảnh màu. Phương pháp không
giả định trước về số lượng, vị trí, hướng và kích thước các khuôn mặt trong ảnh.
Phương pháp có thể phát hiện tốt các khuôn mặt trên các nền ảnh phức tạp, cũng
như trong những điều kiện ánh sáng khác nhau.
Trang 22/90


Sơ lược về các bước của phương pháp như sau: Với mỗi ảnh đưa vào, đầu tiên, các
tác giả sử dụng các giá trị sắc tố da mặt để đưa ra các vùng trong ảnh có khả năng là
vùng mặt, gọi là các ứng cử viên vùng mặt. Sau đó, các công việc phân tích hình
dạng và phân tách các bó sóng được thực hiện trên mỗi ứng cử viên vùng mặt. Mỗi
vùng ứng cử viên này sẽ được biểu diễn như là 1 tập con của các ảnh được lọc chứa
các hệ số sóng. Các hệ số này mô tả bề mặt của mặt và một tập các dữ liệu thống kê
đơn giản được đưa ra trong trình tự tới hình thức cô đọng và các vector đặc trưng có
ý nghĩa. Sau đó, một độ đo xác suất tin cậy và hiệu quả, được suy ra từ khoảng cách
Bhattacharrya, được sử dụng để phân xác định xem các vùng ứng cử viên đó, vùng

nào là khuôn mặt, vùng nào không, dựa trên các vector đặc trưng thu được từ trên.
Sau đây ta sẽ đi vào cụ thể các khâu trong phương pháp.

1.3.4.1. Xác định các vùng có màu da mặt
Để xác định các vùng này, các tác giả tiến hành nghiên cứu màu da mặt trong các
không gian màu YCrCb và HSV. Khác với không gian màu RGB, biểu diễn màu sắc
như là tổ hợp của 3 màu cơ bản đỏ (Red), xanh lá cây (Green), xanh da trời (Blue);
các không gian màu YCrCb và HSV biểu diễn màu sắc theo quan điểm nhìn màu
sắc của con người.
Qua thực nghiệm (lấy mẫu các màu da mặt của nhiều chủng tộc người khác nhau,
với những điều kiện ánh sáng khác nhau), các tác giả thấy rằng, các màu biểu diễn
màu da con người chỉ chiếm 1 không gian rất nhỏ trong không gian màu YCrCb
hoặc HSV. Minh họa qua hình sau:

Hình 1.12: Sự phân bố các điểm màu da mặt trong không gian HSV và YCrCb
Ta thấy, trong không gian màu HSV, không gian màu da mặt có vẻ kém cô đọng hơn
so với YCrCb. Các tác giả từ kết quả thực nghiệm cũng đã tính ra công thức cho
việc xác định một màu có phải là màu da mặt hay không, như sau:
Trong không gian màu YCrCb:

Trang 23/90


Trong không gian màu HSV:

Có được công thức rồi, bây giờ các tác giả tiến hành xác định các vùng da mặt. Đầu
tiên phải duyệt qua ảnh để xác định những điểm nào là màu da, điểm nào không,
dựa vào 1 trong 2 công thức trên. Chú ý, ở đây, các tác giả không thao tác trên từng
điểm ảnh (pixel) mà thao tác trên cả 1 khối điểm vuông kích thước 16x16 pixel, gọi
là macro-block. Khi đó màu được so sánh là màu trung bình của cả khối.

Sau khi xác định được các block nào là màu da, block nào không, các tác giả đưa
ảnh về ảnh nhị phân, với các block màu da=1 và block không phải màu da=0. Sau
đó, để xác định các vùng màu da (vùng 1), và để đảm bảo tốc độ thực hiện thuật
toán, các tác giả đã sử dụng 1 phép chiếu đơn giản lên 2 trục ngang dọc, và dựa vào
các băng 0, 1 (những giá trị 0 (1) liên tiếp được gọi là băng 0 (băng 1)), để xác định
các hình chữ nhật bao lấy các vùng màu da (tất nhiên với cách làm này, hình chữ
nhật có thể sẽ chứa 1 vùng lớn trong nó không phải là màu da). Hình minh họa sau:

Hình 1.13: Minh họa phát hiện màu da trong ảnh
Hình dòng trên là kết quả xác định vùng màu da thực hiện theo thuật toán đưa ra,
còn bên dưới là kết quả cuối cùng của phương pháp này (tức là còn phải trải qua vài
khâu nữa mới đưa ra được kết quả này).

1.3.4.2. Xác định các ứng cử viên vùng mặt
Ở trên ta đã xác định được các vùng màu da được đóng khung trong các hình chữ
nhật, ở bước này, ta sẽ phải tìm trong các hình chữ nhật đó, những vùng có khả
năng là vùng mặt – gọi là ứng cử viên vùng mặt.
Trang 24/90


Vì không biết trước kích thước của các khuôn mặt trong ảnh nên các tác giả bắt đầu
tìm những vùng ứng cử viên lớn nhất, sau đó giảm dần kích thước, tức là ta dùng 1
cửa sổ quét. Kích thước của cửa sổ đó được xác định thế nào? Các tác giả đưa ra 2
tiêu chí là: giới hạn kích thước và tỉ lệ khuôn mặt. Về giới hạn kích thước của cửa
sổ, kích thước nhỏ nhất là: 5 x 3 macro-block, tương đương với 80 x 48 pixel. Còn
kích thước lơn nhất, tất nhiên là cả khung hình chữ nhật đó. Về tỉ lệ khuôn mặt, tức
là tỉ lệ giữa chiều cao và chiều rộng, các tác giả đưa ra khoảng giá trị là: [1;1,8].
Khoảng giá trị đưa ra rộng là để cho các hướng và các tư thế khác nhau của khuôn
mặt.
Với mỗi vị trí cửa sổ quét, để xác định xem vùng đó có thể là ứng cử viên không,

các tác giả sử dụng tiêu chí là độ thuần nhất, tức là tỉ lệ các điểm 1 ở trong ô đó phải
lớn hơn 1 ngưỡng nào đó. Các tác giả chia ô đó ra thành 2 miền là: miền ngoài
(outer) và miền trong (inner). Miền ngoài là đường bao của ô đó (có kích thước
khoảng 15% mỗi chiều), còn miền trong là vùng tâm còn lại. Hình minh họa như
sau:

Hình 1.14: Sự phân chia vùng ứng cử viên khuôn mặt trong phương pháp
Khi đó, tiêu chuẩn về sự đồng nhất đặt ra cho mỗi vùng như sau: trong vùng outer,
tỉ lệ 1 phải lớn hơn 65%, còn trong vùng inner tỉ lệ 1 phải lớn hơn 1 giá trị ngưỡng p
được xác định như sau:

trong đó δ = 2, còn w, h tương ứng là chiều rộng, cao của vùng inner đó với đơn vị
tính là macro-block chứ không phải pixel.

1.3.4.3. Phân lớp các ứng cử viên dựa vào phân tích bó sóng
Đến bước này ta cần xác định xem vùng ứng cử viên tìm được ở trên có phải là mặt
hay không là mặt dựa vào phân tích bó sóng. Đặc tính chính của sóng là có khả
năng cung cấp một sự phân tích ảnh nhiều độ phân giải trong hình thức các ma trận
hệ số với sự phân rã ảnh trong miền không gian và tần số cùng một lúc. Trong
trường hợp 2D (ảnh số), biến đổi sóng thường được thực hiện bằng việc áp dụng
các bộ lọc riêng rẽ. Cụ thể, một bộ lọc thông thấp và 1 bộ lọc dải thông được áp
dụng. Kết quả của việc áp dụng bộ lọc thông thấp cho ra 1 ảnh gọi là ảnh xấp xỉ.
Kết quả của việc áp dụng bộ lọc dải thông cho ra nhiều ảnh, gọi là các ảnh chi tiết.
Như vậy, kết quả của việc áp dụng các bộ lọc cho ra 1 ảnh xấp xỉ và nhiều ảnh chi
tiết. Sau đó, ảnh xấp xỉ đó lại có thể phân rã tiếp thành ảnh xấp xỉ và các ảnh chi tiết
mức 2,… Trong phương pháp đưa ra của các tác giả, cả ảnh xấp xỉ và ảnh chi tiết
Trang 25/90



×