基于YOLO11的学生课堂行为检测:从数据标注到云上训练实践
业务场景
智慧课堂建设正逐步从“录播回看”向“智能分析”演进。通过计算机视觉技术自动识别学生在课堂中的行为状态,如举手发言、低头阅读、书写笔记、使用手机等,可以为教学互动分析和课堂秩序管理提供量化依据。传统人工巡课或课后回放分析效率较低,难以覆盖全时段、全班级的教学数据。因此,构建一套可自动检测学生课堂行为的视觉系统,具有明确的工程实践价值。
本文围绕一个典型的学生课堂行为检测数据集,介绍如何基于YOLO11目标检测模型,组织从数据准备、标注管理、训练配置到模型评估的完整流程。文中给出的实践建议可迁移至云上AI工程环境,帮助开发者高效管理视觉数据集和训练任务。
数据集说明(来源:数据集说明表)
本实践所使用的数据集来自“学生课堂行为检测数据集3.98”,项目名称为“xueshengketangxingwei398”。该数据集包含从课堂场景视频中抽取的100张代表性图片,每张图片均经过Label Studio标注工具进行目标检测标注,共计生成100个Label Studio任务。
数据集当前标注的类别包括:Using_phone、bend、book、bow_head、hand-raising、phone、raise_head、reading、sleep、turn_head、upright、writing,共12种行为标签。这些类别覆盖了学生在课堂中的常见行为状态,例如举手发言、低头、阅读、书写、睡觉、使用手机、转头等。
数据集的原始素材来源于课堂场景视频,经过筛选和整理后,将代表性图片存放在label_studio_import\oss_selected_100目录中。该目录同时包含Label Studio导入所需的JSON文件和标注界面配置文件,便于开发者直接复用或参考标注流程。
以下为数据集原始样本的抽帧示例,展示了该场景下的典型画面:



云上存储与版本管理建议
在云上AI工程实践中,数据集的管理是第一步。建议将原始图片、标注文件(如COCO JSON或YOLO格式的txt文件)以及数据集划分清单统一存储在对象存储服务中,例如OSS。通过合理的目录结构,可以方便后续训练任务的版本回溯和团队协作。
推荐的结构如下:
bucket_name/
├── datasets/
│ ├── student_behavior_v1/
│ │ ├── images/
│ │ │ ├── train/
│ │ │ ├── val/
│ │ │ └── test/
│ │ ├── labels/
│ │ │ ├── train/
│ │ │ ├── val/
│ │ │ └── test/
│ │ ├── dataset.yaml
│ │ └── README.md
│ └── student_behavior_v2/ # 后续迭代版本
数据集的版本管理可以通过在对象存储中创建不同版本的目录,或者利用云上数据管理平台(如DLC的数据集功能)来实现。每次标注更新或新增样本后,建议更新dataset.yaml中的路径和类别信息,并记录变更日志。
训练任务设计
模型选择:YOLO11
本实践选用YOLO11作为目标检测训练模型。YOLO11是Ultralytics推出的新一代YOLO系列模型,在检测精度和推理速度之间取得了较好的平衡。对于学生课堂行为检测这类需要同时识别多个小目标(如手机、书本)的场景,YOLO11的轻量化设计有助于在边缘设备或教室端侧部署。
数据格式转换
Label Studio导出的标注格式通常为JSON(支持COCO、Pascal VOC等格式)。在训练YOLO11之前,需要将标注数据转换为YOLO格式。YOLO格式要求每张图片对应一个同名的txt文件,文件中每行记录一个目标,格式为:class_id x_center y_center width height,其中坐标值为归一化后的数值(0~1)。
可以使用Ultralytics提供的转换工具或自行编写脚本完成格式转换。转换完成后,将图片和标签文件分别放入images和labels目录下,并按训练集、验证集、测试集划分。
训练配置示例
以下是一个基于YOLO11的训练配置示例,适用于在云上GPU实例或本地工作站运行:
# train.py
from ultralytics import YOLO
# 加载预训练模型
model = YOLO("yolo11n.pt") # 可选 yolo11s.pt, yolo11m.pt 等
# 开始训练
results = model.train(
data="dataset.yaml", # 数据集配置文件路径
epochs=100, # 训练轮数
imgsz=640, # 输入图片尺寸
batch=16, # 批次大小
device="0", # GPU设备编号
workers=4, # 数据加载线程数
lr0=0.01, # 初始学习率
augment=True, # 是否启用数据增强
project="student_behavior", # 项目名称
name="exp1", # 实验名称
exist_ok=True, # 允许覆盖同名实验
)
dataset.yaml文件内容示例:
# dataset.yaml
path: /path/to/dataset/student_behavior_v1 # 数据集根目录
train: images/train # 训练集图片目录
val: images/val # 验证集图片目录
test: images/test # 测试集图片目录
nc: 12 # 类别数量
names: [
"Using_phone", "bend", "book", "bow_head",
"hand-raising", "phone", "raise_head",
"reading", "sleep", "turn_head",
"upright", "writing"
]
训练过程监控
YOLO11训练过程中会自动记录损失曲线、mAP指标、学习率变化等信息,并通过TensorBoard或Ultralytics内置的日志系统输出。建议在云上训练时,将训练日志和模型权重文件同步保存到对象存储中,便于后续分析和模型版本管理。
以下为模型训练操作界面的示例截图:


