当前位置: 首页 > news >正文

基于YOLOv5的作弊行为检测系统,Python和pycharm实现,可实时检测

基于YOLOv5的作弊行为检测系统,Python和pycharm实现,可实时检测,有方便操作的图形化界面

考场里转笔的手速再快,也快不过AI的识别速度。今天咱们来搞点有意思的——用YOLOv5做个能实时抓作弊行为的系统,重点在于手部异常动作识别。别被吓到,这玩意儿实现起来比想象中简单,咱们边撸代码边聊。

先上硬货,环境配置用conda新建个环境:

conda create -n cheat_det python=3.8 conda activate cheat_det pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html pip install pyqt5==5.15.4 opencv-python==4.5.3.56

装完这些基本就能跑起来了。YOLOv5的源码直接去官方仓库拖下来,注意别用最新版,v6.0之后的版本对自定义数据不太友好,建议用v5.0分支。

界面部分咱们用PyQt5搭个操作台,比tkinter那套好看不止一星半点。核心代码结构长这样:

class MainWindow(QMainWindow): def __init__(self): super().__init__() self.video_thread = VideoThread() # 视频流处理线程 self.init_ui() def init_ui(self): self.video_label = QLabel(self) # 显示视频的组件 self.start_btn = QPushButton('启动监控', self) self.start_btn.clicked.connect(self.toggle_detection) def toggle_detection(self): if not self.video_thread.isRunning(): self.video_thread.start() self.start_btn.setText('停止监控') else: self.video_thread.terminate() self.start_btn.setText('启动监控')

重点是这个VideoThread,继承自QThread,负责在后台跑YOLOv5的检测逻辑,避免界面卡死。这年头不用多线程搞实时检测的都是耍流氓。

基于YOLOv5的作弊行为检测系统,Python和pycharm实现,可实时检测,有方便操作的图形化界面

模型加载部分得注意参数设置:

def load_model(): model = torch.hub.load('ultralytics/yolov5', 'custom', path='best.pt', force_reload=True) model.conf = 0.6 # 置信度阈值别设太低,误检会要命 model.iou = 0.45 # 交并比适中,防止重复框选 return model

这里有个坑——如果直接调用detect.py,视频流延迟会很高。咱们得自己重写推理循环:

def run(self): cap = cv2.VideoCapture(0) # 0号摄像头 while True: ret, frame = cap.read() if ret: results = self.model(frame, size=640) # 输入尺寸别超过640 self.send_result.emit(results.render()[0])

注意这个size参数,设太大虽然精度可能提升,但帧率会暴跌。实测在RTX3060上跑640尺寸能到45帧,足够流畅。

作弊行为识别的关键在数据标注。需要重点标注这些动作:

  • 手部快速移动(传纸条)
  • 头部频繁左右转动(偷看邻座)
  • 异常身体倾斜(看小抄)

标注文件用YOLO格式,举个样例:

0 0.4453125 0.329861111111 0.1484375 0.157407407407 # 正常坐姿 1 0.678125 0.4325 0.0875 0.155 # 手部异常动作

数据增强要适度,特别是随机旋转别超过15度,否则正常转头和作弊动作容易混淆。

最后打包时用pyinstaller记得加这些参数:

pyinstaller --noconsole --add-data "best.pt;." --hidden-import PyQt5.sip main.py

不然分分钟给你报找不到模型文件的错误。实测打包后的exe在Win10下能跑,但建议还是配个环境省事。

整个项目跑起来后你会发现,这系统最实用的场景可能不是考场——试试用来监控自家猫主子偷吃,效果拔群。毕竟在AI眼里,作弊行为和偷吃小鱼干的动作模式,可能也没差多少嘛。

http://www.jsqmd.com/news/336499/

相关文章:

  • 2026年360全包围汽车脚垫品牌口碑排名,广州车百强靠谱吗 - 工业推荐榜
  • 使用LiteDb
  • 计算机毕业设计|基于springboot + vue仓库智能管理系统(源码+数据库+文档)
  • 智能家居安防系统(有完整资料)
  • 2026 CRM 系统排行榜,9 款全生命周期管理选型指南 - 毛毛鱼的夏天
  • 淘客系统的容灾演练与恢复:Java Chaos Monkey模拟节点故障下的服务降级与快速切换实践
  • 计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)
  • 深入解析:如何将一加手机的文件传输到 Mac
  • 控制窗帘电路设计(有完整资料)
  • 计算机毕业设计|基于springboot + vue旅游指南系统(源码+数据库+文档)
  • 2026药用包装制造商综合评估:智能药包瓶引领安全升级,四大品牌成药企选型首选 - 博客万
  • 新电脑必装的五款免费Windows应用推荐
  • 瑞维美尼Revumenib分化综合征的预防,如何使用皮质类固醇预处理?
  • 2026趋势适配:交大高金MBA打造管理层资本与技术协同进阶路径 - 速递信息
  • 基于单片机的红外避障及循迹小车(有完整资料)
  • 基于SSM的高校旧书交易系统的设计与实现(毕业论文)
  • 2026年济南留学机构排名揭晓,性价比高机构备受青睐 - 留学机构评审官
  • 基于RA单片机移植CoreMark跑分源码
  • 黑客攻击MongoDB实例删除数据库并植入勒索信息
  • 背着全新圣罗兰曼哈顿盒子手袋,一如往常的高级时髦感!
  • 一键触发漏洞:OpenClaw远程代码执行漏洞分析
  • 2026废弃物暂存柜五大品牌排行榜 谁才是靠谱之选? - 品牌推荐大师
  • 2026年宁波留学中介前十机构盘点,性价比高选择解析 - 留学机构评审官
  • 自定义事件系统:$emit、$on、$off 的深度解析与实践应用
  • 如何科学地“设计”SFT 数据?一次关于 ODA 的完整平台级验证
  • 2026年口碑好的污泥压滤机/压滤机厂家推荐及采购参考 - 品牌宣传支持者
  • 机器学习输入层:从基础到前沿,解锁模型性能第一关
  • 2026 最新道路救援服务商 / 厂家 TOP5 评测!全国覆盖+24小时响应权威榜单发布,节假日/异地/长途/跨省救援首选品牌推荐 - 品牌推荐2026
  • Vue与Web Components的集成:技术原理、实践方案与生态协同
  • 书匠策AI:学术征途的「全维智囊」,让论文写作从“孤军奋战”到“智领未来”