Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

53 106 0
Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV MỤC LỤC PHẦN MỞ ĐẦU CHƯƠNG 1: Tổng quan phát khuôn mặt 1.1 Giới thiệu phát khuôn mặt 1.2 Các hướng tiếp cận phát khuôn mặt 1.2.1 Hướng tiếp cận dựa tri thức 1.2.2 Hướng tiếp cận dựa đặc trưng không đổi 11 1.2.3 Hướng tiếp cận dựa so lớp mẫu 15 1.2.4 Hướng tiếp cận dựa máy học 18 1.2.5 Hướng tiếp cận tổng hợp 23 1.3 Khó khăn thách thức tốn phát khn mặt 24 1.4 Một số lĩnh vực ứng dụng phát khuôn mặt 25 CHƯƠNG 2: Phát khuôn mặt sử dụng đặc trưng Haar 26 2.1 Đặc trưng Haar 26 2.1.1 Đối tượng nhận dạng 26 2.1.2 Đặc trưng 27 2.2 Bộ phân lớp AdaBoost 30 2.2.1 Giới thiệu 30 2.2.2 Các hướng tiếp cận dị tìm khn mặt nhanh 30 2.2.3 Thuật toán AdaBoost 31 2.2.4 Bộ phân lớp AdaBoost 36 2.3 Dò tìm khn mặt 39 2.4 Nhận xét 40 2.4.1 Ưu điểm 40 2.4.2 Nhược điểm 41 CHƯƠNG 3: Thực nghiệm phát khuôn mặt 42 3.1 Mơ tả tốn 42 Phân tích lựa chọn cơng cụ 42 3.2 Phát khuôn mặt sử dụng hàm OpenCV 43 3.2.1 OpenCV 43 3.2.2 Cấu trúc OpenCV 44 Cao Tiến Đạt _ CT1901C Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV 3.2.3 Phát khuôn mặt với hàm OpenCV 45 3.3 Một số kết chương trình 49 KẾT LUẬN 51 Cao Tiến Đạt _ CT1901C Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV DANH MỤC HÌNH Hình 1-1: Các bước hệ thống nhận dạng mặt người Hình 2-1 27 Hình 2-2: đặt trưng Haar-like 27 Hình 2-3: Đặc trưng đường(line feature) 28 Hình 2-4: Đặc trưng xung quanh tâm(center-surround features) 28 Hình 2-5: Các đặc trưng mở rộng đặc trưng Haar-like sở 28 Hình 2-6: Cơng thức tính Intergral Image 29 Hình 2-7: Ví dụ cách tính nhanh giá trị mức xám vùng D ảnh 30 Hình 2-8: Ví dụ minh họa cho thuật tốn AdaBoost 36 Hình 2-9: Minh họa đồ tìm phân tầng 37 Hình 3-1: Hệ thống phát khuôn mặt người 42 Hình 3-2: Cấu trúc OpenCV 44 Hình 3-3: Trong thư mục Opencv có huấn luyện có sẵn 45 Hình 3-4: Chuyển ảnh xám 46 Hình 3-5: Tầm nhìn máy tính đặc trưng Haar chạy 47 Hình 3-6 47 Hình 3-7: Các đặc trưng Haar đánh dấu nơi khn mặt 48 Hình 3-8: Bức ảnh xác định khn mặt 49 Hình 3-9: Bức ảnh cần nhận diện khuôn mặt 49 Hình 3-10: Giao diện chương trình 50 Hình 3-11: Nhập đường dẫn tới ảnh cần nhận diện 50 Hình 3-12: Kết 50 Hình 3-13: Bức ảnh có nhiều khn mặt 51 Hình 3-14: Kết ( khuôn mặt nghiêng chưa nhận dạng được) 51 Cao Tiến Đạt _ CT1901C Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV PHẦN MỞ ĐẦU Công nghệ thông tin ứng dụng lĩnh vực sống Với hệ thống máy tính, làm nhiều việc, tiết kiện thời gian cơng sức Điển cơng việc nhận dạng mặt người Ngày xưa, muốn tìm kiếm kẻ tình nghi siêu thị hay sân bay, nhân viên an ninh phải tìm kiếm hình camera theo dõi Ngày nay, công việc làm tự động nhờ hệ thống nhận dạng mặt người Phát mặt người ảnh phần quan trọng hệ thống nhận dạng mặt người đó, giải tốt việc phát mặt người giúp tiết kiệm thời gian nâng cao độ xác việc nhận dạng khuôn mặt Phát mặt người toán nhận dạng đơn giản, hệ thống cần phân loại đối tượng đưa vào có phải mặt người hay mặt người Ở mức độ cao hơn, sau phát khuôn mặt, khn mặt so sánh với khn mặt có liệu để nhận dạng xem khuôn mặt (thường áp dụng nhận dạng khuôn mặt người tiếng tội phạm bị truy nã) Với mục tiêu tìm hiểu đặc trưng haar-like, mơ hình Cascade of Classifiers, đồng thời áp dụng vào toán phát mặt người ảnh Nội dung đồ án bao gồm: Chương 1: Tổng quan phát khuôn mặt Chương 2: Phát khuôn mặt sử dụng đặc trưng Haar Chương 3: Thực nghiệm phát khuôn mặt Phần kết luận Tài liệu tham khảo Cao Tiến Đạt _ CT1901C Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN KHN MẶT 1.1 Giới thiệu phát khn mặt Trong năm gần đây, có nhiều cơng trình nghiên cứu tốn xác định khn mặt người từ ảnh đen trắng, xám đến ảnh màu Ban đầu toán đơn giản, ảnh có khn mặt nhìn thẳng đầu ln phải tư thẳng đứng ảnh đen trắng, không đáp ứng nhu cầu ngày cao sống, khoa học ngày Vì có nhứng cải tiến nghiên cứu tốn phát khn mặt người mơi trường phức tạp hơn, có nhiều khn mặt người ảnh hơn, có nhiều tư thay đổi ảnh Xác định khuôn mặt người kỹ thuật để xác định vị trí kích thước khn mặt người ảnh Kỹ thuật nhận biết đặc trưng khuôn mặt bỏ qua thứ khác Tổng quan kiến trúc hệ thống nhận dạng mặt người Một hệ thống nhận dạng mặt người thông thường bao gồm bốn bước xử lý sau: phát khuôn mặt (face detection), phân đoạn khuôn mặt (face alignment hay segmentation), rút trích đặc trưng (feature extraction), phân lớp khn mặt (face classification) Hình 1-1: Các bước hệ thống nhận dạng mặt người Cao Tiến Đạt _ CT1901C Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Phát khuôn mặt dị tìm định vị vị trí khng mặt xuất ảnh frame video Phân đoạn khn mặt xác định vị trí mắt mũi, miệng, thành phần khác khuôn mặt chuyển kết cho bước rút trích đặc trưng Từ thông tin thành phần khuôn mặt, dễ dàng tính véc-tơ đặc trưng bước rút trích đặc trưng Những véc-tơ đặc trưng liệu đầu vào cho mơ hình huấn luyện trước để phân loại khn mặt Bên cạnh bước nêu trên, cịn áp dụng thêm số bước khác tiền xử lý, hậu xử lý nhằm làm tăng độ xác cho hệ thống Do số thông số như: tư khuôn mặt, độ sáng, điều kiện ánh sáng, v.v , phát khuôn mặt đánh giá bước khó khăn quan trọng so với bước lại hệ thống Trong luận văn này, em tập trung chủ yếu vào bước phát khuôn mặt 1.2 Các hướng tiếp cận phát khn mặt Có nhiều nghiên cứu tìm phương pháp xác định khuôn mặt người, từ ảnh xám đến ngày ảnh màu Dựa vào tính chất phương pháp thành bốn hướng tiếp cận chính:  Hướng tiếp cận dựa tri thức: Mã hóa hiểu biết người loại khuôn mặt người thành luật Thông thường luật mô tả quan hệ đặc trưng  Hướng tiếp cận dựa đặc trưng không thay đổi: Mục tiêu thuật tốn tìm đặc trưng mô tả cấu trúc khuôn mặt người mà đặc trưng không thay đổi tư khuôn mặt, vị trí đặt thiếu bị thu hình điều kiện ánh sáng thay đổi  Hướng tiếp cận dưa so khớp mẫu: Dùng mẫu chuẩn khuôn mặt người(các mẫu chọn lựa lưu trữ) để mô tả cho khuôn mặt người hay đặc trưng khuôn mặt(các mẫu Cao Tiến Đạt _ CT1901C Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV phải chọn cho tách biệt theo tiêu chuẩn mà tác giả định để so sánh)  Hướng tiếp cận dựa diện mạo: Trái ngược hẳn so khớp mẫu, mô hình học học từ tập ảnh huấn luyện cho trước Sau hệ thống xác định khn mặt người Một số tác giả cịn gọi hướng tiếp cận hướng tiếp cận theo phương pháp học 1.2.1 Hướng tiếp cận dựa tri thức Trong hướng tiếp cận này, luật phụ thuộc vào tri thức tác giả nghiên cứu tốn xác định khn mặt người Đây hướng tiếp cận top-down Dễ dàng xây dựng luật để mô tả đặc trưng khn mặt quan hệ tương ứng, Ví dụ, khn mặt thường có hai đơi mắt đối xứng qua trục thẳng đứng khuôn mặt có mũi, miệng Các quan hệ đặc trưng mơ tả quan hệ khoảng cách vị trí Thơng thường tác giả trích đặc trưng khn mặt trước tiên để ứng viên, sau ứng viên xác định thông qua luật để biết ứng viên khuôn mặt ứng viên khuôn mặt, Một vấn đề phức tạp dùng hướng tiếp cận chuyển từ tri thức người sang luật cách hiệu Nếu luật q chi tiết khn mặt(chặt chẽ) xác định xác định thiếu khn mặt có ảnh, khn mặt khơng thể thỏa mãn tất luật đưa ra, Nhưng luật tổng quát xác định lầm vùng khơng phải khn mặt mà lại xác định khn mặt Và khó khăn cân mở rộng yêu cầu toán để xác định khn mặt có nhiều tư khác Cao Tiến Đạt _ CT1901C Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Hình 1-2: (a) Ảnh ban đầu có độ phân giải n = 1; (b), (c), (d) Ảnh có độ phân giải n = 4, 8, 16 Yang Huang dùng phương thức theo hướng tiếp cận để xác định khuôn mặt Hệ thống hai tác giả bao gồm ba mức luật Ở mức cao nhất, dùng khung cửa số quét ảnh thông qua tập luật để tìm ứng viên khuôn mặt Ở mức kế tiếp, hai ông dùng tập luật để mơ tả tổng qt hình dáng khn mặt Ở mức cịn lại dùng tập luật khác để xem xét mức chi tiết đặc trưng khuôn mặt, Một hệ thống đa độ phân giải có thứ tự dùng để xác định, (Hình 1.1) Các luật mức cao để tìm ứng viên như: “Vùng trung tâm khuôn mặt ( phần tối hình 1.2) có bốn phần với mức độ bản”, “phần xung quanh bên khn mặt( phần sáng hình 1.2) có mức độ bản” “mức độ khác giá trị xám trung bình phần trung tâm phần bao bên đáng kể” Ở mức hai, xem xét biểu đồ ứng viên để loại bớt ứng viên khuôn mặt, đồng thời dò cạnh bao xung quanh ứng viên Ở mức cuối cùng, ứng viên lại xem xét đặc trưng khuôn mặt mắt miện Hai ông dùng chiến lược “ từ thô đến mịn” hay “Làm rõ dần” để giảm số lượng tính tốn xử lý, Mặc dù tỷ lệ xác chưa cao, tiền nhiều nghiên cứu sau Cao Tiến Đạt _ CT1901C Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Hình 1-3: Một loại tri thức người nghiên cứu phân tích khuôn mặt Kotropoulos Pitas đưa phương pháp dùng độ phân giải thấp Hai ông dùng phương pháp chiếu để xác định đặc trưng khuôn mặt Kanade thành công với phương pháp chiếu để xác định biên khuôn mặt Với I(x,y) giá trị xám điểm ảnh có kích thước m x n iwr vị trí (x,y), hàm để chiếu ảnh theo phương ngang thẳng đứng định nghĩa sau:  HI(x) ny1 I (x, y) VI(y)  mx1 I(x, y) (1-1) Hình 1-4: Phương pháp chiếu (a) Ảnh có khn mặt hình đơn giản; (b) Ảnh có khn mặt hình phức tạp; (c) Ảnh có nhiều khuôn mặt Cao Tiến Đạt _ CT1901C 10 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Dựa biển đồ chiếu hình ngang, có hau cực tiểu cục hai ơng xét q trình thay đổi độ dốc HI, cạnh bên trái phải hai bên đầu Tương tự với hình chiếu dọc VI, cực tiểu cục cho ta biết vị trí miệng, đỉnh mũi, hai mắt Các đặc trưng đủ để xác định khuôn mặt Hình 1.4.a ví dụ cách xác định Cách xách định có tỷ lệ xác định xác 86,5% cho trường hợp có khn mặt thẳng ảnh hình khơng phức tạp Nếu hình phức tạp khó tìm, hình 1.4.b Nếu ảnh có nhiều khn mặt khơng xác định được, hình 1.4.c Hình 1-5: Chiếu phần ứng viên để xác định khuôn mặt Mateos Chicote dùng kết cấu để xác định ứng viên ảnh màu Sau phân tích hình dáng, kích thước, thành phần khn mặt để xác định khn mặt, hai ơng trích ứng viên thành phần khn mặt, sau chiếu phần để xác thực có phải thành phần khn mặt hay khơng Tỷ lệ xác 87% Berbar kết hợp mơ hình màu da người xác định cạnh để tùn ứng viên khn mặt người Sau kết hợp đặc trưng phương pháp chiếu ứng viên khuôn mặt xuống hệ trục tọa độ để xác định ứng viên thực khuôn mặt 1.2.2 Hướng tiếp cận dựa đặc trưng không đổi Đây hướng tiếp cận thiểu kiểu bottom-up Các tác giả cố gắng tìm đặc trưng khơng thay đổi khuôn mặt người để xác định khuôn mặt người Dựa nhận xét thực tế: người dễ dàng nhận biết khuôn mặt Cao Tiến Đạt _ CT1901C 11 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV  Nếu mặt người vị trí (x,y) thực tế mặt người vị trí (x * scalestep , y * scalestep ) kích cỡ cửa sổ (𝑤0 * scalestep , ℎ0 * scalestep )  Gán 𝒘𝟏 = W / scale , 𝒉𝟏 = h / scale  Thu nhỏ ảnh từ kích thước (w x h) đến (𝒘𝟏 x , 𝒉𝟏 )  Gán w = 𝒘𝟏 h = , 𝒉𝟏  step = step + Nhận xét: Hệ số co scale định độ mịn cửa số dị tìm, scale nhỏ (≥ 1) có nhiều cửa sổ dị tìm nên xác Áp dụng thuật tốn dị theo kiến trúc tháp ta dị tìm tất khn mặt tất vị trí, song kích thước dị tìm bước sau: Bước 1: Kích thước từ (𝒘𝟎 , 𝒉𝟎 ) đến (𝒘𝟎 * scale, , 𝒉𝟎 * scale) Bước 2: Kích thước từ (𝒘𝟎 * scale, , 𝒉𝟎 * scale) đến ( 𝒘𝟎 ∗ 𝒔𝒄𝒂𝒍𝒆𝟐 , 𝒉𝟎 𝒔𝒄𝒂𝒍𝒆𝟐 ) ……………………………… Bước n: Kích thước từ ( 𝒘𝟎 ∗ 𝒔𝒄𝒂𝒍𝒆 𝒏 − 𝟏, 𝒉𝟎 𝒔𝒄𝒂𝒍𝒆 𝒏 − 𝟏) đến (w0 * scale, , 𝒉𝟎 * scale) 2.4 Nhận xét 2.4.1 Ưu điểm  Phương pháp cho độ xác tương đối cao (trên 90%), tốc độ dị tìm khn mặt nhanh, thích hợp để dị tìm khn mặt thời gia thực, video  Thích hợp với việc huấn luyện liệu bị nhiễu  Phương pháp trích chọn đặc trưng thực nhanh Cao Tiến Đạt _ CT1901C 40 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV 2.4.2 Nhược điểm  Thuật tốn huấn luyện khn mặt thực chậm có nhiều phân loại yếu  Chỉ dị tìm khn mặt nhìn thẳng góc quay nhỏ  Khơng tính chất AdaBoost mang tính chất nhận định chưa chứng minh chặt chẽ Cao Tiến Đạt _ CT1901C 41 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV CHƯƠNG 3: THỰC NGHIỆM PHÁT HIỆN KHN MẶT 3.1 Mơ tả toán Từ phương pháp đưa phần trước, tốn phát khn mặt thực theo hai bước chính:  Do tìm vùng khn mặt ảnh  Xác thực khn mặt Phân tích lựa chọn cơng cụ Đầu vào: Ảnh gốc Đầu ra: ảnh phát khuôn mặt Để nhận dạng khuôn mặt đặc trưng haar like ta phải đưa ảnh xám hóa, sau cho đặc trưng haarlike chạy khắp ảnh, khu vực so sánh cho giống với nhiều đặc chưng haar like đánh dấu lại Hình 3-1: Hệ thống phát khuôn mặt người Cao Tiến Đạt _ CT1901C 42 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Từ ảnh gốc ban đầu ta tính Integral image, mảng hai chiều với phần tử (x,y) tính tổng phần tử (x’,y’) với x’ < y y’ < y, làm để tính nhanh tổng giá trị mức xám vùng hình chữ nhật ảnh gốc Các vùng ảnh đưa qua hàm Haar để ước lượng đặc trưng, kết ước lượng đưa qua điều chỉnh Adaboost để loại bỏ nhanh đặc trưng khơng có khả đặc trưng khn mặt người Chỉ có tập nhỏ đặc trưng mà điều chỉnh Adaboost cho có khả đăc trưng khuôn mặt người chuyển sang cho định kết (là tập phân loại yếu) Bộ định tổng hợp kết khuôn mặt người kết phân loại yếu trả khuôn mặt người Mỗi phân loại yếu định kết cho đặc trưng Haar-like, xác định ngưỡng đủ nhỏ cho vượt tất liệu mẫu tập liệu huấn luyện (số lượng ảnh khuôn mặt tập huấn luyện 3.2 Phát khuôn mặt sử dụng hàm OpenCV 3.2.1 OpenCV Opencv viết tắt từ Open Source Computer Vision Library OpenCV thư viện mã nguồn mở phục vụ cho việc nghiên cứu hay phát triển thị giác máy tính Tối ưu hóa xử lý ứng dụng thời gian thực Giúp cho việc xây dựng ứng dụng xử lý ảnh, thị giác máy tính … cách nhanh OpenCV có 500 hàm khác nhau, chia làm nhiều phần phục vụ công việc như: xử lý ảnh, an ninh, camera quan sát, nhận diện, robot… Cao Tiến Đạt _ CT1901C 43 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Thư viện viết ngơn ngữ C C++ chạy hệ điều hành Linux, Window MacOsX OpenCV thiết kế để nâng cao hiệu suất tính tốn nhấn mạnh đến hệ thống thời gian thực OpenCV đưa hệ thống đơn giẩn, dễ sử dụng giúp người nhanh chóng xây dựng ứng dụng thị giác máy, kể hệ thống kiểm tra nhà máy, ảnh lĩnh vực y học, bảo mật, robot học… Nó chứa lập trình xử lý ảnh đơn giản, kể thực thi hàm bậc cao dị tìm khn mặt, theo dõi khn mặt, nhận dạng khuôn mặt… OpenCV giới thiệu vào tháng 1/1999, OpenCV sử dụng nhiều ứng dụng, sản phẩm nghiên cứu như: lĩnh vực hàng không, sử dụng giảm nhiễu y học, phân tích đối tượng, an ninh, hệ thống dị tìm, theo dõi tự động hệ thống bảo mật…., ngồi cịn sử dụng nhận dạng âm OpenCV cịn chìa khóa quan trọng robot sử dụng thị giác Stanford, Asimo 3.2.2 Cấu trúc OpenCV Cấu trúc opencv chia làm phần chính, số chia hình sau: Hình 3-2: Cấu trúc OpenCV Cao Tiến Đạt _ CT1901C 44 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV CV (computer vision) thành phần chữa xử lý ảnh sở thuật toán thị giác máy tính mức cao MLL (machine learning library) thư viện machine learning, bao gồm nhiều lớp thống kê gộp công cụ xử lý HighGUI chứa thủ tục vào hàm dùng cho việc lưu trữ tải ảnh video CXCore chứa cấu trúc nội dung liệu sở 3.2.3 Phát khuôn mặt với hàm OpenCV Từ phương pháp đưa phần trước, tốn phát khn mặt thực theo bước:  Huấn luyện tập mẫu  Xác định khuôn mặt Ở bước huấn luyện tập mẫu Trong cài đặt Opencv 3.4.2 có sẵn thư mục huấn luyện có sẵn Ta sử dụng ln tài nguyên Ở bước xác định khuôn mặt chia làm bước:  Tiền xử lí  Dị tìm khn mặt  Hậu xử lí 3.2.3.1 Huấn luyện tập mẫu Ta sử dụng huấn luyện có sẵn thư mục opencv Hình 3-3: Trong thư mục Opencv có huấn luyện có sẵn Cao Tiến Đạt _ CT1901C 45 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV 3.2.3.2 Xác định khuôn mặt Bước 1: Tiền xử lí Một lưu ý nhỏ phương pháp HA thực ảnh xám (gray image) Mỗi điểm ảnh (pixel) có giá trị mức xám từ đến 255 (không gian màu bit) Như phương pháp HA không khai thác đặc điểm màu sắc khuôn mặt để nhận dạng song hiệu Ảnh màu chuyển ảnh xám để nhận dạng, việc chuyển đổi đơn giản, thực hàm chuyển đổi sử dụng với câu lệnh Opencv nên báo cáo chưa đề cập tới Sau chuyển thành ảnh xám, ảnh lại tiếp tục chuyển thành “ảnh tích hợp” bước trình nhận dạng, đặc trưng Haar-like làm việc trực tiếp ảnh tích hợp Hình 3-4: Chuyển ảnh xám Bước 2: Dị tìm khn mặt Integal Image mảng chiều với kích thước ảnh cần tính đặc trưng Haar Bắt đầu từ vị trí bên trái đến vị trí dưới, bên phải ảnh Sau tính Integral Image, việc tính tổng điểm ảnh vùng ảnh thực đơn giản Cao Tiến Đạt _ CT1901C 46 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Để phát khuôn mặt, hệ thống cho cửa sổ (sub-window) có kích thước cố định qt lên tồn ảnh đầu vào Như có nhiều ảnh ứng với cửa sổ con, đặc trưng Haar-like đặt lên cửa sổ để từ tính giá trị đặc trưng Sau giá trị huấn luyện xác nhận xem khung hình có phải khn mặt hay khơng Hình ví dụ: khung màu xanh cửa sổ con, đặc trưng Haar-like với kích thước vị trí đặt hình sau: Hình 3-5: Tầm nhìn máy tính đặc trưng Haar chạy Bước 3: Hậu xử lí Sau quét cửa sổ khắp ảnh Đặc trưng Haar so sánh với huấn luyện mẫu đánh dấu nơi khn mặt ảnh Hình 3-6 Trong đó: faces.width/height: Chiều rộng/cao đặc trưng Haar Cao Tiến Đạt _ CT1901C 47 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Hàm detectMultiScale phần tìm kiếm khuôn mặt, hàm (hay phương thức) thuộc lớp CascadeClassifier (lớp phục vụ tìm kiếm đối tượng Opencv) Hàm detectMultiScale sau tìm kiếm xong trả giá trị gồm tọa độ gốc khung chứa khuôn mặt x,y ; chiều dài, rộng khung w, h Các giá trị nằm mảng faces Cấu trúc for… duyệt qua toàn giá trị này, với giá trị ta dùng hàm rectangle để vẽ hình chữ nhật lên ảnh ban đầuvới tọa độ điểm trái phải dưới: (x,y), (x+w,y+h) (0,0,255) màu vẽ hình chữ nhật Hình 3-7: Các đặc trưng Haar đánh dấu nơi khn mặt Sau đánh dấu hết nơi khn mặt gộp lại hình chữ nhật chứa khn mặt hình chữ nhật cho khuôn mặt Cao Tiến Đạt _ CT1901C 48 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Hình 3-8: Bức ảnh xác định khn mặt 3.3 Một số kết chương trình Hình 3-9: Bức ảnh cần nhận diện khuôn mặt Cao Tiến Đạt _ CT1901C 49 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Hình 3-10: Giao diện chương trình Hình 3-11: Kết Thử nhiệm với ảnh có nhiều khn mặt: Cao Tiến Đạt _ CT1901C 50 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Hình 3-12: Bức ảnh có nhiều khn mặt Hình 3-14: Kết ( khn mặt nghiêng chưa nhận dạng được) Cao Tiến Đạt _ CT1901C 51 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV Cao Tiến Đạt _ CT1901C 52 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV KẾT LUẬN Qua tìm hiểu tốn phát mặt người ảnh em thấy quan trọng xử lý ảnh phát triển tầm quan trọng toán phát mặt người đời sống Trong trình xây dựng chương trình em tìm hiểu thư viện mã nguồn mở OpenCV Qua biết cách sử dụng hàm xây dựng sẵn thư viện OpenCV Về chương trình em thực phát mặt người ảnh, kết đạt mong muốn, thời gian phát nhanh mặt người chụp thẳng, chất lượng ảnh tốt, khơng có vật cản…., cịn ảnh chụp nghiêng hay ảnh có màu sắc tối chương trình chưa phát khn mặt ảnh Em tìm hiểu thêm cố gắng khắc phục Cao Tiến Đạt _ CT1901C 53 Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV TÀI LIỆU THAM KHẢO [1.] https://123doc.org/document/2903809-bao-cao-do-an-phat-hienkhuon-mat-voi-thuat-toan-adaboost.htm) [2.] https://www.stdio.vn/articles/opencv-voi-python-trong-ungdung-phat-hien-khuon-mat-trong-buc-anh-617 Cao Tiến Đạt _ CT1901C 54 ... Classifiers, đồng thời áp dụng vào toán phát mặt người ảnh Nội dung đồ án bao gồm: Chương 1: Tổng quan phát khuôn mặt Chương 2: Phát khuôn mặt sử dụng đặc trưng Haar Chương 3: Thực nghiệm phát khuôn mặt. .. CT1901C Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN KHUÔN MẶT 1.1 Giới thiệu phát khn mặt Trong năm gần đây, có nhiều cơng trình nghiên cứu tốn xác định khuôn. . .Xây dựng ứng dụng phát khuân mặt ảnh sử dụng OpenCV 3.2.3 Phát khuôn mặt với hàm OpenCV 45 3.3 Một số kết chương trình 49 KẾT LUẬN 51 Cao Tiến Đạt _ CT1901C Xây dựng ứng

Ngày đăng: 09/08/2021, 12:14

Hình ảnh liên quan

Hình 1-1: Các bước chính trong một hệ thống nhận dạng mặt người - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 1.

1: Các bước chính trong một hệ thống nhận dạng mặt người Xem tại trang 5 của tài liệu.
Hình 1-2: (a) Ảnh ban đầu có độ phân giải n= 1; (b), (c), và (d) Ảnh có độ phân giải n = 4, 8, 16 - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 1.

2: (a) Ảnh ban đầu có độ phân giải n= 1; (b), (c), và (d) Ảnh có độ phân giải n = 4, 8, 16 Xem tại trang 8 của tài liệu.
Hình 1-3: Một loại tri thức của người nghiên cứu phân tích trên khuôn mặt. Kotropoulos và Pitas đưa ra một phương pháp dùng trên độ phân giải  thấp - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 1.

3: Một loại tri thức của người nghiên cứu phân tích trên khuôn mặt. Kotropoulos và Pitas đưa ra một phương pháp dùng trên độ phân giải thấp Xem tại trang 9 của tài liệu.
Hình 1-4: Phương pháp chiếu - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 1.

4: Phương pháp chiếu Xem tại trang 9 của tài liệu.
Dựa trên biển đồ chiếu hình ngang, có hau cực tiểu cục bộ khi hai ông xét quá trình thay đổi độ dốc HI, đó chính là cạnh bên trái và phải của hai bên  đầu - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

a.

trên biển đồ chiếu hình ngang, có hau cực tiểu cục bộ khi hai ông xét quá trình thay đổi độ dốc HI, đó chính là cạnh bên trái và phải của hai bên đầu Xem tại trang 10 của tài liệu.
mỗi bước là 5o và theo thứ tự. Xây dựng ảnh đa độ phân giải, hình 1-1, rồi dùng phép toán Laplace để xác định các cạnh - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

m.

ỗi bước là 5o và theo thứ tự. Xây dựng ảnh đa độ phân giải, hình 1-1, rồi dùng phép toán Laplace để xác định các cạnh Xem tại trang 16 của tài liệu.
Hình 1-7: Mô hình mạng Neuron - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 1.

7: Mô hình mạng Neuron Xem tại trang 19 của tài liệu.
Các đặc trưng Haar-Like là những hình chữ nhật được phân thành các vùng khác nhau như hình:   - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

c.

đặc trưng Haar-Like là những hình chữ nhật được phân thành các vùng khác nhau như hình: Xem tại trang 26 của tài liệu.
Hình 2-3: Đặc trưng đường(line feature) - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 2.

3: Đặc trưng đường(line feature) Xem tại trang 27 của tài liệu.
Hình 2-4: Đặc trưng xung quanh tâm(center-surround features) - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 2.

4: Đặc trưng xung quanh tâm(center-surround features) Xem tại trang 27 của tài liệu.
Hình 2-6: Công thức tính Intergral Image - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 2.

6: Công thức tính Intergral Image Xem tại trang 28 của tài liệu.
Hình 2-7: Ví dụ cách tính nhanh các giá trị mức xám của vùn gD trên ảnh Tiếp  theo,  để  chọn  các  đặc  trưng  Haar- like  dùng  cho  việc  thiết  lập  ngưỡng,  Viola  và  Jones  sử  dụng  một  phương  pháp  máy  học  được  gọi  là  AdaBoost - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 2.

7: Ví dụ cách tính nhanh các giá trị mức xám của vùn gD trên ảnh Tiếp theo, để chọn các đặc trưng Haar- like dùng cho việc thiết lập ngưỡng, Viola và Jones sử dụng một phương pháp máy học được gọi là AdaBoost Xem tại trang 29 của tài liệu.
Hình 2-8: Ví dụ minh họa cho thuật toán AdaBoost - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 2.

8: Ví dụ minh họa cho thuật toán AdaBoost Xem tại trang 35 của tài liệu.
Hình 2-9: Minh họa bộ đồ tìm phân tầng - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 2.

9: Minh họa bộ đồ tìm phân tầng Xem tại trang 36 của tài liệu.
Hình 3-1: Hệ thống phát hiện khuôn mặt người - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

1: Hệ thống phát hiện khuôn mặt người Xem tại trang 41 của tài liệu.
Hình 3-2: Cấu trúc cơ bản của OpenCV    - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

2: Cấu trúc cơ bản của OpenCV Xem tại trang 43 của tài liệu.
Hình 3-4: Chuyển về ảnh xám - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

4: Chuyển về ảnh xám Xem tại trang 45 của tài liệu.
Hình dưới là một ví dụ: khung màu xanh là cửa sổ con, một đặc trưng Haar- like với kích thước và vị trí đặt như trong hình sau: - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình d.

ưới là một ví dụ: khung màu xanh là cửa sổ con, một đặc trưng Haar- like với kích thước và vị trí đặt như trong hình sau: Xem tại trang 46 của tài liệu.
Hình 3-7: Các đặc trưng Haar đánh dấu những nơi có thể làkhuôn mặt Sau khi đã đánh dấu hết những nơi có thể là khuôn mặt thì sẽ gộp lại  những hình chữ nhật chứa cùng một khuôn mặt để chỉ cho ra một hình chữ  nhật cho 1 khuôn mặt. - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

7: Các đặc trưng Haar đánh dấu những nơi có thể làkhuôn mặt Sau khi đã đánh dấu hết những nơi có thể là khuôn mặt thì sẽ gộp lại những hình chữ nhật chứa cùng một khuôn mặt để chỉ cho ra một hình chữ nhật cho 1 khuôn mặt Xem tại trang 47 của tài liệu.
Hình 3-8: Bức ảnh đã được xác địnhkhuôn mặt - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

8: Bức ảnh đã được xác địnhkhuôn mặt Xem tại trang 48 của tài liệu.
Hình 3-9: Bức ảnh cần nhận diện khuôn mặt - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

9: Bức ảnh cần nhận diện khuôn mặt Xem tại trang 48 của tài liệu.
Hình 3-10: Giao diện chương trình - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

10: Giao diện chương trình Xem tại trang 49 của tài liệu.
Hình 3-11: Kết quả Thử nhiệm với ảnh có nhiều khuôn mặt:  - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

11: Kết quả Thử nhiệm với ảnh có nhiều khuôn mặt: Xem tại trang 49 của tài liệu.
Hình 3-14: Kết quả (khuôn mặt nghiêng chưa nhận dạng được) - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

14: Kết quả (khuôn mặt nghiêng chưa nhận dạng được) Xem tại trang 50 của tài liệu.
Hình 3-12: Bức ảnh có nhiều khuôn mặt - Đồ án Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Hình 3.

12: Bức ảnh có nhiều khuôn mặt Xem tại trang 50 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan