TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN BÀI THỰC HÀNH MÔN PHÂN TÍCH XỬ LÝ ẢNH Nhận diện mặt người Nhóm : Vũ Thị Mai Anh - 0511066 Đỗ Trọng Hợp - 0511120 Lê Thanh Long - 0511140 Chu Đông Thuyết - 0511208 I.Giới thiệu toán nhận diện mặt người Nhận diện mặt người toán xuất cách không lâu , khoảng vài thập niên , có nhiều nghiên cứu Các nghiên cứu ban đầu đơn giản , ảnh đen trắng có khuôn mặt chụp thẳng , sau mở rộng cho ảnh màu , ảnh có nhiều khuôn mặt với nhiều góc , môi trường xung quanh từ đơn giản đến phức tạp … Bài toán nhận diện mặt người có nhiều hướng nghiên cứu , kể hai hướng sau : - - Thứ nhận diện ( face recognition ) khuôn mặt , tức giả sử ta có ảnh khuôn mặt , ta tìm ảnh có khuôn mặt giống với khuôn mặt ảnh Ứng dụng truy tìm tội phạm , hệ thống an ninh xác đinh dựa vào khuôn mặt … Thứ hai xác định vị trí khuôn mặt ảnh ( face detection ) , ảnh có nhiều khuôn mặt , có kích thước góc khác Ứng dụng máy chụp hình có khả nhận dạng mặt người để chỉnh độ sáng nơi … II.Nhận dạng ảnh dựa PCA 1.Thuật toán Khuôn mặt người có nhiều nét để nhận biết , ta gặp lại người bạn sau thời gian dài , ta nhận người dù chi tiết cụ thể mặt thay đổi da , mái tóc Ta nhận nhớ đôi mắt , hay mũi hay môi hay tóc , lông mày người mà ta nhận nhớ diện mạo người Tức khuôn mặt tồn nét tổng thể để nhận diện , thuật toán ta ý tưởng Phân tích thành phần (Principal Component Analysis ) gọi tắt PCA thuật toán nhận dạng ảnh dựa nét tổng thể khuôn mặt , ta áp dụng thuật toán để thực hai công việc sau : - Thứ tìm khuôn mặt giống với khuôn mặt cho trước Thứ hai xác định vị trí khuôn mặt người ảnh Ban đầu ta có tập ảnh khuôn mặt gọi tập ảnh huấn luyện (training set) Giả sử mỗi ảnh có kích thước M×N , ta coi mỗi ảnh vector không gian M*N chiều Bây mỗi khuôn mặt vector , ta thấy vector không phân bố ngẫu nhiên không gian ảnh mà phân bố theo quy luật tương đối , ta nói vector nằm không gian gọi không gian khuôn mặt Từ vector tập huấn luyện , ta tìm sở trực chuẩn cho không gian khuôn mặt Những vector thuộc sở coi vector mang nét tổng thể đặc trưng khuôn mặt Giả sử tập huấn luyện có P ảnh , ta có P vector : , , … , Tính vector ảnh trung bình : m = Sự khác biệt khuôn mặt với ảnh trung bình vector : , i=1…P Ý tưởng việc phân tích thành phần tìm tập vector trực chuẩn cho vector mô tả tốt phân bố vector khuôn mặt không gian Những vector chọn cho : lớn Những vector giá trị vô hướng vector riêng trị riêng tương ứng ma trận tích vô hướng hai vector u , v A=[] Ta thấy ma trận A có kích thước M*N × P , ma trận có kích thước M*N×M*N , kích thước ma trận lớn nên ta tìm vector riêng trị riêng trực tiếp , thay vào ta tìm vector riêng ma trận có kích thước P×P Nếu v vector riêng λ trị riêng tương ứng , ta có : v = λv v = λAv , tức Av trị riêng ma trận Thông thường ta lấy số Q vector riêng ứng với Q trị riêng có giá trị lớn Sau có vector riêng ma trận , ta chuẩn hóa chúng để thu sở trực chuẩn không gian khuôn mặt Đặt L= , tìm V tập hợp vector riêng L , D tập hợp trị riêng tương ứng V bao gồm Q vector riêng ứng với trị riêng lớn giá trị ứng với Q trị riêng lớn D E = AV tập vector riêng Do vector riêng , mà lại có dạng khuôn mặt nên đuợc gọi Eigenfaces E ma trận M*N×Q , mỗi cột vector riêng Chuẩn hóa vector cột E ( chia mỗi vector cho độ dài vector ) Bây , ta coi E sở trực chuẩn không gian khuôn mặt Với H ảnh có kích thước với ảnh tập huấn luyện Ta xét có phải ảnh khuôn mặt hay không , tìm ảnh giống với tập huấn luyện H được xem vector không gian M*N chiều Đặt K=H-m với m vector ảnh trung bình Cho V không gian có tích vô hướng hữu hạn chiều W không gian V Giả sử W có sở trực chuần {, … , Khi hình chiếu trực giao vector u lên W xác định sau : = Độ dài gọi khoảng cách từ u đến W Tập hợp , i=1,… , Q gọi tọa độ không gian W Tìm C=K tọa độ hình chiếu K lên không gian khuôn mặt C vector cột Q ×1 = với = C( i , 1) ; = E( : , i ) Với cột ma trận A ( tương ứng với ảnh tập huấn luyện ) Ta tính = tọa độ hình chiếu lên không gian khuôn mặt Ta tính hai đại lượng sau : - s = xem khoảng cách từ ảnh H đến không gian mặt = xem khoảng cách từ H đến ảnh tập huấn luyện Xét α β hai ngưỡng - s < α H ảnh khuôn mặt ( H đủ gần với không gian mặt ) β ảnh người với H ( H đủ gần với ) Vậy ta tìm ảnh tập huấn luyện giống với ảnh H hay xác định có phải ảnh khuôn mặt hay không Tuy nhiên ảnh H phải có kích thước với ảnh tập huấn luyện Bây ảnh lớn H có nhiều khuôn mặt , ta xác định vị trí khuôn mặt ảnh Tại mỗi vị trí (x,y) H , đặt H(x,y) vùng ảnh H có kích thước M×N (x,y) , ta xem ảnh H(x,y) vector M*N chiều K(x,y) = H(x,y) – m ; Tìm (x,y) hình chiếu K(x,y) lên không gian khuôn mặt Tính s(x,y)= Tập hợp giá trị s(x,y) tạo thành đồ khuôn mặt (face map) H , từ ta xác định vị trí khuôn mặt ảnh 2.Hình ảnh minh họa Trong ví dụ ta có tập huấn luyện gồm ảnh khuôn mặt kích thước 180x200 pixel , số hình ảnh eigenfaces thu được ( lưu ý là vector trực giao , eigenfaces thực vector được chuẩn hóa ) Bây ta chiếu hai ảnh lên không gian khuôn mặt : ảnh kiểm tra hình chiếu ảnh kiểm tra hình chiếu Như ta thấy ảnh khuôn mặt người hình chiếu giống với ảnh gốc , ảnh khuôn mặt hình chiếu khác ảnh gốc nhiều , khoảng cách từ ảnh mặt người tới không gian mặt nhỏ nhiều so với khoảng cách từ ảnh mặt người tới không gian mặt Dưới ví dụ khác , ta có tập huấn luyện gồm ảnh kích thước 18x27 pixel , ta tìm Eigenface sau tìm face map ảnh kiểm tra Trong ví dụ ảnh H(x,y) vùng hình chữ nhật có tâm (x,y) ảnh có kích thước 18x27 pixel Hình face map ảnh ban đầu Ta thấy vị trí mổi khuôn mặt vùng cực tiểu địa phương ảnh ( đốm đen vùng trắng hình chữ nhật ) Bây ta có sở liệu ảnh khuôn mặt ( ta thường tập trung vào hình ảnh xung quanh khuôn mặt cổ áo , phần khuôn mặt …) Tìm face map ảnh ban đầu với không gian khuôn mặt , ta thu được kết sau : Hình giống với face map ứng với không gian khuôn mặt mỗi vùng sáng hình chữ nhật tâm Thực từ face map ứng với không gian khuôn mặt , ta có thuật toán tốt để tìm vị trí cực tiểu địa phương xác định vị trí khuôn mặt Face map ứng với không gian khuôn mặt cách đơn giản để giúp ta tìm xác Tất điều thu được kết hoàn toàn dựa lý thuyết , thực tế thuật toán nhận dạng mặt người phát triển lên nhiều từ ý tưởng PCA có được độ xác yêu cầu 3.Nhận xét PCA phương pháp dùng để xây dựng đặc trưng khuôn mặt , tảng để phát triển thuật toán khác Thực tế có nhiều tác giả áp dụng PCA , kết hợp với phương pháp mạng neural , xác suất thống kê để xây dựng thuật toán có độ xác cao Ưu điểm PCA dễ cài đặt , ta xét toán tìm khuôn mặt giống cần áp dụng hoàn toàn theo lý thuyết có độ xác cao , áp dụng cho toán tìm vị trí khuôn mặt cần phải có thuật toán để sử dụng face map thu được theo lý thuyết Khuyết điểm PCA mẫu khuôn mặt hoàn toàn phụ thuộc vào tập huấn luyện , có nghĩa khuôn mặt ảnh kiểm tra phải giống với ảnh huấn luyện kích thước , tư , độ sáng Thực tế tập huấn luyện thường gồm nhiều nhóm hình , mỗi nhóm hình người với tư , độ sáng khác Có nhiều thuật toán nhận dạng mặt người dựa chi tiết khuôn mặt đôi mắt , lông mày , cấu trúc khuôn mặt , hay màu da …Khác hoàn toàn với thuật toán , PCA nhận dạng dựa nét tổng thể khuôn mặt Còn thuật toán , PCA cung cấp sở rõ ràng cho việc mô tả đặc trưng khuôn mặt , để từ phát triển thuật toán nhận dạng khác Vì PCA không thuật toán tốt , thuật toán phổ biến được áp dụng toán nhận diện mặt người Hết ! ... chiếu hai ảnh lên không gian khuôn mặt : ảnh kiểm tra hình chiếu ảnh kiểm tra hình chiếu Như ta thấy ảnh khuôn mặt người hình chiếu giống với ảnh gốc , ảnh khuôn mặt hình chiếu khác ảnh gốc nhiều... gốc nhiều , khoảng cách từ ảnh mặt người tới không gian mặt nhỏ nhiều so với khoảng cách từ ảnh mặt người tới không gian mặt Dưới ví dụ khác , ta có tập huấn luyện gồm ảnh kích thước 18x27 pixel... xem khoảng cách từ ảnh H đến không gian mặt = xem khoảng cách từ H đến ảnh tập huấn luyện Xét α β hai ngưỡng - s < α H ảnh khuôn mặt ( H đủ gần với không gian mặt ) β ảnh người với H ( H đủ