intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đồ án tốt nghiệp Công nghệ thông tin: Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt người dựa trên Adaboost

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:36

58
lượt xem
21
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đồ án "Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt người dựa trên Adaboost" có nội dung trình bày những vấn đề lý thuyết cơ bản của lĩnh vực phát hiện khuôn mặt cũng như những thành công mà các nhà nghiên cứu đã đạt được trong những năm gần đây. Để nắm được nội dung chi tiết, mời các bạn cùng tham khảo tại đây nhé.

Chủ đề:
Lưu

Nội dung Text: Đồ án tốt nghiệp Công nghệ thông tin: Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt người dựa trên Adaboost

  1. lOMoARcPSD|16911414 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN TÌM HIỂU CÁC PHƯƠNG PHÁP VÀ XÂY DỰNG ỨNG DỤNG PHÁT HIỆN KHUÔN MẶT NGƯỜI DỰA TRÊN ADABOOST Sinh viên thực hiện : Họ tên sinh viên Lớp Tin? - K45 Giáo viên hướng dẫn: [GS/PGS/GVC/TS/ThS] Tên giáo viên Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  2. lOMoARcPSD|16911414 Hà nội 5-2007 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  3. lOMoARcPSD|16911414 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Định hướng đề tài tốt nghiệp Tìm hiểu các phương pháp phát hiện khuôn mặt người và xây dựng ứng dụng phát hiện khuôn mặt dựa trên giải thuật AdaBoost 2. Các nhiệm vụ cụ thể của đồ án tốt nghiệp - Tìm hiểu các phương pháp phát hiện khuôn mặt - Xây dựng thư viện - Xây dựng ứng dụng 3. Lời cám đoan của sinh viên: Tôi – Mai Anh Tuấn - cam kết đồ án tốt nghiệp là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Ths. Lê Đức Trung. Các kết quả nêu trong đồ án tốt nghiệp là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác. Hà Nội, ngày tháng năm Tác giả đồ án tốt nghiệp Họ và tên sinh viên 4. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của đồ án tốt nghiệp và cho phép bảo vệ Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  4. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Lời cảm ơn Trong quá trình thực hiện đồ án, tôi đã nhận được sự giúp đỡ của rất nhiều người. Trước tiên, xin gửi lời cảm ơn chân thành tới thầy giáo Ths Lê Đức Trung đã hướng dẫn, chỉ bảo và tận tình giúp đỡ trong suốt quá trình nghiên cứu và xây dựng đồ án. Xin gửi lời cảm ơn đến các thấy giáo Ths Lương Mạnh Bá, Ths Lê Tấn Hùng, công ty Avasys Việt nam và cá nhân anh Nguyễn Văn Thành vì sự giúp đỡ tận tình trong quá trình thực hiện thực tập tốt nghiệp. Những sự giúp đỡ quý báu này đã góp phần định hướng nội dung nghiên cứu của đồ án. Xin cảm ơn gia đình tôi và những người bạn đã luôn ở bên, động viên, giúp đỡ và tạo mọi điều kiện tốt nhất về mọi mặt trong quá trình thực hiện đồ án. Sự giúp đỡ này là động lực lớn để tôi hoàn thành đồ án tốt nghiệp này. Sinh viên thực hiện Mai Anh Tuấn TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Nhận dạng khuôn mặt người là một lĩnh vực quan trọng và có nhiều ứng dụng thực tế, như trong các hệ thống bảo mật, xác minh nhân dạng, phương thức giao tiếp người máy mới, hay trong lĩnh vực giải trí,… và bước đầu tiên và cũng là quan trọng nhất để có thể nhận dạng được khuôn mặt chính là phải định vị được khuôn mặt trong hình. Đây chính là đối tượng nghiên cứu của lĩnh vực phát hiện khuôn mặt người. Những năm trở lại đây đánh dấu những tiến bộ lớn cả về tốc độ và độ chính xác của các phương pháp và kỹ thuật phát hiện khuôn mặt. Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 1 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  5. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Nội dung chính của báo cáo sẽ trình bày những vấn đề lý thuyết cơ bản của lĩnh vực phát hiện khuôn mặt cũng như những thành công mà các nhà nghiên cứu đã đạt được trong những năm gần đây. Báo cáo nhằm mục đích có được cái nhìn tổng quát về lĩnh vực phát Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 2 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  6. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Lời cảm ơn Trong quá trình thực hiện đồ án, tôi đã nhận được sự giúp đỡ của rất nhiều người. Trước tiên, xin gửi lời cảm ơn chân thành tới thầy giáo Ths Lê Đức Trung đã hướng dẫn, chỉ bảo và tận tình giúp đỡ trong suốt quá trình nghiên cứu và xây dựng đồ án. Xin gửi lời cảm ơn đến các thấy giáo Ths Lương Mạnh Bá, Ths Lê Tấn Hùng, công ty Avasys Việt nam và cá nhân anh Nguyễn Văn Thành vì sự giúp đỡ tận tình trong quá trình thực hiện thực tập tốt nghiệp. Những sự giúp đỡ quý báu này đã góp phần định hướng nội dung nghiên cứu của đồ án. Xin cảm ơn gia đình tôi và những người bạn đã luôn ở bên, động viên, giúp đỡ và tạo mọi điều kiện tốt nhất về mọi mặt trong quá trình thực hiện đồ án. Sự giúp đỡ này là động lực lớn để tôi hoàn thành đồ án tốt nghiệp này. Sinh viên thực hiện Mai Anh Tuấn TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Nhận dạng khuôn mặt người là một lĩnh vực quan trọng và có nhiều ứng dụng thực tế, như trong các hệ thống bảo mật, xác minh nhân dạng, phương thức giao tiếp người máy mới, hay trong lĩnh vực giải trí,… và bước đầu tiên và cũng là quan trọng nhất để có thể nhận dạng được khuôn mặt chính là phải định vị được khuôn mặt trong hình. Đây chính là đối tượng nghiên cứu của lĩnh vực phát hiện khuôn mặt người. Những năm trở lại đây đánh dấu những tiến bộ lớn cả về tốc độ và độ chính xác của các phương pháp và kỹ thuật phát hiện khuôn mặt. Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 1 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  7. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Nội dung chính của báo cáo sẽ trình bày những vấn đề lý thuyết cơ bản của lĩnh vực phát hiện khuôn mặt cũng như những thành công mà các nhà nghiên cứu đã đạt được trong những năm gần đây. Báo cáo nhằm mục đích có được cái nhìn tổng quát về lĩnh vực phát Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 2 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  8. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Lời cảm ơn Trong quá trình thực hiện đồ án, tôi đã nhận được sự giúp đỡ của rất nhiều người. Trước tiên, xin gửi lời cảm ơn chân thành tới thầy giáo Ths Lê Đức Trung đã hướng dẫn, chỉ bảo và tận tình giúp đỡ trong suốt quá trình nghiên cứu và xây dựng đồ án. Xin gửi lời cảm ơn đến các thấy giáo Ths Lương Mạnh Bá, Ths Lê Tấn Hùng, công ty Avasys Việt nam và cá nhân anh Nguyễn Văn Thành vì sự giúp đỡ tận tình trong quá trình thực hiện thực tập tốt nghiệp. Những sự giúp đỡ quý báu này đã góp phần định hướng nội dung nghiên cứu của đồ án. Xin cảm ơn gia đình tôi và những người bạn đã luôn ở bên, động viên, giúp đỡ và tạo mọi điều kiện tốt nhất về mọi mặt trong quá trình thực hiện đồ án. Sự giúp đỡ này là động lực lớn để tôi hoàn thành đồ án tốt nghiệp này. Sinh viên thực hiện Mai Anh Tuấn TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Nhận dạng khuôn mặt người là một lĩnh vực quan trọng và có nhiều ứng dụng thực tế, như trong các hệ thống bảo mật, xác minh nhân dạng, phương thức giao tiếp người máy mới, hay trong lĩnh vực giải trí,… và bước đầu tiên và cũng là quan trọng nhất để có thể nhận dạng được khuôn mặt chính là phải định vị được khuôn mặt trong hình. Đây chính là đối tượng nghiên cứu của lĩnh vực phát hiện khuôn mặt người. Những năm trở lại đây đánh dấu những tiến bộ lớn cả về tốc độ và độ chính xác của các phương pháp và kỹ thuật phát hiện khuôn mặt. Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 1 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  9. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Nội dung chính của báo cáo sẽ trình bày những vấn đề lý thuyết cơ bản của lĩnh vực phát hiện khuôn mặt cũng như những thành công mà các nhà nghiên cứu đã đạt được trong những năm gần đây. Báo cáo nhằm mục đích có được cái nhìn tổng quát về lĩnh vực phát Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 2 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  10. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Lời cảm ơn Trong quá trình thực hiện đồ án, tôi đã nhận được sự giúp đỡ của rất nhiều người. Trước tiên, xin gửi lời cảm ơn chân thành tới thầy giáo Ths Lê Đức Trung đã hướng dẫn, chỉ bảo và tận tình giúp đỡ trong suốt quá trình nghiên cứu và xây dựng đồ án. Xin gửi lời cảm ơn đến các thấy giáo Ths Lương Mạnh Bá, Ths Lê Tấn Hùng, công ty Avasys Việt nam và cá nhân anh Nguyễn Văn Thành vì sự giúp đỡ tận tình trong quá trình thực hiện thực tập tốt nghiệp. Những sự giúp đỡ quý báu này đã góp phần định hướng nội dung nghiên cứu của đồ án. Xin cảm ơn gia đình tôi và những người bạn đã luôn ở bên, động viên, giúp đỡ và tạo mọi điều kiện tốt nhất về mọi mặt trong quá trình thực hiện đồ án. Sự giúp đỡ này là động lực lớn để tôi hoàn thành đồ án tốt nghiệp này. Sinh viên thực hiện Mai Anh Tuấn TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Nhận dạng khuôn mặt người là một lĩnh vực quan trọng và có nhiều ứng dụng thực tế, như trong các hệ thống bảo mật, xác minh nhân dạng, phương thức giao tiếp người máy mới, hay trong lĩnh vực giải trí,… và bước đầu tiên và cũng là quan trọng nhất để có thể nhận dạng được khuôn mặt chính là phải định vị được khuôn mặt trong hình. Đây chính là đối tượng nghiên cứu của lĩnh vực phát hiện khuôn mặt người. Những năm trở lại đây đánh dấu những tiến bộ lớn cả về tốc độ và độ chính xác của các phương pháp và kỹ thuật phát hiện khuôn mặt. Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 1 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  11. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Nội dung chính của báo cáo sẽ trình bày những vấn đề lý thuyết cơ bản của lĩnh vực phát hiện khuôn mặt cũng như những thành công mà các nhà nghiên cứu đã đạt được trong những năm gần đây. Báo cáo nhằm mục đích có được cái nhìn tổng quát về lĩnh vực phát hiện khuôn mặt, nắm bắt được những hướng tiếp cận giải quyết bài toán chính và tập trung tìm hiểu một trong những giải thuật phát hiện khuôn mặt nhanh nhất hiện nay, giải thuật AdaBoost do hai nhà nghiên cứu Viola và Jones đề xuất. Bào cáo gồm 2 phần chính. Phần 1 của báo cáo sẽ trình bày những cơ sở lý thuyết cơ bản của lĩnh vực phát hiện khuôn mặt. Phần này gồm 3 chương: Chương 1 giới thiệu chung về lĩnh vực phát hiện khuôn mặt, mô hình bài toán phát hiện khuôn mặt cũng như tư tưởng chung của các phương pháp hiện nay. Chương 2 đưa ra cái nhìn tổng quát về lĩnh vực phát hiện khuôn mặt, những hướng tiếp cận chính trong những nghiên cứu hiện nay. Với môi hướng tiếp cận, một số phương pháp nổi bật như Eigenface, biệt thức tuyến tính Fisher, mạng Nơron, máy vector hỗ trợ (SVM), mô hình Markov ẩn (HMM),… sẽ được trình bày sơ lược. Chương 3 sẽ tập trung tìm hiểu về phương pháp phát hiện khuôn mặt nhanh sử dụng giải thuật AdaBoost. Những vấn đề và khái niệm cơ bản gắn liền với phương pháp bao gồm những chi tiết Haar, ảnh tích phân, kỹ thuật Boosting, kỹ thuật xây dựng bộ phân lớp xếp tầng,… sẽ được nói đến. Cơ sở lý thuyết của giải thuật AdaBoost cũng sẽ được trình bày chi tiết. Ngoài ra, chương 3 còn đi kèm với một ví dụ minh họa cụ thể của giải thuật AdaBoost, qua đó cung cấp cái nhìn trực quan nhất tư tưởng của phương pháp. Phần 2 sẽ trình bày về việc thiết kế và xây dựng thư viện và chương trình. Phần này gồm 4 chương: Chương 4 trình bày sơ lược cơ sở kiến thức xử lý ảnh được sử dụng trong quá trình xây dựng chương trình. Nội dung chính đề cập đến những không gian mầu khác nhau, chuyển đổi qua lại giữa những không gian mầu và một số bộ lọc và kỹ thuật xử lý được sử dụng trong chương trình. Chương 5 giải quyết bài toán phát hiện khuôn mặt trên hình ảnh tĩnh. Chương này đưa ra một thiết kế và xây dựng một thư viện phục vụ phát hiện các khuôn mặt trên hình ảnh tĩnh. Chương 6 giải quyết bài toán phát hiện khuôn mặt trên hình ảnh động, đề cập đến những vấn đề như việc thu nhận hình ảnh động (từ những thiết bị camera và từ các tệp video), tích hợp thư viện phát hiện khuôn mặt trên hình ảnh tĩnh đã đề cập trong chương 5. Chương này cũng đề cập đến vấn đề về phát hiện khuôn mặt trong thời gian thực, những trở ngại về tốc độ và chất lượng ảnh, và những kỹ thuật đã sử dụng để tăng tốc độ phát hiện bao gồm kỹ thuật quét lân cận và kỹ thuật phát hiện chuyển động. Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 2 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  12. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Chương 7 thiết kế và xây dựng một ứng dụng sử dụng các thư viện đã xây dựng trong chương 5 và 6. Chương này trình bày về việc phân tích, thiết kế chức năng, thiết kế giao diện, cài đặt và kiểm thử chương trình. ABSTRACT OF THESIS In this report, the theory of face detection is presented. Face detection is an extremely difficult task in image analysis which has each day more and more applications. The existing methods of face detection can be divided into two main approaches: image-based methods and feature-based methods. This report is focused on the fastest face detection algorithm nowadays, the AdaBoost algorithm which was introduced and implemented by Viola and Jones. The main motivation for choosing the algorithm is its simplicity but also its capability of detecting faces very fast while remaining high detection rates. AdaBoost is an aggressive learning algorithm which produces a strong classifier by choosing visual features in a family of simple classifiers and combining them linearly. It uses rectangular Haar feature, which can be computed very fast on a new image representation called Integral Image, to build simple classifiers. To improve the detection speed and the detection efficiency, a number of classifiers with an increasingly complexity are trained and combined sequentially to create a strong cascaded classifier. The final classifier allows real-time face detection for many real-world applications. A sample program is built to demonstrate the algorithm and results are presented at the end of the report. MỤC LỤC MỤC LỤC .....................................................................................................5 DANH SÁCH HÌNH ......................................................................................8 DANH SÁCH THUẬT NGỮ ........................................................................9 Phần I ..........................................................................................................10 CƠ SỞ LÝ THUYẾT.................................................................................10 Chương 1 ..............................................................................................................10 Giới thiệu chung về lĩnh vực phát hiện khuôn mặt.................................................10 Giới thiệu 1.1 ......................................................................................................11 Bài toán 1.2 ........................................................................................................11 Những tham số của hình ảnh khuôn mặt 1.3 ..........................................................11 Phân loại bài toàn 1.4 ..........................................................................................11 Tư tưởng chung của các phương pháp 1.5 .............................................................11 Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 3 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  13. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Kết chương 1.6 ...................................................................................................11 1.1 Giới thiệu .......................................................................................................11 1.2 Bài toán .........................................................................................................12 1.3 Những tham số của hình ảnh khuôn mặt ...........................................................12 1.4 Phân loại bài toán ...........................................................................................12 1.5 Ý tưởng chung của các phương pháp ...............................................................13 1.6 Kết chương ....................................................................................................13 Chương 2 ...............................................................................................................13 Tìm hiểu một số phương pháp ...............................................................................13 Những phương pháp dựa trên hình ảnh khuôn mặt 2.1 ...........................................14 Những phương pháp dựa trên cấu trúc khuôn măt 2.2 ............................................14 Đánh giá chất lượng các phương pháp 2.3.............................................................14 Kết chương 2.4 ...................................................................................................14 2.1 Những phương pháp dựa trên hình ảnh khuôn mặt ............................................14 2.1.1 Phương pháp Eigenface [6] .......................................................................15 2.1.1.1 Tư tưởng của phương pháp.................................................................15 2.1.1.2 Xác định các eigenface.......................................................................15 2.1.1.3 Biểu diễn khuôn mặt dựa trên cơ sở eigenface .....................................16 2.1.1.4 Phát hiện khuôn mặt sử dụng các eigenface .........................................17 2.1.1.5 Đánh giá phương pháp: ......................................................................17 2.1.2 Biệt thức tuyến tính Fisher ........................................................................18 2.1.3 Mạng nơron .............................................................................................18 2.1.4 Máy vector hỗ trợ .....................................................................................19 2.1.5 Mô hình Markov ẩn ..................................................................................20 2.1.6 Mạng Winnows thưa (SNoW) ...................................................................21 2.2 Những phương pháp dựa trên cấu trúc hình học của khuôn mặt .........................21 2.2.1 Giới thiệu ................................................................................................21 2.2.2 Những phương pháp từ trên xuống (top-down) ..........................................22 2.2.3 Những phương pháp từ dưới lên (bottom-up) .............................................23 2.3 Đánh giá chất lượng các phương pháp .............................................................23 2.4 Kết chương ....................................................................................................24 Chương 3 ...............................................................................................................24 Phát hiện khuôn mặt nhanh sử dụng giải thuật AdaBoost .....................................24 Giới thiệu chung 3.1 ............................................................................................24 Lý do lựa chọn phương pháp 3.2 ..........................................................................24 Giải thuật AdaBoost 3.3 ......................................................................................24 Xếp tầng các bộ phân lớp 3.4 ...............................................................................25 So sánh giữa những phương pháp dựa trên 3.5 ......................................................25 giải thuật Boosting ..............................................................................................25 3.1 Giới thiệu chung .............................................................................................25 3.2 Lý do lựa chọn phương pháp ...........................................................................26 3.3 Giải thuật Adaboost ........................................................................................26 3.3.1 Cơ sở giải thuật Boosting..........................................................................27 3.3.2 Chi tiết Haar ............................................................................................28 3.3.3 Ảnh tích phân ..........................................................................................30 3.3.4 Bộ phân lớp yếu .......................................................................................31 3.3.5 Xây dựng bộ phân lớp yếu từ những chi tiết Haar.......................................32 Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 4 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  14. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost 3.3.6 Giá trị ngưỡng tối ưu ................................................................................32 3.3.7 Chi tiết giải thuật......................................................................................32 3.3.8 Ví dụ áp dụng thuật toán AdaBoost để giải bài toán phân lớp......................33 3.4 Xếp tầng các bộ phân lớp ................................................................................36 3.5 So sánh giữa những phương pháp dựa trên giải thuật Boosting ..........................37 3.6 Kết chương ....................................................................................................38 Phần II ........................................................................................................38 THIẾT KẾ XÂY DỰNG ..............................................................................38 THƯ VIỆN VÀ CHƯƠNG TRÌNH ............................................................38 Chương 4 ...............................................................................................................38 Cơ sử lý thuyết Xử lý ảnh ......................................................................................38 Không gian mầu và 4.1 ........................................................................................39 chuyển đổi giữa những không gian mầu ................................................................39 Kỹ thuật trừ ảnh 4.2.............................................................................................39 Kỹ thuật cắt theo mức 4.3 ....................................................................................39 Bộ lọc ăn mòn 4.4 ...............................................................................................39 Kết hợp các bộ lọc 4.5 .........................................................................................39 để xây dựng bộ phát hiện chuyển động .................................................................39 4.1 Không gian mầu và chuyển đổi giữa các không gian mầu .................................39 4.1.1 Không gian mầu RGB ..............................................................................39 4.1.2 Không gian mầu HSL ...............................................................................40 4.1.3 Không gian mầu YCbCr ...........................................................................41 4.1.4 Ứng dụng các không gian mầu trong việc lọc mầu da (Skin color filtering)..42 4.2 Kỹ thuật Trừ ảnh [8] .......................................................................................43 4.3 Kỹ thuật cắt theo mức [8] ................................................................................43 4.4 Phép co (Erosion) [8] ......................................................................................43 4.5 Kết hợp các bộ lọc để xây dựng một bộ phát hiện chuyển động .........................44 Chương 5 ...............................................................................................................44 Phát hiện khuôn mặt trên ảnh tĩnh ........................................................................45 Bài toán 5.1 ........................................................................................................45 Bộ phát hiện khuôn mặt 5.2 .................................................................................45 Cấu trúc dữ liệu lưu trữ kết quả huấn luyện 5.3 .....................................................45 Biểu diễn ảnh bằng kỹ thuật ảnh tích phân 5.4.......................................................45 5.1 Bài toán .........................................................................................................45 5.1.1 Khó khăn của bài toán ..............................................................................45 5.1.2 Giới hạn phạm vi bài toán .........................................................................45 5.2 Bộ phát hiện khuôn mặt ..................................................................................46 5.3 Cấu trúc dữ liệu lưu trữ kết quả huấn luyện ......................................................48 5.3.1 Cấu trúc tệp tin XML ...............................................................................48 5.3.2 Thiết kế những lớp dữ liệu tương ứng ........................................................49 5.3.3 Đọc dữ liệu từ tên tin XML.......................................................................51 5.4 Biểu diễn ảnh bằng kỹ thuật ảnh tích phân .......................................................51 Chương 6 ...............................................................................................................52 Phát hiện khuôn mặt trên hình ảnh động ...............................................................52 Bài toán 6.1 ........................................................................................................52 Thu nhận hình ảnh 6.2 .........................................................................................52 Những kỹ thuật tăng tốc độ phát hiện 6.3 ..............................................................53 Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 5 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  15. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost 6.1 Bài toán phát hiện khuôn mặt trên hình ảnh động .............................................53 6.2 Thu nhận hình ảnh ..........................................................................................53 6.2.1 Thu nhận hình ảnh từ thiết bị camera .........................................................53 6.2.2 Đọc hình ảnh từ tệp tin AVI ......................................................................54 6.3 Những kỹ thuật tăng tốc độ phát hiện ...............................................................54 6.3.1 Kỹ thuật quét cục bộ.................................................................................54 6.3.2 Kỹ thuật phát hiện chuyển động ................................................................55 6.3.3 Kết hợp hai kỹ thuật .................................................................................55 Chương 7 ...............................................................................................................56 Thiết kế và xây dựng ứng dụng ..............................................................................57 Xác định yêu cầu 7.1 ...........................................................................................57 Thiết kế chức năng 7.2.........................................................................................57 Thiết kế giao diện 7.3 ..........................................................................................57 Cài đặt chương trình 7.4 ......................................................................................57 7.1 Xác định yêu cầu ............................................................................................57 7.2 Thiết kế chức năng .........................................................................................57 7.2.1 Chức năng phát hiện khuôn mặt ................................................................58 7.2.1.1 Chức năng phát hiện khuôn mặt trên ảnh tĩnh ......................................58 7.2.1.2 Chức năng phát hiện khuôn mặt trên hình ảnh động đọc từ file AVI .....59 7.2.1.3 Chức năng phát hiện khuôn mặt trên hình ảnh động thu nhận từ thiết bị Camera ........................................................................................................59 7.2.1.4 Chức năng lưu kết quả phát hiện .........................................................59 7.2.2 Chức năng tích hợp thư viện nhận dạng khuôn mặt của tác giả Nguyễn Thùy Liên .................................................................................................................60 7.2.2.1 Chức năng huấn luyện khuôn mặt .......................................................60 7.2.2.1 Chức năng nhận dạng khuôn mặt ........................................................60 7.3 Thiết kế giao diện ...........................................................................................60 7.3.1 Giao diện cho chức năng phát hiện khuôn mặt ...........................................60 7.3.2 Giao diện cho chức năng nhận diện khuôn mặt ..........................................62 7.4 Cài đặt chương trình .......................................................................................63 7.4.1 Lựa chọn công nghệ và môi trường cài đặt.................................................63 7.4.2 Giao diện chương trình .............................................................................64 7.4.2.1 Giao diện chính của chương trình .......................................................64 7.4.2.2 Giao diện chức năng quản lý file và thiết bị .........................................65 7.4.2.3 Giao diện chức năng phát hiện khuôn mặt ...........................................65 7.4.2.4 Giao diện chức năng quản lý ảnh khuôn mặt .......................................65 7.5 Kiểm thử ........................................................................................................66 KẾT LUẬN và .............................................................................................75 HƯỚNG PHÁT TRIỂN TIẾP THEO ........................................................75 TÀI LIỆU THAM KHẢO .............................................................................76 DANH SÁCH HÌNH Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 6 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  16. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Hình 1 – Biểu diễn khuôn mặt dựa trên cơ sở eigenface ...............................16 Hình 2 – Phép chiếu trên không gian mặt ...................................................17 Hình 3 – Bộ phát hiện khuôn mặt dựa trên mạng nơron ................................19 Hình 4 – Ranh giới giữa hai lớp mặt và không-phải-là mặt xác định bởi máy vector hỗ trợ. ................................................................................................20 Hình 5 – Phương pháp phát hiện khuôn mặt dựa trên mô hình Markov ẩn ....21 Hình SEQ Hình \* ARABIC 6 - Giá trị ngưỡng tối ưu làm cực tiểu số những mẫu mặt và không-phải-là-mặt bị phân lớp sai. ..................................32 Hình 7 – Giải thuật xây dựng bộ phân lớp xếp tầng. ....................................37 Hình 8 – Biểu diễn khối hộp của không gian mầu RGB ...............................39 Hình 9 – Biểu diễn của không gian mầu HSL ..............................................40 Hình 10 – Phân bố của các thành phần H và S của mầu da người trong không gian mầu HLS ....................................................................................43 Hình 11 – Mô hình bài toán phát hiện khuôn mặt trực tiếp từ Camera. ....53 DANH SÁCH THUẬT NGỮ AdaBoost Adaptive Boost – phiên bản phổ biến và có nhiều ứng dụng nhất của giải thuật Boosting. Boosting Một giải thuật cho phép cải thiện chất lượng của những giải thuật học máy khác. Cascaded Classifier Bộ phân lớp xếp tầng, mỗi tầng là một bộ phân lớp mạnh được xếp từ đơn giản đến phức tạp. Classifier Bộ phân lớp có nhiệm vụ xác định ảnh đầu vào có phải là khuôn mặt hay không-phải-là-mặt. Detection rate Tỷ lệ giữa số khuôn mặt phát hiện đúng so với số khuôn mặt thực sự hiện diện trong ảnh Face detection Phát hiện khuôn mặt nhằm tìm ra vị trí và kích thước của những khuôn mặt hiện diện trong ảnh. False detection hoặc False positive detection Những phát hiện những thực chất không phải khuôn mặt. Face image hoặc positive example Ảnh mẫu khuôn mặt người. False negative rate Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 5 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  17. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Tỷ lệ giữa số những khuôn mặt bị bộ phát hiện bỏ qua Haar feature Những chi tiết được định nghĩa giống hàm sóng Haar được sử dụng để xây dựng những bộ phân lớp yếu trong giải thuật AdaBoost HMM – Hidden Markov Model Phương pháp học thống kê dựa trên mô hình Markov ẩn. Integral image Ảnh tích phân – kỹ thuật biểu diễn khác của ảnh cho phép việc tính toán nhanh tổng giá trị điểm ảnh của bất kỳ vùng ảnh chữ nhật nào trong ảnh ban đầu Non-face image hoặc negative example Ảnh mẫu bất kỳ không chứa khuôn mặt ngườ.i PCA – Principal Component Analysis Phương pháp học thống kê phân tích thành phần chính. Support Vector Machine Máy vector hỗ trợ. Weak classifier Những bộ phân lớp có độ chính xác chỉ hơn lựa chọn ngẫu nhiên được sử dụng trong những giải thuật Boosting. Phần I CƠ SỞ LÝ THUYẾT Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 7 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  18. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost Chương 1 Giới thiệu chung về lĩnh vực phát hiện khuôn mặt Giới thiệu 1.1 Bài toán 1.2 Những tham số của hình ảnh khuôn mặt 1.3 Phân loại bài toàn 1.4 Tư tưởng chung của các phương pháp 1.5 Kết chương 1.6 1.1 Giới thiệu Phát hiện khuôn mặt là một ứng dụng cơ bản thiết yếu của lĩnh vực phát hiện đối tượng (objects detection) nói chung và là khâu đầu tiên của bất kỳ hệ thống phát hiện và nhận dạng khuôn mặt tự động nào. Ngoài ra, phát hiện khuôn mặt còn được ứng dụng rộng rãi trong những lĩnh vực an ninh, sinh trắc học, thiết lập giao diện mới giữa người và máy tính, và nhiều ứng dụng quan trọng khác. Mục tiêu của việc phát hiện khuôn mặt là xác định và chỉ ra vị trí và kích thước của những khuôn mặt người trong hình ảnh tĩnh hoặc hình ảnh động. “Phát hiện khuôn mặt là một công nghệ cho phép xác định được vị trí và kích thước của các khuôn mặt người hiện diện trong một bức ảnh số. Công nghệ này có thể Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 8 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  19. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost phát hiện ra những chi tiết khuôn mặt và bỏ qua những đối tượng khác như nhà cửa, cây cối, hay các phần khác trên cơ thể con người.” http://en.wikipedia.org/wiki/Face_detection Trong những năm gần đây, nhiều phương pháp đã được phát triển với những mục tiêu khác nhau đáp ứng những yêu cầu khác nhau. Chúng ta sẽ xem xét một cách tổng quát những điểm chính của từng phương pháp và sau đó, tập trung đi sâu xem xét một giải thuật cho phép xử lý phát hiện khuôn mặt nhanh và có độ chính xác cao. Giải thuật này dựa trên thuật toán boosting có tên AdaBoost (Adaptive Boost) và phản hồi đơn giản của những chi tiết Haar do hai nhà nghiên cứu Paul Viola và Michael Jones đề xuất và phát triển. 1.2 Bài toán Với đầu vào là một ảnh tĩnh, bộ phát hiện khuôn mặt phải tìm ra và trả về được vị trí và kích thước của tất cả (hoặc nhiều nhất có thể) những khuôn mặt hiện diện trong ảnh, bất kể vị trí, kích thước, tư thế chụp, nét mặt hay tuổi tác,… Ảnh đầu vào Bộ phát hiện Vị trí và kích thước của khuôn mặt các khuôn mặt trong ảnh Việc giải quyết bài toán này thường được thực hiện bằng cách kết hợp một bộ quét ảnh với một bộ quyết định khuôn mặt/không-phải-là mặt. Bộ quét ảnh sẽ quét hình ảnh ban đầu ở những vị trí và kích thước khác nhau và ở mỗi vị trí và kích thước, vùng ảnh xác định bởi vị trí và kích thước đó sẽ được đưa vào bộ quyết định để xác định xem đó có phải là khuôn mặt hay không. Bộ quét có thể được xây dựng đơn giản bằng cách quét tuần tự từ trái qua phải, từ trên xuống dưới hình ảnh ban đầu bằng một cửa sổ có kích thước thay đổi từ nhỏ đến lớn. Một số phương pháp cải thiện việc quét ảnh bằng cách giới hạn vùng ảnh quét. Việc này có thể được thực hiện bằng cách lọc ảnh dựa trên một số dấu hiệu như: mầu sắc cơ thể, chuyển động của đối tượng,… Tuy nhiên, bộ quyết định mới là tiêu chí chính để phân biệt các phương pháp. 1.3 Những tham số của hình ảnh khuôn mặt Khuôn mặt con người vốn đã vô cùng đa dạng. Điều này khiến cho hình ảnh thu nhận của khuôn mặt cũng rất phong phú. Có thể chỉ ra một số tham số của những hình ảnh này.  Góc quay xung quanh trục thẳng đứng, tham số này ảnh hưởng tới tính đối xứng của khuôn mặt, đồng thời làm che lấp một con mắt và làm thay đổi hình ảnh hiển thị của những chi tiết khác trên khuôn mặt.  Góc quay xung quanh trục nằm ngang, ứng với tư thế cúi hay ngẩng đầu của đối tượng thu nhận trước máy quay. Tham số này có thể ảnh hưởng tới sự Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 9 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
  20. lOMoARcPSD|16911414 Tìm hiểu các phương pháp và xây dựng ứng dụng phát hiện khuôn mặt dựa trên AdaBoost hiện diện của một số chi tiết quan trọng trên khuôn mặt như đôi mắt, vùng trán, hay vùng miệng.  Góc quay xung quanh trục nối liền khuôn mặt và máy quay, tham số này không ảnh hưởng đến biểu hiện của những chi tiết trên khuôn mặt và có thể được khôi phục về vị trí thẳng đứng bằng phép xử lý quay hình.  Kích thước khuôn mặt  Tỷ lệ giữa kích thước các chiều của khuôn mặt  Cảm xúc của khuôn mặt, tham số này làm thay đổi hình ảnh hiển thị của những chi tiết trên khuôn mặt. 1.4 Phân loại bài toán Bài toán tổng quát có thể được chia nhỏ thành nhiều bài toán con khác nhau:  Xét về tham số góc quay của khuôn mặt, ta có bài toán phát hiện khuôn mặt trực diện và phát hiện khuôn mặt đa góc nhìn.  Nếu xét về yếu tố đầu vào, ta có bài toán phát hiện khuôn mặt trên hình ảnh đơn lẻ và phát hiện khuôn mặt trên chuỗi hình ảnh động.  Xét về kích thước khuôn mặt, ta có bài toán phát hiện khuôn mặt kích thước cố định và phát hiện khuôn mặt đa kích thước.  … 1.5 Ý tưởng chung của các phương pháp Việc giải quyết bài toán tổng quát là vô cùng khó khăn và hiện tại chưa có một giải pháp toàn vẹn. Đã có rất nhiều phương pháp đã đề xuất và được phát triển trong những năm gần đây. Mỗi phương pháp có hướng tiếp cận riêng nhằm giải quyết bài toán theo những tiêu chí cụ thể. Có thể phân nhóm thành hai hướng tiếp cận chính:  Những phương pháp dựa trên hình ảnh khuôn mặt (image-based approaches).  Những phương pháp dựa trên cấu trúc hình học của khuôn mặt (geomatrical- based approaches). Hướng tiếp cận thứ nhất tìm cách xây dựng những bộ phân lớp được huấn luyện trên một tập mẫu (bao gồm những ảnh khuôn mặt đã được chuẩn hóa và những ảnh bất kỳ không chứa khuôn mặt được gọi là ảnh không-phải-là-mặt) có sẵn. Những bộ phân lớp sau khi huấn luyện sẻ được sử dụng để xác định xem vùng ảnh trong cửa sổ quét bất kỳ thuộc lớp khuôn mặt hay lớp không-phải-là-mặt. Hướng tiếp cận thứ hai cố gắng phát hiện ra những chi tiết đặc trưng cho khuôn mặt như: mắt, mũi, miệng,… có trong toàn bộ ảnh hoặc vùng ảnh trong cửa sổ quét. Những chi tiết sau khi phát hiện sẽ được so khớp với một mô hình khuôn mặt mẫu dựa trên cấu trúc hình học của khuôn mặt nói chung, từ đó dự đoán xem vùng ảnh đó là khuôn mặt hay không-phải-là-mặt. Mai Anh Tuấn – Khóa 47 Lớp Công nghệ Phần mềm 10 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
12=>0