Nhận diện khuôn mặt sử dụng mạng nơron tích chập xếp chồng và mô hình FaceNet
Mạng nơ-ron tích chập (CNN) là một trong những mô hình học sâu hiệu quả
nhất trong lĩnh vực nhận diện khuôn mặt, các vùng hình ảnh khác nhau luôn
được sử dụng đồng thời khi trích xuất các đặc trưng hình ảnh, nhưng trong thực
tế, các phần của khuôn mặt đóng những vai trò khác nhau trong việc nhận diện.
Trong bài báo này, chúng tôi sử dụng mối tương quan giữa phát hiện và hiệu
chỉnh để nâng cao hiệu suất trong một mạng nơ-ron tích chập xếp chồng
(MTCNN). Ngoài ra, chúng tôi sử dụng framework FaceNet của Google để tìm
hiểu cách ánh xạ từ hình ảnh khuôn mặt đến không gian Euclide, nơi khoảng
cách tương ứng trực tiếp với độ đo độ tương tự khuôn mặt để trích xuất hiệu suất
của các thuật toán đặc trưng khuôn mặt. Thuật toán gộp trung bình có trọng số
được áp dụng cho mạng FaceNet và thuật toán nhận dạng khuôn mặt dựa trên
mô hình FaceNet cải tiến được đề xuất. Thực nghiệm và ứng dụng thử nghiệm
cho thấy thuật toán nhận dạng khuôn mặt được đề xuất có độ chính xác nhận
dạng cao sử dụng phương pháp nhận dạng khuôn mặt dựa trên học sâu
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Tóm tắt nội dung tài liệu: Nhận diện khuôn mặt sử dụng mạng nơron tích chập xếp chồng và mô hình FaceNet
ss function là tối thiểu hóa khoảng Kiến trúc bao gồm 13 lớp tích chập, 5 lớp max-pooling cách giữa 2 ảnh khi chúng là negative và tối đa hóa khoảng và 3 lớp kết nối đầy đủ. Số lớp có các tham số có thể điều cách khi chúng là positive. chỉnh là 16 (13 lớp tích chập và 3 lớp kết nối đầy đủ). Số lượng bộ lọc trong khối đầu tiên là 64, con số này được nhân đôi trong các khối tiếp theo đó cho đến khi đạt 512. Mô hình này được hoàn thiện bởi hai lớp ẩn kết nối đầy đủ và một lớp đầu ra. Hai lớp kết nối đầy đủ có cùng số nơ-ron là 4096. Lớp đầu ra bao gồm 1000 nơ-ron tương ứng với số Hình 5. Sai số bộ ba tối thiểu hóa khoảng cách giữa ảnh (Anchor) và ảnh loại của tập dữ liệu Imagenet. (Positive) và tối đa hóa khoảng cách giữa ảnh (Anchor) và ảnh (Negative) Trong bước nhận dạng hay phân lớp tức là xác định Do đó để loại bỏ ảnh hưởng của các trường hợp nhận danh tính (identity) hay nhãn của ảnh (label) - đó là ảnh của diện đúng Negative và Positive lên hàm loss function. Ta sẽ ai, ở bước nhận dạng/phân lớp, chúng tôi sử dụng phương điều chỉnh giá trị đóng góp của nó vào hàm loss function pháp VGG16. VGG16 sẽ tiến hành phân lớp ảnh trong tập về 0. huấn luyện, khi đưa ảnh vào nhận dạng sẽ được so sánh, Tức là nếu: tìm ra ảnh đó thuộc vào lớp nào. ‖f(A) − f(P)‖ − ‖f(A) − f(N)‖ + α ≤ 0 (3) Thực nghiệm trên các bộ dữ liệu được cộng đồng đánh giá sử dụng (trong phần 4.1). Từ đó xây dựng ứng dụng sẽ được điều chỉnh về 0. Khi đó hàm loss function trở nhận diện khuôn mặt cho đối tượng sinh viên và các cán bộ thành: giảng viên trên một số dữ liệu thu thập được. Cách tiếp cận ( ) ∑ ‖ ( ) ( )‖ ‖ ( ) ℒ A, P, N = max ( f A − f P − f A − của chúng tôi là sử dụng mô hình đạt độ chính xác cao và f(N )‖ + α, 0) (4) hiệu quả trong việc nhận diện khuôn mặt. Để kết hợp các Như vậy khi áp dụng Triple loss vào các mô hình phương pháp nhận dạng khuôn mặt nhằm đạt hiệu quả convolutional neural network ta có thể tạo ra các biểu diễn cao, trong phương pháp đề xuất, chúng tôi đưa ra phương vector tốt nhất cho mỗi một bức ảnh. Những biểu diễn véc- pháp phát hiện khuôn mặt (MTCNN), trích chọn đặc trưng tơ này sẽ phân biệt tốt các ảnh Negative rất giống ảnh (FaceNet), phân lớp và nhận diện khuôn mặt (VGG16). Positive. Và đồng thời các bức ảnh thuộc cùng một label sẽ 4. THỰC NGHIỆM VÀ KẾT QUẢ trở nên gần nhau hơn trong không gian chiếu Euclidean. 4.1. Mô tả dữ liệu 3.3. Nhận dạng và phân lớp (VGG16) Bộ dữ liệu ngoài có bộ dữ liệu mẫu AT&T và Yale được công bố và sử dụng khá rộng rãi cho bài toán nhận diện khuôn mặt [6, 16, 17] gồm có thêm bộ dữ liệu thu thập thêm gồm ảnh của 15 sinh viên, 36 giảng viên trong khoa CNTT và 455 giảng viên Trường Đại học Kinh tế Kỹ thuật - Công nghiệp Hà Nội. Hình 7. Các ảnh của đối tượng “s1” trong dữ liệu AT&T Hình 6. Kiến trúc của VGG16 (Nguồn: https://nttuan8.com/bai-6- convolutional-neural-network) Hình 8. Ảnh của 5 người đầu tiên trong dữ liệu AT&T VGG16 là mạng CNN được đề xuất bởi K. Simonyan and Bộ dữ liệu khuôn mặt AT&T (hay còn gọi là dữ liệu ORL) A. Zisserman, University of Oxford [13]. Mô hình này giành được tạo bởi Phòng thí nghiệm AT&T thuộc Đại học Website: https://tapchikhcn.haui.edu.vn Vol. 57 - No. 3 (June 2021) ● Journal of SCIENCE & TECHNOLOGY 67 KHOA H ỌC CÔNG NGHỆ P-ISSN 1859-3585 E-ISSN 2615-9619 Cambridge, năm 2002. Dữ liệu gồm 400 hình ảnh của 40 ảnh của các đối tượng trong tư thế đứng, chụp từ phía trước người với 10 biểu cảm khuôn mặt khác nhau cho mỗi và một số trường hợp có hơi nghiêng sang trái hoặc phải, lên người, mỗi biểu cảm tương ứng một hình ảnh. Tất cả các trên hoặc xuống dưới, độ tương phản, ánh sáng khác nhau, hình ảnh được chụp trên nền đồng nhất tối màu với các đối gồm cả ảnh có đeo kính hoặc không đeo kính, có mũ hoặc tượng trong tư thế thẳng đứng, chụp từ phía trước và một không mũ. Ảnh khuôn mặt mọi người đều quan sát được, tức số trường hợp có hơi nghiêng sang trái hoặc phải, lên trên không bị che mất những đặc trưng liên quan. hoặc xuống dưới. Ảnh khuôn mặt mọi người đều quan sát Hình 11 đưa ra minh họa một phần tập ảnh được huấn được, tức không bị che mất những đặc trưng liên quan. Tất luyện (processed) sau khi đã tìm và cắt khuôn mặt. cả các hình ảnh đều là ảnh đa mức xám với kích thước 112(cao) × 92(rộng) pixel. Hình 7, 8 minh hoạ các hình ảnh với các trạng thái khác nhau của một người trong tập dữ liệu này. Bộ dữ liệu khuôn mặt Yale được tạo bởi Trung tâm điều Hình 11. Minh họa một phần của ảnh huấn luyện khiển và thị giác máy tính tại Đại học Yale, New Haven. Tập Hình 12 đưa ra một mẫu về tập ảnh thử nghiệm (raw). dữ liệu này gồm 165 hình ảnh khuôn mặt chụp từ phía trước và dưới dạng đa cấp xám của 15 người khác nhau. Có 11 hình ảnh cho mỗi người mô tả các biểu cảm khuôn mặt và điều kiện khác nhau như ánh sáng (ánh sáng phía bên phải, ánh sáng ở trung tâm và ánh sáng phía bên trái), trạng thái nét mặt (bình thường, buồn, vui, ngạc nhiên, Hình 12. Minh họa về ảnh thử nghiệm ban đầu buồn ngủ và nháy mắt), gồm cả ảnh có đeo kính hoặc 4.2. Kết quả thử nghiệm không đeo kính. Kích thước của tệp tin hình ảnh tất cả đều Quá trình thử nghiệm được thực hiện trên hệ thống là 243(cao) × 320(rộng). Hình 9, 10 minh hoạ các hình ảnh máy chủ với cấu hình bộ xử lý GPU, giới bộ nhớ 16Gb RAM với độ sáng, trạng thái khác nhau của một người trong tập và 16Gb GPU. Hệ thống được cài đặt môi trường Python, dữ liệu này. các frameworks và thư viện cơ bản cho học máy (machine Tập dữ liệu ORL và Yale được chia làm 2 tập chính là tập learning) như numpy, matplotlib, tensorflow, keras,... thuận luyện (processed) và tập thử nghiệm (raw) và được nhận lợi cho việc tổ chức dữ liệu phục vụ chạy thử nghiệm và lưu diện thông qua ảnh Các tập dữ liệu còn lại cũng được chia trữ kết quả. Theo đó, chương trình thử nghiệm của chúng làm 2 tập chính như bộ ORL và Yale nhưng theo tỷ lệ tập tôi được xây dựng trên môi trường Python và sử dụng thử nghiệm bằng tập luyện và được nhận diện thông qua frameworks của tensorflow với giao diện thư viện keras, webcam. đây là thư viện cung cấp các tính năng khá mạnh mẽ cho xử lý ảnh và cho mô hình Neural network. Kết quả trên bộ dữ liệu AT&T và Yale khi so sánh giữa 3 phương pháp, được trình bày ở bảng 1. Để có thể so sánh giữa các mô hình tôi sử dụng phương pháp CNN làm tiêu chuẩn phương pháp này cho tỉ lệ accuracy đạt 95%. Đề xuất ban đầu dùng phương pháp MTCNN, FaceNet và sử dụng SVM để phân lớp tuy nhiên tỷ lệ này đạt 95,1% và tương đương với CNN. Chúng tôi đã đưa ra đề xuất cải tiến dùng phương pháp như trên nhưng thay vì sử dụng SVM chúng tôi sử dụng VGG16 và phương pháp này cho kết quả Hình 9. Một phần của tập thử nghiệm trong tập dữ liệu ORL tốt hơn đạt 97,0% cao hơn so với hai phương pháp trước. Bảng 1. Kết quả thử nghiệm giữa các mô hình của tập dữ liệu Yale, AT&T Phương pháp Tỉ lệ train model CNN 95,0% MTCNN, FaceNet sử dụng SVM (*) 95,1% MTCNN, FaceNet sử dụng VGG16 (**) 97,0% Kết quả quá trình huấn luyện VGG16 trên hai tập dữ liệu Hình 10. Các ảnh của đối tượng “subject01” trong dữ liệu Yale AT&T và Yale được thể hiện trong hình 13. Đồ thị thể hiện tỉ (Nguồn:https://colab.research.google.com/drive/1OTSK9mJdtpuzArCTsEKh5eIq5 lệ khi huấn luyện dữ liệu sử dụng VGG16 trên tập AT&T và OmOyq2o) Yale. Kết quả thể hiện được hiệu quả trên số epoch và độ Bộ dữ liệu thu thập để chạy ứng dụng gồm 15 sinh viên, chính xác trong quá trình huấn luyện. Đây là kết quả 10 lần 36 giảng viên khoa CNTT và 455 cán bộ giảng viên khác của chạy thử nghiệm. Kết quả trên cả hai tập dữ liệu đều cho trường Đại học Kinh tế Kỹ thuật Công nghiệp. Dữ liệu gồm kết quả độ chính xác phân lớp (accuracy) tốt. 68 Tạp chí KHOA HỌC VÀ CÔNG NGHỆ ● Tập 57 - Số 3 (6/2021) Website: https://tapchikhcn.haui.edu.vn P-ISSN 1859-3585 E-ISSN 2615-9619 SCIENCE - TECHNOLOGY Từ kết quả trên, chúng tôi xây dựng ứng dụng cho việc 5. KẾT LUẬN nhận diện khuôn mặt cho dữ liệu thu thập là các sinh viên Trong bài báo này, chúng tôi đã đề xuất mô hình dựa và cán bộ giảng viên như mô tả trong mục 4.1. Ứng dụng trên mạng nơron tích chập xếp chồng (MTCNN) để nhận được thực hiện trên PyCharm Community Edition, sử dụng diện khuôn mặt con người. Mô hình này bao gồm 3 mạng Python 3.7 virtualenv. CNN xếp chồng và đồng thời hoạt động khi detect khuôn mặt. Mỗi mạng có cấu trúc khác nhau và đảm nhiệm vai trò khác nhau trong task. Đầu ra của mô hình là vị trí khuôn mặt và các điểm trên mặt như: mắt, mũi, miệng. Trong mô hình này phát hiện khuôn mặt bằng MTCNN, trích xuất đặc trưng bằng Facenet và dùng SVM để phân lớp và nhận diện mặt. Bên cạnh đó chúng tôi cải tiến MTCNN, trích xuất đặc trưng bằng Facenet kết hợp việc phân lớp của mô hình VGG16. Giải pháp này có nhiều ưu điểm như: nhận diện được mặt ở nhiều góc khác nhau, không cần nhìn thẳng, nhận diện chính xác hơn, trích xuất được nhiều đặc trưng khuôn mặt hơn. Chúng tôi cũng tiến hành thực nghiệm bằng MTCNN sử dụng mô hình Facenet và MTCNN sử dụng mô hình VGG16 để so sánh độ chính xác. Các mô hình đảm bảo độ chính xác cao trong việc nhận diện mặt ở nhiều góc độ và đảm bảo đầu ra các đặc trưng khuôn mặt. Dựa trên các mô hình này chúng tôi tiến hành xây dựng ứng dụng nhận diện khuôn mặt với tập dữ liệu là các cán bộ giảng viên và sinh viên. Thời gian tới, chúng tôi sẽ nghiên cứu cải thiện hiệu quả phân lớp trong các mô hình hiện nay đạt kết quả cao của AlexNet, VGG, Inception [17, 18, 19] , phân tích điều chỉnh một số lớp CONV bằng lớp nơron. Bên cạnh đó, chúng tôi Hình 13. Đồ thị tỉ lệ khi huấn luyện dữ liệu sử dụng VGG16 trên tập AT&T, Yale thiết kế hệ thống thu thập dữ liệu hình ảnh để tạo bộ dữ liệu huấn luyện cho mô hình. Việc xây dựng ứng dụng nhận diện khuôn mặt cho đối tượng sinh viên, giảng viên bước đầu đã đạt được kết quả tốt và có tính thực tiễn cao. Đây là cơ sở đó chúng tôi phát triển tiếp và xây dựng ứng dụng cho bài toán thực tiễn như hệ thống điểm danh khuôn mặt các sinh viên trong lớp học, hệ thống nhận diện cán bộ tại cơ quan, hệ thống chấm công, hệ thống nhận diện cư dân TÀI LIỆU THAM KHẢO [1]. Jing C., Song T., Zhuang L., Liu G., Wang L., Liu K., 2018. A survey of face recognition technology based on deep convolutional neural networks. Comput. Appl. Softw. 35(1), 223-231. https://doi.org/10.3969/j.issn.1000- 386x.2018.01.039 [2]. Mao Y., 2017. Research on Face Recognition Algorithms Based on Deep Neural Networks. Master, Zhejiang University. [3]. Y. LeCun, Y. Bengio, 1995. Convolutional networks for images, speech, and time-series. In M. A. Arbib, editor, The Handbook of Brain Theory and Neural Networks. MIT Press. [4]. Lionel Landry S. De o, Elie T. Fute, Emmanuel Tonye, 2018. CNNSFR: A Convolutional Neural Network System for Face Detection and Recognition. International Journal of Advanced Computer Science and Applications, Vol. 9, No. 12, pp.240-244. [5]. Mei Wang, Weihong Deng, 2021. Deep face recognition: A survey. Neuro Hình 14. Minh họa ứng dụng trên bộ dữ liệu cán bộ giảng viên Khoa Công computing Volume 429, Pages 215-244. nghệ thông tin https://doi.org/10.1016/j.neucom.2020.10.081 Website: https://tapchikhcn.haui.edu.vn Vol. 57 - No. 3 (June 2021) ● Journal of SCIENCE & TECHNOLOGY 69 KHOA H ỌC CÔNG NGHỆ P-ISSN 1859-3585 E-ISSN 2615-9619 [6]. Patrik Kamencay, Miroslav Benco, Tomas Mizdos, Roman Radil, 2017. A New Method for Face Recognition Using Convolutional Neural Network. Digital Image Processing and Computer Graphics, Vol. 15, No. 4, pp.663-672. [7]. James Philbin, Florian Schro, Dmitry Kalenichenko, 2015. FaceNet: A Unified Embedding for Face Recognition and Clustering. IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [8]. Omkar M. Parkhi, Andrea Vedaldi, Andrew Zisserman, 2015. Deep Face Recognition. University of Oxford. [9]. Kevin Santoso, Gede Putra Kusuma, Kevin Santoso, Gede Putra Kusuma, 2018. Face Recognition Using Modified OpenFace. 3rd International Conference on Computer Science and Computational Intelligence, Procedia Computer Science, No.135, pp.510–517. [10]. Sonali Sawardekar, Sowmiya Raksha Naik, 2018. Facial Expression Recognition using Efficient LBP and CNN. International Research Journal of Engineering and Technology (IRJET), e-ISSN: 2395-0056, Volume: 05, Issue: 06, p-ISSN: 2395-0072, pp.2273-2277. [11]. Andre Teixeira Lopes, Edilson de Aguiar, Thiago Oliveira-Santos, 2015. A Facial Expression Recognition System Using Convolutional Networks. 28th SIBGRAPI on Conference Graphics, Patterns and Images. [12]. Ekberjan Derman and Albert Ali Salah, 2018. Continuous Real-Time Vehicle Driver Authentication Using Convolutional Neural Network Based Face Recognition. 13th IEEE International Conference on Automatic Face & Gesture Recognition. [13]. F. Schroff, D. Kalenichenko, J. Philbin, 2015. FaceNet: A unified embedding for face recognition and clustering. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 815-823, doi: 10.1109/CVPR.2015.7298682. [14]. K. Simonyan, Andrew Zisserman, 2015. Very Deep Convolutional Networks for Large-Scale Image Recognition. In Journal CoRR, volume abs/1409.1556. [15]. Hoda Mohammadzade, Amirhossein Sayyafan, Benyamin Ghojogh, 2018. Pixel-Level Alignment of Facial Images for High Accuracy Recognition Using Ensemble of Patches. Journal of the Optical Society of America A 35(7). [16]. M. A. Abuzneid, A. Mahmood, 2018. Enhanced Human Face Recognition Using LBPH Descriptor, Multi-KNN, and BPNN. IEEE Access, Vol. 6, pp.20641- 20651. [17]. Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton, 2012. Imagenet classification with deep convolutional neural networks. In F.Pereira, C. J. C. Burges, L. Bottou, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 25, pages 1097–1105. Curran Associates, Inc. [18]. Karen Simonyan, Andrew Zisserman, 2014. Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv e-prints, page arXiv:1409.1556. [19]. Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott E. Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich, 2015. Going deeper with convolutions. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1–9. AUTHORS INFORMATION 1 1 1 2 Tran Hong Viet , Do Dinh Tien , Nguyen Thi Tra , Tran Lam Quan 1Faculty of Information Technology, University of Economics - Technical for Industries 2Center of Aviation Science Application, VietnamAirlines 70 Tạp chí KHOA HỌC VÀ CÔNG NGHỆ ● Tập 57 - Số 3 (6/2021) Website: https://tapchikhcn.haui.edu.vn
File đính kèm:
- nhan_dien_khuon_mat_su_dung_mang_noron_tich_chap_xep_chong_v.pdf