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
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TRẦN THỊ ĐIỂM 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) Chuyên ngành: Vật Lý Điện Tử-Hướng Kỹ Thuật Mã số: 60 44 03 LUẬN VĂN THẠC SĨ VẬT LÝ VÔ TUYẾN VÀ ĐIỆN TỬ- KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. NGUYỄN HỮU PHƯƠNG THÀNH PHỐ HỒ CHÍ MINH-NĂM 2009 1 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 Trần Thị Điểm 3 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 Trần Thị Điểm 4 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: 9 Tiết kiệm điện năng 9 Tốc độ xử lý và cấu hình nhanh 9 Nhỏ, gọn, ít chiếm diện tích Trần Thị Điểm 5 9 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ần Thị Điểm 6 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. Trần Thị Điểm 7 CHƯƠNG 1: TỔNG QUAN BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI 1.1. TỔNG QUAN BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI Nhận dạng nói chung, nhận dạng mặt người nói riêng là một bài toán đã và đang được nghiên cứu rất rộng rãi. Các nghiên cứu đi từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt người nhìn thẳng vào thiết bị thu hình và đầu ở tư thế thẳng đứng trong ảnh trắng đen. Cho đến bài toán mở rộng với nhiều trường hợp phức tạp hơn như ảnh màu, nhiều khuôn mặt trong cùng một ảnh, nhiều tư thế thay đổi trong ảnh… Không những thế bài toán còn mở rộng cả phạm vi nghiên cứu: từ môi trường xung quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường xung quanh rất phức tạp (như trong thực tế). 1.2. CÁC PHƯƠNG PHÁP NHẬN DẠNG MẶT NGƯỜI 1.2.1. Mô hình Markov ẩn (Hidden Markov Model) Mô hình Markov ẩn phân loại đặc điểm mặt dựa vào các thuộc tính của chuỗi Markov. Một chuỗi các biến ngẫu nhiên được lấy ra dựa vào các giá trị pixel tương ứng tạo ra chuỗi Markov nếu xác suất hệ thống ở trong trạng thái X n+1 ứng với thời điểm n+1 phụ thuộc vào xác suất hệ thống ở trong trạng thái này ứng với thời điểm n. Trong chuỗi Markov sự chuyển dời từ trạng thái này sang trạng thái khác có thể xảy ra, nhưng kết quả của các kí tự ngõ ra mới là quyết định. Mặc khác, trong mô hình Markov ẩn, đặc điểm đối tượng ngõ ra phụ thuộc theo xác suất. Do đó, kết quả là chúng ta có một phân bố xác suất của các đối tượng ngõ ra ở mỗi trạng thái. Kết quả này dùng để thực hiện việc so sánh giữa hai khuôn mặt [16]. 1.2.2. Support vector Machines (SVM) Support vector Machines (SVM) thực tế là phương pháp phân loại nhị phân. Bằng cách tạo ra các vector hỗ trợ. Các vector hỗ trợ bao gồm một tập con nhỏ của các dữ liệu huấn luyện được trích ra bằng thuật toán. Mục tiêu của SVM là tìm ra siêu mặt phẳng đặc biệt để có ranh giới phân biệt lớn nhất [16]. Trần Thị Điểm 8 1.2.3. Mạng neural Mạng neural được sử dụng khá rộng rãi để nhận dạng mặt người bằng cách kết hợp với các phương pháp liệt kê ở trên [16]. Kỹ thuật mạng neural là mô phỏng cách thức các neural hoạt động trong não người. Điều này được xem như lý do chính cho vai trò của nó trong nhận dạng mặt người. Một mạng neural có khả năng hiệu chỉnh các trọng số theo sự sai biệt trong quá trình huấn luyện. 1.2.4. Principal Component Analysic (PCA) PCA sử dụng phương pháp trích đặc trưng từ phép biến đổi Karhunen-Loeve. Nguyên tắc của phương pháp PCA là tìm ra một không gian đặc trưng mới với số chiều giảm hơn nhiều so với số chiều ban đầu nhưng vẫn đảm bảo đặc tính của tập dữ liệu. Kết hợp tuyến tính các biến được tạo ra ta được các vector tương ứng hay các thành phần chính. Số lượng biến được tạo ra ít hơn số lượng biến trong cơ sở dữ liệu ban đầu. Bài toán nhận dạng mặt người sử dụng kỹ thuật này được áp dụng khá rộng rãi và đạt được hiệu quả cao [8] [9]. Lý thuyết về ứng dụng của PCA sẽ được trình bày chi tiết ở chương 2. 1.2.5. Linear Discriminant Analysis (LDA) LDA là phương pháp khắc phục được hạn chế của phương pháp PCA là sự giới hạn kích thước của tập dữ liệu bằng việc đưa vào các biệt số tiêu chuẩn [11]. LDA cực đại hoá tỷ số ph ương sai giữa các lớp (between-class) và phương sai trong một lớp (within-class) trong bất kỳ tập dữ liệu nào. Vì vậy phương pháp này đảm bảo sự phân tách tối đa. 1.2.6. Independent Component Analysis (ICA) Phân tích thành phần độc lập là trường hợp tổng quát của phân tích thành phần chính [10]. Bài toán phân tích thành phần chính dựa vào mối quan hệ giữa những pixel trong tập dữ liệu, những xác suất bậc cao xem như không chứa nhiều thông tin và được bỏ qua. Tuy nhiên, trong bài toán nhận dạng những thông tin quan trọng có thể chứa trong những mối quan hệ xác suất bậc cao của những pixels trong ảnh. Để tìm ra không gian nhạy với những xác suất bậc cao, phương pháp ICA đã ra đời. ICA trích những thành phần chính của thông tin tối ưu bằng phép biến đổi qua Trần Thị Điểm 9 những neural từ hàm sigmoidal. 1.3. CÁC BƯỚC THỰC HIỆN BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI Quá trình nhận dạng chia làm 2 phần [7] như hình 1.1 và hình 1.2. Trong đó: X: tập dữ liệu gồm nhiều tấm ảnh khác nhau của nhiều đối tượng khác nhau. Tập ảnh này được sắp xếp lại vào trong một ma trận X với mỗi ảnh tương ứng với một vector cột. X mean : ảnh trung bình của tập dữ liệu X % : Ma trận chứa giá trị trừ giữa ảnh trung bình với từng ảnh trong tập dữ liệu X. W T : Ma trận chiếu X g : dữ liệu từng tấm ảnh (như là một vector). ⋅ 1 X ~ g X ⋅ 1 )( meang T g XxWP −= T W Hình 1.1: Quá trình huấn luyện [7] ⋅ 1 XWP T x ~ = )( )( )( 0 20 10 G PPd PPd PPd M X ~ X p 1 p 2 p g p Hình 1.2: Quá trình nhận dạng [7] Trần Thị Điểm [...]... SOPC CHO ỨNG DỤNG NHẬN DẠNG MẶT NGƯỜI 4.1 THUẬT TOÁN PHẦN CỨNG CHO ỨNG DỤNG NHẬN DẠNG MẶT NGƯỜI Toàn bộ thuật toán cho hệ thống nhận dạng mặt người được mô tả theo hình 4.1 Hình 4.1: Thuật toán phần cứng cho hệ thống nhận dạng mặt người Nguyên tắc hoạt động Bước 1: Từ tập ảnh đầu vào (lấy từ camera hoặc tập dữ liệu có sẵn) ta tìm ảnh trung bình cho toàn bộ tập dữ liệu Bước 2: Thực hiện việc chuẩn hóa. .. cách thiết kế codeword một cách dễ dàng phù hợp với từng ứng dụng khác nhau [1][2] 4.2 HỆ THỐNG SOPC CHO ƯNG DỤNG NHẬN DẠNG MẶT NGƯỜI Hình 4.3: SoPC cho ưng dụng nhận dạng mặt người Toàn bộ hệ thống được tính hợp trên một chip duy nhất Tất cả các thành phần được xem như những accelerator kết nối với CPU CPU đóng vai trò tạo các các tín hiệu điều khiển cho hệ thống hoạt động Hệ thống nhận dạng mặt người. .. trên phần cứng Hình 5.1: Kết quả thực nghiệm trên phần cứng cho trường hợp 1 Trần Thị Điểm 28 Hình 5.2: Kết quả thực nghiệm trên phần cứng cho trường hợp 2 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 Như chúng ta biết một quá trình xử lý trên phần cứng tối ưu sẽ cho kết quả tốt hơn khi thực thi trên phần mềm Ngày nay với công nghệ hiện đại, rất nhiều hãng ASIC chuyên dùng đã thiết kế. .. trực tiếp từ bên ngoài đưa vào cơ sở dữ liệu Xây dựng mô hình ứng với tập dữ liệu lớn hơn Thiết kế hệ thống theo kiểu nhiều CPU Nếu được đề tài cần được thiết kế theo kiểu 1 CPU traning và 1 CPU dùng để nhận dạng Trần Thị Điểm 33 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Trần Thị Điểm, Tô Đình Thi, Huỳnh Hữu Thuận, “Thực Hiện SoPC Cho Ứng Dụng Nén và Nhận Dạng Dùng Lượng Tử Hóa VecTor , Hội Nghị Khoa Học Trường... CHƯƠNG 5: KẾT QUẢ THỰC NGHIỆM 5.1 KẾT QUẢ THUẬT TOÁN PCA ĐƯỢC KIỂM NGHIỆM TRÊN PHẦN MỀM Kết quả thực nghiệm cho thuật toán nhận dạng bằng phần mềm được ghi nhận lại trong bảng sau: Tập dữ liệu Số người Số trạng thái Số thành Kết quả nhận khảo sát cho 1 người phần chính dạng dữ lại AT&T (ORL) 40 400 5->15 85%->95% Yale 10 90 5 98,8% Grimace, Face 20 20 5 100% 96, hoặc Face 95 Bảng 5.1: Kết quả nhận dạng. .. người Công việc nhận dạng có thể ở trong môi trường bình thường cũng như trong bóng tối (sử dụng camera hồng ngoại) Hệ thống quan sát theo dõi và bảo vệ Các hệ thống camera sẽ xác định đâu là con người và theo dõi con người đó xem họ có vi phạm gì không, ví dụ xâm phạm khu vực nào không được vào Trần Thị Điểm 11 CHƯƠNG 2: PHÂN TÍCH THÀNH PHẦN CHÍNH Phân tích thành phần chính là một kỹ thuật phân tích. .. thống trên chip bao gồm các thành phần như CPU, giao tiếp bộ nhớ, các thiết bị ngoài chuẩn và cả các thiết bị ngoài do người dùng tự định nghĩa SoPC Builder còn cho phép người dùng tuỳ chọn giao tiếp với các thành phần độc lập của module hệ thống SoPC sẽ kết nối tất cả các thành phần này lại và tạo ra một module hệ thống duy nhất, tự động tạo ra các kết nối cần thiết để nối các thiết bị lại với nhau 3.3... VQ linh hoạt dùng khoảng cách Euclide Sử dụng các kỹ thuật SIMD, Pipeline, LUT, các bộ nhân đơn giản hóa Tốc độ cao và được tích hợp thành một bộ gia tốc cho phần cứng trong SoPC 4 Kết quả nhận dạng hoàn toàn trùng khớp với kết quả đã được kiểm nghiệm trên phần mềm Đề tài là một bước tiến để thực hiện một chip ASIC nhận dạng áp dụng cho thực tế Hi vọng với nghiên cứu này sẽ đóng góp vào sự phát triển... tốc cho thuật toán PCA, phần 2 là khối vector quantization, nên đề tài tập trung so sánh kết quả cho từng phần và cho toàn bộ hệ thống 5.3.1 Khối vector quantization Ta thấy thời gian thực hiện trên phần cứng cho toàn bộ khối xử lý vector quantization chiếm thời gian bằng khoảng 1/4 lần thời gian thực hiện trên phần mềm Có được hiệu quả như vậy là do khối phần cứng vector quantization được thiết kế. .. chấp nhận và số thành phần chính giữ lại Đã và đang có rất nhiều công trình nghiên cứu để tìm ra giải pháp tối ưu cho việc giữ lại bao nhiêu thành phần chính [12] Một số nghiên cứu được nêu ra như: 2.2.1 Phương pháp tích lũy phần trăm trên tổng số biến Dựa trên tổng số biến có trong tập dữ liệu ban đầu, từ trên kết quả thực nghiệm tác giả nhận xét và đưa ra công thức cho việc giữ lại bao nhiêu thành phần . 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. GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TRẦN THỊ ĐIỂM 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. 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