Computer Science and Application
Vol. 14  No. 04 ( 2024 ), Article ID: 84286 , 8 pages
10.12677/csa.2024.144074

大学生在线学习监控系统的设计与实现

沈楷博,康晓凤,范鸿铭,王宇,王铭轹

徐州工程学院信息工程学院(大数据学院),江苏 徐州

收稿日期:2023年3月5日;录用日期:2024年4月4日;发布日期:2024年4月11日

摘要

网络教学已成为大学教育的主流,然而由于在线学习师生时空分离的特性,如何实时了解学生的学习情况是函待解决的问题。大学生在线学习监控系统基于Python和PyQt5构建,以云数据库MySQL作为数据存储平台,并整合百度云人脸识别API等技术设计实现。采用端到端全卷积神经网络人脸检测器和基于端到端多patch深度神经网络的度量学习技术进行人脸检测,实现了比人眼更加精准的识别效果。系统通过监控学生主机的活动进程、浏览历史记录、在线签到等反馈学生的在线学习行为,再通过评分机制激发学生的学习积极性,提升了在线学习的效率。

关键词

人脸识别,学习评分,在线学习,监控进程

Design and Implementation Analysis of Online Learning Monitoring System for College Students

Kaibo Shen, Xiaofeng Kang, Hongming Fan, Yu Wang, Mingli Wang

College of Information Engineering (Big Data College), Xuzhou University of Technology, Xuzhou Jiangsu

Received: Mar. 5th, 2023; accepted: Apr. 4th, 2024; published: Apr. 11th, 2024

ABSTRACT

Online teaching has become the mainstream of university education. However, due to the characteristics of time and space separation between teachers and students in online learning, how to understand students’ learning status in real time is a problem that needs to be solved. The online learning monitoring system for college students is built based on Python and PyQt5, using the cloud database MySQL as the data storage platform, and integrating Baidu Cloud Face Recognition API and other technologies for design and implementation. It uses an end-to-end fully convolutional neural network face detector and a metric learning technology based on an end-to-end multi-patch deep neural network for face detection, achieving a more accurate recognition effect than the human eye. The system provides feedback on students’ online learning behavior by monitoring the activity progress of students’ hosts, browsing history, online check-ins, etc., and then stimulates students’ learning enthusiasm through the scoring mechanism, improving the efficiency of online learning.

Keywords:Face Recognition, Learning Scoring, Online Learning, Monitoring Process

Copyright © 2024 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

网络教学已经成为大学教育的主流,在线学习的灵活性为学生提供了随时随地学习的机会,但由于不是面对面教学,一些学生可能面临自我控制能力不足的问题 [1] 。同时由于在线学习中师生时空分离的特性,教师很难实时掌握学生的学习状况,需要对学生的在线学习建立一套完整的监控反馈机制,以达到提高在线学习的目的。目前,已有一些在线学习监控系统,但它们普遍存在一些问题。现有系统往往只能监控学生的在线活动时间和登录情况,无法深入了解学生的学习行为。部分系统虽然具备一定的监控功能,但操作复杂,学生和教师难以使用。此外,传统的签到方式存在着学生代签等作弊行为的可能性,签到的准确性和安全性有待提高。在人脸处理方面,系统需要高效、实时、准确地做出判断。传统的机器学习算法在处理人脸问题时准确率较低,不适合处理大规模数据 [2] 。学习监控是指为了保证学习的成功、提高学习效果和质量、达到学习的目的,而对学生的学习活动进行的计划、检查、评价、反馈、控制和调节的一系列过程。为解决上述问题,本文致力于设计和实现一种高效的大学生在线学习监控系统。本系统采用中心化架构,通过一个服务器和两个客户端即云数据库和学生端、教师端的协同工作,通过利用百度云人脸API,实现了便捷、准确的人脸签到功能,并且引入了人脸比对和人脸检测功能,通过分析破绽,判断人脸是否为二次翻拍,成功解决了传统签到方式存在的准确性和安全性问题,能够有效防止学生代签等作弊行为,提高了签到的可靠性。此外,本系统实现了一套完整的监控反馈机制。系统监控学生端的活动进程、浏览器历史记录以及人脸签到等数据,并将这些数据存入云数据库,使用教师端查看这些数据,并根据这些数据给出实时评分,设置打卡时间等参数。针对部分系统操作复杂、学生和教师难以使用的问题,本系统采用了简洁直观的界面设计,使得学生和教师能够轻松操作。

2. 百度云人脸识别API接口简介

百度云人脸识别API是一套基于人工智能的云端服务,提供了强大而高效的人脸检测、人脸比对、人脸搜索等功能。通过调用百度云人脸识别API,我们成功地将人脸识别技术整合到在线学习监控系统的签到模块中,实现了高效、准确、可靠的人脸签到功能 [3] 。通过人脸检测,系统能够准确地定位图像中的人脸位置,并提供详尽的面部特征点信息。人脸比对功能可评估两张人脸图像的相似度可有效防范了冒名顶替和作弊行为,提升了系统的安全性。人脸搜索功能支持在大规模人脸库中快速准确地搜索目标人脸,为系统管理员提供了便捷的管理工具,高效查找学生的签到记录和学习活动。

