« Home « Kết quả tìm kiếm

Ứ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óm tắt Xem thử

- Ứ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.
- Hệ thống nhận diện khuôn mặt được tích hợp rất nhiều trong các hệ thống an ninh, thực thi luật, chăm sóc sức khỏe, giải trí,… 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à 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.
- Một hệ thống nhận diện được mong muốn là nó có khả năng tự động nhận diện và kiểm chứng các cá nhân trong những video hoặc hình ảnh.
- Bài toán về nhận diện khuôn mặt đã được nghiên cứu từ rất lâu và có rất nhiều thuật toán đã được đưa ra để thực hiện điều này, 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 (one-to-many matching) [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 TÓM TẮT.
- 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ề 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..
- 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) [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 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 thấp.
- Mô hình Facenet ra mắt vào 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 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.
- 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 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 điểm danh và quản lý sinh viên tại trường Đại học Công nghiệp Hà Nội..
- Từ khóa: Mạng neural tích chập, học sâu - nhận diện khuôn mặt..
- nhận 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 thấp.
- Trong quá trình phát triển, các nhà nghiên cứu cũng đưa ra rất nhiều những thư viện để hỗ trợ cho việc xây dựng các ứng dụng về nhận diện khuôn mặt..
- Việc sử dụng các thư viện sẵn có sẽ tiết kiệm về thời gian cài đặt, thời gian thu thập dữ liệu nhưng lại có những hạn chế trong việc ứng dụng tại những nơi có số lượng người lớn do việc không đảm bảo tính ổn định của việc dự đoán khi cơ sở dữ liệu ảnh gia tăng một cách đáng kể..
- Thuật toán về nhận diện khuôn mặt dựa trên các mô hình học sâu được đề xuất tại [2, 3] đã đạt được hiệu suất tốt về thời gian xử lý và có độ chính xác rất cao [4-6].
- 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 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 đặc điểm riêng biệt của khuôn mặt một người và có sự khác biệt so với các vector không thuộc cùng nhóm với nó..
- Như vậy, việc nhận diện khuôn mặt của một người chỉ là việc phân lớp vector từ ảnh khuôn mặt của người đó so với các lớp vector đã được mã hóa trong toàn bộ cơ sở dữ liệu ảnh.
- Ưu điểm của Facenet khá nổi trội khi mô hình chỉ cần thu thập dữ liệu ảnh được căn chỉnh tối ưu về vùng cắt của mặt và luôn đáp ứng một hiệu suất vô cùng ổn định với một số lượng dữ liệu ảnh rất lớn..
- Trong bài báo này, nhóm nghiên cứu sẽ trình bày về mô hình Facenet và những cải tiến giúp nâng cao hơn hiệu suất của mô hình để từ đó ứng dụng vào việc xây dựng một hệ thống nhận diện khuôn mặt phục vụ trong việc quản lý, giám sát và điểm danh sinh viên tại trường Đại học Công nghiệp Hà Nội..
- QUÁ TRÌNH TIỀN XỬ LÝ ẢNH.
- 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].
- Trong giai đoạn đầu, P-Net hoạt động trong việc sử dụng một cửa sổ trượt có kích thước 12x12 chạy qua mỗi bức hình để tìm kiếm khuôn mặt.
- Sau lớp tích chập thứ ba, mạng được chia thành hai lớp nhỏ, một lớp đưa ra xác suất mà một khuôn mặt nằm trong miền xác định và lớp còn lại cung cấp các tọa độ của miền xác định.
- Cuối cùng, O-Net sẽ lấy các miền xác định từ R-Net làm đầu vào và đưa ra ba kết quả đầu ra bao gồm: xác suất của khuôn mặt nằm trong miền xác định, tọa độ được tinh chỉnh cuối cùng của miền xác định và tọa độ các bộ phận trên khuôn mặt..
- Khi xác định được vị trí khuôn mặt, hình ảnh gốc trên tập dữ liệu có kích thước là x pixels × y pixels sẽ được thực hiện bằng cách cắt theo vùng khuôn mặt và đưa về kích thước 160 × 160.
- Kết quả được thực hiện qua 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 2.2.
- Tăng cường dữ liệu ảnh.
- Một mô hình học sâu cần có lượng dữ liệu rất lớn để có thể hoạt động tốt [11].
- Về bản chất, mô hình Facenet cũng là một mạng học sâu nên để nâng cao độ chính xác cũng cần cung cấp một số lượng dữ liệu ảnh lớn.
- Trong nghiên cứu này, nhóm tác giả sẽ sử dụng một số kỹ thuật để có thể tăng cường dữ liệu của ảnh, phục vụ cho quá trình huấn luyện dữ liệu của mô hình học sâu..
- Kỹ thuật tăng giảm độ sáng: Quá trình tăng giảm độ sáng của dữ liệu ảnh sẽ cho phép mô hình có khả năng dự đoán tốt với những điều kiện ánh sáng khác nhau trong thực tế.
- Tuy nhiên việc tăng giảm độ sáng cũng cần phải lưu ý với những giá trị hợp lý, tránh giảm ảnh quá tối hoặc quá sáng khiến mô hình phải học những dữ liệu không tốt..
- Tăng cường dữ liệu ảnh với kỹ thuật tăng giảm độ sáng.
- Phép xoay ảnh được sử dụng rất nhiều trong việc tạo ra dữ liệu khuôn mặt bởi lẽ trong thực tế, viêc tính toán được thực hiện trong rất nhiều những góc độ khác nhau của khuôn mặt..
- Tăng cường dữ liệu ảnh với kỹ thuật xoay ảnh 2.3 Chuẩn hóa dữ liệu ảnh.
- Xét với dữ liệu của bài toán là dữ liệu ảnh màu được đọc từ máy tính và được biểu diễn dưới dạng một ma trận ba 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ọ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 dữ liệu với giá trị cao rất dễ xảy ra hiện tượng tràn bộ nhớ và ảnh hưởng tới quá trình tính toán.
- Để khắc phục vấn đề này, nhóm nghiên cứu sử dụng phương pháp chuẩn hóa dữ liệu để điều chỉnh giá trị của dữ liệu về cùng một tỉ lệ trên một miền giá trị mới..
- Kết quả sử dụng phương pháp chuẩn hóa min-max cho ảnh Chuẩn hóa min-max có thể coi là phương pháp đơn giản nhất trong việc ánh xạ giá trị về phạm vi [0,1].
- Với x là giá trị ban đầu, x là giá trị mới sau khi được chuẩn hóa, min(x) là giá trị nhỏ nhất của đặc trưng và max(x) là giá trị lớn nhất của đặc trưng.
- max bảo đảm mối quan hệ giữa các giá trị của dữ liệu gốc, nó sẽ phát hiện ra được các lỗi vượt quá giới hạn nếu như có giá trị đầu vào vượt quá khoảng giá trị cho phép.
- Ở đây, giá trị đặc trưng là điểm ảnh nên min(x.
- Kết quả sử dụng phương pháp chuẩn hóa min-max được thể hiện ở hình 4..
- MÔ HÌNH FACENET VÀ QUÁ TRÌNH HUẤN LUYỆN DỮ LIỆU.
- 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 quả tốt nhất.
- Inception module là một mạng tích chập giúp mạng huấn luyện được sâu và nhanh hơn thay vì việc phải tạo ra nhiều lớp sẽ rất dễ dẫn tới trường hợp mô hình 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].
- Các pooling trong mạng tích chập còn có mục đích đạt được sự bất biến đối với việc thay đổi vị trí hoặc độ sáng của ảnh và tổng hợp một kết quả đầu ra dựa trên các giá trị nằm trong vùng mà kernel ánh xạ [17].
- Sử dụng hàm mất mát Triplet.
- Như đã trình bày ở phần trên, mô hình Facenet có một ưu điểm là 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.
- Số lượng đầu ra của mạng neural tích chập trong (3.1) chính là số lượng lớp khuôn mặt trong cơ sở dữ liệu ảnh.
- Như vậy, nếu số lượng người cần dự đoán 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à huấn luyện trở nên phức tạp hơn chưa kể việc phải huấn luyện lại toàn bộ mạng khi có một lớp mới được tạo ra.
- Kiến trúc của Siamese dựa trên nền tảng là một mạng tích chập được loại bỏ đi lớp đầu ra và chỉ được sử dụng để mã hóa ảnh thành một vector gọi là vector embedding..
- 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 mạng.
- Thông thường, hàm mất mát được sử dụng là một hàm norm chuẩn bậc 2..
- Trong hình 6, mô hình đưa ra 2 vector là x và x biểu diễn lần lượt cho ảnh 1 và ảnh 2.
- Gọi f(x) là hàm có tác dụng tương tự như một phép biến đổi qua lớp fully 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ỏ.
- 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 độ 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 dữ liệu, giúp tăng tốc khả năng tính toán của thuật toán và hơn cả là vẫn giữ được độ chính xác khi nhận diện.
- Thông thường, số phần tử của vector embedding là 128 tương ứng với 128 điểm được trích chọn trên khuôn mặt..
- Đối với hàm mất mát thông thường sẽ chỉ tính toán khoảng cách giữa hai bức ảnh, do vậy thì với một lần huấn luyện mô hình sẽ chỉ học được một trong hai khả năng đó 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 một lúc hai việc đó trong một lượt huấn luyện.
- Mô hình Facenet khắc phục điều này khi đưa ra hàm mất mát là Triplet với đầu vào là bộ ba ảnh anchor, positive và negative ký hiệu lần lượt là A, P và N.
- Quá trình huấn luyện của Facenet [19].
- 0 có giá trị rất nhỏ được thêm vào.
- là tập hợp tất cả bộ ba trong tập huấn luyệ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.
- Lựa chọn bộ ba ảnh đầu vào.
- Việc lựa chọn bộ ba ảnh đầu vào sẽ có ảnh hưởng rất lớn tới chất lượng của mô hình Facenet do mô hình sẽ hội tụ nhanh hơn và đồng thời đưa ra kết quả dự báo tốt hơn..
- Việc lựa chọn ngẫu nhiên bộ ba ảnh đầu vào về bản chất là cũng có thể được thực hiện do xác suất tỉ lệ chọn cặp ảnh ngẫu nhiên đều thuộc cùng một lớp là rất nhỏ do cơ sở dữ liệu ảnh của hệ thống nhận diện là rất lớn.
- Tuy nhiên việc này sẽ dẫn tới sự khó hội tụ của mô hình và là điều không mong muốn khi việc cải thiện mô hình là điều luôn được hướng tới..
- Tuy nhiên, trong thực tế không thể tính toán được argmin và argmax trên toàn bộ tập huấn luyện và có thể dẫn tới việc mô hình huấn luyện kém do ảnh những khuôn mặt được gán nhãn sai và có chất lượng kém sẽ nhiều hơn hard positive và hard negative.
- 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..
- HUẤN LUYỆN MÔ HÌNH VÀ ĐÁNH GIÁ KẾT QUẢ 4.1.
- Huấn luyện mô hình.
- Như đã trình bày trong phần trước, quá trình huấn luyện dữ liệu toàn mạng sẽ được thực hiện dựa trên kiến trúc của mạng Inception ResNet V1 với tập dữ liệu của hơn 200 người đã được thu thập và gán nhãn kết hợp với quá trình sử dụng pre-trained trên bộ dữ liệu là CASIA-WebFace..
- Quy trình huấn luyện và đánh giá mô hình.
- Việc tiến hành huấn luyện dữ liệu sẽ được thực thi trên máy chủ tính toán hiệu năng cao (HPC) được trang bị card đồ họa GPU NVIDIA TesLa P100 16GB..
- Đầu vào của mạng Siamese là hai bức ảnh bất kỳ được lựa 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 mạng.
- Quá trình huấn luyện với tốc độ học 0,1.
- Quá trình huấn luyện với tốc độ học 0,01.
- Quá trình huấn luyện sử dụng thuật toán lan truyền 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 thuật về tối ưu khác như Adam, Adagrad, Rmsprop được 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àm mất mát giảm dần và hội tụ về 0 sau mỗi lần học..
- Ngoài ra, nhóm nghiên cứu còn tiến hành huấn luyện dựa trên các giá trị về tốc độ học, số lượng epochs.
- Kết quả cuối cùng của quá trình huấn luyện sẽ trả về một file trọng số của mạng neural..
- Đánh giá kết quả nhận diện.
- Dựa trên file trọng số đã tính toán, nhóm nghiên cứu tiến hành mã hóa ảnh trong cơ sở dữ liệu thành các vector 128 chiều.
- Kết quả dự đoán dựa trên các phương pháp phân lớp vector Method Normalization Face.
- Từ những kết quả đã được nghiên cứu và phát triển, 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 phòng lab mô phỏng và tính toán hiệu năng cao của Viện Công nghệ HaUI, Trường Đại học Công nghiệp Hà Nội.
- Kết quả thử nghiệm được xây dựng trên hệ thống nhận diện 5.
- 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 trên bộ dữ liệu về sinh viên đã được thu thập.
- Các kết quả đánh giá cũng dựa trên nhiều phương pháp phân lớp khác nhau để đưa ra độ chính xác cao nhất..
- Hướng phát triển tiếp theo của nghiên cứu là tối ưu các giải thuật để làm giảm thời gian tính toán cùng với đó là đề xuất các phương pháp chống giả mạo cho bài toán nhận diện và điểm danh sinh viên, cải thiện tốt hơn quá trình nhận diện và xây dựng một hệ thống điểm danh phục vụ cho trường Đại học Công nghiệp Hà Nội.

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt