You are on page 1of 73

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ


------------o0o------------

PHẠM TRUNG KIÊN

TÌM KIẾM VÀ NHẬN DẠNG


KHUÔN MẶT NGƯỜI TRONG ẢNH

LUẬN VĂN CAO HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGÔ QUỐC TẠO

Hà Nội - 2007
MỤC LỤC

MỞ ĐẦU ............................................................................................... 7
1 Chương 1 PHÁT BIỂU BÀI TOÁN .................................................... 9
1.1 Tổng quan và các khái niệm liên quan đến nhận dạng khuôn mặt ................................................ 9
1.1.1 Hệ thống sinh trắc học ....................................................................................................... 9
1.1.2 Hệ thống nhận dạng khuôn mặt .......................................................................................... 9
1.1.3 Hệ thống xác minh hay xác thực khuôn mặt là gì? ............................................................... 9
1.1.4 Hệ thống nhận dạng tĩnh - tĩnh, tĩnh - động, động - động.................................................. 10
1.1.4.1 Hệ thống nhận dạng tĩnh - tĩnh ................................................................................................... 10
1.1.4.2 Hệ thông nhận dạng tĩnh - động ................................................................................................. 10
1.1.4.3 Hệ thống nhận dạng động - động ................................................................................................ 10
1.1.5 Những thách thức trong bài toán nhận dạng khuôn mặt .................................................... 10
1.1.6 Sai số trong hệ nhận dạng [20]......................................................................................... 10
1.2 Các ứng dụng tương tác người máy (Human computer interactive) liên quan đến khuôn mặt ..... 11
1.3 Các hướng tiếp cận chính trong lĩnh vực nhận dạng khuôn mặt ................................................. 13
1.3.1 Các công trình nghiên cứu về phương pháp nhận dạng và kiểm chứng chất lượng cho một hệ
thống nhận dạng khuôn mặt ............................................................................................................. 13
1.3.2 Hướng tiếp cận được thử nghiệm trong luận văn............................................................... 15

2 Chương 2 DÒ TÌM KHUÔN MẶT TRONG ẢNH MÀU................ 16


2.1 Giới thiệu ................................................................................................................................ 16
2.1.1 Các thách thức trong việc dò tìm khuôn mặt...................................................................... 16
2.1.2 Một số hướng tiếp cận thường được dùng trong dò tìm khuôn mặt nhanh .......................... 17
2.2 Tìm kiếm khuôn mặt người trong ảnh dựa trên màu da ............................................................. 18
2.2.1 Giới thiệu [16] ................................................................................................................. 18
2.2.2 Dò tìm da trên ảnh màu .................................................................................................... 19
2.2.2.1 Mô hình hóa da.......................................................................................................................... 20
2.2.3 Không gian màu cho mô hình da....................................................................................... 23
2.2.3.1 Phân tách vùng da trong không gian màu rg................................................................................ 25
2.2.4 Xác định vùng da sử dụng entropy .................................................................................... 28
2.2.4.1 Khái niệm về entropy................................................................................................................. 28
2.2.4.2 Phát hiện màu da bằng mô hình Entropy cực đại. ........................................................................ 29
2.2.5 Định vị khuôn mặt bên trong các vùng da ......................................................................... 35
2.2.5.1 Giới thiệu .................................................................................................................................. 35
2.2.5.2 Định vị vùng khả năng mặt ........................................................................................................ 36
2.2.5.3 Ra quyết định sử dụng đối sánh mẫu .......................................................................................... 39
2.2.6 Kết luận về tìm kiếm khuôn mặt dựa trên màu da .............................................................. 41

3 Chương 3 RÚT TRÍCH ĐẶC TRƯNG TỪ KHUÔN MẶT ............ 42


3.1 Tiếp cận theo phương pháp phân tích thành phần chính (Principal Component Analysis hay PCA)
42
3.1.1 Vector riêng, Trị riêng và sự chéo hoá của ma trận ........................................................... 42
3.1.2 Kì vọng và phương sai trong thống kê đa chiều ................................................................. 43
3.2 Phương pháp phân tích thành phần chính (Principal Component Anlysis hay PCA)................... 43
3.2.1 Yêu cầu ............................................................................................................................ 43
3.2.2 Trích đặc trưng bằng phương pháp PCA .......................................................................... 44
3.2.3 Kỹ thuật tính đặc trưng bằng PCA .................................................................................... 46
3.3 Phương pháp PCA toàn cục và cục bộ ...................................................................................... 48
3.3.1 Phương pháp PCA toàn cục.............................................................................................. 48
3.3.2 Phương pháp PCA cục bộ................................................................................................. 48
3.4 Đánh giá .................................................................................................................................. 49
3.4.1 Mộ số đánh giá quan trọng về rút trích đặc trưng bằng phương pháp PCA ........................ 49
3.4.2 So sánh phương pháp PCA toàn cục và PCA cục bộ.......................................................... 49

4 Chương 4 MÔ HÌNH MAKOV ẨN VÀ ỨNG DỤNG NHẬN DẠNG


KHUÔN MẶT .......................................................................................... 50

3
4.1 Giới thiệu mô hình Makov ẩn ................................................................................................... 50
4.1.1 Mô hình Markov ............................................................................................................... 50
4.1.2 Mô hình Markov ẩn [19] .................................................................................................. 51
4.1.2.1 Xác suất của chuỗi quan sát ....................................................................................................... 52
4.1.2.2 Dãy trạng thái tối ưu .................................................................................................................. 54
4.1.2.3 Hiệu chỉnh các tham số của mô hình .......................................................................................... 55
4.1.2.4 Khoảng cách giữa các mô hình Markov ẩn ................................................................................. 55
4.1.3 Mô hình Markov ẩn và nhận dạng mặt người .................................................................... 58
4.1.3.1 Ý tưởng..................................................................................................................................... 58
4.1.3.2 Mô hình Markov ẩn biểu diễn ảnh mặt ....................................................................................... 59
4.1.3.3 Trích chọn đặc trưng.................................................................................................................. 60
4.1.3.4 Luyện mô hình mặt.................................................................................................................... 64
4.1.3.5 Nhận dạng khuôn mặt người trong ảnh ....................................................................................... 66
4.1.3.6 Tìm kiếm khuôn mặt người trong ảnh......................................................................................... 67
4.1.3.7 Các dạng của mô hình Markov ẩn trong mô tả khuôn mặt ........................................................... 69
4.2 Kết chương .............................................................................................................................. 70

5 KẾT LUẬN ......................................................................................... 71


6 TÀI LIỆU THAM KHẢO .................................................................. 72

4
DANH MỤC CÁC HÌNH

Hình 1-1. So sánh hai tác vụ nhận dạng khuôn mặt và xác nhận khuôn mặt ....................... 9
Hình 1-2. Hình biểu diễn hàm FRR và FAR ..................................................................... 11
Hình 2-1. Ảnh màu với da và kết quả của sự dò tìm da ................................................... 18
Hình 2-2. Mẫu da của mỗi người rất khác nhau............................................................... 19
Hình 2-3. Mẫu da bị ảnh hưởng bởi các loại nhiễu và biến dạng ..................................... 19
Hình 2-4. Những mạng SOM với những hệ thống khu lân cận ........................................ 21
Hình 2-5. Phân phối màu cho các màu da khác nhau ...................................................... 27
Hình 2-6. Biểu diễn mô hình màu da bằng phân phối Gauss ............................................ 27
Hình 2-7. Đường cong entropy của biểu diễn biến ngẫu nhiên......................................... 29
Hình 2-8. 4 điểm lân cận và 8 điểm lân cận ..................................................................... 30
Hình 2-9. Một ảnh mẫu từ tập phân phối thỏa mãn D, có năng lượng cực tiểu ................ 33
Hình 2-10. Hình (a): ảnh gốc, hình (b): Baseline, hình (c): HMM, .................................. 35
Hình 2-11. Khuôn mặt mẫu của Chang và Robles ............................................................ 39
Hình 2-12. Khuôn mặt mẫu tổng hợp ............................................................................... 39
Hình 2-13. Khuôn mặt mẫu được điều chỉnh kích thước................................................... 40
Hình 2-14. Khuôn mặt mẫu được xoay và điều chỉnh lại kích thước ................................. 40
Hình 4-5. Tính hội tụ của khoảng cách HMM khi độ dài chuỗi quan sát tăng .................. 58
Hình 4-6.(a) Mô hình ergodic 4 trạng thái (b) Mô hình trái - phải 4 trạng thái................ 59
Hình 4-7. Mô hình mặt 6 trạng thái ................................................................................. 60
Hình 4-8. Ảnh mặt và phương pháp trích chọn khối quan sát. .......................................... 61
Hình 4-9. Chiến lược huấn luyện mô hình Markov ẩn cho biểu diễn khuôn mặt ............... 66
Hình 4-10. Nhận dạng mặt sử dụng mô hình Marov ẩn .................................................... 67
Hình 4-11. Tìm kiếm khuôn mặt sử dụng mô hình Markov ............................................... 68
Hình 4-12. Mô hình Markov ẩn nhúng với 3 siêu trạng thái ............................................. 70

5
BẢNG CÁC TỪ VIẾT TẮT

Kí hiệu Từ Tiếng Anh Giải thích

ICAO International Civil Aviation Tổ chức Hàng không Dân dụng


Organization Quốc tế
FAR False Acceptance Rate Sai số bắt nhầm
FMR False Match Rate
FRR False Reject Rate Sai số bỏ sót
FNMR False Non Match Rate
TAR True Accpetance Rate Độ chính xác
PCA Principal Component Analysis Phân tích thành phần chính
HMM Hidden Markov Model Mô hình Markov ẩn
LDA Linear discriminant analysis Phân tích độc lập tuyến tính
KLT Karhunen-Loève transform Phép biến đổi Karhuen-loeve
DCT Discrete cosine transform Phép biến đổi Cosin rời rạc
ORL Olivetti Research Laboratory
PDF probability density function hàm mật độ xác suất

6
0 MỞ ĐẦU


Ngày nay, cùng với những tiến bộ vượt bậc của khoa học kỹ thuật nói chung,
bộ môn khoa học xử lý ảnh đã và đang thu được những thành tựu lớn lao và chứng
tỏ vài trò không thể thiếu với những ứng dụng sâu rộng trong khoa học kỹ thuật
cũng như đời sống xã hội. Một bộ phận của khoa học xử lý ảnh là lĩnh vực thị giác
máy tính hiện đang thu hút rất nhiều sự quan tâm của các nhà nghiên cứu xử lý ảnh
với mục tiêu xây dựng nên một thế giới trong đó hệ thống thị giác kỳ diệu của con
người có thể được mô phỏng bởi các hệ thống máy tính, đem lại khả năng cảm nhận
bằng thị giác cho các hệ thống về môi trường xung quanh. Mơ ước về một hệ thống
máy tính có thể hoà nhập vào thế giới con người với đầy đủ các giác quan trong đó
thị giác đóng vai trò quan trọng đang dần dần được hiện thực hoá với những đóng
góp nghiên cứu của các nhà khoa học trên phạm vi toàn thế giới.
Đồng thời việc phát triển của các thiết bị phần cứng cả về phương diện thu
nhận, hiển thị, tốc độ xử lý đã mở ra nhiều hướng mới cho công nghệ xử lý ảnh. Nó
có thể giải quyết các bài toán như giám sát tự động phục vụ trong cơ quan, ngân
hàng, kho bạc, ... hoặc trong việc giám sát giao thông tự động, phục vụ tại bãi đỗ xe,
trạm thu phí tự động hoặc việc phát hiện và nhận dạng mặt người phục vụ trong
công tác quân sự, an ninh v.v... Đặc biệt trong lĩnh vực nhận dạng bằng sinh trắc
học, sau sự kiện 11/9/2001, việc nghiên cứu và đưa vào ứng dụng thực tế lĩnh vực
nhận dạng bằng sinh trắc đã được các nhà khoa học và chính phủ nhiều nước chú
trọng. Đơn cử có thể kể tới hệ thống kiểm soát (tự động) tại các cửa khẩu vào /ra ở
Mỹ, Úc, khối EU và ở một số nước châu Á (Singapore, Thái Lan, ...) đã xử dụng
thông tin sinh trắc vào trong quá trình kiểm soát xác định thật giả về giấy tờ và con
người. Cho đến nay, theo Tổ chức hàng không dân dụng thế giới - ICAO cho biết đã
có khoảng 34 quốc gia áp dụng việc đưa các thông tin sinh trắc vào hộ chiếu để
chống làm giả và dùng trong các của kiểm soát tự động tại biên giới. Trong đó,
thông tin ảnh mặt là một thông tin bắt buộc dùng để đối sánh và nhận dạng bởi tuy
các phương pháp nhận dạng bằng ảnh mặt thường cho chất lượng chưa cao bằng các
phương pháp sử dụng các đặc điểm sinh trắc khác như vân tay hoặc tròng mắt do
ảnh mặt thu nhận được thường bị ảnh hướng lớn của nhiễu, đặc biệt là môi trường
và chất lượng của các thiết bị thu nhận hình ảnh song ảnh mặt là một đặc điểm sinh
trắc mà ta có thể thu nhận một cách nhanh chóng và dễ dàng nhất (sử dụng các
camera quan sát tự động).
Tại Việt Nam, việc ứng dụng thông tin sinh trắc vào trong các giấy tờ (hộ
chiếu, chứng minh thư, ...) cũng đang được tích cực nghiên cứu để đưa vào ứng
dụng (hộ chiếu điện tử dự kiến sẽ được thử nghiệm trong năm 2008).
Từ những lý do trên, tôi đã chọn đề tài luận văn: “Tìm kiếm và nhận dạng
khuôn mặt người trong ảnh”.

7
Bố cục của luận văn gồm:
Chương 1: Phát biểu bài toán
Nêu lên một số khái niệm liên quan đến nhận dạng khuôn mặt; các ứng dụng
tương tác người máy liên quan đến nhận dạng khuôn mặt; điểm qua một số phương
pháp nhận dạng khuôn mặt được nghiên cứu và cải tiến trong thời gian gần đây.
Chương 2: Dò tìm khuôn mặt người trong ảnh màu
Giới thiệu một số phương pháp dò tìm khuôn mặt người dựa trên màu da.
Chương 3: Rút trích đặc trưng từ khuôn mặt người
Trình bày phương pháp phân tích các thành phần chính PCA (Principal
Component Analysis) rút trích đặc trưng từ ảnh bản đầu.
Chương 4: Mô hình Markov ẩn và ứng dụng nhận dạng khuôn mặt
Giới thiệu mô hình Markov ẩn, một số bài toán cơ bản của mô hình Markov
và ứng dụng mô hình trong nhận dạng khuôn mặt người.
Chương 5: Kết luận

8
1 Chương 1 PHÁT BIỂU BÀI TOÁN
1.1 Tổng quan và các khái niệm liên quan đến nhận dạng khuôn
mặt
1.1.1 Hệ thống sinh trắc học
Hệ thống sinh trắc học là một hệ thống được thiết kế để xác minh và nhận
dạng một người dựa vào những đặc trưng sinh học duy nhất của người đó.

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


Hệ thống nhận dạng khuôn mặt là một hệ thống được thiết kế để tìm thông
tin của một người. Kĩ thuật nhận dạng là kiểm tra sự phù hợp dựa trên phép so sánh
một-nhiều cụ thể là tìm ra một người là ai trong số những người đã được lưu trữ
trong hệ thống dựa vào thông tin khuôn mặt.

1.1.3 Hệ thống xác minh hay xác thực khuôn mặt là gì?
Hệ thống xác minh/xác thực khuôn mặt là một hệ thống được thiết kế để xác
minh thông tin của một người. Kĩ thuật xác minh là kiểm tra sự phù hợp trên phép
so sánh một-một cụ thể là đối chiếu thông tin mới nhận về một người với thông tin
đã lưu trữ về người này có khớp hay không dựa trên thông tin khuôn mặt.

Hoàn toàn không biết thông tin Đã biết trước thông tin

Nhận dạng người Xác minh người


(identification) (verification)
ngưòi này là ai ? Đây là Hùng phải không?
Kết quả

Kết quả

Hùng Đúng / sai

Hình 1-1. So sánh hai tác vụ nhận dạng khuôn mặt và xác nhận khuôn mặt

9
1.1.4 Hệ thống nhận dạng tĩnh - tĩnh, tĩnh - động, động - động

1.1.4.1 Hệ thống nhận dạng tĩnh - tĩnh


Hệ thống nhận dạng tĩnh - tĩnh là hệ thống được thiết kế bằng cách sử dụng
một số ảnh tĩnh làm mẫu để nhận dạng khuôn mặt người trong ảnh tĩnh. Kỹ thuật
nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một - nhiều như hệ thống
nhận dạng nói chung ở trên.

1.1.4.2 Hệ thông nhận dạng tĩnh - động


Hệ thống nhận dạng tĩnh - động là hệ thống được thiết kế bằng cách sử dụng
một số ảnh tĩnh làm mẫu để nhận dạng khuôn mặt người trong ảnh động. Kỹ thuật
nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một - nhiều như hệ thống
nhận dạng nói chung ở trên, song ảnh cần kiểm tra là các khung ảnh động trong các
đoạn phim từ các máy camera. Kỹ thuật này dĩ nhiên không thể chính xác vì chuyển
động của mặt người trong đoạn phim khá phức tạp song thể hiện trong ảnh tĩnh để
huấn luyện lại ít.

1.1.4.3 Hệ thống nhận dạng động - động


Hệ thống nhận dạng động - động là hệ thống được thiết kế bằng cách sử
dụng các ảnh động làm mẫu để nhận dạng khuôn mặt người trong ảnh động. Kỹ
thuật nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một - nhiều như hệ
thống nhận dạng nói chung ở trên. Tuy nhiên, kỹ thuật này chính xác hơn kỹ thuật
sử dụng trong hệ thống nhận dạng tĩnh - động do sự chuyển động phức tạp của
khuôn mặt người cũng được huấn luyện bằng các khung ảnh động.

1.1.5 Những thách thức trong bài toán nhận dạng khuôn mặt
Những biến đổi quá lớn giữa các ảnh khuôn mặt khác nhau từ một người cần
nhận dạng gồm trạng thái cảm xúc trên khuôn mặt, ánh sáng, và các thay đổi vị trí
của khuôn mặt..vv.
Giới hạn về số ảnh cần thiết cho việc nhận dạng, tập học không thể bao quát
được tất cả các biến đổi có thể có trên khuôn mặt của một người cần nhận dạng
trong thế giới thực.

1.1.6 Sai số trong hệ nhận dạng [20]


Hệ nhận dạng bằng sinh trắc luôn có sai số nói cách khác không thể chính
xác tuyệt đối.
Độ chính xác của (đối sánh 1:1, và 1:N) phụ thuộc nhiều yếu tố, ví dụ thông
tin sinh trắc (Sample data), bản thân thuật toán trích chọn đặc điểm (enrollment) và
thuật toán đối sánh (matcher), kích cỡ CSDL - miền đối sánh.
Có 2 đại lượng chính dùng để đo lường sai số của một hệ nhận dạng bằng
sinh trắc:

10
 Sai số bắt nhầm – FAR (False Acceptance Rate) có tài liệu gọi là FMR
(False Match Rate)
 Sai số bỏ sót – FRR (False Reject Rate) có tài liệu gọi là FNMR (False
Non Match Rate)
Độ chính xác – TAR (True Accpetance Rate) là dẫn xuất của FRR
 TAR = 1 - FRR
FAR và FRR là hàm số của t – ngưỡng xét trùng
 FAR(t)
 FRR(t)
 ERR là điểm mà FRR = FAR

Hình 1-2. Hình biểu diễn hàm FRR và FAR


Để đánh giá chất lượng một hệ thống nhận dạng mặt người một cách khách
quan cần:
 Số cá nhân đối sánh đủ lớn.
 Đo với CSDL đủ lớn.
1.2 Các ứng dụng tương tác người máy (Human computer
interactive) liên quan đến khuôn mặt
Từ những năm 1990 trở lại đây, chúng ta đã chứng kiến sự phát triển như vũ
bão của các ngành công nghiệp, đặc biệt là ngành công nghiệp chế tạo điện tử. Tuy
nhiên hiện nay các thiết bị điện tử cao cấp như máy ảnh số, camera kĩ thuật số, và
nhiều sản phẩm khác dường như chỉ phù hợp cho các phòng thí nghiệm, các công ty

11
sản xuất kinh doanh, thương mại, tài chính, ngân hàng, ... Trong thời gian không xa,
chi phí cho các thiết bị này sẽ giảm đáng kể. Khi đó sẽ mở ra nhiều hướng nghiên
cứu về thị giác máy tính, đồng thời sẽ có nhiều ứng dụng trong giao tiếp giữa người
với máy tính mà trong đó hệ thống nhận dạng mặt người đóng một vai trò không
nhỏ. Dưới đây là một số ứng dụng.
 Các ứng dụng chuyên biệt cho ngành hàng không
 Đảm bảo sự truy cập và tính hợp lệ trong công việc cho từng nhân viên:
Mỗi nhân viên làm việc tại cảng hàng không cũng như nhân viên phi hành
đoàn được cung cấp quyền truy cập để đến vị trí làm việc. Làm thế nào để
xác minh nhân viên này vào đúng khu vực làm việc hay không?
 Làm sao để đảm bảo trong số những hành khách không có sự trà trộn của
một số kẻ khủng bố/tội phạm quốc gia/ quốc tế?
 Bảo vệ trẻ em ở nhà trẻ từ bọn bắt cóc
 Quy định rằng, chỉ có những nhân viên của nhà trẻ mới được phép dẫn trẻ
em ra ngoài và trao tận tay cho bố mẹ đón về. Nhưng trong xã hôi cũng có
một số trường hợp giả danh nhân viên để bắt cóc trẻ em với mục đích xấu.
Làm thể nào để ngăn chặn hành vi xấu này?
 Nhận dạng khuôn mặt được sử dụng kèm với thẻ quy cập
 Trong các nước phát triển, hầu như mọi người dân đều dùng thẻ tín dụng
để mua bán, rút tiền, trao đổi hàng hóa. Điều này rất nguy hiểm khi thẻ truy
cập này bị người khác nhặt được hay biết được mật khẩu của sở hữu thẻ này?
Làm cách nào có thể bảo đảm an toàn nhất?
Có thể dùng song mật khẩu: Có nghĩa sử dụng khuôn mặt như là một
mật khẩu thứ hai để truy cập vào hệ thống cùng với thông tin từ card truy
cập. Để rút được tiền
• Đưa thẻ vào hệ thống
• Đưa khuôn mặt vào để nhận dạng
• Xác minh người này có phải là chủ sở hữu của thẻ hay không?
Nếu khớp thì hệ thống cho rút tiền
Nếu không thì hệ thống không cho rút tiền.
 Kinh doanh thương mại điện tử
 Với sự tiến bộ của khoa học công nghệ, nhiều hình thức kinh doanh
thương mại xuất hiện, đặc biệt là thương mại điện tử. Việc buôn bán và trao
đổi giữa hai bên đối tác không cần diễn ra trực tiếp (mặt đối mặt), mà chỉ cần
qua mạng với hình ảnh của người đại diện. Tuy nhiên bên cạnh đó sẽ có
nhiều mặt tiêu cực trên hình thức kinh doanh này, đó là các vụ lừa đảo, giả
mạo, giả danh.v..v... Làm sao để biết được đối tác của mình là thật hay giả?

12
 Ngăn chặn việc xuất/nhập cảnh bất hợp pháp
 Một số người không được xuất/nhập cảnh vào nước, song họ cố tình khai
gian giấy tờ để xuất/nhập cảnh bất hợp pháp. Làm sao để ngăn chặn được sự
gian lận này?
 Lần dấu vết đi tìm kẻ khủng bố
 Từ những bức ảnh số hay những đoạn video số đã được ghi lại tự động về
hiện trường trước khi vụ khủng bố xảy ra. Cần nhận dạng những đối tượng
khả nghi của vụ khủng bố này?
 Hệ thống giám sát công nhân và chấm công tự động
 Hiện nay trong các khu công nghiệp hay những công ty sản xuất lớn có
hàng ngàn công nhân vào ra mỗi ngày nên việc giám sát kẻ gian vào công ty
cũng như công việc chấm công rất phức tạp. Vậy làm thế nào để nhận ra
từng nhân viên của công ty.
Tóm lại: Nhu cầu sử dụng các hệ thống xử lý dùng trí tuệ nhân tạo ngày càng phát
triển, mà trong đó nhận dạng khuôn mặt để mã hóa mật khẩu cá nhân là một nhu
cầu thiết yếu hiện nay và trong tương lai. Đặc biệt vụ khủng bố ngày 11-9-2001 tại
Mỹ đã đánh dấu một bước ngoặc mới trong xu hướng nghiên cứu và giá trị thương
mại của các hệ thống sinh trắc học ứng dụng trong quân sự và an ninh.
1.3 Các hướng tiếp cận chính trong lĩnh vực nhận dạng khuôn mặt
1.3.1 Các công trình nghiên cứu về phương pháp nhận dạng và kiểm chứng
chất lượng cho một hệ thống nhận dạng khuôn mặt
Bài toán nhận dạng khuôn mặt cần xác định hai vấn đề chính: dùng thông tin
nào để nhận dạng: chân mày, cặp mắt, mũi, môi, tai, hay kết hợp các thông tin trên.
Và dùng phương pháp nào để huấn luyện cho máy nhận dạng dùng nguồn thông tin
đó. Nhận dạng khuôn mặt trên máy tính đã trải qua nhiều bước thăng trầm, chúng ta
có thể liệt kê một số kết quả như sau:
Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets, John
Weng (1998)[4] sử dụng phương pháp PCA (phân tích thành phần chính) kết hợp
LDA (phân tích độc lập tuyến tính). Bước 1, chiếu ảnh khuôn mặt từ không gian
ảnh thô sang không gian các không gian khuôn mặt (Mỗi lớp khuôn mặt được nhận
dạng sẽ được mô hình hóa bằng một không gian khuôn mặt) dùng PCA. Bước 2, sử
dụng phương pháp LDA để tạo bộ phân loại tuyến tính có khả năng phân lớp các
lớp khuôn mặt.
John Daugnman (1998), đưa ra phương pháp dùng đặc trưng về tròng của
mắt để phân biệt cặp (trai/gái) song sinh.
Emmanuel Viennet và Francoise Fogelman Soulie (1998), sử dụng phương
pháp mạng neural nhân tạo để xử lý và nhận dạng khuôn mặt.

13
Antonio J.Colmenarez và Thomas S.Huang (1998),[5] sử dụng kỹ thuật học
thị giác và phù hợp mẫu 2-D. Ông quan niệm bài toán dò tìm khuôn mặt là thao tác
phân loại khuôn mặt trong đó khuôn mặt thuộc về một lớp và các đối tượng khác
thuộc về lớp còn lại bằng cách ước lượng mô hình xác suất cho mỗi lớp, và việc dò
tìm sử dụng luật quyết định Maximum-likelihood.
Kazunori Okada, Johannes Steffens, Thomas Maurer, Hai Hong, Egor
Elagin, Hartmut Neven, and Christoph (1998),[6] nhận dạng khuôn mặt dựa vào
sóng Gabor và phương pháp phù hợp đồ thị bó. Với ý tưởng dùng đồ thị để biểu
diễn khuôn mặt, ảnh khuôn mặt được đánh dấu tại các vị trí đã được xác định trước
trên khuôn mặt, gọi các vị trí này chính là các vị trí chuẩn. Khi thực hiện thao tác so
khớp đồ thị với một ảnh, các điểm chuẩn (Jets) sẽ trích ra từ ảnh và so sánh các
điểm chuẩn này với tất cả các điểm chuẩn tương ứng trong các đồ thị khác nhau, và
đồ thị nào phù hợp nhất với ảnh sẽ được chọn.
Baback Moghaddam và Alex Pentland (1998) [7], đưa ra phương pháp phù
hợp thị giác trực tiếp từ các ảnh cần sử dụng cho mục đích nhận dạng khuôn mặt và
dùng độ đo xác suất để tính độ tương tự.
Massimo Tistaelli và Enrico Grosso (1998) [8], đưa ra kỹ thuật thị giác động.
Vì khả năng quan sát các chuyển động của khuôn mặt và xử lý các tình huống theo
dự định là thông tin rất quan trọng, từ đó nhận được mô tả đầy đủ hơn về khuôn mặt
cho mục đích thu thập mẫu và nhận dạng.
Jeffrey Huang, Chengjun Liu, và Harry Wechsler (1998)[9], đề xuất thuật
toán căn cứ trên tính tiến hóa (Evolutionary computation) và di truyền (Genetic) cho
các tác vụ nhận dạng khuôn mặt. Đối với cách tiếp cận này, hai mắt sẽ được dò tìm
trước tiên và thông tin này được xem là vết để quan sát khuôn mặt, trình xử lý dò
tiếp mắt bằng cách sử dụng một thuật toán lai để kết hợp thao tác học và tiến hóa
trong quá trình học.
Daniel Bgraham và Nigel M Allinson (1998)[10], sử dụng phương pháp
được gọi là tạo bản sao không gian đặc trưng để biểu diễn và nhận dạng hướng di
chuyển của khuôn mặt.
Oi Bin Sun, Chian Prong Lam và Jian Kang Wu (1998)[11], sử dụng phương
pháp tìm vùng hai chân mày, hai mắt, mũi, miệng và cằm. Ảnh khuôn mặt thẳng
ban đầu được chiếu theo chiều ngang để tìm các giá trị điểm ảnh thỏa ngưỡng cho
trước, đồ thị biểu diễn theo trục ngang sẽ định vị trí biên trên và biên dưới của hình
chữ nhật bao các đặc trưng cục bộ khuôn mặt. Tương tự với chiều đứng để tìm ra
đường biên bên trái và phải cho các vùng đặc trưng.
Ara V.Nefian và Monson H.Hayes III (1998) trình bày hướng tiếp cận theo
mô hình Markov ẩn (HMM) trong đó ảnh mẫu khuôn mặt được lượng hóa thành
chuỗi quan sát trên khuôn mặt theo quan niệm dựa trên thứ tự xuất hiện các đặc
trưng khuôn mặt {hai chân mày, hai lông mi, mũi, miệng, cằm}. Trong chuỗi quan
sát đó, mỗi quan sát lại là một vector nhiều chiều và mỗi vector quan sát này được

14
sử dụng để đặc trưng cho mỗi trạng thái trong chuỗi trạng trạng thái của HMM. Mỗi
người được ước lượng bằng một mô hình của HMM.
Guodong Guo, Stan Z.Li, Kap Luk Chan (2001), dùng phương pháp SVM để
nhận dạng khuôn mặt. Sử dụng chiến lược kết hợp nhiều bộ phân loại nhị phân để
xây dựng bộ phân loại SVM đa lớp.

1.3.2 Hướng tiếp cận được thử nghiệm trong luận văn
Trong đề tài đi vào tìm hiểu phương pháp nhận dạng dùng HMM; tìm hiểu
phương pháp PCA (phân tích thành phần chính) để trích chọn đặc trưng từ ảnh.
Việc cô lập khuôn mặt trong ảnh đầu vào (ảnh chứa khuôn mặt) được thực
hiện với phương pháp dò tìm dựa trên màu da kết hợp với mô hình Markov ẩn.

15
2 Chương 2 DÒ TÌM KHUÔN MẶT TRONG ẢNH MÀU
2.1 Giới thiệu
Dò tìm đối tượng là bài toán cơ bản và quan trọng trong lĩnh vực thị giác
máy tính. Các kỹ thuật đã được áp dụng có thể chia thành một trong hai tiếp cận: so
khớp các mô hình hình học hai, ba chiều vào ảnh [Seutens at al., 1992, Chin và
Dyer, 1986, Besl và Jain, 1985], hay phương pháp so khớp các mô hình khung vào
ảnh có chứa khuôn mặt cần dò tìm. Các nghiên cứu trước đây cho thấy rằng các
phương pháp dựa trên khung nhìn có thể dò tìm các khuôn mặt thẳng trong nền
phức tạp một cách hiệu quả.
Việc phát triển bộ dò tìm đối tượng dựa trên khung nhìn dùng máy học có ba
vấn đề chính. Thứ nhất, ảnh của các đối tượng (chẳng hạn khuôn mặt) biến đổi
nhiều, tuỳ thuộc vào độ sáng, tình trạng che lấp, tư thế, biểu hiện khuôn mặt và tính
giống nhau. Thuật toán dò tìm giải quyết với càng nhiều biến đổi càng tốt. Thứ hai,
một hay nhiều mạng neural được huấn luyện để giải quyết với mọi biến đổi còn lại
trong việc phân biệt đối tượng (object) với không phải đối tượng (non-object). Thứ
ba, đầu ra từ các bộ dò tìm phải được kết hợp lại thành một quyết định có biểu diễn
đối tượng hay không.
Hai bài toán dò tìm và nhận dạng đối tượng có liên quan mật thiết. Hệ thống
nhận dạng đối tượng có thể xây dựng mà không có tập bộ dò tìm đối tượng, mỗi bộ
dò tìm dò một đối tượng quan tâm. Tương tự, bộ dò tìm đối tượng có thể được xây
dựng mà không có hệ thống nhận dạng đối tượng; bộ nhận dạng đối tượng này cần
phân biệt đối tượng mong muốn với mọi đối tương khác có thể xuất hiện hay là lớp
đối tượng chưa biết. Do đó hai bài toán là như nhau, dù trong thực hành hầu hết các
hệ thống nhận dạng đối tượng ít khi giải quyết nền tuỳ ý, và các hệ thống dò tìm đối
tượng ít khi được huấn luyện trên đủ loại đối tượng để xây dựng hệ thống nhận
dạng. Điểm chú trọng khác nhau của các bài toán này dẫn đến các trình bày và thuật
toán khác nhau.
Thông thường, các hệ thống nhận dạng khuôn mặt làm việc bằng cách trước
hết áp dụng bộ dò tìm khuôn mặt để định vị khuôn mặt, sau đó áp dụng thuật toán
nhận dạng để nhận diện khuôn mặt.
Bài toán dò tìm khuôn mặt nhanh trên ảnh là bài toán quan trọng vì là quá
trình nhận dạng đối tượng sẽ thiếu chính xác nếu như thiếu bước dò tìm và định vị
được đối tượng. Bài toán dò tìm khuôn mặt nhanh có ý nghĩa rất quan trọng trong
việc nhận dạng, theo vết các đối tượng chuyển động trong các đoạn video hay
camera.

2.1.1 Các thách thức trong việc dò tìm khuôn mặt


Việc dò tìm đối tượng là bài toán xác định cửa sổ con của ảnh có thuộc về
tập các ảnh của đối tượng quan tâm hay không. Do đó, đường biên quyết định của

16
tập ảnh đối tượng phức tạp sẽ làm tăng độ khó của bài toán và có thể tăng số lỗi dò
tìm.
Giả sử ta muốn dò khuôn mặt nghiêng trong mặt phẳng ảnh, ngoài các khuôn
mặt thẳng. Việc thêm các khuôn mặt nghiêng vào tập các ảnh ta muốn dò tìm làm
tăng độ biến thiên của tập, và có thể làm tăng độ phức tạp của đường biên quyết
định của tập ảnh. Độ phức tạp này làm bài toán dò tìm khó hơn. Việc thêm ảnh mới
vào tập ảnh đối tượng có thể làm đường biên quyết định đơn giản hơn và dễ học
hơn. Có thể tưởng tượng điều này là đường biên quyết định được làm trơn bằng
việc thêm các ảnh vào tập.
Có nhiều nguồn biến đổi trong bài toán dò tìm đối tượng, và cụ thể trong bài
toán dò tìm khuôn mặt. Có các nguồn biến đổi sau.
 Biến đổi trong mặt phẳng ảnh: loại biến đổi ảnh khuôn mặt đơn giản nhất có
thể được biểu diễn độc lập với khuôn mặt, bằng cách quay, dịch chuyển, biến
đổi tỷ lệ và soi gương ảnh.
 Biến đổi độ sáng và ngữ cảnh: biến đổi do đối tượng và môi trường gây ra,
cụ thể các thuộc tính bề mặt của đối tượng và các nguồn sáng. Các thay đổi
về nguồn sáng nói riêng có thể biến đổi hoàn toàn vẻ bề ngoài của khuôn
mặt.
 Biến đổi nền: Trong luận văn của mình, Sung cho rằng với kỹ thuật nhận
dạng mẫu hiện nay, tiếp cận dựa trên khung nhìn để dò tìm đối tượng chỉ
thích hợp cho các đối tượng có “đường biên ảnh có thể dự đoán được”. Khi
đối tượng có hình dáng dự đoán được, ta có thể trích ra window chỉ chứa các
pixel bên trong đối tượng, và bỏ qua nền.
 Biến đổi hình dáng: với khuôn mặt, loại biến đổi này bao gồm biểu lộ tình
cảm khuôn mặt, miệng và mắt mở hay đóng, và hình dáng khuôn mặt của
từng người.
Tuy nhiên, nếu việc dò tìm được tiến hành trên các đoạn video hay camera ta
có thể áp dụng các phương pháp xử lý các khung hình liên tục cùng một lúc như
theo vết đối tượng, trừ ảnh v..v…

2.1.2 Một số hướng tiếp cận thường được dùng trong dò tìm khuôn mặt
nhanh
 Hướng dò tìm khuôn mặt trên ảnh màu dựa trên sự phân tích màu sắc của
vùng da. Mặc dù việc xử lý khá nhanh nhưng hướng này có giới hạn chỉ xử
lý trên ảnh màu và thường nhạy cảm với ánh sáng, thường chỉ sử dụng làm
các bước tiền xử lý cho các hướng khác.
 Hướng dò tìm khuôn mặt dựa trên đặc trưng chủ yếu dựa vào các đặc trưng
của khuôn mặt người được quy định trước. Thành công nhất trong dò tìm

17
khuôn mặt người trong thời gian thực là phương pháp ASM (Active shape
Models).
 Hướng dò tìm khuôn mặt dựa trên thông tin hình ảnh gồm mạng nơron, các
hướng thông kê (SVM, AdaBoost, …). Phương pháp SVM và mạng nơ ron
cũng đạt được kết quả cao trong thời gian khá nhanh song cũng chỉ vài ảnh
trong một giây nên khó có thể áp dụng trong việc nhận dạng thời gian thực.
Riêng phương pháp AdaBoost cho kết quả khả quan vì có thể xử lý đến
khoảng 15-20 khung hình trong một giây.
2.2 Tìm kiếm khuôn mặt người trong ảnh dựa trên màu da
2.2.1 Giới thiệu [16]
Sự dò tìm da chính là phát hiện những điểm da con người từ một hình ảnh
màu. Đầu ra hệ thống là một hình ảnh dưới dạng nhị phân trên cùng lưới điểm như
hình ảnh đầu vào với 1 biểu thị cho da và 0 biểu thị cho nền. Hình 2.1 cho thấy một
hình ảnh màu đầu vào và một ảnh đầu ra kết quả của sự dò tìm da.

Hình 2-1. Ảnh màu với da và kết quả của sự dò tìm da

Sự dò tìm da đóng một vai trò quan trọng trong nhiều ứng dụng như sự dò
tìm mặt, sự tìm kiếm và lọc nội dung ảnh trên mạng, sự phân đoạn vi đi ô và giám
sát tự động, ...
Tuy nhiên sự dò tìm da không phải là một nhiệm vụ dễ. Trước hết, màu da
của mỗi người có thể rất khác nhau. Trong hình 2.2, có người da trắng, người Châu
Phi và người Chấu Á, … Hơn nữa, một khi những hình ảnh được thu nhận với
những thiết bị có đặc điểm kỹ thuật khác nhau dưới nhiều điều kiện, chúng tùy
thuộc vào tất cả các loại nhiễu và sự biến dạng. Hình 2.3 cho thấy vài ví dụ.

18
Hình 2-2. Mầu da của một số chủng tộc người khác nhau

Hình 2-3. Mẫu da bị ảnh hưởng bởi các loại nhiễu và biến dạng

Một hệ thống dò tìm da thì không bao giờ hoàn hảo và những người dùng
khác nhau sử dụng tiêu chuẩn khác nhau cho sự đánh giá.

2.2.2 Dò tìm da trên ảnh màu


Nghiên cứu đã được thực hiện trên sự dò tìm của những điểm da con người
trong những hình ảnh màu trên sự phân biệt giữa những điểm da và không da bằng
việc sử dụng nhiều mô hình màu. Có hai vấn đề chủ yếu mà chúng ta phải thực hiện
ở đây là làm sao để chúng ta có thể phân biệt những điểm da từ những điểm không
phải da; và không gian màu nào sẽ được lựa chọn để tốt nhất cho việc thực hiện
phân tích.

19
2.2.2.1 Mô hình hóa da
Mục đích của việc mô hình hóa da là xây dựng cho một quy tắc quyết định
những điểm da từ những điểm không phải da. Công việc này có thể chia thành hai
vùng chính: mô hình không tham số và mô hình tham số.
 Mô hình da không tham số
Kết quả của những phương pháp này đôi khi được viện dẫn như xây dựng
bản đồ xác suất da, một xác suất đánh giá từng điểm trong mô tả không gian màu.
Những mô hình Bayesian dựa vào histograms
Trong [17] [3] các tác giả mô hình những màu da và không da thông qua
histograms. Họ chia không gian mầu C thành số các bin c  C và đếm số điểm ảnh
mầu trong mỗi bin Nskin(c) đại diện cho lớp da và N skin đại diện cho lớp không phải
da. Cuối cùng, họ bình thường hóa mỗi bin để có phân phối p(c|skin)/p(c|skin). Để
cho Nskin biểu thị số những điểm da và Nskin biểu thị số những điểm không da trong
tập huấn luyện, chúng ta có:
N skin (c)
p(c | skin)  (2.1)
N skin
N skin (c)
p(c | skin)  (2.2)
N skin
cũng như
N skin
p( skin)  (2.3)
N skin  N skin
N skin
p(skin)   1  p( skin) (2.4)
N skin  N skin

Công thức Bayesian đánh giá xác suất da/không da theo màu của điểm đã cho:
p(c | skin) p( skin)
p( skin | c)  (2.5)
p(c | skin) p( skin)  p(c | skin) p(skin)
p(skin)  1  p(skin | c) (2.6)
Việc đưa ra quyết định được dựa trên một ngưỡng , 0 <  < 1. Điểm được gọi
là điểm da nếu p(skin|c) >  và ngược lại điểm không phải là da nếu p(skin|c) ≤ .

Mạng tự tổ chức (SOM)


