课堂学生动作检测yolo数据集统计
梳理了课堂学生动作检测的开源工具与数据集资源,Roboflow、Kaggle等平台的通用数据集,分析了十余个课堂场景专用数据集的特点(如大学/中小学场景、6-8类行为标注)及其训练效果,部分数据集存在图像裁剪过度、背景单一、标注质量参差不齐等问题,提供YOLOv8模型训练流程、多数据集整合方案(涵盖7类行为)以及针对裁剪图像的背景增强优化策略,
EduSense
https://github.com/edusense/edusense?tab=readme-ov-file
开源,有详细的部署说明,使用docker部署
功能:
- 识别肢体,坐下站立、举手放手…
- 识别面部,张嘴闭嘴、微笑不笑、面部向前向后…
- 识别头部,头部左右转动角度,上下转动角度…
- 识别音频,学生端麦克风还是老师端麦克风…
数据集
网站资源
### **通用目标检测数据集**
1. **[Roboflow Universe](https://universe.roboflow.com/)** 🚀
- 提供各种已标注的数据集,支持直接导出为 YOLO 格式。
- 适用于目标检测、分类和分割任务。
2. **[Kaggle Datasets](https://www.kaggle.com/datasets?search=object+detection)**
- 大量免费的目标检测数据集,可下载用于 YOLO 训练。
- 常见数据集包括 COCO、Pascal VOC、Helmet Detection、Face Mask Detection 等。
3. **[Common Objects in Context (COCO)](https://cocodataset.org/)**
- 经典目标检测数据集,包含 80 类常见物体,适用于泛化能力强的模型训练。
- 也可使用 [COCO 数据集的 YOLO 格式版本](https://github.com/ultralytics/COCO-YOLO)。
4. **[Pascal VOC](http://host.robots.ox.ac.uk/pascal/VOC/)**
- 目标检测经典数据集之一,包含 20 类目标,可用于轻量级模型训练。
### 课堂学生行为检测相关数据集
如果你关注的是课堂学生行为检测,可参考:
1. **[Classroom Action Dataset](https://www.kaggle.com/datasets/sayakpaul/classroom-action-recognition)**
- 记录课堂上学生的不同行为(如举手、写字、听讲等)。
2. **[UCF101 (行为识别)](https://www.crcv.ucf.edu/data/UCF101.php)**
- 尽管主要是视频数据,但可以提取帧进行目标检测。
3. **[AI Hub 教育行为数据集](https://www.aihub.or.kr/aidata/34123)**
- 包含教育场景下的学生动作数据,适合行为分析。
1.数据集X
1500张,RCNN.v7i.yolov8,zip
是裁剪后的图像,检测效果极为不好,将图像整体都框选了
https://universe.roboflow.com/can-tho-university/rcnn-oatkt/dataset/7
- Bend Over The Desk - 弯腰桌前
- Hand Under Table - 手放在桌子下
- Look Around - 四处张望
- Normal - 正常
- Stand Up - 站起来
- Wave - 挥手
训练记录
yolo task=detect mode=train model=yolov8x.pt data=data.yaml epochs=50 imgsz=640
# 预训练模型:yolov8x.pt (最大版本)
# 迭代次数:50
# 平均每次迭代时间:11分钟
# 训练时长:550分钟,大约9小时
图像尺寸过小,识别效果非常不理想
2.▲数据集 教师检测
yolov7
学生课堂行为数据集 (SCB-dataset3)|学生行为分析数据集|教育技术数据集
https://www.selectdataset.com/dataset/23b9033fb1f50e7e437cc373c074ce5f
SCB5-Teacher-Behavior
0-指导-Guide
1-提问-Ask
2-互动-Interact
3-板书-Write
训练记录
迭代到110次达到最佳,未测试
3.▲A 数据集
8000张,1G,archive2.zip
https://www.kaggle.com/datasets/kaiyueyyds/dataset-of-student-classroom-behavior
- 0-低头写字1》3
- 1- 低头看书》1
- 2 - 端坐听课》4
- 3-转头》5
- 4-举手》0
- 5- 站立》6
- 6-同桌交流
- 7- 老师指导
训练记录
整体效果较好
检测举手效果不佳,无法检测睡觉,看手机 ,迭代300次
4.超大数据集 裁剪
被裁剪为小图片,即无背景,只有目标
28G,archive.zip
裁剪后的图像
https://www.kaggle.com/datasets/phamluhuynhmai/classroom-student-behaviors/data
- Looking_Forward - 向前看
- Raising_Hand - 举手
- Reading - 阅读
- Sleeping - 睡觉
- Standing - 站立
- Turning_Around - 转身
- Writing - 写字
解决方法
增加随机背景图片,位置要随机
5.超大数据集2 裁剪
43G
https://www.kaggle.com/datasets/phamluhuynhmai/classroom-student-behaviors-version-2?select=Behaviors_Features_ver2
- Around02 - 四处张望02
- Forward02 - 向前看02
- Raise02 - 举手02
- Read02 - 阅读02
- Sleep02 - 睡觉02
- Stand02 - 站立02
- Write02 - 写字02
6.收费数据集
2000张
https://blog.csdn.net/m0_68036862/article/details/145193583
- hand-raising - 举手
- reading - 阅读
- writing - 书写
- using phone - 使用手机
- bowing the head - 低头
- leaning over the table - 趴桌
7.数据集 未标注
大学课堂
2000张 没有标注文件
https://www.kaggle.com/datasets/asthalochanmohanta/class-room-student-behaviour/data
8.▲E 数据集 场景单一
大学
https://www.kaggle.com/datasets/piyushchakarborthy/classroom-images-or-hand-raised-detection-dataset
active9.zip
4000张 场景单一,都是同一个教室,
0-举手
1-不举手
2-不举手
9.数据集 一类
achive3.zip
只标注了一类标签people
10.▲数据集 集合
https://www.kaggle.com/datasets/hongtrung/student-behavior-recognition
achive6.zip
整理了很多数据集
▲B class5
v14/v15 基本相同
大学教室
V15
- 0-趴桌子睡觉-大框>2
- 1-低头-小框
- 2-抬头小框
- 3-直立身子-大框
▲C v2/calssroom4-v2
中小学教室
- 0-举手
- 1-看书
- 2-写字
11.▲D 数据集 大学2
https://www.kaggle.com/datasets/venkatraghavreddy/yolov89
achive7.zip
6000张
- 0-举手
- 1-看书
- 2-睡觉
- 3-写字
- 4-手机X
12.数据集 大学 举手
achive8.zip
黑白图片
只识别是否举手
0-不举手
https://www.kaggle.com/datasets/tunkedsaro/human-body-classroom
13.已训练模型
https://www.kaggle.com/datasets/nonpat/test010
active5.zip
已经训练好的模型
模型测试
未测试
★自建数据集
由五个数据集(ABCDE)整合
0-举手
1-看书
2-睡觉
3-写字
4-端坐听课
5-转头
6-站立
训练步骤1
数据集下载
https://universe.roboflow.com/can-tho-university/rcnn-oatkt/dataset/7
解压数据集
unzip RCNN.v7i.yolov8.zip -d ./yolov8dataset
解决yolo命令定向错误问题
# 重新安装
sudo rm $(which yolo)
pip uninstall ultralytics
pip install ultralytics
data.yaml配置路径更改
train: /home/sdxk/下载/yolov8dataset/train/images
val: /home/sdxk/下载/yolov8dataset/valid/images
test: /home/sdxk/下载/yolov8dataset/test/images
nc: 6
names: ['Bend Over The Desk', 'Hand Under Table', 'Look Around', 'Normal', 'Stand Up', 'Wave']
roboflow:
workspace: can-tho-university
project: rcnn-oatkt
version: 7
license: CC BY 4.0
url: https://universe.roboflow.com/can-tho-university/rcnn-oatkt/dataset/7
下载预训练辅助文件
wget https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt
训练命令
yolo task=detect mode=train model=yolov8x.pt data=data.yaml epochs=50 imgsz=640 device=0
# task=detect 目标检测任务
# mode=train 训练模式
# model=yolov8x.pt 预训练模型
# data=data.yaml 数据集配置文件路径
# epochs=50 迭代次数
# imgsz=640 调整图片大小为 640×640 进行训练
- YOLOv8n (nano,最小模型)
- YOLOv8s (small)
- YOLOv8m (medium)
- YOLOv8l (large)
- YOLOv8x (extra-large)
进入虚拟环境
conda activate myYolov8
解决shell关闭后服务器也停止运行的问题:
# 安装tmux
conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge tmux
tmux attach -t yolov8_train
# 进入虚拟环境
conda activate myYolov8
# 开始训练
yolo task=detect mode=train model=yolov8s.pt data=data.yaml epochs=50 imgsz=640 device=0,1
# 关闭终端仍会在后台运行
# 完全关闭tmux,在tmux中输入:
exit