Luận Văn Nghiên cứu và xây dựng chương trình nhận dạng khuôn mặt sử dụng kỹ thuật PCA

Thảo luận trong 'Viễn Thông' bắt đầu bởi Quy Ẩn Giang Hồ, 4/5/12.

  1. Quy Ẩn Giang Hồ

    Quy Ẩn Giang Hồ Administrator
    Thành viên BQT

    Bài viết:
    3,084
    Được thích:
    23
    Điểm thành tích:
    38
    Xu:
    0Xu
    LỜI NÓI ĐẦU
    Xử lý ảnh là một lĩnh vực nghiên cứu rộng và có rất nhiều ứng dụng trong các mặt của đời sống xã hội. Nhận dạng khuôn mặt là một trong những khía cạnh của xử lý ảnh. Kỹ thuật này cho phép chúng ta nhận diện một khuôn mặt người từ ảnh tĩnh hay từ video bằng cách so sánh với kho dữ liệu có sẵn trong hệ thống. Nhận dạng khuôn mặt được ứng dụng trong lĩnh vực phòng chống tội phạm hoặc xử lý hình ảnh, video trong các studio. Mục đích của đồ án là tìm hiểu nghiên cứu một phương pháp nhận dạng khuôn mặt dùng thuật toán phân tích thành phần cơ bản (Principal Components Analysis). Trong đồ án này sẽ tìm hiểu các vấn đề của bài toán nhận dạng và phát hiện khuôn mặt để từ đó đưa ra thuật toán và xây dựng chương trình nhận dạng. Chương trình được xây dựng bằng Matlab R2009a, các kết quả của chương trình cho thấy tính khả thi của việc áp dụng chương trình vào trong thực tế. Em xin chân thành cảm ơn TS. Nguyễn Tiến Dũng (Bộ môn Điện tử tin học – Khoa Điện tử Viễn Thông – Đại học Bách Khoa Hà Nội) đã trực tiếp hướng dẫn em nhiệt tình, chu đáo giúp em hoàn thành được nhiệm vụ và mục tiêu đồ án đề ra. Đồng thời em cũng xin cảm ơn các bạn sinh viên trong phòng thí nghiệm SIPLAB phòng 618 tầng 6 thư viện Tạ Quang Bửu đã giúp em xây dựng tập cơ sở ảnh. Cuối cùng em xin cảm ơn các thầy cô giáo ở trường Đại học Bách Khoa Hà Nội, trung tâm Đào tạo kỹ sư tài năng, cảm ơn gia đình và bạn bè đã giúp đỡ, động viên em trong suốt thời gian làm đồ án vừa qua.
    TÓM TẮT ĐỒ ÁN
    Nhận dạng khuôn mặt là một lớp bài toán hay trong thị giác máy tính nói chung và xử lý ảnh nói riêng. Nhận dạng được ứng dụng trong nhiều lĩnh vực và liên quan đến kiến thức nhiều ngành khác, vì thế không có công thức chuẩn cho bài toán nhận dạng và cũng không có công thức chuẩn cho việc giải bài toán nhận dạng đó. Tuy nhiên lại có rất nhiều phương pháp giải quyết các nhiệm vụ của bài toán nhận dạng, trong đó mỗi phương pháp thường giải quyết những khía cạnh cụ thể của bài toán và thường được ứng dụng trong một phạm vi nhất định các ứng dụng liên quan. Ở đây ta tập trung đi vào nghiên cứu một phương pháp phổ biến trong nhận dạng khuôn mặt đó là phương pháp phân tích thành phần cơ bản (PCA). Trong phương pháp này, chúng ta sẽ đi tìm các thành phần cơ bản của phân bố mặt, biểu diễn chúng dựa trên các vector đặc trưng, và sau đó mỗi gương mặt trong cơ sở dữ liệu sẽ được biểu diễn xấp xỉ bằng tổ hợp tuyến tính các vector đặc trưng (hay còn gọi là các đặc trưng mặt) ứng các trị riêng lớn nhất sử dụng các trọng số tương ứng. Bằng việc làm giảm số lượng vector đặc trưng biểu diễn cho một khuôn mặt trong không gian mặt, phương pháp này cho phép chúng ta giảm thiểu thời gian tính toán khoảng cách từ không gian mặt để nhận dạng một khuôn mặt trong không gian mặt. Trong đồ án, em đã tập trung nghiên cứu phương pháp PCA ứng dụng vào nhận dạng khuôn mặt và xây dựng một chương trình phần mềm sử dụng Matlab nhằm giải quyết bài toán. Kết quả thu được trong quá trình nhận dạng và phát hiện khuôn mặt cho thấy tính khả thi của phương pháp nếu áp dụng trong thực tế.
    ABSTRACT
    Face recognition is an interesting topic in image processing and computer vision. Recognition covers a wide range of topics which are often related to other disciplines, and consequently there is no standard formulation of “the recognition problem”. Moreover, there is no standard formulation of how recognition problems should be solved. Instead, there exists an abundance of methods for solving various well-defined recognition tasks, where these methods often are specific and developed to apply to a specific range of applications. This thesis focuses only in one well-known method in the field of face recognition called the Principal Components Analysis (PCA). This method finds first the principal components of the distribution of faces which are expressed in terms of eigenvectors, and then each face in a given Database can be approximated by a linear combination of the largest eigenvectors commonly referred as eigen faces using appropriate weights. With reduction of eigen faces for representation of a face image in a dimensional space, this method allows to reduce elapsed time in calculation of the distance from face space in order to recognize a face in the face image. In this thesis, I have studied PCA applied to face recognition and the developed a software in MATLAB for solving this problem. The obtained results proved the applicability of this method in practical recognition problems.
    MỤC LỤC
    LỜI NÓI ĐẦU 1
    TÓM TẮT ĐỒ ÁN 2
    ABSTRACT 3
    MỤC LỤC . 4
    DANH SÁCH CÁC HÌNH VẼ . 6
    DANH SÁCH CÁC BẢNG BIỂU 8
    CÁC THUẬT NGỮ VIẾT TẮT . 9
    MỞ ĐẦU . 10
    CHưƠNG 1: HỆ THỐNG NHẬN DẠNG KHUÔN MẶT VÀ ỨNG DỤNG 11
    1.1. Giới thiệu chung về hệ thống nhận dạng khuôn mặt . 11
    1.1.1. Hệ thống nhận dạng tổng quát 11
    1.1.2. Một số kỹ thuật cơ bản trong nhận dạng 12
    1.1.2.1. Chuyển ảnh màu thành ảnh xám 12
    1.1.2.2. Các bộ lọc không gian 18
    1.1.2.3. Tách biên đối tượng . 23
    1.2. Nhận dạng khuôn mặt người và ứng dụng 28
    CHưƠNG 2: KỸ THUẬT PCA TRONG NHẬN DẠNG KHUÔN MẶT 30
    2.1. Giới thiệu chung 30
    2.2. Một số khái niệm cơ bản . 35
    2.2.1. Vector mặt . 35
    2.2.2. Không gian ảnh . 35
    2.3. Thuật toán 37
    2.3.1. Tính toán các đặc trưng bằng PCA trên tập cơ sở dữ liệu 39
    2.3.1.1. Nhận các khuôn mặt Ii (i=1 M) . 39
    2.3.1.2. Tính toán giá trị trung bình 39
    2.3.1.3. Trừ đi giá trị trung bình 40
    2.3.1.4. Tính ma trận hiệp biến . 40
    2.3.1.5. Tính các trị riêng và vector đặc trưng của ma trận hiệp biến 40
    2.3.1.6. Lựa chọn các thành phần và xây dựng vector đặc trưng . 41
    2.3.2. Nhận dạng khuôn mặt sử dụng các đặc trưng (Face Recoginition) 42
    Đồ án tốt nghiệp đại học
    Nguyễn Trọng Thành – ĐTVT - KSTN - K50 5
    2.3.2.1. Chuẩn hóa, trừ đi vector trung bình . 42
    2.3.2.2. Đưa vào không gian đặc trưng . 42
    2.3.2.3. Tương ứng với . 42
    2.3.2.4. Tính khoảng cách . 43
    2.3.2.5. So sánh khoảng cách ngưỡng và rút ra kết luận 43
    2.3.3. Phát hiện khuôn mặt (Face Detection) . 44
    2.3.3.1. Chuẩn hóa trừ đi vector trung bình 44
    2.3.3.2. Đưa vào không gian đặc trưng . 44
    2.3.3.3. Tính khoảng cách . 44
    2.3.3.4. So sánh rút ra kết luận 44
    CHưƠNG 3: XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT . 45
    3.1. Tập cơ sở dữ liệu . 45
    3.2. Lưu đồ thuật toán và cơ sở lập trình 51
    3.2.1. Tính toán các đặc trưng mặt . 51
    3.2.2. Nhận dạng khuôn mặt . 56
    3.2.3. Phát hiện khuôn mặt (face detection) . 60
    3.3. Kết quả và đánh giá . 62
    3.3.1. Tính khoảng cách khi số lượng vector đặc trưng thay đổi . 62
    3.3.2. Đánh giá độ chính xác 64
    3.4. Giao diện và hoạt động của chương trình 66
    3.5. Định hướng phát triển hệ thống nhận dạng khuôn mặt trong tương lai 78
    KẾT LUẬN . 83
    TÀI LIỆU THAM KHẢO . 84
    BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT 85
     

    Các file đính kèm:

Đang tải...