Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 1
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
Lời Cảm Ơn
Em xin chân thành cảm ơn thầy Tiến sĩ Nguyễn Đình Thuân đã tận tình hướng
dẫn, giúp đỡ em trong suốt thời gian thực hiện đồ án tốt nghiệp này, chân cảm ơn
quý thầy cô khoa Công nghệ thông tin Trường Đại Học Nha Trang đã tận tình giảng
dậy, trang bị cho chúng em những kiến thức cần thiết trong suốt quá trình học tập.
Em cũng xin gửi lòng biết ơn đến gia đình, cha, mẹ, và bạn bè đã ủng hộ, giúp đỡ
và động viên em trong suốt quá trình làm đồ án tốt nghiệp.
Đề tài được thực hiện trong một thời gian tương đối gian, nên dù đã hết sức cố
gắng hoàn thành nhưng chắc chắn sẽ không thể tránh khỏi những thiếu sót nhất
định. Rất mong nhận được sự thông cảm và đóng góp ý kiến của các thầy cô, bạn bè
nhằm tạo tiền đề thuận lợi cho việc phát triển đề tài tốt hơn nữa trong tương lai.
Nha Trang, ngày 8/12/2008
Sinh viên thực hiện
Nguyễn Thị Hương Lý
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 2
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
Lời Mở Đầu
Trong những năm gần đây, các ứng dụng về nhận dạng mặt người ngày càng
phát triển và được đánh giá cao. Đã có các hệ thống nhận dạng mặt người dựa trên
các phương pháp dò tìm với mạng nơron nhân tạo, SVM và nhận dạng mặt người
dựa trên phương pháp mạng nơron nhân tạo, ICA, SVM…Các ứng dụng vừa nêu
trên mặc dù được dựa trên các lý thuyết khá cổ điển như HMM, nơron nhưng ứng
dụng thực tế thì chưa được nhiều vì giới hạn về tốc độ.
Hệ thống nhận dạng khuôn mặt người vốn có phạm vi ứng dụng lớn nên việc
phát triển hệ thống nhận dạng khuôn mặt người theo các phương pháp mới có ý
nghĩa hết sức quan trọng, đó là lý do tôi chọn đề tài:
“NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG NHẬN DẠNG MẶT NGƯỜI
DỰA TRÊN ADABOOST”
Để có hệ thống nhận dạng khuôn mặt với chất lượng tốt trong thời gian khá
nhanh, tôi đã tiếp cận mô hình học AdaBoost làm công cụ xử lý chính cho việc dò
tìm mặt người dựa vào thông tin trên khuôn mặt và hai phương pháp PCA và LDA
để nhận dạng.
Đề tài được tổ chức thành 7 chương với nội dung:
Chương 1: Phát biểu bài toán
Chương 2: Dò tìm khuôn mặt theo phương pháp AdaBoost
Chương 3: Tổng quan về PCA và LDA
Chương 4: Ứng dụng phương pháp PCA và LDA nhận dạng mặt người.
Chương 5: Cài đặt chương trình
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 3
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
MỤC LỤC
Trang
Chương 1....................................................................................................................................... 6
TỔNG QUAN VỀ BÀI TOÁN ...................................................................................................... 6
1.1. Tổng quan và các khái niệm liên quan đến nhận dạng khuôn mặt............................ 6
1.1.1. Hệ thống nhận dạng khuôn mặt ........................................................................ 6
1.1.2. Hệ thống xác minh ........................................................................................... 6
1.1.3. Hệ thống nhận dạng tĩnh - tĩnh, tĩnh - động, động - động.................................. 6
1.2. Những khó khăn trong bài toán nhận dạng khuôn mặt............................................. 7
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............................... 7
1.3.1. Các công trình nghiên cứu về phương pháp dò tìm và nhận dạng khuôn mặt .... 7
1.3.2. Hướng tiếp cận trong luận văn ......................................................................... 8
1.4 Thu thập dữ liệu....................................................................................................... 9
1.5. Biểu diễn dữ liệu khuôn mặt trong máy tính.......................................................... 10
Chương 2......................................................................................................................................11
DÒ TÌM KHUÔN MẶT NHANH THEO PHƯƠNG PHÁP ADABOOST ....................................11
2.1. Giới thiệu.............................................................................................................. 11
2.1.1. Các vấn đề trong việc dò tìm khuôn mặt nhanh .............................................. 11
2.1.2. Các hướng tiếp cận dò tìm khuôn mặt ............................................................ 11
2.1.3. Hướng tiếp cận theo phương pháp AdaBoost ................................................. 12
2.2. Phương pháp chọn đặc trưng cho AdaBoost.......................................................... 12
2.3. Phương pháp AdaBoost (Adaptive Boost)............................................................. 15
2.3.1. Tiếp cận Boosting .......................................................................................... 15
2.3.2. AdaBoost (Adaptive Boost) ........................................................................... 16
2.4. Dò tìm khuôn mặt với AdaBoost........................................................................... 21
Chương 3......................................................................................................................................22
TỔNG QUAN VỀ PCA VÀ LDA.................................................................................................22
3.1. Giới thiệu về việc nhận dạng khuôn mặt người ..................................................... 22
3.2. Sơ lược về toán đại số tuyến tính trong thống kê ................................................... 22
3.2.1. Vector riêng, trị riêng và sự chéo hóa của ma trận .......................................... 22
3.1.1.1. Vector riêng và trị riêng .......................................................................... 22
3.2.1.2. Ma trận chéo hóa..................................................................................... 23
3.2.2. Kỳ vọng và phương sai trong thống kê đa chiều ............................................. 23
3.1.2.1. Kỳ vọng .................................................................................................. 23
3.2.2.2. Phương sai trong thống kê đa chiều ......................................................... 23
3.3. Sơ lược về PCA và LDA....................................................................................... 25
3.4. Trích rút đặc trưng từ không gian khuôn mặt theo PCA, LDA............................... 27
Chương 4......................................................................................................................................30
ỨNG DỤNG PHƯƠNG PHÁP PCA VÀ LDA TRONG NHẬN DẠNG KHUÔN MẶT NGƯỜI .30
4.1. Eigenface là gì? .................................................................................................... 30
4.2. Rút trích đặc trưng chính thông qua các eigenfaces ............................................... 30
4.3. Thuật toán PCA .................................................................................................... 36
4.4. Thuật toán LDA................................................................................................... 37
4.5. PCA và LDA phân lớp một ảnh khuôn mặt ........................................................... 38
Chương 5......................................................................................................................................43
CÀI ĐẶT CHƯƠNG TRÌNH........................................................................................................43
5.1. Giới thiệu.............................................................................................................. 43
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 4
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
5.2. Các module của chương trình................................................................................ 43
5.3. Giao diện màn hình và hướng dẫn sử dụng............................................................ 55
5.4. Nhận xét ............................................................................................................... 55
TÀI LIỆU THAM KHẢO .............................................................................................................56
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 5
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
Chương 1
TỔNG QUAN VỀ 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 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.2. Hệ thống xác minh
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.
1.1.3. Hệ thống nhận dạng tĩnh - tĩnh, tĩnh - động, động - động
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.
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 phim khá phức tạp song thể hiện trong ảnh tĩnh để huấn
luyện lại ít.
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 6
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
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 chung nói 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.2. Những khó khăn 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...
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.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 dò tìm và 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 với các kết
quả như sau:
Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets,
John Weng (1998) 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.
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.
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 7
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
Antonio J.Colmenarez và Thomas S.Huang (1998) sử dụng kỹ thuật học
thị giác và phù hợp mẫu 2D. Ô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- likehood.
Ara V.Nefian và Monson H.Hayes III (1998) trình bày hướng tiếp cận
theo mô hình Markov (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
sử dụng để đặc trưng cho mỗi trạng thái trong chuỗi 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 (17 January 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.
Hichem Sahbi (7 April 2003) sử dụng phương pháp SVM để dò tìm
khuôn mặt, áp dụng các chiến lược đa cấp để tối ưu hóa tốc độ.
ZhenQui Zhang, Long Zhu, Stan Z.Li và HongJiang Zhang (2001) sử
dụng phương pháp AdaBoost để dò tìm khuôn mặt trong thời gian thực với nhiều
góc nhìn khác nhau.
1.3.2. Hướng tiếp cận trong luận văn
Trong bài luận văn tốt nghiệp này đã sử dụng hai phương pháp đó là: phương
pháp PCA (phân tích thành phần chính) và phương pháp LDA (Phân tích biệt số
tuyến tính) để nhận dạng khuôn mặt.
Việc cô lập khuôn mặt trong ảnh đầu vào (ảnh chứa khuôn mặt – cửa sổ chứa
khuôn mặt) được thực hiện với phương pháp dò tìm khuôn mặt trong ảnh dùng
AdaBoost. Hình dưới mô phỏng các thao tác trong hệ thống nhận dạng mặt người.
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 8
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
Ảnh tĩnh
Phát hiện khuôn mặt
bằng AdaBoost
Webcam
Trích chọn đặc
trưng bằng
eigenface
Nhận dạng với PCA,
LDA
?
…
Hình 1: Sơ đồ hệ thống nhận dạng khuôn mặt
1.4 Thu thập dữ liệu
Cơ sở dữ liệu ảnh khuôn mặt gồm nhiều người được thu thập từ nhiều nguồn
khác nhau.
Tập huấn luyện bộ dò tìm (phát hiện) khuôn mặt được lấy từ trang web
http://www.ai.mit.edu/projects/cbcl của trung tâm CBCL thuộc trường đại học MIT.
Tập ảnh gồm hai bộ ảnh như sau: ảnh huấn luyện (gồm khoảng trên 2000 mặt người
và trên 4000 không phải mặt người) và ảnh thử nghiệm.
Cơ sở dữ liệu ảnh để nhận dạng khuôn mặt:
- Cho PCA: gồm 30 người, được chụp từ webcam và lấy từ các ảnh của các
bạn sinh viên lớp 46TH.
- Cho LDA: gồm 20 người, mỗi người bao gồm khoảng 10-15 ảnh khác nhau.
Nhận xét về tập mẫu dữ liệu: Hầu hết các khuôn mặt xuất hiện trong ảnh là
khuôn mặt trực diện mặt phẳng và mỗi khuôn mặt đều đầy đủ thông tin đặc trưng
như (hai chân mày, hai mắt, mũi, miệng, cằm).
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 9
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
Kích thước chuNn hóa của mỗi mẫu trong tập huấn luyện là 250x250 pixels.
1.5. Biểu diễn dữ liệu khuôn mặt trong máy tính
Dữ liệu ảnh biểu diễn trong máy tính là cường độ sáng của điểm ảnh, tại vị trí
(x, y) là I(x, y).
Để biểu diễn dữ liệu cho các thuật toán học nhận dạng, ta dùng cách tổ chức
dữ liệu như xau:
Đọc từng dòng ảnh theo thứ tự từ trên xuống, mỗi dòng ảnh được bố trí liên
tục nhau trên một mảng số thực nhiều chiều hay chính là vector có kích thước
250x250: x = ( x1 , x1 ,..., x 62500 ) . Đây là cách bố trí cho phương pháp PCA và LDA.
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 10
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
Chương 2
DÒ TÌM KHUÔN MẶT NHANH THEO PHƯƠNG PHÁP ADABOOST
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. 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 AdaBoost.
Dò tìm khuôn mặt nhanh theo phương pháp AdaBoost là một 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.
2.1.1. Các vấn đề trong việc dò tìm khuôn mặt nhanh
Bản thân việc dò tìm khuôn mặt trên ảnh đã có nhiều vấn đề như:
o Biến đổi mặt phẳng ảnh (quay, hướng vv… của khuôn mặt)
o Biến đổi độ sáng và ngữ cảnh
o Biến đổi nền
o Biến đổi hình dáng (các sắc thái khuôn mặt khác nhau)
2.1.2. Các hướng tiếp cận dò tìm khuôn mặt
o 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, thường chỉ sử dụng làm
các bước tiền xử lý cho các hướng khác.
o 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 khuôn mặt người trong thời gian thực là phương pháp ASM (Active
shape Models).
o 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 nhân tạo, các hướng thống kê (SVM, AdaBoost…). Phương pháp
SVM và mạng nơron nhân tạo cũng đạt được kết quả khá cao trong thời
gian khá nhanh song cũng chỉ vài ảnh trong một giây nhưng với AdaBoost
thì cho kết quả khả quan hơn.
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 11
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
2.1.3. Hướng tiếp cận theo phương pháp AdaBoost
Trong đồ án tốt nghiệp này việc dò tìm khuôn mặt người theo phương pháp
AdaBoost với các lý do sau:
o Phương pháp AdaBoost dựa trên ý tưởng xây dựng các bộ dò tìm yếu,
mặc dù độ chính xác không cao nhưng có thời gian xử lý rất nhanh. Tuy
nhiên, khi kết hợp các bộ dò tìm lại có thể đạt độ chính xác cao.
o Phương pháp AdaBoost sử dụng kết hợp các đặc trưng vốn dĩ tính
toán rất nhanh, thích hợp cho việc dò tìm trong thời gian thực.
2.2. Phương pháp chọn đặc trưng cho AdaBoost
Một phương pháp chọn đặc trưng thích hợp cho AdaBoost là phép biến đổi
Haar-like. Haar feature là một loại đặc trưng thường được dùng cho bài toán nhận
dạng trên ảnh. Haar feature được xây dựng từ các hình chữ nhật có kích thước bằng
nhau, dùng để tính độ chênh lệch giữa các giá trị điểm ảnh trong các vùng kề nhau.
Có ba tập hợp miền hình học chính như sau:
1. Đặc trưng cạnh
(a)
(b)
(c)
(d)
2. Đặc trưng đường
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
3. Đặc trưng tâm
(a)
(b)
Hình 2- Các miền hình học đặc trưng Haar-like
Giả sử miền đen là dương và miền trắng là miền âm thì đặc trưng Haar-like
tính bằng tổng giá trị pixel của các ô đen trừ cho tổng giá trị pixel của các ô trắng.
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 12
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
ảnh
A. Feature x2
B. Feature y2
C. Feature x3
D. Feature x2-y2
Hình 3- Haar Feature cơ bản
Trong hình 3.2a và 3.2b, giá trị của feature cho bởi 1 ảnh bằng hiệu số giữa
tổng các điểm ảnh thuộc 2 vùng hình chữ nhật sáng và tối. Trong hình 3.2c thì giá
trị feature bằng tổng các điểm ảnh trong hai vùng hình chữ nhật bên ngoài trừ cho
tổng các điểm ảnh nằm trong hình chữ nhật ở giữa. Trong hình 3.2d, giá trị feature
bằng tổng các điểm ảnh nằm trong vùng 2 hình chữ nhật mầu tối trừ cho tổng các
điểm ảnh nằm trong 2 hình chữ nhật màu sáng.
Haar-like được ưa thích vì các lý do sau:
• Nó diễn đạt được tri thức về các đối tượng trong ảnh (bởi vì nó biểu
diễn mối liên hệ giữa các bộ phận của đối tượng), điều mà bản thân từng
điểm ảnh không diễn đạt được.
• Nó phân loại mạnh trong việc xác định khuôn mặt người hay không
phải khuôn mặt người.
• Có hiệu quả khi dùng bảng tổng các vùng hoặc các kỹ thuật ảnh đầy
đủ.
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 13
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
Hình 4- Haar Feature cho mặt người
Trong quá trình huấn luyện, số lượng xử lý trên các Haar Feature là rất lớn,
việc tính tổng các điểm ảnh cho bởi từng feature làm cho thời gian xử lý tăng đáng
kể. Để khắc phục điều này, Viola và Jones đã đưa ra khái niệm Integral Image để
tính toán nhanh cho các feature cơ bản.
Integral image
Cách tính nhanh phương pháp Haar-like dựa trên đạo hàm ảnh bậc nhất ii(x,y)
của ảnh i(x,y). Đạo hàm ii(x,y) của ảnh i(x,y) chính là tổng giá trị các pixel tính từ
góc trái trên đến (x,y):
ii( x, y ) = ∑ ∑ i ( x' , y ')
x '≤ x y '≤ y
Hình 5- Ý nghĩa hình học của đạo hàm ảnh
Việc tính toán đạo hàm ảnh được thực hiện rất nhanh bằng việc cộng tích lũy
như sau:
s (x, y ) = s (x, y − 1) + i ( x, y )
ii( x, y ) = ii ( x − 1, y ) + s ( x, y )
trong đó s ( x, y ) là tổng của cột x tính từ đầu dòng đến vị trí ( x, y ) .
SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang
Trang 14
Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người
Sau khi có được đạo hàm ảnh, ta chỉ việc tính giá trị một ô chữ nhật bằng cách
như sau: chẳng hạn ta cần tính ô hình chữ nhật D thì ta có công thức sau
Val (D ) = val ( ABCD ) − val ( AC ) − val ( AB ) + val (A) , do đó nếu tính theo tọa độ ( x, y ) ta
có phương trình sau:
sr = (ii ( x, y ) + ii( x − W , y − L )) − (ii ( x − W , y ) + ii ( x, y − L ))
Hình 6 – Cách tính giá trị một ô đặc trưng
Cuối cùng, việc tính các đặc trưng Haar-like chỉ còn là trừ giá trị tổng các ô
chữ nhật được tính như trên.
2.3. Phương pháp AdaBoost (Adaptive Boost)
2.3.1. Tiếp cận Boosting
Boosting là kỹ thuật dùng để tăng độ chính xác cho các thuật toán học
(learning algorithm). Nguyên lý cơ bản của nó là kết hợp các bộ phân loại yếu
(weak classifiers) thành một bộ phân loại mạnh (strong classifier). Trong đó, weak
classifiers là các bộ phân loại đơn giản chỉ cần có độ chính xác trên 50%. Bằng cách
này chúng ta nói bộ phân loại đã được “boost”.
Ví dụ, xét một bài toán phân loại hai lớp (mẫu cần nhận dạng sẽ được phân
vào 1 trong 2 lớp) với D là tập huấn luyện gồm có n mẫu. Trước tiên, chúng ta sẽ
chọn ngẫu nhiên ra n1 mẫu từ tập D (n1
- Xem thêm -