3. 学生评分机制

系统中实施了一套有效的学生评分机制,通过对学生的在线行为进行综合评价,以平时分的形式呈现(总分100分)。系统规定了每学期n次课程,每次课程初始登录时,每位学生获得84分。系统监测学生电脑上运行的进程,如果存在违规行为,如运行游戏程序等,记录并标记;未检测到违规进程的学生将获得5分。系统监测学生的浏览历史记录,如果存在违规的浏览历史记录,记录并标记;没有违规的浏览历史记录将获得5分。学生在规定的时间内进行人脸签到,完成人脸签到将获得6分。最终平时分的分数计算方式为

= ( + + + ) n

4. 系统设计与实现

本系统采用中心化架构涵盖学生端、教师端和管理员端,设计实现了一个全面监控学生在线学习行为的系统。系统基于Python和PyQt5构建,以云数据库MySQL作为数据存储平台,并整合了百度云人脸识别API。本系统包括学生、教师和管理员三种角色。学生端主要负责收集学生机的系统活动进程、浏览器历史记录以及人脸签到等数据,实时记录学生的学习行为。教师能够查看学生端的活动进程、浏览器历史记录和签到记录,学生的实时评分,设置打卡时间等。管理员负责学管理学生和教师的信息。系统采用严格的评分机制,通过学生登录、违规活动进程、违规浏览器历史记录和规定时间内人脸签到等方面进行评分,最终统计出学生的平时分。人脸签到部分调用了百度API的人脸识别技术,利用OpenCV结合图像采集模块采集人脸图像,并通过使用requests库上传人脸图像。在百度云人脸库中,提前录入了全部人脸信息,并将上传的图像与云端人脸库中的信息进行了1:N检索 [4] 。系统模块如图1所示。

Figure 1. System module

图1. 系统模块

4.1. 用户登录模块

用户登录模块中用户的身份角色包括学生、教师、管理员三种,使用不同的角色登录,从而获得相应的功能权限。以学生角色登录时,学生可以选择所上课的教师,这一功能通过PyQt5的信号与槽机制得以实现。用户输入账号、密码,选择了身份后,点击登录按钮即可触发登录操作。登录验证函数通过与MySQL云数据库的交互,检查用户输入的账号密码是否匹配,并返回相应的用户信息,通过PyMySQL库实现与数据库的连接和数据操作。验证成功后,系统将隐藏登录界面,并根据用户身份展示相应的主界面,如学生界面、教师界面或管理员界面。具体实现界面如图2所示。

Figure 2. User login interface

图2. 用户登录界面

4.2. 监控进程模块

Figure 3. Monitoring process display interface

图3. 监控进程显示界面

该模块实时监测学生电脑上的活动进程,利用了Python的psutil库。通过psutil库,获取的进程信息包括进程名称、PID等,以便全面了解学生电脑上的活动进程 [5] 。核心函数为monitor_processes (sid),首先调用del_student_process (sid)删除之前记录的学生进程信息,然后在一个持续的循环中,获取当前正在运行的进程列表,并检查是否存在违规行为,随后将进程信息插入数据库,以供教师查看。系统通过遍历当前运行的进程信息,使用自定义函数check_process判断是否存在违规进程,如游戏程序等。如果存在违规进程,将记录相关信息至数据库,并标记is_wrong为True。除了检测违规进程外,该模块还对学生的活动进程进行分析,实现智能异常检测。对比学生正常学习时的活动进程和异常情况下的活动进程,本模块可以自动识别非正常学习应用的启动或频繁切换等异常问题。根据学生的学习情况和行为模式,模块采用动态调整监控策略,提高监控的精准度和效率。对于表现良好的学生,可以降低监控频率,减少干扰;对于出现异常行为的学生,可以增加监控力度,及时发现问题。具体实现如图3所示。

4.3. 监控浏览历史记录模块

模块能实时获取学生浏览历史记录,通过操作Chrome浏览器的历史数据库,获取学生最近100条浏览记录。浏览历史记录存储在Chrome浏览器的数据库文件History中,通过Python的sqlite3库连接数据库,执行SQL查询获取浏览历史信息 [6] 。检查每条历史记录的URL,通过自定义函数check_history判断是否存在违规行为,标记is_wrong。得到浏览历史记录后,系统将清空数据库中与学生相关的历史记录,并将新的浏览历史记录插入数据库。这一过程通过调用insert_browser_history函数实现,函数通过MySQL连接插入记录,具体实现如图4所示。

Figure 4. Monitoring browsing history display interface

图4. 监控浏览历史记录显示界面

4.4. 人脸录入和人脸识别模块

在这个模块中,我们通过百度AI的人脸检测与识别接口以及SQLite数据库,实现了学生端的人脸录入和人脸签到功能。

