Đăng ký Đăng nhập
Trang chủ Xây dựng hệ thống nhận dạng khuôn mặt và hỗ trợ phân tích thói quen khách hàng...

Tài liệu Xây dựng hệ thống nhận dạng khuôn mặt và hỗ trợ phân tích thói quen khách hàng

.PDF
62
23
136

Mô tả:

XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT & HỖ TRỢ PHÂN TÍCH THÓI QUEN KHÁCH HÀNG Học viên: Trương Quốc Tuấn Chuyên ngành: Khoa học máy tính Mã số:102150319. Khóa: K31. Trường Đại học Bách khoa – ĐHĐN Tóm tắt – Việc nhận dạng khuôn mặt kết hợp với trí tuệ nhân tạo (học máy) để dự đoán và hỗ trợ phân tích các thói quen của khách hàng là một trong những ứng dụng thiết thực và được áp dụng rộng rãi dần trong tương lai. Nghiên cứu này nhằm áp dụng cho khách sạn để thu thập dữ liệu của khách hàng khi vào, nhằm tăng cường bảo mật, cảnh báo, dự báo cho khách sạn với khách hàng đó với tình trạng là bình thường hoặc bất thường. Từ việc áp dụng SDK Intel RealSense để nhận diện khuôn mặt, tác giả đã khái quát mô hình, kỹ thuật trong việc nhận diện khuôn mặt. Cùng với áp dụng mô hình học máy thông qua phương pháp hồi quy tuyến tính để cho ra kết quả dự đoán. Trong đề tài nghiên cứu này, tác giả đã tóm tắt các kết quả đã đạt được và đưa ra hướng phát triển tiếp theo. Từ khóa – nhận diện khuôn mặt; thói quen, hồi quy tuyến tính, SDK Intel Realsense, học máy. BUILDING THE FACE RECOFNITION & SUPPORT THE ANALYSIS OF CUSTOMER HABITS Abstract - Facial recognition combined with artificial intelligence (machine learning) to predict and support the analysis of customer habits is one of the most practical and widely adopted applications in the future. This research aims to apply to the hotel to collect customer data on arrival, to enhance the hotel's security, warning, and forecasting to customers with normal or abnormal conditions. To adopting the Intel RealSense SDK for facial recognition, the author has outlined the model and technology of face recognition. Along with applying machine learning model through linear regression method to produce predictive results. In this research topic, the achieved results are summarized and perspective of the work is provided by author, and set out the direction of the next development. Key words - Face recognition; Habits, Linear regression, Intel Realsense SDK, Machine learning. MỤC LỤC MỞ ĐẦU ........................................................................................................................ 1 1. Tính cấp thiết của đề tài ..................................................................................... 1 2. Mục tiêu nghiên cứu .......................................................................................... 1 3. Nội dung nghiên cứu.......................................................................................... 1 4. Đối tượng và phạm vi nghiên cứu ..................................................................... 2 5. Phương pháp nghiên cứu ................................................................................... 2 6. Ý nghĩa khoa học và thực tiễn ........................................................................... 2 CHƯƠNG 1. TỔNG QUAN ........................................................................................ 5 1.1. GIỚI THIỆU, PHÂN LOẠI VỀ TRÍ TUỆ NHÂN TẠO ........................................ 5 1.2. CÁC VẤN ĐỀ VỀ NHẬN DẠNG KHUÔN MẶT ................................................ 6 1.2.1. Tìm hiểu về việc nhận dạng khuôn mặt (Face recognition) ........................ 6 1.2.2. Cảm xúc của khuôn mặt ............................................................................ 19 1.3. CÁC TÁC ĐỘNG CỦA TRÍ TUỆ NHÂN TẠO VÀ ÁP DỤNG ĐIỂN HÌNH ... 19 1.3.1. Tác động .................................................................................................... 19 1.3.2. Các bài toán điển hình áp dụng các phương pháp TTNT .......................... 20 1.3.3. Những trí tuệ nhân tạo mạnh nhất hiện nay ............................................... 20 1.4. KHÁI QUÁT SDK INTEL REALSENSE ............................................................ 23 CHƯƠNG 2. MÔ HÌNH NHẬN DẠNG KHUÔN MẶT & HỖ TRỢ PHÂN TÍCH THÓI QUEN KHÁCH HÀNG ....................................................................... 26 2.1. PHÂN TÍCH BÀI TOÁN ...................................................................................... 26 2.2. MÔ HÌNH ĐỀ XUẤT ........................................................................................... 27 2.3. THIẾT KẾ ............................................................................................................. 33 2.4. THUẬT TOÁN CHÍNH ........................................................................................ 35 CHƯƠNG 3. KẾT QUẢ VÀ THỰC NGHIỆM ....................................................... 37 3.1. MÔI TRƯỜNG PHÁT TRIỂN ............................................................................. 37 3.1.1. Chuẩn bị cho môi trường ........................................................................... 37 3.1.2. Setup phần SDK Intel Real Sense .............................................................. 37 3.1.3. Cài đặt SQL Server và Tạo Database ........................................................ 39 3.1.4. Setup chương trình ..................................................................................... 43 3.2. DỮ LIỆU ĐẦU VÀO ............................................................................................ 43 3.3. PHÂN TÍCH KẾT QUẢ ........................................................................................ 43 3.4. DEMO ỨNG DỤNG ............................................................................................. 49 3.4.1. Màn hình chính .......................................................................................... 49 3.4.2. Màn hình quản lý khách hàng/ đăng ký khuôn mặt ................................... 50 3.4.3. Màn hình xem danh sách khách đến .......................................................... 50 3.4.4. Màn hình để nhập dữ liệu train .................................................................. 51 3.4.5. Màn hình xem lại việc check-in và check out ........................................... 51 3.4.6. Màn hình tìm kiếm thông tin theo ngày của khách hàng vào ra khách sạn ... 52 3.4.7. Màn hình cài đặt camera, cấu hình ............................................................ 52 KẾT LUẬN & KIẾN NGHỊ ...................................................................................... 53 TÀI LIỆU THAM KHẢO QUYẾT ĐỊNH GIAO ĐỀ TÀI (Bản sao) DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT CÁC KÝ HIỆU: 𝝀 : ký hiệu lambda : epsilon CÁC CHỮ VIẾT TẮT: AI: Artificial Intelligence – Trí tuệ nhân tạo. PCA: Principal Components Analysis – một loại phương pháp phân tích thành phần chính. LDA: Linear Discriminant Analysis – Phương pháp phân tích lớp tuyến tính. EBGM: Elastic Bunch Graph Matching – Phương pháp đồ thị đàn hồi. SDK: Software Development Kit – Bộ phần mềm phát triển. DANH MỤC CÁC BẢNG Số hiệu bảng Tên bảng Trang Bảng 2.1. Bảng phương pháp suy đoán hồi quy tuyến tính 30 Bảng 2.2. Bảng dữ liệu để huấn luyện với chuyên gia dự báo 31 Bảng 3.1. Bảng kết quả dự đoán 44 Bảng 3.2. Bảng so sánh nhận diện khuôn mặt 48 Bảng 3.3. Bảng so sánh các việc học máy 49 DANH MỤC CÁC HÌNH Số hiệu hình Tên hình Trang Hình 1.1. Các thể loại của trí tuệ nhân tạo 5 Hình 1.2. Mô hình nhận diện khuôn mặt 7 Hình 1.3. Cấu trúc tổng quát của hệ thống nhận dạng khuôn mặt. 8 Hình 1.4. Các hướng tiếp cận trích lọc đặc trưng trong nhận dạng khuôn mặt 10 Hình 1.5. Nhận diện khuôn mặt 11 Hình 1.6. Không gian mới (p1, p2) theo hướng phân bổ mạnh nhất của các vector trong không gian (x1, x2) tìm theo PCA 12 Hình 1.7. Ví dụ minh họa LDA 15 Hình 1.8. Mô hình lưới của các khuôn mặt khác nhau 18 Hình 1.9. Cảm xúc khuôn mặt (tt) [2] 19 Hình 1.10. Công nghệ chạm tay phía ngoài màn hình từ SDK, Camera 3D Intel [2] 23 Hình 1.11. Camera 3D của Intel 24 Hình 2.1. Kiến trúc của SDK Intel RealSense [2] 28 Hình 2.2. Kiến trúc tổng quát của chương trình 33 Hình 2.3. Các bước của việc nhận dạng khuôn mặt từ SDK [2] 34 Hình 2.4. Mô hình sử dụng SDK Intel Real Sense và AI 34 Hình 2.5. Mô hình dữ liệu của phương pháp hồi quy tuyến tính [5] 35 Hình 3.1. Download SDK Intel Real Sense 37 Hình 3.2. Màn hình install SDK Intel RealSense 38 Hình 3.3. Màn hình cài đặt lựa chọn package 38 Hình 3.4. Môi trường sau khi cài đặt 39 Hình 3.5. Màn hình chính 49 Hình 3.6. Màn hình quản lý khách hàng/ đăng ký khuôn mặt 50 Hình 3.7. Màn hình xem danh sách khách đến 50 Hình 3.8. Màn hình theo dõi dữ liệu huấn luyện 51 Hình 3.9. Màn hình theo dõi thông tin check-in và check-out 51 Hình 3.10. Màn hình xem lại lịch sử khách hàng 52 Hình 3.11. Màn hình cấu hình hệ thống 52 1 MỞ ĐẦU 1. Tính cấp thiết của đề tài Ngày nay với sự phát triển của nền khoa học máy tính và việc nhận dạng hình ảnh khuôn mặt thông qua camera đã ứng dụng vào rất nhiều trong cuộc sống của chúng ta nhằm để thực hiện các việc phát hiện đối tượng, khách hàng để bảo mật, cảnh báo hoặc các ứng dụng như robot để điều khiển việc giúp đỡ tự động từ hình ảnh khuôn mặt thu nạp được. Cùng với sự phát triển của trí tuệ nhân tạo là đặc trưng của lĩnh vực dự đoán, phân tích các dự báo trong thế giới kỹ thuật số có tính học máy, đòi hỏi cần phải thu thập dữ liệu và cho hệ thống máy tính học dần các dữ liệu để phân tích đưa ra kết quả dự đoán. Lĩnh vực thu thập dữ liệu khuôn mặt kết hợp với trí tuệ nhân tạo nhằm đưa ứng dụng thực tế vào cuộc sống cũng còn mới mẽ và được nhiều giới chuyên gia rất quan tâm. Trong đó việc nhận dạng hình ảnh khuôn mặt và phân tích đưa ra kết quả dự đoán các hành vi, thói quen đối với khách hàng tại khách sạn cũng là một ứng dụng có tính khoa học và thực tiễn cao, giúp cho khách sạn có được đầy đủ thông tin của khách hàng khi vào khách sạn, nhằm phục vụ cho việc cảnh báo, giúp đỡ, phục vụ khách được chu đáo hơn. Vì vậy, xuất phát từ nhu cầu đấy, tôi đã chọn đề tài luận văn thạc sĩ: “XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT & HỖ TRỢ PHÂN TÍCH THÓI QUEN KHÁCH HÀNG" 2. Mục tiêu nghiên cứu Xây dựng ứng dụng nhận diện khuôn mặt thông qua nền tảng SDK Intel RealSense và áp dụng thuật toán của trí tuệ nhân tạo (học máy) nhằm phân tích thói quen của đối tượng được nhận diện, đáp ứng được các bước: - Nghiên cứu và tạo ứng dụng nhận dạng khuôn mặt dựa trên nền tảng SDK RealSense của Intel. - Sử dụng việc nhận dạng khuôn mặt này và phân tích thói quen của khách hàng áp dụng phương pháp tính toán của Trí tuệ nhân tạo (học máy) 3. Nội dung nghiên cứu - Tìm hiểu về việc nhận dạng khuôn mặt (face recognition) thông qua SDK Intel RealSense. - Tìm hiểu đặc tính cơ bản của khuôn mặt - Tìm hiểu về phương pháp và thuật toán suy đoán hồi quy (linear regression) 2 4. Đối tượng và phạm vi nghiên cứu 4.1. Đối tượng nghiên cứu - Nhận dạng khuôn mặt thông qua SDK RealSense của Intel - Các đặc điểm thói quen của khách hàng - Giải thuật tính toán theo phương pháp hồi quy tuyến tính 4.2. Phạm vi nghiên cứu - Dựa vào dữ liệu thu thập từ Camera và nhận dạng khuôn mặt thông qua SDK - Sau khi thực hiện việc học dữ liệu huấn luyện, dùng phương pháp suy đoán hồi quy tuyến tính và trả về kết quả, hỗ trợ, thông báo, cảnh báo các thói quen của cá nhân đó. 5. Phương pháp nghiên cứu 5.1. Phương pháp lý thuyết - Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến kỹ thuật nhận dạng khuôn mặt, tính toán trong trí tuệ nhân tạo. - Nghiên cứu lý thuyết về tính toán tuyến tính trong AI, nhận dạng và phân tích các thói quen của khách hàng. 5.2. Phương pháp thực nghiệm - Sử dụng SDK Realsense của Intel để xây dựng việc nhận dạng hình ảnh khuôn mặt thông qua Camera, đưa dữ liệu vào cơ sở dữ liệu - Xây dựng kỹ thuật tính toán tuyến tính trong AI để xác định được các thói quen của người được nhận dạng - Xây dựng tập dữ liệu huấn luyện ứng với khuôn mặt. - Kiểm tra, thử nghiệm và đánh giá kết quả. 6. Ý nghĩa khoa học và thực tiễn 6.1. Ý nghĩa khoa học - Áp dụng được thuật toán suy đoán hồi quy tuyến tính trong AI vào việc phân tích thói quen thông qua việc nhận dạng khuôn mặt. 6.2. Ý nghĩa thực tiễn - Ứng dụng việc nhận dạng khuôn mặt và phân tích thói quen của khách hàng vào trong các lĩnh vực như khách sạn. 7. Bố cục của luận văn Luận văn được trình bày bao gồm các phần chính như sau: MỞ ĐẦU 1. Tính cấp thiết của đề tài 2. Mục tiêu nghiên cứu 3. Nội dung nghiên cứu 3 4. Đối tượng và phạm vi nghiên cứu 5. Phương pháp nghiên cứu 6. Ý nghĩa khoa học và thực tiễn CHƯƠNG 1. TỔNG QUAN 1.1. GIỚI THIỆU, PHÂN LOẠI VỀ TRÍ TUỆ NHÂN TẠO 1.2. CÁC VẤN ĐỀ VỀ NHẬN DẠNG KHUÔN MẶT 1.2.1. Tìm hiểu về việc nhận dạng khuôn mặt (Face recognition) 1.2.2. Cảm xúc của khuôn mặt 1.3. CÁC TÁC ĐỘNG CỦA TRÍ TUỆ NHÂN TẠO VÀ ÁP DỤNG ĐIỂN HÌNH 1.3.1. Tác động 1.3.2. Các bài toán điển hình áp dụng các phương pháp TTNT 1.3.3. Những trí tuệ nhân tạo mạnh nhất hiện nay 1.4. KHÁI QUÁT SDK INTEL REALSENSE CHƯƠNG 2. MÔ HÌNH NHẬN DẠNG KHUÔN MẶT & HỖ TRỢ PHÂN TÍCH THÓI QUEN KHÁCH HÀNG 2.1. PHÂN TÍCH BÀI TOÁN 2.2. MÔ HÌNH ĐỀ XUẤT 2.3. THIẾT KẾ 2.4. THUẬT TOÁN CHÍNH CHƯƠNG 3. KẾT QUẢ VÀ THỰC NGHIỆM 3.1. MÔI TRƯỜNG PHÁT TRIỂN 3.1.1. Chuẩn bị cho môi trường 3.1.2. Setup phần SDK Intel Real Sense 3.1.3. Cài đặt SQL Server và Tạo Database 3.1.4. Setup chương trình 3.2. DỮ LIỆU ĐẦU VÀO 3.3. PHÂN TÍCH KẾT QUẢ 3.4. DEMO ỨNG DỤNG 3.4.1. Màn hình chính 3.4.2. Màn hình quản lý khách hàng/ đăng ký khuôn mặt 3.4.3. Màn hình xem danh sách khách đến 3.4.4. Màn hình để nhập dữ liệu train 3.4.5. Màn hình xem lại việc check-in và check out 3.4.6. Màn hình tìm kiếm thông tin theo ngày của khách hàng vào ra khách sạn 4 3.4.7. Màn hình cài đặt camera, cấu hình KẾT LUẬN & KIẾN NGHỊ 5 CHƯƠNG 1 TỔNG QUAN 1.1. GIỚI THIỆU, PHÂN LOẠI VỀ TRÍ TUỆ NHÂN TẠO Giới thiệu Trí tuệ nhân tạo (tiếng Anh: Artificial Intelligence hay Machine Intelligence, thường được viết tắt là AI) là trí tuệ được biểu diễn bởi bất cứ một hệ thống nhân tạo nào. Thuật ngữ này thường dùng để nói đến các máy tính có mục đích không nhất định và ngành khoa học nghiên cứu về các lý thuyết và ứng dụng của trí tuệ nhân tạo. Tuy rằng trí thông minh nhân tạo có nghĩa rộng như là trí thông minh trong khoa học viễn tưởng, nó là một trong những ngành trọng yếu của tin học. Trí thông minh nhân tạo liên quan đến cách cư xử, sự học hỏi và khả năng thích ứng thông minh của máy móc. Các ví dụ ứng dụng bao gồm các tác vụ điều khiển, lập kế hoạch và lập lịch (scheduling), khả năng trả lời các câu hỏi về chẩn đoán bệnh, trả lời khách hàng về các sản phẩm của một công ty, nhận dạng chữ viết tay, nhận dạng tiếng nói và khuôn mặt. Ngày nay, các hệ thống nhân tạo được dùng nhiều trong các lĩnh vực kinh tế, y dược, sân bay, quân sự,...[1] Các phương pháp  Học máy (Machine learning)  Xử lý ngôn ngữ tự nhiên (Natural language processing)  Xử lý ngôn ngữ tiếng nói (Speech)  Hệ chuyên gia (Expert systems)  Dự báo, tối ưu hóa (Planning, optiomization)  Robot  Xử lý mờ (Vision) Machine learning Vision Natural language processing (NLP) AI (Artificial Intelligence) Speech Robotics Expert systems Planning, optiomization Hình 1.1. Các thể loại của trí tuệ nhân tạo 6 1.2. CÁC VẤN ĐỀ VỀ NHẬN DẠNG KHUÔN MẶT Ngày này, việc nhận dạng khuôn mặt để xác nhận cho vấn đề an toàn, các thói quen ứng với từng khuôn mặt ấy được sử dụng rộng rãi. Không những thế mà việc áp dụng nhận diện khuôn mặt xong, áp dụng với việc dự đoán từ khuôn mặt để xác định hành vi, thói quen là một trong những ứng dụng rất thực tiễn và mới mẻ trong rất nhiều lĩnh vực. Trong để tài nghiên cứu này, tôi đã kết hợp việc nhận dạng khuôn mặt và trí tuệ nhân tạo (học máy) để áp dụng cho việc phân tích thói quen khách hàng tại khách sạn. 1.2.1. Tìm hiểu về việc nhận dạng khuôn mặt (Face recognition)  Giới thiệu Như chúng ta đã biết, con người khi sinh ra đã có những đặc điểm sinh học tự nhiên riêng biệt phân biệt giữa người này với người kia, rất khó có thể trùng lặp. Các đặc điểm đó có thể bị thay đổi trong cuộc sống trừ những tác động khách quan hoặc chủ quan như: tai nạn, tổn thương, phẫu thuật chỉnh hình... Chính bởi yếu tố riêng biệt đó, các nhà khoa học tập trung nghiên cứu, tìm hiểu đặc trưng sinh trắc của con người và áp dụng vào các biện pháp giúp nhận dạng, xác định danh tính của mỗi người. Dựa vào những đặc điểm sinh trắc học của con người, các hệ thống nhận dạng sinh trắc học ra đời nhằm giải quyết nhiều vấn đề có liên quan tới bảo mật, an ninh, khoa học hay các nhu cầu khác trong cuộc sống. Các đặc trưng sinh trắc khuôn mặt là những đặc điểm riêng trên khuôn mặt mỗi người gần như không thay đổi theo thời gian, các đặc điểm này phân biệt giữa người này và người kia, rất khó có thể xảy ra trùng lặp. Dựa trên nhận xét thực tế, con người dễ dàng nhận biết các khuôn mặt và các đối tượng trong các tư thế khác nhau và điều kiện ánh sáng khác nhau, thì phải tồn tại các thuộc tính hay đặc trưng không thay đổi. Chính vì thế, việc xác định danh tính, nhận dạng khuôn mặt người thông qua các đặc trưng sinh trắc học đó sẽ đảm bảo được độ chính xác, tin cậy cao. Bản thân con người có thể nhận dạng ảnh khuôn mặt của mọi người một cách dễ dàng. Thậm chí, ảnh đó có thể nằm trong một ảnh nền phức tạp. Tuy nhiên, đối với hệ máy thì việc nhận dạng này là một công việc rất phức tạp và khó khăn. Chính vì vậy, trong những năm gần đây, lĩnh vực nhận dạng khuôn mặt đã nhận được sự quan tâm nghiên cứu lớn từ các nhà khoa học nhằm tạo ra các hệ hỗ trợ quyết định phục vụ trong rất nhiều lĩnh vực của cuộc sống. Giả sử ta có một cơ sở dữ liệu ảnh đã được lưu trong máy về một số người (Hình 1.2), bài toán nhận dạng là làm sao để khi đưa ảnh khuôn mặt của một người bất kỳ vào thì máy sẽ tự động nhận dạng ra người này trong cơ sở dữ liệu. 7 Hình 1.2. Mô hình nhận diện khuôn mặt Hơn một thập kỷ qua, có rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt người từ ảnh đen trắng, ảnh xám, đến ảnh màu. Các nghiên cứu đi từ bài toán đơn giản cho đến phức tạp, từ ảnh chỉ chứa 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, cho đến ảnh màu với nhiều khuôn mặt người trong cùng ảnh, khuôn mặt có quay một góc nhỏ, hay bị che khuất một phần, và với ảnh nền của ảnh phức tạp (ảnh được chụp ngoài thiên nhiên) nhằm đáp ứng nhu cầu và phân tích cần thiết của con người. Bài toán xác định khuôn mặt người là một kỹ thuật máy tính để xác định các vị trí và các kích thước của khuôn mặt trong ảnh bất kỳ. Kỹ thuật này nhận biết các đặt trưng khuôn mặt và bỏ qua những thứ khác như: toà nhà, cây cối, cơ thể,…  Hệ thống nhận diện khuôn mặt có thể giúp:  Tra cứu thông tin tội phạm.  Giám sát bằng camera để phát hiện tội phạm tại các khu vực công cộng.  Tìm trẻ lạc dựa vào các camera đặt ở các nơi công cộng. Phát hiện các nhân vật VIP, khách hàng có tính bình thường/bất thường khi đặt chân vào khách sạn.  Phát hiện tội phạm tại các nơi công cộng.  Có thể dùng trong khoa học để so sánh một thực thể với nhiều thực thể khác.  v/v….  Việc nhận diện khuôn mặt làm việc như thế nào?  8 Nhiệm vụ của hệ thống nhận dạng khuôn mặt là xử lý tự động thông tin từ các ảnh khuôn mặt để tìm ra độ tương tự giữa các khuôn mặt và đưa ra quyết định về tính đồng nhất giữa chúng. Cấu trúc của hệ thống nhận dạng khuôn mặt được thể hiện như Hình 1.3 và gồm các khâu chức năng sau: Hình 1.3. Cấu trúc tổng quát của hệ thống nhận dạng khuôn mặt. - Phát hiện khuôn mặt (face detection): Phát hiện khuôn mặt sẽ lấy ra tất cả các khuôn mặt trong một hình ảnh. Chức năng này làm nhiệm vụ xác định vị trí, kích cỡ của một hoặc nhiều khuôn mặt trên ảnh chụp từ đó tách ra phần mặt. Phần ảnh mặt được tách ra thường nhỏ hơn nhiều so với ảnh chụp ban đầu, nó sẽ là các khuôn mặt cần tìm và chức năng trích chọn đặc trưng sẽ sử dụng các ảnh được tách ra này. - Tiền xử lý (Pre-Processing): Bước này nhằm mục đích lọc nhiễu, nâng cao chất lượng ảnh để chuẩn hóa ảnh cần tìm giúp cho việc tìm kiếm được hiệu quả hơn. Các công việc trong bước tiền xử lý có thể là: Chuẩn hóa kích cỡ giữa ảnh trong CSDL và ảnh cần tìm, hiệu chỉnh độ sáng, tối của ảnh, lọc nhiễu, chuẩn hóa về vị trí, tư thế ảnh mặt. - Trích chọn đặc trưng (FE): Tìm ra các đặc trưng chính của ảnh mặt, từ các đặc trưng này hình thành các vector đặc trưng, các vector này sẽ được sử dụng để đối sánh sự giống nhau giữa ảnh mặt cần tìm và ảnh mặt trong CSDL. - Nhận dạng/Phân lớp: Bước nhận dạng (recognition) hay phân lớp (classification), tức là xác định danh tính (identity) hay nhãn (label) của ảnh đó là ảnh của ai. 9 - Dữ liệu hệ thống nhận dạng: Dữ liệu hệ thống nhận dạng được chia làm 3 tập gồm tập huấn luyện (training set), tập tham chiếu (reference set) và tập để nhận dạng (probe set). Tập training gồm các ảnh được dùng để huấn luyện, thông thường tập này được dùng để sinh ra một không gian con là một ma trận. Tập reference gồm các ảnh đã biết danh tính được chiếu vào không gian con ở bước training... Sau khi thực hiện chiếu tập reference vào không gian con, hệ thống lưu lại kết quả là một ma trận với mỗi cột của ma trận là một vector tương ứng với ảnh (định danh đã biết) để thực hiện nhận dạng (hay phân lớp). Hệ thống nhận dạng khuôn mặt cần đảm bảo các yêu cầu: - Độ chính xác nhận dạng có thể chấp nhận được đối với yêu cầu của bài toán nhận dạng; - Tốc độ vận hành cao đối với các CSDL lớn và số lượng các yêu cầu có thể giải quyết được; - Đơn giản trong việc cài đặt, lựa chọn thiết bị và vận hành. An toàn với người sử dụng. Các hướng tiếp cận trong nhận dạng khuôn mặt - Như trong phần 1.1.2 đã trình bày, hệ thống nhận dạng khuôn mặt gồm bốn khâu chính (tiền xử lý, tách vùng mặt, trích chọn đặc trưng, đối sánh). Mỗi một khâu đều có tác động đến độ chính xác của hệ thống. Tuy nhiên, hai khâu quan trọng nhất vẫn là trích chọn đặc trưng và đối sánh (ra quyết định). Chính vì vậy, qua khảo sát các công trình nghiên cứu liên quan đến nhận dạng khuôn mặt [x], [10] [12] , ta có thể thấy các công trình công bố đều chủ yếu tập trung vào cải tiến hai bước chính là trích chọn đặc trưng và ra quyết định. Theo định hướng tìm ra cách trích chọn đặc trưng 10 Hình 1.4. Các hướng tiếp cận trích lọc đặc trưng trong nhận dạng khuôn mặt Nhận dạng dựa trên xét tổng thể khuôn mặt (Appearance based face recognition): Nội dung chính của hướng tiếp cận này là xem mỗi ảnh có kích thước RxC là một vector trong không gian RxC chiều. Ta sẽ xây dựng một không gian mới có chiều nhỏ hơn sao cho khi biểu diễn trong không gian đó các đặc điểm chính của một khuôn mặt không bị mất đi. Trong không gian đó, các ảnh của cùng một người sẽ được tập trung lại thành một nhóm gần nhau và cách xa các nhóm khác. Một số phương pháp được dùng cho loại này như: - Trích chọn các đặc trưng tuyến tính: PCA, ICA, LDA - Trích chọn các đặc trưng phi tuyến: KPCA, ISOMAP Nhận dạng sử dụng mô hình về khuôn mặt (Model-based face recognition ): Đây là phương pháp nhận dạng khuôn mặt dựa trên việc xác định các đặc trưng hình học của các chi tiết trên một khuôn mặt (như vị trí, diện tích, hình dạng của mắt, mũi, miệng…), và mối quan hệ giữa chúng (như khoảng cách của hai mắt, khoảng cách của hai lông mày…). Một số phương pháp được dùng cho loại này như: - Nhận dạng 2D: EBGM, Active Appearance Model. - Nhận dạng 3D: 3D Morphable Model. Ưu điểm của phương pháp này là nó gần với cách mà con người sử dụng để nhận biết khuôn mặt. Hơn nữa với việc xác định đặc tính và các mối quan hệ, phương pháp này có thể cho kết quả tốt trong các trường hợp ảnh có nhiều nhiễu như bị nghiêng, bị xoay hoặc ánh sáng thay đổi. 11 Để xây dựng một hệ thống nhận dạng khuôn mặt, người ta phải có đầu vào là một ảnh kỹ thuật số hay 1 khung hình video. Hệ thống kiểm tra và cho ra kết quả hình ảnh này là ai (đã có trong cơ sở dữ liệu), việc nhận dạng này gồm 3 bước: - Phát hiện khuôn mặt có trong hình/ video (face detection) - Trích rút đặc trưng của khuôn mặt (feature extraction) - Nhận dạng khuôn mặt (face recognition)  Phát hiện khuôn mặt có trong hình/ video (face detection): Chức năng chính của bước này là phát hiện ra khuôn mặt xem nó có xuất hiện ở trong một bức hình hay một đoạn video hay không? Tỉ lệ phát hiện ra khuôn mặt phụ thuộc nhiều vào điều kiện về độ sáng, hướng khuôn mặt, biểu hiện cảm xúc trên khuôn mặt hay các yếu tố môi trường khác. Để hệ thống nhận dạng hoạt động đạt hiệu quả cao thì hình ảnh khuôn mặt sau khi được phát hiện cần chuẩn hóa về kích thước, ánh sáng.  Trích rút đặc trưng (feature extraction): Sau khi phát hiện ra khuôn mặt trong bức ảnh, chúng ta tiến hành trích rút những đặc trưng của khuôn mặt. Bước này trích xuất ra một vector đặc trưng đại diện cho một khuôn mặt. Nó phải đảm bảo được tính duy nhất của một khuôn mặt.  Nhận dạng khuôn mặt (face recognition): Với hình ảnh đầu vào sau khi phát hiện ra khuôn mặt, trích rút các đặc trưng của khuôn mặt và đem so sánh các đặc trưng này với cơ sở dữ liệu khuôn mặt. Hình 1.5. Nhận diện khuôn mặt Thuật toán nhận diện khuôn mặt hiện chia làm hai loại: Nhận diện dựa trên các đặc trưng khuôn mặt (Feature Base Face Recognition) và nhận dạng dựa trên xét tổng thể toàn khuôn mặt (Appearance Based Face Recognition).  Nhận dạng dựa trên các đặc trưng khuôn mặt 12 Phương pháp này dựa trên đặc trưng của hình học trên khuôn mặt như: mắt, mũi, miệng, gò má,..và khoảng cách giữa chúng như: giữa hai mắt. Ưu điểm là nó gần với cách mà con người sử dụng để nhận biết khuôn mặt. Hơn nữa với việc xác định đặc tính và các mối quan hệ, phương pháp này cho kết quả tốt trong các điều kiện không có kiểm soát. Nhược điểm là cài đặt thuật toán phức tạp do việc xác định mối quan hệ giữa các đặc tính, đòi hỏi các thuật toán phức tạp và phương pháp này sẽ hoạt động không hiệu quả khi kích thước hình ảnh nhỏ vì rất khó phân biệt được các đặc tính.  Nhận dạng dựa trên xét tổng thể toàn khuôn mặt Phương pháp này là phương pháp trắc quang, có nghĩa là biến hình ảnh thành các giá trị và so sánh với giá trị mẫu để nhận biết, phổ biến nhất trong phương pháp này có 3 loại: - Phân tích thành phần chính (PCA). - Phân tích phân lớp tuyến tính (LDA). - Phương pháp đồ thị đàn hồi (EBGM). o Phân tích thành phần chính - Principal Components Analysis (PCA)  Nguyên lý chung Hình 1.6. Không gian mới (p1, p2) theo hướng phân bổ mạnh nhất của các vector trong không gian (x1, x2) tìm theo PCA 13 PCA là một thuật toán để được sử dụng để tạo ra một ảnh mới từ ảnh ban đầu. Ảnh mới này có kích thước nhỏ hơn rất nhiều so với ảnh đầu vào và vẫn mang những đặc trưng cơ bản nhất của ảnh cần nhận dạng. PCA không cần quan tâm đến việc tìm ra các đặc điểm cụ thể của thực thể cần nhận dạng và mối quan hệ giữa các đặc điểm đó. Tất cả các chi tiết đó đều được thể hiện ở ảnh mới được tạo ra từ PCA. Về bản chất, PCA tìm ra một không gian mới theo hướng biến thiên mạnh nhất của một tập hợp các vector trong không gian cho trước. Trong không gian mới, người ta hy vọng rằng việc phân loại sẽ mang lại kết quả tốt hơn so với không gian ban đầu.  Nội dung thuật toán PCA Không gian mới được tạo bởi PCA được cấu thành từ K vector đơn vị có chiều là N. Mỗi vector được gọi là một Eigenface. - Phép biến đổi: 𝑎1 𝑤1 𝑎2 𝑤2 . . 𝐴 = . → 𝑊 = . 𝑣ớ𝑖 𝐾 ≪ 𝑁 . . [𝑤𝐾 ] [𝑎𝑁 ] Theo công thức: W = T.A Với T là ma trân chuyển đổi, T có kích thước KxN Gọi M là số ảnh đầu vào, mỗi ảnh được chuyển thành vector N nhiều chiều, ta có tập hợp đầu vào X = {x1, x2, …..,xM} (xi € RN) Trung bình của các vector đầu vào: 𝑥̅ = 1 𝑀 ∑𝑀 𝑖=1 𝑥𝑖 Sai lệch so với tâm Θi = xi - 𝑥̅ Gọi A = [θ1, θ2,…, θM] ta có ma trận tương quan của A là: Gọi các giá trị riêng của C là λ1, λ2,…, λN sắp xếp theo thứ tự giảm dần, tương ứng với N vector riêng u1, u2,…, uN. Các vector riêng này trực giao từng đôi một. Mỗi vector riêng ui được gọi là một eigenface. Tập hợp các vector ban đầu được biểu diễn trong không gian tạo bởi N eigenface theo mô tả:
- Xem thêm -

Tài liệu liên quan