Khóa luận Phát hiện mặt người trong ảnh và ứng dụng
ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
----WX----
Lê Mạnh Tuấn
PHÁT HIỆN MẶT NGƯỜI TRONG ẢNH
VÀ ỨNG DỤNG
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Hà Nội – 2009
i
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Mạnh Tuấn
PHÁT HIỆN MẶT NGƯỜI TRONG ẢNH
VÀ ỨNG DỤNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS. Nguyễn Hải Châu
HÀ NỘI - 2009
Lời cảm ơn
Sau một thời gian dài học tập và nghiên cứu, cuối cùng em cũng đã hoàn thành
khóa luận tốt nghiệp này, đây là dịp tốt nhất để em có thể gửi lời cảm ơn đến mọi người.
Em xin gửi lời cảm ơn sâu sắc đến Tiến sĩ Nguyễn Hải Châu, đã tận hình hướng
dẫn, định hướng cho em trong suốt thời gian thực hiện đề tài. Thầy đã cho em những lời
khuyên quý báu giúp em hoàn thành tốt khóa luận.
Em xin cảm ơn khoa Công Nghệ Thông Tin trường Đại Học Công Nghệ - Đại Học
Quốc Gia Hà Nội, cảm ơn các thầy cô trong khoa đã tận tình giảng dậy, truyền đạt cho
em những kiến thức quý báu trong những năm học vừa qua, giúp cho em có một nền tảng
kiến thức vững chắc để thực hiện khóa luận cũng như nghiên cứu học tập sau này.
Tôi xin cảm ơn tất cả bạn bè, anh, chị, những người đã giúp đỡ, khích lệ cũng như
phê bình, góp ý, giúp tôi hoàn thành khóa luận một cách tốt nhất.
Cuối cùng, con cảm ơn bố, mẹ, những người luôn luôn quan tâm, chăm sóc cho con
cả về vật chất lẫn tinh thần, luôn tạo điều kiện tốt nhất cho con có thể chuyên tâm học
tập, nghiên cứu. Gia đình luôn là nguồn động viên, là chỗ dựa tinh thần vững chắc cho
con.
Hà nội, ngày 24 tháng 5 năm 2009
Sinh viên
Lê Mạnh Tuấn
iii
TÓM TẮT
Ngày nay các hệ thống nhận dạng mặt người đang được ứng dụng trong nhiều lĩnh
vực, đặc biệt là an ninh và bảo mật. Nhận dạng mặt người tức là đưa ra những thông tin
về đối tượng được đưa vào từ một bức ảnh, hay từ camera quan sát. Bước đầu tiên của
một hệ thống nhận dạng mặt người là phát hiện khuôn mặt, tức xác định vị trí khuôn mặt
trên bức ảnh, sau đấy tách khuôn mặt ra khỏi ảnh để tiến hành nhận dạng.
Trong khóa luận này em xin nêu một trong những phương pháp để phát hiện khuôn
mặt trong ảnh, sau đấy mở rộng ra với phát hiện mặt người trong video và webcam.
Sau khi đã xem xét các hướng tiếp cận khác nhau, em chọn phương pháp tiếp cận
học máy bằng Adaboost và mô hình Cascade of classifiers. Điểm mạnh của Adaboost là
tốc độ phát hiện khuôn mặt khá nhanh. Kết quả thử nghiệm cho thấy chương trình đạt độ
chính xác khá cao với các ảnh mặt người được chụp trực diện bằng máy kĩ thuật số.
iv
MỤC LỤC
TÓM TẮT............................................................................................................................iv
MỤC LỤC............................................................................................................................v
DANH SÁCH THUẬT NGỮ ............................................................................................vii
DANH MỤC HÌNH VẼ ................................................................................................... viii
DANH SÁCH TỪ VIẾT TẮT ............................................................................................ix
MỞ ĐẦU..............................................................................................................................1
Chương 1 TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP XÁC ĐỊNH MẶT NGƯỜI ............3
1. Giới thiệu về bài toán xác định mặt người trong ảnh................................................3
2. Định nghĩa bài toán xác định mặt người. ..................................................................3
3. Những khó khăn và thách thức đối với bài toán xác định mặt người. ......................3
4. Các ứng dụng của xác định mặt người......................................................................4
4.1. Xác minh tội phạm.................................................................................................4
4.2. Camera chống trộm................................................................................................4
4.3. Bảo mật. .................................................................................................................4
4.4. Lưu trữ khuôn mặt .................................................................................................4
4.5. Các ứng dụng khác ................................................................................................5
5. Xác định phạm vi đề tài.............................................................................................5
Chương 2 CÁC CÔNG TRÌNH NGHIÊN CỨU ................................................................7
1. Các phương pháp chính để xác định mặt người........................................................7
1.1. Hướng tiếp cận dựa trên tri thức...........................................................................8
1.2. Hướng tiếp cận dựa trên đặc trưng không thay đổi.............................................10
1.3. Hướng tiếp cận dựa trên so sánh khớp mẫu. .......................................................13
1.4. Hướng tiếp cận dựa trên diện mạo.......................................................................16
Chương 3 CƠ SỞ LÝ THUYẾT .......................................................................................23
1. Tổng quan về Adaboost...........................................................................................23
1.1. Tiếp cận Boosting ................................................................................................23
1.2. Adaboost ..............................................................................................................24
1.3. Các đặc trưng Haar-Like......................................................................................28
1.4. Cascade of Classifiers..........................................................................................31
v
1.5. Cascade of boosting classifiers............................................................................33
Chương 4 XÂY DỰNG ỨNG DỤNG ..............................................................................34
1. Sơ lược về OpenCV ................................................................................................34
2. Tổng quan về một hệ thống phát hiện mặt người trong ảnh ...................................35
3. Phân tích – thiết kế hệ thống phát hiện mặt người..................................................35
3.1. Phân tích...............................................................................................................35
3.2. Thiết kế hệ thống .................................................................................................36
3.3. Thiết kế cơ sở dữ liệu...........................................................................................38
3.4. Thiết kế giao diện.................................................................................................39
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..........................................................................41
vi
DANH SÁCH THUẬT NGỮ
Thuật ngữ
Giải thích
Classifier
Một bộ phân loại được xây dựng theo một thuật toán học máy
nào đấy, dùng để phân loại các đối tượng (khuôn mặt hay
không phải khuôn mặt)
(bộ phân loại)
False alarm
Feature
Là tỉ lệ nhận dạng sai của các bộ phân loại
Các thông tin giúp nhận biết đối tượng.
(đặc trưng)
Haar-like feature Các đặc trưng của đối tượng trong ảnh. Các đặc trưng này
thường được định nghĩa bằng các tính toán với tổng điểm ảnh
của một vùng nào đó trên bức ảnh.
Hit rate
Là tỉ lệ nhận dạng đúng của bộ phân loại
Max false alarm
Đạt được tỉ lệ sai này thì bộ phân loại được xây dựng thành
công, tỉ lệ sai này là một giá trị bé, có thể chấp nhận được
trong bài toán phân loại.
Strong classifier
Bộ phân loại được xây dựng từ nhiều bộ phân loại yếu, có độ
(bộ phân loại mạnh) chính xác cao.
Threshold
Ngưỡng là giá trị ranh giới giữa các lớp, giá trị của ngưỡng
(ngưỡng)
có thể điều chỉnh được thường được chọn từ thực nghiệm.
(Người ta thử bộ nhận dạng với các giá trị ngưỡng khác nhau
để chọn ra ngưỡng cho tỉ lệ nhận dạng đúng tốt nhất)
Bộ phân loại đơn giản có độ chính xác khoảng 50%.
Weak classifier
(bộ phân loại yếu)
vii
DANH MỤC HÌNH VẼ
Hình 1: Một phương pháp xác định khuôn mặt điển theo hướng tiếp cận top-down. .........8
Hình 2: Phương pháp chiếu................................................................................................10
Hình 3: Một mẫu khuôn mặt ..............................................................................................15
Hình 4: các vector quan sát để huấn luyện cho HMM.......................................................20
Hình 5: Các trạng thái ẩn....................................................................................................21
Hình 6: Xác định khuôn mặt bằng HMM...........................................................................21
Hình 7: Boosting.................................................................................................................24
Hình 8 : 4 đặt trưng Haar-like cơ bản.................................................................................28
Hình 9: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở ...................................29
Hình 10: Cách tính Integral Image của ảnh........................................................................30
Hình 11:Ví dụ cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh...........................30
Hình 12: Ví dụ cách tính nhanh tổng điểm ảnh của vùng D trên ảnh với các đặc trưng
xoay 45o ..............................................................................................................................30
Hình 13: cascade of classifiers ...........................................................................................32
Hình 14: Cascade of boosting classifiers............................................................................33
Hình 15: Cấu trúc cơ bản của OpenCV..............................................................................34
Hình 16: Tổng quan về hệ thống phát hiện mặt người trong ảnh.......................................35
Hình 17: Biểu đồ ngữ cảnh của hệ thống ...........................................................................36
Hình 18: Biểu đồ phân rã chức năng..................................................................................38
Hình 19: Sơ đồ thực thể quan hệ ( ERM )..........................................................................39
Hình 20: Giao diện của chương trình .................................................................................40
viii
DANH SÁCH TỪ VIẾT TẮT
STT
Kí hiệu
CSDL
HMM
ML
Từ tiếng anh
Ý nghĩa
1
2
3
4
5
6
Database
Cơ sở dữ liệu
Hidden Markov Model
Maximum-Likelihood
Mô hình Markov ẩn
Phương thức cực đại khả năng
PCA
Principal Component Analysis Phân tích thành phần chính
PDF
Probility Density
Hàm mật độ xác xuất
RSAT
Rotated Summed Area Table
Mảng hai chiều dùng để tính
nhanh các đặc trưng xoay 45o
Mảng hai chiều dùng để tính
nhanh các đặc trưng haar-like cơ
bản
7
SAT
Summed Area Table
ix
MỞ ĐẦU
Công nghệ thông tin đang được ứng dụng trong mọi lĩnh vực của cuộc sống. Với
một hệ thống máy tính, chúng ta có thể làm được rất nhiều việc, tiết kiện thời gian và
công sức. Điển hình như công việc nhận dạng mặt người. Ngày xưa, muốn tìm kiếm một
kẻ tình nghi trong siêu thị hay sân bay, các nhân viên an ninh phải tìm kiếm trên từng màn
hình camera theo dõi. Ngày nay, công việc đấy đã được làm tự động nhờ các hệ thống
nhận dạng mặt người. Phát hiện mặt người trong ảnh là một phần quan trọng của hệ thống
nhận dạng mặt người đó, giải quyết tốt việc phát hiên mặt người sẽ giúp tiết kiệm thời
gian và nâng cao độ chính xác của việc nhận dạng khuôn mặt.
Phát hiện mặt người cũng là một bài toán nhận dạng đơn giản, hệ thống chỉ cần phân
loại đối tượng đưa vào có phải mặt người hay không phải mặt người. Ở mức độ cao hơn,
sau khi đã phát hiện được khuôn mặt, các khuôn mặt đó sẽ được so sánh với các khuôn
mặt có trong dữ liệu để nhận dạng xem khuôn mặt đấy là của ai (thường áp dụng trong
nhận dạng khuôn mặt của người nổi tiếng hoặc của tội phạm đang bị truy nã).
Bài toán phát hiện mặt người được bắt đầu nghiên cứu từ những năm 1990s, và đã
có rất nhiều công trình nghiên cứu về phát hiện khuôn mặt trong ảnh, tuy nhiên cho đến
nay, các nhà khoa học vẫn không ngừng tìm các hướng tiếp cận mới, các thuật toán mới
nhằm nâng cao hiệu suất của việc phát hiện khuôn mặt cũng như việc nhận dạng mặt
người.
Với mục tiêu chính là tìm hiểu giải thuật adaboost, các đặc trưng haar-like, mô hình
Cascade of Classifiers, đồng thời áp dụng vào bài toán phát hiện mặt người trong ảnh,
khóa luân được trình bầy trong bốn chương với bố cục như sau:
Chương 1: Tổng quan về các phương pháp xác định mặt người : Giới thiệu tổng
quan về bài toán xác định mặt người trong ảnh, các ứng dụng và những khó khăn của bài
toán, đồng thời xác định phạm vi của đề tài.
Chương 2: Các công trình nghiên cứu : Nêu chi tiết bài toán phát hiện mặt người,
các hướng tiếp cận giải quyết bài toán, các nghiên cứu và thành quả đạt được của các nhà
nghiên cứu trong bài toán xác định mặt người.
1
Chương 3: Cơ sở lý thuyết : Đi sâu vào hướng tiếp cận dựa theo thuật toán học
máy adaboost. Giới thiệu về các đặc trưng haar-like của khuôn mặt, cách tính các đặc
trưng haar-like. Tiếp theo là giới thiệu về mô hình cascade of classifiers và cách áp dụng
vào bài toán phát hiện mặt người trong ảnh.
Chương 4: Xây dựng ứng dụng : Xây dựng một chương trình demo về phát hiện
mặt người trong ảnh. Nêu lên các phân tích – thiết kế về chương trình.
Cuối cùng là kết luận và hướng phát triển: Tóm tắt những kết quả đạt được,
những hạn chế và nêu lên các hướng phát triển trong tương lai.
2
Chương 1
TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP
XÁC ĐỊNH MẶT NGƯỜI
1. Giới thiệu về bài toán xác định mặt người trong ảnh.
Trong nhiều năm qua, có rất nhiều công trình nghiên cứu về bài toán nhận dạng mặt
người. Các nghiên cứu đi từ bài toán đơn giản, từ việc nhận dạng một mặt người trong
ảnh đen trắng cho đến mở rộng cho ảnh mầu và có nhiều mặt người trong ảnh. Đến nay
các bài toán xác định mặt người đã mở rộng với nhiều miền nghiên cứu như nhận dạng
khuôn mặt, định vị khuôn mặt, theo dõi mặt người hay nhận dạng cảm xúc mặt người…
Phát hiện mặt người trong ảnh là phần đầu tiên của một hệ thống nhận dạng mặt
người. Các hệ thống nhận dạng khuôn mặt được bắt đầu xây dựng từ những năm 1970,
tuy nhiên do còn hạn chế về các luật xác định mặt người nên chỉ được áp dụng trong một
số ứng dụng như nhận dạng thẻ căn cước. Nó chỉ được phát triển mạnh mẽ từ những năm
1990 khi có những tiến bộ trong công nghệ video và ngày nay thì các ứng dụng của xác
định mặt người đã trở nên phổ biến trong cuộc sống.
2. Định nghĩa bài toán xác định mặt người.
Xác định khuôn mặt người là một kỹ thuật máy tính để xác định các vị trí và kích
thước của các khuôn mặt người trong các ảnh bất kì. Kỹ thuật này nhận biết các đặc trưng
của khuôn mặt và bỏ qua những thứ khác như: tòa nhà, cây cối, cơ thể …
3. Những khó khăn và thách thức đối với bài toán xác định mặt người.
Việc xác định khuôn mặt người có những khó khăn nhất định như:
• Hướng của khuôn mặt đối với máy ảnh, như: nhìn thẳng, nhìn nghiêng hay nhìn
từ trên xuống. Cùng trong một ảnh có thể có nhiều khuôn mặt ở những tư thế
khác nhau.
• Sự có mặt của các chi tiết không phải là đặc trưng riêng của khuôn mặt người,
như: râu quai nón, mắt kính, ….
• Các nét mặt khác nhau trên khuôn mặt, như: vui, buồn, ngạc nhiên, ….
• Mặt người bị che khuất bởi các đối tượng khác có trong ảnh.
3
• Sự biểu cảm của khuôn mặt : sự biểu cảm có thể làm thay đổi đáng kể các đặc
trưng và thông số của khuôn mặt, ví dụ như khuôn mặt của cùng một người sẽ
rất khác khi người đấy cười, tức giận hay sợ hãi …
4. Các ứng dụng của xác định mặt người.
Xác định mặt người thường là một phần của một hệ thống (facial recognition
system). Nó thường được dùng trong giám sát video, giao tiếp người máy và quản lý cơ
sở dữ liệu ảnh… Các ứng cơ bản của xác định mặt người có thể kể đến là:
4.1.Xác minh tội phạm.
Dựa vào ảnh của một người, nhận dạng xem người đấy có phải là tội phạm hay
không bằng cách so sách với các ảnh tội phạm đang được lưu trữ. Hoặc có thể sử dụng
camera để phát hiện tội phạm trong đám đông. Ứng dụng này giúp cơ quan an ninh quản
lý con người tốt hơn.
4.2.Camera chống trộm.
Các hệ thống camera sẽ xác định đâu là con người và theo dõi xem con người đó có
làm gì phạm pháp không, ví dụ như lấy trộm đồ, xâm nhập bất hợp pháp vào một khu vực
nào đó.
4.3.Bảo mật.
Các ứng dụng về bảo mật rất đa dạng, một trong số đó là công nghệ nhận dạng mặt
người của laptop, công nghệ này cho phép chủ nhân của máy tính chỉ cần ngồi trước máy
là có thể đăng nhập được. Để sử dụng công nghệ này, người dùng phải sử dụng một
webcam để chụp ảnh khuôn mặt của mình và cho máy “học” thuộc các đặc điểm của
khuôn mặt giúp cho quá trình đăng nhập sau này.
4.4.Lưu trữ khuôn mặt
Xác định mặt người có thể được ứng dụng trong các trạm rút tiền tự động (ATM) để
lưu trữ khuôn mặt của người rút tiền. Hiện nay có những người bị người khác lấy trộm thẻ
ATM và mã PIN, và bị rút tiền trộm, hoặc có những chủ tài khoản đi rút tiền nhưng lại
báo với ngân hàng là bị mất thẻ và bị rút tiền trộm. Nếu lưu trữ được khuôn mặt của
người rút tiền, ngân hàng có thể đối chứng và xử lý dễ dàng hơn.
4
4.5. Các ứng dụng khác
• Điều khiển vào ra: văn phòng, công ty, trụ sở, máy tính, Palm, …. Kết hợp thêm
vân tay và mống mắt. Cho phép nhân viên được ra vào nơi cần thiết.
• An ninh sân bay, xuất nhập cảnh (hiện nay cơ quan xuất nhập cảnh Mỹ đã áp
dụng). Dùng camera quan sát để xác thực người nhập cảnh và kiểm tra xem người
đấy có phải là tội phạm hay phần tử khủng bố không.
• Tìm kiếm và tổ chức dữ liệu liên quan đến con người thông qua khuôn mặt người
trên nhiều hệ cơ sở dữ liệu lưu trữ thật lớn, như internet, các hãng truyền hình, ….
Ví dụ: tìm các đoạn video có tổng thống Bush phát biểu, tìm các phim có diễn viên
Tăng Thanh Hà đóng, tìm các trận đá bóng có Công Vinh đá, …
• Kiểm tra trạng thái người lái xe có ngủ gật, mất tập trung hay không, và hỗ trợ
thông báo khi cần thiết.
• Tương lai sẽ phát triển các loại thẻ thông minh có tích hợp sẵn đặc trưng của
người dùng trên đó, khi bất cứ người dùng khác dùng để truy cập hay xử lý tại các
hệ thống sẽ được yêu cầu kiểm tra các đặc trưng khuôn mặt so với thẻ để biết nay
có phải là chủ thẻ hay không.
• Hãng máy chụp hình Canon đã ứng dụng bài toán xác định khuôn mặt người vào
máy chụp hình thế hệ mới để cho kết quả hình ảnh đẹp hơn, nhất là khuôn mặt
người.
5. Xác định phạm vi đề tài
Trong đề tài này, tôi tập trung vào việc xác định khuôn mặt trong ảnh, video hoặc
webcam. Từ đấy lưu khuôn mặt tìm được vào CSDL để phục vụ cho các mục đích khác (
chẳng hạn như nhận dạng mặt người hoặc ghép khuôn mặt vào bức ảnh khác … ). Do các
điều kiện khó khăn đã nêu ở trên ( mục 3 chương 1) tôi xin đưa ra những giả định và rành
buộc sau để giảm độ phức tạp của bài toán:
• Các khuôn mặt được chụp thẳng hoặc góc nghiêng không đáng kể (bé hơn 10o)
• Phông nền của ảnh không quá phức tạp
• Ảnh được chụp trong điều kiện ánh sáng bình thường.
5
• Đối với video hoặc webcam, do có thể tách thành các xử lý trên ảnh nên với
những video phức tạp hay webcam quá kém, chương trình sẽ không thực hiện
được tốt nhất có thể.
6
Chương 2
CÁC CÔNG TRÌNH NGHIÊN CỨU
1. Các phương pháp chính để xác định mặt người.
Dựa vào tính chất của các phương pháp xác định mặt người trên ảnh, các phương
pháp này được chia thành bốn loại chính, tương ứng với bốn hướng tiếp cận khác nhau.
Ngoài ra cũng có rất nhiều nghiên cứu mà phương pháp xác định mặt người không chỉ
dựa vào một hướng mà có liên quan đến nhiều hướng.
• Hướng tiếp cận dựa trên tri thức: Dựa vào các thuật toán, mã hóa các đặc trưng và
quan hệ giữa các đặc trưng của khuôn mặt thành các luật. Đây là hướng tiếp cận
theo kiểu top-down.
• Hướng tiếp cận dựa trên đặc trưng không thay đổi: Xây dựng các thuật toán để tìm
các đặc trưng của khuôn mặt mà các đặc trưng này không thay đổi khi tư thế
khuôn mặt hay vị trí đặt camera thay đổi. Hướng tiếp cận này là hướng tiếp cận
theo kiểu bottom-up.
• Hướng tiếp cận dựa trên so sánh khớp mẫu: Dùng các mẫu chuẩn của khuôn mặt
(các mẫu này được định nghĩa bằng tay trước hoặc được tham số hóa bằng mộ
hàm số) để mô tả các khuôn mặt hay các đặc trưng của khuôn mặt. Mẫu này được
sử dụng để phát hiện khuôn mặt bằng cách quét nó qua ảnh và tính toán giá trị
tương đồng cho mỗi vị trí. Việc xuất hiện một khuôn mặt tại một vị trí nào đó
trong ảnh phụ thuộc vào giá trị tương đồng của điểm đó so với mẫu chuẩn
• Hướng tiếp cận dựa trên diện mạo: Trái ngược với hướng tiếp cận dựa trên khuôn
mẫu, các mô hình (hay các mẫu) sẽ được học từ một tập ảnh huấn luyện mà thể
hiện tính chất tiêu biểu của sự xuất hiện của mặt người trong ảnh. Sau đó hệ
thống (mô hình) sẽ xác định mặt người. Phương pháp này còn được biết đến với
tên gọi tiếp cận theo các phương pháp học máy.
7
1.1. Hướng tiếp cận dựa trên tri thức
1.1.1. Tư tưởng
Trong hướng tiếp cận này, các phương pháp xác định mặt người được xây dựng dựa
vào các luật, các luật này phụ thuộc vào tri thức của các tác giả nghiên cứu về bài toán
xác định khuôn mặt. Dễ dàng xây dựng các luật cơ bản để mô tả các đặc trưng của khuôn
mặt và các quan hệ tương ứng. Ví dụ, một khuôn mặt thường có hai mắt đối xứng qua
trục thẳng đứng giữa khuôn mặt và có một mũi một miệng. Các quan hệ đặc trưng có thể
là quan hệ về vị trí và khoảng cách tương đối. Khó khăn của hướng tiếp cận này đó là làm
thế nào để chuyển các tri thức của con người về khuôn mặt sang các luật cho máy tính
một cách hiệu quả. Nếu các luật này quá chi tiết, chặt chẽ thì sẽ có thể xác định thiếu các
khuôn mặt có trong ảnh, nhưng nếu các luật quá tổng quát thì sẽ dẫn đến xác định sai khu
vực không phải là khuôn mặt thành khuôn mặt. Ngoài ra cũng khó để mở rộng phạm vi
của bải toán để xác định các khuôn mặt có nhiều tư thế khác nhau.
1.1.2. Các nghiên cứu
Có nhiều cách để xây dựng chương trình xác định mặt người theo hướng tiếp cận
dựa trên tri thức. Thông thường chương trình sẽ được xây dựng theo hướng dựa vào một
phương pháp nào đấy chọn ra các ứng viên trong bức ảnh trước, sau đó sẽ áp dụng các
luật để xác định ứng viên nào là khuôn mặt, ứng viên nào không phải là khuôn mặt. Quá
trình này có thể được áp dụng nhiều lần để giảm sai sót.
Hình 1: Một phương pháp xác định khuôn mặt điển theo hướng tiếp cận top-down.
Trên hình 1, Các luật được xây dựng dựa vào tri thức của người nghiên cứu về các
đặc trưng của khuôn mặt (ví dụ như cường độ phân phôi và sự khác nhau ) của các vùng
trên khuôn mặt
8
Yang và Huang đã sử dụng hướng tiếp cận dựa trên tri thức để xác định khuôn mặt
[7]. Hệ thống của hai tác giả bao gồm ba mức luật. Đầu tiên các ông sử dụng một khung
cửa sổ để quét trên bức ảnh và thông qua một số tập luật để xác định các ứng viên có thể
là mặt người, ví dụ như tìm phần trung tâm của khuôn mặt (phần tối hơn trong hình 1).
Tiếp theo, dùng một tập luật để mô tả tổng quát hình dáng khuôn mặt, lọc các ứng viên ở
mức một thành một tập các ứng viên mới có xác xuất là khuôn mặt cao hơn. Cuối cùng,
các ông lại dùng một tập luật khác để xem xét ở mức chi tiết các đặc trưng khuôn mặt ( có
thể là đặc trưng về mắt, mũi, miệng … ), từ đó lọc ra các ứng viên chính xác nhất. Có thể
nói cách làm của hai ông là một cách làm mịn dần để đạt được kết quả tốt nhất, mặc dù tỷ
lệ chính xác chưa cao, nhưng đây là tiền đề cho nhiều nghiên cứu sau này.
Có rất nhiều công trình nghiên cứu sử dụng phương pháp chiếu để xác định khuôn
mặt. Kotropoulos và Pitas đưa ra một phương pháp gần tương tự với Yang và Huang. Đầu
tiên, các vùng của khuôn mặt được định vị bởi phương pháp chiếu (đã được Kanade sử
dụng thành công) để xác định biên của khuôn mặt. Với I(x,y) là giá trị xám của một điểm
trong ảnh có kích thước m x n ở tại vị trí (x,y), các hàm để chiếu ảnh theo phương ngang
và thẳng đứng được định nghĩa như sau:
Dựa trên biểu đồ hình chiếu ngang, khi xét biểu đồ biến thiên của HI hai ông tìm
được hai cực tiểu địa phương tương ứng với hai đỉnh đầu bên trái và bên phải của khuôn
mặt. Còn theo hình chiếu dọc, xét biến thiên và tìm cực tiểu địa phương của VI cũng cho
ta các vị trí của miệng, đỉnh mũi và hai mắt. Các đặc trưng này đủ để xác định khuôn mặt.
Hình 2.a cho một ví dụ về cách xác định như trên. Cách xác định này có tỷ lệ xác định
chính xác là 86.5% cho trường hợp chỉ có một khuôn mặt trực diện và hình nền không
phức tạp. Nếu hình nền phức tạp như hình 2.b thì rất khó tìm. Còn nếu ảnh có nhiều
khuôn mặt (hình 2.c) thì sẽ không xác định được.
9
Hình 2: Phương pháp chiếu
(a) Ảnh chỉ có một khuôn mặt và hình nền đơn giản;
(b) Ảnh chỉ có một khuôn mặt và hình nền phức tạp;
(c) Ảnh có nhiều khuôn mặt
1.2. Hướng tiếp cận dựa trên đặc trưng không thay đổi.
Tiếp cận dựa trên các đặc trưng không thay đổi là tiếp cận theo kiểu bottom up. Dựa
trên thực tế, chúng ta cố gắng tìm ra những đặc điểm không thay đổi khi của khuôn mặt
khi ở các tư thế khác nhau và các điều kiện môi trường như ánh sáng khác nhau. Đã có rất
nhiều nghiên cứu về hướng tiếp cận này, các đặc điểm không thay đổi được tìm thấy như
lông mày, mắt, mũi, miệng hay các đường viền trên tóc … Trên cơ sở các đặc trưng này,
các nhà nghiên cứu xây dựng lên một mô hình thống kê mô tả quan hệ của các đặc trưng
và từ đó xác định sự xuất hiện của khuôn mặt trong bức ảnh. Khó khăn của hướng tiếp
cận này đó là phải mô tả các đặc trưng không thay đổi và quan hệ giữa chúng phù hợp với
điều kiện ánh sáng, độ nhiễu hay bị che khuất.
1.2.1. Các đặc trưng của khuôn mặt
Có rất nhiều nghiên cứu về các đặc trưng của khuôn mặt. Có thể dựa vào các đặc
trưng như hai mắt, hai lỗ mũi, miệng, phần nối giữa mũi và miệng … hoặc dựa vào đường
viền của khuôn mặt.
Leung đã đưa ra một mô hình xác xuất để xác định khuôn mặt trong ảnh có hình nền
phức tạp dựa trên việc tìm kiếm các đặc trưng không thay đổi của khuôn mặt trong ảnh,
sau đó dùng đồ thị ngẫu nhiên để xác định khuôn mặt. Tư tưởng của phương pháp này đó
là xem bài toán xác định khuôn mặt như là bài toán tìm kiếm với mục tiêu là tìm thứ tự
các đặc trưng không thay đổi của khuôn mặt. Dùng năm đặc trưng (hai mắt, hai lỗ mũi,
phần nối giữa mũi và miệng) để mô tả một khuôn mặt. Đồng thời tính quan hệ khoảng
cách cho tất cả các cặp đặc trưng (như mắt trái, mắt phải), sau đấy dùng phân bố Gauss để
10
mô hình hóa. Một mẫu khuôn mặt được đưa ra thông qua trung bình tương ứng cho một
tập đa hướng, đa tỷ lệ của bộ lọc đạo hàm Gauss. Từ một ảnh, các đặc trưng của ứng viên
được xác định bằng cách so khớp từng điểm ảnh khi lọc tương ứng với vector mẫu. Hai
ứng viên có đặc trưng đứng đầu sẽ được chọn để tìm kiếm cho các đặc trưng khác của
khuôn mặt. Từ các đặc trưng không thay đổi, các đặc trưng khác sẽ được xác định thông
qua sự đánh giá xác xuất khoảng cách giữa các đặc trưng, hơn nữa phương sai của phép
thống kê này có thể được tính toán trước để xác định các đặc trưng với xác xuất lớn. Tỷ lệ
chính xác của phương pháp này là 86%.
Bên cạnh tính khoảng cách liên quan để mô tả quan hệ giữa các đặc trưng như
Leung. Kendall [4], Mardia and Dryden [12] dùng lý thuyết xác suất thống kê về hình
dáng. Dùng hàm mật độ xác suất (Probility Density Function - PDF) qua N điểm đặc
trưng, tương ứng (xi, yi) là đặc trưng thứ i với giả sử là phân bố Gauss có 2N-chiều. Các
tác giả áp dụng phương thức cực đại khả năng (Maximum-Likelihood - ML) để xác định
vị trí khuôn mặt. Một thuận lợi của phương pháp này là các khuôn mặt bị che khuất vẫn
có thể xác định được. Hạn chế phương pháp này đó là không xác định được nhiều khuôn
mặt trong cùng một ảnh.
Không dùng phương pháp xác xuất, Sirohey đưa một phương pháp khác xác định
khuôn mặt từ một ảnh có hình nền phức tạp [10], gọi là phương pháp dựa trên cạnh. Ông
dùng phương pháp Candy [9] và heuristics loại bỏ các cạnh để còn lại duy nhất một
đường bao xung quanh khuôn mặt. Dùng một hình ellipse để bao khuôn mặt, tách biệt
vùng đầu và hình nền. Tỷ lệ chính xác của thuật toán là 80%.
Graf đưa ra một phương pháp khác để xác định đặc trưng, từ đó xác định khuôn mặt
trong ảnh xám [8]. Dùng bộ lọc để làm nổi các biên, các phép toán hình thái học
(morphology) được dùng để làm nổi bật các vùng có cường độ cao và hình dáng chắc
chắn (như mắt). Thông qua histogram để tìm các đỉnh nổi bật để xác định các ngưỡng
chuyển ảnh xám thành hai ảnh nhị phân. Tiếp theo, ông xác định các ứng viên khuôn mặt
nhờ vào các thành phần đều xuất hiện trong cả hai ảnh nhỉ phân, sau đó phân loại xem các
ứng viên có phải là khuôn mặt không. Phương pháp được kiểm tra và cho kết quả tốt trên
các ảnh chỉ có đầu và vai của người. Tuy nhiên phương pháp này còn một vấn đề đấy là
sử dụng các phép toán morphology như thế nào và làm sao xác định khuôn mặt trên các
vùng ứng viên.
11
Park dùng Gaze để tìm ứng viên góc mắt, miệng và tâm mắt. Ông xây dựng SVM
(Support Vector Machine) đã được học trước đó để xác định các vị trí ứng viên có phải là
góc mắt, miệng, và tâm mắt hay không để theo vết con mắt người.
Juan và Narciso xây dựng một không gian màu mới YCg’Cr’ để lọc các vùng là ứng
viên khuôn mặt dựa trên sắc thái của màu da người. Sau khi có ứng viên, hai ông dùng
các quan hệ về hình dáng khuôn mặt, mức độ cân đối của các thành phần khuôn mặt để
xác định khuôn mặt người. Tương tự, Chang và Hwang cũng dùng không gian mầu
Ycg’Cr’ với tỷ lệ chính xác hơn 80% trong ảnh xám.
Jin xây dựng một bộ lọc để xác định ứng viên khuôn mặt người theo màu da người.
Từ ứng viên này tác giả xác định khuôn mặt người theo hình dáng khuôn mặt và các quan
hệ đặc trưng về thành phần khuôn mặt, với mắt phải được chọn làm gốc tọa độ để xét
quan hệ. Tỷ lệ chính xác cho khuôn mặt chụp thẳng trên 80%.
1.2.2. Kết cấu của khuôn mặt.
Khuôn mặt con người có những kết cấu riêng biệt mà có thể dùng để phân loại so
với các đối tượng khác. Từ kết cấu của khuôn mặt xây dựng lên một bộ phân loại, gọi là
kết cấu giống khuôn mặt (face-like texture).
1.2.3. Mầu sắc da.
Thông thường các ảnh màu không xác định trực tiếp trên toàn bộ dữ liệu ảnh mà các
tác giả dùng tính chất sắc màu của da người (khuôn mặt người) để chọn ra được các ứng
viên có thể là khuôn mặt người (lúc này dữ liệu đã thu hẹp đáng kể) để xác định khuôn
mặt người.
1.2.4. Đa đặc trưng.
Gần đây có nhiều nghiên cứu sử dụng các đặc trưng toàn cục như: màu da người,
kích thước, và hình dáng để tìm các ứng viên khuôn mặt, rồi sau đó sẽ xác định ứng viên
nào là khuôn mặt thông qua dùng các đặc trưng cục bộ (chi tiết) như: mắt, lông mày, mũi,
miệng, và tóc. Tùy mỗi tác giả sẽ sử dụng tập đặc trưng khác nhau.
12
1.3. Hướng tiếp cận dựa trên so sánh khớp mẫu.
1.3.1. Tư tưởng của so sánh khớp mẫu
Trong hướng tiếp cận dựa trên so sánh khớp mẫu, các mẫu chuẩn của khuôn mặt
(thường là khuôn mặt được chụp thẳng) sẽ được xác định trước hoặc được biểu diễn thành
một hàm với các tham số cụ thể. Từ ảnh đầu vào, ta tính các giá trị tương quan so với các
mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và miệng. Thông qua các giá trị tương
quan này mà hệ thống sẽ quyết định có hay không có tồn tại khuôn mặt trong ảnh. Hướng
tiếp cận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình
dáng thay đổi.
1.3.2. Xác định các mẫu.
Sakai đã cố gắng thử xác định khuôn mặt người chụp thẳng trong ảnh [20]. Ông
dùng vài mẫu con (sub template) về mắt, mũi, miệng, và đường viền khuôn mặt để mô
hình hóa một khuôn mặt. Mỗi mẫu con được định nghĩa trong giới hạn của các đoạn
thẳng. Các đoạn thằng trong ảnh được trích bằng cách xem xét thay đổi của hệ số góc và
so khớp các mẫu con. Đầu tiên tìm các ứng viên thông qua mối tương quan giữa các ảnh
con và các mẫu về đường viền. Sau đó, so khớp với các mẫu con khác. Hay nói một cách
khác, giai đoạn đầu xem như là giai đoạn sơ chế để tìm ứng viên, giai đọan thứ hai là giai
đoạn tinh chế để xác định ứng viên có phải là khuôn mặt hay không. Ý tưởng này được
duy trì cho đến các nghiên cứu sau này.
Craw đưa ra một phương pháp xác định khuôn mặt người dựa vào các mẫu về hình
dáng của các ảnh được chụp thẳng (dùng vẻ bề ngoài của hình dáng khuôn mặt). Đầu tiên
dùng phép lọc Sobel (Phép lọc Sobel dựa vào tích vô hướng của hai vector gradient) để
tìm các cạnh. Các cạnh này sẽ được nhóm lại theo một số ràng buộc. Sau đó, tìm đường
viền của đầu, quá trình tương tự được lặp đi lặp lại với mỗi tỷ lệ khác nhau để xác định
các đặc trưng khác như: mắt, lông mày, và môi. Sau đó Craw mô tả một phương thức xác
định dùng một tập có 40 mẫu để tìm các đặc trưng khuôn mặt và điều khiển chiến lược
dò tìm.
Một số nhà nghiên cứu sử dụng hình chiếu như các mẫu để xác định khuôn mặt
người. Silhouettes dùng PCA (phân tích thành phần chính – Principal Component
Analysis - PCA) để có một tập hình chiếu cơ bản từ các mẫu khuôn mặt, hình chiếu được
mô tả như một mảng các bit. Sau đấy dùng đặc trưng hình chiếu kết hợp biến đổi Hough
13
để xác định khuôn mặt người. Phương pháp này định nghĩa một số giả thuyết để mô tả các
khả năng của các đặc trưng khuôn mặt. Với một khuôn mặt sẽ có một tập giả thuyết, gọi
là lý thuyết DepsterShafer. Dùng một nhân tố tin cậy để kiểm tra sự tồn tại hay không của
các đặc trưng của khuôn mặt, và kết hợp nhân tố tin cậy này với một độ đo để xem xét có
hay không có khuôn mặt trong ảnh.
Sinha dùng một tập nhỏ các ảnh bất biến trong không gian ảnh để mô tả không gian
các mẫu ảnh [15, 16]. Tư tưởng chính của ông dựa vào sự thay đổi mức độ sáng của các
vùng khác nhau của khuôn mặt (như hai mắt, hai má, và trán), (quan hệ về mức độ sáng
của các vùng còn lại thay đổi không đáng kể). Sau đấy xác định các cặp tỷ số của mức độ
sáng của một số vùng (một vùng tối hơn hay sáng hơn) cho ta một lượng bất biến khá
hiệu quả. Ông lưu sự thay đổi độ sáng của các vùng trên khuôn mặt trong một tập thích
hợp với các cặp quan hệ sáng hơn – tối hơn giữa các vùng nhỏ. Một khuôn mặt được xác
định nếu nó thỏa mãn tất cả các cặp sáng hơn – tối hơn. Ý tưởng này xuất phát từ sự khác
biệt của cường độ giữa các vùng kề cục bộ trên ảnh, sau này nó được mở rộng trên cơ sở
biến đổi wavelet để xác định người đi bộ, xác định xe hơi, xác định khuôn mặt. Ý tưởng
của Sinha còn được áp dụng trong các nghiên cứu về thị giác của robot. Hình 3 cho thấy
mẫu khuôn mặt với 16 cùng và 23 quan hệ. Các quan hệ này được dùng để phân loại, có
11 quan hệ thiết yếu (các mũi tên màu đen) và 12 quan hệ xác thực (các mũi tên mầu
xám). Mỗi mũi tên là một quan hệ. Một quan hệ của hai vùng thỏa mãn mẫu khuôn mặt
khi tỷ lệ giữa hai vùng vượt qua một ngưỡng và một khuôn mặt được xác đinh khi có 23
quan hệ thỏa mãn điều kiện trên.
14
Hình 3: Một mẫu khuôn mặt
Mẫu khuôn mặt có kích thước 14 x 16 pixel được
sử dụng trong phương pháp định vị khuôn mặt của
Sinha. Mẫu gồm 16 vùng trên khuôn mặt và 23
quan hệ ( các mũi tên).
Một số phương pháp khác như của Froba và Zink lọc cạnh ở độ phân giải thấp rồi
dùng biến đổi Hough để so khớp mẫu theo hướng cạnh để xác định hình dáng khuôn mặt
ở dạng chụp hình thẳng ở dạng xám. Tỷ lệ chính xác trên 91%. Ngoài ra Shu và Jain còn
xây dựng ngữ nghĩa khuôn mặt. Ngữ nghĩa xây dựng theo hình dáng và vị trí các thành
phần khuôn mặt. Hai ông từ bộ ngữ nghĩa này tạo một đồ thị quan hệ để dễ dàng so khớp
khi xác định khuôn mặt người …
1.3.3. Các mẫu biến dạng
Yuille dùng các mẫu biến dạng để mô hình hóa các đặc trưng của khuôn mặt [3].
Trong hướng tiếp cận này, các đặc trưng khuôn mặt được mô tả bằng các mẫu được tham
số hóa và có một hàm năng lượng (giá trị) được để liên kết các cạnh, đỉnh, và thung lũng
trong ảnh để tương ứng với các tham số trong mẫu. Mô hình này tốt nhất khi tối thiểu
hàm năng lượng qua các tham số, Mặc dù có kết quả tốt nhưng phương pháp này có một
số hạn chế đó là các mẫu biến dạng phải được khởi tạo trong phạm vi gần với các đối
tượng mà nó xác định.
Rất nhiều hướng tiếp cận dựa trên dường gấp khúc (snake) và các mẫu để xác định
khuôn mặt. Đầu tiên ảnh sẽ được làm xoắn lại bởi một lọc làm mờ rồi dùng phép toán
15
morphology để làm nổi bật cạnh lên. Tiếp theo dùng một đường gấp khúc có n điểm ảnh
(giá trị n nhỏ) để tìm và ước lượng các đọan cong nhỏ. Mỗi khuôn mặt được xấp xỉ bằng
một ellipse và biến đổi Hough, rồi tìm một ellipse nổi trội nhất. Các ứng viên sẽ có bốn
tham số mô tả nột ellipse (để xác định khuôn mặt). Với mỗi ứng viên, một phương thức
tương tự như phương thức mẫu biến dạng được dùng để xác định các đặc trưng ở mức chi
tiết. Nếu tìm thấy số lượng đáng kể các đặc trưng khuôn mặt và thỏa mãn tỷ lệ cân đối thì
xem như đã xác định được một khuôn mặt. Lam và Yan cũng dùng đường gấp khúc để
xác định vị trí đầu với thuất toán greedy để cực tiểu hóa hàm năng lượng [11].
Thay vì dùng đường gấp khúc thì Huang và Su [6] dùng lý thuyết dòng chảy để xác
định đường viền khuôn mặt dựa trên đặc tính hình học. Hai ông dùng lý thuyết tập hợp
đồng mức (Level Set) để loang từ các khởi động ban đầu để có được các khuôn mặt
người.
Lanitis mô tả một phương pháp biểu diễn khuôn mặt người với cả hai thông tin: hình
dáng và cường độ [12]. Bắt đầu bằng các tập ảnh được huấn luyện với các đường viền
mẫu như là đường bao mắt, mũi, cằm/má đã được gán nhãn(phân loại). Ông dùng một
vector các điểm mẫu để mô tả hình dáng. Sau đó dùng một mô hình phân bố điểm (Point
Distribution Model – PDM) để mô tả vector hình dáng qua toàn bộ các cá thể. Dùng cách
tiếp cận như của Kirby và Sirovich [14] để mô tả cường độ bề ngoài của hình dáng đã
được chuẩn hóa. Để tìm kiếm và ước lượng vị trí khuôn mặt cũng như các tham số về
hình dáng ông sử dụng một mô hình PDM có hình dáng như khuôn mặt (xác định khuôn
mặt bằng mô hình hình dáng tích cực - Active Shape Model - ASM). Các mảnh của
khuôn mặt được làm biến dạng về hình dáng trung bình rồi trích lấy các tham số cường
độ. Sau đấy các tham số hình dáng và cường độ được dùng để phân loại và xác định
khuôn mặt.
1.4. Hướng tiếp cận dựa trên diện mạo.
1.4.1. Tư tưởng của hướng tiếp cận dựa trên diện mạo
Trái ngược với hướng tiếp cận dựa trên so sánh khớp mẫu (các mẫu đã được các nhà
nghiên cứu định nghĩa trước), các mẫu trong hướng tiếp cận này được học từ một tập ảnh
mẫu. Có thể nói hướng tiếp cận dựa trên diện mạo áp dụng các kỹ thuật theo hướng xác
suất thống kê và học máy để tìm những đặc tính liên quan của khuôn mặt và không phải là
khuôn mặt. Các đặc tính đã được học ở trong hình thái các mô hình phân bố hay các tham
16
số của một hàm số nên có thể dùng các đặc tính này để xác định khuôn mặt người. Đồng
thời, bài toán giảm số chiều thường được quan tâm để tăng hiệu quả tính toán cũng như
hiệu quả xác định.
Trong hướng tiếp cận này, phương pháp xác xuất tiếp tục được nhiều nhà nghiên
cứu sử dụng. Một bức ảnh hoặc một vector (đặc trưng cho bức ảnh) được xem như một
biến ngẫu nhiên. Biến ngẫu nhiên này sẽ được xác định là có mô tả các đặc tính của
khuôn mặt hay không thông qua các xác xuất có điều kiện p(x/face) và p(x/nonface). Có
thể dùng bộ phân loại Bayesian để phân loại các ứng viên là khuôn mặt hay không phải
khuôn mặt. Tuy nhiên, việc cài đặt bộ phân loại Bayesian với số chiều x lớn là một điều
khá khó khăn, do đó có rất nhiều nghiên cứu theo hướng tiếp cận này quan tâm tới việc
tham số hóa hay không tham số các xác xuất p(x/face) và p(x/nonface).
Một các tiếp cận khác trong hướng tiếp cận dựa trên diện mạo là tìm một hàm biệt
số ví dụ như các hàm mô tả mặt phẳng hay siêu phẳng quyết định (các ranh giới) để phân
biệt hai lớp khuôn mặt và không phải khuôn mặt. Thông thường, một bức ảnh được chiếu
vào không gian có số chiều ít hơn rồi sau đó dùng một hàm biệt số (dựa trên các độ đo
khoảng cách) để phân loại hoặc xây dựng một mặt quyết định phi tuyến bằng mạng neural
đa tầng. Ngoài ra có thể dùng SVM (Super Vector Machine) và các phương thức kernel
chiếu các mẫu vào không gian có số chiều cao hơn để dữ liệu bị rời rạc hoàn toàn và từ đó
có thể sử dụng mặt phẳng phân loại để phân loại các mẫu là khuôn mặt hay không phải là
khuôn mặt[5].
1.4.2. Một số phương pháp cụ thể trong hướng tiếp cận dựa trên diện mạo
Có rất nhiều phương pháp học máy được sử dụng trong hướng tiếp cận dựa trên diện
mạo. Trong phần này chỉ nêu ra một số phương pháp cùng những nghiên cứu liên quan
đến phương pháp đấy. Riêng phương pháp adaboost sẽ được trình bầy trong phần sau của
báo cáo.
a. Adaboost
Adaboost được đánh giá là phương phát tiếp cận nhanh nhất trong các thuật toán học
máy. Nó thường được kết hợp với các mô hình cascade of classifiers để tăng tốc độ phát
hiện khuôn mặt trong ảnh. Tư tưởng của thuật toán adaboost đấy là kết hợp các bộ phân
loại yếu thành một bộ phân loại mạnh. Trong quá trình xây dựng, bộ phân loại yếu tiếp
17
theo sẽ được xây dựng dựa trên các đánh giá về các bộ phân loại yếu trước, cuối cùng các
bộ phân loại yếu sẽ được kết hợp để trở thành bộ phân loại mạnh.
Viola và Jones dùng AdaBoost kết hợp cascade để xác định khuôn mặt người [17]
với các đặc trưng dạng Haar-like. Tốc độ xử lý khá nhanh và tỷ lệ chính xác hơn 80%.
Ngoài ra Schneiderman và Kanade dùng wavelet để trích đặc trưng, sau đấy cũng xây
dựng hệ thống học với Adaboost, dựa trên xác suất để xác định khuôn mặt người. Tỷ lệ
chính xác trên của phương pháp này lên đến 90%.
b. Mạng Neural
Về cơ bản mạng neural là một mạng các phần tử (gọi là neuron) kết nối với nhau
thông qua các liên kết (các liên kết này được gọi là trọng số liên kết) để thực hiện một
công việc cụ thể nào đó. Khả năng xử lý của mạng neuron được hình thành thông qua quá
trình hiệu chỉnh trọng số liên kết giữa các neuron, nói cách khác là học từ tập hợp các
mẫu huấn luyện.
Mạng neural rất hay được sử dụng trong các bài toán nhận dạng mẫu, nhận dạng mặt
người cũng có thể xem là một bài toán nhận dạng với hai loại mẫu (mặt người hoặc không
phải mặt người) và như vậy có thể sử dụng mạng neural khá hiệu quả kể cả khi các mẫu
khuôn mặt có độ phức tạp cao. Tuy nhiên, một điều trở ngại đó là các kiến trúc mạng đều
có tính tổng quát cao, do đó, khi áp dụng ta phải tính toán rõ số lượng tầng, số lượng
node, tỷ lệ học … cho từng trường hợp cụ thể.
c. Support Vector Machine
Support Vector Machine (SVM) được Vladimir Vapnik đưa ra vào năm 1995 để giải
quyết vấn đề nhận dạng mẫu hai lớp sử dụng nguyên tắc cực tiểu hóa rủi ro cấu trúc
(Structural Risk Minimization). Đây là phương pháp tiếp cận phân loại văn bản rất hiệu
quả. Ưu điểm của SVM là giải thuật này được xây dựng trên ý tưởng cực tiểu rủi ro cấu
trúc. Nguồn gốc của SVM dựa trên sự chắc chắn về lỗi chính xác, có thể phân loại ngẫu
nhiên các mẫu đối tượng được chọn mà lỗi được giữ sao cho nhỏ nhất. Vì vậy, giải thuật
SVM giúp giảm thiểu biên trên các lỗi chính xác và làm cho hệ thống tin cậy hơn
Cho trước một tập huấn luyện, các ảnh được biểu diễn dưới dạng vector. Trong
không gian vector, mỗi vertor được biểu diễn bởi một điểm. Phương pháp SVM sẽ tim
một siêu phẳng quyết định để phân chia không gian vector thành hai lớp (khuôn mặt và
18
không phải khuôn mặt). Chất lượng của siêu phẳng này phụ thuộc vào khoảng cách giữa
các vector, tức là phụ thuộc vào các đặc trưng của ảnh.
Support Vector Machine đã được Osuna [5] áp dụng đầu tiên (để xác định khuôn
mặt người). SVM được xem như là một kiểu phân loại mới vì trong khi hầu hết các
phương pháp phân loại khác (như Mạng Bayes, Nueral, RBF) đều dùng tiêu chí tối thiểu
lỗi huấn luyện (rủi ro do kinh nghiệm), trong khi SVM dùng quy nạp (được gọi là tối
thiểu rủi ro cấu trúc). Phân loại SVM là một phân loại tuyến tính, do đó nó cũng dùng một
siêu phẳng để tách dữ liệu. Dựa trên một số kết hợp có các trọng số của một tập con nhỏ
các vector huấn luyện, các vector này được gọi là support vector. Ước lượng siêu phẳng
trong SVM thì tương đương giải một bài toán tuyến tính bậc hai. Osuna [5] đã phát triển
phương pháp SVM một cách hiệu quả cho bài toán xác định khuôn mặt người. Ông dùng
10,000,000 mẫu có kích thước 19x19 pixel, hệ thống của ông có tỷ lệ lỗi ít hơn và nhanh
hơn rất nhiều.
d. Mô hình Markov ẩn
Mô hình Markov ẩn ( Hidden Markov Model – HMM ) là một mô hình thống kê
trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số
không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được,
dựa trên sự thừa nhận này. Các tham số của mô hình được rút ra sau đó có thể sử dụng để
thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng nhận dạng mẫu.
Một giả thuyết quan trọng của mô hình Markov ẩn là các mẫu có thể được đặc tính
hóa như các tiến trình ngẫu nhiên có tham số và các tham số này được ước lượng chính
xác, đây là một trong những định nghĩa rõ ràng. Khi phát triển HMM để giải quyết bài
toán nhận dạng mẫu, phải xác định rõ có bao nhiêu trạng thái ẩn đầu tiên cho hình thái mô
hình. Sau đó, huấn luyện HMM học xác suất chuyển tiếp giữa các trạng thái từ các mẫu,
mà mỗi mẫu được mô tả như một chuỗi các quan sát. Mục tiêu huấn luyện HMM là cực
đại hóa xác suất của quan sát từ dữ liệu huấn luyện bằng cách điều chỉnh các tham số
trong mô hình HMM thông qua phương pháp phân đoạn Viterbi chuẩn và các thuật toán
Baum-Welch. Sau khi huấn luyện xong, dựa vào xác suất để xác định một quan sát thuôc
lớp nào.
Để hình dung về HMM, ta xét ví dụ cụ thể sau: Giả sử A có một người bạn B sống ở
rất xa. Hàng ngày thì B đều gọi điện cho A để kể về những việc mà B đã làm trong ngày.
19
B chỉ có 3 việc mà anh ta thích làm đó là: việc thứ nhất là đi dạo, thứ hai là đi chợ và thứ
ba là dọn phòng. Và việc anh ta làm việc gì trong ngày phụ thuộc rất lớn vào thời tiết của
ngày hôm đấy. Như vậy, dù không nhận được thông tin cụ thể về thời tiết trong ngày ở
nơi người B ở, nhưng người A vẫn có thể dựa vào việc B làm trong ngày để đoán về thời
tiết hôm đấy. Như vậy nếu coi thời tiết chỉ có hai trạng thái là nắng và mưa thì thời tiết là
một chuỗi Markov cụ thể, và nó là ẩn đối với người A. Dữ liệu quan sát được ở đây là
việc làm trong ngày của người B. Toàn bộ hệ thống này là một mô hình Mackov ẩn.
Một giả thuyết quan trọng của mô hình Markov ẩn là các mẫu có thể được xem như
các tiến trình ngẫu nhiên có tham số và các tham số này được ước lượng chính xác. Khi
phát triển HMM để giải quyết bài toán nhận dạng mẫu, phải xác định rõ có bao nhiêu
trạng thái ẩn đầu tiên cho hình thái mô hình. Sau đó, huấn luyện HMM học xác suất
chuyển tiếp giữa các trạng thái từ các mẫu, mà mỗi mẫu được mô tả như một chuỗi các
quan sát. Mục tiêu huấn luyện HMM là cực đại hóa xác suất của quan sát từ dữ liệu huấn
luyện bằng cách điều chỉnh các tham số trong mô hình HMM thông qua phương pháp
phân đoạn Viterbi chuẩn và các thuật toán Baum-Welch. Sau khi huấn luyện xong, dựa
vào xác suất để xác định một quan sát thuôc lớp nào.
Hình 4: các vector quan sát để huấn luyện cho HMM
20
Hình 5: Các trạng thái ẩn
Đối với bài toán phát hiện và nhận dạng mặt người, ta chia khuôn mặt thành các
vùng khác nhau như đầu, mắt, mũi, miệng, và cằm. Có thể nhận dạng một mẫu khuôn mặt
người bằng cách thực hiện tiến trình xem xét các vùng quan sát theo một thứ tự thích hợp
(từ trên xuống dưới, từ trái qua phải). Mục tiêu của hướng tiếp cận này là kết hợp các
vùng đặc trưng khuôn mặt với các trạng thái của mô hình.
Hình 6: Xác định khuôn mặt bằng HMM
Mỗi trạng thái lại có những trạng thái nhỏ bên trong: trạng thái trán
có ba trạng thái nhỏ bên trong; trạng thái mắt có năm trạng thái nhỏ
bên trong.
Thường các phương pháp dựa vào HMM sẽ xem xét một mẫu khuôn mặt như một
chuỗi các vector quan sát, với mỗi vector là một dãy các điểm ảnh (hình 4 và hình 6).
Trong quá trình huấn luyện và kiểm tra, một ảnh được quét theo một thứ tự và một quan
sát được xem như một khối các điểm ảnh (hình 4 và hình 6). Sau đấy, áp dụng một định
hướng theo xác suất để chuyển từ trạng thái này sang trạng thái khác ( hình 5 ), dữ liệu
ảnh được mô hình hóa bằng phân bố Gauss đa biến. Một chuỗi quan sát bao gồm tất cả
giá trị cường độ từ mỗi khối. Kết quả xuất ra cho biết quan sát thuộc lớp nào.
21
Tải về để xem bản đầy đủ
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Phát hiện mặt người trong ảnh và ứng dụng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
khoa_luan_phat_hien_mat_nguoi_trong_anh_va_ung_dung.pdf