Đặt vấn đề Trong bối cảnh xã hội hiện đại, nhu cầu về giáo dục mầm non ngày càng tăng cao, việc theo dõi sự hiện diện của trẻ là hết sức quan trọng. Điểm danh truyền thống không chỉ tốn thời gian mà còn dễ xảy ra sai sót. Từ đó hình thành nên ý tưởng thực hiện đề tài này nhằm giải quyết vấn đề đó. Đề tài cung cấp các chức năng quản lý tổng quan, điểm danh băng nhận diện khuôn mặt.
Bên cạnh đó cung cấp các tính năng như: e Nhận diện khuôn mặt e Đăng ký khuôn mặt trên ứng dụng e Điểm danh học sinh bằng nhận diện khuôn mặt e Quản lý điểm danh trên hệ thống e Tạo hóa đơn tự động. e Tính tiền ăn của học sinh 2. Giải quyết vấn đề : (Mục đích, Điểm mới, nét nỗi bat) @ Mục dich: Giải quyết bài toán nhận diện khuôn mặt, nhóm đã lựa chon Face Detection API được hỗ trợ bởi công cụ Google ML Kit dé phát triển trên ứng dụng mobile, bắt đầu quá trình bằng cách tìm kiếm mắt người trước khi tiến hành phát hiện các đặc điểm con lại trên khuôn mặt, lông mày, mũi, miệng và vân vân. Khi vùng khuôn mặt được phát hiện, thuật toán có thể thực hiện các thử nghiệm bố sung để xác nhận rằng vùng khuôn mặt đó hợp lệ.
Giải quyết bài toán đăng ký khuôn mặt trên ứng dụng, sau khi phát hiện khuôn mặt thành công, nhóm đã sử dụng mô hình FaceNet để mã hóa hình ảnh thành vector embedding và lưu xuông cơ sở dt liệu. Giải quyết bài toán điểm danh bằng nhận diện khuôn mặt, nhóm đã tính khoảng cách euclide của vector embedding vừa nhận được từ mô hình với tất cả các vector embedding những khuôn mặt đã đăng ký, nếu khoảng cách euclidean nhỏ hơn một ngưỡng nhất định thì học sinh đó điểm danh thành công. Giải quyết bài toán quản lý điểm danh trên hệ thống, khi học sinh được điểm danh thành công hệ thống sẽ hién thị ngày giờ và thông tin điểm danh của học sinh. Giải quyết bài toán tạo hóa đơn tự động, nhóm đã sử dụng cronjob trong laravel để việc tạo hóa đơn được sắp xếp theo lịch trình cụ thể.
Giải quyét bài toán tính tiên ăn của học sinh, tiên ăn sẽ được tinh băng cách lây tông tiên ăn của tháng hiện tại và trừ tiên ăn mà học sinh đã nghỉ học ở tháng trước đê ra được sô tiên cân thanh toán. e Điêm mới: Áp dụng hai phương pháp phát hiện khuôn mặt (Face Detection) và nhận diện khuôn mặt (Face Recognition) để điểm danh học sinh đáp ứng nhu cầu điểm danh tự động. Sử dụng cronjob trong Laravel để tự động lập lịch tạo hóa đơn mà không cần làm thủ công. Tự động tính tiền học phí cho học sinh thông qua số lần điểm danh tháng trước.
© Nét nổi bật: Thông qua các thực nghiệm được triển khai có thể thấy được việc điểm danh băng nhận diện khuôn mặt mang lại nhiều lợi ích đáng kể trong việc quản lý sự hiện diện của học sinh trong trường học.Hệ thống quan lý tổng quan, đáp ứng được nhiều nhu câu cho người quản lý. M6 ta quy trình e@ Quy trình đăng ky khuôn mặt List of Student Student selection The Image from Frontal Live Camera On picture taken Take picture Face Detection k. {HS | Face Dection API ML Kit. — 3 7 ae <i TensorFlow Lite Embedding vector Student (Student ID, Face Hinh 2.2 Quy trinh diém danh e Tóm tắt quy trình đăng ký gương mặt: © Dé có thể thực hiện đăng ký khuôn mặt cho học sinh, người quan lý phải có được thông tin về mã PIN bao mật.
Sau đó mới có thé đi đến màn hình danh sách học sinh. o Ở màn hình này, hiển thi tat cả học sinh của toàn trường hiện đang theo học. Việc có được danh sách học sinh cơ sở dit liệu lấy về và hién thị một số thông tin như sau: mã số học sinh, họ và tên của học sinh, tình trạng đã được đăng ký khuôn mặt hay chưa. Với những học sinh đã được đăng ký khuôn thì thì sẽ hiển thị “Delete”, ngược lại với những học sinh chưa được đăng ký thì sẽ hiển thị một nút nhắn “Add”.
Sau khi người nhắn chon nút “Add”, ngay lập tức sẽ được chuyển sang màn có khung hình camera tương tự như ở điểm danh. Chỉ khác là đối với khuôn mặt màn hình ban đầu được mở ra khi chạy ứng dụng và phục vụ cho việc điểm danh thì không bao gồm có nút với icon thêm khuôn mặt. Ngược lại với trường hợp này, khi được được chuyển sang màn hình có chứa khung hình camera thì sẽ hiển thị thêm nút icon thêm mới. Sau khi khung vuông tracker phát hiện được khuôn mặt cần thêm mới, chúng ta có thể nhấn chon icon thêm mới, khi đó có chứa khuôn mặt được cắt ra.
Thông tin hình ảnh này sẽ được kèm theo mã học sinh của học sinh trước đó chúng ta đã chọn thêm mới. Tiếp đến tương tự đối với bước nhận diện, hệ thống sẽ tiến hành sử dụng mô hình Facenet được có thể tạo ra vector embedding tương ứng với hình ảnh khuôn mặt nhận được. Sau đó khởi tạo đối tượng với hai thông tin chính là mã học sinh đó và kèm theo là vector embedding chuyền từ khuôn mặt của học sinh. Cuối cùng, lưu lại thông tin đăng ký của học sinh theo phương thức POST vào cơ sở dir liệu va sử dụng cho việc nhận diện sau đó.
® Quy trình điểm danh 8 digtance emailer than a threshold? e Tóm tắt quy trình o Đầu tiên khi ứng dụng được chạy, hệ thống thiết lập một fragment dé quản lý quá trình kết nối với camera.Fragment này chịu trách nhiệm kết nôi với camera và chuân bị cho việc thu thập hình ảnh. Camera gửi hình ảnh đến một thành phần đọc hình ảnh (Image Reader). Một listener (trình nghe sự kiện) được gắn vào Image Reader để xử lý khi có hình ảnh mới.Nếu cần, bước này sửa chữa các vấn đề liên quan đến hình ảnh để đảm bảo chất lượng tốt nhất trước khi xử lý tiếp. Khi hình ảnh đã sẵn sàng và chất lượng được đảm bảo, nó sẽ được chuyên đến bước tiếp theo dé phát hiện khuôn mặt.
Sử dung API nhận diện khuôn mặt (FaceDetector object) dé phat hién các khuôn mặt khung hình camera. Khi phát hiện được khuôn mặt trong khung hình thành công thì các khuôn mặt được phát hiện sẽ được gửi đến bước nhận diện khuôn mặt. Khởi tạo mô hình TFliteface dé hỗ trợ quá trình nhận diện khuôn mặt. Mục đích là tạo vector nhúng (embedding vector) có kích thước 512 từ các khuôn mặt được phát hiện.
Và quá trình nhận điện bắt đầu với việc, nhận đầu vào là hình ảnh khuôn mặt dạng bitmap. Lấy các giá trị pixel từ bitmap và lưu vào mảng kiểu giá trị Int. Mỗi phần tử trong mảng đó sẽ chứa một giá trị RGB của pixel tương ứng trong ảnh. Tiếp đến sẽ là chuẩn bị dữ liệu đầu vào cho mô hình TensorFlow Lite: một đối tượng ByteBuffer được sử dụng dé chuẩn bi đữ liệu đầu vào cho mô hình TensorFlow Lite.
Sau đó sẽ lặp qua từ điểm ảnh với kích thước đầu vào tương ứng 160x160. Đối với mỗi pixel, giá trị pixel RGB được trích xuất từ mảng trước đó.Trong đó inputArray là một mảng chứa dữ liệu đầu vào đã chuẩn bị (imgData). Còn output là một HashMap dé lưu kết quả đầu ra từ mô hình TensorFlow Lite. Đó là embeddings là một mang float 2 chiều để lưu các đặc trưng (embeddings) của khuôn mặt hoặc các thông tin cần thiết từ mô hình.
© Trước đó trong khi chúng ta khởi tại mô hình, thì tất cả dit liệu về khuôn mặt của học sinh đã được lây từ cơ sở đữ liệu về, mục đích để có lay do lam co so nhan dién hoc sinh. o Việc nhận diện xác định học sinh là ai? Chung tôi đã thực hiện tính khoảng cách của hai vectơ embeddings. Vector embedding thứ nhất là kết quả embeddings vừa nhận được từ mô hình, vector thứ hai sẽ là vector trong danh sách các vector đã lấy về từ cơ sở dữ liệu. Dé có thé tính khoảng cách như vậy, thì chúng tôi đã sử dụng công thức tính khoảng cách Euclide.
Sau bước này thì sẽ có hai trường hợp có thé xảy ra: m Nếu tìm được khuôn mặt tương thích với ít nhất một khuôn mặt trong danh sách các khuôn mat đã được lưu ở cơ sở dit liệu thì đã biết được thông tin của học sinh có khoảng cách giữa hai vector là nhỏ nhất. Chúng tôi đã thực hiện gửi thông tin của của học sinh đó, cụ thê là ID của học sinh bằng phương thức POST đến cơ sở dữ liệu dé lưu trữ lại thông tin điểm danh và hiển thi dialog thông báo việc điểm danh thành công ( hiển thị trong 3 giây). Tiếp đến lại quay trở về khung hình camera như ban đầu. m Nếu không tìm được cụ thể ở giá trị nhận được ở phương thức tính khoách cách thì sẽ không có thông tin nào được ghi nhận và vẫn tiếp tục ở khung hình camera đã được thiết lập.
©_ Ngoài ra việc điểm danh của học sinh đó chính được thực hiện ghi nhận 1 lần trong ngày. CHƯƠNG 1: TONG QUAN VE DE TÀI 1. Dat van dé Trong bối cảnh xã hội hiện đại, nhu cầu về giáo dục mam non ngay cang tang cao và đóng vai trò quan trọng trong sự phát triển toàn điện của trẻ nhỏ. Các trường mẫu giáo không chỉ cung cấp nền tảng học tập cơ bản mà còn đảm bảo môi trường an toàn, lành mạnh cho sự phát triển thê chất và tinh thần của trẻ.
Tuy nhiên, việc quản lý một trường mẫu giáo hiệu quả đòi hỏi nhiều nỗ lực và tài nguyên, từ quản lý thông tin học sinh, giáo viên, đên việc theo dõi và đảm bảo an toàn cho trẻ. Một trong những thách thức lớn nhất mà các trường mẫu giáo phải đối mặt là việc quản lý điểm danh và theo dõi sự hiện diện của trẻ. Phương pháp điểm danh truyền thống, như gọi tên hoặc sử dụng thẻ từ, không chỉ tốn thời gian mà còn dễ xảy ra sai sót. Việc đảm bảo rằng môi học sinh được điểm danh chính xác mỗi ngày là một phần quan trọng trong việc duy trì an toàn và quản lý tốt trường học.
Công nghệ nhận diện khuôn mặt đã trở nên phô biến trong những năm gần đây và được ứng dụng rộng rãi trong nhiều lĩnh vực như an ninh, tiếp thị, và dịch vụ khách hàng. Nhận diện khuôn mặt mang lại khả năng xác thực người dùng một cách tự động và nhanh chóng, giảm thiểu sai sót và tăng cường hiệu quả quản lý.