Được đưa ra bởi Kohonen ở những năm đầu thập kỷ 80, ngày nay SOM đã
trở thành phổ biến và được sử dụng rộng rãi trong những kiểu mạng nơron nhân tạo
không giám sát. SOM cơ bản gồm có một mạng hai chiều L nơron. Mỗi nơron n i 
L có liên hệ với một vectơ vi  Rm mà được khởi tạo ngẫu nhiên khi bắt đầu. Ở đây

20
sử dụng không gian màu hai chiều nên m = 2. Mạng có thể là hình chữ nhật hoặc
lục giác. Hình 2.4 cho thấy những ví dụ của cả hai dạng cũng như khu lân cận của
những nút trung tâm.

Hình 2-4. Những mạng SOM với những hệ thống khu lân cận [2]

Trong thứ tự để huấn luyện SOM, chúng ta giới thiệu những vectơ huấn
luyện tuần tự tới tất cả các nơron trong mạng. Mỗi lúc vectơ đầu vào v được gửi vào
trong SOM, một nơron vw thắng cuộc được xác định bởi
|| vw  v ||  || vi  v ||, i  I (1.7)

trong đó, I là tất cả các chỉ số của các nơron trong mạng. Những nơron trong
khu vực lân cận thì điều chỉnh các vector v của chúng theo một hàm học. Trong khi
sự huấn luyện tiến triển, nhịp độ học và kích thước khu lân cận bị tác động làm cả
hai giảm bớt. Mạng dần dần hình thành một ánh xạ có trật tự tôpô (hoặc có đặc tính
bản đồ) của dữ liệu huấn luyện. Nếu cần thiết, một pha định kích cỡ rồi đánh dấu,
nơi được gắn nhãn dữ liệu huấn luyện thì tuần tự được giới thiệu tới SOM. Nhãn dữ
liệu và chỉ số của nơron thắng cuộc được ghi mỗi thời gian. Mỗi nơron rồi được gán
một nhãn nào đó. Cho sự phân loại, mỗi nơron đầu vào chỉ cần nắm lấy nhãn của
nơron thắng cuộc. Brown chọn mạng lục giác và kích thước của mạng là khoảng 16
- 256. Họ chỉ ra rằng sự thực hiện của SOM ở lề tốt hơn sự pha trộn Gaussian,
trong khi thấp hơn những phương pháp trên histogram.
Điểm tốt là nó tiêu thụ ít tài nguyên hơn những phương pháp dựa trên
histogram và có thể được thực hiện trong phần cứng SOM nhanh và rẻ.
 Những lợi thế của những phương pháp không tham số:
 Chúng nói chung nhanh trong cả sự huấn luyện và kiểm tra;

21
 Phương pháp không quan tâm hình dạng những phân phối nằm bên dưới
của dữ liệu huấn luyện, như vậy chúng ít ràng buộc hơn trong việc lựa chọn
không gian màu.
Tuy nhiên những mô hình này nói chung cần số lượng lớn của không gian
lưu trữ và thiếu khả năng chèn thêm hoặc khái quát hóa dữ liệu huấn luyện.
Để giảm số bin dùng để lưu trữ mỗi biểu đồ da/không da, người ta đã đề xuất
giảm bớt số của những bin bằng cách đơn giản hóa không gian màu. Ví dụ, nếu ta
chọn không gian mầu RBG (C = {0,...,255}3), chúng ta cần 224 bin để cất giữ mỗi
biểu đồ da / không da. Người tra đã chỉ ra rằng chỉ cần dùng 323 bin là đủ để thể
hiện các biểu đồ da/không da trong không gian màu RGB.
 Mô hình da tham số
Những mô hình tham số thì cần ít không gian lưu trữ hơn nhiều so với các
mô hình không tham số. Chúng thể hiện tính đều đặn của những phân phối và cho
phép phân tích về sau. Chúng có khả năng chèn thêm dữ liệu huấn luyện khi nó thưa
thướt. Những hàm khác nhau có thể được áp dụng theo những vấn đề đặc biệt.
Gaussian đơn
Phân phối màu da những mô hình Gaussian đơn với một hàm mật độ xác
suất Gaussian (pdf) :
1  1 
exp   (c   skin )T skin (c  skin )  (1.8)
1
p(c | skin) 
2  skin  2 
1/ 2

với skin là sự chờ đợi và skin là ma trận hiệp phương sai của các vector màu
da.
Chúng có thể được đánh giá từ những mẫu huấn luyện sau:
1
 skin   N skin (c)c
N skin cC
(1.9)

1
 skin 
N skin 1
N
cC
skin (c)(c  skin )(c  skin )T (1.10)

P(c|skin) có thể được sử dụng như xác suất c thuộc về da. Hoặc chúng ta chỉ
cần phát sinh mô hình khác cho lớp không da và sử dụng công thức Bayesian để có
p(skin|c).
Gaussians kết hợp
Mô hình Gaussian kết hợp là một mở rộng của Gaussian đơn, nó có khả năng
đại diện nhiều phân phối phức tạp hơn. Pdf dưới sự pha trộn của Gaussians được
tính như sau:

22
k
p(c | skin)   i pi (c | skin) (1.11)
i 1

trong đó, pi là những nhân của Gaussian được định nghĩa trong (1.8), từng
cái của chính nó là một phân phối Gaussian, k là số nhân của Gaussian,  i trọng
lượng tương ứng là nhân mà cộng lên tới 1. Chúng ta có thể xây dựng mô hình pha
trộn cho lớp không da tương tự.
Mô hình ranh giới hình bầu dục
Mô hình ranh giới hình bầu dục là mức trên của mô hình Gaussian đơn và sự
pha trộn của Gaussians. Động lực của mô hình này là mặt nghiêng của phân phối
da. Để tính toán cho hình dạng thật của phân phối da, mà xấp xỉ là một hình ê-líp từ
sự quan sát của những mẫu huấn luyện, Lee và Yoo đề xướng để phân ra những
vùng màu da và không da bởi một ranh giới hình bầu dục. Mô hình được định nghĩa
như sau:

(c)  (c   )T skin (c   )
1
(1.12)

trong đó,  và skin sẽ được đánh giá từ tập hợp điểm da huấn luyện. Trước
ước lượng tham số, những người ngoài được loại bỏ từ tập huấn luyện trước hết, mà
là 0 - 5% của sự huấn luyện các mẫu màu da với tần số thấp và được giả thiết là
nhiễu và dữ liệu không đáng kể. Những tham số được đánh giá bởi:
1

Cskin
c
cCskin
(1.13)

1
 skin 
N skin
N skin (c)(c  skin )(c  skin )T (1.14)

trong đó, |Cskin| là số phần tử trong tập hợp màu da Cskin, Cskin  C. skin là sự
chờ đợi của những vector màu da huấn luyện được định nghĩa trong (1.9). Quy tắc
quyết định đơn giản là so sánh (c) với một ngưỡng được chọn : c là da nếu C là
da nếu (c) <  và không phải da nếu ngược lại. Các tác giả đã thử mô hình này
trên 6 không gian màu và qua nhiều thí nghiệm cho thấy mô hình này tốt hơn
Gaussian và Gaussian kết hợp.
Một hạn chế nhỏ của mô hình này là nó có thể chỉ đưa cho quyết định nhị
phân, có nghĩa rằng nó thiếu thông tin liên tục do xác suất cung cấp hàm mật độ.

2.2.3 Không gian màu cho mô hình da


Màu sắc là một phương tiện rất hiệu quả để phân biệt sự xuất hiện các đối
tượng trong khi mức xám chỉ cung cấp được các thông tin về đặc trưng của ảnh.
Các nghiên cứu đã chỉ ra rằng các màu da người khác nhau gây ra rất ít sự phân
nhóm trong không gian màu ngay cả khi xem xét các khuôn mặt thuộc các chủng

23
tộc người khác nhau. Điều này chứng tỏ rằng cấu trúc màu sắc của da người khác
nhau rất ít giữa những người khác nhau.
RGB
Một trong những mô hình màu được sử dụng nhiều nhất để mô hình màu sắc
da người là biểu diễn RGB trong đó những màu khác nhau được xác định bằng sự
kết hợp của ba thành phần màu cơ bản là đỏ, xanh lục và xanh lơ. Khi sự thay đổi
chính của thể hiện màu da là do biến đổi độ chói gây nên, biểu diễn màu chuẩn hoá
được sử dụng do đó có thể xác định được các thay đổi về độ chói. Hệ màu được
chuẩn hoá này có thể xác định được từ các thành phần RGB ban đầu:
R
r
RG B
G
g
RG B
B
b
RG B
Từ các công thức tính trên, ta nhận ra r  g  b  1 . Hệ màu chuẩn hoá do đó
có thể được biểu diễn hiệu quả thông qua hai thành phần r và g trong khi thành phần
b có thể đạt được thông qua công thức b  1  r  g .
Trong phân tích màu da người, biểu đồ phân bố dựa trên hai thành phần r và
g chỉ ra rằng màu khuôn mặt chỉ chiếm một vùng nhỏ trên biểu đồ. Bằng cách so
sánh các thông tin màu của một điểm ảnh lần lượt với các giá trị r và g trong vùng
đó, ta có thể tính toán được khả năng điểm ảnh đó thuộc về vùng da người.
Bên cạnh mô hình màu RGB, có một số mô hình màu khác hiện đang được
sử dụng trong nghiên cứu tìm kiếm khuôn mặt người. Biểu diễn mô hình màu HIS
đã chứng minh tính ưu điểm so với các mô hình khác khi chỉ ra sự khác biệt lớn
giữa các nhóm đặc tính màu da. Vì vậy, mô hình màu này được sử dụng để trích
chọn các đặc tính mặt như mắt, môi và lông mày. Khi sự biểu diễn hình ảnh liên
quan ngày càng chặt chẽ đến sự cảm thụ màu sắc của con người thì mô hình màu
này ngày càng được sử dụng rộng rãi trong các chiến lược phân vùng mặt.
Mô hình màu YIQ cũng được sử dụng trong tìm kiếm khuôn mặt người. Khi
chuyển các màu trong mô hình RGB sang biểu diễn YIQ, có thể nhận thấy thành
phần màu I, bao gồm dải màu từ màu vàng cam đến màu lục lam làm nổi bật vùng
da của người châu á. Sự chuyển đổi hệ màu này xoá đi hiệu quả các vùng màu nền
và cho phép xác định các vùng mặt nhỏ trong môi trường tự nhiên.
Các mô hình khác cũng được sử dụng trong tìm kiếm khuôn mặt người có
thể kể đến HSV, YES, YCbCr, YUV, CIE-xyz, L*a*b*, L*u*v*,CSN…
Terrilon gần đây đã đưa ra một phương pháp nghiên cứu so sánh cách sử
dụng một vài không gian màu được sử dụng nhiều trong tìm kiếm khuôn mặt. Họ đã
so sánh các không gian màu TSL, rg, CIE-xyz và CIE-DSH, HSV,YIQ, CIE-

24
L*u*v* và CIE L*a*b* bằng cách mô hình hoá phân phối màu da hoặc với mô hình
phân phối Gaussian đơn giản hoặc với mô hình phân phối Gaussian kết hợp trong
từng không gian màu. Phương pháp mô men của Hu được sử dụng như là đặc trưng
và một mạng perceptron đa lớp được luyện để phân lớp các vùng có thể là mặt. Nói
chung, người ta đã chỉ ra rằng màu da người trong không gian độ sáng được chuẩn
hoá có thể được mô hình với phân phối Gaussian đơn giản và hoạt động khá hiệu
quả trong khi mô hình với phân phối Gaussian kết hợp có thể được áp dụng trong
một số không gian không chuẩn hoá. Trong các kiểm nghiệm tìm kiếm khuôn mặt
người, mô hình màu TSL đem lại kết quả tốt nhất, nhưng một kết luận tổng quát có
thể được rút ra là tiêu chuẩn quan trọng nhất trong tìm kiếm khuôn mặt người là
mức độ gối nhau giữa phân phối màu da và không phải màu da trong các không
gian màu (điều này phụ thuộc nhiều vào số lượng mẫu da và không phải da màu sử
dụng trong quá trình học).
Phân vùng màu một cách cơ bản có thể được thực hiện thông qua sử dụng
một ngưỡng màu da phù hợp trong đó màu da được mô hình thông qua biểu đồ hoặc
đồ thị màu. Một số phương pháp phức tạp hơn sử dụng các tiêu chuẩn thống kê mà
mô hình mặt biến đổi bên trong một dải hình ảnh rộng. Ví dụ, Oliver, Yang và
Waibel đã sử dụng phân phối Gaussian để biểu diễn một nhóm các màu da của hàng
nghìn mẫu màu da được lấy mẫu từ rất nhiều các màu da của các chủng tộc người
khác nhau. Phân phối Gaussian được biểu trưng bởi trung bình  và mà trận hiệp
biến  . Màu của các điểm ảnh từ ảnh đầu vào có thể được so sánh với mô hình da
màu thông qua khoảng cách Mahalanobis. Khoảng cách này sẽ đem lại ý niệm về sự
tương đồng giữa màu sắc điểm ảnh với mô hình màu da. Một ưu điểm của phương
pháp mô hình màu thống kê là biến đổi về màu của một người khác có thể được
thich nghi bởi mô hình tổng quát thông qua phương pháp học. Sử dụng phương
pháp thích nghi này, phương pháp dò tìm qua màu có thể rất hiệu quả khi thay đổi
các nhân tố của môi trường như điều kiện chiếu sáng hoặc các đặc tính của thiết bị
thu.

2.2.3.1 Phân tách vùng da trong không gian màu rg


 Mô hình màu da
Để có thể phân tách vùng da người khỏi các vùng không phải là da, ta cần có
một mô hình màu tin cậy để có thể thích ứng được với sự đa dạng về chủng tộc
người và các điều kiện chiếu sáng khác nhau. Trong phần này, mô hình màu được
lựa chọn là mô hình màu da trong không gian sắc độ màu.
Trên thực tế mô hình màu được sử dụng nhiều nhất là mô hình RGB sử dụng
trong biểu diễn ảnh màu. Tuy nhiên, mô hình màu RGB không phù hợp để biểu
diễn mô hình màu da. Chính từ nguyên nhân này mà bài toán tìm mô hình màu biểu
diễn màu da nảy sinh và nhiều mô hình màu được đề cập đến như đã chỉ ra trong
phần tổng quan. Trong không gian màu RGB, bộ ba (R,G,B) không chỉ biểu diễn
màu mà còn biểu diễn độ chói của các mầu. Độ chói có thể thay đổi tuỳ theo mặt

25
người dựa trên điều kiện chiếu sáng xung quanh và không phải là đơn vị đo tin cậy
để có thể phân tách được các vùng da và vùng không phải là da. Độ chói do đó có
thể loại bỏ khỏi biểu diễn màu trong không gian sắc độ màu. Các màu sắc độ hay
còn gọi là màu nguyên bản do không có thành phần độ chói được định nghĩa thông
qua quá trình chuẩn hoá sau:
R R
r , b 
RGB RGB
Chú ý là thành phần xanh lục (g) là thừa sau khi chuẩn hoá vì r+g+b=1.
Các màu sắc độ được sử dụng hiệu quả trong nhiều ứng dụng để phân đoạn
các ảnh màu và tất nhiên là phù hợp cho phân đoạn các vùng da, tách vùng da khỏi
các vùng khác. Phân phối màu trong các màu da của nhiều người khác nhau được
phát hiện ra là chỉ tập trung trong một vùng nhỏ trong không gian màu sắc độ.
Nguyên nhân của điều này là do mặc dù màu da của những người khác nhau biến
đổi trong một phạm vi rất rộng nhưng chúng thay đổi về độ sáng nhiều hơn rất
nhiều so với thay đổi về màu sắc. Nói cách khác, màu da của những người khác
nhau nói chung là tương đồng với nhau và chỉ khác nhau chủ yếu về cường độ. Với
nhận xét này, ta tiếp tục tìm hiểu về các bước tiếp theo xây dựng mô hình màu da
trong không gian sắc độ màu.
Như đã trình bày trong phần tổng quan, các mô hình màu biểu diễn da người
đã được nghiên cứu rất nhiều. Một kết luận rút ra từ các nghiên cứu đó đã khẳng
định rằng phân phối màu da của những người khác nhau tụ lại thành vùng trong
không gian sắc độ màu và một phân phối màu da có thể được biểu diễn bằng mô
hình Gaussian N(m,C) trong đó:
Trung bình: m = E {x} với x = (r,b)T
Phương sai: C = E {(x-m)(x-m)T }
Có thể dẫn ra đây một nghiên cứu của Henry Chang và Ulises Robles để
minh hoạ kết quả trên. Hai ông đã lấy 32500 mẫu da của rất nhiều người chụp trong
17 tấm ảnh màu để xác định phân phối màu da trong không gian sắc độ màu. Các
mẫu được lấy từ những người thuộc các chủng tộc khác nhau: người châu Á, người
da trắng, người châu Phi. Các mẫu da sau đó được lọc nhiễu thông qua bộ lọc trung
bình để giảm tác động của nhiễu. Phân phối màu da trong không gian sắc độ được
minh hoạ trong hình dưới đây.

26
Hình 2-5. Phân phối màu cho các màu da khác nhau
Hình sau minh hoạ phân phối Gauss so khớp với biểu diễn phân phối màu da

Hình 2-6. Biểu diễn mô hình màu da bằng phân phối Gauss
Với mô hình màu da này, ta có thể tính được độ tương tự với màu da của
từng điểm ảnh trong ảnh. Do đó với một điểm ảnh, sau khi chuyển từ không gian
màu RGB sang không gian sắc độ màu thì có một cặp màu sắc độ (r,b). Khi đó, độ
tương tự với màu da được tính theo công thức sau:

27
Độ tương tự = P(r,b) = exp[-0.5(x-m)TC-1(x-m)]
với x = (r,b)T và C-1 là ma trận nghịch đảo của ma trận hiệp biến C.
Đến đây, thông qua mô hình màu sắc độ, một ảnh màu có thể chuyển thành
ảnh đa mức xám tại từng điểm ảnh với giá trị của các điểm ảnh biểu diễn độ tương
tự với mô hình màu da hay các điểm ảnh nằm trên vùng da. Với một phương pháp
phân ngưỡng phù hợp, ảnh đa mức xám có thể được chuyển thành ảnh nhị phân
(ảnh đã phân đoạn) biểu diễn các vùng da và các vùng nền.
 Phân đoạn vùng da
Mô hình màu da tính được trong các bước trên cho phép biến đổi ảnh màu
đầu vào thành một ảnh đa mức xám chứa độ tương tự với màu da tại từng điểm ảnh.
Đến đây ta gặp lại bài toán phân đoạn ảnh với kết quả yêu cầu là các vùng da và
không phải da được phân tách dựa trên thông tin mức xám vừa tính được.
Phương pháp phân ngưỡng thích nghi dựa trên quan sát rằng nếu giảm giá trị
ngưỡng xuống thì một cách trực quan có thể làm tăng vùng được phân đoạn. Tuy
nhiên, sự gia tăng về vùng phân đoạn sẽ giảm dần dần (khi tỉ lệ phần trăm các vùng
da tiếp cận đến 100%), nhưng sẽ gia tăng mạnh khi giá trị ngưỡng được coi là quá
nhỏ đến mức các vùng không phải là vùng da cũng được kết hợp vào. Như vậy, giá
trị ngưỡng tại đó quan sát được sự tăng nhỏ nhất về kích cỡ vùng khi giảm dần từng
bước giá trị ngưỡng sẽ là giá trị ngưỡng tối ưu. Thường giá trị ngưỡng được giảm từ
0.65 đến 0.05 theo các các bước 0.1. Nếu sự gia tăng nhỏ nhất được quan sát khi giá
trị ngưỡng chuyển từ 0,45 về 0,35 thì giá trị ngưỡng được lấy là 0.4. Thuật toán
phân ngưỡng thích nghi là một thuật toán đem lại kết quả tốt khi sử dụng để phân
ngưỡng các vùng.
Đến đây, ta thu được một ảnh nhị phân mà các vùng ảnh là các vùng da xuất
hiện trong ảnh màu ban đầu. Vấn đề tiếp theo là tìm ra vị trí vùng mặt trong các
vùng này vì thường trong một ảnh màu, bên cạnh vùng da mặt, các vùng da khác
như chân, tay,... đều có thể xuất hiện. Tuy nhiên ta tạm chưa xét đến các bước tiếp
theo để xem xét một mô hình khác có thể được sử dụng trong tìm kiếm khuôn mặt
dựa trên màu da.

2.2.4 Xác định vùng da sử dụng entropy

2.2.4.1 Khái niệm về entropy


Cho một biến ngẫu nhiên riêng biệt X với phân phối p, entropy của nó được
định nghĩa như sau:
H ( X )    p( x) ln p( x) (2.15)
xX

trong đó X là không gian của biến ngẫu nhiên x. Chúng ta quy ước 0ln0 = 0
(limx->0 xlnx = 0). Như vậy việc thêm những xác suất zero không làm thay đổi

28
entropy. Chú ý rằng entropy là hàm phân phối của X. Nó không phụ thuộc vào
những giá trị thực tế được dữ bởi các biến ngẫu nhiên của X trên những xác suất.
Chúng ta ký hiệu kỳ vọng là E, như vậy nếu X có phân phối p, giá trị kỳ vọng của
biến ngẫu nhiên f(X) được tính bởi:
E p  f ( X )   p ( x) f ( x) (2.16)
xX

Entropy của X có thể có thể được suy ra từ giá trị kỳ vọng của -lnp(X), X
được xác định theo hàm mật độ xác suất p(x), khi đó:
H ( X )  E p  ln p( X ) (2.17)

Có thể dễ dàng kiểm tra rằng entropy của biến ngẫu nhiên X luôn luôn không
âm. Hình 2.7 cho thấy đường cong entropy H(x) của một biến nhị phân X đối với
hàm mật độ xác suất Pr(X) của nó. X có thể lấy hai giá trị riêng biệt 0 hoặc 1.
Chúng ta có thể thấy entropy H(X) nhận giá trị max khi Pr(X = 0) = Pr(X = 1) =
0.5 và giảm bớt dần về mỗi phía. H(X) = 0 khi X có giá trị 0 hoặc 1 với xác suất
bằng 1.

Hình 2-7. Đường cong entropy của biểu diễn biến ngẫu nhiên

2.2.4.2 Phát hiện màu da bằng mô hình Entropy cực đại.


 Một số ký hiệu
Gọi tập các giá trị màu là S, gán nhãn cho giá trị màu tại pixel s là x s, nhãn
của pixel s là ys với ys = 1 nếu s là pixel màu da và ys = 0 nếu ys không phải màu da.
Ảnh màu được xem là một vector của các pixel màu, được ký hiệu là x và ảnh nhị
phân tương ứng được tạo nên bởi các màu da ys là y.
Giả sử biết được phân phối đồng thời của vector p(x,y), theo công thức
Bayes sẽ tính được phân phối hậu nghiệm p(y|x). Mục tiêu cuối cùng là tính xác
suất một giá trị là màu da p(ys=1|xs) từ phân phối hậu nghiệm.
Nhưng trong thực nghiệm chúng ta không biết được phân phối p(x,y), thay
vào đó có thể sử dụng CSDL Compaq (một tập khoảng 20.000 ảnh, đã được đánh
giá các giá trị màu được xem là màu da và không phải màu da):
{(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))}, trong đó 1  i  n, x(i) là một ảnh màu, y(i) là ảnh
nhị phân tương ứng, các mẫu là độc lập với nhau và có xác suất phân phối p(x,y).

29
CSDL Compaq được chia ra làm hai tập một cách ngẫu nhiên, tập thứ nhất được sử
dụng như tập huấn luyện, phần còn lại dùng làm tập kiểm tra. Xác suất được thiết
lập bởi kinh nghiệm và được ký hiệu bởi q.
Bây giờ chúng ta sẽ xây dựng mô hình p(y|x), phân phối xác suất giá trị màu
và màu da với của một ảnh màu sử dụng mô hình entropy cực đại.
 Mô hình Baseline
Với mỗi ảnh x, xem sét các phân phối xác suất p(x,y) thông qua những ảnh
nhị phân tương ứng:
C0 ( x) : s  S , xs  C, ys  0,1, p( ys | xs )  q( ys | xs ) (2.18)
Khi đó với MaxEnt dưới C0 là mô hình độc lập
p( x, y)   q( xs , ys ) (2.19)
sS

Sử dụng công thức Bayes ta được:


p( y, x)   q( ys | xs ) (2.20)
sS

Trong đó q(ys|xs) có được bằng cách sử dụng những xác suất được đánh giá
trong tập dữ liệu học thông qua công thức Bayes:
1
q( ys | xs )  q( xs | ys )q( ys )
q( xs )

với
1
q( xs )   q( x
ys 0
s | ys ) q ( ys )

 Mô hình Markov ẩn (HMM)


Mô hình Baseline ở trên không có được nhiều chặt chẽ, thực tế cho thấy các
vùng da không đơn thuần là phân phối ngẫu nhiên mà nó được cấu tạo nên bởi các
vùng da rộng. Vì vậy, cần tăng cường khả năng nhận dạng bằng cách ràng buộc
thêm xác suất xuất hiện màu da cho các cặp điểm lân cận nhau.
Ở đây, chúng ta sẽ sử dụng hệ thống 4 lân cận cho hai điểm lân cận s và t, ta
quan sát (ys = a, yt = b) sẽ là q(a,b) với a = 0,1 và b = 0,1 tương ứng trên tập học.

Hình 2-8. 4 điểm lân cận và 8 điểm lân cận

30
Giả sử rằng mô hình MaxEnt là đẳng hướng theo hai hướng ngang và dọc, có
nghĩa rằng q(ys,yt) = q(ys',yt') theo cùng một hướng. Ràng buộc HMM như sau:
D: s ~ t  S x S, p(ys = 0, yt = 0) = q(0, 0)
và p(ys = 1, yt = 1) = q(1, 1). (2.21)
Mô hình MaxEnt trong không gian C0  D theo phân phối Gibbs là:
 
p( x, y)   q( xs | ys ) exp   (a0 (1  ys )(1  yt )  a1 ys yt )  (2.22)
sS  s ~t 
Ký hiệu  có nghĩa là đẳng thức trên với một hàm tiêu chuẩn hóa, a0, a1 là
các hằng số được chọn sao cho những sự ràng buộc được thỏa mãn. Từ (2.22) ta thu
được mô hình sau
p( y | x)  p( y) q( xs | ys ) (2.23)
sS

1  
với p( y )   exp  (a0 (1  ys )(1  yt )  a1 ys yt )  (2.24)
Z (a0 , a1 )  s ~t 
trong đó, Z(a0,a1) là hàm tiêu chuẩn hóa, được tính bởi công thức:
Z (a0 , a1 )   (exp  (a0 (1  ys )(1  yt )  a1 ys yt )) (2.25)
y s ~t

 Mô hình First_order
Mô hình Baseline được xây dựng để bắt chước một điểm của phân phối màu
da được quan sát từ CSDL mẫu. Tiến đến trong việc xây dựng HMM chúng ta đã
thêm vào những sự ràng buộc trên phân phối da để làm nhẵn mô hình. Giờ, chúng ta
sẽ đưa ra một mô hình nữa của MaxEnt bằng cách thêm vào hai điểm lân cận,
p(xs,xt,ys,yt). Với 4 điểm lân cận, s  t quan sát trong tập dữ liệu huấn luyện. Chúng
ta định nghĩa rằng buộc như sau:
C1 : s ~ t  S  S , xs  C , xt  C , ys  0,1, yt  0,1,
(2.26)
p( xs , xt , ys , yt )  q( xs , xt , ys , yt )

Rõ ràng, C1  (C0  D)  C0, mô hình MaxEnt trong không gian C0  D


theo phân phối Gibbs là:
 
p( x, y )  exp    ( s, t , xs , xt , ys , yt )  (2.27)
 s ~t 
với (s,t,xs,xt,ys,yt) là những tham số mà cần phải được thiết lâp để thảo mãn
các điều kiện ràng buộc. Từ 2.27 ta có
 
p( y | x)  exp    ( s, t , xs , xt , ys , yt )  (2.28)
 s ~t 

31
 Thiết lập tham số
Giải pháp thiết lập tham số thường được lựa chọn bằng cách tính xấp xỉ mẫu
để có thể đạt được một công thức mà lúc đó hàm phân hoạch bị triệt tiêu. Chúng ta
sử dụng phương pháp lấy mẫu ảnh theo mô hình được định nghĩa trong (2.24) mà
không cần biết các tham số a0 và a1.
Thật vậy, mô hình được định nghĩa trong (2.24) được xem như là tập các ảnh
y tương ứng với các ràng buộc : py(0,0) = q(0,0) và py(1,1) = q(1,1), trong đó:
 N y (0,0)
 p y (0,0)  N (.,.)

 (2.29)
 p (1,1)  N y (1,1)
 y N (.,.)

với N(.,.) là số các clique trong ảnh nhị phân y, Ny(0,0) và Ny(1,1) tương ứng
là các số clique có nhãn là (0,0) và (1,1). py(0,0) và py(1,1) là các xác suất hai điểm
lân cận là màu da hoặc không phải là màu da của tập mẫu. Trong một mạng lớn,
một tập hợp đặc biệt của ảnh sẽ nhận hầu hết các xác suất, trong mỗi ảnh luôn có sự
ràng buộc của chính nó. Trong một mạng vô hạn, tập ảnh sẽ dần dần nhận xác suất
1. Mỗi ảnh thuộc cùng một tập sẽ có cùng một xác suất.
Bây giờ ta đi tìm mô hình tương đương thỏa mãn ràng buộc py(0,0) = q(0,0)
và py(1,1) = q(1,1), có năng lương bé nhất tương đương với entropy của mô hình là
cực đại. Chúng ta xây dựng hàm năng lượng như sau:
2
 1 
H ( y)   
 N (.,.) s ~ t
(1  ys )(1  yt )  q(0,0) 

 y 
2
(2.30)
 1 
 
 N (.,.) s ~ t
ys yt  q(1,1) 

 y 
Trong đó:
 1
 N (.,.)  s ~ t ( ys yt )(1  yt )  p y (0,0)
 y
 (2.31)
 1  yy  p y (1,1)
 N y (.,.) s ~ t s t

H(y) sẽ luôn không âm, khi H(y) đạt Min (= 0) chúng ta có py(0,0) = q(0,0)
và py(1,1) = q(1,1) đảm bảo thỏa mãn ràng buộc D.
Áp dụng thuật toán Metropolis lấy mẫu theo phân phối Gibbs và cực tiểu hóa
hàm năng lượng.
Xét tập ảnh tuần tự y(0), y(1), …, y(n),…Tại bước thứ n, chúng ta chọn y(n) như
sau:

32
Coi y’ là ảnh có được bởi các giá trị của pixel s tại y(n-1)
. Nếu H(y’)  H(y(n-1)) thì y(n)  y’
. Nếu H(y’)  H(y(n-1)) thì

y(n-1)  y’ với xác suất exp((H(y)-H(y’)))


y(n)  y(n-1) với xác suất 1- exp((H(y)-H(y’)))
Nếu tất cả các pixel đều được thăm đủ một số lần và nếu  tăng dần tới vô
hạn thì dãy tuần tự y(n) dần hội tụ tới một mẫu y* mà phân phối là đồng nhất trên
toàn bộ ảnh, thỏa mãn ràng buộc D, hoặc có thể nói rằng toàn bộ ảnh có năng lượng
bé nhất.
Trong bước tiếp theo, chúng ta sử dụng hình ảnh mẫu này để đánh giá tham
số a0 và a1. Điều này được thực hiện bằng cách tính đại lượng p(Y s=1|y(s)) là xác
suất quan sát tại nhãn 1 của điểm s với mọi giá trị của y t, t  S và t  s. Theo
(2.24), ta có:
p(Ys  1 | y( s ) )   ((a1  a0 )ns (1)  4a0 ) (2.32)

trong đó, (x) = (1+e-x)-1 là hàm sigmod, ns(1) là số lân cận của s mà được
gán nhãn là 1(ys = 1).
Điều này có thể thực hiện bởi việc sử dụng duy nhất năm giá trị khác nhau
một khi nó là hàm của ns(1) với ns(1) = 0,1,2,3,4. Với mỗi giá trị có thể của ns(1),
p(Ys=1|y(s)) có thể được đánh giá từ hình mẫu. Điều này dẫn tới năm phương trình
độc lập tuyến tính từ đó a0 và a1 có thể được thiết lập.

Hình 2-9. Một ảnh mẫu từ tập phân phối thỏa mãn D, có năng lượng cực tiểu
Việc thiết lập các tham số từ hình ảnh này cho ta kết quả a0  3,76 và a1 
3,94. Bây giờ có thể sử dụng các tham số này cho việc xác định các vùng da. Chú ý
rằng với việc chọn 4 điểm lân cận sẽ dẫn tới việc những viền nằm ngang và thẳng
đứng thì thường được chú ý. Đây là một sự thiên lệch trong các hệ thống lân cận, sử
dụng 8 điểm lân cận có thể cải thiện trong tính toán.

33
 Phát hiện màu da
Với input là một ảnh màu, phát hiện màu da yêu cầu phải tính p(y s|x) là xác
suất tại pixel s là màu da, output là kết quả của nhận dạng một ảnh đen trắng.
Đối với HMM, định nghĩa trong (2.23) chúng ta sử dụng thuật toán lấy mẫu
Gibbs, lấy dãy tuần tự mẫu sau:
y1, y2,…, yn0,…,yn

với phân phối bất biến. Sau đó tính trung bình p(ys|x) bằng:
n
1
n  n0
y
j  n0 1
( j)
s

Thuật toán lấy mẫu Gibbs được thực hiện như thuật toán dưới đây.
Chú ý rằng các vector u, y được định nghĩa trên lưới S và khi n   ,  s S,
us  p(Ys=1|x), p(Ys = 1|y(s),x) được tính như sau:
p(Ys  1, y (s) | x)
p(Ys  1 | y (s) , x)    (U ( x; y)) (2.33)
 ys p ( y | x)

