Đặc trưng haar trong phát hiện mặt người: Tìm hiểu về các đặc trưng haar và thuật toán Adaboost để phát hiỆn mặt người

26 989 0
Đặc trưng haar trong phát hiện mặt người: Tìm hiểu về các đặc trưng haar và thuật toán Adaboost để phát hiỆn mặt người

Đ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

1 Mục lục Phần mở đầu Chương 1: Khái quát xử lý ảnh toán phát mặt người 1.1 Khái quát xử lý ảnh 1.1.1 Xử lý ảnh gì: 1.1.2 Một số vấn đề xử lý ảnh: 1.2 Bài toán phát mặt người ảnh 1.2.1 Bài toán: 1.2.2 Những khó khăn phát khuôn mặt người ảnh 1.2.3 Một số lĩnh vực ứng dụng phát khuôn mặt người ảnh Chương 2: Đặc trưng haar phát mặt người 10 2.1 Đặc trưng haar 10 2.2 Thuật toán Adaboost 12 Chương 3: Xây dựng ứng dụng 19 3.1 Bài toán: 19 3.2 Phân tích lựa chọn công cụ 19 3.2.1 Phân tích toán 19 3.2.2 Sơ lược OpenCV 20 3.2.2.1 OpenCV gì: 20 3.2.2.2 Cấu trúc OpenCV 21 3.3 Một số kết chương trình 22 Phần kết luận 25 Tài liệu tham khảo 26 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ệm thời gian công sức Đặc biệt công việc nhận dạng người Ngày xưa, muốn tìm kiếm người tình nghi siêu thị, sân bay hay đâu nơi công cộng, nhân viên an ninh phải tìm kiếm hình 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 Bài toán phát mặt người nghiên cứu từ năm 1990 Trong năm gần đây, có nhiều công trình nghiên cứu toán xác định khuôn mặt người từ ảnh đen trắng, xám đến ảnh màu Ban đầu toán đơn giản, ảnh có khuôn mặt nhìn thẳng đầu 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ó cải tiến nghiên cứu toán phát khuôn mặt người môi trường phức tạp hơn, có nhiều khuôn mặt người ảnh hơn, có nhiều tư thay đổi ảnh Trong đồ án mục tiêu em tìm hiểu đặc trưng haar áp dụng vào toán phát mặt người ảnh Nội dung đồ án bao gồm: Chương 1: Khái quát xử lý ảnh toán phát mặt người: Giới thiệu xử lý ảnh, tổng quan toán phát mặt người ảnh, khó khăn số lĩnh vực ứng dụng phát mặt người Chương 2: Đặc trưng haar phát mặt người: Tìm hiểu đặc trưng haar thuật toán Adaboost để phát hiển mặt người Chương 3: Xây dựng ứng dụng: Xây dựng chương trình đơn giản phát mặt người ảnh dựa vào đặc trưng haar Phần kết luận Tài liệu tham khảo Chương 1: Khái quát xử lý ảnh toán phát mặt người 1.1 Khái quát xử lý ảnh 1.1.1 Xử lý ảnh gì: Xử lý ảnh khoa học tương đối mẻ so với nhiều ngành khoa học khác, qui mô công nghiệp Xử lý ảnh trình thực thao tác ảnh đầu vào cho kết mong muốn Ảnh kết khác so với ảnh ban đầu tốt xấu so với ảnh đầu vào 1.1.2 Một số vấn đề xử lý ảnh: a) Một số khái niệm khái niệm bản: Ảnh: tập hợp hữu hạn điểm ảnh kề Ảnh thường biểu diễn ma trận chiều, phần tử ma trận tương ứng với điểm ảnh Điểm ảnh: xem đặc trưng cường độ sáng hay dấu hiệu vị trí đối tượng không gian Mức xám: kết mã hóa tương ứng cường độ sáng điểm ảnh với giá trị số - kết trình lượng hóa b) Biểu diễn ảnh: Trong biểu diễn ảnh người ta thường dùng phần tử đặc trưng ảnh pixel Việc xử lý ảnh số yêu cầu ảnh phải mẫu hóa lượng tử hóa Một số mô hình dùng biểu diễn ảnh: mô hình toán, mô hình thống kê c) Tăng cường ảnh – khôi phục ảnh: Tăng cường ảnh bước quan trọng tạo tiền đề cho xử lý ảnh Nó gồm kỹ thuật: lọc độ tương phản, khử nhiễu, màu… Khôi phục ảnh nhằm loại bỏ suy giảm ảnh d) Biến đổi ảnh: Thuật ngữ biến đổi ảnh thường dùng để nói tới lớp ma trận đơn vị kỹ thuật dùng để biến đổi ảnh Có nhiều loại biến dạng dùng như: biến đổi Fourier, sin,cosin … e) Nhận dạng ảnh: nhận dạng ảnh trình liên quan đến mô tả đối tượng mà người ta muốn đặc tả Người ta áp dụng kỹ thuật nhận dạng thành công với nhiều đối tượng khác như: nhận dạng vân tay, nhận dạng chữ viết… Có bốn cách tiếp cận khác nhau:  Đối sánh mẫu dựa đặc trưng trích chọn  Phân loại thống kê  Đối sánh cấu trúc  Phân loại dựa mạng nơron nhân tạo f) Nén ảnh: Dữ liệu ảnh liệu khác cần phải lưu trữ hay truyền mạng mà lượng thông tin để biểu diễn cho ảnh lớn Do cần phải giảm lượng thông tin hay nén liệu nhu cầu cần thiết Nén ảnh thường tiến hành theo hai khuynh hướng nén có bảo toàn không bảo toàn thông tin 1.2 Bài toán phát mặt người ảnh 1.2.1 Bài toán: a) Giới thiệu toán phát mặt người ảnh: Trong năm gần đây, có nhiều công trình nghiên cứu toán xác định khuôn mặt người từ ảnh đen trắng, xám đến ảnh màu Ban đầu toán đơn giản, ảnh có khuôn mặt nhìn thẳng đầu 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 toán phát khuôn mặt người môi trường phức tạp hơn, có nhiều khuôn 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 khuôn mặt người ảnh Kỹ thuật nhận biết đặc trưng khuôn mặt bỏ qua thứ khác b) Bài toán phát mặt người gì: Phát mặt người kỹ thuật để phát vị trí kích thước khuôn mặt người ảnh Kỹ thuật nhận biết đặc trưng khuôn mặt bỏ qua đặc trưng khác c) Các phương pháp phát mặt người: Dựa vào tính chất phương pháp xác định mặt người ảnh, phương pháp chia thành bốn loại chính, tương ứng với bốn hướng tiếp cận khác Ngoài có nhiều nghiên cứu mà phương pháp xác định mặt người không dựa vào hướng mà có liên quan đến nhiều hướng Hướng tiếp cận dựa tri thức: Dựa vào thuật toán, mã hóa đặc trưng quan hệ đặc trưng khuôn mặt thành luật Đây hướng tiếp cận theo kiểu top-down Hướng tiếp cận dựa đặc trưng không thay đổi: Xây dựng thuật toán để tìm đặc trưng khuôn mặt mà đặc trưng không thay đổi tư khuôn mặt hay vị trí đặt camera thay đổi Hướng tiếp cận dựa so sánh khớp mẫu: Dùng mẫu chuẩn khuôn mặt (các mẫu chọn lưu trữ) để mô tả khuôn mặt hay đặc trưng khuôn mặt Phương pháp dùng để xác định vị trí hay dò tìm khuôn mặt ảnh Hướng tiếp cận dựa diện mạo: Trái với hướng tiếp cận dựa khuôn mẫu, mô hình hay mẫu học từ tập ảnh huấn luyện mà thể tính chất tiêu biểu xuất mặt người ảnh Sau hệ thống xác định mặt người Phương pháp biết đến với tên gọi theo tiếp cận theo phương pháp học máy 1.2.2 Những khó khăn phát khuôn mặt người ảnh Khuôn mặt ảnh có hướng nhìn khác như: nhìn thẳng, nhìn nghiêng hay nhìn lên nhìn xuống Cùng ảnh có nhiều hướng nhìn khác khuôn mặt việc nhận dạng khó khăn Trong khuôn mặt đặc trưng khuôn mặt mà có số chi tiết đặc trưng khuôn mặt nên việc nhận dạng khuôn mặt sai Một số khuôn mặt bị che khuất đối tượng khác gây cản trở cho việc nhận dạng mặt người Sự biểu cảm khuôn mặt: biểu cảm khuôn mặt làm thay đổi đáng kể đặc trưng thông số khuôn mặt Như người cười, tức giận hay sợ hãi dẫn đến khác biệt khuôn mặt Giới hạn số ảnh cần thiết cho tập huấn luyện, tập ảnh khuôn mặt huấn luyện bao quát tất biến đổi có khuôn mặt người cần nhận dạng giới thực 1.2.3 Một số lĩnh vực ứng dụng phát khuôn mặt người ảnh Nhận dạng đối tượng giúp quan chức quản lý: Dựa vào ảnh người, nhận dạng xem người có phải tội phạm hay không cách so sánh với ảnh tội phạm lưu trữ Hệ thống camera quan sát, theo dõi bảo vệ: Sử dụng camera để quan sát, theo dõi phát tội phạm đám đông Ví dụ người có lấy trộm đồ, xâm nhập bất hợp pháp hay không Giúp người bảo mật: Các ứng dụng bảo mật đa dạng, số công nghệ nhận dạng mặt người Ví dụ công nghệ nhận dạng mặt người laptop, để vào laptop người dùng phải ngồi trước máy tính phải sử dụng webcam để chụp ảnh khuôn mặt cho máy “học” thuộc đặc điểm khuôn mặt giúp cho trình đăng nhập sau Lưu trữ khuôn mặt: Xác định mặt người ứng dụng trạm rút tiền tự động để lưu trữ khuôn mặt người rút tiền để tránh trường hợp chủ thẻ bị thẻ giúp nhân viên ngân hàng xử lý dễ dàng Một số ứng dụng khác toán nhận dạng mặt người: - Trong lĩnh vực an ninh sân bay, xuất nhập cảnh: để nhận dạng tội phạm quốc gia, tội phạm quốc tế trà trộn chung với hành khách Hay tội phạm nước tìm cách trốn nước đường hàng không - Điều khiển vào công ty, văn phòng… Trong công ty hay tổ chức nhân viên có quyền hạn định phạm vi làm việc Để ngăn cản xâm nhập người ta sử dụng hệ thống nhận dạng vân tay hay mắt… để hạn chế quyền hạn nhân viên - Tìm kiếm tổ chức liệu liên quan đến người thông qua khuôn mặt nhiều hệ sở liệu lưu trữ lớn internet, hãng truyền hình… - Trong giao thông kiểm tra phát trạng thái người lái xe có ngủ gật, tập trung hay không thông báo cho quan chức biết cần thiết 10 Chương 2: Đặc trưng haar phát mặt người 2.1 Đặc trưng haar Khuôn mặt đặc trưng tập hợp pixel vùng khuôn mặt mà pixel tạo lên điểm khác biệt so với vùng pixel khác Tuy nhiên với ảnh đầu vào, việc sử dụng pixel riêng lẻ lại không hiệu Vì nhà nghiên cứu đưa tư tưởng kết hợp vùng pixel với tạo đặc trưng có khả phân loại tốt vùng khuôn mặt Trong số đặc trưng haarlike ứng dụng Đặc trưng haarlike tạo thành việc kết hợp hình chữ nhật đen, trắng với theo trật tự, kích thước Có đặc trưng haarlike mở rộng, chia làm tập đặc trưng sau:  Đặc trưng cạnh  Đặc trưng đường 12 Giả sử ta cần tính tổng điểm ảnh vùng D hình 2.1: D = A + B + C + D – (A + B) – (A +C) + A Với A + B + C + D giá trị điểm P4 Intergral Image, A + B giá trị điểm P2, A + C giá trị điểm P3, A giá trị điểm P1 Vậy ta tính lại biểu thức D sau: D = (x4,y4) – (x2,y2) – (x3,y3) – (x1,y1) A P1 C B P2 D P3 P4 Hình 2.1: Ví dụ cách tính nhanh tổng điểm ảnh vùng D ảnh Để chọn đăc trưng Haar-like dùng cho việc thiết lập ngưỡng, Viola Jones sử dụng phương pháp máy học gọi Adaboost Adaboost kết hợp phân loại yếu để tạo thành phân loại mạnh 2.2 Thuật toán Adaboost Adaboost cách hướng tiếp cận dựa diện mạo, Viola Jones dùng AdaBoost kết hợp cascade để xác định khuôn mặt người [17] với đặc trưng dạng Haar wavelet-like Tốc độ xử lý nhanh tỷ lệ xác 80% ảnh xám Adaboost phân loại mạnh phi tuyến phức dựa tiếp cận boosting Freund Schapire đưa vào năm 1995 Adaboost hoạt động dựa nguyên tắc kết hợp tuyến tính 13 weak classifiers để hình thành strong classifier Là cải tiến của tiếp cận boosting Adaboost sử dụng thêm khái niệm trọng số (weight) để đánh dấu mẫu khó nhận dạng Trong trình huấn luyện, weak classifiers xây dựng, thuật toán tiến hành cập nhật lại trọng số để chuẩn bị cho việc xây dựng weak classifier kế tiếp: tăng trọng số mẫu bị nhận dạng sai giảm trọng số mẫu nhận dạng weak classifier vừa xây dựng Bằng cách weak classifier sau tập trung vào mẫu mà weak classifier trước làm chưa tốt Sau cùng, weak classifier kết hợp tùy theo mức độ tốt chúng để tạo nên strong classifier Ví dụ: để biết ảnh có phải ảnh mặt người không, ta hỏi N người (tương đương với N classifier xây dựng từ N vòng lặp boosting), đánh giá người (tương đương với weak classifier) cần tốt ngẫu nhiên chút (tỉ lệ sai 50%) Sau ta đánh trọng số cho đánh giá người, người có khả đánh giá tốt mẫu khó mức độ quan trọng người kết luận cuối cao người đánh giá tốt mẫu dễ Việc cập nhật lại trọng số mẫu sau vòng lặp boosting để đánh giá độ khó mẫu (mẫu có nhiều người đánh giá sai mẫu khó) 14 Viola Jones dùng Adaboost kết hợp phân loại yếu sử dụng đặc trưng haar-like theo mô hình phân tầng (cascade) sau: Vùng ảnh H1 cần xét khuôn mặt H2 khuôn mặt Không khuôn mặt H3 Hn khuôn mặt Khuôn mặt Hình 2.2 : Mô hình phân tầng kết hợp phân loại yếu để xác định khuôn mặt 15 Các weak classifier hk(x) phân loại yếu biểu diễn sau: Trong đó: - x: cửa sổ cần xét - θk: ngưỡng (θ = teta) - fk: giá trị đặc trưng Haar-like - pk: hệ số định chiều phương trình Nếu giá trị vectơ đặc trưng mẫu cho hàm lượng giác phân loại vượt qua ngưỡng cho trước mẫu object (đối tượng cần nhận dạng), ngược lại mẫu background (không phải đối tượng) Adaboost kết hợp phân loại yếu thành phân loại mạnh sau: H(x) = sign(a1h1(x) + a2h2(x) + … + anhn(x) = alpha) Với an >= hệ số chuẩn hóa cho phân loại yếu Hình 2.3: Kết hợp phân loại yếu thành phân loại mạnh 16 Mỗi phân loại yếu định kết cho đặc trưng haarlike, 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 lớn) Trong trình xác định khuôn mặt người, vùng ảnh kiểm tra với đặc trưng chuỗi đặc trưng haarlike, có đặc trưng haarlike cho kết khuôn mặt người đặc trưng khác không cần xét Thứ tự xét đặc trưng chuỗi đặc trưng haarlike dựa vào trọng số (weight) đặc trưng Adaboost định dựa vào số lần thứ tự xuất đặc trưng haarlike Thuật toán Adaboost: Cho tập huấn luyện gồm N mẫu có đánh dấu (x1, y1), (x2, y2), …, (xn, yn) Với xk vector đặc trưng yk X = (x1k, x2k, …,xmk) (-1,1) nhãn mẫu (1 ứng với object, -1 ứng với background) Khởi tạo trọng số ban đầu cho tất mẫu: với m số mẫu (ứng với object y= 1) l số mẫu sai (ứng với background y= -1) w1,k = Xây dựng T weak classifier Lặp t = 1….T Với đặc trưng vector đặc trưng, xây dựng weak classifier hj với ngưỡng θj lỗi εj 17 Chọn hj với εj nhỏ nhất, ta ht: ht : X → 1,-1 Cập nhật lại trọng số: Trong đó: Zt: hệ số dùng để đưa Wt+1 đoạn [0, 1] (normalization factor) Strong classifier xây dựng: Quá trình huấn luyện phân loại thực vòng lặp mà bước lặp, thuật toán chọn weak classifier ht thực việc phân loại với lỗi nhỏ (do phân loại tốt nhất) để bổ sung vào strong classifier Mỗi chọn phân loại ht Adaboost tính giá trị thức giá trị lỗi theo công chọn nguyên tắc làm giảm thiểu nói lên mức độ quan trọng ht Hệ số Trong công thức phân loại H(x): T H (x) = dấu t ht ( x) t Ta thấy tất phân loại ht có đóng góp vào kết phân loại H(x), mức độ đóng góp chúng phụ thuộc vào giá trị t tương ứng: ht với quan trọng H(x) t lớn có vai trò 18 Trong công thức tính t Dễ thấy giá trị tiêu chí đạt j t t 1 ln : j j tỉ lệ nghịch với j Bởi ht chọn với nhỏ nhất, bảo đảm giá trị t lớn Công thức Freund Schapire đưa Sau tính giá trị t , AdaBoost tiến hành cập nhật lại trọng số mẫu: tăng trọng số mẫu mà ht phân loại sai, giảm trọng số mẫu mà ht phân loại Bằng cách này, trọng số mẫu phản ánh độ khó nhận dạng mẫu ht+1 ưu tiên học cách phân loại mẫu Vòng lặp xây dựng strong classifier dừng lại sau T lần lặp Trong thực tế cài đặt, người ta sử dụng giá trị T công thức đảm bảo tính giá trị T tối ưu cho trình huấn luyện Thay vào người ta sử dụng giá trị max false positive hay max false alarm (tỉ lệ nhận dạng sai tối đa mẫu background) Tỉ lệ phân loại cần xây dựng không phép vượt giá trị Khi đó, qua lần lặp, false alarm strong classifier Ht(x) xây dựng (tại lần thứ t) giảm dần, vòng lặp kết thúc tỉ lệ thấp max false alarm 19 Chương 3: Xây dựng ứng dụng 3.1 Bài toán: Đưa ảnh gốc ban đầu vào hệ thống nhận dạng khuôn mặt sau hệ thống sử dụng đặc trưng haar để phát khuôn mặt 3.2 Phân tích lựa chọn công cụ 3.2.1 Phân tích toán Đầu vào: ảnh gốc Đầu ra: ảnh phát khuôn mặt Hình 3.1: Hệ thống phát khuôn mặt người 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 20 điều chỉnh Adaboost để loại bỏ nhanh đặc trưng khả đặc trưng khuôn 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 haarlike, 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.2 Sơ lược OpenCV 3.2.2.1 OpenCV gì: 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… 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 toá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 21 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 khuôn mặt, theo dõi khuôn 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…., sử dụng nhận dạng âm OpenCV chìa kháo quan trọng robot sử dụng thị giác Stanford, Asimo 3.2.2.2 Cấu trúc OpenCV Cấu trúc opencv chia làm phần chính, số chia hình sau: CV MLL HighGUI Các hàm xử lý ảnh Các thuật toán học máy, Các hàm thủ tục làm giải thuật thị giác bao gồm phân việc với file ảnh file máy tính cụm, phân loại thống kê video CXCORE Các cấu trúc liệu bản, cấu trúc XML, hàm đồ họa … Hình 3.2: Cấu trúc 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ý 22 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.3 Một số kết chương trình Chức chương trình bao gồm: Đọc file ảnh Phát khuôn mặt ảnh Lưu lại ảnh phát Hình 3.3: Giao diện 23 Đầu tiên chương trình nhận đầu vào file ảnh Sau có ảnh đầu vào chuyển sang giai đoạn xử lý ảnh phát khuôn mặt có ảnh Hình 3.4: Kích chọn nút Open Menu 24 Sau mở ảnh để phát khuôn mặt người ảnh menu ta chon Result Khi chương trình gọi tới hàm đặc trưng haar xây dựng sẵn thư viện OpenCV trích chọn đặc trưng mặt người Hình 3.5: Kích chọn Result menu Lưu hình ảnh phát mặt người ảnh ta kích chon Save công cụ 25 Phần kết luận Qua tìm hiểu toá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, vật cản…., ảnh chụp nghiêng so với máy chụp 10o hay ảnh có màu sắc tối chương trình chưa phát khuôn mặt ảnh Em tìm hiểu thêm cố gắng khắc phục 26 Tài liệu tham khảo a) Tài liệu tiếng việt: Nhập môn xử lý ảnh số (Lương Mạnh Bá , Nguyễn Thanh Thúy) Giáo trình Xử lý ảnh (TS Đỗ Năng Toàn, TS Phạm Việt Bình) b) Tài liệu Internet: www.comvisap.com http://www.ieev.org/2010/03/adaboost-haarfeatures-face-detection.html … [...]... ảnh khuôn mặt trong tập huấn luyện lớn) Trong quá trình xác định khuôn mặt người, mỗi vùng ảnh con sẽ được kiểm tra với các đặc trưng trong chuỗi các đặc trưng haarlike, nếu có một đặc trưng haarlike nào cho ra kết quả là khuôn mặt người thì các đặc trưng khác không cần xét nữa Thứ tự xét các đặc trưng trong chuỗi các đặc trưng haarlike sẽ được dựa vào trọng số (weight) của đặc trưng đó do Adaboost. .. ảnh đã được phát hiện mặt người trong ảnh ta kích chon Save trên thanh công cụ 25 Phần kết luận Qua tìm hiểu bài toán phát hiện mặt người trong ảnh em đã thấy được sự quan trọng của xử lý ảnh cũng như sự phát triển và tầm quan trọng của bài toán phát hiện mặt người trong đời sống Trong quá trình xây dựng chương trình em đã tìm hiểu về thư viện mã nguồn mở OpenCV Qua đó biết cách sử dụng các hàm được...11  Đặc trưng xung quanh tâm Để tính giá trị các đặc trưng haarlike, ta tính sự chênh lệch giữa tổng của các pixel của các vùng đen và các vùng trắng theo công thức sau: vùng đen(pixel) – Tổngvùng trắng(pixel) Để tính các giá trị của đặc trưng haarlike, ta phải tính tổng của các vùng pixel trên ảnh Nhưng để tính toán các giá trị của đặc trưng haarlike cho tất cả các vị trí trên ảnh... x’ < y và y’ < y, làm như vậy để tính nhanh tổng của các giá trị mức xám của một vùng hình chữ nhật bất kỳ trên ảnh gốc Các vùng ảnh con này sẽ được đưa qua các hàm Haar cơ bản để ước lượng đặc trưng, kết quả ước lượng sẽ được đưa qua bộ 20 điều chỉnh Adaboost để loại bỏ nhanh các đặc trưng không có khả năng là các đặc trưng của khuôn mặt người Chỉ có một tập nhỏ các đặc trưng mà bộ điều chỉnh Adaboost. .. Bài toán: Đưa ảnh gốc ban đầu vào hệ thống nhận dạng khuôn mặt sau đó hệ thống sẽ sử dụng các đặc trưng haar để phát hiện khuôn mặt 3.2 Phân tích và lựa chọn công cụ 3.2.1 Phân tích bài toán Đầu vào: ảnh gốc Đầu ra: ảnh đã được phát hiện khuôn mặt Hình 3.1: Hệ thống phát hiện khuôn mặt người Từ ảnh gốc ban đầu ta sẽ tính Integral image, là mảng hai chiều với phần tử (x,y) sẽ được tính bằng tổng của các. .. ảnh Sau khi đã có ảnh đầu vào thì chuyển sang giai đoạn xử lý ảnh đó là phát hiện các khuôn mặt có trong ảnh Hình 3.4: Kích chọn nút Open trên thanh Menu 24 Sau khi đã mở ảnh để phát hiện được khuôn mặt người trong ảnh trên thanh menu ta chon Result Khi đó chương trình sẽ gọi tới hàm đặc trưng haar đã được xây dựng sẵn trong thư viện OpenCV trích chọn ra các đặc trưng là mặt người Hình 3.5: Kích chọn... dựng sẵn trong thư viện OpenCV Về chương trình em mới chỉ thực hiện phát hiện mặt người trong ảnh, kết quả đạt được như mong muốn, thời gian phát hiện nhanh đối với mặt người chụp thẳng, chất lượng ảnh tốt, không có vật cản…., còn trong các ảnh như chụp hơi nghiêng so với máy chụp 10o hay ảnh có màu sắc tối thì chương trình vẫn chưa phát hiện ra khuôn mặt trong ảnh đó Em sẽ tìm hiểu thêm và cố gắng... mạnh 2.2 Thuật toán Adaboost Adaboost là một cách trong hướng tiếp cận dựa trên diện mạo, Viola và Jones dùng AdaBoost kết hợp cascade để xác định khuôn mặt người [17] 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 Adaboost là một bộ phân loại mạnh phi tuyến phức dựa trên tiếp cận boosting được Freund và Schapire đưa ra vào năm 1995 Adaboost. .. độ khó của các mẫu (mẫu có nhiều người đánh giá sai là mẫu càng khó) 14 Viola và Jones dùng Adaboost kết hợp các bộ phân loại yếu sử dụng các đặc trưng haar- like theo mô hình phân tầng (cascade) như sau: Vùng ảnh con H1 cần xét là khuôn mặt H2 là khuôn mặt Không là khuôn mặt H3 Hn là khuôn mặt Khuôn mặt Hình 2.2 : Mô hình phân tầng kết hợp các bộ phân loại yếu để xác định khuôn mặt 15 Các weak classifier... Adaboost quyết định dựa vào số lần và thứ tự xuất hiện của các đặc trưng haarlike Thuật toán Adaboost: Cho một tập huấn luyện gồm N mẫu có đánh dấu (x1, y1), (x2, y2), …, (xn, yn) Với xk là vector đặc trưng và yk X = (x1k, x2k, …,xmk) (-1,1) là nhãn của mẫu (1 ứng với object, -1 ứng với background) Khởi tạo trọng số ban đầu cho tất cả các mẫu: với m là số mẫu đúng (ứng với object và y= 1) và l là số mẫu sai

Ngày đăng: 30/12/2015, 18:14

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan