PHẦN MỞ ĐẦU 1.1 Tổng quan và mô tả đề tài khóa luận 1.1 Tổng quan Hệ thống nhận dạng khuôn mặt (Facial recognition system) [2] là công nghệ có khả năng xác định danh tính dựa vào khuôn mặt của đối tượng. Hệ thống nhận dạng khuôn mặt được sử dụng xác thực danh tính của một người nào đó trong tấm ảnh, videos hoặc thời gian thực (real-time). Nhận dạng khuôn mặt là một loại bảo mật sinh trắc học, các loại sinh trắc học hiện nay vẫn đang được sử dụng như nhận dạng vân tay, giọng nói, mống mắt. Công nghệ này chủ yếu được dùng trong bảo mật và thực thi pháp luật, nhưng ngày nay công nghệ nhận dạng khuôn mặt đang được sử dụng nhiều hơn ở các lĩnh vực khác.
Ban đầu hệ thống là một dạng ứng dụng trong máy tính, nhưng với sự phát triển của khoa học công nghệ ngày nay, hệ thống nhận dạng khuôn mặt đã được ứng dụng và triển khai trên nhiều nền tảng hơn như: điện thoại thông minh (smart phone), Iot, robot và các công nghệ phần cứng khác. Hệ thống nhận dạng khuôn mặt thường được sử dụng để xác thực danh tính người dùng thông qua Face ID của iPhone hay iPad, máy giám sát tự động (automatic face tracking), máy chấm công tự động, quản lý ra vào. Nhận dạng khuôn mặt là một bài toán phức tạp, nó đòi hỏi xử lý các vấn đề: Phát hiện tất cả các khuôn mặt có trong bức hình. Tập trung vào từng khuôn mặt đảm bảo rằng có thể nhận biết được đó là cùng một người từ các góc nhìn khác nhau hoặc điều kiện sáng tối khác nhau.
Lựa chọn các đặc trưng (feature) trên từng khuôn mặt. Trần Quang Trung ˗ Hồ Duy Quang 6 Lớp DHKHMT13A Ứng dụng chấm công bằng nhận dạng khuôn mặt ThS. Hồ Đắc Quán So sánh các đặc trưng này với những người khác để có thể định danh được người đó. Trần Quang Trung ˗ Hồ Duy Quang 7 Lớp DHKHMT13A Ứng dụng chấm công bằng nhận dạng khuôn mặt ThS.
Hồ Đắc Quán Ưu nhược điểm của công nghệ nhận dạng khuôn mặt. Ưu điểm Thực hiện nhận dạng hàng loạt vì nhận dạng khuôn mặt không cần tương tác của đối tượng để hoạt động. Là công nghệ sinh trắc học nhanh nhất. Trong nhiều trường hợp, đối tượng hoàn toàn không hay biết về quá trình này nên sẽ không cảm thấy “bị giám sát” hoặc cảm thấy sự riêng tư của mình bị xâm phạm.
Nhược điểm Khó khăn để thực hiện trong các điều kiện nhất định. Ví dụ: Ralph Gross, một nhà nghiên cứu tại Viện Mellon Robotics Carnegie, mô tả một trở ngại liên quan đến các góc nhìn của khuôn mặt: “Face recognition has been getting pretty good at full frontal faces and 20 degrees off, but as soon as you go towards profile, there've been problems. (trích dẫn từ [2]) Các điều kiện khác mà nhận dạng khuôn mặt không làm việc tốt được gồm thiếu ánh sáng, đeo kính mát, tóc dài hoặc các đối tượng mà một phần khuôn mặt bị che mất và các hình ảnh có độ phân giải thấp. Một nhược điểm nghiêm trọng nữa là nhiều hệ thống sẽ kém hiệu quả nếu biểu cảm trên khuôn mặt bị thay đổi.
Ngay cả khi bạn cười cũng có thể làm hệ thống giảm độ chính xác. Ví dụ: Canada vào năm 2009 chỉ cho phép để khuôn mặt “không cảm xúc” khi chụp ảnh hộ chiếu. Độ chính xác và tính khả dụng không được đảm bảo. Ví dụ: Để có được hình ảnh đối chiếu, hệ thống yêu cầu khách hàng phải quay ít nhất 35⁰ về phía camera và không sử dụng khẩu trang, mũ, nón, tóc phải được vén cao không quá chân mày,… Trong dịch vụ bán lẻ, yêu cầu này hoàn toàn không khả Trần Quang Trung ˗ Hồ Duy Quang 8 Lớp DHKHMT13A Ứng dụng chấm công bằng nhận dạng khuôn mặt ThS.
Hồ Đắc Quán thi. Chính vì vậy rất khó để cam kết độ chính xác về thông tin khi sử dụng camera nhận dạng khuôn mặt. Hệ thống chấm công (Time and attendance system) được sử dụng để theo dõi và giám sát khi nhân viên viên bắt đầu làm việc đến khi tan làm. Hệ thống chấm công cho phép người quản lý theo dõi giờ làm việc nhân viên của họ, đến làm hay đi muộn, nghỉ làm hay về sớm.
Các hình thức của hệ thống chấm công Hệ thống thủ công là một hệ thống cũ sử dụng “máy ghi thời gian” tên tiếng anh là Time Recorder hay được gọi là Clock Card Machine sử dụng phiếu để ghi thời gian, hiện nay hình thức này đã dần bị loại bỏ và được thay bằng các hệ thống tự động rẻ hơn. Hệ thống tự động là hệ thống chấm công tự động hiện đại yêu cầu nhân viên thao tác (chạm, vuốt,…) để nhận dạng danh tính và ghi lại giờ làm việc khi ra vào khu vực làm việc. Các hệ thống tự động hiện đại ngày nay thường sử dụng công nghệ sinh trắc học (đầu đọc tĩnh mạch, quét vân tay, nhận dạng khuôn mặt) và các thiết bị cảm ứng. Hệ thống trên ứng dụng là công nghệ cho phép sử dụng các tính năng của hàng rào địa lý (Geo-fence) dựa trên ứng dụng.
Giúp nhân viên chấm công ra vào khi nhân viên ở trong phạm vi kết nối internet riêng. Hệ thống nhận dạng khuôn mặt cũng có những công nghệ phần mềm dựa trên ứng dụng này, loại bỏ sự cần thiết của máy quét vân tay.2 Mô tả đề tài khóa luận Với sự phát triển vượt bậc của khoa học công nghệ, sự ra đời của hệ thống chấm công bằng khuôn mặt còn có tên gọi là Face ID đã mang đến giải pháp đột phá khắc phục những hạn chế chấm công theo phương thức truyền thống. Đây được coi là một trong những phương pháp chấm công cao cấp nhất. Hệ thống chấm công nhận dạng khuôn mặt là hệ thống chấm công áp dụng công nghệ nhận dạng khuôn Trần Quang Trung ˗ Hồ Duy Quang 9 Lớp DHKHMT13A Ứng dụng chấm công bằng nhận dạng khuôn mặt ThS.
Hồ Đắc Quán mặt để xác thực danh tính khi chấm công thay cho việc chấm công bằng dấu vân tay hay thẻ từ. Cách thức hoạt động: Khi đối tượng lọt vào phạm vi quét của camera, hệ thống sẽ tự động xác định chính xác vị trí khuôn mặt và thực hiện các thuật toán để trích xuất các đặc trưng trên khuôn mặt. Trong quá trình di chuyển, đối tượng sẽ giúp hệ thống dễ dàng xác nhận khuôn mặt hơn. Tất cả các quá trình trên diễn ra chưa tới 1 giây.
Quá trình mã sinh trắc học nhận diện khuôn mặt hoạt động bao gồm Lấy mẫu: Lấy ảnh mẫu của đối tượng từ camera của hệ thống. Phân tích: Hình ảnh được đưa vào sẽ được trích xuất các đặc trưng riêng biệt và được chuyển thành dữ liệu. So sánh: Các dữ liệu thu được ở trên sẽ được so sánh với các dữ liệu đã có ở cơ sở dữ liệu. Dự đoán kết quả: Hệ thống sau đó sẽ quyết định kết quả so sánh có phù hợp hay không.
Ưu nhược điểm của hệ thống chấm công nhận diện khuôn mặt Ưu điểm Tính bảo mật cao, hạn chế tối đa việc chấm công hộ. Có thể chấm công cho nhiều người do người dùng không cần phải tương tác với thiết bị. Tốc độ xử lý nhanh, phù hợp với công ty đông nhân viên. Khắc phục các nhược điểm của các loại máy chấm công khác như nhân viên quên thẻ, thẻ giấy bị rách, máy quét bị trầy xước (đối với máy chấm công bằng vân tay),… Nhược điểm Chi phí thiết bị khá cao so với các công nghệ vân tay hay thẻ tử.
Khi có sự thay đổi về ánh sáng, góc chụp khuôn mặt, nét mặt, phụ kiện trên khuôn mặt đều có thể ảnh hưởng đến kết quả dự đoán. Trần Quang Trung ˗ Hồ Duy Quang 10 Lớp DHKHMT13A Ứng dụng chấm công bằng nhận dạng khuôn mặt ThS. Hồ Đắc Quán 1.2 Mục tiêu Mục đích: Tạo ra ứng dụng “chấm công bằng nhận dạng khuôn mặt” trong thực tế. Từ đó, so sánh với các phương thức chấm công khác để đưa ra nhận xét về tính khả thi.
Do đó, nội dung đề tài là tìm hiểu các phương pháp, công nghệ và công cụ để hiện thực ứng dụng chấm công nhận dạng khuôn mặt. Đối tượng và phạm vi: Các nhân viên làm việc trong cùng một công ty. Để đạt được mục tiêu, cần tập trung tìm hiểu Mô hình mạng CNNs. One-shot learning.
Mô hình phát hiện khuôn mặt MediaPipe. Siamese neural network và triplet loss function. Mô hình nhận dạng khuôn mặt FaceNet. Nghiên cứu Tkinter để xây dựng ứng dụng.3 Các yêu cầu chức năng Ứng dụng chấm công bằng nhận dạng khuôn mặt có các chức năng chính như sau: Thêm nhân viên.
Thêm dữ liệu khuôn mặt cho nhân viên (phát hiện khuôn mặt). Chỉnh sửa thông tin nhân viên. Huấn luyện nhận dạng khuôn mặt nhân viên. Nhận dạng chấm công cho nhân viên (check-in và check-out).
Chỉnh sửa thông tin chấm công. Trần Quang Trung ˗ Hồ Duy Quang 11 Lớp DHKHMT13A Ứng dụng chấm công bằng nhận dạng khuôn mặt ThS. Hồ Đắc Quán CHƯƠNG II.1 Convolutional Neural Network (CNNs) Convolutional Neural Network [7] là một trong những thuật toán Deep Learning tốt nhất để giải quyết các bài toán về thị giác máy tính như phân lớp, nhận dạng, phát hiện đối tượng trong bức ảnh, … Trong kiến trúc chính của mạng CNN sẽ bao gồm nhiều thành phần được kết nối với nhau theo các lớp như: Convolution, Pooling, Fully Connected, … 2.1 Lớp tích chập (Convolution Layer) Lớp tích chập là một lớp không thể thiếu khi nhắc đến mạng CNN. Bởi vì nó sẽ luôn là lớp đầu tiên để trích xuất các đặc trưng từ hình ảnh đầu vào.
Convolutional sử dụng một cửa số trượt (Sliding Windows) trên một ma trận và nhân tích chập với các giá trị trong cửa số trượt theo giá trị Kernel của lớp tích chập đó tương tự như hình bên dưới. Dưới đây là một ma trận 5x5 với các giá trị 0 và 1 và được nhân tích chập với một ma trận bộ lọc (kernel matrix) 3x3 Hình 2. Ảnh minh họa bài toán tích chập hai ma trận Và đây là kết quả sau khi sử dụng phép tích chập lên một ma trận, ta sẽ nhận được một ma trận đặc trưng được trích xuất từ ma trận gốc. Trần Quang Trung ˗ Hồ Duy Quang 12 Lớp DHKHMT13A Ứng dụng chấm công bằng nhận dạng khuôn mặt ThS.
Hồ Đắc Quán Hình 2. Ảnh minh họa lớp tích chập (tác giả Shashi Rekha) 2.