CHƯƠNG 1 TỔNG QUAN 1.1 Tổng quan về đề tài Nhận dạng khuôn mặt là một trong những lĩnh vực mới của xử lý ảnh. Và ngày nay nhận dạng được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống như nhận dạng trong lĩnh vực thương mại, hay phát hiện tội phạm trong lĩnh vực an ninh, hay trong lĩnh vực xử lý video, hình ảnh. Hiện nay có rất nhiều các các phương pháp nhận dạng khác nhau được xây dựng để nhận dạng một người cụ thể trong thế giới thực. Tuy nhiên việc nhận dạng được một người trong thế giới thực là vô cùng khó khăn, bởi vì để nhận dạng được ta phải xây dựng được tập cơ sở dữ liệu đủ lớn và việc xử lý dữ liệu lớn này đòi hỏi phải nhanh và chính xác.
Nhiệm vụ đặt ra là nghiên cứu và xây dựng một chương trình sử dụng phương pháp nhận dạng có độ chính xác cao mà khối lượng và thời gian tính toán lại ít. Hệ thống nhận dạng mặt người bao gồm hai bước: phát hiện khuôn mặt và định danh tự động đối tượng. Công việc chính dựa vào các kỹ thuật rút trích đặc trưng cục bộ bất biến từ ảnh đối tượng và thực hiện đối sánh để định danh tự động. Hiệu quả của hệ thống nhận dạng phụ thuộc vào các phương pháp sử dụng.
Các nghiên cứu liên quan : 1. Châu Ngân Khánh Khoa Kỹ thuật-Công nghệ và Môi trường, Trường Đại học An Giang và TS. Đoàn Thanh Nghị Khoa Kỹ thuật-Công nghệ và Môi trường, Trường Đại học An Giang với đề tài “NHẬN DẠNG MẶT NGƯỜI VỚI GIẢI THUẬT HAAR LIKE FEATURE – CASCADE BOOSTED CLASSIFIERS VÀ ĐẶC TRƯNG SIFT ” được đăng trên tạp chí Khoa học Trường đại học An Giang năm 2014.[1] Đề tài đã được tiến hành đánh giá hiệu năng của hệ thống nhận dạng mặt người sử dụng thuật toán Haar Like Feature – Cascade of Boosted Classifiers và các đặc trưng SIFT. Hệ thống nhận dạng này được cài đặt bằng ngôn ngữ lập trình C/C++, sử dụng thư viện mã nguồn mở OpenCV của Intel (Bradski & Kaehler, HVTH: Lê Nguyễn Anh Huy 1 Luan van GVHD: TS.
Nguyễn Văn Thái 2012; Laganière, 2011), trên một máy tính cá nhân chạy hệ điều hành Linux với bản phân phối Ubuntu. Bước phát hiện mặt người thu được từ camera (webcam) được thực hiện thông qua việc huấn luyện mô hình phân tầng với mỗi tầng là một mô hình AdaBoost sử dụng bộ phân lớp yếu là cây quyết định với các đặc trưng Haar- Like (hỗ trợ bởi opencv_createsamples và opencv_haartraining của OpenCV) trên tập ảnh (mặt người và không phải mặt người). Phương pháp của đề tài trên được đánh giá trên các tập dữ liệu kiểm chuẩn AT&T (ORL) được giới thiệu bởi AT&T Laboratories Cambridge (1994); Face94, Face95, Face96, Grimace được giới thiệu bởi Spacek (2007a; 2007b; 2007c; 2007d); Jaffe được giới thiệu bởi Lyons, Miyuki Kamachi, và Jiro Gyoba (1998). Đầu tiên, chương trình sử dụng mô hình phân tầng đã huấn luyện để phát hiện mặt người, rút trích ra khuôn mặt.
Sau đó, đã sử dụng lớp SiftFeatureDectector và SiftDescriptorExtractor từ thư viện OpenCV để rút trích các đặc trưng SIFT của tất cả các ảnh khuôn mặt (không phải ảnh gốc) và lưu vào cơ sở dữ liệu SIFT. Giải thuật kNN được sử dụng để tìm hai láng giềng gần nhất và láng giềng đảo ngược hoặc một láng giềng gần nhất tương ứng với thuật toán nhận dạng dựa trên so khớp SIFT và NBNN. Nghi thức kiểm tra trong thực nghiệm lấy ngẫu nhiên 2/3 tập dữ liệu làm tập học (hay cơ sở dữ liệu đối tượng), 1/3 tập dữ liệu còn lại làm tập kiểm tra. Đề tài thực hiện việc kiểm thử 5 lần, sau đó tính trung bình cộng để xác định giá trị lỗi tổng thể.
Tiếp theo, so sánh các kết quả thu được từ việc sử dụng giải thuật kNN, kNN đảo ngược, NBNN. Việc rút trích được khuôn mặt người từ ảnh gốc đã giản lược khá nhiều số lượng SIFT của đối tượng, nhờ vậy hệ thống đã tăng tốc đáng kể quá trình nhận dạng và đạt được độ chính xác cao hơn. Với ảnh có kích thước 500x500 pixels thì có khoảng 2000 SIFT. Nhưng khi trích xuất được khuôn mặt người trong ảnh thì số lượng SIFT trung bình còn khoảng 200 SIFT.
Số lượng SIFT giảm đi không những không làm giảm độ chính xác của chương trình mà còn làm cho độ chính xác được tăng lên, vì các đặc trưng không hữu ích hoặc làm ảnh hưởng xấu đến kết quả nhận dạng đối tượng đã được loại bỏ. Thực nghiệm cho thấy số lượng SIFT không hữu ích là lớn hơn rất nhiều so với SIFT có ý nghĩa trong nhận dạng. Kết quả nhận dạng trên các tập dữ liệu kiểm thử HVTH: Lê Nguyễn Anh Huy 2 Luan van GVHD: TS. Nguyễn Văn Thái Bảng 1.1: Tỷ lệ nhận dạng trên các tập dữ liệu 2.A, Avani S Rao, Vinay S Shekhar, Akshay Kumar C, K N Balasubramanya Murthy, S Natarajan Feature Extractionusing ORB-RANSAC for Face Recognition , PES University and PES Institute of Technology India 2015 [13] Bài báo đã nêu ra dựa trên số lượng so khớp phù hợp từ kết quả thu được sau khi áp dụng FLANN, hai ngưỡng so khớp được thiết lập để được coi là phù hợp hoặc không phù hợp.
Các ngưỡng cho việc nhận dạng thu được bằng cách lấy tỷ số inliers được trả về bởi thuật toán RANSAC cho tổng số so khớp tốt được trả về bởi FLANN. Đối với một số lượng so khớp tốt cố định, tỷ lệ của inliers so với tổng số so khớp sẽ cao hơn. Hình ảnh thử nghiệm được phân loại nếu nó vượt quá ngưỡng của ràng buộc đó. Bảng dưới đây mô tả ngưỡng cho tất cả ba cách tiếp cận cùng với giới hạn của các kết hợp tốt.2: So sánh kết quả giữa các công nghệ HVTH: Lê Nguyễn Anh Huy 3 Luan van GVHD: TS.2 Mục đích của đề tài Đề tài sẽ thực hiện việc nhận dạng khuôn mặt nhờ các đặc trưng Haar-like và thuật toán AdaBoost và mô hình phân tầng Cascade để định vị khuôn mặt, áp dụng thuật toán trích đặc trưng SIFT kết hợp RANSAC để so khớp với khuôn mặt trên tập ảnh đã được chọn lọc trước, đồng thời so sánh kết quả nhận dạng để định danh được đối tượng trong ảnh.3 Nhiệm vụ và giới hạn của đề tài 1.1 Nhiệm vụ của đề tài: Đề tài sẽ thực hiện các nhiệm vụ sau: - Nghiên cứu tìm hiểu giải thuật Haar-like, Cascade of Boosted Classifiers - Nghiên cứu, tìm hiểu phương pháp trích đặc trưng SIFT - Nghiên cứu tìm hiểu thuật toán RANSAC - Mô phỏng 1.2 Giới hạn của đề tài Do đề tài ở bước đầu nghiên cứu nên chỉ mới nhận dạng được khuôn mặt ở góc nhìn trực diện, góc nghiêng khuôn mặt nhỏ hơn khoảng 30 độ.
Trích các đặc trưng trên ảnh. Định danh được đối tượng trong hình.4 Phương pháp nghiên cứu Vì điểm bất động là một dạng của bất biến nên các đặc trưng được trích chọn dựa vào các điểm bất động cũng bất biến nên nó thuận tiện trong việc so khớp và nhận dạng. Sau khi phát hiện các điểm quan tâm bất biến trong ảnh, bước tiếp theo là tính toán các đặc trưng dựa vào vị trí của các điểm bất động, bằng cách tạo ra các bộ mô tả cho các điểm này. Dựa trên bộ mô tả đã được xây dựng ta tiến hành so khớp giữa các đặc trưng của ảnh huấn luyện và ảnh đầu vào để đạt được kết quả mong muốn.
HVTH: Lê Nguyễn Anh Huy 4 Luan van GVHD: TS. Nguyễn Văn Thái Ảnh thu được từ camera Ảnh được chọn trong Tách khuôn mặt cơ sở dữ liệu Trích đặc trưng cục bộ bất biến Trích đặc trưng cục bộ bất biến So khớp đặc trưng Xác minh danh tính Hình 1.1: Sơ đồ nhận dạng khuôn mặt Để thực hiện đề tài này, tác giả thực hiện các phương pháp nghiên cứu sau: Sử dụng các tài liệu tham khảo như sách giáo trình, các bài báo khoa học, các đồ án, luận văn tốt nghiệp của các trường đại học để nghiên cứu các cơ sở lý thuyết sử dụng trong đề tài Sử dụng các mã nguồn mở trên internet Mô phỏng các kết quả nghiên cứu HVTH: Lê Nguyễn Anh Huy 5 Luan van GVHD: TS.5 Giới thiệu thuật toán 1. SIFT SIFT (Scale Invariant Feature Transform) một phương pháp để chiết xuất các thuộc tính bất biến đặc biệt từ các hình ảnh và được sử dụng để thực hiện đối sánh tin cậy giữa các khung nhìn khác nhau của một đối tượng hay cảnh. Các thuộc tính này là bất biến đối với phép thay đổi tỉ lệ và phép quay ảnh và thể hiện rõ nét trong việc đối sánh một vùng con với phép biến đổi affine và sự thay đổi khung nhìn 3D cộng thêm nhiễu và thay đổi trong chiếu sáng.
Các thuộc tính này rất đặc biệt và là một thuộc tính duy nhất có thể đối sánh chính xác trong một cơ sở dữ liệu lớn các thuộc tính trích xuất từ nhiều hình ảnh. Ngoài ra thuật toán này cũng được ứng dụng trong cách tiếp cận để nhận dạng đối tượng. SURF SURF (Speeded Up Robust Features) là bộ phát hiện và bộ mô tả các điểm quan tâm bất biến với tỷ lệ và góc xoay. Phương pháp này tương đương hoặc thậm chí nhanh hơn so với các phương pháp đề xuất trước đây mà liên quan đến tính lặp đi lặp lại, tính riêng biệt và tính vững chắc, nó còn giúp việc tính toán và so sánh nhanh hơn.
SURF đạt được kết quả này bằng cách dựa trên những hình ảnh tích hợp có nhiều nếp cuộn hình ảnh thông qua việc xây dựng dựa trên các thế mạnh của các bộ phát hiện và bộ mô tả hàng đầu (ở đây sử dụng phương pháp ma trận Hessian để đo đạc cho bộ phát hiện và dựa trên phương pháp phân phối cho các bộ mô tả) Bằng cách đơn giản hóa các phương pháp này sẽ cho ta các kết quả thiết yếu và dẫn tới việc liên kết các phát hiện và mô tả mới phù hợp. HVTH: Lê Nguyễn Anh Huy 6 Luan van GVHD: TS. Nguyễn Văn Thái CHƯƠNG 2 CƠ SỞ LÝ THUYẾT THUẬT TOÁN Trong luận văn này việc phát hiện khuôn mặt là sự kết hợp giữa một thuật toán tăng cường gọi là AdaBoost và đặc tính đáp ứng nhanh của các đặc trưng Haar. Đây là một phương pháp được xem là dựa trên cả hai cách phát hiện đối tượng dựa trên ảnh lẫn dựa trên đặc điểm hình học.