Phát hiện mặt người trong ảnh dựa trên các đặc trưng haar - Like và mẫu nhị phân cục bộ

Trang nhan đề Lời cảm ơn Mục lục Chương_1: Bài toán phát hiện khuôn mặt- mục đích, sự cần thiết của nghiên cứu và kết quả nghiên cứu đạt được Chương_2: Các công trình liên quan Chương_3: ÁP dụng AdaBoost và LBP cho bài toán phát hiện mặt người 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 Chương_5: Kết luận và phương hướng phát triển Danh mục công trình tác giả Tài liệu tham khảo Phụ lục Mục lục Danh Mục Các Bảng Bảng 1. Hiệu suất của bộ phát hiện ADABOOST trên tập dữ liệu MIT – CMU .20 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 .28 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 .29 MIT - CMU . .29 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 .34 MIT - CMU . .34 Bảng 5. Hiệu suất của bộ phát hiện ADABOOST trên tập dữ liệu CALTECH .36 Bảng 6. Hiệu suất của bộ phát hiện AB - LBP trên tập dữ liệu CALTECH .37 Danh Mục Các Hình Hình 1. Cascade của các bộ phân lớp mạnh. Nơi một vùng ứng viên có thể bị loại tại bất kì giai đoạn nào .1 4 Hình 2. Ví dụ sự tính toán LBP 15 Hình 3. Minh họa toán tử LBP mở rộng với các giá trị P và R khác nhau Giá trị các pixel được nội suy cho các điểm không nằm trong tâm của một pixel 16 Hình 4. Từ trái sang phải, các mẫu vân cơ bản: điểm chấm, điểm chấm nhạt, điểm cuối đường thẳng, biên cạnh, góc được phát hiện bởi LBPu2 17 Hình 5. Sự biễu diễn khuôn mặt: histogram đặc trưng được tạo bằng cách kết hợp histogram LBP cục bộ và histogram LBP toàn cục. 18 Hình 6. Ví dụ của các ảnh khuôn mặt được sử dụng để huấn luyện AdaBoost .19 Hình 7. Kết quả phát hiện khuôn mặt trên tập MIT + CMU. Nếu một số lượng lớn bộ phân lớp mạnh được sử dụng trong cascade tree thì thời gian xử lí sẽ tăng và một số khuôn mặt bị sót. Một vài background khó bị phân lớp sai là khuôn mặt (false positive) 2 Hình 8. Vài cửa sổ kích thước 20×20 được rút trích ngẫu nhiên từ một ảnh không chứa khuôn mặt nào để tạo các mẫu non – face cho bộ phát hiện LBP .24 Hình 9. Quá trình phát hiện khuôn mặt của bộ phát hiện AB – LBP .27 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 .33 Hình 11. Một số ảnh trong tập dữ liệu CalTech .36 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 38 Hình 13. Sử dụng nội suy để tính toán giá trị p g .51 Nội Dung Mục lục . .1 Chương 1. Bài toán phát hiện khuôn mặt – mục đích, sự cần thiết của nghiên cứu và kết quả nghiên cứu đạt được 4 1.1 Sự cần thiết của nghiên cứu . 4 1.2 Mục đích nghiên cứu .5 1.3 Kết quả đạt được của luận văn .5 Chương 2. Các công trình liên quan .7 2.1 Nhóm phương pháp dựa trên tri thức .7 2.2 Nhóm phương pháp dựa trên đặc trưng bất biến .7 2.3 Nhóm phương pháp dựa trên đối sánh mẫu . 7 2.4 Nhóm phương pháp dựa trên máy học 7 2.5 Một số nghiên số nghiên cứu về bài toán phát hiện mặt người tại khoa Công Nghệ Thông Tin, ĐH Khoa Học Tự Nhiên Tp. HCM . 9 Chương 3. Áp dụng AdaBoost và LBP cho bài toán phát hiện mặt người .12 3.1 AdaBoost .12 3.1.1 Tổng quan về AdaBoost .12 3 3.1.2 Áp dụng AdaBoost cho bài toán phát hiện khuôn mặt .12 3.2 Local Binary Pattern(Mẫu nhị phân cục bộ) . .14 3.2.1 Local Binary Pattern . 14 3.2.2 Áp dụng LBP cho bài toán phát hiện khuôn mặt .17 3.3 Phân tích và đánh giá phát hiện mặt người sử dụng AdaBoost và LBP 18 3.3.1 Cơ sở dữ liệu cho huấn luyện phát hiện khuôn mặt với phương pháp AdaBoost .18 3.3.2 Kết quả thực nghiệm của phương pháp AdaBoost .19 3.3.3 Cơ sở dữ liệu cho huấn luyện phát hiện khuôn mặt với phương pháp LBP 23 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 .27 4.1 Mô hình đề xuất .2 7 4.2 Các kết quả thực nghiệm và thảo luận .28 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 34 Chương 5. Kết luận và hướng phát triển . 39 Danh mục công trình của tác giả 40 Tài liệu tham khảo .41 Phụ lục . 44 A. Cơ sở toán học của AdaBoost .44 1. AdaBoost .44 B. Nội suy song tuyến tính . 51

pdf12 trang | Chia sẻ: lvcdongnoi | Ngày: 20/08/2013 | Lượt xem: 2399 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Phát hiện mặt người trong ảnh dựa trên các đặc trưng haar - Like và mẫu nhị phân cục bộ, để 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

Các file đính kèm theo tài liệu này:

  • pdf7.pdf
  • pdf1.pdf
  • pdf10.pdf
  • pdf11.pdf
  • pdf2.pdf
  • pdf3.pdf
  • pdf4.pdf
  • pdf5.pdf
  • pdf6.pdf
  • pdf8.pdf
  • pdf9.pdf