Bài viết đề xuất một phương pháp phát hiện khuôn mặt để áp dụng vào Robot lễ tân. Nhận diện khuôn mặt là một cách tiếp cận giúp khách mời cảm giác thân thiện, hòa đồng hơn. Phương pháp nhận diện khuôn mặt Facenet và công cụ Tensorflow được sử dụng trong nghiên cứu này.
Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XI Nghiên cứu ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 09-10/8/2018 DOI: 10.15625/vap.2018.00059 PHƯƠNG PHÁP XÁC THỰC KHUÔN MẶT DỰA TRÊN TENSORFLOW VÀ ỨNG DỤNG VÀO ROBOT TIẾP TÂN Cao Minh Tiên1, Nguyễn Minh Sơn1, Phan Thị Hường1 Khoa Công Nghệ Thông Tin, Trƣờng Đại Học Lạc Hồng, Đồng Nai, Việt Nam minhtien1995cs@gmail.com, nmson@lhu.edu.vn, pthuong@lhu.edu.vn TÓM TẮT: Bài báo đề xuất phương pháp phát khuôn mặt để áp dụng vào Robot lễ tân Nhận diện khuôn mặt cách tiếp cận giúp khách mời cảm giác thân thiện, hòa đồng Phương pháp nhận diện khuôn mặt Facenet công cụ Tensorflow sử dụng nghiên cứu Việc tương tác khách mời với Robot cách sử dụng camera từ phần đầu Robot, Robot nhận diện chào ngôn ngữ tiếng việt qua API Google Với khuôn mặt chưa quen – biết Robot phản ứng chào hỏi làm quen Quá trình thử nghiệm 50 khách mời, kết nhận diện xác 89,7 % Từ khóa: Robot NAO, Tensorflow, Detect Face, Facenet I GIỚI THIỆU Trong thời đại công nghiệp ngày phát triển, Robot học máy trở thành xu lĩnh vực cách mạng công nghiệp 4.0 hƣớng tới SoftBank, tập đồn lớn chun Robot trình làng Robot NAO, Robot hình ngƣời tập đồn vào năm 2006 Từ tháng năm 2015, Robot NAO đƣợc đƣa vào làm nhân viên tiếp tân nhiều khách sạn để cung cấp thông tin cho khách nhiều thứ tiếng khác nhƣng chƣa hỗ trợ tiếng Việt Trên Robot NAO hỗ trợ học khn mặt giúp ngƣời dùng cho Robot học khuôn mặt cách dễ dàng Nhƣng độ xác phƣơng pháp nhận diện khn mặt chƣa cao Từ vấn đề nhận diện khuôn mặt cho Robot NAO nói tiếng Việt Bài báo sử dụng công cụ học máy Tensorflow Google Text To Speech để giải vấn đề Nhận diện mặt ngƣời phƣơng pháp xác định danh tính ngƣời dựa đặc trƣng sinh trắc học Hiện nay, lĩnh vực nghiên cứu nhận diện mặt ngƣời đƣợc áp dụng vào nhiều thực tế, đặc biệt vấn đề xác thực Trƣớc đây, để xác thực ngƣời, sử dụng số biện pháp nhƣ: sử dụng mật khẩu, thẻ từ,… Nhƣng biện pháp bị đánh cắp thông tin từ kẻ xấu Từ cần biện pháp bảo mật hơn, xác thực khuôn mặt Các hệ thống nhận diện khuôn mặt thời gian thực cần thiết [1] Matthew cộng [1] cách nghiên cứu đƣa kỹ thuật Eigenface nhận diện khuôn mặt thời gian thực Libin Lan, Chengliang Wang, Minjie Gu Yuwei Zhang [6] giới thiệu kỹ thuật nhận diện khuôn mặt phƣơng pháp kết hợp PCA SVM Bài báo [3] nhóm tác giả Anne-Caroline Schreiber, StCphane Rousset Guy Tiberghlen trình bày phƣơng pháp nhận diện dựa ngữ cảnh Mơ hình gợi ý ba số đƣợc trích song song với việc nhận dạng ngƣời từ mặt: cảm giác quen thuộc (cảm giác kích thích khn mặt), cảm giác nhận dạng (cảm giác biết ngƣời đó) nội dung nhận dạng (thơng tin ngƣời từ việc tích hợp ngữ cảnh) Nói chung, có nhiều phƣơng pháp nhận diện khuôn mặt khác đạt đƣợc độ xác cao nhƣng kết báo chƣa đƣợc ứng dụng lên Robot NAO để thực cho Robot chào ngƣời mà hệ thống nhận diện đƣợc Trong báo tác giả trình bày phƣơng pháp nhận diện khn mặt dựa thƣ viện học máy Tensorflow báo Facenet [9] Đây thƣ viện Deeplearning Google phát triển đƣợc đông đảo ngƣời sử dụng Để Robot nói tiếng Việt cần phải có cơng cụ hỗ trợ Trong báo này, tác giả sử dụng Google Text To Speech để giải vấn đề II NỘI DUNG 2.1 Đối tượng nghiên cứu 2.2.1 Thuật tốn FaceNet Khơng gian Euclide compact đƣợc ánh xạ từ ảnh khuôn mặt với khoảng cách đo đặc tƣơng ứng với độ tƣơng đồng khn mặt Có thể tạo véctơ đặc trƣng sử dụng vào toán nhận dạng khn mặt, phân cụm khn mặt Nhóm tác giả cộng sử dụng mạng tích chập sâu Deep Convonlution Network – DNN đƣợc huấn luyện để tối ƣu hóa Độ tƣơng đồng khn mặt đƣợc tính khoảng cách L2 bình phƣơng khơng gian Các khn mặt giống có khoảng cách nhỏ ngƣợc lại Cơng thức tính khoảng cách dựa khoảng cách Euclid [5] nhƣ sau: Giả sử P = (P1, P2, …, Pn) Q = (Q1, Q2, …, Qn) hai điểm khơng gian n chiều, khoảng cách từ P đến Q đƣợc tính theo cơng thức: n d ( P ,Q ) ( Pi Qi )2 d(Q , P ) i 454 PHƢƠNG PHÁP XÁC THỰC KHUÔN MẶT DỰA TRÊN TENSORFLOW VÀ ỨNG DỤNG VÀO ROBOT TIẾP TÂN Hình Kết thuật tốn FaceNet khoảng cách khuôn mặt [1] 2.1.2 Robot NAO Robot NAO đƣợc phát triển sản xuất tập đoàn SoftBank Nó có hình dạng giống nhƣ ngƣời Nó đƣợc thiết kế cao 58 cm, với camera đƣợc gắn đầu có độ phân giải 1280x960 px với tốc độ ghi hình 30 khung hình giây 2.1.3 Thư viện Tensorflow TensorFlow thƣ viện phần mềm nguồn mở Google phát triển phát hành vào tháng 10 năm 2015 Đây thƣ viện hỗ trợ xây dựng mơ hình Deep Learning thơng qua API ngắn gọn Nó hỗ trợ nhiều flatform khác (Từ điện thoại thông minh đến máy tính Server phân tán) hỗ trợ tính tốn CPUs GPUs 2.2 Phương pháp nghiên cứu 2.2.1 Thu thập liệu Để thu thập liệu, báo sử dụng hai phƣơng pháp: - Thu thập có giám sát: Sử dụng camera đặt cố định cho ngƣời đứng trƣớc camera để thu thập đƣợc liệu ngƣời Mục đích việc thu thập để dán nhãn cho liệu cách xác Hình Hình ảnh sau thu thập - Thu thập không giám sát: Sử dụng camera Raspberry Pi phép camera thu thập đƣợc hình ảnh chứa khn mặt Ngồi ra, tác giả cịn trích xuất khn mặt từ video đƣợc lƣu trữ lại từ camera giám sát phịng Mục đích việc thu thập để thu thập đƣợc hình ảnh nhiều ngƣời Sau dùng hình ảnh để phân loại dán nhãn - Đặc điểm liệu độ tuổi từ 18 đến 35 tuổi đa phần sinh viên, tƣ chụp khác nhau, đối tƣợng có đặc điểm khác nhau, đeo kính, tóc dài, biểu cảm xúc, vui, buồn, thời điểm lấy mẫu vào ban ngày phịng thí nghiệm có đèn chiếu sáng Mỗi đối tƣợng đƣợc chụp tƣ đứng, ngồi khác Trong trình lấy liệu trao có trao đổi trị chuyện 2.2.1 Tổ chức liệu Trƣớc tiến hành học máy, liệu cần phải đƣợc tổ chức theo quy trình để chƣơng trình nhận biết đƣợc đâu liệu học, đâu nhãn liệu Tất liệu học máy đƣợc chứa thƣ thƣ mục, Cao Minh Tiên, Nguyễn Minh Sơn, Phan Thị Hƣờng 455 thƣ mục thƣ mục chứa liệu hình ảnh riêng biệt ngƣời Tên thƣ mục tên ngƣời Hình Cấu trúc tổ chức thƣ mục hình ảnh Trong báo này, tập liệu thu thập sử dụng để thử nghiệm gồm tất 50 ngƣời, ngƣời 60 hình Sau chọn ngẫu nghiên 48 hình ảnh phân vào tập train chiếm 80 %, 12 hình đƣợc phân vào tập test chiếm 20 % Tổng thể có 3000 hình ảnh 2400 hỉnh ảnh để học 600 hình dùng để kiểm tra 2.2.3 Học khn mặt Mơ hình đƣợc huấn luyện dựa CASIA-WebFace Trong báo này, tác giả xây dựng trình học máy nhƣ quy trình sau: Hình Mơ hình học máy khn mặt Theo quy trình học máy hình 3, giai đoạn tiền xử lý báo sử dụng MTCNN [7] để xử lý MTCNN nghiên cứu xử lý hình ảnh phát khn mặt trƣớc học, mang lại hiệu suất tốt Kết giai đoạn tiền xử lý thu đƣợc hình ảnh khn mặt đƣợc chỉnh dựa mắt miệng Ở giai đoạn trích xuất đặc trƣng Tensorflow dựa đặc điểm khn mặt trích xuất đặc trƣng lƣu thành thông số véctơ Giai đoạn học máy, hệ thống tiến hành học lƣu khuôn mặt lại thành thông số véctơ 128 chiều 2.2.4 Nhận diện khuôn mặt Từ sở liệu véctơ đặc trƣng khuôn mặt, tác giả tiến hành thực nhận diện khuôn mặt theo quy trình sau: Start Name Feature extraction Dataset Classify Hình Quy trình nhận diện khn mặt 456 PHƢƠNG PHÁP XÁC THỰC KHUÔN MẶT DỰA TRÊN TENSORFLOW VÀ ỨNG DỤNG VÀO ROBOT TIẾP TÂN Theo quy trình hình 4, đƣa hình chứa khn mặt vào hệ thống hệ thống tiến hành phát khn mặt, cắt khn mặt, rút trích đặc trƣng tạo thành véctơ, sau so sánh véctơ với véctơ đƣợc lƣu liệu học, véctơ liệu học có kết gần với véctơ đƣa vào kiểm tra trả kết véctơ tên hình ảnh đƣợc đƣa vào kiểm tra Ở đây, thuật tốn K-nearest neighbor đƣợc sử dụng để tính tốn để xác định đƣợc khoảng cách véctơ đƣợc đƣa vào kiểm tra công thức (1) xác định véctơ kết Kết tên hình ảnh đƣợc đƣa vào xác thực 2.2.5 Thử nghiệm ứng dụng Robot NAO Hình Quy trình Robot NAO chào Theo quy trình hình 5, luồng (1) Robot NAO phát đƣợc khn mặt, chụp hình gửi lên Server thơng qua giao thức SCP Luồng (2), công cụ nhận diện khuôn mặt mà tác giả thiết lập xử lý để nhận diện khuôn mặt hình Robot gửi lên có sở liệu đƣợc học hay khơng Nếu có tồn kết trả file âm mp3 Sau Server gửi file âm thu đƣợc cho Robot NAO thông qua SCP Khi nhận đƣợc file âm Robot NAO tiến hành phát đoạn âm có chứa lời chào 2.3 Kết Để kiểm tra độ xác hệ thống, tác giả sử dụng liệu tác giả tự thu thập mơ hình đƣợc đào tạo trƣớc khuôn mặt CASIA-WebFace CASIA-WebFace sở liệu khuôn mặt đƣợc đào tạo trƣớc dựa mơ hình Inception Resnet V1 [8] Cơ sở liệu chứa khoảng 10.575 đối tƣợng với khoảng 494.414 hình ảnh Độ xác sở liệu này đƣợc chứng minh đạt độ xác khoảng 98,7 % Sau tiến hành thực nghiệm tập liệu tác giả thu đƣợc kết nhƣ bảng Để đánh giá độ xác thuật tốn K-NN, tác giả sử dụng hàm Classifier để kiểm chứng xem có điểm test data đƣợc dự đoán Lấy số lƣợng chia cho tổng số lƣợng tập test data độ xác Hình Kiểm tra độ xác khn mặt Cao Minh Tiên, Nguyễn Minh Sơn, Phan Thị Hƣờng 457 Bảng Kết thử nghiệm Số lượng hình 3000 Chính xác (%) 89,7 Sai lệch (%) 10,3 3000 hình đƣợc thu thập từ 50 ngƣời, ngƣời đƣợc chụp 60 hình từ góc độ khác điều kiện ánh sáng khác 50 ngƣời để thu thập hình ảnh nằm độ tuổi từ 18-40, với 40 nam 10 nữ, trạng thái khác (cƣời, nói, im lặng, chau mày,…) Kết cho thấy độ xác phƣơng pháp đạt đƣợc khoảng 89,7 % Từ kết này, tác giả áp dụng vào Robot NAO, xây dựng chƣơng trình cho Robot NAO nhận diện chào ngƣời mà NAO nhìn thấy Hình ảnh ngƣời mà Robot NAO nhìn thấy đƣợc cho học sở liệu học máy III KẾT LUẬN Trong báo này, tác giả xây dựng thành công hệ thống phát nhận diện khuôn mặt cách sử dụng thƣ viện học máy Tensorflow Bằng cách sử dụng tập liệu hình ảnh chứa khn mặt tác giả thu thập, mạng nơron xoắn với khả học sâu thƣ viện Tensorflow Kết mang lại độ xác đến 89,7 % Từ tác giả xây dựng thành công chức cho Robot nhận diện đƣợc ngƣời chào tiếng Việt Từ áp dụng kết đề tài vào nhiều vấn đề thực tế nhƣ: ứng dụng nhận diện khuôn mặt vào hệ thống điểm danh, ứng dụng Robot vào công việc tuyển sinh cho Robot làm nhân viên tiếp tân chuyên nghiệp Hy vọng tƣơng lai tác giả cải thiện phƣơng pháp để nâng cao độ xác IV TÀI LIỆU THAM KHẢO [1] M A Rurk and A P Pentland Face recognition using eigenfaces In IEEE Conference on Computer Vision and Pattern Recognition, Hawaii, 1991, pp.585-591 [2] Anil K Jain, Brendan Klare and Unsang Park Face Recognition: Some Challenges in Forensics, in IEEE International Conference Automatic Face & Gesture Recognition and Workshops (FG 2011), 2011, pp.726-733 [3] Anne-Caroline Schreiber, StCphane Rousset, Guy Tiberghlen, Facenet: A Connectionist Model of Face Identification in Context, EUROPEAN JOURNAL OF COGNITIVE PSYCHOLOGY, 1991, p.177-198 [4] F Schroff, D Kalenichenko and J Philbin “Facenet: A unified embedding for facerecognition and clustering” Proceedings of the IEEE Conference on Computer Visionand Pattern Recognition,pp 815-823, 2015 [5] B Amos “OpenFace” [Online] Available: https://cmusatyalab.github.io/openface/ [6] Chengliang Wang, Libin Lan, Yuwei Zhang and Minjie Gu Face Recognition Based on Principle Computer Analysis and Support Vector Machine In IEEE Conference Intelligent System and Application (ISA), 2011, p.1-4 [7] Kaipeng Zhang, Zhanpeng Zhang, Zhifeng Li, Yu Qiao Joint Face Detection and Alignment using Multi-Task Cascaded Convolutional Networks IEEE Signal Processing Letters (SPL), 2016, p.1499-1503 [8] Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alex Alemi Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning, 2016, arXiv:1602.07261 [9] Florian Schroff, Dmitry Kalenichenko, James Philbin FaceNet A Unified Embedding for Face Recognition and Clustering IEEE Computer Society Conference on Computer Vision and Pattern Recognition 2015, 2015, p.815823 FACE AUTHENTICATION METHOD BASED UPON APPLICATIONS TENSORFLOW ROBOT AND RECEPTION Cao Minh Tien, Nguyen Minh Son, Phan Thi Huong ABSTRACT: This article proposes a method of face detection to apply to the Reception Robot Facial recognition is a way to help guests feel more friendly, more harmonious The purpose of greeting guests is to demonstrate intelligence and a stepping stone for the development of the brain The 58 cm high NAO robot is equipped with two cameras and many other sensors Facenet facial identification method and combination with Tensorflow tool were used in this study The interaction between the guest and the robot using the top camera from of the robot, the robot recognizes and greet in Vietnamese language via google API With unfamiliar face - knowing the robot responds to greetings and acquaintances The process of testing over 50 guests, accurate identification results 89.7 % ... 456 PHƢƠNG PHÁP XÁC THỰC KHUÔN MẶT DỰA TRÊN TENSORFLOW VÀ ỨNG DỤNG VÀO ROBOT TIẾP TÂN Theo quy trình hình 4, đƣa hình chứa khn mặt vào hệ thống hệ thống tiến hành phát khn mặt, cắt khn mặt, rút...454 PHƢƠNG PHÁP XÁC THỰC KHUÔN MẶT DỰA TRÊN TENSORFLOW VÀ ỨNG DỤNG VÀO ROBOT TIẾP TÂN Hình Kết thuật tốn FaceNet khoảng cách khn mặt [1] 2.1.2 Robot NAO Robot NAO đƣợc phát triển... cơng chức cho Robot nhận diện đƣợc ngƣời chào tiếng Việt Từ áp dụng kết đề tài vào nhiều vấn đề thực tế nhƣ: ứng dụng nhận diện khuôn mặt vào hệ thống điểm danh, ứng dụng Robot vào công việc