Các công bố này đã đưa ra những cách tiếp cận đột phá, kết hợp mô hình học trực tuyến với hệ thống nhận dạng khuôn mặt, đồng thời tận dụngElasticSearch như một công cụ truy vấn và quản l
Bài toán
Mặc dù các thuật toán và phương pháp nhận dạng khuôn mặt hiện tại đã đạt được nhiều thành tựu, nhưng vẫn còn nhiều thách thức cần khắc phục Một trong những vấn đề chính là sự thiếu tích hợp và liên kết giữa các bước trong quy trình, gây khó khăn cho việc triển khai thực tế và tối ưu hóa hệ thống.
Hình 1.1: Tổng quan về toàn bộ quy trình cho các ứng dụng nhận dạng khuôn mặt [5]
Việc áp dụng các mô hình học sâu mang lại độ chính xác cao nhưng yêu cầu huấn luyện trên bộ dữ liệu khổng lồ, thường lên tới hàng triệu hình ảnh Quá trình này tốn kém về thời gian và đòi hỏi phần cứng mạnh mẽ, đặc biệt là máy chủ GPU, dẫn đến chi phí triển khai và quản lý hệ thống gia tăng Nhu cầu cao về tài nguyên tính toán đã trở thành rào cản lớn đối với nhiều tổ chức và doanh nghiệp.
Đóng góp của luận văn
Vấn đề học trực tuyến hiện nay yêu cầu các mô hình nhận dạng khuôn mặt cần được huấn luyện định kỳ để duy trì độ chính xác với dữ liệu mới, như khuôn mặt mới trong hệ thống Điều này tạo ra sự phức tạp trong việc quản lý và cập nhật hệ thống Hơn nữa, hiện có rất ít nghiên cứu tập trung vào việc xây dựng quy trình hoàn chỉnh cho nhận dạng khuôn mặt, bao gồm tất cả các bước từ phát triển, triển khai đến quản lý mô hình, điều này cần được chú trọng và đầu tư nhiều hơn.
Để giải quyết những hạn chế trong nhận dạng khuôn mặt, luận văn đề xuất một phương pháp tiếp cận mới cho ứng dụng này dưới dạng quy trình hoàn chỉnh, bao gồm phát triển, triển khai và quản lý phiên bản mô hình Phương pháp tập trung vào việc tích hợp tất cả các bước từ phát hiện, căn chỉnh, biểu diễn đến nhận dạng, tạo thành một hệ thống thống nhất và hiệu quả Nghiên cứu này đã được công bố tại ICCSA với tiêu đề "A Novel Approach to End-to-End Facial Recognition Framework with Virtual Search Engine ElasticSearch" và tại tạp chí Computer Science với bài viết "Hybrid end-to-end Approach Integrating Online Learning with Face-identification System".
So với các phương pháp nổi tiếng khác, quy trình của luận văn không chỉ đạt được độ chính xác dự đoán ấn tượng trên bộ dữ liệu thách thức, mà còn tối ưu hóa thời gian phản hồi, cho phép ứng dụng trong hệ thống thời gian thực Điều này rất quan trọng trong bối cảnh thu thập dữ liệu khuôn mặt khó khăn, yêu cầu hệ thống hoạt động hiệu quả ngay cả với dữ liệu hạn chế.
Luận văn đề xuất phương pháp giảm thiểu chi phí phần cứng bằng cách áp dụng thuật toán chuyển đổi vector thành chuỗi ký tự, cho phép huấn luyện và triển khai mô hình trên máy chủ CPU thay vì GPU đắt đỏ, từ đó giảm chi phí và tăng khả năng mở rộng của hệ thống Đặc biệt, thay vì sử dụng mô hình học sâu để nhận dạng khuôn mặt, các thử nghiệm sử dụng Elasticsearch (ES) cho việc lưu trữ và truy xuất danh tính khuôn mặt Phương pháp này giải quyết vấn đề học trực tuyến trong nhận dạng khuôn mặt, cho phép hệ thống cập nhật linh hoạt mà không cần huấn luyện lại từ đầu, cải thiện hiệu suất và đơn giản hóa quản lý hệ thống.
Phương pháp tiếp cận mới này hứa hẹn sẽ cung cấp giải pháp hiệu quả và toàn diện cho việc xây dựng hệ thống nhận dạng khuôn mặt, đáp ứng các yêu cầu khắt khe về độ chính xác, tốc độ và chi phí, đồng thời mở ra hướng đi mới cho nghiên cứu và ứng dụng công nghệ này.
Giới thiệu về Nhận dạng Khuôn mặt
Định nghĩa Nhận dạng Khuôn mặt
Nhận dạng khuôn mặt là một lĩnh vực quan trọng trong thị giác máy tính và trí tuệ nhân tạo, nhằm xác định hoặc xác minh danh tính cá nhân qua hình ảnh hoặc video Công nghệ này đã phát triển mạnh mẽ nhờ vào sự tiến bộ của các thuật toán học máy, đặc biệt là học sâu, cùng với sự gia tăng dữ liệu hình ảnh chất lượng cao và khả năng tính toán mạnh mẽ.
Quá trình nhận dạng khuôn mặt bao gồm nhiều bước liên tiếp, bắt đầu từ việc phát hiện khuôn mặt, xác định vị trí và kích thước trong hình ảnh hoặc video Các phương pháp phổ biến cho bước này bao gồm bộ phân loại Haar Cascade, HOG kết hợp với SVM, và các mô hình học sâu như MTCNN.
Căn chỉnh và chuẩn hóa khuôn mặt là quá trình điều chỉnh khuôn mặt về một dạng chuẩn nhằm giảm thiểu biến đổi do góc nhìn, ánh sáng và biểu cảm Phương pháp này thường sử dụng các điểm đặc trưng trên khuôn mặt để thực hiện căn chỉnh affine hoặc biến hình đồng nhất.
Bước trích xuất đặc trưng là quá trình quan trọng để lấy ra các đặc trưng đại diện cho khuôn mặt, với hai phương pháp chính: sử dụng các đặc trưng thủ công như PCA, LDA, LBP và SIFT, hoặc áp dụng các mô hình học sâu như CNNs để tự động học đặc trưng từ dữ liệu.
Bước cuối cùng trong quá trình nhận diện khuôn mặt là so sánh đặc trưng của khuôn mặt đầu vào với các đặc trưng trong cơ sở dữ liệu để xác định danh tính Các phương pháp so sánh thường được áp dụng bao gồm khoảng cách Euclidean, khoảng cách Cosine, và các mô hình phân loại như Softmax và SVM.
Tầm quan trọng và Ứng dụng
Nhận dạng khuôn mặt đóng vai trò quan trọng trong nhiều lĩnh vực nhờ khả năng ứng dụng rộng rãi và tiềm năng mang lại lợi ích lớn cho xã hội.
Trong lĩnh vực an ninh và giám sát, công nghệ nhận diện khuôn mặt đóng vai trò quan trọng trong việc phát hiện tội phạm và kẻ tình nghi, hỗ trợ lực lượng cảnh sát và các cơ quan chức năng trong việc nhận diện và theo dõi những cá nhân có trong danh sách đen Công nghệ này cũng được ứng dụng rộng rãi trong kiểm soát truy cập và quản lý ra vào tại các khu vực nhạy cảm như sân bay, biên giới và tòa nhà chính phủ Hơn nữa, nó còn được sử dụng trong giám sát công cộng để theo dõi đám đông, phát hiện các hành vi đáng ngờ và xử lý các tình huống khẩn cấp.
Nhận dạng khuôn mặt là phương thức xác thực sinh trắc học tiện lợi và an toàn, được sử dụng rộng rãi trong thiết bị di động để mở khóa điện thoại, truy cập ứng dụng và xác thực thanh toán Ngoài ra, nó còn được áp dụng trong hệ thống máy tính để đăng nhập vào máy cá nhân hoặc hệ thống doanh nghiệp, cũng như trong các dịch vụ trực tuyến để xác thực người dùng trong giao dịch trực tuyến và ngân hàng số.
Công nghệ này đang làm thay đổi mạnh mẽ lĩnh vực thanh toán điện tử, cho phép thực hiện giao dịch không tiếp xúc một cách nhanh chóng mà không cần thẻ hoặc thiết bị Đồng thời, nó cũng nâng cao bảo mật, giảm thiểu rủi ro gian lận và trộm cắp danh tính.
Nhận dạng khuôn mặt trong chăm sóc y tế được sử dụng để chẩn đoán bệnh lý bằng cách phát hiện dấu hiệu bệnh qua phân tích đặc điểm khuôn mặt Công nghệ này còn hỗ trợ theo dõi bệnh nhân tại bệnh viện hoặc tại nhà, đồng thời phát triển các công cụ giao tiếp cho người khuyết tật, như người khiếm thính hoặc tự kỷ.
Trong lĩnh vực tiếp thị và bán lẻ, công nghệ phân tích hành vi khách hàng giúp tối ưu hóa bố trí cửa hàng và cá nhân hóa trải nghiệm mua sắm Bằng cách theo dõi lưu lượng và hành vi mua sắm, công nghệ này cho phép đề xuất sản phẩm và dịch vụ phù hợp với từng khách hàng, đồng thời cung cấp quảng cáo thông minh dựa trên độ tuổi và giới tính của người xem.
Các xu hướng mới trong nhận dạng khuôn mặt bao gồm công nghệ nhận dạng khuôn mặt 3D, giúp cải thiện độ chính xác nhờ thông tin độ sâu; nhận dạng khuôn mặt trong điều kiện không hợp tác, với các thuật toán hoạt động hiệu quả ngay cả khi đối tượng không nhìn trực tiếp vào camera; và vấn đề bảo mật, quyền riêng tư, tập trung vào nghiên cứu các phương pháp mã hóa và bảo vệ dữ liệu khuôn mặt.
Nhận dạng khuôn mặt là một công nghệ quan trọng với nhiều ứng dụng thiết thực.
Công nghệ không chỉ cải thiện hiệu quả và bảo mật trong nhiều lĩnh vực mà còn tạo ra cơ hội phát triển dịch vụ và sản phẩm mới, góp phần vào sự tiến bộ xã hội trong kỷ nguyên số hóa.
Lịch sử và Sự Phát triển của Nhận dạng Khuôn mặt
Các Giai đoạn Phát triển Chính
Quá trình phát triển của nhận dạng khuôn mặt có thể được tóm lược thành bốn giai đoạn chính:
Giai đoạn Sơ khai (trước những năm 1970) của nghiên cứu nhận dạng khuôn mặt chủ yếu dựa vào phân tích thủ công và gặp nhiều hạn chế Các công trình ban đầu tập trung vào việc tìm hiểu cơ chế nhận diện khuôn mặt của con người và cố gắng mô phỏng quá trình này, nhưng thiếu sự hỗ trợ từ công nghệ máy tính và các thuật toán hiện đại.
Giai đoạn 1970 - 1990 chứng kiến sự phát triển mạnh mẽ của phân tích thống kê nhờ vào sự phổ biến của máy tính Năm 1973, Goldstein đã đề xuất ứng dụng các đặc trưng hình học như khoảng cách giữa mắt và chiều dài mũi trong việc xử lý số liệu thống kê.
1988,Kirby vàSirovich giới thiệu phương pháp PCA để biểu diễn khuôn mặt [27], đặt nền móng cho phương phápEigenfacesra đời sau đó.
Giai đoạn Áp dụng Học Máy Truyền thống (1990 - 2010): Trong giai đoạn này, các thuật toán học máy truyền thống được áp dụng mạnh mẽ Năm 1991, Turk và
Pentlandphát triểnEigenfacesdựa trên PCA [46], và đến năm 1997,Belhumeurđề xuất
Fisherfacesdựa trên LDA [8] Song song đó, các kỹ thuật trích xuất đặc trưng kết cấu nhưLocal Binary Patterns(LBP) cũng đem lại kết quả khả quan [2].
Giai đoạn Bùng nổ Học Sâu từ năm 2010 đến nay đã cách mạng hóa nhận dạng khuôn mặt với sự ra đời của các mô hình CNN, cho phép tự động học các đặc trưng từ dữ liệu lớn và nâng cao hiệu suất nhận diện Năm 2014, DeepFace của Facebook đã đạt được độ chính xác cao trên LFW, tiếp theo là FaceNet của Google vào năm 2015, sử dụng triplet loss để học không gian nhúng Các mô hình như VGGFace và ArcFace đã liên tục thiết lập các tiêu chuẩn mới trong nghiên cứu và ứng dụng thực tế của công nghệ nhận diện khuôn mặt.
Những Đột phá Công nghệ
Hình 1.2: Ứng dụng nhận dạng khuôn mặt trong việc check-in mở cửa
Nhận dạng khuôn mặt đang không ngừng được cải tiến nhờ vào những đột phá công nghệ mới, bao gồm các thuật toán phát hiện khuôn mặt tiên tiến và kỹ thuật học sâu hiện đại.
Thuật toán Phát hiện Khuôn mặt: Năm 2001, Viola và Jones giới thiệu thuật toán phát hiện khuôn mặt thời gian thực sử dụng đặc trưng Haar và phân loạiAdaBoost
[47], tạo tiền đề cho nhiều ứng dụng thực tế.
Học sâu trong trích xuất đặc trưng sử dụng CNN cho phép tự động hóa và tối ưu hóa quá trình này, giúp học các biểu diễn phức tạp và bất biến Điều này không chỉ nâng cao hiệu quả mà còn cải thiện đáng kể độ chính xác trong nhận dạng.
Việc áp dụng các hàm mất mát như triplet loss trong FaceNet và additive angular margin loss trong ArcFace giúp tối ưu hóa khoảng cách nhúng, từ đó nâng cao khả năng phân biệt giữa các danh tính.
Dữ liệu lớn như CASIA-WebFace, VGGFace2 và MS-Celeb-1M cung cấp nguồn thông tin phong phú cho nghiên cứu Học không giám sát và bán giám sát giúp khai thác dữ liệu không gán nhãn, từ đó nâng cao hiệu quả trong quá trình huấn luyện mô hình.
Nhận dạng khuôn mặt 3D sử dụng thông tin độ sâu để nâng cao khả năng bất biến trước các thay đổi về góc nhìn và ánh sáng Các cảm biến như Kinect đóng vai trò quan trọng trong việc thu thập dữ liệu 3D, góp phần cải thiện độ chính xác của hệ thống nhận diện.
Nghiên cứu gần đây về nhận dạng khuôn mặt trong điều kiện khó khăn như ánh sáng kém, khuôn mặt bị che khuất và biểu cảm thay đổi đã tích hợp các công nghệ học củng cố, học chuyển tiếp và GAN để tạo ra dữ liệu tổng hợp và cải thiện chất lượng hình ảnh.
Lịch sử và sự phát triển của nhận dạng khuôn mặt là một quá trình tiến hóa liên tục, từ các phương pháp thủ công đến các mô hình học sâu hiện đại Những thành tựu trong lĩnh vực này không chỉ nâng cao chất lượng cuộc sống và an ninh xã hội mà còn tạo ra nhiều cơ hội ứng dụng và nghiên cứu mới trong tương lai.
Các Khái niệm và Thuật ngữ Cơ bản
Khuôn mặt Định danh và Nhận diện Khuôn mặt
Trong lĩnh vực sinh trắc học và nhận dạng khuôn mặt, hai khái niệm chính là khuôn mặt định danh (face verification) và nhận diện khuôn mặt (face identification) có sự khác biệt quan trọng Khuôn mặt định danh tập trung vào việc xác nhận danh tính của một cá nhân, trong khi nhận diện khuôn mặt nhằm mục đích nhận ra và phân loại nhiều khuôn mặt khác nhau trong một cơ sở dữ liệu Sự phân biệt này ảnh hưởng đến các ứng dụng và công nghệ được sử dụng trong từng trường hợp.
Khuôn mặt Định danh (Face Verification)
Khuôn mặt định danh là quá trình xác minh danh tính bằng cách so sánh khuôn mặt đầu vào với khuôn mặt đã biết Đây là bài toán một-một, tức là kiểm tra xem hai hình ảnh khuôn mặt có thuộc về cùng một người hay không Ví dụ, khi mở khóa điện thoại bằng khuôn mặt, thiết bị sẽ so sánh khuôn mặt hiện tại với khuôn mặt đã đăng ký trước đó để xác minh danh tính.
Nhận diện Khuôn mặt (Face Identification)
Nhận diện khuôn mặt là quá trình xác định danh tính bằng cách so sánh khuôn mặt đầu vào với cơ sở dữ liệu chứa nhiều khuôn mặt, thuộc bài toán một-nhiều Hệ thống này giúp xác định xem khuôn mặt đầu vào có khớp với khuôn mặt nào trong cơ sở dữ liệu hay không Một ứng dụng điển hình là tại sân bay, nơi khuôn mặt hành khách được so sánh với cơ sở dữ liệu tội phạm nhằm phát hiện những cá nhân đáng ngờ.
So sánh giữa Định danh và Nhận diện
Sự khác biệt giữa khuôn mặt định danh và nhận diện khuôn mặt chủ yếu nằm ở mục tiêu, quy mô tìm kiếm, độ phức tạp và ứng dụng Khuôn mặt định danh tập trung vào việc xác minh danh tính đã được tuyên bố, trong khi nhận diện khuôn mặt nhằm xác định danh tính chưa biết Quy mô tìm kiếm trong định danh chỉ liên quan đến một mẫu duy nhất, trong khi nhận diện so sánh khuôn mặt đầu vào với nhiều mẫu trong cơ sở dữ liệu, dẫn đến độ phức tạp cao hơn.
Ứng dụng của định danh chủ yếu nằm trong việc mở khóa thiết bị và xác thực giao dịch, trong khi nhận diện thường được sử dụng trong giám sát an ninh và tìm kiếm người mất tích.
Các Thành phần Chính của Hệ thống
Hệ thống nhận dạng khuôn mặt bao gồm các thành phần chính như phát hiện khuôn mặt, căn chỉnh và tiền xử lý, trích xuất đặc trưng, cùng với so khớp và phân loại.
Phát hiện khuôn mặt là bước đầu tiên trong việc xác định vị trí khuôn mặt trong hình ảnh hoặc video Thuật toán này phân biệt giữa khuôn mặt và các đối tượng khác, với các phương pháp phổ biến như Haar Cascade kết hợp với đặc trưng Haar và thuật toán AdaBoost, HOG + SVM sử dụng đặc trưng Histogram of Oriented Gradients kết hợp với Support Vector Machine, cùng với các mạng nơ-ron sâu như MTCNN.
Căn chỉnh và Tiền xử lý (Alignment and Preprocessing)
Sau khi phát hiện khuôn mặt, quá trình căn chỉnh được thực hiện để chuẩn hóa kích thước, góc nhìn và ánh sáng, nhằm giảm thiểu ảnh hưởng của biến đổi hình học và môi trường Các kỹ thuật phổ biến bao gồm phát hiện điểm đặc trưng trên khuôn mặt, như mắt, mũi, miệng, và áp dụng biến đổi hình học như biến đổi affine để thực hiện việc căn chỉnh hiệu quả.
Trích xuất đặc trưng là bước quan trọng trong việc chuyển đổi hình ảnh khuôn mặt thành vector đặc trưng số học, giúp biểu diễn các thông tin quan trọng của khuôn mặt Có hai phương pháp chính: phương pháp thủ công sử dụng các đặc trưng như PCA, LDA, LBP, SIFT; và phương pháp học sâu thông qua các mô hình CNN, cho phép tự động học đặc trưng từ dữ liệu.
So khớp và Phân loại (Matching and Classification)
Bước này thực hiện việc so sánh vector đặc trưng của khuôn mặt đầu vào với các vector trong cơ sở dữ liệu để xác định danh tính Các kỹ thuật phổ biến bao gồm đo lường sự tương đồng giữa các vector thông qua khoảng cách Euclidean hoặc Cosine, đồng thời áp dụng các thuật toán phân loại như SVM, KNN, hoặc Softmax trong mạng nơ-ron.
Quản lý Cơ sở Dữ liệu (Database Management)
Cơ sở dữ liệu lưu trữ các vector đặc trưng của khuôn mặt và thông tin danh tính tương ứng, đồng thời quản lý việc thêm mới, cập nhật và bảo mật dữ liệu một cách hiệu quả.
Các Thước đo và Tiêu chuẩn
Để đánh giá hiệu suất của hệ thống nhận dạng khuôn mặt, cần áp dụng các thước đo và tiêu chuẩn nhất định Đặc biệt, độ chính xác (Accuracy) được xác định bằng tỷ lệ giữa số mẫu được nhận diện đúng và tổng số mẫu.
Tiếp theo, tỷ lệ nhận diện đúng (True Positive Rate, TPR) đánh giá khả năng nhận diện các mẫu dương tính:
Tỷ lệ báo động giả (False Positive Rate, FPR) phản ánh mức độ nhận diện sai các mẫu âm tính là dương tính:
The ROC (Receiver Operating Characteristic) curve visualizes the relationship between True Positive Rate (TPR) and False Positive Rate (FPR), while the Area Under the Curve (AUC) indicates the system's discrimination ability True Positive (TP) refers to the number of correctly identified positive samples.
TN (True Negative) là số mẫu âm tính được nhận diện chính xác, trong khi FP (False Positive) là số mẫu âm tính bị nhận diện sai thành dương tính FN (False Negative) là số mẫu dương tính bị nhận diện sai thành âm tính.
Việc tuân thủ các tiêu chuẩn và giao thức đánh giá, như ISO/IEC, là rất quan trọng để đảm bảo tính khách quan và khả năng so sánh công bằng giữa các hệ thống Các thước đo này không chỉ giúp đánh giá chính xác mà còn tạo ra một nền tảng vững chắc cho việc phân tích và cải tiến các hệ thống hiện có.
19795là tiêu chuẩn quốc tế đánh giá hiệu suất hệ thống sinh trắc học, LFW Protocol
(Labeled Faces in the Wild) sử dụng các cặp khuôn mặt để đánh giá định danh, và
MegaFace Challengethử thách hệ thống trên bộ dữ liệu quy mô lớn.
Hiệu suất nhận diện khuôn mặt bị ảnh hưởng bởi nhiều yếu tố quan trọng, bao gồm chất lượng hình ảnh như độ phân giải, nhiễu và ánh sáng Biến đổi khuôn mặt như biểu cảm, góc nhìn, trang điểm và phụ kiện cũng đóng vai trò quan trọng Thêm vào đó, quy mô và tính đa dạng của cơ sở dữ liệu cùng với độ phức tạp và khả năng tổng quát hóa của thuật toán sử dụng cũng là những yếu tố quyết định đến hiệu suất.
Hiểu biết về các khái niệm, tiêu chuẩn và yếu tố ảnh hưởng là rất quan trọng trong việc thiết kế, cải tiến và đánh giá hệ thống nhận dạng khuôn mặt Điều này giúp hệ thống hoạt động hiệu quả và đáp ứng tốt nhu cầu của nhiều lĩnh vực ứng dụng khác nhau.
Trích xuất Đặc trưng
Trong những năm gần đây, học sâu (Deep Learning) đã nổi bật trong lĩnh vực nhận dạng khuôn mặt nhờ khả năng tự động học đặc trưng từ dữ liệu lớn và phức tạp Mạng Nơ-ron Tích Chập (CNN) đã được áp dụng rộng rãi, nâng cao hiệu suất nhận dạng khuôn mặt một cách vượt trội so với các phương pháp truyền thống.
Trích xuất đặc trưng là bước quan trọng trong hệ thống nhận dạng khuôn mặt, chuyển đổi thông tin từ hình ảnh thành các biểu diễn số học để máy tính xử lý Trong học sâu, quá trình này thường được thực hiện bởi các lớp ẩn trong mạng nơ-ron, nhưng việc hiểu rõ các loại đặc trưng là cần thiết để tối ưu hóa mô hình Đặc trưng hình học tập trung vào việc mô tả cấu trúc khuôn mặt qua các điểm như mắt, mũi, miệng và đường viền khuôn mặt Trong học sâu, các đặc trưng này được học thông qua các lớp tích chập và pooling trong mạng CNN, giúp mô hình nhận diện các hình dạng và cấu trúc quan trọng.
DeepFace là một công nghệ do Taigman phát triển, sử dụng quy trình căn chỉnh khuôn mặt 3D nhằm giảm thiểu biến dạng do góc nhìn và biểu cảm khuôn mặt, từ đó nâng cao độ chính xác trong việc nhận dạng khuôn mặt.
FaceNet là một phương pháp học không gian nhúng được giới thiệu bởi Schroff, sử dụng hàm mất mát triplet loss Phương pháp này cho phép khoảng cách giữa các vector đặc trưng phản ánh sự tương đồng hình học giữa các khuôn mặt.
Công thức hàm mất mát triplet loss:
• f(ã): Hàm nhỳng được học bởi mạng CNN.
• x a i ,x i p ,x n i : Ảnhanchor,positive(cùng danh tính),negative (khác danh tính).
Hàm ReLU đóng vai trò quan trọng trong việc khai thác đặc trưng dựa trên độ sâu và kết cấu, giúp thu thập thông tin về hình dạng 3D và bề mặt của khuôn mặt Những đặc trưng này cung cấp thêm dữ liệu cần thiết, góp phần nâng cao hiệu suất nhận dạng khuôn mặt một cách hiệu quả.
Sử dụng dữ liệu độ sâu giúp cải thiện độ chính xác của mô hình nhận dạng khuôn mặt trong các điều kiện ánh sáng và góc nhìn khác nhau Li phát triển phương pháp kết hợp dữ liệu RGB và độ sâu (RGB-D) với mạng CNN, nâng cao khả năng nhận dạng trong môi trường thực tế Tương tự, Sengupta đề xuất hệ thống nhận dạng khuôn mặt sử dụng dữ liệu hồng ngoại (IR) và mạng CNN, hỗ trợ nhận dạng trong điều kiện ánh sáng yếu hoặc ban đêm Đặc trưng kết cấu tập trung vào các mẫu vi mô trên bề mặt da, như nếp nhăn và lỗ chân lông, giúp phân biệt giữa các cá nhân, với Parkhi sử dụng mạng CNN sâu để học đặc trưng này và đạt kết quả cao trên các bộ dữ liệu lớn như VGGFace2.
[31] giới thiệu hàm mất mátLarge-Margin Softmax Loss để tăng cường khả năng phân biệt của các đặc trưng kết cấu học được từ mạng CNN.
Kết hợp Độ sâu và Kết cấu:
Việc kết hợp đặc trưng độ sâu và kết cấu trong mô hình giúp tối ưu hóa độ chính xác và khả năng chịu đựng trong điều kiện khó khăn Hu [22] đã phát triển một mô hình học chuyển tiếp sâu nhằm nhận dạng khuôn mặt từ các dạng dữ liệu khác nhau, bao gồm RGB và hồng ngoại, sử dụng cả đặc trưng độ sâu lẫn kết cấu.
Khó khăn và Hướng Tiếp cận:
Việc thu thập dữ liệu độ sâu và hồng ngoại cần thiết bị chuyên dụng, điều này hạn chế khả năng ứng dụng rộng rãi Một hướng phát triển tiềm năng là nghiên cứu cách tích hợp hiệu quả các loại dữ liệu khác nhau vào một mô hình thống nhất Bằng cách sử dụng kỹ thuật học không giám sát, chúng ta có thể khai thác đặc trưng từ dữ liệu không gán nhãn, từ đó giảm thiểu sự phụ thuộc vào dữ liệu được gán nhãn chính xác.
Thách thức và Hạn chế trong Nhận dạng Khuôn mặt
Thách thức và Hạn chế
Biến đổi về Ánh sáng và Môi trường
Một trong những thách thức lớn nhất trong nhận dạng khuôn mặt là sự biến đổi về ánh sáng và môi trường Những yếu tố như ánh sáng không đồng nhất, bóng tối hoặc ánh sáng quá mạnh có thể làm biến đổi đáng kể các đặc trưng khuôn mặt trong hình ảnh, dẫn đến sai sót trong quá trình nhận diện.
Biến đổi về Góc nhìn và Tư thế
Khuôn mặt có thể được nhìn từ nhiều góc độ khác nhau, bao gồm chính diện, nghiêng và từ trên xuống dưới Sự đa dạng này tạo ra những biến đổi hình học phức tạp, gây khó khăn cho việc trích xuất và so sánh các đặc trưng.
Biểu cảm Khuôn mặt và Che khuất
Biểu cảm khuôn mặt như cười, cau mày hay mở miệng có khả năng thay đổi cấu trúc khuôn mặt Bên cạnh đó, việc che khuất khuôn mặt bằng kính, khẩu trang hoặc mũ cũng gây khó khăn cho hệ thống nhận dạng.
Chất lượng Hình ảnh Thấp
Hình ảnh có độ phân giải thấp, nhiễu cao hoặc mờ do chuyển động làm giảm hiệu suất của hệ thống nhận dạng khuôn mặt.
Phân biệt Chủng tộc và Giới tính
Các hệ thống nhận dạng khuôn mặt thường thể hiện hiệu suất không đồng đều giữa các nhóm chủng tộc và giới tính, gây ra những vấn đề nghiêm trọng về công bằng và đạo đức.
Tấn công Giả mạo và An ninh
Hệ thống nhận dạng khuôn mặt có thể bị tấn công bằng cách sử dụng hình ảnh giả mạo,mặt nạ, hoặc video để đánh lừa hệ thống.
Vấn đề về Quyền riêng tư và Bảo mật
Thu thập và Sử dụng Dữ liệu Khuôn mặt
Việc thu thập và lưu trữ dữ liệu khuôn mặt của người dùng gây ra nhiều lo ngại về quyền riêng tư, do dữ liệu sinh trắc học là thông tin nhạy cảm Sử dụng không đúng cách loại dữ liệu này có thể dẫn đến vi phạm quyền cá nhân của người dùng.
Các mối quan ngại chính về bảo mật dữ liệu bao gồm việc thu thập thông tin mà không có sự đồng ý rõ ràng từ người dùng, dẫn đến tình trạng "Không có Sự Đồng ý" Bên cạnh đó, dữ liệu cũng có thể bị sử dụng cho các mục đích không hợp pháp hoặc trái phép, được gọi là "Sử dụng Sai Mục đích" Cuối cùng, nguy cơ mất mát hoặc đánh cắp dữ liệu do tấn công mạng là một vấn đề nghiêm trọng, thường được nhắc đến là "Rò rỉ Dữ liệu".
Pháp lý và Quy định
Nhiều quốc gia đã áp dụng luật và quy định về công nghệ nhận dạng khuôn mặt để bảo vệ quyền riêng tư của công dân.
GDPR (Quy định Bảo vệ Dữ liệu Chung) là quy định của Liên minh châu Âu nhằm bảo vệ dữ liệu cá nhân, bao gồm cả dữ liệu sinh trắc học Tương tự, Đạo luật Quyền riêng tư Sinh trắc học (BIPA) tại bang Illinois, Hoa Kỳ, quy định rõ ràng về việc thu thập và sử dụng dữ liệu sinh trắc học.
Yêu cầu đối với Hệ thống:
Các hệ thống cần đảm bảo tính minh bạch bằng cách thông báo cho người dùng về việc thu thập và sử dụng dữ liệu Người dùng cũng nên được quyền truy cập, chỉnh sửa hoặc xóa dữ liệu cá nhân của mình Bên cạnh đó, các hệ thống cần tuân thủ các luật và quy định hiện hành để đảm bảo tính hợp pháp.
Việc sử dụng công nghệ nhận dạng khuôn mặt trong giám sát và theo dõi đặt ra các câu hỏi về đạo đức và tác động xã hội.
Các vấn đề nổi bật liên quan đến việc sử dụng công nghệ hiện đại bao gồm nguy cơ hình thành xã hội giám sát, ảnh hưởng tiêu cực đến quyền tự do cá nhân, và hiện tượng giám sát đại chúng Bên cạnh đó, việc sử dụng công nghệ để nhắm mục tiêu vào các nhóm người cụ thể dẫn đến sự phân biệt đối xử Cuối cùng, điều này có thể khiến người dân mất niềm tin vào các tổ chức đang áp dụng công nghệ này.
Nhận dạng khuôn mặt mang lại nhiều lợi ích nhưng cũng gặp phải thách thức và hạn chế Để phát triển và áp dụng công nghệ này một cách bền vững, cần giải quyết các vấn đề kỹ thuật, bảo vệ quyền riêng tư và tuân thủ các quy định pháp lý.
Học trực tuyến trong nhận dạng khuôn mặt
Học trực tuyến trong lĩnh vực nhận dạng khuôn mặt cho phép hệ thống liên tục học hỏi và thích nghi với dữ liệu mới mà không cần huấn luyện lại toàn bộ mô hình Đây là một thách thức quan trọng trong việc phát triển hệ thống nhận dạng khuôn mặt hiện đại, đặc biệt với công nghệ học sâu Trong các hệ thống truyền thống, việc thêm khuôn mặt mới thường yêu cầu huấn luyện lại toàn bộ mô hình, gây tốn kém về tài nguyên và thời gian, đồng thời có thể làm gián đoạn hoạt động của hệ thống Điều này đặc biệt bất lợi cho các ứng dụng cần phản hồi thời gian thực, như hệ thống an ninh và kiểm soát truy cập.
Một giải pháp hiệu quả để giải quyết vấn đề lưu trữ và tìm kiếm khuôn mặt là áp dụng phương pháp thông minh như Elasticsearch, kết hợp với mã hóa đặc trưng khuôn mặt thành các token số Phương pháp này sử dụng mô hình học sâu để trích xuất các đặc trưng từ ảnh khuôn mặt và chuyển đổi chúng thành vector đặc trưng Các vector này được lưu trữ trong hệ thống tìm kiếm Elasticsearch, cho phép tìm kiếm nhanh chóng dựa trên độ tương đồng Khi thêm khuôn mặt mới vào cơ sở dữ liệu, chỉ cần mã hóa đặc trưng và thêm vào hệ thống mà không cần huấn luyện lại mô hình, giúp giảm yêu cầu tài nguyên tính toán và rút ngắn thời gian xử lý, đồng thời đảm bảo tính mở rộng và hoạt động liên tục của hệ thống.
Phương pháp này mang lại nhiều lợi ích đáng kể, bao gồm khả năng thêm mới dữ liệu khuôn mặt linh hoạt mà không cần huấn luyện lại mô hình, giúp mở rộng cơ sở dữ liệu mà không gián đoạn hoạt động Việc sử dụng các thuật toán tối ưu và hệ thống tìm kiếm mạnh mẽ như Elasticsearch đảm bảo quá trình tìm kiếm và nhận dạng diễn ra nhanh chóng, ngay cả với cơ sở dữ liệu quy mô lớn Ngoài ra, việc tránh huấn luyện lại toàn bộ mô hình giúp tiết kiệm tài nguyên tính toán và giảm thời gian xử lý Cuối cùng, hệ thống hoạt động liên tục mà không bị gián đoạn trong quá trình cập nhật dữ liệu, đảm bảo tính sẵn sàng và độ tin cậy cao.
Việc áp dụng học trực tuyến trong nhận dạng khuôn mặt không chỉ nâng cao hiệu suất và khả năng mở rộng của hệ thống mà còn đáp ứng nhu cầu về tính linh hoạt và hiệu quả trong thực tiễn Điều này tạo ra cơ hội triển khai các hệ thống nhận dạng khuôn mặt trong nhiều lĩnh vực như an ninh công cộng, quản lý truy cập, thương mại điện tử, và dịch vụ cá nhân hóa, nơi khả năng xử lý và thích nghi nhanh chóng với dữ liệu mới là yếu tố quyết định cho sự thành công và bền vững của hệ thống.
OpenFace
OpenFace là thư viện mã nguồn mở chuyên về nhận diện và phân tích khuôn mặt, được phát triển bởi các nhà nghiên cứu tại Carnegie Mellon University Thư viện này cung cấp nhiều tính năng quan trọng như nhận diện khuôn mặt, phát hiện khuôn mặt, định vị các điểm đặc trưng trên khuôn mặt và phân tích cảm xúc thông qua biểu cảm gương mặt.
OpenFace là một hệ thống mã nguồn mở tiên tiến trong lĩnh vực nhận diện khuôn mặt, sử dụng mạng nơ-ron sâu để chuyển đổi hình ảnh khuôn mặt thành các vector đặc trưng có kích thước thấp Hệ thống này tương tự như DeepFace của Facebook và FaceNet của Google, tận dụng khả năng học đặc trưng từ dữ liệu lớn OpenFace đã được kiểm chứng hiệu quả trên nhiều bộ dữ liệu chuẩn như Labeled Faces in the Wild (LFW), cho thấy hiệu suất cạnh tranh với các hệ thống thương mại.
Hệ thống phát hiện khuôn mặt sử dụng các thuật toán tiên tiến như HoG kết hợp với SVM để xác định vị trí khuôn mặt trong ảnh Sau đó, OpenFace áp dụng mô hình định vị đặc trưng khuôn mặt để xác định các điểm mốc quan trọng dựa trên hồi quy cây quyết định gradient Việc định vị chính xác các điểm mốc này không chỉ cải thiện quá trình căn chỉnh mà còn nâng cao hiệu quả nhận dạng khuôn mặt.
Tiền xử lý và căn chỉnh khuôn mặt là bước quan trọng trong việc giảm thiểu tác động của góc chụp, ánh sáng và biểu cảm OpenFace thực hiện căn chỉnh khuôn mặt thông qua các điểm mốc đã xác định, sử dụng các phép biến đổi hình học như xoay, dịch chuyển và thay đổi tỷ lệ Quá trình này giúp đưa khuôn mặt về một dạng chuẩn, từ đó tăng cường độ chính xác trong việc trích xuất đặc trưng.
Sau khi căn chỉnh, hình ảnh khuôn mặt được xử lý qua mạng nơ-ron sâu để trích xuất các đặc trưng quan trọng Mạng này được tối ưu hóa nhằm giảm khoảng cách giữa các embedding của cùng một người và tăng khoảng cách với người khác, thường áp dụng hàm mất mát triplet loss Kết quả là mỗi khuôn mặt được biểu diễn bằng một vector embedding trong không gian đa chiều, giúp so sánh hiệu quả hơn.
So sánh và nhận dạng khuôn mặt sử dụng các phương pháp như khoảng cách Euclid hoặc cosine để tính toán khoảng cách giữa các embedding Nếu khoảng cách này nhỏ hơn một ngưỡng đã định, hệ thống sẽ xác định rằng hai khuôn mặt thuộc về cùng một người Phương pháp này mang lại khả năng nhận dạng và xác minh danh tính với tốc độ nhanh chóng và độ chính xác cao.
OpenFace, được phát triển bằng Python và Torch (hiện tại là PyTorch), là một công cụ mã nguồn mở trên GitHub, giúp các nhà nghiên cứu và phát triển dễ dàng tích hợp vào ứng dụng của họ Người dùng có khả năng tùy chỉnh các thành phần của hệ thống, bao gồm việc thay đổi kiến trúc mạng, huấn luyện lại trên bộ dữ liệu riêng, hoặc cải thiện quy trình tiền xử lý để đáp ứng nhu cầu cụ thể.
Hỗ trợ cộng đồng và cập nhật liên tục: Nhờ cộng đồng phát triển tích cực, Open-
Face liên tục được nâng cấp nhằm cải thiện hiệu suất và bổ sung tính năng mới Sự hỗ trợ và thảo luận từ cộng đồng giúp người dùng giải quyết vấn đề kỹ thuật, đồng thời tối ưu hóa hệ thống cho các ứng dụng thực tế.
Trong bài viết này, chúng tôi sẽ tập trung vào việc sử dụng quy trình nhận dạng khuôn mặt OpenFace để so sánh với phương pháp đề xuất Kết quả so sánh sẽ được trình bày một cách chi tiết trong các phần tiếp theo, nhằm đánh giá hiệu quả và độ chính xác của phương pháp mới trong bối cảnh thực tế.
Dữ liệu
Nghiên cứu này triển khai mô hình đề xuất trên tập dữ liệu VN-Celeb, bao gồm 24.125 hình ảnh của 1.020 người nổi tiếng Việt Nam thu thập từ Wikipedia Mỗi lớp phân loại trung bình có khoảng 23 hình ảnh, nhưng số lượng hình ảnh giữa các lớp có sự chênh lệch lớn; có 7 lớp chỉ có 2 hình ảnh, trong khi lớp có nhiều hình ảnh nhất lên đến 105 Điều này cho thấy tập dữ liệu VN-Celeb không chỉ thách thức về kích thước mà còn gặp phải sự mất cân bằng nghiêm trọng giữa các lớp.
Số lượng hình ảnh trong mỗi lớp dao động rộng rãi, tạo ra một tập dữ liệu mất cân bằng nghiêm trọng, như thể hiện trong Hình 2.2 Phân bổ hình ảnh giữa các lớp rất không đồng đều, với số lượng hình ảnh từ 2 đến 105 cho mỗi lớp Tình trạng này gây khó khăn trong việc huấn luyện mô hình, vì các lớp có ít dữ liệu có thể không được mô hình học hiệu quả.
Tập dữ liệu VN-Celeb chứa 24.125 hình ảnh và 1.020 lớp khác nhau, cho thấy nhiệm vụ nhận dạng trong tập dữ liệu này yêu cầu học từ ít mẫu Điều này có nghĩa là mô hình phải tổng quát hóa từ một số lượng hạn chế các ví dụ huấn luyện, làm tăng độ khó trong việc phân biệt giữa nhiều lớp với số lượng mẫu nhỏ.
Hình 2.1: Quy trình xử lý của hệ thống độ phức tạp của bài toán và đòi hỏi mô hình phải có khả năng nhận dạng tinh vi.
Một thách thức lớn trong việc xử lý tập dữ liệu hình ảnh là sự đa dạng về điều kiện, bao gồm ánh sáng, góc chụp và chất lượng hình ảnh Nhiều bức ảnh chỉ hiển thị một phần khuôn mặt, có hình ảnh bị lật ngược hoặc không có khuôn mặt nào Thêm vào đó, tập dữ liệu còn bao gồm cả ảnh đen trắng và ảnh màu RGB, làm tăng độ phức tạp trong việc chuẩn hóa và xử lý dữ liệu.
Những thách thức chính bao gồm:
• Kích thước tập dữ liệu nhỏ: So với các tập dữ liệu nhận dạng khuôn mặt khác,
VN-Celeb1 có kích thước nhỏ hơn, giới hạn khả năng học của mô hình.
Sự không đồng nhất trong điều kiện hình ảnh, bao gồm biến đổi về ánh sáng, góc khuôn mặt và chất lượng hình ảnh, có thể làm giảm độ chính xác của việc nhận dạng Bảng 2.1 minh họa sự mất cân bằng của tập dữ liệu qua tỷ lệ các lớp phân loại theo số lượng hình ảnh, cho thấy rằng các lớp trong khoảng [2,5] và [50,105] chỉ chiếm 5% và 3%, trong khi các lớp trong khoảng [30,50] chiếm 27% Đặc biệt, các lớp có số lượng hình ảnh từ [5,30] chiếm tỷ lệ cao nhất với 65%, cho thấy rằng phần lớn các lớp có số lượng hình ảnh trung bình, nhưng vẫn tồn tại một số lớp với rất ít hoặc rất nhiều hình ảnh, góp phần vào sự mất cân bằng tổng thể của tập dữ liệu.
Bảng 2.1: Phân bố tỷ lệ các lớp theo số lượng hình ảnh
Trong phần này, chúng tôi sẽ trình bày chi tiết quy trình xử lý đề xuất từng bước, kèm theo hình minh họa để giúp thầy cô hiểu rõ hơn về ý tưởng và phương pháp tiếp cận Tập dữ liệu được sử dụng trong luận văn đã đặt ra nhiều thách thức đáng kể cho quá trình nghiên cứu và phát triển mô hình, như đã được đề cập ở phần trước.
Hình 2.2: Phân bố số lượng hình ảnh trong mỗi lớp
Tập dữ liệu hiện tại chỉ bao gồm 24,1 nghìn hình ảnh phân bố trong 1.020 lớp, con số này khá khiêm tốn so với các tập dữ liệu lớn như FaceNet với 100-200 triệu hình ảnh, DeepFace với 4,4 triệu hình ảnh, và OpenFace được huấn luyện từ CASIA-WebFace và FaceScrub Sự khác biệt này không chỉ nằm ở tổng số hình ảnh mà còn ở mức độ cân bằng giữa các lớp Tập dữ liệu nhỏ và mất cân bằng nghiêm trọng có thể khiến mô hình không học được đầy đủ các đặc trưng quan trọng, từ đó ảnh hưởng đến hiệu suất nhận dạng khuôn mặt.
Trước khi sử dụng tập dữ liệu để huấn luyện mô hình nhúng khuôn mặt, cần thực hiện các bước tiền xử lý quan trọng Những bước này bao gồm làm sạch dữ liệu để loại bỏ hình ảnh không hợp lệ, cân bằng lại tập dữ liệu nhằm giảm thiểu sự mất cân bằng giữa các lớp, và áp dụng các kỹ thuật tiền xử lý khác để nâng cao chất lượng và tính nhất quán của dữ liệu đầu vào Những công đoạn này rất cần thiết để mô hình có thể học được các đặc trưng quan trọng từ dữ liệu một cách hiệu quả, đồng thời cải thiện khả năng tổng quát hóa đối với dữ liệu chưa thấy trong quá trình huấn luyện.
Quy trình xử lý được đề xuất trong luận văn này được tổng hợp và minh họa chi tiết, bao gồm các bước tiền xử lý dữ liệu và liên kết với các giai đoạn tiếp theo trong huấn luyện và đánh giá mô hình, tạo ra một quy trình hiệu quả và liền mạch.
Phát hiện khuôn mặt
Giai đoạn này rất quan trọng để đảm bảo độ chính xác cho toàn bộ ứng dụng và là nền tảng cho các bước tiếp theo Chúng tôi đã thử nghiệm với nhiều công cụ như Dlibml, Haar Cascades, và MTCNN để trích xuất khuôn mặt từ hình ảnh Trong giai đoạn này, chúng tôi sẽ sử dụng hai phương pháp có thể thay thế cho nhau tùy thuộc vào yêu cầu cụ thể.
Chúng ta sẽ sử dụng SSD với MobileNet làm backbone trên bộ dữ liệu Labelled Faces in the Wild (LFW) để tận dụng thời gian suy luận nhanh của kiến trúc MobileNet Mặc dù MTCNN mang lại độ chính xác cao hơn trong việc phát hiện khuôn mặt, nhưng SSD với MobileNet lại có hiệu suất tốt hơn về tốc độ, rất phù hợp cho các ứng dụng thời gian thực hoặc trên các thiết bị có tài nguyên hạn chế Do đó, tùy thuộc vào mục đích sử dụng, có thể chuyển đổi giữa hai phương pháp này để tối ưu hóa hiệu suất và độ chính xác trong việc phát hiện khuôn mặt.
MTCNN, với kiến trúc mạng đa nhiệm, được tối ưu hóa cho việc phát hiện và căn chỉnh khuôn mặt, mang lại kết quả bounding boxes chính xác hơn Nó có khả năng xử lý khuôn mặt ở nhiều góc độ và kích thước khác nhau Tuy nhiên, thời gian suy luận của MTCNN thường chậm hơn so với SSD-MobileNet.
Trong các ứng dụng cần độ chính xác cao về vị trí và đặc trưng khuôn mặt, như nhận diện biểu cảm và phân tích cảm xúc, MTCNN là lựa chọn hàng đầu Ngược lại, đối với các ứng dụng yêu cầu tốc độ xử lý nhanh, chẳng hạn như theo dõi khuôn mặt trong video thời gian thực, SSD-MobileNet sẽ là sự lựa chọn tối ưu hơn.
Linh hoạt trong việc lựa chọn giữa hai phương pháp này giúp tối ưu hóa ứng dụng theo yêu cầu cụ thể, đồng thời phát huy những ưu điểm của từng công nghệ Cần xem xét kết hợp cả hai phương pháp để đạt được sự cân bằng giữa tốc độ và độ chính xác, từ đó nâng cao hiệu suất tổng thể của hệ thống.
Tiền xử lý dữ liệu
Bộ dữ liệu trong luận văn gặp nhiều thách thức về kích thước, đặc điểm và sự mất cân đối số lượng hình ảnh giữa các lớp, do đó cần thiết phải thực hiện các bước tiền xử lý Để nâng cao độ chính xác của hệ thống và giảm thiểu tác động bất lợi, việc tăng cường dữ liệu cho các lớp có dưới 20 hình ảnh sẽ được thực hiện thông qua một số kỹ thuật tiền xử lý phi hình học.
• Hiệu chỉnh gamma, tiếp theo làlọc DOG (Difference of Gaussians)vàcân bằng tương phản.
Sau khi hoàn tất quá trình tiền xử lý, bộ dữ liệu đã được tăng cường sẽ được chuyển sang bước tiếp theo để thu thập các biểu diễn khuôn mặt, nhằm phục vụ cho việc đào tạo trong giai đoạn mã hóa.
Biểu diễn khuôn mặt bằng VGG-Face
Trong giai đoạn này, các vector nhúng chứa đặc trưng khuôn mặt được biểu diễn dưới dạng mảng số và được trích xuất từ mô hình học sâu Sau khi thử nghiệm và đánh giá nhiều kiến trúc như FaceNet, VGG-Face, ArcFace và các mô hình học sâu khác, VGG-Face đã được chọn lựa.
Lý do chính để ưu tiên VGG-Face xuất phát từ khả năng cân bằng tốt giữa độ chính
VGG-Face đạt độ chính xác cao sau khi tiền xử lý hình ảnh, nhưng yêu cầu tài nguyên lớn và phức tạp trong huấn luyện và triển khai Nó đã được kiểm chứng hiệu quả trên nhiều loại dữ liệu khuôn mặt Kiến trúc đơn giản của VGG-Face dễ mở rộng và tương thích tốt với hạ tầng kỹ thuật hiện có, giúp hệ thống hoạt động ổn định trong môi trường tính toán hiện tại Sự đơn giản trong thiết kế cũng hỗ trợ tối ưu hoá, điều chỉnh và tích hợp vào quy trình luận văn, đặc biệt khi xử lý nhiều hình ảnh cùng lúc.
Mô hình ResNet50 được sử dụng trong luận văn là một kiến trúc mạnh mẽ trong nhận dạng hình ảnh Để phục vụ cho việc xác định và phân loại khuôn mặt, các lớp kết nối đầy đủ đã được loại bỏ, chỉ giữ lại phần trích xuất đặc trưng Mỗi hình ảnh khuôn mặt sau khi xử lý sẽ được biểu diễn dưới dạng vector nhúng, giúp hệ thống so sánh và nhận dạng hiệu quả giữa các khuôn mặt với yêu cầu tài nguyên và thời gian tính toán hợp lý.
Giảm chiều của vector bằng PCA
Đầu ra của VGG-Face là vector 2048 chiều, nhưng điều này gây khó khăn cho ứng dụng thời gian thực trên máy chủ không có GPU mạnh Để cải thiện hiệu suất, các thuật toán giảm chiều đã được áp dụng, giảm kích thước vector xuống 256, 512 và 1024 chiều Quá trình này kết hợp giữa giảm chiều và mã hóa, nhằm tối ưu hóa độ chính xác của mô hình và hiệu suất xử lý.
Sau khi đánh giá kỹ lưỡng độ chính xác và hiệu suất, việc giảm chiều vector xuống 512 bằng phương pháp Phân tích Thành phần Chính (PCA) được xác định là tối ưu Quá trình này không chỉ giảm chi phí tính toán mà còn duy trì độ chính xác cao trong biểu diễn dữ liệu khuôn mặt, cho phép hệ thống hoạt động hiệu quả hơn trong môi trường thực tế mà không làm giảm chất lượng nhận dạng.
Mã hóa biểu diễn khuôn mặt thành chuỗi ký tự
Trong phần này, chúng ta sẽ giải thích lý do cho việc thay đổi kiểu dữ liệu trong biểu diễn khuôn mặt Việc nhận dạng danh tính từ các vector nhúng khuôn mặt trích xuất từ VGG-Face có thể thực hiện qua các phương pháp như khoảng cách Euclid, độ tương tự cosine và mô hình phân loại học sâu Tuy nhiên, việc tính toán độ tương tự giữa tất cả các vector khuôn mặt để tìm ra vector tương tự nhất là một nhiệm vụ tốn kém về mặt tính toán và thời gian.
Một lựa chọn thay thế là áp dụng các thuật toán học sâu cho nhiệm vụ này; tuy nhiên, giải pháp này gặp phải vấn đề về thời gian suy luận lâu và độ trễ cao do độ phức tạp của các kiến trúc mô hình học sâu Thêm vào đó, các vấn đề liên quan đến học trực tuyến làm giảm hiệu quả và gia tăng thách thức trong việc triển khai thực tế.
Phương pháp mới đề xuất cải thiện hiệu suất hệ thống và tăng tốc độ truy xuất, làm cho việc nhận dạng khuôn mặt trong thời gian thực trở nên khả thi Việc áp dụng các token chuỗi giúp hệ thống dễ dàng mở rộng, tích hợp với công nghệ hiện có, đồng thời giảm sự phụ thuộc vào các mô hình học sâu phức tạp và tốn kém.
Sự thay đổi này tạo cơ hội cho việc ứng dụng rộng rãi hơn trong các môi trường thực tế, nơi hiệu suất và khả năng mở rộng đóng vai trò quan trọng Áp dụng phương pháp này hứa hẹn sẽ nâng cao đáng kể hiệu suất của hệ thống nhận dạng khuôn mặt, đồng thời thúc đẩy sự phát triển của các ứng dụng thời gian thực trong lĩnh vực này.
Hình 2.4: Quy trình phân cụm theo từng vector [33]
Trong bài viết này, chúng tôi giới thiệu một phương pháp mã hóa tiên tiến dựa trên thuật toán từ [33], nhằm chuyển đổi các vector khuôn mặt số thành các tập hợp token chuỗi Phương pháp này giúp truy xuất dữ liệu nhanh chóng hơn khi sử dụng Elasticsearch, điều này rất quan trọng cho các ứng dụng thời gian thực, nơi tốc độ và hiệu suất là yếu tố then chốt.
Thuật toán mã hóa dựa trên ý tưởng phân cụm theo từng vector con, là một kỹ thuật quan trọng trong xử lý dữ liệu lớn và học máy Cụ thể, mỗi vector khuôn mặt số v∈R d được chia thành m vị trí khác nhau, như thể hiện trong Hình 4.4.
Mỗi vị trí trong tập dữ liệu được coi như một vector con riêng biệt, ký hiệu là {x₁₁, x₁₂, , x₁ₘ} Định nghĩa Pi = {x₁ᵢ, x₂ᵢ, , xₙᵢ} với i = 1, 2, , m, trong đó Pi là tập hợp tất cả các vector con thứ i từ toàn bộ tập dữ liệu Để khai thác cấu trúc của dữ liệu, thuật toán k-means được áp dụng để phân cụm các vector con này.
Quá trình phân cụm với số lượng cụm k lớn hơn 1 cho phép mã hóa mỗi vector con thành một nhãn cụm tương ứng Điều này tạo ra một mã hóa rời rạc cho các vector khuôn mặt số, giúp tăng cường khả năng nhận diện và phân loại.
Việc chuyển đổi này cho phép mã hóa vector khuôn mặt số thành các token chuỗi, từ đó nâng cao hiệu suất truy xuất trong Elastic-search Chẳng hạn, một mã hóa có thể được thể hiện dưới dạng:
["pos1cluster4", "pos2cluster3", , "pos(m)cluster1"]
Mỗi token đại diện cho vị trí của vector con và nhãn cụm tương ứng sau khi phân cụm, giúp cân bằng giữa độ chính xác và tốc độ Điều này cho phép hệ thống hoạt động hiệu quả trong môi trường thời gian thực.
Phương pháp mã hóa này không chỉ cải thiện tốc độ truy xuất mà còn đảm bảo chất lượng nhận dạng khuôn mặt, tạo ra một giải pháp hiệu quả cho các ứng dụng yêu cầu hiệu suất cao.
Lập chỉ mục và tìm kiếm dữ liệu
Sau khi thu thập các token dạng chuỗi từ giai đoạn mã hóa, việc lưu trữ chúng là cần thiết cho quá trình truy xuất khuôn mặt sau này Truy xuất thông tin nhận dạng khuôn mặt từ biểu diễn chuỗi nhanh hơn nhiều so với việc sử dụng các vector số có chiều cao Để tối ưu hóa cơ chế so khớp chuỗi, khái niệm công cụ tìm kiếm dựa trên chỉ mục đảo ngược của Elasticsearch (ES) đã được áp dụng Dữ liệu được lập chỉ mục vào Elasticsearch dưới định dạng JSON, bao gồm các vector số, các token chuỗi và nhiều thuộc tính khác như tên, tuổi, địa chỉ, đường dẫn hình ảnh, giới tính, email và các thông tin bổ sung Mỗi khuôn mặt được biểu diễn dưới dạng một tài liệu JSON riêng biệt, với tổng cộng 1020 lớp khác nhau.
Kết quả là một mảng các đối tượng JSON tương ứng với số lượng dữ liệu trong tập huấn luyện Tiếp theo, chỉ cần sử dụng các hàm API có sẵn của Elasticsearch để lập chỉ mục dữ liệu vào máy chủ Elasticsearch.
Trong bước này, chúng ta sẽ áp dụng các bước triển khai mà Cun (Matthew) Mu đã thực hiện, nhưng thay vì dữ liệu tổng quát, chúng ta sẽ tập trung vào dữ liệu khuôn mặt Đối với mỗi hình ảnh truy vấn, cần thực hiện chính xác các bước như trong quá trình huấn luyện để thu được một chuỗi ký tự Sau đó, chuỗi này sẽ được sử dụng cho quá trình tìm kiếm Các khuôn mặt tương tự nhất trong tập hợp được xác định dựa trên mức độ chồng lấp giữa chuỗi ký tự truy vấn và các chuỗi ký tự đã lưu trữ trên máy chủ ES.
Elasticsearch (ES) cung cấp một API RESTful giúp đơn giản hóa quá trình tìm kiếm Người dùng chỉ cần tạo nội dung yêu cầu dưới dạng JSON để yêu cầu máy chủ ES thực hiện các phép toán tìm kiếm.
} string_tokens_chunks.append(sub_field) request_body = {
"vector_field": "image_actual_vector",
Trong định dạng JSON, hai thành phần chính được thiết lập để tối ưu hóa kết quả sắp xếp từ Elasticsearch (ES) Thành phần đầu tiên, "query", là một truy vấn tính điểm, giúp truy xuất các khuôn mặt có token chuỗi tương tự nhất với s Thành phần thứ hai, "rescore", là hàm rescore tùy chỉnh của ES, nâng cao độ chính xác bằng cách sắp xếp lại chỉ các kết quả hàng đầu từ phần đầu tiên dựa trên khoảng cách Euclid, thay vì áp dụng thuật toán cho tất cả các khuôn mặt trong cơ sở dữ liệu.
Bằng cách kết hợp hai phần này, chúng ta có thể tối ưu hóa quá trình tìm kiếm và sắp xếp, đảm bảo kết quả không chỉ chính xác mà còn được truy xuất nhanh chóng và hiệu quả Điều này rất quan trọng trong việc xử lý các cơ sở dữ liệu lớn, nơi hiệu suất và độ chính xác là yếu tố then chốt.
Việc áp dụng hàm rescore tùy chỉnh mang lại sự linh hoạt trong việc điều chỉnh các tham số tìm kiếm, đáp ứng nhu cầu cụ thể của ứng dụng Điều này không chỉ nâng cao trải nghiệm người dùng mà còn tăng cường khả năng mở rộng của hệ thống.
Thử nghiệm và đánh giá 36
Phương pháp đánh giá
Độ chính xác là chỉ số quan trọng nhất để đánh giá hiệu quả và khả năng tổng quát hóa của mô hình học máy Nó đo lường khả năng của mô hình trong việc thực hiện nhiệm vụ bằng cách tính tỷ lệ giữa số dự đoán đúng và tổng số phần tử trong tập dữ liệu kiểm tra Điều này có nghĩa là độ chính xác phản ánh khả năng đưa ra kết quả chính xác của mô hình khi áp dụng trên dữ liệu mới Công thức tính độ chính xác được thể hiện như sau: Độ chính xác = ∑ c−1 i=0 ∑ n ci j=0 E(y ∗ j ,yˆj).
• N là tổng số phần tử trong tập kiểm thử.
• clà số lượng các lớp cần dự đoán.
• n c i là số lượng các phần tử thuộc lớpc i , vớii=0,1, ,c−1.
E(y ∗ j ,yˆj) là một hàm Boolean dùng để so sánh giá trị thực y ∗ j với giá trị dự đoán yˆj; hàm này trả về “1” khi y ∗ = yˆj và “0” khi không Độ nhạy (Recall) được xác định là tỷ lệ giữa số lượng dự đoán dương của các lớp so với số lượng dương thực tế, với công thức tính được định nghĩa rõ ràng.
• clà số lượng lớp cần dự đoán.
• npi biểu thị số lượng dự đoán dương cho lớpi.
• n ci là số lượng dương thực tế của mỗi lớpi.
• E(y ∗ j ,yj) ho biết dự đoán đúng.
Trong phân tích dữ liệu, 'dương tính thật' (true positive) chỉ các điểm dữ liệu được dự đoán là dương và thực sự là dương Ngược lại, 'âm tính giả' (false negative) là những điểm dữ liệu được dự đoán là âm nhưng thực tế lại là dương.
Thử nghiệm
Trong nghiên cứu này, OpenFace [7] đã được tái triển khai và huấn luyện trên bộ dữ liệu đã chỉ định để so sánh với thuật toán được đề xuất trong luận văn, nhằm chứng minh tính hiệu quả của quy trình mới Dữ liệu cũng đã được phân chia thành hai tập huấn luyện và kiểm tra với tỷ lệ 80% cho tập huấn luyện và 20% cho tập kiểm tra.
OpenFace đã được tái triển khai với bộ dữ liệu VN-celeb để đảm bảo sự so sánh công bằng Bộ dữ liệu này chỉ chứa các hình ảnh chân dung trực diện của những người nổi tiếng Việt Nam, vì vậy bước phát hiện khuôn mặt trong quá trình huấn luyện là rất quan trọng.
Trước tiên, dữ liệu được tiền xử lý theo hướng dẫn trong Mục 4.2.2 trước khi áp dụng hàm mất mát triplet loss của FaceNet để huấn luyện trong 150 epoch Với các trọng số ban đầu đã được huấn luyện trên 500 nghìn hình ảnh, thay vì khởi tạo lại toàn bộ kiến trúc mạng sâu, các kỹ thuật tinh chỉnh (fine-tuning) được thực hiện bằng cách đặt lại trọng số của một số lớp cuối cùng của FaceNet và đóng băng các lớp còn lại Sau đó, mô hình được khởi động trong 30 epoch, tiếp theo là huấn luyện toàn bộ mô hình trong 120 epoch cuối cùng.
Sau khi hoàn tất quá trình huấn luyện, chúng ta sẽ thu được một tập hợp các vector trong không gian 128 chiều, đại diện cho các đặc trưng của từng khuôn mặt Cuối cùng, các vector này sẽ được sử dụng làm đầu vào cho máy vector hỗ trợ (SVM) từ thư viện Scikit-learn, nhằm phân loại và phân biệt các cá nhân khác nhau.
Để xây dựng quy trình nhận diện khuôn mặt, các bước đã được thực hiện theo mô tả trong mục 4, bỏ qua bước phát hiện khuôn mặt Các kỹ thuật tiền xử lý dữ liệu được áp dụng trong Mục 4.2.2, sau đó, đầu ra được đưa qua VGG-Face với các lớp kết nối đầy đủ bị loại bỏ, tạo ra các vector biểu diễn khuôn mặt có 2048 chiều Tuy nhiên, kích thước 2048 chiều quá lớn cho ứng dụng nhận diện khuôn mặt thời gian thực, vì vậy cần áp dụng PCA để giảm số chiều.
Quá trình giảm kích thước từ 2048 xuống 512 giúp xác định các thành phần chính của khuôn mặt Tiếp theo, các vector khuôn mặt số sẽ được mã hóa thành các token chuỗi Theo Mục 4.2.5, tất cả các vector 512 chiều trong tập dữ liệu huấn luyện được chia thành các vị trí Pi={x i 1 ,x i 2 , ,x i n }, với i={1, ,n} và n là độ dài của tập dữ liệu Sau đó, một thuật toán k-means từ thư viện Scikit-learn sẽ được áp dụng cho mỗi vector trong tập hợp Pi Cuối cùng, các mô hình k-means đã được huấn luyện sẽ được lưu lại để sử dụng cho các suy luận trong tương lai.
Sử dụng mô hình k-means đã huấn luyện, chúng ta có thể thu được các token chuỗi và kết hợp chúng với các thuộc tính cá nhân như tên, địa chỉ, số điện thoại, phòng ban, quốc tịch, email và các vector khuôn mặt số để tạo ra một đối tượng JSON nhằm lập chỉ mục dữ liệu vào máy chủ Elasticsearch (ES) Để xác định danh tính cá nhân, chỉ cần xây dựng một JSON body và sử dụng API tìm kiếm của ES để truy xuất khuôn mặt, từ đó trả về năm khuôn mặt tương tự nhất Danh tính cá nhân được xác định qua trường tên của bản ghi có điểm số cao nhất, được tính toán bởi hàm của ES Tất cả các mô hình học sâu và k-means được bảo vệ và quản lý bởi máy chủ TensorFlow và DVC, như đã mô tả trong tài liệu Cuối cùng, ứng dụng quy trình đầy đủ sẽ được phát triển và triển khai với Django.
Kết quả thử nghiệm và so sánh
Trong phần này, chúng ta sẽ so sánh kết quả của phương pháp đề xuất với kết quả của OpenFace, như đã trình bày trong Mục 5.2 Qua việc thống kê và so sánh, có thể kết luận rằng ứng dụng được đề xuất trong luận văn đã mang lại nhiều lợi ích cho các ứng dụng nhận diện khuôn mặt Dưới đây sẽ là một số bảng thống kê và biểu đồ minh họa.
Các Bảng 5.1, 5.2 và 5.3 trong luận văn so sánh độ chính xác, độ nhớ và thời gian suy luận giữa OpenFace và quy trình nghiên cứu, sử dụng các vector khuôn mặt số với kích thước khác nhau từ 256 đến 2048 cho các thuật toán chuyển đổi vector thành chuỗi token Kết quả cho thấy độ chính xác của thử nghiệm vượt trội hơn hẳn OpenFace trong tất cả các bản ghi, với độ recall tương đương hoặc cao hơn, đặc biệt trong Bảng 5.2 và 5.3 Hệ thống cũng đạt hiệu suất tương đương OpenFace khi mã hóa các vector đa chiều thành các token chuỗi, mặc dù OpenFace chỉ sử dụng vector khuôn mặt 128 chiều, trong khi thử nghiệm sử dụng vector có số chiều cao hơn, bao gồm nhiều đặc trưng khuôn mặt hơn, nhưng vẫn giữ thời gian suy luận tương đương.
Trong Bảng 5.3, độ chính xác và recall của thử nghiệm vượt trội hơn so với OpenFace, tuy nhiên, thời gian truy xuất khuôn mặt vẫn chưa đạt yêu cầu cho ứng dụng thời gian thực Bảng 5.1 và 5.2 phân chia dữ liệu thành ba nhóm với 64, 32 và 16 vị trí, thể hiện hiệu suất với số cụm từ từ 19 đến 22, cùng với cụm 23 được bổ sung trong Bảng 5.2.
Bảng 3.1: Các chỉ số đánh giá ảnh hưởng bởi N vị trí và N cụm với vector khuôn mặt
256 chiều của thử nghiệm và OpenFace Độ chính xác [%] Recall Thời gian suy luận [s]
N vị trí N cụm TN OpenFace TN OpenFace TN OpenFace
Bảng 3.2: Các chỉ số đánh giá bị ảnh hưởng bởi N vị trí và N cụm với vector khuôn mặt
512 chiều của thử nghiệm và OpenFace Độ chính xác [%] Recall Thời gian suy luận [s]
N vị trí N cụm TN OpenFace TN OpenFace TN OpenFace
Bảng 3.3: Các chỉ số đánh giá bị ảnh hưởng bởi N vị trí và N cụm với vector khuôn mặt
2048 chiều của thử nghiệm và OpenFace Độ chính xác [%] Recall Thời gian suy luận [s]
N vị trí N cụm TN OpenFace TN OpenFace TN OpenFace
Trong thử nghiệm với 32 vị trí, độ chính xác và recall đạt kết quả cao hơn, tuy nhiên thời gian tìm kiếm trung bình là 0,09 giây cho mỗi truy vấn Quy trình thử nghiệm cho thấy hiệu quả rõ rệt với sự cải thiện đáng kể về độ chính xác.
OpenFace thể hiện sự vượt trội về các chỉ số như độ nhạy (recall) và thời gian suy luận trong một số tình huống Nhóm cuối cùng đạt được 16 vị trí nổi bật với thời gian tìm kiếm nhanh chóng và độ chính xác khoảng 94%, tuy nhiên, độ nhạy lại khá hạn chế.
Khi so sánh Bảng 5.1 và 5.2, Bảng 5.2 cho thấy hiệu quả vượt trội với độ chính xác và recall cao hơn, mặc dù thời gian phản hồi của nó chậm hơn một chút so với Bảng 5.1.
Đã xây dựng biểu đồ cột thể hiện độ chính xác, recall và thời gian tìm kiếm, nhằm hỗ trợ trong việc lựa chọn số lượng vị trí và cụm tối ưu cho các thuật toán mã hóa vector biểu diễn khuôn mặt với các số chiều khác nhau.
Dựa trên kết quả thử nghiệm, phương pháp trong luận văn này cho thấy tính linh hoạt cao trong việc lựa chọn số lượng vị trí và cụm, nhằm đạt được thời gian suy luận, độ chính xác và recall như mong muốn.
Hình 3.1: Kết quả so sánh với độ chính xác, recall và thời gian suy luận
Bài luận văn này giới thiệu một phương pháp mới cho ứng dụng nhận dạng khuôn mặt end-to-end, bao gồm quy trình phát triển và triển khai toàn diện Phương pháp này nhằm cung cấp giải pháp hiệu quả và chính xác cho việc nhận dạng khuôn mặt, từ thiết kế, huấn luyện đến triển khai thực tế Phương pháp đã được công bố tại hội nghị ICCSA và Computer Science thông qua hai bài báo: "A Novel Approach to End-to-End Facial Recognition Framework with Virtual Search Engine ElasticSearch" và một bài báo khác.
Hybrid end-to-end Approach Integrating Online Learning with Face-identification System[13]
Quy trình của luận văn đã chứng minh độ chính xác dự đoán ấn tượng khi xử lý bộ dữ liệu thách thức, góp phần giải quyết vấn đề thiếu hụt dữ liệu khuôn mặt Điều này khẳng định rằng phương pháp được đề xuất có khả năng hoạt động hiệu quả ngay cả trong những tình huống khó khăn với dữ liệu không đầy đủ hoặc chất lượng kém.
Quy trình mà luận văn đề xuất cung cấp thời gian phản hồi nhanh chóng cho các ứng dụng thời gian thực, điều này cực kỳ quan trọng trong các hệ thống yêu cầu phản hồi ngay lập tức như an ninh và nhận dạng trong đám đông, nơi mỗi giây đều có giá trị.
Việc áp dụng thuật toán chuyển đổi vector thành chuỗi ký tự (vector-to-string token) cho phép huấn luyện mô hình trên máy tính thông thường mà không cần GPU, từ đó giảm thiểu chi phí cho thiết bị phần cứng đắt tiền Điều này tạo điều kiện cho nhiều cá nhân và tổ chức tiếp cận công nghệ huấn luyện mô hình một cách dễ dàng hơn.
Thay vì áp dụng mô hình học sâu truyền thống cho nhận dạng khuôn mặt, nghiên cứu đã sử dụng ES để lưu trữ, tạo và truy xuất danh tính khuôn mặt một cách hiệu quả hơn Phương pháp này giải quyết triệt để các vấn đề liên quan đến học trực tuyến trong ứng dụng nhận dạng khuôn mặt, từ đó nâng cao hiệu suất, khả năng mở rộng và linh hoạt của hệ thống.
Trong tương lai, các nghiên cứu sẽ tập trung vào việc phát triển giải pháp nâng cao độ chính xác của thuật toán chuyển đổi vector thành chuỗi ký tự, nhằm cải thiện kết quả nhận dạng khuôn mặt Mục tiêu là nâng cao hiệu suất và độ tin cậy của hệ thống, đáp ứng nhu cầu ngày càng tăng trong các ứng dụng thực tế.
[1] Ahonen, Timo, Hadid, Abdenour andPietik¨ainen, Matti “Face Description with Local Binary Patterns: Application to Face Recognition”.in IEEE Transactions on
Pattern Analysis and Machine Intelligence: 28.12 (2006),pages2037–2041.DOI: 10.1109/TPAMI.2006.244.
[2] Ahonen, Timo, Hadid, Abdenour and Pietik¨ainen, Matti “Face description with local binary patterns: Application to face recognition” in IEEE Transactions on
Pattern Analysis and Machine Intelligence: 28.12 (2006),pages2037–2041.
[3] Ahonen, Timo, Hadid, AbdenourandPietik¨ainen, Matti “Face Recognition with Local Binary Patterns”.in Proceedings of the European Conference on Computer
[4] Almabdy, SoadandElrefaei, Lamiaa “Deep Convolutional Neural Network-Based Approaches for Face Recognition”.in Applied Sciences: 9 (october2019),page4397.
[5] Ammar, Sirineandothers “Towards an Effective Approach for Face Recognition with DCGANs Data Augmentation”.inoctober2020: ISBN : 978-3-030-64555-7.
[6] Amos, Brandon, Ludwiczuk, BartoszandSatyanarayanan, Mahadev “OpenFace:
A General-Purpose Face Recognition Library with Mobile Applications”.in CMU
[7] Baltruˇsaitis, Tadas, Robinson, Peter and Morency, Louis-Philippe “OpenFace:
An open source facial behavior analysis toolkit”.in 2016 IEEE Winter Conference on Applications of Computer Vision (WACV): 2016, pages1–10 DOI :10.1109/
[8] Belhumeur, P N., Hespanha, J P and Kriegman, D J “Eigenfaces vs Fisher- faces: Recognition using class specific linear projection”.in IEEE Transactions on
Pattern Analysis and Machine Intelligence: 19.7 (1997),pages711–720.
[9] Belhumeur, Peter N., Hespanha, Joao P.and Kriegman, David J “Eigenfaces vs. Fisherfaces: Recognition Using Class Specific Linear Projection”.in IEEE Trans- actions on Pattern Analysis and Machine Intelligence: 19.7 (1997),pages711–720.
[10] Blanz, Volkerand Vetter, Thomas “Face recognition based on fitting a 3D mor- phable model” in IEEE Transactions on Pattern Analysis and Machine Intelli- gence: 25.9 (2003),pages1063–1074.
[11] Collobert, Ronan, Kavukcuoglu, KorayandFarabet, Clément.Torch7: A Matlab- like Environment for Machine Learning In BigLearn, NIPS Workshop 2011.
[12] Dalal, Navneetand Triggs, Bill “Histograms of Oriented Gradients for Human Detection” in Proceedings of the 2005 IEEE Computer Society Conference on
Computer Vision and Pattern Recognition: IEEE, 2005, pages 886–893 DOI: 10.1109/CVPR.2005.177.
[13] Dat, Sonandothers “A Hybrid End-to-End Approach Integrating Online Learn- ing into Face Identification System” in Computer Science: 24 (october 2022).
[14] Dat, Sonandothers “A Novel Approach to End-to-End Facial Recognition Frame- work with Virtual Search Engine ElasticSearch” inseptember 2021: ISBN: 978- 3-030-86969-4 DOI:10.1007/978-3-030-86970-0_32.
[15] Deb, Debayan, Nain, Neeta and Jain, Anil K Longitudinal Study of Child Face Recognition 2017 arXiv:1711.03990 [cs.CV] URL : https://arxiv.org/ abs/1711.03990.
[16] Deng, Jiankang andothers “ArcFace: Additive Angular Margin Loss for Deep
Face Recognition”.in Proceedings of the IEEE/CVF Conference on Computer Vi- sion and Pattern Recognition: 2019,pages4690–4699.
[17] Deng, Jiankang andothers “ArcFace: Additive Angular Margin Loss for Deep
Face Recognition”.in IEEE Transactions on Pattern Analysis and Machine Intelli- gence: 44.10 (october2022),pages5962–5979.ISSN: 1939-3539.DOI:10.1109/ tpami.2021.3087709 URL : http://dx.doi.org/10.1109/TPAMI.2021. 3087709.
[18] Goldstein, A Jay, Harmon, Leon D and Lesk, A B “Identification of human faces” in1971: URL: https : / / api semanticscholar org / CorpusID : 57690561.
[19] Goodfellow, Ianandothers “Generative adversarial nets”.in Advances in Neural
[20] Guo, Yandong andothers “MS-Celeb-1M: A dataset and benchmark for large- scale face recognition” in European Conference on Computer Vision: Springer,
[21] Howard, Andrew Gandothers “Mobilenets: Efficient convolutional neural net- works for mobile vision applications”.in arXiv preprint arXiv:1704.04861: (2017).
[22] Hu, Jiwen, Lu, Jiwen and Tan, Yap-Peng “Deep Transfer Metric Learning for Cross-Modal Face Recognition”.in IEEE Transactions on Image Processing: 28.4
[23] Huang, Gary B andothers Labeled faces in the wild: A database for studying face recognition in unconstrained environments techreport Technical Report 07-
[24] Illinois General Assembly.Biometric Information Privacy Act Available at:http: / / www ilga gov / legislation / publicacts / fulltext asp ? Name = 095 -
[25] Kazemi, VahidandSullivan, Josephine “One Millisecond Face Alignment with an Ensemble of Regression Trees” in Proceedings of the IEEE Conference on
Computer Vision and Pattern Recognition: 2014,pages1867–1874.
[26] King, Davis E “Dlib-ml: A machine learning toolkit” in Journal of Machine
[27] Kirby, M.andSirovich, L “Application of the Karhunen-Loeve procedure for the characterization of human faces” in IEEE Transactions on Pattern Analysis and
[28] LeCun, Yannandothers “Gradient-Based Learning Applied to Document Recog- nition” in Proceedings of the IEEE: 86.11 (1998), pages 2278–2324 DOI : 10 1109/5.726791.
[29] Li, Chenandothers “RGB-D Based Face Recognition: A Survey”.in IEEE Trans- actions on Human-Machine Systems: 45.4 (2015),pages393–405.
[30] Liu, Wei andothers “SSD: Single shot multibox detector” in European confer- ence on computer vision: Springer 2016,pages21–37.
[31] Liu, Weiyang andothers “Large-Margin Softmax Loss for Convolutional Neu- ral Networks” in Proceedings of the 33rd International Conference on Machine
[32] Lowe, David G “Distinctive Image Features from Scale-Invariant Keypoints”. in International Journal of Computer Vision: 60.2 (2004),pages91–110 DOI :10. 1023/B:VISI.0000029664.99615.94.
[33] Mu, Cun andothers Towards Practical Visual Search Engine within Elastic- search 2019 arXiv: 1806.08896 [cs.CV] URL: https://arxiv.org/abs/ 1806.08896.
[34] Ng, Hong-Wei and Winkler, Stefan “A data-driven approach to cleaning large face datasets”.in 2014 IEEE International Conference on Image Processing (ICIP):
[35] Ng, HuyandWinkler, Stefan “FaceScrub: A Dataset of Over 100,000 Face Im- ages of 530 People”.in arXiv preprint arXiv:1407.4761: (2014).
[36] Parkhi, Omkar M., Vedaldi, AndreaandZisserman, Andrew “Deep Face Recog- nition”.in Proceedings of the British Machine Vision Conference: 2015.
[37] Parkhi, Omkar M., Vedaldi, AndreaandZisserman, Andrew “Deep Face Recog- nition”.in British Machine Vision Conference: 2015.
[38] Schroff, Florian, Kalenichenko, Dmitry and Philbin, James “FaceNet: A Uni- fied Embedding for Face Recognition and Clustering”.in Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition (CVPR): 2015,pages815–823.
[39] Schroff, Florian, Kalenichenko, Dmitry and Philbin, James “FaceNet: A uni- fied embedding for face recognition and clustering” in 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR): IEEE, june 2015 DOI: 10.1109/cvpr.2015.7298682 URL : http://dx.doi.org/10.1109/CVPR. 2015.7298682.
[40] Schroff, Florian, Kalenichenko, DmitryandPhilbin, James “FaceNet: A unified embedding for face recognition and clustering”.in Proceedings of the IEEE Con- ference on Computer Vision and Pattern Recognition: 2015,pages815–823.
[41] Sengupta, Soumyadipandothers “Frontal to Profile Face Verification in the Wild”. in 2016 IEEE Winter Conference on Applications of Computer Vision: 2016,pages1–9.
[42] Shi, Yichun, Otto, CharlesandJain, Anil K “Face Clustering: Representation and Pairwise Constraints” in IEEE Transactions on Information Forensics and Secu- rity: 13.7 (2018),pages1626–1640 DOI:10.1109/TIFS.2018.2796999.
[43] Taigman, Yanivandothers “DeepFace: Closing the Gap to Human-Level Perfor- mance in Face Verification”.in Proceedings of the IEEE Conference on Computer
Vision and Pattern Recognition (CVPR): 2014,pages1701–1708.
[44] Taigman, Yaniv andothers “DeepFace: Closing the gap to human-level perfor- mance in face verification” in Proceedings of the IEEE Conference on Computer
Vision and Pattern Recognition: 2014,pages1701–1708.
[45] Turk, Matthew and Pentland, Alex “Eigenfaces for Recognition” in Journal of
Cognitive Neuroscience: 3.1 (1991),pages71–86.DOI:10.1162/jocn.1991.3. 1.71.
[46] Turk, Matthew and Pentland, Alex “Eigenfaces for recognition” in Journal of
[47] Viola, PaulandJones, Michael “Rapid object detection using a boosted cascade of simple features” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition: 2001,pages511–518.
[48] Viola, PaulandJones, Michael “Rapid object detection using a boosted cascade of simple features”.in Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition:volume1 IEEE 2001,pagesI–I.