với
q( xs | Ys  1)
U(x; y)   (q1 y t - a 0 (1 - y t )  ln (2.34)
tVs q( xs | Ys  0)

trong đó  là hàm 1/(1+exp(-x)) và Vs là các lân cận của s.

Thuật toán lấy mẫu Gibbs


u := 0, khởi tạo ảnh nhị phân y(0)
for j = 0 to n – 1 do
y := y(j)
for all s  S do
lấy mẫu ys( j 1) theo p(Ys = 1|y(s),x)
end for
if j + 1 > n0 then
u := u + ys( j 1)
end if
end for
u := u /(n – n0)

34
Chọn mẫu bằng cách: nếu p(Ys = 1|y(s),x) >  thì ys = 1 và ngược lại
chọn ys = 0.

Kết quả thực nghiệm

Xây dựng hai mô hình Baseline và HMM để kiểm thử khả năng phát
hiện màu da thì thấy, khả năng phát hiện da của ba phương pháp trên được
sắp xếp như sau First-order tốt hơn HMM tốt hơn Baseline.

(a) (b) (c) (d)

Hình 2-10. Hình (a): ảnh gốc, hình (b): Baseline, hình (c): HMM,
hình (d): First_order
Nhận xét:
Vùng da dò ra với mô hình Baseline thường bị pha trộn với màu nền trong
các hình phức tạp - mô hình Baseline không dò hết phần da trên mặt .
Kết quả của mô hình Markov ẩn gần hơn với các vùng da thực tế - bởi khả
năng loang màu.

2.2.5 Định vị khuôn mặt bên trong các vùng da


2.2.5.1 Giới thiệu
Đến đây, ta đã có trong tay một ảnh nhị phân biểu diễn các vùng da có trong
ảnh và một ảnh màu nguyên gốc đã được chỉnh sửa để đối sánh. Có thể áp dụng
nhiều phương pháp để tìm ra vị trí khuôn mặt nằm trong các vùng da đó. Các
phương pháp chủ yếu thao tác trên ảnh màu sử dụng ảnh nhị phân làm mặt nạ. Ảnh
màu khi cần có thể chuyển sang ảnh đa mức xám để tiện cho các thuật toán sử dụng
thông tin về mức xám. Chi tiết về các bước định vị có thể có thể chia làm hai bước
chính:
 Bước 1: định vị vùng khả năng mặt là vùng mà theo cách nào đó ta xác
định là có khả năng chứa khuôn mặt nhất.
 Bước 2: quyết định xem vùng khả năng mặt ấy có phải là mặt thật hay
không sử dụng một bộ ra quyết định nào đó. Tại bước này, có rất nhiều

35
phương pháp đã được sử dụng. Hai phương pháp ra quyết định sử dụng đối
sánh mẫu và mô hình Markov ẩn được giới thiệu.

2.2.5.2 Định vị vùng khả năng mặt


Chúng ta có thể sử dụng kỹ thuật quét của sổ để tìm vị trí khuôn mặt trong
đó một cửa sổ kích thước nhỏ thường là 20x20 hoặc 32x32 được di chuyển trên
toàn bộ ảnh đầu vào và mỗi vùng cửa sổ đi qua sẽ được xem xét xem có hay không
sự tồn tại của một khuôn mặt. Trong phương pháp sử dụng màu da, khi mà các vùng
da đã được phân vùng, phạm vi tìm kiếm nếu sử dụng kỹ thuật quét cửa sổ đã được
giảm đi rất nhiều. Trong một số trường hợp, ví dụ như ảnh nhìn thẳng chỉ chứa một
khuôn mặt thì kết quả phân đoạn có thể đã là kết quả cuối cùng. Tuy nhiên, khi sử
dụng phương pháp màu da, các cửa sổ quét không được sử dụng đến nữa mà thay
vào đó là các thông tin về vùng da và các tri thức thu thập được về các vùng da
người. Dựa vào các thông tin đó, có thể tìm ra được các vùng khả năng mặt nhanh
chóng và hiệu quả hơn.
Ta đã biết ảnh đầu vào cho đến bước này được đã được xử lý để tách riêng
các vùng da với nhau. Vấn đề cần phải giải quyết ở đây là ta cần phải xác định được
vùng da nào có thể chứa một khuôn mặt người. Để giải quyết được vấn đề này,
trước hết ta phải xác định được số lượng các vùng da và tách riêng từng vùng.
 Các vùng da
Một vùng da được định nghĩa là một vùng liên thông trong ảnh nhị phân biểu
diễn các vùng da, trong một vùng da có thể có các lổ hổng. Đường biên của vùng
được biểu diễn bởi các điểm ảnh có giá trị 1 trong ảnh nhị phân. Các lỗ hổng trong
ảnh là các vùng điểm ảnh mang giá trị 0.
Để xử lý từng vùng, ta phải tách riêng vùng đó ra khỏi các ảnh nhị phân ban
đầu và đánh vùng đó. Một vùng da thường được tách ra khỏi ảnh sử dụng tính liên
thông của vùng. Các điểm ảnh lân cận nhau sẽ được đánh cùng một nhãn cho đến
khi không thể tìm ra được điểm lân cận chưa được đánh nhãn. Các điểm ảnh có
cùng một nhãn sẽ được trích ra để tạo thành một ảnh nhị phân mới được sử dụng
như một mặt nạ trên ảnh màu để xác định vùng ảnh màu cần thao tác. Phương pháp
lặp sẽ quét trên ảnh nhị phân để tìm ra các vùng chưa được đánh nhãn.
Một điểm cần chú ý khi thực hiện phân tách vùng da đó là thuật toán sử dụng
để đánh nhãn thường là thuật toán 8 láng giềng liên thông. Đối với xử lý ảnh, đây là
thuật toán tốt nhất nhưng cũng cần chú ý khi cài đặt bởi vì kích thước của một ảnh
thường rất lớn, nếu sử dụng các phương pháp đệ quy thông thường có thể làm tràn
bộ nhớ với hầu hết các máy tính thông thường. Cách giải quyết vấn đề là cài đặt
thuật toán quay lui tự động (giả đệ quy) khi không còn điểm biên liên thông chưa
được đánh nhãn.

36
Sau khi vùng da được tách riêng, các thao tác xử lý sẽ thực hiện trên duy
nhất vùng này không quan tâm đến sự tồn tại các vùng da khác trong ảnh. Một số
thuộc tính của vùng được quan tâm đến.
 Trọng tâm
Khi xem xét một vùng, trước hết ta phải xác định diện tích và trọng tâm của
vùng đó. Có nhiều phương pháp thực hiện điều này, một trong những phương pháp
đó là tính trọng tâm khối lượng của vùng. Trọng tâm của ảnh nhị phân tương đương
với trọng tâm khối lượng của ảnh và được tính theo công thức:
1 n m
x  jBi, j 
A i 1 j 1

1 n m
y  iBi, j 
A i 1 j 1

trong đó B[i,j] là ma trận ảnh nhị phân nxm biểu diễn vùng ảnh
A là số điểm ảnh có trong vùng
Với công thức tính trên, các vùng lỗ hổng không được tính với B[i,j]=0.
 Góc nghiêng
Phần lớn các ảnh mặt đều bị nghiêng theo chiều dọc. Ta có thể tăng được khả
năng tìm kiếm nếu tính toán được độ nghiêng của vùng so với trục thẳng đứng. Để
tính góc nghiêng này, ta sử dụng các đặc trưng dựa trên mô men đối với các đối
tượng hình dạng.
Công thức tính mô men bậc (p,q) đối với một vùng ảnh R như sau
μ p,q   m  m  n  n 
p q

( m,n )R

Góc nghiêng được định nghĩa là góc của trục có với mômen nhỏ nhất so với
trục thẳng đứng. Góc nghiêng này được tính theo công thức:
1  2μ 1,1 
θ tan -1  
2  μ 2,0  μ 0,2 
Trong trường hợp cụ thể đối với vùng da được tách riêng ra, góc nghiêng
theta được tính:
1 -1  2b 
θ tan 
2  a  c 

 
n m
a   xij' Bi, j 
2

i 1 j 1

n m
b   xij' yij' Bi, j 
i 1 j 1

37
 
n m
c   yij' Bi, j 
2

i 1 j 1

x'  x  x
y'  y  y

 Kích thước của vùng


Tại thời điểm này, ta đã biết được trọng tâm và góc nghiêng của vùng. Ta
vẫn cần phải xác định chiều rộng và chiều cao của vùng để thay đổi kích thước
vùng cho phù hợp với mẫu hoặc kích thước quy định trong bước ra quyết định.
Trước hết, ta loại bỏ các lỗ hổng trong vùng có thể có nhằm tránh vấn đề gặp
phải các lỗ hổng trong vùng. Khi vùng ảnh được quay một góc nghiêng theta, ta có
thể quay vùng ảnh một góc nghiêng –theta độ để cho vùng hoàn toàn thẳng đứng.
Sau đó ta xác định kích thước của vùng ảnh thông qua xác định bốn điểm nằm tại
bốn góc của vùng ảnh bằng cách tìm các điểm ảnh có giá trị khác 0 và dừng lại khi
tìm thấy các điểm toạ độ biên. Khi có được bốn điểm góc, ta xác định chiều cao
bằng cách trừ điểm thấp nhất cho điểm cao nhất và chiều rộng bằng cách trừ điểm
phải nhất cho điểm trái nhất.
 Tỉ số vùng
Ta có thể sử dụng chiều rộng và chiều cao của cùng ảnh để tăng hiệu quả của
quá trình ra quyết định. Tỉ số giữa chiều cao và chiều rộng của vùng mặt xấp xỉ 1.
Tuy nhiên, để tránh nhầm lẫn trong xác định mặt, ta xác định giá trị tỉ số nhỏ nhất là
0.8. Các tỉ số thấp hơn 0.8 không biểu diễn một khuôn mặt khi với khuôn người
thẳng đứng.
Tỉ số có thể có một giới hạn trên. Ta chọn tỉ số trên vào khoảng 1.6. Trong
một số trường hợp có thể có các trường hợp mà thực sự tồn tại một khuôn mặt
nhưng tỉ số này là cao hơn. Các trường hợp đó thường xảy ra do nhiễu và do tồn tại
các vùng da liền kề với mặt làm biến dạng hình dạng vùng da.
 Heuristic
Ta đã nhận thấy rằng trong rất nhiều trường hợp, các đặc trưng ảnh không
thể hỗ trợ được để tìm kiếm khuôn mặt. Vùng da sau các phân tích trên vẫn bị lẫn
vào các vùng nền và nhiễu khác. Nhiễu lớn nhất hay gặp là do vùng nền có cùng
màu sắc với màu da. Trường hợp này rất khó giải quyết và chỉ có thể sử dụng
phương pháp duyệt toàn bộ bằng cửa sổ quét. Nhiễu hay gặp thứ hai là do vùng cổ
và vùng áo cũng màu với màu da. Trường hợp này được giải quyết bằng heuristic
sau: “Vùng da mặt thường nằm ở vùng trên cùng của một vùng da”. Việc tìm kiếm
vùng nghi mặt được thực hiện lặp đi lặp lại trong vùng da, mỗi vùng nghi mặt sau
đó được đưa vào bộ quyết định để cho ra quyết định phân lớp mặt hay không phải là
mặt.

38
2.2.5.3 Ra quyết định sử dụng đối sánh mẫu
Phương pháp này sử dụng mẫu khuôn mặt người để đối sánh và đưa ra quyết
định về cuối cùng xác định tồn tại hay không một khuôn mặt trong vùng da đã định.
 Khuôn mặt mẫu
Khuôn mặt mẫu được tính toán bằng cách lấy trung bình các khuôn mặt mẫu
(thường là các mắt nhìn thẳng). Vùng lấy mẫu có được tuỳ thuộc vào từng phương
pháp sử dụng. Chang và Robles đã sử dụng một khuôn mặt mẫu có được từ lấy
trung bình 16 khuôn mặt nhìn thẳng của đàn ông và phụ nữ với các điều kiện như
không mang kính, không có vùng tóc trên mặt và vùng biên trái và phải của khuôn
mặt mẫu được sử dụng từ viền của tai vào trung tâm. Trọng tâm của mặt mẫu được
đặt vào đỉnh của mũi.

Hình 2-11. Khuôn mặt mẫu của Chang và Robles


Trong nhiều trường hợp, để tránh tiền xử lý và giữ được các đặc tính tổng
quát như kính và các vùng tóc, mẫu được tạo ra một cách tổng quát bằng cách lấy
trung bình các ảnh chân dung của nhiều người với các góc nghiêng (nhỏ) khác
nhau. Hình dạng của khuôn mặt mẫu được quyết định bằng độ khác nhau của các
khuôn mặt lấy trung bình, số lượng ảnh lấy trung bình. Mẫu dưới đây được lấy trực
tiếp từ 10 ảnh khác nhau của những người khác nhau. Tất nhiên với các mẫu này,
khi đối sánh cả các mẫu khác của khuôn mặt với cùng phép đo độ so khớp thì giá trị
kết quả sẽ nhỏ hơn.

Hình 2-12. Khuôn mặt mẫu tổng hợp


Khi đối sánh với các mẫu tổng hợp, điểm đối sánh là trọng tâm của mẫu đối
sánh với trọng tâm của vùng da. Mẫu sau đó sẽ được xử lý về tỉ lệ sao cho khớp
nhất với khuôn mặt giả định trong vùng da đó. Phép lấy tỉ lệ ảnh theo % được sử
dụng để tạo ra khuôn mặt mẫu phù hợp.
 Đối sánh mẫu

39
Trong các phần tính toán ở trên, các đặc trưng về vùng ảnh đã được tính
toán. Bước đầu tiên trong đối sánh mẫu là biến đổi mẫu cho khớp với vùng ảnh. Các
phép biến đổi bao gồm:
 Điều chỉnh kích thước mẫu cho phù hợp với kích thước của vùng da

(a) (b)
Hình 2-13. Khuôn mặt mẫu được điều chỉnh kích thước
(a) mẫu ban đầu (b) sau khi điểu chỉnh kích thước
 Quay ảnh mẫu đã điều chỉnh kích thước một góc –theta với theta là góc
nghiêng đã được tính ở trên.

(a) (b)

Hình 2-14. Khuôn mặt mẫu được xoay và điều chỉnh lại kích thước
(a) sau khi xoay (b) sau điều chỉnh lại
Tính toán hệ số tương quan chéo giữa vùng ảnh tại vùng da và vùng ảnh
trong khuôn mặt mẫu. Có thể sử dụng hệ số tương quan chéo được chuẩn hoá để
tính độ tương tự giữa hai ảnh:
Y 1 X 1

  f (i, j )  f 'w(i  x, j  y)  w'


j y ix
 xy  2
Y 1 X 1 Y 1 X 1

  f (i, j )  f '  w(i  x, j  y)  w'


2

j y ix j y ix

trong đó γ xy là giá trị tương quan chéo chuẩn hoá cần tính.

40
f(x,y) biểu diễn ảnh đầu vào.
w(x,y) biểu diễn khuôn mặt mẫu.
f’ là trị trung bình của f(x,y) trong vùng gối với mẫu
w’ là trị trung bình của w(x,y)
với giả thiết vùng ảnh và vùng đầu vào nằm trong miền 0  x  X - 1 và
0  y  Y - 1. Với khuôn mặt mẫu thu được và bằng thực nghiệm, có thể tìm ra được
giá trị ngưỡng phân vùng mặt tối ưu thông qua các mẫu kiểm thử và giá trị tương
quan thu được qua các lần kiểm thử. Với khuôn mặt mẫu trong hình 2-11, giá trị
ngưỡng γ xy  0.6 còn với khuôn mặt mẫu trong hình 2-12, giá trị này là 0.5.

2.2.6 Kết luận về tìm kiếm khuôn mặt dựa trên màu da
Phương pháp tìm kiếm khuôn mặt người dựa trên màu da là một phương
pháp thuộc vào một trong những hướng nghiên cứu có mặt sớm nhất trong lĩnh vực
tìm kiếm và nhận dạng khuôn mặt người.
Nội dung của phương pháp nói chung dựa trên những đặc tính gần như bất biến
trong các thành phần màu của các mẫu màu da để từ đó xác định được các vùng màu
da trong ảnh và thông qua đó định vị được vị trí khuôn mặt người trong ảnh.
Ưu điểm của phương pháp có được do chính bản thân đặc tính mầu của
phương pháp tạo nên. Thông qua các đặc tính màu này mà các vị trí mặt người được
tìm ra dễ dàng và qua đó có thể tìm kiếm được vị trí khuôn mặt trong ảnh dễ dàng.
Trong điều kiện chiếu sáng với các môi trường có thể điều khiển được như nền tối
và có một khuôn mặt… thì hiệu quả của phương pháp là rất cao và khả năng ứng
dụng lớn. Một ưu điểm khác nữa là do không phụ thuộc vào đặc trưng hình học mặt
nên có thể sử dụng phương pháp trong tìm kiếm và phát hiện nhiều khuôn mặt trong
một ảnh.
Nhưng, phương pháp tìm kiếm khuôn mặt dựa trên màu da có nhiều nhược
điểm. Các nhược điểm đó xuất phát từ các khía cạnh của phương pháp. Thứ nhất, do
xử lý trên điểm ảnh nên cài đặt phương pháp thường chạy chậm, đòi hỏi yêu cầu
tính toán cao. Thứ hai, trong môi trường nhiều nhiễu, hiệu quả của phương pháp
giảm rõ rệt vì thuật toán xử lý sẽ phải giải quyết quá nhiều nhiễu và cũng do yêu
cầu của các vùng da là liên tục nên khó có thể tìm được chính xác. Thứ ba, do yêu
cầu về màu sắc nên các ảnh đa mức xám, các ảnh vẽ, các ảnh chụp chất lượng thấp
không phải là đối tượng thao tác của phương pháp. Đây là hạn chế rất lớn vì số
lượng các ảnh này cần ứng dụng trong lĩnh vực tìm kiếm khuôn mặt rất nhiều.
Với các ưu điểm cũng như nhược điểm của mình, phương pháp tìm kiếm ảnh
dựa trên màu da đã thực sự có chỗ đứng trong lĩnh vực nghiên cứu về tìm kiếm và
nhận dạng khuôn mặt người. Khi thoả mãn được một số điều kiện ràng buộc, đây
thực sự là một phương pháp mạnh để xây dựng các ứng dụng trong lĩnh vực nêu
trên.

41
3 Chương 3 RÚT TRÍCH ĐẶC TRƯNG TỪ KHUÔN MẶT
3.1 Tiếp cận theo phương pháp phân tích thành phần chính
(Principal Component Analysis hay PCA)
3.1.1 Vector riêng, Trị riêng và sự chéo hoá của ma trận
Xét một toán tử tuyến tính f trong không gian Rn với các vector cơ sở :
ei = [0...1...0]T (với giá trị 1 nằm tại vị trí thứ i) (3.1)
Toán tử tuyến tính này sẽ được biểu diễn bởi một ma trận vuông T kích
thước n×n.
Nếu tồn tại một đại lượng vô hướng λ và một vector x, x ≠ 0, sao cho thỏa
điều kiện:
f(x) = λx (3.2)
hay
T*x = λx (3.3)
Khi đó λ được gọi là trị riêng của toán tử f, và vector x được gọi là vector
riêng của f, hay của T, ứng với trị riêng λ. Ma trận T với kích thước n×n sẽ có tối
đa n trị riêng và n vector riêng tương ứng. Một ma trận T khả nghịch đảo sẽ có đủ n
trị riêng (kể cả trị riêng bội) và n vector riêng tương ứng.
Nếu tồn tại một cơ sở trong không gian Rn sao cho ma trận T biểu diễn trong
cơ sở đó có dạng chéo (các phần tử ngoài đường chéo bằng 0) thì ma trận T (biểu
diễn trong không gian Rn với các vector cơ sở ei nêu trên) sẽ chéo hóa được.
Ví dụ: Khảo sát trên không gian R5 với ma trận chéo 5×5
 1 0 0 0 0
 
0 2 0 0 0 
T  0 0 3 0 0 
 
0 0 0 4 0 
 
0 0 0 0 5 

Giả sử C là ma trận các vector cơ sở mới {ui} được biểu diễn trong cơ sở
{ei}. Ở đây, ma trận T được chuyển từ cơ sở {ei} sang cơ sở mới {ui} nên ma trận
chuyển đổi cơ sở từ {ei} sang {ui} cũng là C. Nếu T chéo hóa được tức là tồn tại ma
trận C khả nghịch (tức là C tạo được một cơ sở trong Rn) sao cho :
Tc = C-1T C (3.4)
có dạng chéo.
Nếu ta có C là một ma trận có các cột là các vector cơ sở đã được chuẩn hóa
của không gian Rn thì CT = C-1, khi đó từ (4.4) ta có thể viết :
Tc = CTTC (3.5)

42
Ta có thể tìm được ma trận C để chéo hóa một ma trận T bằng cách tìm các
vector riêng của ma trận T. Lúc đó ma trận C chính là ma trận có các cột là các
vector riêng của T.

3.1.2 Kì vọng và phương sai trong thống kê đa chiều


 Kì vọng
Đối với thống kê đa chiều, mỗi một mẫu thống kê là một vector đa chiều.
Giả sử ta có một biến ngẫu nhiên X trong không gian tuyến tính n chiều.
X = [x1 x2 ... xn]T (3.6)
Khi đó kỳ vọng của biến ngẫu nhiên X cũng là một vector n chiều, trong
thống kê, kỳ vọng E[X] của một biến ngẫu nhiên X có thể được thiết lập bằng trung
bình mẫu X , và được tính bằng công thức :
M
1
X
M
X
i 1
i (3.7)

Trong đó M là tổng số mẫu có trong thống kê.


 Ma trận hiệp phương sai
Giá trị phương sai trong thống kê một chiều là độ đo mức độ phân tán của
biến ngẫu nhiên xung quanh kỳ vọng. Trong thống kê nhiều chiều, khái niệm này
được mở rộng thành ma trận hiệp phương sai :
C = E[X-E[X]][X-E[X]]T (3.8)
Ma trận hiệp phương sai là một ma trận đối xứng. Mỗi phần tử cij của ma
trận là hiệp phương sai giữa hai thành phần xi và xj trong vector X.
Nếu cij = 0, ta nói hai thành phần xi và xj là độc lập hay không phụ thuộc lẫn
nhau.
Nếu cij ≠ 0, ta nói xi và xj không độc lập hay chúng phụ thuộc lẫn nhau.
Trong thống kê, ma trận hiệp phương sai được tính như sau :
1 M
C  ( X i  X )( X i  X )T
M  1 i 1
(3.9)

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


Component Anlysis hay PCA)
3.2.1 Yêu cầu
Vấn đề được đặt ra khi thực hiện việc nhận dạng trong không gian đa chiều
(với số lượng chiều rất lớn).
Sẽ đạt được một sự cải thiện đáng kể bằng cách sắp xếp dữ liệu vào một
không gian đa chiều nhưng với số chiều nhỏ hơn.

43
a1  b1 
a  b 
x   2   Giảm chiều  y 2
...  ... 
   
aN  bK 

3.2.2 Trích đặc trưng bằng phương pháp PCA


Ý tưởng chính phân tích thành phần chính: Mục tiêu của phương pháp
thành phần chính là giảm số chiều của một tập các vector sao cho vẫn đảm bảo
được tối đa thông tin quan trọng nhất của tập học. Có thể nói phân tích thành phần
chính tìm cách giữ lại những thành phần thống kê quan trọng nhất của tập mẫu.
Giả sử ta cần giảm số chiều của mẫu học từ n chiều
x = a1v1 + a2v2 + … + aNvN
v1, v2, …, vN là cơ sở trong không gian N chiều
xuống còn k chiều (k < n) nghĩa là ta cần tìm một ánh xạ từ không gian n
chiều xuống không gian nhỏ hơn chỉ có k chiều. Gọi x là một vector trong không
gian n chiều, y là một vector trong không gian k chiều. Ta có trung bình bình
phương lỗi MSE (mean square error) ||x-y|| khi loại bỏ một số thành phần trong x
để thu được y sẽ bằng tổng phương sai của những thành phần bị loại bỏ. Phương
pháp PCA sẽ tìm một phép biến đổi tuyến tính T, thỏa :
y = T*x T là ma trận kxn (3.10)
sao cho trung bình bình phương lỗi là bé nhất.
Gọi M là vector trung bình của các vector x trong tập học X.
M
1
M
M
x
k 1
k , M là số phần tử trong tập học (3.11)

Gọi C là ma trận hiệp phương sai của các các phần tử trong tập X.
1 M
C  ( xk  M )( X k  M )T , C là ma trận đối xứng n×n
M  1 k 1
(3.12)

Người ta chứng minh được rằng nếu T là một ma trận mà mỗi hàng là một
vector riêng của C và m vector riêng này (m hàng của ma trận T) ứng với m trị
riêng lớn nhất thì T chính là phép biến đổi tuyến tính thỏa mãn điều kiện MSE nhỏ
nhất.
Gọi Φ là ma trận vuông n×n mà mỗi cột là một vector riêng của C đã được
chuẩn hóa với phép biến đổi :
y  T * x , y  ( y1, y 2 ,..., y n ) (3.13)
được gọi là phép biến đổi Hotelling.

44
Xét theo quan điểm của nhận dạng thì mỗi thành phần yi của vector y được
xem như là một đặc trưng của vector mẫu x. Các đặc trưng này là các đặc trưng độc
lập với nhau vì ma trận hiệp phương sai của y là
C y  T C  (3.14)

là một ma trận chéo (đã đề cập tới trong phần : Vector riêng, trị riêng và sự
chéo hóa ma trận).
Tóm lại, phương pháp phân tích thành phần chính ánh xạ một vector từ
không gian n chiếu xuống không gian k chiều sẽ đi tìm các trị riêng và vector riêng
của ma trận hiệp phương sai C của tập X và giữ lại k vector riêng ứng với k trị
riêng lớn nhất làm cơ sở cho không gian k chiều này.
Sự diễn giải bằng hình học:
PCA chiếu dữ liệu theo hướng mà ở đó dữ liệu khác nhau nhiều nhất.
Những hướng này được xác định bằng các vector riêng của ma trận hiệp
phương sai.
Số lượng các trị riêng tương ứng với sự khác biệt của dữ liệu theo các hướng
của vector riêng.

x2

u2 u1

x
u
1

x1

Hình 3-1. Hình minh họa hướng của vector riêng


Như chúng ta đã thấy ở trên rằng vector gốc x có thể được xây dựng lại bằng
cách sử dụng những thành phần chính của nó:
K K
xˆ  x   biui hay xˆ   biui  x
i 1 i 1

Điều đó cho thấy rằng cơ sở trong không gian có số chiều ít được dựa trên
nhừng thành phần chính sẽ làm tối thiểu hóa lỗi trong quá trình xây dựng lại:
e  x  xˆ

Điều đó cho thấy rằng lỗi sẽ tương đương:


1 N
e  i
2 i  K 1

45
3.2.3 Kỹ thuật tính đặc trưng bằng PCA
Giả sử x1, x2, …, xN là các vector N x 1
 Bước 1:
M
1
x
M
x
i 1
i

 Bước 2: trừ hai giá trị trung bình


i  xi  x

 Bước 3: tạo thành ma trận NxM


A  1 2 ...  M 

Sau đó tính
M
1
C
M
 
n 1
n
T
n  AA T

 Bước 4: tính toán các trị riêng của C


1 > 2 > ...> N
 Bước 5: tính toán các vector riêng của C
u1, u2, …, uN
Vì C đối xứng (NxN) nên u1, u2, …, uN hợp thành một cơ sở (bất kể một
vector x nào hay thậm chí ( ~x x ) cũng đều có thể viết dưới dạng một tổ hợp tuyến
tính của các vector riêng)
N
x  x  b1u1  b2u2  ...  bN u N   bi ui
i 1

 Bước 6 (bước giảm số chiều): chỉ giữ lại những thuộc tính tương ứng
với các trị riêng lớn nhất
K
xˆ  x   biui , trong đó K << N
i 1

Do đó, sự biểu diễn của xˆ  x trong u1, u2, …, uK là:


b1 
b 
 2
... 
 
bK 
Phép biến đổi tuyến tính R N  R K nhằm giảm số chiều sẽ là:

46
b1  u 1 
T

b   T 
 2   u 1  ( x  x )  U T ( x  x )
...  ... 
   
bK  u KT 

 Lưu ý :
Khi số lượng mẫu M trong tập X nhỏ hơn số chiều n, thay vì tính trực tiếp
các vector riêng từ ma trận hiệp phương sai C, ta có thể tính các vector riêng theo
phương pháp sau :
 Bước 1 : Tính ma trận kích thước M×M, C’ như sau :
C’ = YT.Y
với Yn×M = [x1, x2, ..., xM] mỗi cột của ma trận là một phần tử xi, i = 1..m
 Bước 2 :
Tính M vector riêng EMi và các trị riêng tương ứng của ma trận C’.
Chọn m vector riêng ứng với m trị riêng lớn nhất để tiếp tục bước 3.
 Bước 3 :
Chiếu các vector riêng M chiều này về lại không gian n chiều của các
mẫu xi bằng cách như sau :
M
Eni   EM k xk (3.15)
k 1

Các vector Eni thu được chính là các vector riêng cần tìm của ma trận C.
 Cách xác định số thành phần chính hiệu quả nhất
 Có hai phương pháp hữu ích giúp cho chúng ta lấy số lượng thành phần
chính sao cho hiệu quả. Tất cả hai phương pháp này đều dựa trên mối quan
hệ giữa các giá trị đặc trưng.
 Sắp xếp lại các giá trị đặc trưng tìm được theo thứ tự giảm dần về mặt giá
