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

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 trang 1

Trang 1

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 trang 2

Trang 2

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 trang 3

Trang 3

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 trang 4

Trang 4

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 trang 5

Trang 5

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 trang 6

Trang 6

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 trang 7

Trang 7

pdf 7 trang xuanhieu 3640
Bạn đang xem 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

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

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:

  • pdfnhan_dien_khuon_mat_su_dung_mang_noron_tich_chap_xep_chong_v.pdf