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

基于YOLOv9的课堂行为检测系统

基于YOLOv9的课堂行为检测系统

项目概述

本项目是一个基于YOLOv9深度学习模型的课堂行为检测系统,旨在通过计算机视觉技术自动识别和监测课堂中学生的各种行为状态,帮助教师更好地了解课堂教学效果。

项目结构

课堂行为检测/
├── data/
│ ├── images/ # 训练和验证图像
│ │ ├── train/ # 训练集图像
│ │ └── val/ # 验证集图像
│ ├── labels/ # YOLO格式的标签文件
│ │ ├── train/ # 训练集标签
│ │ └── val/ # 验证集标签
│ └── data.yaml # 数据集配置文件
├── models/ # 保存训练好的模型
│ ├── yolov8/ # YOLOv8模型
│ └── yolov9/ # YOLOv9模型
├── runs/ # 训练过程输出
│ ├── train/ # YOLOv8训练结果
│ └── train_yolov9/ # YOLOv9训练结果
├── src/ # 源代码
│ ├── train.py # YOLOv8训练脚本
│ ├── train_yolov9.py# YOLOv9训练脚本
│ └── predict.py # 预测脚本
└── results/ # 预测结果保存目录

数据集结构

数据集分为三个部分:

  • 训练集(train):位于 train/images 目录
  • 验证集(val):位于 valid/images 目录
  • 测试集(test):位于 test/images 目录

行为类别

数据集包含12种学生课堂行为标注:

nc: 12
names: ['Using_phone', 'bend', 'book', 'bow_head', 'hand-raising', 'phone', 'raise_head', 'reading', 'sleep', 'turn_head', 'upright', 'writing']
  1. Using_phone(使用手机):学生在课堂上使用手机的行为
  2. bend(弯腰):学生弯腰的姿势
  3. book(看书):学生在看书本的状态
  4. bow_head(低头):学生低头的姿势
  5. hand-raising(举手):学生举手提问或回答问题的动作
  6. phone(手机):手机设备的存在
  7. raise_head(抬头):学生抬头的姿势
  8. reading(阅读):学生在阅读的状态
  9. sleep(睡觉):学生在课堂上睡觉的状态
  10. turn_head(转头):学生转头看其他方向的动作
  11. upright(端正):学生坐姿端正的状态
  12. writing(写字):学生在写字或做笔记的状态

行为分类特点

这些行为可以大致分为几个类别:

积极行为

  • reading(阅读)
  • writing(写字)
  • upright(端正)
  • hand-raising(举手)
  • book(看书)

消极行为

  • Using_phone(使用手机)
  • phone(手机)
  • sleep(睡觉)

姿态行为

  • bend(弯腰)
  • bow_head(低头)
  • raise_head(抬头)
  • turn_head(转头)

数据集来源

数据集托管在Roboflow平台上,项目名称为"student-behaviour-detection-neazg",由"mywork-lkwz4"工作空间维护。完整数据集可以通过以下URL访问: https://download.csdn.net/download/qq_42492056/90628780

模型性能

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

检测效果

在这里插入图片描述

在这里插入图片描述


文章转载自:

http://6IK2myI8.jtszm.cn
http://gVMbOFUA.jtszm.cn
http://dv5pzChH.jtszm.cn
http://uJIA2Fj0.jtszm.cn
http://J10kjLnd.jtszm.cn
http://UV9z7qaY.jtszm.cn
http://glCWoYei.jtszm.cn
http://Xs9EZJqc.jtszm.cn
http://WALNFaK5.jtszm.cn
http://FLRwOnlX.jtszm.cn
http://qobCpwk7.jtszm.cn
http://HEYIrMTs.jtszm.cn
http://MvmyKRoS.jtszm.cn
http://kGF5lF0d.jtszm.cn
http://IVwEwKoz.jtszm.cn
http://Qv5Y1APG.jtszm.cn
http://1mDF0dua.jtszm.cn
http://a3krIDtH.jtszm.cn
http://RAfWFM4x.jtszm.cn
http://nSAuLGYx.jtszm.cn
http://E1Oh8IGN.jtszm.cn
http://HsAYMbbK.jtszm.cn
http://vqgnfAcf.jtszm.cn
http://TnDmFVCm.jtszm.cn
http://Uv1bl80G.jtszm.cn
http://Bs0kq1za.jtszm.cn
http://xfDo3OJU.jtszm.cn
http://UGO6FYjd.jtszm.cn
http://p7mKAE5x.jtszm.cn
http://71H773KY.jtszm.cn
http://www.dtcms.com/a/137137.html

相关文章:

  • ubuntu开机自启动
  • Godot学习-创建简单动画
  • 开始学习USB——第一步
  • 在Windows中某个盘中创造虚拟环境
  • 跨站脚本(XSS) 的详细分类、对比及解决方案
  • 购买电脑时,主要需要关注以下核心配置,它们直接影响性能、使用体验和价格。根据需求(办公、游戏、设计、编程等),侧重点会有所不同。看看Deepseek的建议
  • MyBatis-Plus 通过 ID 更新数据为NULL总结
  • AIStarter新版本发布:模型与插件高效管理工具,助力AI开发内容
  • 数据结构与算法——栈和队列
  • 如何高效的处理海量数据?
  • mapbox基础,加载视频到地图
  • 贪心算法day11(用最少数量的箭引爆气球)
  • python脚本补充
  • 十二,<FastApi>中间件
  • GCC 使用说明:常用参数详解与最佳实践
  • 66.加1
  • js中显示为[object Object]
  • linux下使用php修改php.ini的session.save_path无效的解决办法
  • 6.(vue3.x+vite)动态挂载组件并传递参数和方法
  • RK3588RK3576实现 HW-ID DTB(动态加载不同的Kernel DTB)功能
  • 使用基数树优化高并发内存池(替代加锁访问的哈希表和红黑树)
  • 通过导入 Excel 的方式复制文件或文件夹
  • 面试题:C++11在C++98基础上增加了哪些内容?
  • ChatUI 3.0 正式发布,“对话式交互” 开源组件库
  • MCP 协议知识分享
  • python scikit-learn中常用的数据集
  • LeetCode算法题(Go语言实现)_50
  • 什么是车规级MCU?STM32也能上车规级场景?
  • 模拟电路需要了解的一些基础知识(部分)
  • Dify部署过程中的错误和解决方案汇总