trị (1,eigenvalue[1]), (2,eigenvalue[2]), …,(p,eigenvalue[p]) và thứ tự này
vẫn đảm bảo được thứ tự của các vector đặc trưng tương ứng.
 Theo dõi sự biến thiên của chuỗi giá trị đặc trưng vừa được xếp lại, khi
sự biến thiên này tiến đến một điểm ngưỡng (thông thường xấp xỉ bằng
không). Thông thường đó chính là lúc mà ta chọn được đủ số lượng thành
phần chính cần thiết .
 Để chọn K, sử dụng tiêu chuẩn sau đây:

47
K

 i
i 1
N
 ngưỡng

i 1
i

Với phương châm làm sao số lượng thành phần chính là thấp nhất đủ để giải
thích khả năng phân tán tập mẫu học thành các lớp mẫu riêng cần thiết nhất.
 Cách để nhận được các thành phần chính
 Các thành phần chính có thể nhận được bằng cách chiếu các vector dữ
liệu có nhiều biến động vào không gian mở rộng từ các vector đặc trưng.
 Các đánh giá quan trọng về rút trích đặc trưng bằng phương pháp PCA
 Khi lấy số đặc trưng càng về sau thì khả năng biến động cần thấp, có
nghĩa nối quan hệ giữa các phần tử càng cao, thì sự giao nhau giữa các
lớp mẫu trong tập mẫu càng lớn
 Nhưng nếu lấy không đủ số lượng thành phần chính, thì khả năng phân
tán của tập mẫu càng cao (Có thể tăng vượt ngoài số lớp mẫu cần thiết
trong tập mẫu )
3.3 Phương pháp PCA toàn cục và cục bộ
3.3.1 Phương pháp PCA toàn cục
Phương pháp PCA toàn cục chính là phương pháp trích đặc trưng truyền
thống trên toàn bộ dữ liệu đã cho. Kỹ thuật trích tham khảo trong phần 3.2.3

3.3.2 Phương pháp PCA cục bộ


Giả sử ta có tập ảnh S = Si in1 gồm n ảnh với kích thước 30x30 cần trích đặc
trưng. Phương pháp PCA cục bộ cho phép ta trích các đặc trưng cục bộ trong các
thành phần của ảnh.
Với mỗi ảnh si  S, ta chia ảnh si ra làm 9 ảnh con Sij 9j 1 kích thước 10x10.

Với mỗi I  [1,9] ta tiến hành áp dụng phương pháp PCA cho từng bộ ảnh
con Ski nk 1 . Đến đây có hai hướng chọn đặc trưng khác nhau cho tập S:
 Hướng độc lập: vai trò của 9 ô trong mỗi ảnh là như nhau, do đó, mỗi ô
trong 9 ô có quyền chọn đặc trưng riêng cho mình một cách độc lập. Chẳng
hạn, mỗi ô trong 9 ô sẽ chọn 10 đặc trưng, do đó sau khi huấn luyện tập S, ta
được 9x10 đặc trưng.
 Hướng lệ thuộc: hướng này đòi hỏi số đặc trưng n cho ảnh toàn cục phải
được biết trước, ta chọn từ trên xuống các đặc trưng của các vector đặc trưng
của tất cả 9 ô. Tiêu chuẩn chọn dựa trên giá trị đặc trưng của từng đặc trưng.
 Nhận xét:

48
 Dễ dàng nhận thấy hướng lệ thuộc cho kết quả tốt hơn do có thể một số ô
các đặc trưng không quan trọng. Chẳng hạn trên khuôn mặt người, ô ngay
đỉnh trán thường có ít đặc trưng hơn ô có chứa mũi, mắt hay miệng.
 Tuy nhiên, việc chọn đặc trưng theo hướng phụ thuộc sẽ gặp phải các vấn
đề các giá trị đặc trưng của các ô ngang hàng, tiêu chí về số lượng n phải
được nới lỏng và xét đến vì nếu ta bỏ sót các đặc trưng có cùng giá trị đặc
trưng kết quả sẽ không tốt.
3.4 Đánh giá
3.4.1 Một số đánh giá quan trọng về rút trích đặc trưng bằng phương pháp
PCA
 Khi lấy số đặc trưng càng về sau thì khả năng biến động càng thấp, có
nghĩa mối quan hệ giữa các phần tủ càng cao, thì sự giao nhau giữa các lớp
mẫu trong tập mẫu càng lớn.
 Nhưng nếu lấy không đủ số lượng thành phần chính, thì khả năng phân
tán của tập mẫu càng cao (có thể tăng vượt ngoài số lớp mẫu cần thiết trong
tập mẫu).

3.4.2 So sánh phương pháp PCA toàn cục và PCA cục bộ


 Rõ ràng phương pháp PCA cục bộ cho tốc độ tính toán nhanh hơn. Việc
nhân ma trận kích thước n2 với ma trận kích thước m*n2 sẽ chậm hơn nhiều
2 2
n m n
so với nhân s ma trận kích thước   với *  vì
S S S
2 2
n m n m * n4
s *  * *    m * n 4 . Do đó việc nhận dạng sử dụng PCA cục
S S S
4
S
bộ trích đặc trưng sẽ cho tốc độ xử lý nhanh hơn.
 Xét về đặc trưng thì: PCA cục bộ hướng lệ thuộc cho kết quả tốt nhất,
còn PCA cục bộ hướng độc lập cho kết qủa cao hơn PCA toàn cục một chút,
song thường chênh lệch không nhiều.

49
4 Chương 4 MÔ HÌNH MAKOV ẨN VÀ ỨNG DỤNG NHẬN
DẠNG KHUÔN MẶT
4.1 Giới thiệu mô hình Makov ẩn
Andrei A Markov (1895-1922) đã đưa ra một mô hình dùng để mô hình hoá
chuỗi các sự kiện mà xác suất của sự kiện ở thời điểm hiện tại có liên quan đến sự
xuất hiện của sự kiện ở thời điểm trước đó. Mô hình đó được gọi là chuỗi Markov.

4.1.1 Mô hình Markov


Chuỗi Markov có thể quan sát là chuỗi Markov mà kết xuất của tiến trình là
một tập hợp các trạng thái ở mỗi thời điểm, trong đó mỗi trạng thái tương ứng với
một biến cố có thể quan sát được.
Khảo sát mô hình Markov ba trạng thái dùng để biểu diễn tình trạng thay đổi
thời tiết.

0.3
0.6
0.4
Mưa 0.2 Mây

0.3 0.1

0.1 0.2

Nắng

0.8

Hình 4-1. Mô hình Markov ba trạng thái biểu diễn thời tiết

Giả sử mỗi ngày, thời tiết được quan sát sẽ rơi vào một trong ba trạng thái
sau:
Trạng thái 1: Mưa
Trạng thái 2: Có mây
Trạng thái 3: Có nắng
Ma trận xác suất chuyển trạng thái:

0.4 0.3 0.3 


A  0.2 0.6 0.2
0.1 0.1 0.8 

50
Câu hỏi đặt ra: Xác suất để thời tiết tám ngày liên tiếp là {Nắng, Nắng,
Nắng, Mưa, Mưa, Nắng, Mây, Nắng} là bao nhiêu?
Lời giải như sau:
Ta định nghĩa dãy quan sát O là:
O = (Nắng, Nắng, Nắng, Mưa, Mưa, Nắng, Mây, Nắng)
= ( 3, 3, 3, 1, 1, 3, 2, 3 )
P(O) = P[3, 3, 3, 1, 1, 3, 2, 3]
= P[3]P[3|3]P[3|3]P[1|3]P[1|3]P[1|1]P[2|3]P[3|2]
=  3 .(a33 ) 2 .a31.a11.a13.a32 .a23
= 1*0.8*0.8*0.1*0.4*0.3*0.1*0.2
= 1.536*10-4

Với I = P[qi = i], 1 ≤ i ≤ N là xác suất ban đầu của các trạng thái.

4.1.2 Mô hình Markov ẩn [19]


Chuỗi Markov ẩn chính là một chuỗi Markov mà trong đó quan sát là một
hàm xác suất theo trạng thái.
Giả sử trong một căn phòng có 3 bình (Hình 4-2), mỗi bình có vô số quả
bóng tô màu xanh, đỏ. Tiến trình để nhận được một dãy quan sát được thực hiện
như sau: Một người trong phòng chọn ngẫu nhiên các bóng trong các bình một cách
ngẫu nhiên rồi đọc màu quả bóng. Một người ở ngoài ghi lại chuỗi màu đó (ví dụ:
Xanh, Đỏ, Xanh, Xanh, Đỏ...). Đó chính là chuỗi quan sát O. Coi mỗi trạng thái
tương ứng với một bình. Vậy chuỗi biến đổi trạng thái đã bị ẩn trong chuỗi quan sát.

P(Đỏ) = b1(1) P(Đỏ) = b2(1) P(Đỏ) = b3(1)


P(Xanh) = b1(2) P(Xanh) = b2(2) P(Xanh) = b3(2)

Hình 4-2. Mô phỏng mô hình Markov ẩn rời rạc bằng mô hình bình bóng

Các thành phần của một mô hình Markov ẩn:


q: q = {q1,…,qt}  Nt là chuỗi biến đổi trạng thái giả định

51
N: Số trạng thái của mô hình mặc dù các trạng thái là ẩn.
M: Số đặc trưng phân biệt trên mỗi trạng thái
qt: là trạng thái tại thời điểm t.
A = {ai,j}: không gian xác suất chuyển trạng thái của 2 thời điểm kế tiếp nhau
ai,j  A: là xác suất chuyển trạng thái qi tại thời điểm t sang qj tại thời
điểm t+1
πi = P[q1= i]: xác suất ban đầu của trạng thái i
π = {πi}: tập các xác suất trạng thái đầu
ot = vi: là quan sát được vi tại thời điểm t
O = {o1,…,ot}: Chuỗi quan sát theo thời gian t
B: Ma trận phân bố xác suất của các đặc trưng khi khảo sát trên từng trạng
thái
bi(k): Xác suất nhận được đặc trưng vk ở trạng thái i.
Ta dùng kí hiệu: λ = (A, B,π ) để chỉ tập tham số của mô hình.

4.1.2.1 Xác suất của chuỗi quan sát


Để đánh giá xem mô hình λ = (A, B,π ) được cho có đối sánh tốt với dãy
quan sát O = (o1o2 ...oT) hay không, ta cần tính P(O |λ ). Cách tính như sau:
Chọn ra một dãy trạng thái q = (q1q2...qT) trong số NT dãy trạng thái
T

