基于 Django 与深度学习的别玩手机行为识别系统
·
1. 项目简介
在课堂、图书馆和自习室等场景中,手机使用行为容易分散注意力。本文实现了一个"别玩手机行为识别系统":用户上传一张场景图片,系统调用已训练的图像分类模型,输出"正在使用手机"或"未使用手机"的预测类别及置信度。项目将深度学习推理能力封装为 Django Web 页面,便于演示、测试与后续扩展。
2. 技术栈
- 后端框架:Django
- 深度学习框架:PyTorch
- 图像处理库:Pillow、torchvision
- 可选模型架构:AlexNet、VGG、ResNet、GoogLeNet、MobileNet、DenseNet、EfficientNet、RegNet、ShuffleNet、Swin Transformer、Vision Transformer
- 运行环境:Django 5.2.12 + Python 3.8+
3. 数据集说明
项目使用本地 data_set/phone 数据集,采用 PyTorch 的 ImageFolder 目录组织方式。数据集结构如下:
| 数据集 | 图片数量 | 类别说明 |
|---|---|---|
| 训练集 | 3,150 张 | 0_phone(正在使用手机) |
| 测试集 | 1,001 张 | 1_no_phone(未使用手机) |
训练脚本默认数据集名称为 phone,训练阶段读取 train 目录,评估阶段读取 test 目录。

4. 界面设计
页面采用左右分栏的工具型界面:
左侧区域:
直观说明二分类标签,帮助用户理解系统功能。
右侧区域:
集中放置模型选择、图片上传和预测结果区域。
设计优势:
- 相比只展示单一结果的页面,这种布局更适合课程设计或项目答辩中的现场演示
- 预测结果会清晰展示使用模型、行为类别和置信度
- 界面简洁直观,降低用户学习成本

5. 总结与优化方向
本文完成了从行为图片数据集、深度学习分类模型到 Django 可视化页面的完整闭环。后续可从三方面继续完善:
- 数据增强:补充不同光照、遮挡和远距离场景数据,提升模型泛化能力
- 模型对比:基于真实测试日志对多个模型的准确率、推理速度和模型大小进行系统对比
- 功能扩展:扩展为视频流检测,在连续帧上增加时序平滑与告警策略
更多推荐
所有评论(0)