Mở đầu 1.1 Giới thiệu chung Hiện nay, cùng với sự phát triển như vũ bão của công nghệ thông tin nói chung và sự phát triển trong lĩnh vực thị giác máy nói riêng, các hệ thống phát hiện và nhận dạng mặt người đang ngày càng có nhiều ứng dụng trong thực tế như vấn đề an ninh, nhận dạng người dùng trong các hệ thống bảo mật, nhận dạng người trên các bằng lái xe, hộ chiếu, nhận dạng người trong các hệ thống tương tác người-máy, trong lĩnh vực giải trí… Đặc biệt sau thảm họa ngày 11/9, các chính phủ trên toàn thế giới đã bắt đầu chú ý hơn tới các mức an ninh ở sân bay và biên giới. Ngân sách hằng năm của các nước đã tăng lên nhiều cho các kỹ thuật hiện đại để xác định, nhận dạng và lần theo các đối tượng nghi vấn. Nhu cầu tăng lên trong các ứng dụng này đã giúp các nhà khoa học có thêm quỹ để phát triển các dự án nghiên cứu. Mặc dù việc nhận dạng mặt người không thể chính xác được như các phương pháp nhận dạng khác như nhận dạng vân tay, nhưng nó vẫn nhận được sự quan tâm lớn của các nhà nghiên cứu trong lĩnh vực thị giác máy.
Lý do chủ yếu là trên thực tế, mặt người vẫn là cách truyền thống để con người nhận ra nhau. Một hệ thống nhận dạng mặt người điển hình bao gồm các thành phần chính như hình 1. Ảnh mặt Trích chọn Nhận dạng Người người đặc trưng mặt người nhận dạng Hình 1. Mô hình hệ thống nhận dạng mặt người Nhận dạng ảnh mặt người sử dụng mạng nơron – Võ Phúc Nguyên 7 Có hai hướng tiếp cận chính làm hạt nhân của các kỹ thuật phân tích đặc trưng mặt người: hướng tiếp cận hình học và hướng tiếp cận hình ảnh.
• Hướng tiếp cận hình học sử dụng việc ánh xạ không gian các đặc trưng mặt người. Mặt người được phân loại theo khoảng cách hình học, theo đường bao và theo các góc giữa các điểm. • Hướng tiếp cận hình ảnh bao gồm việc xây dựng các mẫu từ những đặc trưng mặt người. Mẫu của các đặc trưng nổi bật, hoặc thậm chí là toàn khuôn mặt được thiết lập, việc nhận dạng được thực hiện bằng cách duyệt các khuôn mặt rồi tìm mặt nào khớp nhất với mẫu.
Hiện nay các hệ thống nhận dạng mặt người vẫn đang tiếp tục được phát triển. Dưới đây là một số phương pháp trích chọn đặc trưng: - Mặt riêng (Eigenface) - Mô hình Markov ẩn - Phân tích thành phần chính (PCA) Thuật toán Eigenface rất phổ biến và được sử dụng rộng rãi do sự đơn giản và hiệu quả tính toán. Thuật toán sử dụng cách tiếp cận lý thuyết thông tin trong việc mã hóa các ảnh mặt người và xác định các vector riêng tương ứng với giá trị riêng lớn nhất của ma trận hiệp phương sai của ảnh. Sau đó, đối với mỗi nhóm ảnh của một người, ta tính vector trung bình, một ngưỡng sẽ được chọn để xác định khoảng cách chấp nhận được cực đại từ một ảnh đến nhóm ảnh giúp nhận dạng những ảnh mới.
Mô hình Markov ẩn phân loại một đặc trưng mặt người bằng tính chất của chuỗi Markov. Một dãy ngẫu nhiên các biến lấy trên các giá trị điểm ảnh tương ứng tạo nên chuỗi Markov, nếu xác suất để hệ thống đạt trạng thái xn+1 tại thời điểm n+1 chỉ phụ thuộc vào xác suất để hệ thống đạt trạng thái x n tại Nhận dạng ảnh mặt người sử dụng mạng nơron – Võ Phúc Nguyên 8 thời điểm n. Trong một chuỗi Markov, việc chuyển hệ thống từ trạng thái này sang trạng thái khác tương ứng với một xác suất nào đó, nhưng kết quả của một ký hiệu ra lại xác định được trước. Như vậy, kết quả là một phân bố xác suất của tất cả các ký hiệu ra tại mỗi trạng thái và kết quả này được dùng để so sánh giữa hai khuôn mặt.
Trong phương pháp phân tích thành phần chính (PCA − còn gọi là biến đổi Karhunen-Loeve), tập dữ liệu được biểu diễn lại với số đặc trưng ít hơn đồng thời giữ được hầu hết các thông tin quan trọng nhất của dữ liệu. PCA thường được sử dụng cùng phương pháp mặt riêng. Tập con các vector riêng được dùng làm các vector cơ sở của một không gian con, trong đó ta có thể so sánh với các ảnh trong cơ sở dữ liệu để nhận dạng các ảnh mới. Các vector cơ sở này còn được gọi là các thành phần chính của cơ sở dữ liệu ảnh.
Mạng nơron được sử dụng rộng rãi trong các hệ thống nhận dạng mặt người. Kỹ thuật mạng nơron mô phỏng hoạt động của các nơron trong bộ não người. Mạng nơron có khả năng điều chỉnh các trọng số dựa trên các mẫu học trong quá trình huấn luyện. Kết quả là mạng đạt được hiệu quả cao trong việc phân loại các lớp, dựa trên dữ liệu mẫu khả tách tuyến tính hoặc phi tuyến.2 Bố cục luận văn Mặc dù các hệ thống nhận dạng mặt người hiện tại đã đạt được hiệu quả khá cao, tuy nhiên chúng vẫn còn hạn chế là chỉ tập trung vào một hay một vài phương pháp trích chọn đặc trưng.
Có hệ thống chỉ thực hiện nhận dạng dựa trên các đặc điểm về hình học của mặt người hoặc có hệ thống chỉ dựa trên các đặc điểm thống kê. Trong luận văn này, việc trích chọn đặc trưng sẽ được thực hiện dựa trên những đặc điểm thống kê của khuôn mặt (cụ thể là phương pháp phân tích Nhận dạng ảnh mặt người sử dụng mạng nơron – Võ Phúc Nguyên 9 thành phần chính – PCA và phương pháp phân tách tuyến tính – LDA) và những đặc điểm về hình thái của khuôn mặt. Chương 2 trình bày về các phương pháp trích chọn đặc trưng. Chương 3 trình bày về mạng noron với thuật toán học lan truyền ngược lỗi, được dùng để phân loại ảnh.
Chương 4 trình bày cụ thể việc thiết kế hệ thống và đánh giá hiệu quả thực hiện. Cuối cùng là phần kết luận. Nhận dạng ảnh mặt người sử dụng mạng nơron – Võ Phúc Nguyên 10 Chương 2: Trích chọn đặc trưng Chương này sẽ trình bày về các phương pháp trích chọn đặc trưng được sử dụng trong luận văn. Mục đích thứ nhất của việc trích chọn đặc trưng là giảm số chiều của dữ liệu.
Dữ liệu ảnh mặt người có số điểm ảnh lớn (cỡ vài nghìn đến vài chục nghìn điểm ảnh), do đó cần có một phép biến đổi để giảm lượng thông tin sử dụng để biểu diễn, đồng thời không làm mất quá nhiều thông tin quan trọng. Mục đích thứ hai của việc trích chọn đặc trưng là giúp phân biệt tốt hơn đối với các mẫu dữ liệu. Các ảnh mặt người sẽ được biểu diễn trong một không gian mới sao cho có thể làm nổi bật được sự khác biệt giữa các ảnh với nhau. Các phần sau sẽ trình bày về phương pháp phân tích thành phần chính, phương pháp phân tách tuyến tính và phương pháp xử lý hình thái ảnh mặt người.1 Phương pháp phân tích thành phần chính Phương pháp phân tích thành phần chính (PCA – Principal Components Analysis) là một kỹ thuật thống kê hữu ích trong các ứng dụng nhận dạng mặt người và nén ảnh, đồng thời đây cũng là một kỹ thuật phổ biến cho việc tìm kiếm các mẫu trong không gian dữ liệu có số chiều lớn.
Mục đích của phương pháp phân tích này có thể diễn đạt ngắn gọn như sau: Ảnh gốc có kích thước 112×92 (10304 điểm ảnh). Những ảnh này cần được rút gọn sao cho lượng thông tin dùng để biểu diễn ảnh đó giảm đi, đồng thời không làm mất những đặc điểm quan trọng nhất của khuôn mặt. Kết quả của việc phân tích này sẽ đạt được như hình 2. Nhận dạng ảnh mặt người sử dụng mạng nơron – Võ Phúc Nguyên 11 Hình 2.
Ví dụ minh họa PCA Ảnh gốc cần 10304 giá trị để biểu diễn trong khi ảnh biến đổi chỉ cần 49 giá trị.1 Cơ sở toán học a. Lý thuyết thống kê Các nhà thống kê thường quan tâm đến việc lấy mẫu trên một tập dữ liệu. Ví dụ về cuộc bầu cử, tập dữ liệu là toàn bộ dân số trong một đất nước, trong khi đó mẫu là một tập con của dân số nhà thống kê muốn đánh giá. Một vấn đề lớn của thống kê học là thông qua phương pháp đánh giá một mẫu của dân số, kết quả thống kê cho phép đánh giá được xu hướng chính của toàn bộ dân số.
Xét một tập ví dụ X = [1 2 4 6 12 15 25 45 68 67 65 98]. Chỉ số dưới của ký hiệu X được dùng để trỏ tới một số cụ thể trong tập. Ví dụ X3 trỏ tới số thứ ba trong X với giá trị là 4. Lưu ý rằng X1 là số đầu tiên trong X.
Ngoài ra ký hiệu n còn được sử dụng để chỉ tổng số các phần tử trong tập X. Giá trị trung bình của mẫu là: = (2.1) Nhận dạng ảnh mặt người sử dụng mạng nơron – Võ Phúc Nguyên 12 Giá trị trung bình không thể hiện được nhiều về dữ liệu ngoại trừ điểm trung bình. Ví dụ, hai tập sau có cùng một giá trị trung bình là 10, nhưng chúng hoàn toàn khác nhau: [0 8 12 20] và [8 9 11 12] Sự khác nhau đó là sự trải rộng của dữ liệu. Độ lệch chuẩn của tập dữ liệu sẽ đánh giá được sự trải rộng của dữ liệu.
Độ lệch chuẩn là khoảng cách trung bình từ điểm trung bình của dữ liệu đến các điểm. Công thức tính như sau: ( ) = ( 1) (2.2 ) Câu hỏi đặt ra: “Vì sao lại sử dụng giá trị (n −1) mà không phải là n?” Nguyên nhân là, nếu mẫu của tập dữ liệu được lấy là tập con của thế giới thực thì phải sử dụng (n −1) vì giá trị nhận được gần với độ lệch chuẩn hơn so với sử dụng n. Tuy nhiên, nếu tính độ lệch chuẩn cho toàn bộ dân số, giá trị cần dùng là n chứ không phải (n−1). Với hai tập dữ liệu trên, việc tính độ lệch chuẩn được thực hiện như bảng 2.
Tập thứ nhất có độ lệch chuẩn lớn hơn do dữ liệu trải ra xa hơn so với điểm trung bình. Một ví dụ khác, tập [10 10 10 10] cũng có điểm trung bình là 10, nhưng độ lệch chuẩn lại bằng 0, bởi vì tất cả các số là giống nhau. Không số nào chệch ra khỏi điểm trung bình. Phương sai là một hàm đo khác về sự trải rộng của dữ liệu trong một tập.
Thực tế nó gần như giống hoàn toàn với độ lệch chuẩn: ( ) = ( 1) (2.