Khi đó P(O | q,   P(ot | qt ,  ) (4.1)


t 1

Giả sử các quan sát là độc lập thống kê:

P(O | q,  bq1 (o1 )bq2 (o2 )...bqT (oT ) (4.2)

Xác suất dãy trạng thái q

P(q |   q1 aq1q2 ...aqT 1qT (4.3)

Mà ta có P(O, q | λ ) = P(O | q,λ )P(q | λ ) (4.4)

Do đó P(O |  )   P(O, q |  ), q  N T (4.5)


q

Có NT dãy trạng thái và O(T) phép tính, nên độ phức tạp của thuật toán bằng
O(NTT). Để giảm độ phức tạp, thuật toán được cải tiến bằng 2 thủ tục: Thủ tục lùi
và thủ tục tiến.

4.1.2.1.1 Thủ tục tiến


Gọi t(i) là xác suất chuỗi quan sát đến thời điểm t o1o2...ot và trạng thái i ở
thời điểm t. t(i) còn được gọi là biến tiến
t(i) = P[o1o2...ot,qt = i | ] (4.6)
Có thể tính t(i) bằng cách quy nạp:

52
 Bước 1: Khởi tạo
t(i) = π ibi(o1), 1≤ i ≤ N (4.7)
 Bước: Quy nạp
 N

 t 1 ( j )   t (i)aij b j (ot  1) , 1  t  T  1, 1  j  N (4.8)
 i 1 
 Bước 3: Kết thúc
N
P(O |  )    T (i ) (4.9)
i 1
Đánh giá
Độ phức tạp: O(N2T)
Trạng thái

N
aNk

a2k
2

1 a1k

t
Thời gian

Hình 4-3. Tính toán theo thủ tục tiến ở một thời điểm

4.1.2.1.2 Thủ tục lùi


Gọi βt(i) biểu diễn xác suất của dãy quan sát riêng phần từ thời điểm t + 1
cho tới kết thúc chuỗi quan sát, và trạng thái i trên chuỗi quan sát tại thời điểm t.
βt(i) được gọi là biến lùi.
βt(i) = P[ot...oT | qt = i, ] (4.10)
Có thể tính βt(i) bằng cách quy nạp.
 Bước 1: Khởi tạo
βt(i) = 1, 1≤ i ≤ N (4.11)
 Bước 2: Quy nạp
N
 t (i)   aij b j (ot 1 ) t 1 ( j ) , t  T  1, T  2,...1, 1  i  N (4.12)
i 1

 Bước 3: Kết thúc

53
N
P(O /  )    (i)bi (o1 ) 1 (i) (4.13)
i 1
Đánh giá:
Độ phức tạp: O(N2T)

Trạng thái
N
aiN
ai2
2

ai1
1

t Thời gian

Hình 4-4. Tính toán theo thủ tục lùi ở một thời điểm

4.1.2.2 Dãy trạng thái tối ưu


Để tìm chuỗi trạng thái q giải thích tốt nhất cho chuỗi quan sát O, tức cần tìm
q  N sao cho P(O,q | λA,B,π ) lớn nhất, ta có thể dùng thuật toán Baum-Welch hay
t

thuật toán Viterbi.


 Thuật toán Baum-Welch
Gọi γt(i) = P(qt = i | O,λ ) là xác suất trạng thái i ở thời điểm t trên chuỗi
quan sát O và mô hình λ .
Ta có thể biểu diễn:
 t (i )  P(qt  i | O,  )
P(O, qt  i |  )
 (4.13)
P(O |  )
P(O, qt  i |  )
 N

 P(O, q
j 1
t  j | )

Vì P(O,qt = j | λ) =αt(j) βt(j) nên công thức trên được tính lại như sau:
 t (i ) t (i)
 t (i)  N (4.14)
  ( j) ( j)
j 1
t t

Trong đó αt(i) giải thích dãy riêng phần o1o2. . . ot và trạng thái i ở thời điểm
t, còn βt(i) giải thích dãy quan sát còn lại ot+1ot+2. . . oT được cho bởi trạng thái i tại
thời điểm t.
Dùng γt(i), ta có thể tìm được trạng thái qt* phù hợp nhất ở từng thời điểm t:

54
qt*  arg max[t (i)], 1  t  T (4.15)
1 i  N

Phương trình trên cực đại hoá kỳ vọng số các trạng thái đúng, tuy nhiên khi
HMM có một số xác suất chuyển trạng thái bằng không (a ij = 0) thì dãy trạng thái
tối ưu đó không còn hợp lệ nữa. Vì phương trình trên chỉ xác định trạng thái phù
hợp nhất ở từng thời điểm mà không chú ý đến sự xuất hiện chung của dãy trạng
thái.
 Thuật toán Viterbi:
Gọi δt(i) là tỉ số tốt nhất theo đường đi đơn ở thời điểm t mà nó giải thích
được t quan sát đầu tiên và kết thúc ở trạng thái i.
 t (i)  max P(q1q2 ...qt 1, qt  i, o1o2 ...ot |  ) (4.17)
q1q 2 ...qt 1

Có thể tính được δt+1(i) bằng cách quy nạp


 t 1 (i)  max[ t (i)aij ]b j (ot 1 )
i

 Bước 1: Khởi tạo


1 (i)   ib j (o1 ), 1  i  N (4.18)

Ψ1(i) = 0 (Lưu vết chuỗi Markov)


 Bước 2: Tính đệ quy
 t ( j )  max[ t 1 (i)aij ]b j (ot ), 2  t  T , 1  j  N (4.19)
1 i  N

t ( j )  arg max[ t 1 (i)aij ] (4.20)


1 i  N

 Bước 3: Kết thúc


P*  max[T (i)] (4.21)
1 i  N

qT*  arg max[T (i)] (4.22)


1 i  N

 Bước 4: Lần ngược lại đường đi (dãy trạng thái)


qT*  t 1 (qt*1 ), t  T  1,T  2,...,1 (4.23)

4.1.2.3 Hiệu chỉnh các tham số của mô hình


Để hiệu chỉnh các tham số của mô hình sao cho λ A,B,π(O) đạt cực đại ta có thể
sử dụng phương pháp Segmental K-mean: điều chỉnh P(O | λ ) bằng cách làm cực
đại giá trị P(O, q | λ) với q là chuỗi trạng thái tối ưu được tìm bằng thuật toán
Viterbi.

4.1.2.4 Khoảng cách giữa các mô hình Markov ẩn


Nếu ta muốn so sánh hai HMM, ta cần một phép đo khoảng cách giữa hai
HMM đó. Một phép đo đã được phát triển bởi Juang và Rabiner dựa trên khoảng

55
cách Kullback-Leibler giữa hai hàm phân phối xác suất; vì vậy trước khi giới thiệu
về phép đo khoảng cách giữa các mô hình Markov ẩn, ta giới thiệu qua về phép đo
khoảng cách Kullback-Leibler
 Phép đo khoảng cách Kullback-Leibler
Gọi p1(x) và p2(x) là hai hàm mật độ phân phối xác suất (hoặc hàm xác suất
rời rạc), khi đó khoảng cách Kullback-Leibler có thể được sử dụng để đánh giá độ
tương tự hay độ gần nhau giữa hai phân phối xác suất.
Định nghĩa: phép đo khoảng cách Kullback-Leibler để xác định xem hàm
mật độ phân phối xác suất p2(x) gần với hàm mật độ phân phối p1(x) là bao nhiêu
được định nghĩa như sau:
  p x  
I  p1 , p 2    p1 x  ln  1 dx (4.24)

 p 2 x  
Trong trường hợp p1(x) và p2(x) là hai hàm xác suất rời rạc thì
 p1 x  
I  p1 , p2    p x ln p x  
1 (4.25)
all x  2 
Chú ý rằng khoảng cách Kullback-Leibler không phải là khoảng cách đối
xứng nghĩa là I(p1,p2)  I(p2,p1). Nếu mục đích của chúng ta chỉ đơn giản là so sánh
p1 và p2 thì ta có thể định nghĩa một phép đo khoảng cách đối xứng như sau:

Is( p1 , p2 ) 
1
I ( p1, p2 )  I ( p2 , p1 ) (4.26)
2
Một bài toán xấp xỉ điển hình: Đưa ra một hàm mật độ px  , ta muốn xấp
xỉ nó với một hàm mật độ khác p̂x  (với p̂x  có thể là một hàm tham số hoá).
Để đạt được p̂x  , ta giải quyết bài toán:
pˆ *  arg min I  p, pˆ  (4.27)

Sử dụng công thức I  p, pˆ    px ln px    px ln pˆ x  , bài toán cực tiểu trở
x x

thành
pˆ *  arg max  px ln pˆ x  (4.28)
pˆ x

Hơn nữa, I  p, pˆ  có thể được hiểu như là:


I  p, pˆ   E p  x ln px   E p  x ln pˆ x  (4.29)
trong đó E p  x  là toán tử kỳ vọng liên quan đến hàm mật độ xác suất p(x).

 Khoảng cách giữa các mô hình Markov ẩn


Sự sử dụng khoảng cách Kullback-Leibler đã dẫn tới định nghĩa khoảng cách
giữa hai mô hình Markov.

56
Gọi λ1 và λ 2 là hai mô hình Markov ẩn ví dụ λ1 là dạng mô hình hoá còn λ 2
là mô hình dựa trên các chuỗi quan sát. Ta sẽ xác định độ tương tự giữa hai mô
hình:
PO λ1 
Iλ1 , λ 2    PO λ1 ln
PO λ 2 
(4.30)
O

Trên thực tế, ta không thể tính được tổng ở trên bởi vì không thể sinh ra được
tất cả các dãy trạng thái có thể. Giả sử ta vừa sinh ra một chuỗi quan sát chiều dài T
sử dụng mô hình λ i ; ký hiệu dãy này là OiT . Bây giờ, tương ứng với dãy này ta có
thể xem xét việc tính PO1T λ 2 . Để thực hiện phép tính này, ta lựa chọn một vài dãy
trạng thái không có trong mô hình λ 2 . Ta có thể có một dãy trạng thái cho λ1 do
dãy quan sát O1T được sinh ra sử dụng mô hình λ1 . Ta xét quá trình tính toán dãy
trạng thái tối ưu sử dụng thuật toán Viterbi với λ1 và λ 2 tương ứng với O1T . Giả
thiết dãy trạng thái tối ưu là I1* O1T  và I2* O1T  và độ tương tự giữa λ1 và λ 2 là:
            
P O1T , I1* O1T λ1 ln P O1T , I1* O1T λ1  ln P O1T , I2* O1T λ 2 (4.31)

Độ tương tự trên cần được tính với một độ dài T của dãy quan sát đủ lớn.
Hàm xác suất ở bên ngoài ngoặc nhọn có thể được bỏ qua nó là phần chung
cho cả hai biểu thức ở trong ngoặc. Khoảng cách giữa hai mô hình được định nghĩa
là:

       
def
Dλ1 , λ 2   lim
1
ln P O1T , I1* O1T λ1  ln P O1T , I 2* O1T λ 2 (4.32)
T  T
Chú ý rằng Dλ1, λ 2  không có tính đối xứng. Khoảng cách đối xứng giữa các
mô hình Markov được định nghĩa là:

Dλ1, λ 2   Dλ 2 , λ1 
def
Dλ1 , λ 2  
1
(4.33)
2
 Độ dài dãy quan sát T
Trên thực tế, không thể có T   . Để giải quyết vấn đề này, Rakesh Dugad
và U.B.Desai đã thực hiện các thí nghiệm để tìm ra độ dài chuỗi quan sát nên chọn
là bao nhiêu. Chi tiết thực hiện thí nghiệm này như sau:
Có hai mô hình λ1 và λ 2 , cần tính khoảng cách giữa chúng. Ta sinh ra dãy
đặc trưng từ mô hình λ1 .
Gọi S là ma trận hiệp biến, do đó S là đối xứng và bán xác định dương. Khi
ta sinh ra một số lớn các vectơ đặc trưng, ma trận hiệp biến trong hầu hết trường
hợp. Là không đơn và có thể giả định là xác định dương. Sử dụng phân rã Cholesky,
S có thể viết lại: S  LLT , trong đó L là ma trận tam giác dưới.
Giả sử ta muốn sinh ra n vectơ trung bình quy 0 có chiều p bằng với chiều
ma trận hiệp biến S. Sinh ra ma trận nxp mà các phần tử là các biến ngẫu nhiên
Gaussian với trung bình bằng 0 và độ lệch chuẩn bằng 1 hay N(0,1). Khi đó các

57
hàng của ma trận B = AL là n vectơ trung bình quy 0 với ma trận hiệp biến S. Chú ý
rằng ma trận L là ma trận p x p. Bây giờ đơn giản là thêm các trung bình cần thiết
vào tất cả các vectơ được sinh ra.
Tiếp theo, ta tính toán xác suất của dãy quan sát sinh ra từ mô hình Markov
λ1 với chính mô hình λ1 và với mô hình λ 2 sau đó tính khoảng cách không đối
xứng Dλ1, λ 2  . Tương tự ta tính toán xác suất của dãy quan sát sinh ra từ mô hình
λ 2 với chính nó và với mô hình λ1 sau đó lại tính khoảng cách không đỗi xứng
Dλ1 , λ 2  . Trung bình của hai khoảng cách này cho ra khoảng cách cần tính.
Kết quả của thí nghiệm sử dụng hai mô hình λ1 và λ 2 được mô tả trong biểu
đồ bên dưới. Từ thí nghiệm với các mô hình Markov ẩn khác nhau, có thể chỉ ra
rằng khi độ dài T tăng lên thì khoảng cách giữa hai mô hình sẽ tiếp cận đến một giới
hạn và khoảng cách sẽ ổn định khi T=212 tức là khoảng 4000.

Hình 4-5. Tính hội tụ của khoảng cách HMM khi độ dài chuỗi quan sát tăng

4.1.3 Mô hình Markov ẩn và nhận dạng mặt người


4.1.3.1 Ý tưởng
Với quan niệm về khuôn mặt thẳng như sau: Các đặc trưng thuộc về khuôn
mặt được coi là quan trọng nhất như tóc, vần tráng, hai mắt, mũi, miệng, cằm, xuất
hiện rất tự nhiên theo thứ tự ngữ nghĩa khi xét từ trên xuống dưới. Vì vậy, các miền
đặc trưng thuộc về khuôn mặt có thể được mô hình hóa thành chuỗi quan sát theo
thứ tự xuất hiện của các đặc trưng cũng như thứ tự quan sát về mặt thời gian.
Từ đó chúng tôi quyết định tiếp cận theo phương pháp mô hình Markov ẩn
cho bài toán nhận dạng khuôn mặt.

58
4.1.3.2 Mô hình Markov ẩn biểu diễn ảnh mặt
Trong các ứng dụng liên quan đến mô hình Markov ẩn, cấu trúc của mô hình
sẽ quyết định hoạt động của toàn bộ hệ thống cũng như các phương pháp được sử
dụng. Nhưng cấu trúc này lại được quyết định do yêu cầu của bài toán cần giải
quyết. Cấu trúc này liên quan chủ yếu đến quá trình ngẫu nhiên cần được mô phỏng.
Như ta đã biết cấu trúc của mô hình do các tham số của mô hình đó quyết
định với chủ yếu là hai tham số π và A. Các cấu trúc của mô hình Markov ẩn có
nhiều loại, có một số cấu trúc nổi tiếng được biết đến như:
 Mô hình Ergodic với thuộc tính là mỗi trạng thái đều có thể đạt đến một
trạng thái khác sau một số bước hữu hạn không tuần hoàn và được biểu diễn
bởi ma trận chuyển trạng thái có các phần tử đều dương.
 Mô hình trái phải – Bakis với thuộc tính là khi thời gian tăng lên thì chỉ
số trạng thái sẽ tăng lên hoặc giữ nguyên (các trạng thái của mô hình tiến từ
trái sang phải)
 Các mô hình kết hợp là các mô hình được tạo do sự kết hợp các dạng
mô hình cơ bản. Ví dụ của loại mô hình này là mô hình kết nối qua lại trái
phải song song.
Hình vẽ sau sẽ minh hoạ các mô hình

(a) (b)

(c)
Hình 4-6.(a) Mô hình ergodic 4 trạng thái (b) Mô hình trái - phải 4 trạng thái
(c) Mô hình trái phải đường đi song song 6 trạng thái

59
Dựa trên các cấu trúc mô hình trên, có thể nhận xét rằng mô hình trái- phải là
mô hình có thuộc tính thích hợp nhất để mô phỏng các quá trình ngẫu nhiên mà
trạng thái của chúng thay đổi một các tuấn tự theo thứ tự thời gian.
Khuôn mặt người như nhận xét ở trên có một đặc điểm là các thành phần chủ
yếu như tóc, trán, mắt, mũi, miệng và cằm đều được sắp xếp từ trên xuống dưới
theo một thứ tự rất tự nhiên. Ngay cả trong một số ảnh chụp khuôn mặt có nghiêng
một lượng nhỏ thì thứ tự này vẫn không hề thay đổi. Chính thứ tự xuất hiện các
phần tử chủ yếu một cách tuần tự này đem lại ý tưởng lựa chọn mô hình trái phải để
mô phỏng khuôn mặt.
Cấu trúc HMM trái phải một chiều với các trạng thái tương ứng với các
thành phần chủ yếu của khuôn mặt được lựa chọn với các tham số:
 Số lượng trạng thái bằng 6, tương ứng với các thành phần tóc, trán, mắt,
mũi, miệng và cằm.
 Tập các chuyển trạng thái được phép với các giá trị tương ứng của ma
trận chuyển lớn hơn hoặc bằng 0.
 Tập các quan sát được sinh ra bởi mỗi trạng thái.
Mô hình này được minh hoạ trong hình sau:

Hình 4-7. Mô hình mặt 6 trạng thái

4.1.3.3 Trích chọn đặc trưng


Mặc dù mô hình Markov ẩn đã chọn có khả năng mô phỏng các quá trình
ngẫu nhiên một chiều nhưng ảnh mặt lại là một trường ngẫu nhiên hai chiều và
trong một số trường hợp cụ thể là trường hai chiều với mỗi phần tử là giá trị một
điểm ảnh. Như vậy, cần phải có một phương pháp để xử lý dữ liệu đầu vào thành
các chuỗi quan sát mà lý thuyết mô hình Markov ẩn đã chỉ ra theo yêu cầu của các
bài toán cơ bản, nền tảng của các ứng dụng mô hình Markov ẩn.
Trong các ứng dụng xử lý ảnh, đối tượng thao tác thường là các dãy điểm
ảnh được lấy ra từ ảnh ban đầu thông qua một phép xử lý nào đó. Trong trường hợp
mô hình hoá khuôn mặt trong ảnh bằng mô hình Markov ẩn, các biểu tượng quan
sát là các vectơ được tính toán từ một dãy các điểm ảnh lấy trực tiếp từ ảnh đầu vào.
Với một ảnh mặt được mô hình hoá bởi mô hình Markov, các đặc trưng ảnh chính
là các khối điểm ảnh nằm gối lên nhau được trích ra từ ảnh. Mỗi khối bao gồm một

60
số hàng điểm ảnh, các hàng này sau khi trích ra được sắp xếp lại tạo thành một dãy
một chiều các điểm ảnh.
Trong một số công trình đã thực hiện, toàn bộ dãy điểm ảnh được sử dụng
như một vectơ quan sát. Giá trị của mỗi thành phần là giá trị cường độ sáng của
điểm ảnh hay là giá trị mức xám của ảnh đa mức xám của điểm ảnh đó. Cách tiếp
cận này khiến cho kích thước của vectơ quan sát trở nên rất lớn, gây ra khả năng bị
ảnh hưởng bởi nhiễu trong ảnh và làm giảm hiệu năng tính toán của hệ thống vì các
giá trị điểm ảnh thực ra không biểu diễn đặc trưng mạnh và các giá trị điểm ảnh rất
nhạy cảm với nhiễu ảnh cũng như các phép quay,dịch chuyển và thay đổi về độ
chiếu sáng.
Một số cách làm khác cũng đã từng được đưa ra để xây dựng tập vectơ quan
sát từ dãy các điểm ảnh trong đó có sử dụng các đại lượng của phép biến đổi Cô-sin
hai chiều (DCT) hoặc các đại lượng của phép biến đổi Karhunen Loeve (KLT). Hai
cách làm này thực sự có hiệu quả đặc biệt bởi khả năng giảm ảnh hưởng của nhiễu,
giảm đáng kể kích thước của vectơ quan sát thông qua việc loại bỏ các thành phần
chứa ít thông tin trong ảnh.
Phương pháp được mô tả trong chương này sử dụng các đại lượng của phép
biến đổi KL để xây dựng các vectơ quan sát sử dụng trong huấn luyện mô hình
Markov ẩn để tìm kiếm và nhận dạng khuôn mặt người trong ảnh. Các bước thực
hiện sẽ được lần lượt trình bày trong các phần tiếp theo.
 Trích chọn các khối điểm ảnh
Một ảnh đầu vào kích thước W x H điểm ảnh với W là chiều rộng và H là
chiều cao của ảnh chứa một khuôn mặt bên trong (điều này đúng với các ảnh mẫu),
các khối điểm ảnh L hàng được trích ra và sử dụng để tạo nên các quan sát. Hình vẽ
sau mô tả cách lấy các khối quan sát.

Hình 4-8. Ảnh mặt và phương pháp trích chọn khối quan sát.
Các khối quan sát kề cận nhau thường gối lên nhau một số P hàng. Việc gối
các hàng như vậy cho phép các đặc tính được tìm ra theo cách độc lập với ví trí theo
chiều dọc trong khi đó nếu các khối rời rạc với nhau thì tại biên của các khối sẽ có
hiện tượng các đặc trưng bị cắt hụt. Nếu độ dài L quá nhỏ thì có thể không đủ thông
tin phân tách các vectơ quan sát trong khi nếu L quá lớn có thể dẫn đến gia tăng xác

61
suất cắt hụt. Tuy nhiên, tỉ số nhận dạng thành công của các hệ thống thường không
quá nhạy cảm với các thay đổi về L miễn là độ gối P đủ lớn (P≤L-1) và L≈H/10.
 Vectơ quan sát
Rất nhiều các nhóm nghiên cứu trên thế giới sử dụng cơ sở dữ liệu ảnh ORL
của Olivetty Research Laboratory tại Cambridge, nước Anh với các ảnh đa mức
xám chụp khuôn mặt người kích thước 92x112 (WxH). Cơ sở dữ liệu ảnh này cũng
được sử dụng để làm cơ sở thử nghiệm trong luận văn. Nếu vectơ quan sát sử dụng
giá trị các điểm ảnh thì kích thước của một vectơ có thể là LxW (L= 10 và W=92).
Phương pháp sử dụng biến đổi KL để xây dựng các vectơ quan sát sẽ cho thấy hiệu
quả hơn nhiều so với sử dụng các giá trị điểm ảnh bởi vì khả năng nén thông tin
cũng như thuộc tính không tương quan của phép biến đổi KL. Phép biến đổi KLT là
một phép biến đổi thích nghi nghĩa là các cơ sở của phép biến đổi dựa trên các tín
hiệu vào mà phép biên đổi áp dụng trên đó. Ma trận cơ sở của phép biến đổi KLT là
các vectơ riêng của ma trận hiệp biến của tất cả các mẫu đầu vào. Cách tính ma trận
cơ sở:
 Các khối ảnh trích ra từ tất cả các ảnh mẫu trong tập ảnh mẫu được sắp
xếp dưới dạng các vectơ bằng cách xếp chồng các cột lên nhau. Gọi xi(r ) là
vectơ thu được từ khối thứ i của ảnh mẫu thứ r.
 Trung bình của các vectơ được tính theo công thức:
R T r 
1
 R  x  i
r

T
r 1
r  r 1 i 1

trong đó R là số ảnh mẫu trong tập mẫu và T(r) là số các khối trích ra được từ
ảnh thứ r. Một tập mới các vectơ được sinh ra bằng cách trừ các vectơ cũ với trung
bình các vectơ. Đây được gọi là bước quy 0 tập mẫu. Tập các vectơ mới là tập các
vectơ có trung bình thống kê bằng 0 và có thể sử dụng để tính các cơ sở của phép
biến đổi KLT:
xir   xir   
~

 Ma trận hiệp biến của vectơ ~x ir  được tính theo:


R T r 
x   ~
x  
1
C R  ~
i
r
i
r T

T
r 1
 
r r 1 i 1

Các vectơ riêng được chuẩn hoá uk của ma trận hiệp biến C được xác định
theo phương trình Cuk=λkuk với λk là trị riêng tương ứng với các vectơ riêng của ma
trận C.
Khi đã có trong tay các vectơ cơ sở của phép biến đổi, quá trình xác định các
vectơ quan sát từ tập hợp các khối quan sát trích ra từ cả ảnh mẫu và ảnh kiếm thử
được thực hiện như sau:

62
 Các khối quan sát được sắp xếp lại theo thứ tự cột ảnh để tạo thành dạng
vectơ
 Từng vectơ được trừ đi vectơ trung bình đã được tính ở trên.
 Vectơ kết quả được chiếu vào không gian vectơ riêng của ma trận hiệp
biến trên tương ứng với các trị riêng lớn nhất λk. Các đại lượng sinh ra bởi
phép chiếu tạo nên các vectơ quan sát.
Chú ý rằng chỉ có một số ít các đại lượng đầu tiên có giá trị quan trọng nghĩa
là có mang thông tin, giá trị của các đại lượng giảm dần khi chỉ số vectơ tăng.
Trong thí nghiệm với cơ sở dữ liệu ORL ở trên, các đại lượng với chỉ số lớn hơn 10
bị loại bỏ do có giá trị không đáng kể. Chính đây là nguyên tắc của KLT vì đây
phương pháp này đôi khi cũng được gọi là phương pháp phân tích các thành phần
chính PCA tuy rằng PCA trong trường hợp này chỉ đóng vai trò trong xử lý dữ liệu
còn vai trò thực hiện nhận dạng thì lại do mô hình Markov ẩn đảm nhiệm.
 Tính toán các trị riêng và vectơ riêng
Trong cả phương pháp nhận dạng thông qua PCA trình bày ở trên và phương
pháp phân tích dữ liệu sử dụng KLT, ta gặp phải một vấn đề liên quan rất nhiều đến
chi phí tính toán. Đó là vấn đề tìm các giá trị riêng và vectơ riêng của một ma trận
hiệp biến. Ma trận hiệp biến trong các trường hợp này là ma trận đối xứng với kích
thước rất lớn. Với cơ sở dữ liệu ảnh ORL và độ dài khối quan sát là L=10 hàng thì
kích thước ma trận này là 920 x 920. Một yêu cầu của bài toán là không cần thiết
phải liệt kê toàn bộ các vectơ riêng mà chỉ cần liệt kê một số (cụ thể là 10) vectơ
riêng tương ứng với trị riêng lớn nhất.
Để giải quyết bài toán, thường thì không thể tính toán trên cả ma trận ảnh
ban đầu vì chi phí tính toán có lớn. Một phương pháp được đưa ra để giảm chi phí
tính toán thông qua việc tính gián tiếp các vectơ riêng theo cách sau:
Giả sử có M vectơ mẫu có trung bình thống kê bằng 0 (cách xác định như
trên) ký hiệu là {xi} với xi  RN. Ma trận hiệp biến của tập dữ liệu mẫu khi đó sẽ
được định nghĩa là:

x .xiT  A. AT , A  x1 , x2 ,..., xM 


1

M
C i 1 i
M
Các bước tính gián tiếp như sau:
 Bước 1: Xây dựng ma trận kích thước MxM theo công thức L=ATA với
Lpq=xpT.x
 Bước 2: Tìm M vectơ riêng vk của ma trận L bằng cách giải quyết bài
toán vectơ riêng của ma trên MxM (chú ý là M << N, N là kích thước của C)
 Bước 3: Vectơ riêng μ k của ma trận hiệp biến C được tính thông qua kết
hợp tuyến tính của vk

63
M
μ k   v ki xi
i 1

với vki là thành phần thứ i của vectơ vk.


Phương pháp tính toán các vectơ riêng của một ma trận vuông cấp n cũng là
một vấn đề quan tâm của nhiều nhà toán học. Có thể liệt kê một số phương pháp
được sử dụng:
 Phương pháp Mises: Sử dụng thuật toán Mises để tính trị riêng lớn nhất
và vectơ riêng lớn nhất của ma trận, sau đó sử dụng công thức xuống thang
để sinh ra ma trận mới nhằm tính các trị riêng và vecơ riêng tiếp theo. Tuy
nhiên, điều kiện thực hiện thuật toán là ma trận A là thực và mỗi trị riêng bội
k có đủ k vectơ riêng độc lập tuyến tính là một điều kiện không thể kiểm
chứng được.
 Phương pháp Rutishauser: Sử dụng khái niệm ma trận đồng dạng và
phép phân tích ma trận LR để tính toán tất cả các giá trị riêng của ma trận.
Việc tính toán các vectơ riêng được thực hiện bằng giải các hệ phương trình
tuyến tính.
 Phương pháp Householder: Phương pháp chuẩn để tìm riêng của ma trận
đối xứng sử dụng các phép biến đổi trực giao để tạo ra một ma trận dạng
băng (ba đường chéo) đồng dạng với ma trận ban đầu.
 Phương pháp Jacobi: Phương pháp tìm trị riêng và vectơ riêng của ma
trận đối xứng sử dụng phép quay Jacobi biến đổi ma trận thành dạng đường
chéo và trong một điều kiện khi các phần tử bên ngoài đủ nhỏ thì giá trị trên
đường chéo chính là các trị riêng.
 Phương pháp QR: Phương pháp tổng quát để tìm vectơ riêng của ma trận
nói chung, sử dụng ma trận Hessenberg và phép biến đổi Householder hoặc
phương pháp loại trừ Gauss.
Nội dung mục này đã chỉ ra phương pháp tiền xử lý dữ liệu để tạo ra các
vectơ quan sát. Đây là một phần quan trọng trong phương pháp nhận dạng khuôn
mặt và các lỗi xảy ra trong giai đoạn này thường ảnh hưởng rất nghiêm trọng đến
toàn bộ hệ thống. Điều này cần đặc biệt chú ý khi mà các thuật toán xử lý được sử
dụng đều hoạt động trên tập dữ liệu với độ phức tạp tính toán cao và độ chính xác
của dữ liệu là nhỏ. Các phần tiếp theo sẽ trình bày phương pháp sử dụng các vectơ
quan sát vừa tính được để xây dựng hệ thống nhận dạng với mô hình Markov.

4.1.3.4 Luyện mô hình mặt


Quá trình luyện một mô hình Markov ẩn để biểu diễn mô hình mặt dùng
trong tìm kiếm khuôn mặt và nhận dạng khuôn mặt là tương tự nhau, điểm khác biệt
duy nhất là ở tập dữ liệu sử dụng để luyện. Với tìm kiếm khuôn mặt, các ảnh mặt
trong tập dữ liệu mẫu biểu diễn khuôn mặt nhìn thẳng của những người khác nhau

64
được lấy dưới những điều kiện chiếu sáng khác nhau và tất cả các ảnh được sử dụng
đê luyện chỉ một mô hình Markov. Trong khi đó, đối với nhận dạng khuôn mặt, mỗi
cá nhân trong cơ sở dữ liệu được biểu diễn bởi một mô hình Markov và tập hợp các
ảnh khác nhau của cùng một người được sử dụng để luyện mô hình đó.
Sau khi trích chọn các khối quan sát từ các ảnh mặt trong tập mẫu, các vectơ
quan sát được tạo ra và được sử dụng để luyện mô hình. Với các ảnh mẫu trong cơ
sở dữ liệu ORL, các thông số của các khối quan sát được lựa chọn là L=10 hàng,
W=92 cột, P=8 dòng, và sử dụng 10 đại lượng KLT tương ứng với 10 vectơ riêng
lớn nhất. Quá trình luyện mô hình được thực hiện theo các bước sau:
 Đầu tiên, các tham số được khởi đầu bằng cách phân đoạn đều các dữ liệu
mẫu theo số trạng thái của mô hình Markov, sau đó các vectơ quan sát ứng
với mỗi trạng thái được sinh ra và sử dụng để tính toán các đánh giá ban đầu
của ma trận xác suất quan sát B. Các phần tử của ma trận A cũng được khởi
đầu với các giá trị thống nhất với cấu trúc tuần tự từ trên xuống dưới của mô
hình nghĩa là aij=0 với j<i và j>i+1, hay nói cách khác mô hình chỉ có thể
chuyển từ một trạng thái trở lại chính nó hoặc chuyển sang trạng thái tiếp
theo. Với ma trận phân phối xác suất trạng thái khởi đầu π, ta khởi tạo π 1=1
và πi=0 với i≠1 nghĩa là mô hình chỉ bắt đầu từ trạng thái 1.
 Ở các bước lặp tiếp theo, phân đoạn đều mẫu được thay thế bằng phân
đoạn Viterbi. Phân đoạn Viterbi là một phương pháp phân đoạn đặc biệt
trong đó các dãy trạng thái tương ứng với các vectơ quan sát tạo thành các
đoạn có cùng trạng thái. Chú ý rằng phân đoạn Viterbi chỉ xuất hiện trong
các mô hình trái phải tuần tự không có bước nhảy. Kết quả của phép phân
đoạn này đối với mỗi dãy quan sát là đánh giá tối đa độ tương tự của tập các
vectơ quan sát bên trong các trạng thái tương ứng với mô hình hiện tại. Bước
lặp tiếp tục được thực hiện cho đến khi độ tương tự phân đoạn Viterbi ở các
bước lặp kết tiếp nhỏ hơn một ngưỡng xác định. Khi đó, mô hình Markov coi
như được khởi tạo.
 Tiếp theo sau việc khởi tạo mô hình, các tham số mô hình được đánh giá
lại sử dụng thủ tục đánh giá lại Baum – Welch. Quá trình này điều chỉnh lại
các tham số mô hình để cực đại hoá xác suất quan sát dữ liệu mẫu.
~
 Mô hình sau khi đánh giá lại λ được so sánh với mô hình trước λ thông
qua tỉ số khoảng cách phản ánh độ tương tự thống kê giữa các mô hình. Nếu
tỉ số khoảng cách vượt quá một ngưỡng, mô hình cũ λ được thay thế bởi mô
~
hình mới λ và toàn bộ quá trình luyện được thực hiện lại, nếu tỉ số khoảng
cách nhỏ hơn ngưỡng, mô hình được coi là hội tụ và các tham số đạt được
giá trị cuối cùng.
Chiến lược huấn luyện mô hình trên đây được biểu diễn trong hình 4.9.

65
Hình 4-9. Chiến lược huấn luyện mô hình Markov ẩn cho biểu diễn khuôn mặt

4.1.3.5 Nhận dạng khuôn mặt người trong ảnh


Để sử dụng một mô hình Markov trong nhận dạng khuôn mặt, ta thực hiện
xử lý với một ảnh mặt của khuôn mặt cần nhận dạng. Đầu tiên, các chuỗi quan sát
được sinh ra từ ảnh mặt này thông qua phương pháp trích chọn quan sát đã được mô
tả trong phần huấn luyện mô hình ở trên cụ thể là ảnh mặt được quét từ trên xuống
để trích ra các khối quan sát, mỗi khối L dòng và độ gối nhau giữa các khối liền kề
là P dòng. Các khối sau đó được xử lý để tính được các vectơ quan sát. Xác suất của
dãy quan sát được đưa ra bởi mô hình Markov ẩn cho từng khuôn mặt được tính
toán sử dụng thuật toán Viterbi. Mô hình với độ tương tự cao nhất được lựa chọn và
mô hình đó sẽ chỉ ra nhận dạng của khuôn chưa biết này.
Quá trình nhận dạng này được biểu diễn trong hình 4.10.

66
Hình 4-10. Nhận dạng mặt sử dụng mô hình Marov ẩn

4.1.3.6 Tìm kiếm khuôn mặt người trong ảnh


Trong phần này, việc áp dụng mô hình Markov ẩn vào bài toán tìm kiếm
khuôn mặt người trong ảnh với mục đích tìm ra vị trí của tất cả các khuôn mặt
người tồn tại trong ảnh đó. Các nghiên cứu đã chỉ ra rằng tính bất biến từng phần
trong không gian đứng của mô hình Markov ẩn đem lại cho phương pháp này
những ưu điểm trong việc xử lý các khuôn mặt bị tỉ lệ hoặc nghiêng theo chiều
thẳng đứng.
Việc tìm kiếm khuôn mặt người trong ảnh sử dụng mô hình Markov ẩn được
thực hiện trên mọi vùng chữ nhật có thể của ảnh đầu vào với mọi vùng nền có thể.
Độ tương tự với khuôn mặt của vùng ảnh được tính bằng độ tương tự Viterbi được
gia trọng bởi hệ số hiệu chỉnh chuỗi trạng thái. Các vùng ảnh chữ nhật với mà độ
tương tự khuôn mặt vượt qua một ngưỡng xác định thì được coi là chứa một khuôn
mặt. Chú ý rằng nếu vùng cần kiểm định được xác định từ trước thông qua một
phương pháp khác chẳng hạn như phương pháp phân đoạn màu da thì khi đó bộ tìm
kiếm khuôn mặt sử dụng mô hình Markov chuyển thành một bộ ra quyết định phân
lớp khuôn mặt sử dụng trong giai đoạn ra quyết định của phương pháp trên.
Quá trình ra quyết định phân lớp khuôn mặt được biểu diễn trong hình 4-11

67
Hình 4-11. Tìm kiếm khuôn mặt sử dụng mô hình Markov
Một phương pháp tiếp cận khác sử dụng mô hình Markov ẩn trong tìm kiếm
khuôn mặt là phương pháp trong đó việc tìm kiếm khuôn mặt thực hiện trên toàn bộ
ảnh với các vùng quét là các cửa sổ hình chữ nhật quét trong không gian các vectơ
quan sát thay vì quét trong không gian điểm ảnh. Phương pháp này có thể mô tả vắn
tắt như sau:
 Các khối quan sát được trích ra trong toàn bộ ảnh bằng cách lấy ra các
khối hình chữ nhật kích thước LX x LY. Các khối quan sát được lấy liên tục
theo độ gối chiều ngang là PX và độ gối theo chiều dọc là PY. Thao tác này
biến không gian hai chiều các điểm ảnh thành không gian hai chiều các khối
quan sát với kích thước nhỏ hơn rất nhiều so với không gian ban đầu. Các
kích thước và độ gối theo chiều dọc được chọn bằng các kích thước và độ
gối trong huấn luyện mô hình và độ gối theo chiều ngang được chọn ngẫu
nhiên. Việc tăng độ gối theo chiều ngang sẽ làm tăng độ chính xác tìm kiếm
nhưng đồng thời cũng làm tăng chi phí tính toán.
 Từ các khối quan sát, các vectơ quan sát được tính toán và sau đó là các
xác suất chuyển trạng thái tính theo phương pháp đã chỉ ra trong phần huấn
luyện mô hình. Chú ý thêm rằng việc tính các xác suất trạng thái có thể được
tiết kiệm khi xem xét đến độ gối lớn giữa các vùng kề nhau.
 Độ tương tự mặt sau đó được tính đối với mỗi cửa sổ dạng chữ nhật các
vectơ quan sát thông qua thuật toán Viterbi. Độ tương tự mặt này có thể
được cải thiện độ chính xác thông qua một số phương pháp trong đó có
phương pháp mô hình hoá chuỗi trạng thái. Một chuỗi d i của trạng thái i
được mô hình sử dụng phân phối Poisson. Sau khi tính được độ tương tự mặt
Viterbi, một hệ số điều chỉnh sẽ được sử dụng và độ tương tự mới sẽ được
tính theo công thức sau:

log PO, I λ   log PO, I λ     log pi d i 


N0
~
i 1

trong đó  là một hằng số, pi(d) là phân phối Poisson và d i là chuỗi


trạng thái tương ứng với trạng thái i được đo từ phép phân đoạn trạng thái.

68
 Giai đoạn cuối cùng là ra quyết định lựa chọn các vùng chữ nhật có chứa
mặt hay không. Các chuỗi quan sát với có độ tương khuôn mặt cao hơn một
giá trị ngưỡng được cho là các vùng có khả năng mặt. Để loại bỏ các cảnh
báo sai về vị trí khuôn mặt, chỉ có những vùng gần vị trí khuôn mặt thực sự
nhất mới được lựa chọn là thực sự chứa khuôn mặt, các vùng khác sẽ bị loại
bỏ.
Như vậy với một ảnh kiểm thử đầu vào và một mô hình Markov ẩn biểu diễn
khuôn mặt, có thể xác định được vùng trong ảnh thực sự chứa khuôn mặt. Tuy
nhiên, để giảm thiểu thời gian tính toán và tăng hiệu năng của công việc thì việc kết
hợp các phương pháp khác như phương pháp dựa trên màu da với phương pháp sử
dụng mô hình Markov là một giải pháp tốt hơn cả.
Tuy nhiên, thông qua cách giải quyết hai bài toán tìm kiếm và nhận dạng sử
dụng mô hình Markov, có thể thấy bài toán tìm kiếm có độ phức tạp cao hơn bài
toán nhận dạng. Trong nhiều trường hợp với một hệ thống, các phương pháp nhận
dạng được sử dụng là phương pháp với mô hình Markov trong khi để vị tìm ra vị trí
khuôn mặt, một phương pháp khác hiệu quả hơn được áp dụng .

4.1.3.7 Các dạng của mô hình Markov ẩn trong mô tả khuôn mặt


Trong các phần trên, việc sử dụng mô hình Markov ẩn một chiều trái phải để
mô tả khuôn mặt đã được giới thiệu một cách chi tiết. Tuy nhiên có thể nhận thấy
rằng việc sử dụng mô hình một chiều trong xử lý dữ liệu hai chiều như hình ảnh
khuôn mặt chắc chắn không phải là biện pháp tối ưu. Các nghiên cứu cũng đã chỉ ra
rằng việc sử dụng mô hình Markov ẩn hai chiều kết nối đầy đủ sẽ mô tả tốt hơn các
hình ảnh và chính các nghiên cứu ấy cũng chỉ ra độ phức tạp tính toán quá cao của
các thuật toán giải quyết ba bài toán cơ bản khiến cho việc áp dụng mô hình hai
chiều này là không khả thi. Chính từ những vấn đề nảy sinh ở trên, Kuo và Agazzi
đã đưa ra mô hình Markov ẩn nhúng và ứng dụng mô hình này trong nhận dạng chữ
viết.
Mô hình Markov ẩn nhúng là một dạng suy rộng của mô hình Markov ẩn
trong đó bản thân mỗi trạng thái trong một mô hình Markov ẩn một chiều lại là một
mô hình Markov ẩn. Chính vì vậy, mô hình Markov nhúng bao gồm một tập hợp
các siêu trạng thái đi cùng với nó là tập các trạng thái nhúng. Hình sau minh hoạ
một mô hình Markov ẩn nhúng với 3 siêu trạng thái.

69
Hình 4-12. Mô hình Markov ẩn nhúng với 3 siêu trạng thái
Trên góc độ trực quan, có thể thấy rằng mô hình Markov ẩn nhúng là mô
hình rất thích hợp để biểu diễn các dữ liệu hai chiều. Với các mô hình dạng như mô
hình Markov hai chiều kết nối đầy đủ và mô hình Markov ẩn nhúng áp dụng vào
tìm kiếm và nhận dạng khuôn mặt, các đặc trưng của khuôn mặt được xử lý theo hai
chiều thay vì theo một chiều giống như trong mô hình Markov ẩn một chiều. Điều
này đồng nghĩa với các khối quan sát cũng được lấy theo hai chiều và do đó độ
phân biệt giữa các khuôn mặt hay các mô hình mặt được chính xác hơn.
Đây sẽ là các hướng phát triển của ứng dụng mô hình Markov ẩn trong
không chỉ tìm kiếm và nhận dạng khuôn mặt người mà còn trong các lĩnh vực ứng
dụng khác của mô hình Markov ẩn.
4.2 Kết chương
Trong chương này đã trình bày chi tiết phương pháp nhận dạng mặt người
dựa trên mô hình Markov ẩn từ cơ sở lý thuyết, các bài toán cơ bản đến kỹ thuật xử
lý dữ liệu, huấn luyện mô hình và phương pháp tìm kiếm và nhận dạng khuôn mặt
người cũng như chỉ ra xu thế phát triển của phương pháp trong tương lai.

70
5 KẾT LUẬN
Ngày nay, cùng với những tiến bộ vượt bậc của khoa học kỹ thuật nói chung,
bộ môn khoa học xử lý ảnh đã và đang thu được những thành tựu lớn lao và chứng
tỏ vài trò không thể thiếu với những ứng dụng sâu rộng trong khoa học kỹ thuật
cũng như đời sống xã hội. Một bộ phận của khoa học xử lý ảnh là lĩnh vực thị giác
máy tính hiện đang thu hút rất nhiều sự quan tâm của các nhà nghiên cứu xử lý ảnh
bởi vì 80% thông tin con người thu nhận được và xử lý hàng ngày là từ hình ảnh.
Một trong những ứng dụng quan trọng của thị giác máy tính đó là nhận dạng ảnh
mặt người ứng dụng trong công tác giám sát tự động, kiểm tra an ninh, ...
Để làm được những việc đó trước hết hệ thống phải hiểu được thông tin
trong ảnh. Ví dụ để nhận dạng một người, trước hết nó phải xác định được mặt của
người đó ở đâu trong ảnh? để xác định được mặt của người trong ảnh có thể sử
dụng da người (thông qua các mô hình da). Sau đó đối sánh ảnh mặt của người này
với CSDL ảnh mặt (có thể chỉ là các template của mặt) hiện có để xác thực. Xuất
phát từ thực tế đó Luận văn xây dựng nhằm tìm hiểu tổng quan về tìm kiếm và nhận
dạng khuôn mặt người trong ảnh, một số phương pháp thường được áp dụng và ứng
dụng của chúng. Cụ thể luận văn đã đạt được các kết quả chính sau:
 Tổng quan về hệ thống nhận dạng mặt người
 Hệ thống lại một số phương pháp sử dụng trong dò tìm khuôn mặt người
trong ảnh màu dựa trên màu da.
 Trình bày phương pháp trích chọn đặc trưng ảnh bằng phương pháp phân
tích thành phần chính - PCA.
 Trình bày phương pháp nhận dạng mặt người dựa trên mô hình Markov
ẩn.
 Định hướng tương lai về mặt ứng dụng
Kết hợp nhiều phương pháp như SVM, HMM, Fuzzy trong nhận dạng khuôn
mặt đồng thời sử dụng AdaBoost kết hợp với một số bộ dò tìm khác (tăng tốc độ
trong việc dò tìm mặt) để xây dựng bài toán kiểm tra xác thực hộ chiếu tại sân bay
thông qua việc đối sánh giữa ảnh trong hộ chiếu, ảnh mặt chụp từ camera và ảnh có
trong CSDL.

71
6 TÀI LIỆU THAM KHẢO

Tiếng Việt
[1] Nguyễn Thanh Thuỷ, Lương Mạnh Bá, Nhập môn xử lý ảnh số, Nhà xuất
bản khoa học kỹ thuật, 1999.

Tiếng Anh
[2] D. Brown, I. Craw, and J. Lewthwaite, A som based approach to skin
detection with application in real time systems. In Proc. of the British
Machine Vision Conference, volume 2, pages 491_500, 2001.
[3] D. Chai and A. Bouzerdoum. A bayesian approach to skin color
classification in ycbcr color space. In Proc. IEEE Region Ten Conference
(TENCON'2000), volume 2, pages 421- 424, 2000.

[4] Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets, John
Weng, Discriminant Analysis of Principal Components for Face
Recognition, Centrer for Automation Research, University of Maryland
(page 73) of Face Recognition from Theory and Applications.
[5] John Daugnman, Phenotypic versus Genotypic Approches to Face
Recognition, University of Cambridge, the Computer laboratory
Cambridge CB3 3QG England (page 108) of Face Recognition from
Theory and Applications.
[6] Emmanuel Viennet và Francoise Fogelman Soulie, Connectionists Methods
for Human face Rrocessing, University Paris 13, 93430 Villetaneuse,
France (page 124) of Face Recognition from Theory and Applications.
[7] Antonio J.Colmenarez và Thomas S.Huang, Face Detection and Recognition,
Department of Electrical and Computer Engineering, Coordinated Science
Laborotory, and Beckman Institute for Advanced Science and Technology,
University of Illinois at Urbana-Champaign, 405 N. Mathews Ave, USA
(page 174) of Face Recognition from Theory and Applications.
[8] Kazunori Okada, Johannes Steffens, Thomas Maurer, Hai Hong, Egor
Elagin, Hartmut Neven, and Christoph, Computer Science Department and
Center for Neural Engineering, University of Southrn California Los
Angeles, USA (page 286) of Face Recognition from Theory and
Applications.
[9] Baback Moghaddam và Alex Pentland, Beyond Linear Eigenspaces:
Bayesian Matching for Face Recognition, MIT Media Laboratory, 20

72
Ames St. Cambridge, MA 02139, USA (page 230) of Face Recognition
from Theory and Applications.
[10] Massimo Tistaelli và Enrico Grosso, Active Vision-base Face Recognition:
Issues, Application and Techniques, University of Genoa, Department of
Communication, Computer and System Science (DIST), Computer Vision
Laboratory, Via Opera Pia 13-16145 Genoa, Italy (page 262) of Face
Recognition from Theory and Applications.
[11] Jeffrey Huang, Chengjun Liu, và Harry Wechsler, Eye Detection and Face
Recognition Using Evolutionary Computation, Department of Computer
Science, George Mason University, http://www.chagall.gmu.edu/ (page
348) of Face Recognition from Theory and Applications.
[12] Daniel Bgraham và Nigel M Allinson, Characterising Virtual
Eigensignatures for General Purpose Face Recognition, Image Engineering
and Neural Computing Group, Department of Electrical Engineering and
Electronics, University of Manchester Institute of Science and Technology.
Manchester M60 1QD, UK (page 446) of Face Recognition from Theory
and Applications.
[13] Jason M.Kinser, Pulse Images for Face Recognition, Institute for
Biosciences, Bioinformatics, and Biotechnology, George Masson,
University, Fairfax, VA 22030-4444 (page 503) of Face Recognition from
Theory and Applications.
[14] Oi Bin Sun, Chian Prong Lam và Jian Kang Wu, Using Differential
Constraints to Generate a 3D Face Model from Stereo, Computer Graphics
Laboratory (LIG), EPEL, CH-1015, Lausanne, SWITZER-LAND (page
556) of Face Recognition from Theory and Applications.
[15] Fabien Cardinaux, Automatic Face Recognition in Weakly Constrained
Environment, Phd Student – Vision Group, Dalle Molle Institute for
Perceptual Artificial Intelligence, 2003.
[16] Huicheng Zheng, Maximum entropy modeling for skin detection: with an
application to Internet filtering, Docteur en Informatique, 2004
[17] D. Maltoni, D. Maio, A.K. Jain, S. Prabhakar, Handbook of Fingerprint
Recognition, Chapter 1, Springer, New York, 2003.
[18] Huicheng Zheng and Mohamed Daoudi, Bruno Jedynak, Statistical Models
for Skin Detection, 2003.
[19] Richard O.Duda, Peter E.Hart, David G.Stork, Pattern Classification,
Second Edition.
[20] Dengpan Mou, Autonomous Face Recognition, Doktor-Ingenieurs (Dr.-
Ing.), Datum der Promotion: 22. August, 2005.

73
[21] M.J. Jones and J. M. Rehg, Statistical color models with application to skin
detection, International Journal of Computer Vision, 46(1):81_96, January
2002.
[22] Huicheng Zheng, Bruno Jedynak, Maximum Entropy Models for Skin
Detection, 2004
[23] Richard O. Duda, Peter E. Hard, David G. Stork, “Pattern Classification”,
Secod Edition.
[24] Linda Shapiro, George Stockman, “Computer Vision”, Mar 2000.
[25] R-L. Hsu, M. Abdel-Mottaleb, and A.K. Jain. Face detection in color
images, IEEE Transactions on Pattern Analysis and Machine Intelligence,
24(5):696_706, May 2002.
[26] Nizar Bouguila and Djemel Ziou, Dirichlet-Base Probability Skin
Detection, 2004
[27] J.Y. Lee and S.I. Yoo. An elliptical boundary model for skin color
detection. In Proc. International Conference on Imaging Science, Systems
and Technology, Las Vegas, USA, June 2002.
[28] Erik Hjelmas, “Face Detection: A Survey”, Computer Vision and Image
Understanding (83), 2001, 236-274.
[29] David J.C. MacKay , Information Theory, Inference and Learing
Algorithm, e-book, Draft 3.1415 January 12, 2003.
[30] Rakesh Dugad, U.B Desai, “A tutorial on Hidden Markov Model”,
Technical Report No SPANN -96.1, 1996.
[31] Eric Folser-Lussier, “Markov Models and Hidden Markov Model: A brief
tutorial”, International Computer Science Institute, 1998.
[32] Ara Netfian, ”A Hidden Markov Model-based approach for Face Detection
and Recognition”, Doctor Thesis of Philosophy in Engineering, Georgia
Institute of Technology, 1999.
[33] Lindsay I Smith, A tutorial on Principal Components Analysis, February
26, 2002.
[34] Principal Components Analysis, Lecture.
[34] Face Recognition Vendor Test http://www.frvt.org/
[35] Biometric Resource Center http://www.itl.nist.gov/div893/biometrics

74

You might also like