Mô hình đề xuất trong luận văn được gọi là AB – LBP. Đây là mô hình kết hợp AdaBoost và LBP cho bài toán phát hiện mặt người. Trong mô hình này, AdaBoost có trách nhiệm loại bỏ nhanh các cửa số non – face, sau đó các vùng ứng viên sẽ được biểu diễn bởi phương pháp LBP và được phân lớp bởi phương pháp ANN để giảm tỉ lệ phát hiện sai. Hình 9 minh họa tiến trình phát hiện khuôn mặt của phương pháp AB – LBP.
12 trang |
Chia sẻ: vietpd | Lượt xem: 1694 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Mô hình kết hợp của AdaBoost và LBP cho bài toán phát hiện mặt người, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
27
Chương 4. Mô hình kết hợp của AdaBoost và LBP cho bài toán
phát hiện mặt người
4.1 Mô hình đề xuất
Mô hình đề xuất trong luận văn được gọi là AB – LBP. Đây là mô hình kết hợp
AdaBoost và LBP cho bài toán phát hiện mặt người. Trong mô hình này, AdaBoost có
trách nhiệm loại bỏ nhanh các cửa số non – face, sau đó các vùng ứng viên sẽ được
biểu diễn bởi phương pháp LBP và được phân lớp bởi phương pháp ANN để giảm tỉ lệ
phát hiện sai. Hình 9 minh họa tiến trình phát hiện khuôn mặt của phương pháp AB –
LBP.
Hình 9. Quá trình phát hiện khuôn mặt của bộ phát hiện AB – LBP
Với mỗi vùng ứng viên, chúng tôi xem xét các cửa sổ có được bằng cách tăng và giảm
kích thước vùng ứng viên đến 120% và 80%, mỗi lần tăng hoặc giảm 2%. Như vậy,
tương ứng với mỗi vùng ứng viên, chúng tôi xem xét tối đa (120 - 80)/2 = 20 cửa sổ.
Nếu một trong số các cửa sổ được xác nhận là khuôn mặt, vùng ứng viên tương ứng sẽ
được kết luận là khuôn mặt. Ngược lại, vùng ứng viên sẽ bị kết luận là không có khuôn
mặt. Trong [2], A. Hadid và các đồng nghiệp đã sử dụng SVM để phân lớp vector đặc
trưng được rút trích bởi phương pháp LBP. Tuy nhiên trong luận văn này, chúng tôi
quyết định sử dụng ANN trong bước phân lớp bởi vì nếu sử dụng SVM để phân lớp thì
28
tốc độ phát hiện khuôn mặt quá chậm. Trong thực nghiệm của chúng tôi, khi huấn
luyện dữ liệu đề cập trong mục 3.3.1 SVM tạo ra 17604 vector hỗ trợ và tốn tới 0.031
giây để xử lí một ảnh kích thước 20 × 20. Từ bảng 1, với phương pháp AB20, tỉ lệ phát
hiện chính xác khá cao với 467 khuôn mặt phát hiện chính xác, tuy nhiên số phát hiện
sai là 202 Æ số vùng ứng viên sau khi sử dụng bộ phát hiện AdaBoost là 467 + 202 =
669. Nghĩa là, trung bình chúng ta có 669/130 = 5 vùng ứng viên trong một ảnh. Nếu
chúng ta sử dụng SVM Æ thời gian trung bình để kiểm tra một vùng ứng viên là 0.031
× (5 + 20/2) = 0.465 giây. Rõ ràng, đây là một chi phí quá lớn nếu so sánh với thời gian
0.179 của AdaBoost. Trong khi đó ANN chỉ tốn 0.00015 × (5 + 20/2) = 0.00225 giây,
chi phí này không đáng kể nếu so sánh 0.179 giây của AdaBoost Æ Nếu sử dụng ANN
để phân lớp các vector đặc trưng LBP thì mô hình AB – LBP có thể áp dụng để phát
hiện mặt người thời gian thực.
4.2 Các kết quả thực nghiệm và thảo luận
Các bộ phát hiện AdaBoost và LBP đã được huấn luyện trong mục 3.3.1 và 3.3.3. Các
thực nghiệm được tiến hành trên bộ dữ liệu MIT + CMU [7]. Bảng 2 trình bày kết quả
thực nghiệm của bộ phát hiện khuôn mặt AB – LBP.
Bảng 2. HIỆU SUẤT CỦA BỘ PHÁT HIỆN AB - LBP TRÊN TẬP DỮ LIỆU MIT – CMU
Cấu trúc AdaBoost Phương
pháp Số bộ phân lớp
mạnh
Số đặc trưng
Haar - like
Cấu trúc LBP Số khuôn
mặt phát
hiện chính
xác
Số khuôn
mặt phát
hiện sai
Tỉ lệ phát
hiện chính
xác
Thời gian xử
lí 130 ảnh
(giây)
Thời gian
trung bình để
xử lí một ảnh
(giây)
AB20-
LBP
20 1925 465 14 91.72% 24.576 0.189
AB25-
LBP
25 2913
1,4LBP +
2
1,8
uLBP
(phân lớp bởi
ANN)
451 3 88.95% 25.510 0.196
Chúng ta có thể nhận thấy rằng tiếp cận của chúng tôi đạt được kết quả tốt hơn hoặc
bằng tiếp cận AdaBoost trong 3.3.2. Bộ phát hiện AB20 – LBP và AB25 – LBP đạt kết
29
quả xấp xỉ với AB20 và AB25 nhưng với một số lượng phát hiện sai ít hơn đáng kể.
AB20 – LBP đạt tỉ lệ phát hiện chính xác là 91.72%; xấp xỉ với 92.11% của AB20 và
cao hơn 89.15% của AB25. Số lượng phát hiện sai của AB20 – LBP chỉ là 14, rất nhỏ
so với 202 của AB20 và nhỏ hơn 40 của AB25. Hơn nữa, thời gian để xử lí 130 là
24.576 giây, xấp xỉ với thời gian của bộ phát hiện AdaBoost. Trong trường hợp bộ phát
hiện AB25 – LBP, tỉ lệ phát hiện chính xác là 88.95%, tương đương với tỉ lệ của
AB25. Thời gian xử của bộ phát hiện AB – LBP cho một ảnh kích thước 276 × 343
khoảng 0.174 giây trên một máy P4 1.8 GHz PC. Bảng 3 trình bày kết quả của bộ phát
hiện AB – LBP với bộ phát hiện của H. A. Rowley [7].
Bảng 3. TỈ LỆ PHÁT HIỆN CHÍNH XÁC VỚI SỐ PHÁT HIỆN SAI KHÁC NHAU TRÊN DỮ LIỆU
MIT - CMU
Số phát hiện sai
Bộ phát hiện
3 10 14 31 95 167
AB - LBP 88.95% - 91.72% - - -
H. A. Rowley - 83.2% - 86.0% 89.2% 90.1%
Rõ ràng, tiếp cận AB – LBP hiệu quả hơn tiếp cận của H. A. Rowley cả về tỉ lệ phát
hiện chính xác và số lượng phát hiện sai. Hình 10 chỉ ra một số kết quả của bộ phát
hiện AB – LBP trên tập dữ liệu MIT + CMU.
30
31
32
33
Hình 10. Kết quả của bộ phát hiện AB – LBP trên một số ảnh test trên tập dữ liệu
MIT + CMU
Trong hình 10A, bộ phát hiện AB20 – LBP phát hiện chính xác 12 khuôn mặt tương
đương với AB20, và cao hơn của AB25 (11 khuôn mặt) (hình 6A, 6B). Trong hình
10B, AB20 – LBP phát hiện chính xác 6 khuôn mặt với số lượng khuôn mặt phát hiện
sai là 0 trong khi số lượng phát hiện sai của AB20 và AB25 lần lượt là 5 và 3 (hình 7C,
7D). Bộ phát hiện AB20 phát hiện chính xác 6 khuôn mặt trong hình 10C và số phát
hiện sai là 1 trong khi bộ phát hiện AB25 chỉ phát hiện chính xác 5 khuôn mặt và bị sót
một khuôn mặt (hình 10D). Chú ý rằng khuôn mặt bị sót này là một mẫu khó bởi vì nó
tối hơn các khuôn mặt khác. Trong khi đó AB20 – LBP phát hiện chính xác 6 khuôn
mặt và không có phát hiện sai nào (hình 10E). Tương tự trong hình 10F và 10G, AB25
phát hiện được 2 trong tổng số 3 khuôn mặt trong khi AB20 – LBP phát hiện chính xác
34
3 khuôn mặt.Trong hình 10H và 10I, cả AB25 và AB20 – LBP cùng phát hiện chính
xác 3 trong 3 khuôn mặt có trong ảnh. Tuy nhiên, AB25 có 3 phát hiện sai trong khi số
phát hiện sai của AB20 – LBP là 0. Một chú ý quan trọng nữa là trong hầu hết các
trường hợp, bộ phát hiện AB20 – LBP có thời gian xử lí ít hơn hoặc xấp xỉ bộ phát
hiện AB25. Các ví dụ trên tổng quát các khía cạnh chính của bộ phát hiện mặt người
được đề xuất trong luận văn: AB – LBP. Các kết quả thực nghiệm đã chỉ ra rằng AB –
LBP không chỉ đạt được xấp xỉ độ chính xác và thời gian xử lí so với bộ phát hiện
AdaBoost mà còn cực tiểu hóa số phát hiện sai.
Bảng 4 so sánh kết quả của bộ phát hiện AB – LBP đề xuất với kết quả của P.Viola và
M.Jones trong [1] trên tập dữ liệu CMU – MIT.
Bảng 4. TỈ LỆ PHÁT HIỆN CHÍNH XÁC VỚI SỐ PHÁT HIỆN SAI KHÁC NHAU TRÊN DỮ LIỆU
MIT - CMU
Số phát hiện sai
Bộ phát hiện
3 10 14 31 50 65 78 95 167
P.Viola and M.Jones - 81.1% - 89.7% 92.1% 93.1% 93.1% 93.2 % 93.7%
AB - LBP 88.95% - 91.72% - - - - - -
Tuy nhiên, một vấn cần chú ý là trong [1], P.Viola và M.Jones huấn luyện hệ thống của
họ với 4 đặc trưng Haar – like và 38 bộ phân lớp mạnh trong cascade of booted
classifier; thời gian huấn luyện bộ phân lớp của họ khoảng vài tuần. Tuy nhiên kết quả
chúng tôi thực nghiệm trên thư viện OpenCv lại không đạt được như kết quả của Viola
báo cáo trong [1]. (trình bày trong phần kết quả của phương pháp AdaBoost mục 3.3.2)
Chúng tôi cũng đã huấn luyện lại thư viện OpenCv nhưng kết quả cũng không như
mong đợi. Do đó, kết quả của bộ phát hiện AdaBoost được thống kê dựa vào kết quả
chúng tôi thực nghiệm được dựa vào thư viện OpenCv. Chúng tôi cũng lấy kết quả từ
bộ phát hiện AdaBoost của OpenCv để so sánh với kết quả đạt được của chúng tôi.
35
Trong [2], A. Hadid và các đồng nghiệp đã thực hiện việc kiểm tra phương pháp rút
đặc trưng LBP của họ trên một phần tập dữ liệu CMU + MIT (227 khuôn mặt trong 80
ảnh), kết quả báo cáo là LBP đạt hiệu suất phát hiện chính xác là 97.4%, số phát hiện
sai là 0. Tuy nhiên, trong [2], các tác giả không trình bày rõ là 80 kiểm tra là các ảnh
nào trong 130 ảnh của bộ dữ liệu CMU – MIT, nên luận văn không có cơ sở để so
sánh.
4.3 Kết quả thực nghiệm của phương pháp đề xuất trên tập dữ liệu CalTech
Để kiếm chứng hiệu suất của bộ phát hiện AB – LBP, chúng tôi thực hiện thêm kiểm
tra trên tập dữ liệu CalTech của Markus Weber, học viện kỹ thuật California [25]. Tập
ảnh gồm 447 ảnh (không xét các ảnh vẽ, họa). Đây là tập dữ liệu chụp các khuôn mặt
thẳng, chụp dưới nền phức tạp và đa dạng gồm cả trong nhà và ngoài trời. Điều kiện
chiếu sáng khá đa dạng gồm cả các ảnh chụp cùng chiều chiếu sáng và ngược sáng.
Tập ảnh còn có các ảnh chụp phức tạp do một phần của khuôn mặt bị che khuất. Tập
ảnh dùng để kiểm tra là 447 ảnh. Kích thước của mỗi ảnh trong tập CalTech là 896 ×
592. Hình 11 minh họa một số ảnh trong tập dữ liệu CalTech.
36
Hình 11. Một số ảnh trong tập dữ liệu CalTech
Bảng 5 thống kê kết quả bộ phát hiện AdaBoost trên tập dữ liệu CalTech
Bảng 5. HIỆU SUẤT CỦA BỘ PHÁT HIỆN ADABOOST TRÊN TẬP DỮ LIỆU CALTECH
Phương
pháp
Số phân
lớp mạnh
Tổng số
đặc trưng
Haar – like
đã sử dụng
Số khuôn
mặt phát
hiện chính
xác
Số khuôn
mặt phát
hiện sai
Tỉ lệ
phát
hiện
chính
xác (%)
Tổng thời
gian xử lí
447 ảnh
(giây)
Thời gian
trung bình
để xủ lí
một ảnh
(giây)
AB25 25 2913 444 152 99.33 123.442 0.274
Bảng 6 thống kê kết quả bộ phát hiện AB – LBP trên tập dữ liệu CalTech
37
Bảng 6. HIỆU SUẤT CỦA BỘ PHÁT HIỆN AB - LBP TRÊN TẬP DỮ LIỆU CALTECH
Cấu trúc AdaBoost Phương
pháp Số bộ phân
lớp mạnh
Số đặc
trưng
Haar -
like
Cấu trúc LBP Số
khuôn
mặt phát
hiện
chính
xác
Số khuôn
mặt phát
hiện sai
Tỉ lệ phát
hiện chính
xác(%)
Thời gian
xử lí 447
ảnh (giây)
Thời gian
trung bình
để xử lí
một ảnh
(giây)
AB25-
LBP
25 2913
1,4LBP +
2
1,8
uLBP
(phân lớp bởi
ANN)
443 9 99.11 126.056 0.280
Hình 12 so sánh một số kết quả tiêu biểu trên tập dữ liệu CalTech của bộ phát hiện
AdaBoost và AB – LBP.
Trên tập dữ liệu CalTech, kết quả phát hiện khuôn mặt chính xác của phương pháp
AB25 và AB20 là như nhau vì các ảnh trong tập dữ liệu tuy có một số ảnh phức tạp
nhưng chỉ chứa một khuôn mặt trong mỗi ảnh. Có 3 khuôn mặt trong 3 ảnh không
được phát hiện bởi AB25 lẫn AB20. Vì vậy trong thực nghiệm, chúng tôi chỉ trình bày
kết quả của phương pháp AB25 cũng như kết quả của phương pháp AB25LBP. Từ kết
quả thực nghiệm ta có thấy, phương pháp AB25LBP phát hiện ít hơn AB25 một khuôn
mặt. Nhưng thay vào đó số phát hiện sai của AB25LBP chỉ là 9, rất nhỏ so với 152
phát hiện sai của AB25. Một điều quan trọng nữa là thời gian xử lí của AB25LBP và
AB25 xấp xỉ nhau.
38
Hình 12. Một số kết quả phát hiện khuôn mặt của AdaBoost và AB – LBP trên tập
dữ liệu CalTech