基于YOLOv8的学生行为检测(是否玩手机)
本项目结合目标检测+跟踪+分类实现学生行为检测(是否玩手机)。
环境说明:
torch==1.21.1
torchvision==0.13.1
ultralytics==8.0.228
tensorboardX==2.6.2.2
scikit-learn==1.3.2
requests==2.32.4
pillow==10.4.0
matplotlib==3.7.5
loguru==0.5.3
本项目为有偿提供
github:
https://github.com/YINYIPENG-EN/student_class
数据集
数据集有两个类,play_phone和person,数据集解压存放在classification/datasets/下。目录格式如下:
datasets/ |-- test | |-- person | `-- play_phone `-- train |-- person `-- play_phone
训练集两个类各有:8378张、10422张
测试集两个类各有:1897张、1770张
训练
步骤1:解压完成后,运行以下命令,生成cls_train.txt和cls_test.txt
cd classification python txt_annotation.py
(生成后检查txt中label和image path是否正确)正确形式如下:
1;E:\student_class\classification/datasets/train\person\ZYuUThsEF6XMAB9QS1v7ifPgeqHdtxyO.jpg 1;E:\student_class\classification/datasets/train\person\zZNJeQmhgR0wHa3IkPTropBKdVb4X6xU.jpg 1;E:\student_class\classification/datasets/train\person\zZP85dBwj79vHWQtrXiynLOSo0AfqYG3.jpg 0;E:\student_class\classification/datasets/train\play_phone\01cXjIpEetAs73d8PVKJuY5mCrvgBfHO.jpg 0;E:\student_class\classification/datasets/train\play_phone\01IAyscWf3Q5XaSmHePDvBO69GJzLRg2.jpg
步骤2:输入以下命令进行训练。(确保在classification文件下)
python train.py --backbone --model_path --epoch 30
--backbone支持resnet50,mobilenet,vgg16,vit
--Freeze:冻结训练
--Freeze_epoch:init_epoch~Freeze_epoch之间为冻结训练,Freeze_epoch后为解冻训练
训练后的权重会报错在classification/logs下
TOP-X accuracy测试
支持Top-1和Top-5的Accuracy测试
运行以下命令(确保在classification文件下)
python eval_top1.py --model_name resnet50 --weights 权重路径 python eval_top5.py --model_name resnet50 --weights 权重路径
F1值、P、R测试
运行以下命令可复现F1值、P、R评价指标。
python eval.py --model_name resnet50 --weights 权重路径
图片测试(不含目标检测和跟踪)
此功能仅对图像进行分类任务或可视化,未含基于YOLOv8的目标检测和目标跟踪
输入以下命令进行检测:
python predict_demo.py --weights 权重路径 --model_name resnet50
输入以下命令进行特征可视化
python predict_demo.py --weights 权重路径 --model_name resnet50 --visualize
特征图会保存在feat文件下
基于YOLOv8的行为检测
基于YOLOv8+跟踪+分类识别,完成行为检测(是否玩手机)。
运行以下命令进行检测(支持图像/视频):
python detect_v2.0.py --weights 权重路径 --model_name --thres 0.6 --source 图像/视频路径
检测效果如下:

获取截图如下:

本项目为版开源,完整项目为有偿(可提供调试)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)