3 TÍCH HỢP ỨNG DỤNG PHÂN TÍCH KHN MẶT TRONG
2.6 Bộ dữ liệu MPIIGaze
Tổng số lượng hình ảnh trong tập dữ liệu là hơn 213 nghìn ảnh. Tơi sử dụng một phần nhỏ gồm 583 hình ảnh trong dữ liệu làm dữ liệu đánh giá phương pháp ước tính góc nhìn của tơi. Tơi chia dữ liệu thành các nhóm như sau:
STT Nhóm Số lượng 1 Nhìn sang trái 150 2 Nhìn sang phải 147 3 Nhìn lên trên 139 4 Nhìn xuống dưới 157 Tổng 583
Bảng 2.1: Chia dữ liệu thành các nhóm từ tập dữ liệu MPIIGaze. Độ chính xác 85.62%
Tốc độ suy luận 46ms Mức FPS 21.74 FPS
Bảng 2.2: Kết quả kiểm tra thực hiện trên thiết bị Macbook PRO 15 2020.
2.3 Kết chương
Theo dõi ánh nhìn là một những vấn đề đang nhận được nhiều quan trong trong giới khoa học kĩ thuật. Việc theo dõi ánh nhìn đã và đang được áp dụng nhiều các lĩnh vực trong đời sống. Trong nội dung vừa trình bày bên trên tơi đã đưa ra những cơ sở và phương pháp tiếp cận của tôi trong việc xây dựng phương án theo dõi ánh nhìn của người thơng qua camera nhằm đáp ứng nhu cầu theo dõi hành vi người dùng trong giám sát thi trực tuyến.
Các cách tiếp cận trên dựa trên những nghiên cứu của tôi nhằm đáp ứng với nhu cầu và điều kiện thi trực tuyến. Trong chương sau tơi sẽ trình bày các phương án tích hợp các tính năng trong các nhiệm vụ phân tích khn mặt vào chống gian lận. Đồng thời cũng bổ sung những kịch bản gian lận được thiết lập sẵn.
KHN MẶT TRONG CHỐNG GIAN LẬN TRONG THI TRỰC TUYẾN
Trong hai chương ban đầu của đề tài tơi đã trình bày về những nhiệm vụ chính của vấn đề phân tích khn mặt bao gồm: nhận diện khn mặt và theo dõi ánh nhìn cử chỉ khn mặt. Các nhiệm vụ đó là những ứng dụng phổ biến nhất của phân tích khn mặt. Tôi đưa ra những nghiên cứu liên quan về các nhiệm vụ trong phân tích khn mặt, đồng thời cũng đưa ra cách tiếp cận mà tôi sẽ sử dụng cho mục đích cảnh báo sớm các trường hợp vi phạm nhằm giảm thiểu gian lận trong thi trực tuyến.
Việc cảnh báo sớm nhằm giảm thiểu gian lận trong thi trực tuyến là một trong những vấn đề đang được quan tâm hiện nay, bởi tình hình dịch bệnh tại nhiều khu vực đang diễn ra hết sức phức tạp và diễn ra nhanh chóng trên diện rộng. Song đó, các kì thi vẫn phải được tổ chức và diễn ra, dẫu vậy các nền tảng thi trực tuyến hiện nay chưa đáp ứng được những nhu cầu về tính khách quan cũng như đảm bảo chất lượng kì thi trực tuyến. Vì vậy, trong khn khổ đề tài này tôi tập trung phát triển một bộ cơng cụ phân tích khn mặt nhằm phát hiện và cảnh báo sớm nhằm giảm gian lận trong thi trực tuyến, đóng gói nó trở thành các API dễdàng có thể tích hợp với bất kể các nền tảng thi trực tuyến nào đang có.
Các mơ-đun phân tích khn mặt có thể hoạt động độc lập trên các nền tảng máy tính phổ biến với các loại hệ điều hành và phần cứng khác nhau như: Windows, Mac OS hay máy tính Linux.
Trong chương này, tơi sẽ khai thác và làm rõ các nhiệm vụ trong phân tích khn mặt nhằm sử dụng nó làm một cơng cụ cảnh báo sớm nhằm giảm thiểu
gian lận trong các bài thi trực tuyến, từ đó xây dựng các API và bộ cơng cụ phân tích trực tuyến nhằm hỗ trợ tích hợp dễdàng với các nền tảng giáo dục trực tuyến.
3.1 Phân tích các hành vi gian lận từkhn mặt
Trong quá trình diễn ra thi trực tuyến hình ảnh khn mặt là một dạng dữ liệu của thi sinh dễdàng quan sát và phát hiện gian lận nhất. Song số lượng thí sinh trong một phịng thi có thể lớn, các hành vi gian lận nhanh chóng có thể khiến cho cán bộ trơng thi chưa thể nắm bắt được với tốc độ và quan sát. Vì vậy, để giải quyết vấn đề trên cần thiết có một bộ cơng cụ sử dụng trí tuệ nhân tạo giúp và hỗ trợ việc giám sát thi trong quá trình tổ chức các kì thi trực tuyến, nhằm đảo bảo tính an tồn và khách quan của kì thi.
Hình 3.1: Minh hoạ học online sử dụng điện thoại1.
Một số hành vi cần kiểm sốt trong q trình làm bài thi và giải quyết các vấn đề như thi hộ, làm bài hộ thí sinh và người làm bài khơng phải là cùng một người. Vấn đề này cần được theo dõi một cách nghiêm túc và xuyên suốt trong quá trình diễn ra bài thi. Vì vậy nhận diện khn mặt là một ứng dụng tích hợp nhằm xác thực người đang thực hiện làm bài và thí sinh trên danh sách là cùng
một người.
Hình 3.2: Hệ thống điểm danh trên các lớp học2.
Bên cạnh đó, việc vận dụng hệ thống nhận diện khn mặt cịn giúp hỗ trợ kiểm tra sự vắng mặt của thí sinh, hoặc sự xuất hiện các yếu tố ngoại loại khác trong quá trình diễn ra bài thi. Mọi sự cố trong quá trình thi đều được quan sát và đảm bảo cơng bằng nhất cho một kì thi trực tuyến diễn ra.
Hơn nữa, việc phân tích cảm xúc thí sinh trong quá trình thi là một trong những tác nhân mở rộng trong việc đánh giá và nâng cao chất lượng. Việc áp dụng theo dõi cảm xúc trong quá trình làm bài thi vừa giúp đánh giá tâm lý thí sinh trong bài thi, vừa đánh giá mực độ phù hợp của đề thi, từ đó có thể thay đổi phương pháp giáo dục và đào tạo nhằm hỗ trợ đạt kết quả tốt hơn.
Thêm vào đó, các thí sinh có tâm lý hồi hộp lo lắng và tập trung, các thí sinh có cảm xúc bất ổn, thái độ khơng nghiêm túc cũng cần được thơng báo và nhắc nhở trong q trình hồn thiện bài thi.
Ngồi ra, trong q trình diễn ra các bài thi trực tuyến một vấn đề khó nắm bắt là sử dụng công cụ hỗ trợ: tài liệu, sử dụng điện thoại. . . Các hình thức gian lận này rất phổ biến đặc biệt diễn ra đối với các bài thi theo hình thức trực
tuyến tại bất kể đâu. Vì vậy cần thiết một có cơng cụ cần thiết theo dõi ánh nhìn của thí sinh, nhằm phát hiện thí sinh đang quan sát và thực hiện các hành động tại vị trí nào.
Hình 3.3: Minh hoạ thủ thuật gian lận trong học và thi online3.
Thông thường, các bài thi trực tuyến đều sử dụng thiết bị máy tính để bàn hoặc xách tay, quá trình làm bài thi đều thực hiện duy nhất và nhất quán ngay trên màn hình. Vì vậy, mọi yếu tố ánh nhìn ngồi phạm vi màn hình đều có thể xảy ra gian lận. Nắm bắt điều đó, tơi áp dụng một mơ hình giám sát ánh nhìn nhằm theo dõi hành vi của người dùng giúp cho việc quan sát thi sinh có đang nằm trên màn hình và xu hướng di chuyển như thế nào?
3.2 Phân tích và thiết kế giải pháp
3.2.1 Mục đích xây dựng hệ thống giám sát
- Xây dựng công cụ nhằm cung cấp khả năng giám sát và chống gian lận trong thi trực tuyến.
- Nền tảng phân tích khn mặt và giám sát hành vi con người thông qua khuôn mặt.
3.2.2 Yêu cầu đạt được
- Hoạt động đa nền tảng Windows, MacOS, Linux tiêu thụ tối thiểu phần cứng. - Đảm bảo tính ổn định chính xác trong q trình tổ chức các kì thi trực tuyến. - Giao diện dễdùng thuận tiện cho người dùng, không gây cản trở và ảnh hưởng trong quá diễn ra kì thi trực tuyến. - Dễ dàng tích hợp với các nền tảng giáo dục và đào tạo trực tuyến.
3.2.3 Mơ hình giải pháp
Mơ hình tổng quan tích hợp FaceID vào hệ thống LMS
Hình 3.4: Mơ hình tổng quan tích hợp FaceID vào LMS4.
Danh sách các API trong Face ID API
Face ID API được thiết kế có sẵn các API cần thiết cho việc kết nối với hệ thống khác như hệ thống LMS. Face ID API nhận dữ liệu hình ảnh làm dữ liệu đầu vào, trả về kết quả tương ứng với các API được gọi. Dựa vào kết quả mà Face ID API trả về, các hệ thống kết nối (LMS) ghi nhận kết quả và đẩy cảnh
báo đến thí sinh cũng như cán bộ coi thi. Tùy vào quy định mà việc kết quả thi bị ảnh hưởng bởi các dữ liệu cảnh báo. Ví dụ: Quy định trong q trình thi thí sinh khơng được rời khỏi vị trí thi nếu vi phạm thí sinh sẽ bị trừ 30% số điểm ở lần vi phạm đầu tiên, trừ 50% số điểm nếu vi phạm lần thứ 2 và hủy kết quả thi nếu vi phạm lần thứ 3.
Hình 3.5: Danh sách các API trong Face ID API5.
3.2.4 Thiết kế và xây dựngXây dựng các APIS Xây dựng các APIS
1. API nhận dạng khn mặt
Mục đích sử dụng: API này cho phép kiểm tra hình ảnh gửi lên có trùng khớp với hình ảnh người dùng đã đăng ký từ trướ.c
Đầu vào: hình ảnh người dùng được lấy ra webcam sau đó được thu nhỏ.
Đầu ra: xác nhận người trong webcam và dữ liệu người trên hệ thống có trùng khớp.
Hình 3.6: Cấu trúc API nhận dạng khn mặt6.
Các thơng tin gửi lên:
- Image: hình ảnh đầu vào được chuyển dạng stringbase64.
- Device: địa chỉ Mac thiết bị quan sát.
- userId: Id của thí sinh.
- time: thời gian ghi nhận hình ảnh.
Thơng tin trả về:
- status: True nếu hợp lệ, False trong các trường hợp còn lại
- prob: độ tin cậy của quá trình xác thực.
2. API thêm thơng tin
Mục đích sử dụng: Cho thêm các hình ảnh khn mặt cho một người dùng mới phục vụ cho quá trình nhận dạng phía sau.
Các thơng tin của API bao gồm:
Các thơng tin gửi lên:
- userId: ID định danh thí sinh cần lưu trữ khn mặt.
- time: thời gian lấy khuôn mặt.
- images: là một danh sách các đối tượng hình ảnh chứa các khn mặt.
Thơng tin nhận về: - status: True nếu hình ảnh được lưu trữ thành cơng, False trong trường hợp cịn lại.
Hình 3.7: Cấu trúc API thêm thông tin người dùng7.
3. API xố bỏ thơng tin người dùng
Mục đích: Xố bỏ thơng tin khn mặt của một người dùng
Các thông tin gửi lên:
- deviceId: địa chỉ MAC của thiết bị.
- userId: thông tin cá nhân của người dùng cần xố.
Thơng tin nhận về:
- status: True nếu được xố bỏ thành cơng, False trong các trường hợp cịn lại.
Hình 3.8: Cấu trúc API xố thơng tin người dùng8.
4. API theo dõi ánh nhìn
Mục đích: API này cho phép kiểm tra một hình ảnh khn mặt sau đó trả về kết quả hướng của khuôn mặt thơng qua kĩ thuật theo dõi ánh nhìn.
Các thơng tin của API bao gồm:
Thơng tin gửi lên:
- deviceId: địa chỉ Mac của thiết bị đầu vào được sử dụng lấy hình ảnh khn mặt.
- userId: thơng tin về người dùng.
- time: thời gian ghi nhận hình ảnh khn mặt.
- image: hình ảnh khn mặt được mã hố dạng string base64.
Thơng tin nhận về:
- gaze_angle: thông tin về góc của khn mặt (giá trị tra Bảng 3.1).
Hình 3.9: Cấu trúc API xố thơng tin người dùng 9.
Thông tin chi tiết ý nghĩa các giá trị trả về được thể hiện trong hai bảng bên dưới đây:
STT Mã code (gazeangle) Giải thích ý nghĩa
1 0 Nhìn chính diện so với màn hình
2 1 Nhìn sang bên trái
3 2 Nhìn sang bên phải
4 3 Nhìn sang bên trên
5 4 Nhìn sang bên dưới
6 5 Khơng nhìn rõ khn mặt
7 6 Có nhiều hơn một khn mặt trong hình ảnh
Bảng 3.1: Bảng giải mã thông tin nhận về từ API kiểm tra ánh nhìn.
3.3 Cơng nghệ sử dụng
STT Tên cơng nghệ Mục đích Lý do chọn
1 Python 3.8
Ngơn ngữ lập trình chính
Là ngơn ngữ lập trình phổ biến nhất trong 3 loaị ngơn ngữ lập trình.
Được sử dụng rộng rãi trong các hệ thống trí tuệ nhân tạo và dữ liệu
Dễ dàng sử dụng và cộng đồng hỗ trợ lớn.
2 Fast API
Framework xây dựng API
Là một trong những Framework xây dựng API với tốc độ nhanh nhất trong Python
Tốc độ Fast API không thua kém với bất kể máy chủ dữ liệu nào sử dụng Node JS hay PHP
3 Tensorflow
Thư viện xây dựng khối AI chính
Tensorflow là một trong những thư viện về AI và học máy lớn nhất hiện nay được hỗ trợ trực tiếp từ Goolge
Hỗ trợ nhiều loại ngơn ngữ lập trình khác nhau: Python, C++, Go, Tensorflow JS, Java
Dễ dàng sử dụng và triển khai với phần cứng có GPU để tăng tốc 4 Linux OS Hệ điều hành chính triển khai các API
Linux là một hệ điều hành mã nguồn mở. Cộng đồng lớn và ổn định, miễn phí.
Linux hiện tại đang là hệ điều hành máy chủ lớn nhất thời điểm hiện tại.
5 VS Code Text Editor
Là một trong những trình soạn thảo văn bản mạnh mẽ được Microsoft xây dựng
Kho extentsion khổng lồ, giúp nhà phát triển dễ dàng tiếp cận và sử dụng một cách nhanh chóng và tiện lợi
6 MongoDB Hệ quản trị CSDL
Là một trong những hệ quản trị CSDL NoSQL nổi tiếng.
Dễ dàng linh hoạt thay đổi giữa bản cài đặt và đám mây.
3.4 Giải pháp tích hợp vào hệ thống LMS
Để tích hợp vào hệ thống LMS đưa ra các cảnh báo sớm nhằm giảm thiểug gian lận trong q trình làm bài thi, tơi xây dựng 2 giải pháp tích hợp cụ thể như sau:
3.4.1 Giải pháp tích hợp trên phiên bản website
- Hỗ trợ tích hợp trực tiếp vào các hệ thống LMS trực tuyến.
- Phiên bản này được xây dựng theo mơ hình API theo tiêu chuẩn REST API. - Ưu điểm của giải pháp:
+ Tích hợp trực tiếp vào các hệ thống LMS trực tuyến.
+ Không cần cài đặt ứng dụng phức tạp trên desktop hoặc laptop.
+ Hỗ trợ tối đa trải nghiệm người dùng. - Nhược điểm của giải pháp:
+ Yêu cầu phần cứng server rất cao để hoạt động ổn định, tránh quá tải và bùng nổ tính tốn.
+ u cầu về đường truyền mạng ổn định trong quá trình làm bài thi.
+ Độ trễphản hồi cao.
3.4.2 Giải pháp tích hợp trên phiên bản application
- Ứng dụng vào các kỳ thi tổ chức thi tại một địa điểm.
- Ứng dụng được cài đặt trực tiếp vào các máy tính mà thí sinh sử dụng.
- Phiên bản này hỗ trợ tích hợp qua ứng dụng trên Windows, Linux, OS bằng cách xây dựng các microservice sử dụng gRPC.
- Ưu điểm của giải pháp tích hợp này:
+ Tận dụng phần cứng của các máy client (máy thí sinh tham gia thi), giảm tải cho server không phải xử lý quá nhiều luồng hình ảnh, video. Server lúc này chỉ đóng vai trị ghi nhận kết quả phân tích của application gửi lên.
+ Độ trễphản hồi thấp. - Nhược điểm của giải pháp:
+ Nếu cấu hình máy client khơng đủ đáp ứng gây ra hoạt động kém hiệu quả, không đảm bảo đủ hiệu năng cho ứng dụng.
+ Cần cài đặt trên nhiều máy tính khác nhau, khó khăn trong quản lý và nâng cấp phần mềm.
+ Dễxung đột với hệ điều hành và các phần mềm cài đặt trên hệ điều hành
- Giao diện ứng dụng cảnh báo vi phạm
+ Giao diện tham gia phòng thi, xác thực và hiển thị thơng tin của thí sinh
+ Xác thực và hiển thị thơng tin của thí sinh khi đeo khẩu trang
Hình 3.11: Xác thực và hiển thị thơng tin của thí sinh khi đeo khẩu trang.
+ Cảnh báo vi phạm khi thí sinh khơng có mặt trong khung hình
+ Cảnh báo vi phạm khi thí sinh khơng tập trung vào bài thi, có hướng nhìn