模型评估与复核
训练完成后,需要对模型在验证集上的表现进行评估。YOLO11会输出mAP@0.5、mAP@0.5:0.95、Precision、Recall等关键指标。对于课堂行为检测场景,除了关注整体mAP,还建议针对每个类别单独分析,特别是样本量较少的类别(如“bend”“phone”),可能需要额外的数据增强或难例挖掘。
以下为模型验证结果的截图示例:


在复核阶段,建议将模型预测结果与人工标注进行对比,重点关注以下情况:
- 漏检:模型未检测到明显的行为目标,可能是样本量不足或标注质量存在问题。
- 误检:模型将背景或无关目标识别为行为,需要检查类别定义是否清晰。
- 定位偏差:检测框与真实目标位置偏移较大,可考虑调整锚框尺寸或增加IoU阈值。
对于低置信度的预测结果,可以通过设置较高的置信度阈值来减少误报,但需注意可能同时降低召回率。实践中建议在验证集上进行阈值调优,找到适合业务场景的平衡点。
工程化落地注意点
将训练好的YOLO11模型部署到生产环境时,需要注意以下几点:
- 模型导出:YOLO11支持导出为ONNX、TensorRT、OpenVINO等格式,便于在不同推理框架中运行。导出时需指定
imgsz参数与训练时保持一致,避免输入尺寸变化导致精度下降。 - 推理服务化:建议将模型封装为RESTful API服务,通过容器化部署(如Docker)实现弹性伸缩。云上可使用函数计算或容器服务来托管推理服务。
- 视频流处理:课堂行为检测通常需要处理实时视频流。YOLO11的推理速度较快(在GPU上可达毫秒级),但需注意视频帧的采样频率和队列管理,避免积压。
- 数据回流:生产环境中的新样本应定期回流到训练集中,形成“数据采集→标注→训练→部署→反馈”的闭环。建议建立自动化流水线,减少人工干预。
- 隐私合规:课堂场景涉及学生肖像信息,部署时需确保视频数据脱敏或获得授权,避免隐私风险。
素材配图建议
本文配图均来自数据集视频抽帧和系统操作截图,具体如下:
- 数据集样本展示:使用
100张图片视频_01.jpg、100张图片视频_02.jpg、100张图片视频_03.jpg,展示课堂场景的原始画面。 - 标注界面示例:使用
标注视频_01.jpg、标注视频_02.jpg、标注视频_03.jpg,展示Label Studio中的标注流程和标注框位置。 - 训练配置界面:使用
学生课堂行为检测数据集3.98_模型训练_01.jpg、学生课堂行为检测数据集3.98_模型训练_02.jpg、学生课堂行为检测数据集3.98_模型训练_03.jpg,展示YOLO11训练参数配置和训练过程。 - 模型验证结果:使用
模型验证_01.jpg、模型验证_02.jpg、模型验证_03.jpg,展示模型在验证集上的检测框和置信度输出。
所有配图仅用于说明数据来源、标注流程、训练配置和验证方式,图片中可见的检测框和类别文本以实际截图为准,不推测未显示的类别或结论。
总结
本文基于“学生课堂行为检测数据集3.98”,介绍了如何利用YOLO11目标检测模型构建课堂行为识别系统。从数据集的结构化整理、云上存储版本管理、训练任务配置,到模型评估和工程化落地,形成了一套可迁移的实践流程。
在云上AI工程环境中,开发者可以将上述流程与对象存储、容器服务、数据管理平台等云产品结合,实现从数据到模型的全链路自动化管理。课堂行为检测只是YOLO11在智慧教育领域的一个应用方向,类似的流程也适用于其他需要多目标、多类别检测的场景,如校园安防、实验室行为监测等。
未来,随着数据量的积累和模型迭代,课堂行为检测系统的准确率和鲁棒性将进一步提升,为教学管理和教育研究提供更有力的数据支撑。