Phát hiện giả mạo khuôn mặt sử dụng công nghệ trí tuệ nhân tạo
Phát hiện giả mạo khuôn mặt là một bước quan trọng trong các hệ thống nhận
dạng khuôn mặt. Gần đây, sự phát triển của các mạng nơ-ron tích chập (Convolution
Neural Networks - CNNs) đang cho thấy kết quả vượt trội so với các phương pháp
truyền thống sử dụng các thuật toán xử lý ảnh khác. Bên cạnh đó, xu hướng di động
hóa đang đ i hỏi các phần mềm cần đáp ứng được khả năng thực thi trên các thiết bị
có năng lực hạn chế như điện thoại, thiết bị nhúng. Trong bài báo này, chúng tôi đề
xuất mạng nơ-ron tích chập hduNet được phát triển từ mạng MobilenetV2 của Google
để phát hiện giả mạo khuôn mặt nhằm hướng tới mục tiêu chạy trên các thiết bị phần
cứng yếu không sử dụng bộ xử lý đồ họa (GPU) mà vẫn đáp ứng độ chính xác. Ngoài
ra, chúng tôi cũng bổ sung thêm 5000 dữ liệu ảnh mang đặc trưng của người châu Á
để tăng cường hiệu quả và tránh việc mất cân bằng trong bộ dữ liệu chuẩn
LCC_FASD [1] vốn chỉ thiên về ảnh giả mạo với 16885 ảnh giả mạo và chỉ 1942 ảnh
thật. Cuối cùng, chúng tôi thực hiện đánh giá hiệu quả của mạng đề xuất trên tập dữ
liệu mới thu thập và ứng dụng kết quả trong một ứng dụng thực tiễn cụ thể.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Phát hiện giả mạo khuôn mặt sử dụng công nghệ trí tuệ nhân tạo
nhận thấy rằng. Cơ sở dữ liệu LCC_FASD tập trung phần lớn vào thu thập ảnh giả mạo với tỉ lệ ảnh thật/ảnh giả mạo chệnh lệch nhau rất lớn xấp xỉ 1/9 điều này có xu hƣớng dẫn đến kết quả quá trình huấn luyện mạng nơ-ron bị kém chính xác (underfitting). Trong khi đó, cơ sở dữ liệu NUAA với số lƣợng đối tƣợng không nhiều, chỉ 15 ngƣời khác nhau. Ngoài ra dạng tấn công của cơ sở dữ liệu NUAA chỉ là phƣơng pháp chụp ảnh và in lại trên giấy A4 (2D print-attack) mà không có đa dạng hóa hình thức tấn công bằng cách quay chụp lại khuôn mặt từ thiết bị số nhƣ điện thoại, máy tính bảng, (video replay attacks). Chính vì thế, với kỳ vọng có một mô hình mạng tốt, có tính tổng quát cao, phù hợp với đặc trƣng của ngƣời châu Á trong cả quá trình huấn luyện và quá trình kiểm thử thực tế. Chúng tôi xây dựng cơ sở dữ liệu mới, hduNet, tổng hợp dựa trên 2 cơ sở dữ liệu trên và đóng góp thêm nhằm mục tiêu phù hợp với dữ liệu ngƣời châu Á, chi tiết đƣợc mô tả trong bảng 2. Bảng 2. Thống kê số lƣợng ảnh trong tập dữ liệu hduDB Phần Ảnh giả mạo Ảnh thật Training 8000 4800 Valuation 2000 1200 Evaluation 4436 330 Tổng 14436 6330 4. THỰC NGHIỆM VÀ KẾT QUẢ 4.1. Môi trƣờng thực nghiệm Thuật toán đƣợc cài đặt bằng ngôn ngữ Python trên thƣ viện hỗ trợ phát triển thuật toán học sâu Keras3. Ngoài ra quá trình huấn luyện thực hiện trên máy tính với hệ điều hành Ubuntu 18.4-LTS đƣợc trang bị Intel(R) Xeon(R) W-2133 CPU @ 3.60GHz (16GB RAM), NVIDIA GeForce GTX GPU (11GB). 4.2. Tiền xử lý dữ liệu Do sử dụng 3 nguồn dữ liệu khác nhau, để thực hiện huấn luyện mô hình mạng nơ-ron nhân chập chúng tôi cài đặt một số bƣớc tiền xử lý dữ liệu gồm: Cơ sở dữ liệu LCC_FASD và NUAA: Thực hiện co, giãn ảnh về kích thƣớc chung là 128 x 128. Điều này đồng nghĩa với việc kích thƣớc ảnh đầu vào trong mạng hduNet là 128 x128, không phải là 224 x 224 của mạng MobileNetV2. Điều này, cũng giúp giảm đƣợc chi phí tính toán trong mạng nơ-ron. 3 Thư viện lập trình mạng học sâu (deep learning): https://keras.io/ 88 TẠP CHÍ KHOA HỌC TRƢỜNG ĐẠI HỌC HỒNG ĐỨC - SỐ 51.2020 Cơ sở dữ liệu hduNet: Vì dữ liệu do chúng tôi thực hiện đang ở mức thô gồm các video quay chụp từ camera an ninh, thiết bị di động, nên chúng tôi thực hiện quá trình xử lý theo các bƣớc nhƣ sau: Đầu tiên, video đầu vào đƣợc phân đoạn thành các khung hình tuần tự. Bƣớc tiếp theo, chúng tôi thực hiện thuật toán phát hiện khuôn mặt trong khung hình. Thứ ba, với những khung hình có chứa khuôn mặt chúng tôi xác định kích thƣớc của chúng và cắt vùng ảnh chứa khuôn mặt để lƣu trữ. Cuối cùng, với mỗi ảnh mới chỉ chứa khuôn mặt đƣợc điều chỉnh về kích thƣớc chuẩn 128 x 128. 4.3. Huấn luyện và đánh giá mô hình Chúng tôi huấn luyện mạng hduNet với những tham số mạng gồm: learning rate là 0.0001, kích thƣớc batch size là 32, thuật toán tối ƣu Adam [19] và số lƣợng Epochs là 28. Hình 3 mô tả quá trình huấn luyện mạng hduNet. Hình 3. Biểu đồ huấn luyện mạng hduNet với số lƣợng Epochs là 28 Qua hình 3 cho chúng ta thấy mô hình mạng nơ-ron hduNet học khá tốt, điều này đƣợc thể hiện qua 2 quá trình huấn luyện (training) và kiểm thử (validation). Biểu đồ hàm mục tiêu (loss) và độ chính xác (accuracy) của huấn luyện và kiểm thử đều bám sát nhau và đạt kết quả ấn tƣợng khi kết thúc huấn luyện với giá trị hàm mục tiêu giảm còn 0,02 và độ chính xác đạt 0.98 còn quá trình kiểm thử giá trị hàm mục tiêu và độ chính xác tƣơng ứng đạt 0,08 và 0,97. Để đánh giá chất lƣợng mạng nơ-ron và độ tổng quát dữ liệu của mô hình hduNet chúng tôi thực hiện chạy mô hình mạng trên một tập dữ liệu đánh giá (evaluation data) gồm 4436 ảnh giả mạo và 330 ảnh thật, không nằm trong dữ liệu dùng huấn luyện và kiểm thử. Độ đo mà chúng tôi sử dụng là 3 độ đo phổ biến đƣợc sử dụng đánh giá các hệ thống sinh trắc học gồm: Độ chính xác (Accuracy) công thức (3), Tỉ lệ phân loại ảnh giả mạo nhầm thành ảnh thật (False Acceptance Rate - FAR) công thức (1), Tỉ lệ phân loại ảnh thật bị nhầm thành giả mạo (False Rejection Rate - FRR) công thức (2). Bảng 3 diễn giải cách tính FAR, FRR và Accuracy. 89 TẠP CHÍ KHOA HỌC TRƢỜNG ĐẠI HỌC HỒNG ĐỨC - SỐ 51.2020 Bảng 3. Ma trận nhầm lẫn (Confusion matrix) Phân lớp bởi hệ thống Lớp Thật Giả mạo Phân lớp đúng Thật TP FN (nhãn) Giả mạo FP TN Trong đó: TP: Số lƣợng các mẫu thuộc lớp thật đƣợc phân loại đúng là ảnh thật. FP: Số lƣợng các mẫu thuộc lớp giả mạo đƣợc phân loại nhầm thành ảnh thật. FN: Số lƣợng các mẫu thuộc lớp thật đƣợc phân loại thành giả mạo. TN: Số lƣợng các mẫu thuộc lớp giả mạo đƣợc phân loại đúng là giả mạo. N: Tổng số lƣợng các mẫu đƣợc đánh giá (N = 4436 + 330 = 4766). Kết quả tƣơng ứng chúng tôi thu đƣợc là FAR = 0.124, FRR =0.008 và Accuracy = 0.867. Kết quả của chúng tôi đƣợc đem so sánh với kết quả độ chính xác của nhóm tác giả [1] cùng sử dụng các mạng nơ-ron nhân chập CNNs khác. Bảng 4 cho chúng ta thấy mặc dù kết quả độ chính xác của chúng tôi thấp hơn gần 10% so với kiến trúc mạng tốt nhất SeNet-154, nhƣng theo bảng 1 chúng tôi đã chỉ ra rằng mục tiêu của kiến trúc mạng này cần đạt đƣợc là kích thƣớc mạng cần đủ nhẹ với số lƣợng tham số ít. Chúng tôi đánh đổi một tỉ lệ để đạt đƣợc kiến trúc mạng nhẹ và độ chính xác vẫn ở mức cao là 86,7%. Ngoài ra, trong các kịch bản ứng dụng thực tế hệ thống nhận dạng khuôn mặt phải đối mặt với quá trình đối sánh và nhận dạng khuôn mặt, công đoạn này có thời gian tính toán tỉ lệ thuận với số lƣợng mẫu (ngƣời) trong cơ sở dữ liệu đối sánh. Hoặc là, trong các ứng dụng mà việc đọc dữ liệu từ luồng camera với tốc độ thông thƣờng 24 hình/giây, tốc độ xử lý của các ứng dụng là điều cần đƣợc ƣu tiên. Để đối phó với ràng buộc xử lý luồng video từ camera chúng tôi sẽ trình bày cụ thể trong phần tiếp theo. Bảng 4. So sánh độ chính xác của hduNet và các CNNs Mạng CNNs Độ chính xác (%) Xception 95.9 ResNext-50 94.0 SeNet-154 96.2 hduNet 86.7 90 TẠP CHÍ KHOA HỌC TRƢỜNG ĐẠI HỌC HỒNG ĐỨC - SỐ 51.2020 4.4. Ứng dụng thực tiễn Trong các ứng dụng thực tiễn, việc phát hiện giả mạo khuôn mặt thƣờng đi kèm cùng nhiều thuật toán khác nhƣ phát hiện khuôn mặt, đánh dấu điểm đặc trƣng (mắt, mũi, miệng) trên khuôn mặt, trích chọn đặc trƣng (embedding features) và phân loại. Ngoài ra, dữ liệu đầu vào thƣờng sẽ là luồng video đƣợc đọc từ camera, webcam thay vì ảnh tĩnh nhƣ quá trình huấn luyện và kiểm thử. Chính vì thế, thuật toán trở nên thách thức hơn với việc xử lý luồng dữ liệu video (trung bình khoảng 24 khung hình/giây). Để giải quyết khó khăn này, chúng tôi cài đặt thêm một thuật toán hậu xử lý (post- processing) đƣợc trình bày dƣới đây. Thuật toán: phát hiện giả mạo khuôn mặt với dữ liệu video Đầu vào: Ảnh thu nhận từ webcam, camera 01 : While True : 02 : Begin : 03 : count_real = 0 04 : Dò tìm và phát hiện khuôn mặt trong ảnh 05 : Cắt vùng khuôn mặt phát hiện 06 : Phát hiện khuôn mặt giả mạo 07 : count_real += 1 08 : If count_real > 5 : 09 : Begin : 10 : Hiển thị và vẽ hình bao quanh khuôn mặt với nhãn real 11 : count_real = 0 12 : End if : 13 : else 14 : Hiển thị và vẽ hình bao quanh khuôn mặt với nhãn fake 15 : End (a) (b) (c) Hình 4. Một số kết quả thực nghiệm phát hiện giả mạo khuôn mặt từ camera giám sát (a) khuôn mặt thật trước camera, (b) khuôn mặt giả mạo được chụp bằng điện thoại, (c) khuôn mặt giả mạo được in từ ảnh 91 TẠP CHÍ KHOA HỌC TRƢỜNG ĐẠI HỌC HỒNG ĐỨC - SỐ 51.2020 Để đánh giá về thời gian xử lý, chúng tôi thực nghiệm mô hình hduNet trên máy tính thông thƣờng đƣợc trang bị CPU Intel® Core™ i5-5300U, RAM 4GB. Qua bảng 5 cho chúng ta thấy rằng, mặc dù hduNet có thời gian xử lý tối đa xấp xỉ đạt 15.4 FPS (Frames Per Second) nhƣng với việc kết hợp vào bộ dò tìm khuôn mặt và hậu xử lý thì về tổng thể thời gian xử lý vẫn cho kết quả gần thời gian thực (real-time) với trung bình 22.5 FPS. Nhƣ vậy, kết hợp mô hình hduNet và áp dụng thêm kĩ thuật hậu xử lý, thuật toán của chúng tôi trở nên bền vững và có tiềm năng ứng dụng trong các giải pháp thực tế hơn. Hình 4 mô tả một số kết quả thực nghiệm khi chạy mô hình trong điều kiện thực tế. Bảng 5. Thời gian xử lý Mô hình Max FPS hduNet 15.4 Tích hợp hệ thống 22.5 5. KẾT LUẬN Trong bài báo này, chúng tôi trình bày một hƣớng tiếp cận mới mà sử dụng phƣơng pháp học chuyển giao trong các mạng nơ-ron tích chập để giải quyết vấn đề phát hiện giả mạo khuôn mặt. Ngoài ra, chúng tôi cũng đóng góp thêm để xây dựng một cơ sở dữ liệu dành cho việc phát hiện giả mạo khuôn mặt với đặc trƣng khuôn mặt của ngƣời Châu Á. Cơ sở dữ liệu mới khắc phục đƣợc những hạn chế của 2 cơ sở dữ liệu LCC_ FASD và NUAA, trở thành một cơ sở dữ liệu mang tính đại diện tốt, mức độ tổng quát và đa dạng cao. Nhìn chung, giải pháp của chúng tôi đơn giản nhƣng hiệu quả và dễ sử dụng trong các tình huống ứng dụng thực tế. Trong tƣơng lai, chúng tôi hƣớng tới tích hợp mô hình phát hiện giả mạo khuôn mặt vào trong những ứng dụng nhƣ điểm danh, chấm công, khóa cửa nhận dạng khuôn mặt. TÀI LIỆU THAM KHẢO [1] D. Timoshenko, K. Simonchik, V. Shutov, P. Zhelezneva and V. Grishkin (2019), Large Crowdcollected Facial Anti-Spoofing Dataset, in Computer Science and Information Technologies (CSIT), Yerevan, Armenia. [2] N. Evans (2019), Handbook of Biometric Anti-spoofing: Presentation Attack Detection, Springer. [3] Y. Li, K. Xu, Q. Yan, Y. Li, and R. H. Deng (2014), Understanding osn-based facial disclosure against face authentication systems, in Proceedings of the 9th ACM symposium on Information, computer and communications security. ACM. [4] Tiago de Freitas Pereira, Andre Anjos, José Mario De Martino, and Sebastien Marcel (2013), Can face anti-spoofing countermeasures work in a real world scenario?, in International Conference on Biometrics (ICB). 92 TẠP CHÍ KHOA HỌC TRƢỜNG ĐẠI HỌC HỒNG ĐỨC - SỐ 51.2020 [5] Tiago de Freitas Pereira, Andre Anjos, José Mario De Martino, and Sebastien Marcel (2012), Lbp- top based countermeasuré against face spoofing attacks, in Asian Conference on Computer Vision. [6] Jukka Maatta, Abdenour Hadid, and Matti Pietikainen (2011), Face spoofing detection from single images using micro-texture analysis, in International joint conference on Biometrics (IJCB). [7] Keyurkumar Patel, Hu Han, and Anil K Jain (2016), Secure face unlock: Spoof detection on smartphones, in IEEE Transactions on Information Forensics and Security. [8] Z. Boulkenafet, J. Komulainen and A. Hadid (2017), Face Antispoofing Using Speeded-Up Robust Features and Fisher Vector Encoding, IEEE Signal Processing Letters, vol. 24, pp. 141-145,. [9] J. Komulainen, A. Hadid and M. Pietikäinen (2013), Context based face anti- spoofing, in IEEE Sixth International Conference on Biometrics: Theory, Applications and Systems (BTAS), Arlington, VA. [10] J. Yang, Z. Lei, S. Liao and S. Z. Li (2013), Face liveness detection with component dependent descriptor, in International Conference on Biometrics (ICB), Madrid. [11] Zezheng Wang, Chenxu Zhao, Yunxiao Qin, Qiusheng Zhou, and Zhen Lei (2018), Exploiting temporal and depth information for multi-frame face anti-spoofing, CoRR, vol. abs/1811.05118. [12] Lei Li, Xiaoyi Feng, Zinelabidine Boulkenafet, Zhaoqiang Xia, Mingming Li, and Abdenour Hadid (2016), An original face anti-spoofing approach using partial convolutional neural network, in Sixth International Conference on Image Processing Theory, Tools and Applications (IPTA). [13] Keyurkumar Patel, Hu Han, and Anil K Jain (2016), Cross-database face antispoofing with robust feature representation, in Chinese Conference on Biometric Recognition. [14] Javier Hernandez-Ortega, Julian Fierrez, Aythami Morales, and Pedro Tome (2018), Time analysis of pulse-based face antispoofing in visible and nir, in Conference on Computer Vision and Pattern Recognition Workshops. [15] Shifeng Zhang, Xiaobo Wang, Ajian Liu, Chenxu Zhao, Jun Wan, Sergio Escalera, Hailin Shi, Zezheng Wang, and Stan Z Li (2018), Casia-surf: A dataset and benchmark for large-scale multi-modal face anti-spoofing, CoRR, vol. abs/1812.00408. [16] M. Sandler, A. Howard, M. Zhu, A. Zhmoginov and L. Chen (2018), MobileNetV2: Inverted Residuals and Linear Bottlenecks, in Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT. 93 TẠP CHÍ KHOA HỌC TRƢỜNG ĐẠI HỌC HỒNG ĐỨC - SỐ 51.2020 [17] J. Deng, W. Dong, R. Socher, L. Li, Kai Li and Li Fei-Fei (2009), ImageNet: A large-scale hierarchical image database, in IEEE Conference on Computer Vision and Pattern Recognition, Miami, FL. [18] Xiaoyang Tan, Yi Li, Jun Liu, and Lin Jiang (2010), Face liveness detection from a single image with sparse low rank bilinear discriminative model, in the 11th European conference on Computer vision, Berlin, Heidelberg. [19] Kingma Diederik P, Ba Jimmy (2015), Adam: A Method for Stochastic Optimization, in the 3rd International Conference for Learning Representations, San Diego. [20] Howard AG, Zhu M, Chen B, Kalenichenko D, Wang W, Weyand T, Andreetto M, Adam H (2017), MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications, in ArXiv. A DEEP LEARNING TECHNIQUE FOR FRAUD FACE DETECTION Le Van Hao, Trinh Thi Anh Loan, Le Viet Nam, Nguyen Duc Toan ABSTRACT Fraud face detection is a crucial procedure for many face recognition systems. In recent years, state-of-the-art approaches based on convolution neural networks (CNNs) show impressive results compared to traditional methods using hand-crafted features. In addition, the increasing trend of embedding the computer vision systems on mobile devices requires that the designed algorithms are capable of dealing with the time-critical constraint. In this paper, we first propose a CNN model, namely hduNet, developed from Google’s MobilenetV2 that provides a flexible trade-off between latency and accuracy, to detect different face spoofing attacks. We then provide an addition dataset of roughly 5000 images capturing the characteristics of Vietnamse people. Combining with LCC_FASD [1] dataset (which is only 1942 real face images, while having 16855 fake face images), the proposed model is carefully fine-tuned to optimize the computational cost as well as the classification accuracy. To validate the model, different experiments have been conducted, demonstrating interesting performance in comparison with other methods. Keywords: Face anti-spoofing, transfer learning, fine-tunning, convolution neural network. * Ngày nộp bài: 27/7/2020; Ngày gửi phản biện: 3/8/2020; Ngày duyệt đăng: 28/10/2020 * Bài báo này là kết quả nghiên cứu từ đề tài cấp cơ sở mã số ĐT-2019-26 của Trường Đại học Hồng Đức. 94
File đính kèm:
- phat_hien_gia_mao_khuon_mat_su_dung_cong_nghe_tri_tue_nhan_t.pdf