Ứng dụng mô hình facenet trong việc xây dựng và phát triển hệ thống nhận diện khuôn mặt tại trường đại học công nghiệp Hà Nội
Bạn đang xem tài liệu "Ứng dụng mô hình facenet trong việc xây dựng và phát triển hệ thống nhận diện khuôn mặt tại trường đại học công nghiệp Hà Nội", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- ung_dung_mo_hinh_facenet_trong_viec_xay_dung_va_phat_trien_h.pdf
Nội dung text: Ứng dụng mô hình facenet trong việc xây dựng và phát triển hệ thống nhận diện khuôn mặt tại trường đại học công nghiệp Hà Nội
- P-ISSN 1859-3585 E-ISSN 2615-9619 SCIENCE - TECHNOLOGY ỨNG DỤNG MÔ HÌNH FACENET TRONG VIỆC XÂY DỰNG VÀ PHÁT TRIỂN HỆ THỐNG NHẬN DIỆN KHUÔN MẶT TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI FACENET MODEL APPLICATION IN THE CONSTRUCTION AND DEVELOPMENT OF FACE RECOGNITION SYSTEM AT HANOI UNIVERSITY OF INDUSTRY Phạm Việt Anh1,*, Lê Xuân Hải1, Vương Trung Hiếu1 1. GIỚI THIỆU TÓM TẮT Hệ thống nhận diện Hệ thống nhận diện khuôn mặt là một trong những ứng dụng dựa trên nền tảng về xử lý ảnh và các phương pháp về khuôn mặt được tích hợp học máy, nó giúp máy tính tự động xác định hoặc nhận dạng một người nào đó từ một bức ảnh hay một khung hình video. rất nhiều trong các hệ Có rất nhiều những thuật toán đã được đề cập và một trong số chúng có thể kể tới là việc so sánh các đặc điểm khuôn mặt được trích chọn từ hình ảnh với một cơ sở dữ liệu về các khuôn mặt đã được thu thập từ trước đó (one-to-many matching) thống an ninh, thực thi [1]. Tuy nhiên, nếu chỉ sử dụng các thuật toán đơn thuần như vậy thì ngay cả với một cơ sở dữ liệu ảnh nhỏ, hệ thống nhận luật, chăm sóc sức khỏe, diện cũng sẽ tốn rất nhiều tài nguyên và thời gian trong việc tính toán mà vẫn chỉ đưa ra một dự đoán có độ chính xác rất giải trí, Hệ thống nhận thấp. Trong những năm gần đây, với sự phát triển mạnh mẽ về học sâu mà đặc biệt là sự phát triển của những mạng neural diện khuôn mặt là một tích chập thì các hệ thống nhân diện đã được chú trọng và cải tiến đáng kể hơn bao giờ hết. Mô hình Facenet ra mắt vào trong những ứng dụng năm 2015 và được ứng dụng vào hầu hết trong các hệ thống nhận diện cho tới nay khi mang một ưu điểm nổi trội từ việc dựa trên nền tảng về xử lý phát triển kiến trúc mạng Siamese kết hợp với việc sử dụng một hàm mất mát linh hoạt để huấn luyện trên bộ dữ liệu ảnh ảnh và học máy, nó giúp lớn. Trong bài báo này, nhóm tác giả sẽ phân tích cũng như đưa ra một số phương pháp cải tiến cho mô hình Facenet để ứng máy tính tự động xác định dụng trong việc xây dựng và phát triển một hệ thống nhận diện đáp ứng được với số lượng lớn sinh viên phục vụ cho việc hoặc nhận dạng một điểm danh và quản lý sinh viên tại trường Đại học Công nghiệp Hà Nội. người nào đó từ một bức ảnh hay một khung hình Từ khóa: Mạng neural tích chập, học sâu - nhận diện khuôn mặt. video. Một hệ thống nhận ABSTRACT diện được mong muốn là nó có khả năng tự động The face recognition system is one of applications, based on the foundation of photography editing and machine nhận diện và kiểm chứng learning methodology, which assists computers in confirming and recognising someone from a picture or a video frame. các cá nhân trong những There have been a lot of algorithms mentioned and one of them can be listed as the comparison of facial characteristics video hoặc hình ảnh. Bài determined from pictures with a database of faces collected previously (one-to-many matching) [1]. However, the fact that toán về nhận diện khuôn using those common algorithms solely, even with a small image database, can lead to the waste of resources and time for mặt đã được nghiên cứu the recognition system in calculations while the accuracy rate of a prediction remains low. In recent years, the significant từ rất lâu và có rất nhiều development of deep learning, especially the development of convolution neural networks, has contributed to the focus and enhance more than ever of the recognition systems. The Facenet model was introduced in 2015, which has been thuật toán đã được đưa ra applied to almost all recognition systems until now, having a remarkable advantage in the development of Siamese để thực hiện điều này, một network architecture, co-operated with the utilization of a flexible loss function for the training in large image databases. In trong số chúng có thể kể this article, the authorities will analyse as well as provide methodologies to enhance Facenet model for the application in tới là việc so sánh các đặc constructing and developing a suitable recognition system meeting the requirement of large numbers of students in taking điểm khuôn mặt được attendance and managing students at Hanoi University of Industry. trích chọn từ hình ảnh với một cơ sở dữ liệu về các Keywords: Convolutional network neurral, Deep Learning, Face recognition. khuôn mặt đã được thu 1Trường Đại học Công nghiệp Hà Nội thập (one-to-many *Email: anhpv@haui.edu.vn matching) [1]. Tuy nhiên, Ngày nhận bài: 10/01/2021 nếu chỉ sử dụng các thuật toán đơn thuần như vậy Ngày nhận bài sửa sau phản biện: 15/3/2021 thì ngay cả với một cơ sở Ngày chấp nhận đăng: 25/10/2021 dữ liệu ảnh nhỏ, hệ thống Website: Vol. 57 - No. 5 (Oct 2021) ● Journal of SCIENCE & TECHNOLOGY 49
- KHOA H ỌC CÔNG NGHỆ P-ISSN 1859-3585 E-ISSN 2615-9619 nhận diện cũng sẽ tốn rất nhiều tài nguyên và thời gian đoạn. Mỗi ảnh đầu vào được sao chép và thay đổi kích trong việc tính toán mà vẫn chỉ đưa ra một dự đoán có độ thước theo các tỷ lệ khác nhau. Trong giai đoạn đầu, P-Net chính xác rất thấp. Trong quá trình phát triển, các nhà hoạt động trong việc sử dụng một cửa sổ trượt có kích nghiên cứu cũng đưa ra rất nhiều những thư viện để hỗ trợ thước 12x12 chạy qua mỗi bức hình để tìm kiếm khuôn cho việc xây dựng các ứng dụng về nhận diện khuôn mặt. mặt. Sau lớp tích chập thứ ba, mạng được chia thành hai Việc sử dụng các thư viện sẵn có sẽ tiết kiệm về thời gian cài lớp nhỏ, một lớp đưa ra xác suất mà một khuôn mặt nằm đặt, thời gian thu thập dữ liệu nhưng lại có những hạn chế trong miền xác định và lớp còn lại cung cấp các tọa độ của trong việc ứng dụng tại những nơi có số lượng người lớn do miền xác định. Trong giai đoạn tiếp theo, R-Net hoạt động việc không đảm bảo tính ổn định của việc dự đoán khi cơ sở tương tự như P-Net nhưng số lớp của R-Net nhiều hơn dữ liệu ảnh gia tăng một cách đáng kể. nhằm mục đích tinh chỉnh lại tọa độ của miền xác định từ Trong những năm gần đây, với sự phát triển mạnh mẽ P-Net. Cuối cùng, O-Net sẽ lấy các miền xác định từ R-Net về học sâu mà đặc biệt là sự phát triển của những mạng làm đầu vào và đưa ra ba kết quả đầu ra bao gồm: xác suất neural tích chập mà các hệ thống nhân diện đã được chú của khuôn mặt nằm trong miền xác định, tọa độ được tinh trọng và cải tiến đáng kể hơn bao giờ hết. Thuật toán về chỉnh cuối cùng của miền xác định và tọa độ các bộ phận nhận diện khuôn mặt dựa trên các mô hình học sâu được trên khuôn mặt. đề xuất tại [2, 3] đã đạt được hiệu suất tốt về thời gian xử lý Khi xác định được vị trí khuôn mặt, hình ảnh gốc trên và có độ chính xác rất cao [4-6]. Mô hình Facenet ra mắt tập dữ liệu có kích thước là x pixels × y pixels sẽ được thực vào năm 2015 và được ứng dụng vào hầu hết trong các hệ hiện bằng cách cắt theo vùng khuôn mặt và đưa về kích thống nhận diện cho tới nay khi mang một ưu điểm nổi trội thước 160 × 160. Kết quả được thực hiện qua hình 1. từ việc phát triển kiến trúc mạng Siamese kết hợp với việc sử dụng một hàm mất mát linh hoạt để huấn luyện trên bộ dữ liệu ảnh lớn. Kiến trúc mạng Siamese của mô hình Facenet dựa trên nền tảng là một mạng neural tích chập được loại bỏ đi lớp kết nối đầy đủ (fully connected), đầu vào là một bộ ba ảnh trong tập dữ liệu với hai ảnh thuộc cùng một lớp để huấn luyện dựa trên một hàm mất mát có khả năng học được đồng thời sự tương đồng giữa các bức ảnh thuộc cùng một lớp và sự khác biệt giữa các bức ảnh không thuộc cùng một lớp [7]. Kết quả cuối cùng của việc Hình 1. Quá trình xác định khuôn mặt trên ảnh dựa trên phương pháp MTCNN huấn luyện sẽ tạo ra một bộ mã hóa ảnh thành một vector 128 chiều. Các vector này (vector embedding) mang những 2.2. Tăng cường dữ liệu ảnh đặc điểm riêng biệt của khuôn mặt một người và có sự Khi học sâu [10] đã trở nên phổ biến thì dữ liệu huấn khác biệt so với các vector không thuộc cùng nhóm với nó. luyện càng trở nên quan trọng hơn bao giờ hết [12]. Một Như vậy, việc nhận diện khuôn mặt của một người chỉ là mô hình học sâu cần có lượng dữ liệu rất lớn để có thể hoạt việc phân lớp vector từ ảnh khuôn mặt của người đó so với động tốt [11]. Về bản chất, mô hình Facenet cũng là một các lớp vector đã được mã hóa trong toàn bộ cơ sở dữ liệu mạng học sâu nên để nâng cao độ chính xác cũng cần ảnh. Ưu điểm của Facenet khá nổi trội khi mô hình chỉ cần cung cấp một số lượng dữ liệu ảnh lớn. Trong nghiên cứu thu thập dữ liệu ảnh được căn chỉnh tối ưu về vùng cắt của này, nhóm tác giả sẽ sử dụng một số kỹ thuật để có thể mặt và luôn đáp ứng một hiệu suất vô cùng ổn định với tăng cường dữ liệu của ảnh, phục vụ cho quá trình huấn một số lượng dữ liệu ảnh rất lớn. luyện dữ liệu của mô hình học sâu. Trong bài báo này, nhóm nghiên cứu sẽ trình bày về mô Kỹ thuật tăng giảm độ sáng: Quá trình tăng giảm độ hình Facenet và những cải tiến giúp nâng cao hơn hiệu sáng của dữ liệu ảnh sẽ cho phép mô hình có khả năng dự suất của mô hình để từ đó ứng dụng vào việc xây dựng một đoán tốt với những điều kiện ánh sáng khác nhau trong hệ thống nhận diện khuôn mặt phục vụ trong việc quản lý, thực tế. Tuy nhiên việc tăng giảm độ sáng cũng cần phải giám sát và điểm danh sinh viên tại trường Đại học Công lưu ý với những giá trị hợp lý, tránh giảm ảnh quá tối hoặc nghiệp Hà Nội. quá sáng khiến mô hình phải học những dữ liệu không tốt. 2. QUÁ TRÌNH TIỀN XỬ LÝ ẢNH 2.1. Xác định vị trí khuôn mặt trên ảnh Trong giai đoạn tiền xử lý, việc xác định vị trí khuôn mặt trên ảnh là bước đầu tiên và được thực hiện dựa trên mô hình MTCNN (Multi-task Cascaded Convolutional Neural Networks) là một sự phát triển dựa trên mạng neural tích chập [8]. Lý thuyết về MTCNN đã được trình bày chi tiết tại [9] với việc dựa trên sự hoạt động của ba mạng neural tích chập là P-Net, R-Net và O-Net được thực hiện trên ba giai Hình 2. Tăng cường dữ liệu ảnh với kỹ thuật tăng giảm độ sáng 50 Tạp chí KHOA HỌC VÀ CÔNG NGHỆ ● Tập 57 - Số 5 (10/2021) Website:
- P-ISSN 1859-3585 E-ISSN 2615-9619 SCIENCE - TECHNOLOGY Kỹ thuật xoay ảnh: Phép xoay ảnh sẽ xoay hình ảnh một max bảo đảm mối quan hệ giữa các giá trị của dữ liệu gốc, cách ngẫu nhiên theo kim đồng hồ với một góc nhất định nó sẽ phát hiện ra được các lỗi vượt quá giới hạn nếu như từ trong khoảng 0 tới 360 độ. Phép xoay ảnh được sử dụng có giá trị đầu vào vượt quá khoảng giá trị cho phép. Ở đây, rất nhiều trong việc tạo ra dữ liệu khuôn mặt bởi lẽ trong giá trị đặc trưng là điểm ảnh nên min(x) = 0 và max(x) = thực tế, viêc tính toán được thực hiện trong rất nhiều 255. Kết quả sử dụng phương pháp chuẩn hóa min-max những góc độ khác nhau của khuôn mặt. được thể hiện ở hình 4. 3. MÔ HÌNH FACENET VÀ QUÁ TRÌNH HUẤN LUYỆN DỮ LIỆU 3.1. Lựa chọn mạng tích chập Với việc được xây dựng dựa trên những ưu điểm của Inception module và Residual block được trình bày tại [13] mà Inception Resnet V1 là mạng sẽ được lựa chọn để phục vụ trong việc huấn luyện các dữ liệu hình ảnh khuôn mặt được thu thập. Residual block [14] sẽ giúp cho việc huấn luyện của mạng dễ dàng hơn rất nhiều khi tạo ra các kết Hình 3. Tăng cường dữ liệu ảnh với kỹ thuật xoay ảnh quả tốt nhất. Mỗi Residual block chỉ cần thêm đầu vào của 2.3 Chuẩn hóa dữ liệu ảnh block (x) tới đầu ra của các lớp ℱ(x) để thu được một kết Xét với dữ liệu của bài toán là dữ liệu ảnh màu được đọc quả G(x) như công thức: từ máy tính và được biểu diễn dưới dạng một ma trận ba G(x) = ℱ(x) + x (1) chiều với các giá trị điểm ảnh là các số nguyên và nằm trong khoảng từ 0 tới 255. Nhận thấy rằng, miền giá trị của điểm ảnh có sự trải dài và có sự chênh lệch rõ rệt về giá trị điểm ảnh lớn nhất với điểm ảnh nhỏ nhất. Nếu sử dụng các thuật toán học sâu hay học máy với miền giá trị như vậy sẽ gây ra hai vấn đề, thứ nhất đó là việc thuật toán phải xử lý và làm việc với các dữ liệu có giá trị lớn, điều này sẽ làm cho việc tính toán mất nhiều thời gian, không ổn định và khó hội tụ. Thứ hai, các dữ liệu đầu vào trước khi đưa vào mạng Hình 5. Residual block học sâu để huấn luyện sẽ được lưu trữ vào bộ nhớ trong (RAM - Random Access Memory), với việc huấn luyện nhiều Khái niệm về Inception module đã được đề cập tại [15] dữ liệu với giá trị cao rất dễ xảy ra hiện tượng tràn bộ nhớ khi nhóm nghiên cứu của Google đã phát triển và công bố và ảnh hưởng tới quá trình tính toán. Để khắc phục vấn đề mạng GoogLeNet. Inception module là một mạng tích chập này, nhóm nghiên cứu sử dụng phương pháp chuẩn hóa giúp mạng huấn luyện được sâu và nhanh hơn thay vì việc dữ liệu để điều chỉnh giá trị của dữ liệu về cùng một tỉ lệ phải tạo ra nhiều lớp sẽ rất dễ dẫn tới trường hợp mô hình trên một miền giá trị mới. bị overfitting (khái niệm về overfitting được trình bày tại [23]) và gia tăng số lượng về tham số [16]. Inception module sẽ tính toán trên các kernel có kích thước khác nhau từ một đầu vào của lớp trước đó và sau đó sẽ nối các đầu ra lại với nhau để tạo thành một đầu ra mới. Ưu điểm của các kernel 1 × 1 là để giảm số chiều và số lượng các tham số tính toán. Về cơ bản thì Inception Resnet V1 cũng như các mạng tích chập khác gồm có 2 thành phần chính. Thành phần thứ nhất là khối chứa các lớp tích chập (hidden layers), thành phần thứ hai là khối chứa các lớp phân lớp. Tại thành phần thứ nhất, mạng thực hiện hàng loạt các phép tích chập và Hình 4. Kết quả sử dụng phương pháp chuẩn hóa min-max cho ảnh pooling để phát hiện ra các đặc trưng quan trọng của ảnh. Chuẩn hóa min-max có thể coi là phương pháp đơn Các pooling trong mạng tích chập còn có mục đích đạt giản nhất trong việc ánh xạ giá trị về phạm vi [0,1]. Công được sự bất biến đối với việc thay đổi vị trí hoặc độ sáng thức của phương pháp chuẩn hóa min-max: của ảnh và tổng hợp một kết quả đầu ra dựa trên các giá trị x − min(x) nằm trong vùng mà kernel ánh xạ [17]. Tại thành phần thứ x = max(x) − min(x) hai mỗi lớp với các liên kết sẽ đóng vai trò như một bộ phân lớp các đặc trưng đã được rút trích từ trước đó. Đầu ra Với x là giá trị ban đầu, x là giá trị mới sau khi được cuối cùng của mạng sẽ đưa ra một xác suất của đối tượng chuẩn hóa, min(x) là giá trị nhỏ nhất của đặc trưng và tương ứng với ảnh đầu vào. max(x) là giá trị lớn nhất của đặc trưng. Chuẩn hóa min- Website: Vol. 57 - No. 5 (Oct 2021) ● Journal of SCIENCE & TECHNOLOGY 51
- KHOA H ỌC CÔNG NGHỆ P-ISSN 1859-3585 E-ISSN 2615-9619 Bảng 1. Cấu trúc mạng Inception Resnet V1 Layer Size-in Size-out Kernel Stride, Padding Params ReLU Scale ConV_BN_ReLU 160 × 160 × 3 79 × 79 × 32 3 × 3 × 3 2,0 32 × 3 × 3 × 3 True − ConV_BN_ReLU 79 × 79 × 32 77 × 77 × 32 3 × 3 × 32 1,0 32 × 3 × 3 × 32 True − ConV_BN_ReLU 77 × 77 × 32 77 × 77 × 64 3 × 3 × 32 1,1 64 × 3 × 3 × 32 True − MaxPool2D 77 × 77 × 64 38 × 38 × 64 3 × 3 2, − 0 True − ConV_BN_ReLU 38 × 38 × 64 38 × 38 × 80 1 × 1 × 64 1.0 80 × 1 × 1 × 64 True − ConV_BN_ReLU 38 × 38 × 80 36 × 36 × 192 3 × 3 × 80 1,0 192 × 3 × 3 × 80 True − ConV_BN_ReLU 36 × 36 × 192 17 × 17 × 256 3 × 3 × 192 2,0 256 × 3 × 3 × 192 True − 5×Inception A 17 × 17 × 256 17 × 17 × 256 Inception A − − True 0,17 Reduction A 17 × 17 × 256 8 × 8 × 896 Reduction A − − True − 10×Inception B 8 × 8 × 896 8 × 8 × 896 Inception B − − True 0,1 Reduction B 8 × 8 × 896 3 × 3 × 1792 Redution B − − True − 5×Inception C 3 × 3 × 1792 3 × 3 × 1792 Inception C − − True 0,2 Inception C 3 × 3 × 1792 3 × 3 × 1792 Inception C − − False 1,0 AvgPool2D 3 × 3 × 1792 1 × 1 × 1792 3 × 3 1, − 0 − − Flatten 1 × 1 × 1792 1 × 1 × 1792 − − − − − Fully Connected 1 × 1 × 128 1 × 1 × 128 − − − − − L2 1 × 1 × 128 1 × 1 × 128 − − − − − 3.2. Sử dụng hàm mất mát Triplet chọn ngẫu nhiên từ dữ liệu ảnh và đầu ra của mạng là 2 vector embedding tương ứng với 2 ảnh từ đầu vào của Như đã trình bày ở phần trên, mô hình Facenet có một mạng. Hai vector này thể hiện cho những đặc trưng của ưu điểm là việc phát triển kiến trúc mạng Siamese kết hợp mỗi ảnh do quá trình được tính toán qua rất nhiều lớp tích với việc sử dụng một hàm mất mát linh hoạt để huấn luyện chập trong mạng. Cuối cùng, hai vector sẽ được đưa vào trên bộ dữ liệu ảnh lớn. Số lượng đầu ra của mạng neural một hàm mất mát (loss function) để đo lường sự khác biệt tích chập trong (3.1) chính là số lượng lớp khuôn mặt trong giữa chúng. Thông thường, hàm mất mát được sử dụng là cơ sở dữ liệu ảnh. Như vậy, nếu số lượng người cần dự đoán một hàm norm chuẩn bậc 2. tăng lên một cách đáng kể thì lớp cuối của mạng sẽ chứa rất nhiều neural, điều này sẽ làm cho quá trình tính toán và Trong hình 6, mô hình đưa ra 2 vector là x và x biểu huấn luyện trở nên phức tạp hơn chưa kể việc phải huấn diễn lần lượt cho ảnh 1 và ảnh 2. Gọi f(x) là hàm có tác luyện lại toàn bộ mạng khi có một lớp mới được tạo ra. Kiến dụng tương tự như một phép biến đổi qua lớp fully trúc Siamese được tạo ra để giải quyết vấn đề này. connected trong mạng neural để tạo phi tuyến và giảm chiều dữ liệu về các kích thước nhỏ. Khi đó nếu x , x là cùng một người thì: d(x , x ) = ‖f(x ) − f(x )‖ đạt min (2) và nếu x , x là hai người khác nhau thì: d(x , x ) = ‖f(x ) − f(x )‖ đạt max (3) Mục tiêu chính của Siamese là việc tìm ra cách ánh xạ một ảnh về một không gian vector n chiều cho nên cũng không nhất thiết phải lựa chọn hàm mất mát là binary cross entropy [18] như các bài toán phân loại nhị phân khác. Mô hình Facenet là một dạng Siemese với tác dụng là biểu diễn một ảnh về một không gian vector n chiều sao cho khoảng cách giữa các vector embedding càng nhỏ thì mức độ Hình 6. Kiến trúc của mạng Siemese thuộc cùng một lớp của các ảnh tương ứng càng lớn. Việc ánh xạ ảnh như vậy có mục đích quan trọng là giảm chiều Kiến trúc của Siamese dựa trên nền tảng là một mạng dữ liệu, giúp tăng tốc khả năng tính toán của thuật toán và tích chập được loại bỏ đi lớp đầu ra và chỉ được sử dụng để hơn cả là vẫn giữ được độ chính xác khi nhận diện. Thông mã hóa ảnh thành một vector gọi là vector embedding. thường, số phần tử của vector embedding là 128 tương Đầu vào của mạng Siamese là hai bức ảnh bất kỳ được lựa ứng với 128 điểm được trích chọn trên khuôn mặt. 52 Tạp chí KHOA HỌC VÀ CÔNG NGHỆ ● Tập 57 - Số 5 (10/2021) Website:
- P-ISSN 1859-3585 E-ISSN 2615-9619 SCIENCE - TECHNOLOGY Đối với hàm mất mát thông thường sẽ chỉ tính toán sao cho có khoảng cách là xa nhất với ảnh A tức là phải tìm khoảng cách giữa hai bức ảnh, do vậy thì với một lần huấn nghiệm của: luyện mô hình sẽ chỉ học được một trong hai khả năng đó argmax ‖f(A ) − f(P )‖ (9) là sự giống nhau nếu hai ảnh cùng một lớp hoặc sự khác nhau nếu hai ảnh khác lớp mà không thể học được cùng Tương tự cũng xác định ảnh N sao cho có khoảng một lúc hai việc đó trong một lượt huấn luyện. Mô hình cách là gần nhất với ảnh A: Facenet khắc phục điều này khi đưa ra hàm mất mát là argmin f(A ) − f(N ) (10) Triplet với đầu vào là bộ ba ảnh anchor, positive và Trong đó, i, j là các nhãn của ảnh và các ảnh P và N lúc negative ký hiệu lần lượt là A, P và N. Ý tưởng chính của này được gọi lần lượt là hard positive và hard negative. Tuy hàm mất mát này là đảm bảo với ảnh anchor A (là ảnh chỉ nhiên, trong thực tế không thể tính toán được argmin và định đang xét) sẽ gần hơn với tất cả các ảnh positive P (là argmax trên toàn bộ tập huấn luyện và có thể dẫn tới việc toàn bộ các ảnh của cùng người đó) so với các ảnh mô hình huấn luyện kém do ảnh những khuôn mặt được negative N là các ảnh không phải của người đó [19]. gán nhãn sai và có chất lượng kém sẽ nhiều hơn hard positive và hard negative. Trong [19] cũng trình bày hai cách để giải quyết vấn đề này: - Tạo bộ ba ảnh offline sau n bước, tính toán hard positive và hard negative và lưu vào checkpoint trên mỗi tập con dữ liệu. Hình 7. Quá trình huấn luyện của Facenet [19] - Tạo bộ ba ảnh online bằng cách chọn các mẫu hard Khoảng cách giữa ảnh anchor tới positive nhỏ hơn so positive và hard negative trên mỗi mini-batch. với ảnh anchor tới negative, nên: 4. HUẤN LUYỆN MÔ HÌNH VÀ ĐÁNH GIÁ KẾT QUẢ d(A, P) 0 có giá trị rất nhỏ được thêm vào đã được thu thập và gán nhãn kết hợp với quá trình sử dụng để tạo ra lề giữa khoảng cách các các cặp ảnh positive và pre-trained trên bộ dữ liệu là CASIA-WebFace. negative. là tập hợp tất cả bộ ba trong tập huấn luyện. Hàm mất mát Triplet được viết đầy đủ: ℒ(A, P, N) = ∑ ‖f(A) − f(P)‖ − ‖f(A) − f(N)‖ + α (7) Trong công thức (7), n là tổng số bộ ba trong tập huấn luyện của mô hình. Mục tiêu của Triplet loss về bản chất vẫn là giảm thiểu các trường hợp mô hình nhận diện sai ảnh negative thành positive nhất có thể và loại bỏ đi ảnh hưởng của các trường hợp mà mô hình nhận diện đúng negative và positive lên hàm mất mát. Để thể hiện chính xác mục tiêu, hàm Triplet trong (7) sẽ được điều chỉnh về dạng sau: Hình 8. Quy trình huấn luyện và đánh giá mô hình ℒ(A, P, N) = ∑ max(‖f(A) − f(P)‖ − ‖f(A) − Việc tiến hành huấn luyện dữ liệu sẽ được thực thi trên f(N)‖ + α, 0) (8) máy chủ tính toán hiệu năng cao (HPC) được trang bị card 3.3. Lựa chọn bộ ba ảnh đầu vào đồ họa GPU NVIDIA TesLa P100 16GB. Việc lựa chọn bộ ba ảnh đầu vào sẽ có ảnh hưởng rất Kiến trúc của Siamese dựa trên nền tảng là một mạng lớn tới chất lượng của mô hình Facenet do mô hình sẽ hội tích chập được loại bỏ đi lớp đầu ra và chỉ được sử dụng để tụ nhanh hơn và đồng thời đưa ra kết quả dự báo tốt hơn. mã hóa ảnh thành một vector gọi là vector embedding. Việc lựa chọn ngẫu nhiên bộ ba ảnh đầu vào về bản chất là Đầu vào của mạng Siamese là hai bức ảnh bất kỳ được lựa cũng có thể được thực hiện do xác suất tỉ lệ chọn cặp ảnh chọn ngẫu nhiên từ dữ liệu ảnh và đầu ra của mạng là 2 ngẫu nhiên đều thuộc cùng một lớp là rất nhỏ do cơ sở dữ vector embedding tương ứng với 2 ảnh từ đầu vào của liệu ảnh của hệ thống nhận diện là rất lớn. Tuy nhiên việc mạng. Hai vector này thể hiện cho những đặc trưng của này sẽ dẫn tới sự khó hội tụ của mô hình và là điều không mỗi ảnh do quá trình được tính toán qua rất nhiều lớp tích mong muốn khi việc cải thiện mô hình là điều luôn được chập trong mạng. Cuối cùng, hai vector sẽ được đưa vào hướng tới. một hàm mất mát (loss function) để đo lường sự khác biệt Trong [19] đã đưa ra một chiến lược lựa chọn bộ ba ảnh giữa chúng. Thông thường, hàm mất mát được sử dụng là đầu vào là Hard Triplets. Với mỗi ảnh A cần xác định ảnh P một hàm norm chuẩn bậc 2. Website: Vol. 57 - No. 5 (Oct 2021) ● Journal of SCIENCE & TECHNOLOGY 53
- KHOA H ỌC CÔNG NGHỆ P-ISSN 1859-3585 E-ISSN 2615-9619 Bảng 2. Quá trình huấn luyện với tốc độ học 0,1 trong đó 140 ảnh sẽ được đưa vào để mã hóa và huấn luyện, 140 ảnh còn lại sẽ được sử dụng để đánh giá độ Epoch Learning-rate Optimizer Number Image chính xác. Nhóm nghiên cứu tiến hành đánh giá dựa trên 39 0,1 ADAGRAD 453.953 giải thuật SVM (Support Vector Machine)[22] và thư viện 39 0,1 ADAM 453.953 FAISS (Facebook AI Similarity Search) của Facebook. 39 0,1 RMSPROP 453.953 Bảng 4. Kết quả dự đoán dựa trên các phương pháp phân lớp vector Method Normalization Face Processed Result alignment time FAISS False False 9,98223 5,10% SVM False False 7,89074 5,10% FAISS False True 9,04781 8,02% SVM False True 8,06475 6,56% FAISS True False 11,0754 85,4% SVM True False 7,83187 80,2% FAISS True True 8,81791 89,7% SVM True True 8,15443 88,3% Từ những kết quả đã được nghiên cứu và phát triển, Bảng 3. Quá trình huấn luyện với tốc độ học 0,01 nhóm tác giả đã thực hiện thử nghiệm và xây dựng nên một hệ thống nhận diện và điểm danh khuôn mặt tại Epoch Learning-rate Optimizer Number Image phòng lab mô phỏng và tính toán hiệu năng cao của Viện 50 0,01 ADAGRAD 453.953 Công nghệ HaUI, Trường Đại học Công nghiệp Hà Nội. Kết 50 0,01 ADAM 453.953 quả được thể hiện trong hình 9. 50 0,01 RMSPROP 453.953 Hình 9. Kết quả thử nghiệm được xây dựng trên hệ thống nhận diện 5. KẾT LUẬN Bài báo đã trình bày về mô hình Facenet trong việc ứng dụng cho bài toán nhận diện khuôn mặt. Trong đó, những ưu điểm của mô hình đã được phân tích và thử nghiệm dựa Quá trình huấn luyện sử dụng thuật toán lan truyền trên bộ dữ liệu về sinh viên đã được thu thập. Các kết quả ngược tại [20] dựa trên hàm mất mát kết hợp với các giải đánh giá cũng dựa trên nhiều phương pháp phân lớp khác thuật về tối ưu khác như Adam, Adagrad, Rmsprop được nhau để đưa ra độ chính xác cao nhất. trình bày chi tiết tại [21] để tìm các trọng số tốt nhất cho mạng neural. Quá trình học được thể hiện rõ khi giá trị của Hướng phát triển tiếp theo của nghiên cứu là tối ưu các hàm mất mát giảm dần và hội tụ về 0 sau mỗi lần học. giải thuật để làm giảm thời gian tính toán cùng với đó là đề Ngoài ra, nhóm nghiên cứu còn tiến hành huấn luyện dựa xuất các phương pháp chống giả mạo cho bài toán nhận trên các giá trị về tốc độ học, số lượng epochs, Kết quả diện và điểm danh sinh viên, cải thiện tốt hơn quá trình cuối cùng của quá trình huấn luyện sẽ trả về một file trọng nhận diện và xây dựng một hệ thống điểm danh phục vụ số của mạng neural. cho trường Đại học Công nghiệp Hà Nội. 4.2. Đánh giá kết quả nhận diện LỜI CẢM ƠN Dựa trên file trọng số đã tính toán, nhóm nghiên cứu Nghiên cứu này được thực hiện và thử nghiệm tại tiến hành mã hóa ảnh trong cơ sở dữ liệu thành các vector phòng Lab mô phỏng và tính toán hiệu năng cao thuộc 128 chiều. Số lượng ảnh thu thập được bao gồm 280 ảnh Viện Công nghệ HaUI, Trường Đại học Công nghiệp Hà Nội của 140 sinh viên trường Đại học Công nghiệp Hà Nội, trong đề tài cấp trường mã số 21-2020-RD/HĐ-ĐHCN. 54 Tạp chí KHOA HỌC VÀ CÔNG NGHỆ ● Tập 57 - Số 5 (10/2021) Website:
- P-ISSN 1859-3585 E-ISSN 2615-9619 SCIENCE - TECHNOLOGY classification. In: International Journal of Advanced Trends in Computer Science TÀI LIỆU THAM KHẢO and Engineering, vol. 9, No.4. [1]. Jiang X.D., Mandal B., Kot A., 2009. Complete discriminant evaluation [19]. Florian Schroff, Dmitry Kalenichenko, James Philbin, 2015. FaceNet: A and feature extraction in kernel space for face recognition. Machine Vision and Unified Embedding for Face Recognition and Clustering. arxiv 1503.03832. Applications, Springer 20(1), 35-46. [20]. Chauvin Y., D. E. Rumelhart, 1995. Backpropagation: Theory, [2]. M. Korkmaz, N. Yilmaz, 2015. Face Recognition by Using Back Architectures and Applications. Erlbaum, Mahwah, NJ., ISBN: 080581258X, pp: Propagation Artificial Neural Network and Windowing Method. 2015 2nd 561. International Conference on Artificial Intelligence (ICOAI 2015), vol. 4, no. 1, pp. [21]. Raniah Zaheer, Humera Shaziya, 2019. A Study of the Optimization 15-19, 2015. Algorithms in Deep Learning. International Conference on Inventive System and [3]. O. M. Parkhi, A. Vedaldi, A. Zisserman, 2015. Deep Face Recognition. Control (ICISC 2019), IEEE Xplore Part Number: CFP19J06-ART; ISBN:978-1-5386- Proceedings of the British Machine Vision Conference 2015, no. Section 3, pp. 3950-4. 41.1-41.12. [22]. Boser B. E., Guyon I. M., Vapnik V. N., 1992. A training algorithm for [4]. F. Schroff, D. Kalenichenko, J. Philbin, 2015. Facenet: A unified optimal margin classifiers. In D. Haussler, editor, 5th Annual ACM Workshop on embedding for face recognition and clustering. in Proceedings of the IEEE COLT, pp. 144–152, Pittsburgh, PA. ACM Press. Conference on Computer Vision and Pattern Recognition, pp. 815-823. [23]. Xue Ying, 2019. An Overview of Overfitting and ít Solutions. IOP [5]. Y. Sun, D. Liang, X. Wang, X. Tang, 2015. Deepid3: Face recognition with Conf.Series: Journal of Physics: Conf.Series 1168, 022022. very deep neural networks. arXiv preprint arXiv:1502.00873, 2015. [6]. Y. Taigman, M. Yang, M. A. Ranzato, L. Wolf, 2014. Deepface: Closing the gap to human-level performance in face verification. in Proceedings of the IEEE AUTHORS INFORMATION conference on computer Vision and Pattern Recognition. Pham Viet Anh, Le Xuan Hai, Vuong Trung Hieu [7]. K. Q. Weinberger, J. Blitzer, L. K. Saul, 2006. Distance metric learning for Hanoi University of Industry large margin nearest neighbor classification. In NIPS. MIT Press, 2, 3. [8]. F. Rahman, I. J. Ritun, N. Farhin, JiaUddin, 2019. An Assistive Model for Visually Impaired People using YOLO and MTCNN. ICCSP '19 Proceedings of the 3rd International Conference on Cryptography, Security and Privacy, pp. 225-230. [9]. Kaipeng Zhang, Zhanpeng Zhang, Zhifeng Li, Yu Qiao, 2016. Joint Face Detection and Alignment using Multi-task Cascaded Convulotional Networks. in IEEE Signal Processing Letters (SPL), vol.23, no. 10, pp. 1499-1503. [10]. H. Li, Z. Lin, X. Shen, J. Brandt, G. Hua, 2015. A convolutional neural network cascade for face detection. in IEEE Conference on Computer Vision and Pattern Recognition, pp. 5325-5334. [11]. I. Goodfellow, Y. Bengio, A. Courville, 2016. Deep Learning. The MIT Press. [12]. S. H. Bach, B. D. He, A. Ratner, C. Re, 2017. Learning the structure of generative models without labeled data. in ICML, pp. 273–282. [13]. Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alex Alemi, 2016. Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning. in ICLR. [14]. K. He, X. Zhang, S. Ren, J. Sun, 2016. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 770–778. [15]. Szegedy C., Liu W., Jia Y., Sermanet P., Reed S., Anguelov D., Erhan D., Vanhoucke V., Rabinovich A., 2015. Going deeper with convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 1–9. [16]. Min Lin, Qiang Chen, Shuicheng Yan, 2013. Network in network. CoRR, abs/1312.4400. [17]. Krizhevsky A., Sutskever I., Hinton G. E., 2012. ImageNet classification with deep convolutional neural networks. In: NIPS, vol. 1. [18]. A. Usha Ruby, Prasannavenkatesan Theerthagiri, I. Jeena Jacob, Y. Vamsidhar, 2020. Binary cross entropy with deep learning technique for Image Website: Vol. 57 - No. 5 (Oct 2021) ● Journal of SCIENCE & TECHNOLOGY 55