ha_dangyeu

New Member

Download miễn phí Khóa luận Tìm hiểu một số phương pháp phát hiện khuôn mặt trong ảnh





MỤC LỤC

LỜI CẢM ƠN 1

MỞ ĐẦU 4

CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN KHUÔN MẶT 5

1.1. Giới thiệu. 5

1.2. Một số lĩnh vực ứng dụng phát hiện khuôn mặt. 5

1.3. Một số phương pháp xác định khuôn mặt người. 7

1.3.1. Hướng tiếp cận dựa trên tri thức. 7

1.3.2. Hướng tiếp cận dựa trên đặc trưng không thay đổi. 10

1.3.3. Hướng tiếp cận dựa trên so khớp mẫu. 13

1.3.4. Hướng tiếp cận dựa trên diện mạo. 16

1.3.5. Hướng tiếp cận tổng hợp 25

1.4. Khó khăn và thách thức trong bài toán xác định khuôn mặt. 26

CHƯƠNG 2: PHÁT HIỆN KHUÔN MẶT SỬ DỤNG ADABOOST. 28

2.1. Giới thiệu 28

2.1.1. Các hướng tiếp cận dò tìm khuôn mặt nhanh 28

2.1.2. Hướng tiếp cận theo AdaBoost 28

2.2. Trích chọn đặc trưng cho AdaBoost 29

2.3. Thuật toán ADABOOST 31

2.4. Bộ dò tìm phân tầng Adaboost 35

2.5. Huấn luyện dò tìm khuôn mặt 38

2.6. Dò tìm khuôn mặt 38

2.7. Nhận xét 39

2.7.1. Ưu điểm 39

2.7.2. Khuyết điểm 39

CHƯƠNG 3: PHÁT HIỆN KHUÔN MẶT SỬ DỤNG MẠNG NƠRON. 40

3.1. Tổng quan về mạng nơron nhân tạo 40

3.1.1. Mạng nơron sinh học 40

3.1.2. Nơron nhân tạo: 41

3.1.3. Các thành phần của nơron nhân tạo: 42

3.1.4. Mô hình cơ bản của mạng nơron 43

3.1.5. Xây dựng mạng nơron 44

3.1.6. Huấn luyện mạng nơron. 45

3.2. Chuẩn bị dữ liệu 52

3.2.1. Giới thiệu 52

3.2.2. Gán nhãn và canh biên các đặc trưng khuôn mặt 52

3.2.3. Tiền xử lý về độ sáng và độ tương phản trên tập mẫu học 54

3.3. Huấn luyện dò tìm khuôn mặt 56

3.3.1. Giới thiệu 56

3.3.2. Huấn luyện dò tìm khuôn mặt 56

3.4. Quá trình dò tìm khuôn mặt 60

CHƯƠNG 4: CÀI ĐẶT ỨNG DỤNG. 62

4.1. Môi trường TEST 62

4.2. Một số giao diện chính 62

4.3. Kết quả 65

4.4. Nhận xét 66

KẾT LUẬN 67

TÀI LIỆU THAM KHẢO 68

 

 





Để tải tài liệu này, vui lòng Trả lời bài viết, Mods sẽ gửi Link download cho bạn ngay qua hòm tin nhắn.

Ketnooi -


Ai cần tài liệu gì mà không tìm thấy ở Ketnooi, đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:


