基于 YOLO11 的学生课堂行为检测:从数据集构建到模型训练全流程

一、场景背景

在智慧教育领域,利用计算机视觉技术自动识别学生课堂行为,已成为教学质量分析和课堂管理的重要辅助手段。传统的课堂观察依赖人工记录,效率低且难以量化。通过目标检测模型,我们可以自动识别学生是否在举手、阅读、书写、低头、睡觉或使用手机等行为,为教学互动分析和课堂秩序管理提供数据支撑。

本文将围绕一个学生课堂行为检测数据集,详细介绍如何使用 YOLO11 进行目标检测模型的训练。数据集包含 12 类课堂行为标注,共 100 张代表性图片。虽然样本量不大,但足以演示从数据准备、标注解析到模型训练和验证的完整流程,对于初学者或希望快速验证方案的研究者具有参考价值。

二、数据集基本信息

2.1 数据集来源与结构

该数据集来自百度网盘目录“学生课堂行为检测数据集3.98”,项目名称为 xueshengketangxingwei398。原始数据经过 Label Studio 标注后,整理出 100 张代表性图片,并生成了对应的标注 JSON 文件和视频素材。

数据集目录结构如下:

学生课堂行为检测数据集3.98/
├── label_studio_import/
│   └── oss_selected_100/          # 已挑选的100张图片及标注
├── 视频素材/
│   └── 100张图片视频.mp4          # 图片轮播视频,用于预览
└── ...

2.2 标注类别说明

数据集共包含 12 个行为类别,覆盖了课堂中常见的学生状态:

类别名称 含义说明
Using_phone 正在使用手机(手持手机操作)
bend 弯腰或俯身
book 手持书本
bow_head 低头(可能在看桌面或手机)
hand-raising 举手发言
phone 手机出现在画面中(可能未使用)
raise_head 抬头
reading 阅读书本或材料
sleep 睡觉或伏案休息
turn_head 转头(看向其他方向)
upright 坐姿端正
writing 书写或记笔记

从类别设置可以看出,该数据集不仅关注显性的课堂互动行为(如举手),也涵盖了学生注意力状态(如低头、抬头、转头)和学习行为(如阅读、书写),适合用于综合性的课堂行为分析。

三、样本画面观察

3.1 原始课堂场景

以下图片展示了课堂中的典型场景,包括教师授课、学生举手互动、学生阅读和书写等。

样本图

图1:教师授课场景,学生积极举手参与课堂互动。

样本图

图2:学生专注阅读,展现课堂中的自主学习状态。

样本图

图3:学生认真书写,教师进行课堂巡视指导。

3.2 标注效果展示

以下图片展示了经过计算机视觉标注后的效果,可以看到模型对多种课堂行为进行了识别并绘制了边界框和置信度分数。

标注图

图4:计算机视觉标注识别学生举手行为,并给出置信度评分。

标注图

图5:多种课堂行为(如举手、阅读、低头)被计算机视觉系统识别并标注。

从标注效果可以看出,模型在识别举手、阅读、书写等行为时置信度较高,而对于低头、转头等动作幅度较小的行为,置信度相对较低,这是后续训练中需要重点优化的方向。

四、训练流程建议

4.1 数据准备与格式转换

YOLO11 的训练需要特定的数据集格式。如果原始标注来自 Label Studio,通常输出为 JSON 格式,需要转换为 YOLO 格式(每张图片对应一个同名的 .txt 文件,每行记录类别ID和归一化的边界框坐标)。

转换步骤建议如下:

  1. 解析 Label Studio JSON:提取每张图片的 image 字段和标注框信息。
  2. 生成类别映射文件:创建一个 classes.txt 文件,按顺序列出所有类别名称。
  3. 生成标注文件:将每个边界框的 x_center, y_center, width, height 归一化后写入 .txt 文件。
  4. 划分数据集:将图片和标注文件按比例(如 8:1:1)划分为训练集、验证集和测试集。

4.2 YOLO11 训练配置

YOLO11 是 Ultralytics 推出的最新目标检测模型,在速度和精度上都有显著提升。以下是训练配置示例:

# dataset.yaml
train: ./datasets/student_behavior/train/images
val: ./datasets/student_behavior/val/images
test: ./datasets/student_behavior/test/images

nc: 12
names: ['Using_phone', 'bend', 'book', 'bow_head', 'hand-raising', 'phone', 
        'raise_head', 'reading', 'sleep', 'turn_head', 'upright', 'writing']

训练命令示例:

yolo train model=yolo11n.pt data=dataset.yaml epochs=100 imgsz=640 batch=16 device=0