在人脸录入功能中,学生点击“人脸录入”按钮后,系统调用摄像头功能并显示画面。为确保录入效果,系统要求学生以正脸出现在画面中,并且图像中不包含多个人脸 [7] 。这一要求通过使用OpenCV库获取摄像头画面,将图像转为base64编码格式实现。接着,利用百度AI的人脸注册接口,将学生的人脸信息以base64编码形式发送至百度服务器,完成人脸的注册。注册成功后,系统将展示人脸注册成功的提示信息,具体的实现如图5所示。

Figure 5. Face entry interface

图5. 人脸录入界面

Figure 6. Sign-in successful interface

图6. 签到成功界面

而在人脸签到功能中,学生点击“人脸签到”按钮后,系统同样调用摄像头功能。获取摄像头画面并将图片转为base64编码格式,接着使用百度AI的人脸搜索接口,查询学生是否已注册的人脸信息。如果找到匹配的人脸信息,且相似度超过一定阈值,系统判定为签到成功 [8] 。此模块采用了端到端全卷积神经网络人脸检测器,可以检测到不同姿态和光照下最小为12 × 12像素的人脸,从而实现多角度、多光照条件下的人脸识别 [9] ;还加入活体检测等技术,确保签到过程中学生为真人而非照片或视频等欺骗手段。成功后,系统会更新学生的签到记录,显示签到成功的提示。人脸签到如图6所示。

4.5. 评分模块

评分模块对学生的学习行为进行了全面的评估,并通过可视化界面直观地展示学生的分数情况。系统通过监控本机进程、浏览历史记录、人脸签到等这些活动的合规性为学生进行评分。系统以《信息与网络安全》课程为例进行了评分,本课程共32学时,共16次课,每次课程的基础成绩为84分。学生点击“开启监控进程”按钮,系统开始监控本机进程。如果监控完毕且没有发现违规进程,系统为学生加分5分。学生点击“开启浏览历史记录”按钮,系统开始监控本机浏览历史记录。如果监控完毕且没有发现违规记录,系统为学生加分5分。学生点击“人脸签到”按钮,系统关闭摄像头,显示签到情况。系统通过百度人脸识别API检测学生是否进行了人脸签到,签到成功则系统为学生加分6分,同时更新签到状态。系统将基础分数和所有额外加分综合起来,形成学生的最终综合评分。分数计算方式为

= ( + + + ) 16

具体实现如图7所示。

Figure 7. Score interface

图7. 分数界面

5. 结论

本系统采用了psutil库、OpenCV、PyQt5等技术,实现了进程监控、浏览历史记录获取、人脸签到等功能。通过实时监控学生电脑上的活动进程,清理违规记录,并记录浏览历史,为教师提供了全面的学生在线学习行为数据。人脸签到功能引入了人脸识别技术,实现了人脸比对确保签到时学生真实身份,人脸检测提高签到准确性和可靠性,并支持在大规模人脸库中快速准确搜索目标人脸。系统通过学生登录、违规进程、浏览违规记录和规定时间内人脸签到等多方面评估学生表现,科学合理的评定学生的平时分。使用本系统能够提高学生的学习积极性、规范教学过程。

致谢

本文为徐州工程学院大学生创新创业训练计划项目(xcx2023189, xcx2023205)的阶段性成果之一。

文章引用

沈楷博,康晓凤,范鸿铭,王 宇,王铭轹. 大学生在线学习监控系统的设计与实现
Design and Implementation Analysis of Online Learning Monitoring System for College Students[J]. 计算机科学与应用, 2024, 14(04): 33-40. https://doi.org/10.12677/csa.2024.144074

参考文献

  1. 1. 马汉达. 在线学习过程监控系统设计与实现[J]. 实验技术与管理, 2011, 28(5): 93-94 111.

  2. 2. 陈波. 基于深度学习的学生签到及上课状态检测系统设计[D]: [硕士学位论文]. 哈尔滨: 哈尔滨理工大学, 2021.

  3. 3. 沈蕴梅. 基于百度AI人脸识别技术的智能照片搜索系统[J]. 现代信息科技, 2022, 6(21): 17-20.

  4. 4. 史远航, 饶欣宇, 解佳坤, 等. 基于百度AI的人脸识别新生报到系统设计与实现[J]. 网络安全技术与应用, 2021(6): 43-45.

  5. 5. 韩中, 苟和平, 陈益全, 等. Web云服务监控的Python技术实现[J]. 长江信息通信, 2022, 35(5): 88-91.

  6. 6. 杨雪, 靳慧云. Chrome浏览器历史记录提取与分析[J]. 计算机应用与软件, 2016, 33(12): 313-317.

  7. 7. 裴浩. 基于Python OpenCV的课堂人脸签到微型系统[J]. 信息技术与信息化, 2023(1): 181-184.

  8. 8. 王佳颖, 黄章红, 马万钧, 等. 基于百度AI人脸识别的考勤系统设计与实现[J]. 电脑编程技巧与维护, 2021(4): 118-119.

  9. 9. 叶阳, 顾国民. 基于百度API的实时人脸检测[J]. 信息记录材料, 2020, 21(5): 226-227.

期刊菜单