đã chuyển sang ảnh nhị phân) trong một cửa sổ, và đặc trưng thiết yếu về hình học. Một giá trị xuất tại giai đoạn hai cho biết có tồn tại hay không khuôn mặt người trong vùng đưa vào. Qua kinh nghiệm, tác giả chỉ ra rằng nếu các ảnh cùng một kích thước thì mới dùng phương pháp này được.
Propp và Samal phát triển mạng nơ-ron để xác định khuôn mặt người sớm nhất. Mạng nơ-ron của hai ông gồm bốn tầng với 1,024 đầu vào, 256 đầu kế tiếp trong tầng ẩn thứ nhất, tám đầu kế tiếp trong tầng ẩn thứ hai, và hai đầu ra.
Tương tự như mạng nơ-ron xử lý theo thứ tự được đưa ra sau đó. Phương pháp của Soulie duyệt một ảnh đưa vào với mạng nơ-ron có thời gian trễ (kích thước cửa số là 20x25 điểm ảnh) để xác định khuôn mặt. Dùng biến đổi wavelet để phân rã ảnh các phần có kích thước khác nhau để xác định khuôn mặt.
Vaillant dùng mạng nơ-ron dạng xoắn để xác định khuôn mặt người. Đầu tiên tạo các ảnh mẫu khuôn mặt và không phải khuôn mặt có kích thước 20x20. Dùng một mạng nơ-ron, mạng này đã được huấn luyện, để tìm các vị trí tương đối của các khuôn mặt ở các tỷ lệ khác nhau. Rồi dùng một mạng khác để xác định vị trí chính xác của các khuôn mặt. Mạng đầu tiên dùng để tìm các ứng viên khuôn mặt, rồi dùng mạng thứ hai để xác định ứng viên nào thật sự là khuôn mặt.
Burel và Carel dùng mạng nơ-ron đa tầng có ít mẫu hơn với thuật toán Kohenen’s SOM để học các mẫu khuôn mặt và hình nền, mà các mẫu này đã được phân loại trước. Giai đoạn xác định khuôn mặt bao gồm duyệt trên mỗi ảnh đã được biến đổi từ ảnh bàn đầu ở các độ phân giải khác nhau. Ở tại mỗi vị trí và kích thước cửa sổ duyệt, điều chỉnh độ sáng. Mỗi cửa sổ đã được chuẩn hóa sẽ được phân loại bằng MLP.
Theo đánh giá các phương pháp dùng mạng nơ-ron để xác định khuôn mặt người của nhiều tác giả, thì nghiên cứu của Rowley được xem là tốt nhất đối với ảnh xám. Một mạng đa tầng được dùng để học các mẫu khuôn mặt và không phải khuôn từ các ảnh tương ứng (dựa trên quan hệ cường độ, về mặt không gian của các điểm ảnh) trong khi Sung dùng mạng nơ-ron để xác định một hàm biệt số cho mục đích phân loại mẫu có phải là khuôn mặt hay không dựa vào độ đo khoảng cách. Hai ông cùng sử dụng nhiều mạng nơ-ron và một số cách quyết định để cải thiện kết quả, trong khi Burel và Carel dùng một mạng đơn, Vaillant dùng hai mạng để phân loại. Có hai thành phần chính để xử lý: nhiều mạng nơ-ron (xác định mẫu nào là khuôn mặt) và một mô đun để quyết định (đưa ra quyết định cuối cùng từ nhiều kết quả xác định).
Đại diện của mỗi lớp khuôn mặt. Mỗi thay mặt tương ứng tâm của một nhóm.
Hình 1-7, thành phần đầu tiên của phương pháp này là một mạng nơ-ron nhận một vùng ảnh có kích thước 20x20 điểm ảnh và xuất ra một giá trị trong khoảng từ -1 đến 1. Khi đưa vào một ảnh, nếu kết quả gần -1 thì nghĩa là mẫu này không phải là khuôn mặt người, nhưng nếu kết quả gần 1 thì đây chính là khuôn mặt người. Để xác định khuôn mặt có kích thước lớn hơn 20x20 điểm ảnh, cứ chọn một tỷ lệ để duyệt, sau đó xác định, rồi lại thay đổi tỷ lệ (biến thiên tỷ lệ này do người xây dựng quyết định). Gần 1050 mẫu khuôn mặt có kích thước, hướng, vị trí, và cường độ khác nhau dùng để huấn luyện mạng. Sẽ gán nhãn cho mắt, đỉnh của mũi, góc cạnh, và tâm của miệng rồi dùng để chuẩn hóa khuôn mặt về cùng một tỷ lệ, hướng, và vị trí. Thành phần thứ hai là phương pháp trộn các xác định chồng chéo nhau và đưa ra quyết định. Phép toán logic (AND/OR) là một quyết định đơn giản nhất và phương pháp bầu cử được dùng để tăng tính hiệu quả. Rowley đưa nhiều cách giải quyết bài toán khác nhau với chi phí tính toán ít hơn Sung và Poggio nhưng tỷ lệ chính xác cao hơn. Một giới hạn của phương pháp của Rowley và Sung là có thể xác định khuôn mặt chụp thẳng và tựa thẳng (nghiêng đầu). Sau đó Rowley cải tiến để có thể xác định khuôn mặt bị xoay bằng mạng định hướng (Router Network), hình 1-8, sẽ thêm tiến trình xác định hướng khuôn mặt và xoay về lại tư thế chuẩn (chụp thẳng), tuy nhiên khi quay lại dữ liệu như trên thì tỷ lệ chính xác lại giảm đi, chỉ còn khoảng 76.9%.
Một ví dụ cho dữ liệu vào và dữ liệu ra của mạng định hướng.
Support Vector Machine (SVM).
Support Vector Machine (SVM) là một kỹ thuật học được Vapnik đề xuất. Phương pháp này rất hiệu quả với tập dữ liệu lớn, nhưng lại gặp khó khăn khi cần mô tả lại chính xác các khuôn mặt ( vì tính biến thiên của khuôn mặt).
Osuna áp dụng phương pháp này đầu tiên để xác định khuôn mặt người. SVM được xem như là một kiểu mới dùng huấn luyện để phân loại theo hàm đa thức. Trong khi hầu hết các phương pháp khác dùng huấn luyện để phân loại (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), mục tiêu là làm tối thiểu một bao bên trên trên lỗi tổng quát. Một phân loại SVM là một phân loại tuyến tính, dùng một mặt phẳng để tách dữ liệu. Dựa trên một 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 mặt phẳng tương đương với việc giải một bài toán tuyến tính bậc hai. Osuna đã phát triển một phương pháp hiệu quả để huấn luyện một SVM với tỷ lệ lớn để áp dụng 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 điểm ảnh, hệ thống của ông có tỷ lệ lỗi ít hơn Sung và Poggio, nhưng nhanh hơn gần 30 lần. SVM cũng có thể dùng xác định khuôn mặt người và người đi bộ với phân tích Wavelet.
Mạng lọc thưa (Sparse Network of Winnows - SNoW).
Đây là phương pháp do Yang đề xuất, dùng để để xác định khuôn mặt người với các đặc trưng khác nhau và biểu diễn trong các tư thế khác nhau, dưới điều kiện ánh sáng khác nhau. SNoW là một mạng thưa dùng các hàm tuyến tính và dùng lọc để cập nhật luật. Phương pháp này thích hợp cho học trong miền khi các đặc trưng tiềm năng tạo các quyết định sai khác nhau mà không biết mức độ ưu tiên. Tỷ lệ lỗi là 5.9%, hiệu quả cũng như các phương pháp khác.
AdaBoost
AdaBoost là một phân loại mạnh phi tuyến phức HM(x), được xây dựng từ M phân loại yếu. Mục tiêu của Adaboost là học một dãy các phân loại yếu. Giả sử có một tập N mẫu huấn luyện đã được gán nhãn {(x1,y1), , (xN,yN)}, với yi là nhãn tương ứng của mẫu xi Î Rn. Tính một phân bố của các mẫu huấn luyện [w1,, wN] cập nhật trong suốt quá trình học. Sau bước lặp m, mẫu khó phân loại (xi,yi) có trọng số mới wi (m), đến bước lặp thứ (m+1), mẫu này sẽ có tầm quan trọng hơn. Viola và Jones dùng AdaBoost kết hợp cascade để xác định khuôn mặt người với các đặc trưng dạng Haar wavelet-like. Tốc độ xử lý khá nhanh và tỷ lệ chính xác hơn 80% trên ảnh xám.
Học với FloatBoost
Li và Zhang đưa ra một khái niệm mới đó là FloatBoost. Phương pháp này học dựa trên phân loại boosting để tỷ lệ lỗi cực tiểu. Nhưng phương pháp này cho phép quay lui sau khi tại mỗi bước khi học bằng AdaBoost đã cực tiểu được tỷ lệ lỗi trực tiếp, cực tiểu theo hàm mũ. Có hai vấn đề gặp khi dùng phương pháp AdaBoost:
Thứ nhất: AdaBoost cực tiểu theo hàm mũ tại biên qua tập huấn luyện. Đây là tiện lợi, tuy nhiên mục tiêu cuối cùng trong các ứng dụng dùng phân loại mẫu thì thường là cực tiểu một giá trị trực tiếp (tuyến tính) kết hợp với tỷ lệ lỗi. Một phân loại mạnh được học bằng AdaBoost thì gần điểm tối ưu của ứng dụng trong điều kiện tỷ lệ lỗi.
Thứ hai: AdaBoost để lại một thách thức nếu dùng phân loại yếu để học. Học để phân loại tối ưu khi dùng phân loại yếu cần ước lượng mật độ không gian đặc trưng, điều này là vấn đề khó, đặc biệt khi số chiều của không gian khá lớn.
Một thuật toán học yếu có hiệu quả và dễ dùng thì rất cần thiết. FloatBoost xem như một cầu nối giữa mục tiêu của học boosting thông thường (cực đại biên) và nhiều ứng dụng dùng cực tiểu tỷ lệ lỗi thông qua việc kết hợp phương pháp tìm kiếm Floating và AdaBoost kết hợp kỹ thuật quay lui.
Mô hình Markov ẩn (Hidden Markov Model – HMM).
Samaria và Young dùng HMM 1-chiều (hình 1-9) và 2-chiều (hình 1-10) để trích đặc trưng khuôn mặt dùng để nhận dạng khuôn mặt. HMM khai thác cấu trúc của khuôn mặt tuân theo các chuyển tiếp trạng thái. Từ các cùng có đặc trưng quan trọng như: tóc, trán, mắt, mũi, và miệng, hai ông phân tích theo tự nhiên từ trên xuống dưới, mỗi vùng được thiết kế thành một trạng thái 1-chiều. Mỗi ảnh được phân đoạn chuẩn thành năm vùng theo thứ tự từ trên xuống dưới tạo thành năm trạng thái.
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. Một cách t...

 

Các chủ đề có liên quan khác

Top