Thạc Sĩ Thiết kế SoPC cho ứng dụng nhận dạng mặt người dùng phân tích thành phần chính (PCA) và lượng tử hóa

Thảo luận trong 'Khoa Học Tự Nhiên' bắt đầu bởi Bích Tuyền Dương, 7/11/12.

  1. Bích Tuyền Dương

    Bài viết:
    2,590
    Được thích:
    0
    Điểm thành tích:
    0
    Xu:
    0Xu
    GIỚI THIỆU ĐỀ TÀI

    Thời gian gần đây cùng với sự phát triển của công nghệ hiện đại, các lĩnh vực ứng dụng ngày càng đa dạng và phong phú đã mang lại những hiệu quả cực kỳ thiết thực. Ngày nay với xu hướng thiết kế ứng dụng nhằm tích hợp toàn bộ hệ thống trên một chip (System On Chip-SoC) với giá thành rẻ đang được nghiên cứu và đầu tư
    rộng rãi không chỉ ở Việt Nam mà trên toàn thế giới.Với sự ra đời của công nghệ FPGA (Field Programmable Gate Array), một loại linh kiện logic khả trình kết hợp với kỹ thuật SoPC (System On Programmable Chip) đã cho phép người thiết kế linh hoạt hơn trong quá trình cài đặt các ứng dụng chạy thực tế và kiểm tra sản phẩm trước và sau khi thiết kế IC (Integrated Circuit).
    Ngày nay với sự ra đời của công nghệ SoC (System On Chip) đã tăng cường khả năng xử lý cũng như tích hợp hệ thống trên một chip cho các ứng dụng phức tạp. SoC tích hợp các khối phần cứng riêng rẽ vào một Chip với kiến trúc hoạt động song song và độc lập nhau [1][2]. Do đó, luồng dữ liệu sẽ được xử lý song song dẫn đến tốc độ hệ thống được tăng lên. Bản chất của SoC là sử dụng CPU nhúng như một trung tâm xử lý phát các tín hiệu để điều khiển các bộ gia tốc (hay các khối xử lý riêng rẽ) hoạt động. Ở đây CPU chỉ đóng vai trò phát tín hiệu điều khiển mà không xử lý dữ liệu nên tốc độ hệ thống được cải thiện rất đáng kể. Đặc điểm này được xem là điểm khác biệt lớn giữa một SoC và một máy tính cá nhân (PC). Ngoài ra, hệ thống SoC còn có giá thành thấp, tiết kiệm diện tích và mức tiêu thụ công suất thấp. Một hệ thống SoC được nghiên cứu trong đề tài là hệ thống SoPC được tích hợp trên FPGA. Một số ưu điểm của một hệ thống SoPC trên FPGA so với một máy tính cá nhân:
    Tiết kiệm điện năng
    Tốc độ xử lý và cấu hình nhanh
    Nhỏ, gọn, ít chiếm diện tích
    Thời gian khởi động nhanh và có thể khởi động lại dễ dàng.
    Nhận dạng nói chung và nhận dạng mặt người nói riêng là những ứng dụng khá phổ biến đã và đang được nghiên cứu rất rộng rãi. Nhiều thuật toán khác nhau đã ra đời để cải tiến chất lượng của kỹ thuật nhận dạng [16] như: Neural Network, Hidden Markov Model, PCA (Principle Component Analysis), ICA (Independent Component Analysis) Tuy nhiên các thuật toán này hầu hết đều được mô phỏng và chạy trên các phần mềm: Matlab, Visual C++. Ngoài ra để áp dụng thực tế hầu hết các thuật toán này được lập trình và khởi động cùng với một hệ thống máy tính hoặc được cài đặc vào các thiết bị điện thoại khá đắt tiền. Với thực tế trên, tác giả chọn đề tài “Thiết kế SoPC cho ứng dụng nhận dạng mặt người dùng phân tích thành phần chính (PCA) và lượng tử hóa vector (VQ)”. Tác giả hi vọng với đề tài này sẽ tạo ra được một hệ thống nhận dạng mặt người với tốc độ xử lý nhanh, tích hợp trên một chip duy nhất, giá thành thấp và kết cấu hệ thống đơn giản nhằm có thể áp dụng rộng rãi vào trong thực tiễn.
    BỐ CỤC LUẬN VĂN
    Chương 1: Phần tổng quan.
    Mục tiêu chính của chương này sẽ giới thiệu một cách tổng quan nhất về bài toán nhận dạng mặt người. Qua đó cũng trình bày một số thuật toán nhận dạng mặt người được sử dụng rộng rãi nhất thời gian gần đây.
    Chương 2: Phân tích thành phần chính
    Phần này tập trung giới thiệu các đặc điểm của thuật toán PCA và cách sử dụng thuật toán PCA trong bài toán nhận dạng mặt người.
    Chương 3: Công cụ SoPC Builder
    Giới thiệu công cụ SoPC của hãng Altera trên công nghệ FPGA. Chương này sẽ nêu rõ các đặc điểm của công cụ SoPC. Cách khởi tạo và hoạt động một thành phần mới trong hệ thống SoPC.
    Chương 4: Hệ thống SoPC cho ứng dụng nhận dạng mặt người
    Trình bày thuật toán nhận dạng mặt người trên phần cứng. Mục tiêu chính của chương này sẽ mô tả rõ đặc điểm và cách hoạt động của từng khối thiết kế trong hệ thống nhận dạng mặt người.
    Chương 5: Kết quả thực nghiệm
    Chương này trình bày các kết quả thực nghiệm cho cả phần cứng và phần mềm.
    Chương 6: Kết luận và hướng phát triển của đề tài.
    MỤC LỤC

    MỤC LỤC 1
    GIỚI THIỆU ĐỀ TÀI .4
    CHƯƠNG 1: TỔNG QUAN BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI .7
    1.1. TỔNG QUAN BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI .7
    1.2. CÁC PHƯƠNG PHÁP NHẬN DẠNG MẶT NGƯỜI .7
    1.2.1. Mô hình Markov ẩn (Hidden Markov Model) 7
    1.2.2. Support vector Machines (SVM) .7
    1.2.3. Mạng neural .8
    1.2.4. Principal Component Analysic (PCA) 8
    1.2.5. Linear Discriminant Analysis (LDA) 8
    1.2.6. Independent Component Analysis (ICA) 8
    1.3. CÁC BƯỚC THỰC HIỆN BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI .9
    1.4. KHÓ KHĂN VÀ THÁCH THỨC TRONG BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI 10
    1.5. ỨNG DỤNG CỦA BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI 10
    CHƯƠNG 2: PHÂN TÍCH THÀNH PHẦN CHÍNH 11
    2.1. THÀNH PHẦN CHÍNH 11
    2.2. CHỌN THÀNH PHẦN CHÍNH 11
    2.2.1. Phương pháp tích lũy phần trăm trên tổng số biến .12
    2.2.2. Phương pháp dựa trên kích thước của những biến trong những thành phần chính 12
    2.3. CÁC BƯỚC THỰC HIỆN BÀI TOÁN PCA 13
    2.3.1. Chuẩn hóa về kích thước .13
    2.3.2. Thực hiện phép trừ trung bình .13
    2.3.3. Tạo ma trận hiệp phương sai .13
    2.3.4. Tìm các trị riêng và vector riêng tương ứng 14
    2.3.5. Xác định các thành phần và vector đặc trưng 14
    2.3.6. Hình thành tập dữ liệu 14
    Trần Thị Điểm
    2
    CHƯƠNG 3: CÔNG CỤ SOPC BUILDER 16
    3.1. KHÁI NIỆM SOPC .16
    3.2. SOPC BUILDER .16
    3.3. AVALON BUS .16
    3.3.1. Avalon bus module .16
    3.3.2. Các thiết bị ngoại vi Avalon 17
    3.4 COMPONENT TRONG SOPC .17
    CHƯƠNG 4: HỆ THỐNG SOPC CHO ỨNG DỤNG NHẬN DẠNG MẶT NGƯỜI 18
    4.1. THUẬT TOÁN PHẦN CỨNG CHO ỨNG DỤNG NHẬN DẠNG MẶT NGƯỜI 18
    4.1.1. Tập dữ liệu 18
    4.1.2. Tìm mặt trung bình .19
    4.1.3. Tính sự sai lệch giữa từng mặt người và mặt trung bình 19
    4.1.4. Tìm trị riêng và vector riêng .19
    4.1.5. Thực hiện phép quay PCA 20
    4.1.6. Tính khoảng cách Euclide 21
    4.2. HỆ THỐNG SOPC CHO ƯNG DỤNG NHẬN DẠNG MẶT NGƯỜI 22
    Toàn bộ hoạt động của khối tính trung bình được mô tả cụ thể trong hình 4.4.23
    Hình 4.4: Sơ đồ khối tính trung bình 23
    Hình 4.5: Sơ đồ khối tính độ dư thừa .23
    Hình 4.6: Sơ đồ khối bộ nhân .24
    4.2.2. Mạch tính khoảng cách Euclide và tìm vị trí trung khớp nhất .24
    CHƯƠNG 5: KẾT QUẢ THỰC NGHIỆM 26
    5.1. KẾT QUẢ THUẬT TOÁN PCA ĐƯỢC KIỂM NGHIỆM TRÊN PHẦN MỀM 26
    5.2. KẾT QUẢ THỰC NGHIỆM TRÊN PHẦN CỨNG .26
    5.2.1. Kết quả tổng hợp và phân tích mạch 26
    5.2.2. Một số kết quả kiểm nghiệm trên phần cứng .27
    5.3. SO SÁNH HIỆU QUẢ THỰC HIỆN TRÊN PHẦN CỨNG VÀ TRÊN PHẦN MỀM 28
    5.3.1. Khối vector quantization 28
    5.3.2. Các bộ gia tốc cho thuật toán PCA .28
    5.3.3. Toàn bộ hệ thống .29
    CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 31
    6.1. KẾT LUẬN .31
    6.2. HƯỚNG PHÁT TRIỂN 31
    TÀI LIỆU THAM KHẢO 33
     

    Các file đính kèm:

Đang tải...