参数说明

  • model=yolo11n.pt:使用 YOLO11 的 nano 版本作为预训练权重,适合小数据集快速迭代。
  • epochs=100:训练轮数,对于 100 张图片的数据集,建议至少训练 100 轮以保证收敛。
  • imgsz=640:输入图片尺寸,可根据实际场景调整(如 416 或 512)。
  • batch=16:批次大小,根据 GPU 显存调整。

4.3 训练过程中的常见坑

  1. 类别不平衡:该数据集中“upright”(坐姿端正)和“reading”(阅读)可能样本较多,而“sleep”(睡觉)或“Using_phone”(使用手机)样本较少。建议使用类别权重或数据增强来缓解。
  2. 小目标检测:课堂场景中,学生头部、手部等目标较小,YOLO11 的 nano 版本对小目标检测能力有限,可考虑使用 yolo11m.ptyolo11l.pt 等更大模型。
  3. 光照变化:不同教室的光照条件差异大,建议在训练时使用 hsv_h, hsv_s, hsv_v 等数据增强参数。
  4. 遮挡问题:学生之间可能存在相互遮挡,导致标注框不完整。可尝试使用 mixupmosaic 增强。

五、验证指标与误检漏检分析

5.1 验证指标

训练完成后,建议关注以下指标:

  • mAP@0.5:IoU 阈值为 0.5 时的平均精度,反映模型对目标的大致定位能力。
  • mAP@0.5:0.95:不同 IoU 阈值下的平均精度,更严格地评估定位精度。
  • PrecisionRecall:分别反映模型的准确率和召回率。

5.2 误检漏检分析

以下图片展示了模型验证阶段的检测效果:

验证图

图6:计算机视觉系统在真实课堂环境中对多种行为进行实时标注和分类。

验证图

图7:系统精准识别学生阅读行为,置信度高达0.96。

验证图

图8:系统成功识别学生书写行为,辅助课堂作业管理。

从验证结果可以看出:

  • 高置信度类别:hand-raising、reading、writing 等行为识别准确率高,说明模型对这些特征明显的动作学习较好。
  • 低置信度类别:bow_head、turn_head 等行为置信度较低,可能是因为这些动作幅度小,且与 upright 状态容易混淆。
  • 误检情况:当学生手持书本时,可能同时被识别为“book”和“reading”,需要后处理进行合并或选择置信度更高的类别。

5.3 优化建议

  1. 增加样本量:当前 100 张图片对于 12 个类别来说偏少,建议收集更多不同教室、不同光照条件下的图片。
  2. 细化标注:对于“bow_head”和“turn_head”等细微动作,可以增加关键点标注或使用更精细的边界框。
  3. 模型选择:如果对速度要求不高,建议使用 yolo11m.ptyolo11l.pt,以获得更高的检测精度。
  4. 后处理优化:对置信度较低的检测结果进行 NMS 阈值调整,或根据场景规则过滤不合理的结果(如“sleep”和“upright”不应同时出现)。

六、训练配置界面参考

以下图片展示了训练过程中的参数配置界面,供读者参考:

训练配置图

图9:模型训练配置界面,展示基础模型和训练参数设置。

训练参数图

图10:详细展示模型训练的各项参数,包括训练轮数、输入尺寸和设备选择。

训练提交流程图

图11:模型训练提交界面,展示实验名称和运行目录等信息。

七、素材配图建议

在撰写技术博客时,建议搭配以下类型的配图以增强文章的可读性:

  1. 原始课堂场景图:展示数据集中的典型画面,让读者直观了解应用场景。
  2. 标注效果图:展示模型检测结果,包括边界框和置信度,体现模型性能。
  3. 训练配置截图:展示训练参数设置,方便读者复现实验。
  4. 验证结果对比图:对比不同模型或不同参数下的检测效果,突出优化方向。

以下为本文章推荐使用的配图及其 OSS 地址:

  • 课堂互动场景:图1
  • 标注效果:图4
  • 验证结果:图6
  • 训练配置:图9

八、总结

本文基于一个学生课堂行为检测数据集,详细介绍了从数据集理解、标注类别分析到 YOLO11 模型训练和验证的完整流程。该数据集虽然样本量不大,但覆盖了 12 种常见课堂行为,适合用于智慧课堂场景下的目标检测方案验证。

通过训练实验,我们发现 YOLO11 在举手、阅读、书写等特征明显的行为上表现较好,而在低头、转头等细微动作上仍有提升空间。建议后续从增加样本量、优化数据增强策略和选择更大模型等方面进行改进。

该方案可迁移到其他课堂行为识别场景,如在线教育、考试监控等,只需根据实际需求调整类别定义和数据集即可。希望本文能为从事智慧教育或目标检测研究的开发者提供参考。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