常见问题 (FAQ) ❓
在这里收集了开发者、试用者在部署和运行本项目经常遇到的问题。
1. 为什么检测不到画面中的某些后排学生?
这是计算机视觉系统常见的“尺度”挑战:
- 分辨率不足:如果摄像头画质为 720p 且教室极深,后排学生人脸可能只有 10x10 的像素块。这对任何 AI 都是巨大的挑战。建议使用 1080p 或 4K 的摄像监控。
- 光照严重不足:逆光或阴影区域极易丢失特征。
解决办法:您可以前往 flask/config.py,尝试调低目标检测的置信度阈值(CONF_THRESHOLD 修改为 0.25 等)。
2. 视频实时推理卡顿,只有不到 5 帧?
YOLO 推理是计算密集型任务:
- 未开启 GPU 加速:请确保您安装了 CUDA 版的 PyTorch 而非 CPU 版,并在启动日志中看到
device = cuda:0。 - 如果您的机器没有独立显卡(如普通的轻薄本部署),纯 CPU 推理大型模型非常吃力。
解决办法:如果您只有 CPU,可以尝试切换到更小的模型权重(例如从 yolo11m.pt 切换到 yolo11n.pt 版纳米模型)。
3. Java 端报 Connection Refused: localhost:5000?
这代表 Spring Boot 后端尝试调用 Python Flask AI 推理接口失败。
- 请检查是否已成功运行 Python 端的
app.py。 - 请检查 Python 的 Flask 服务是否因为缺少模块而闪退。
- 请确认端口并未被您电脑上的其他服务占用。
4. 如何将前端部署到云服务器?
由于本平台同时包含 Vue, Spring Boot, Flask 三个核心组件:
- 推荐在云端使用 Nginx 作为反向代理服务器。
- 前端 Vue 项目通过
npm run build打包后产生的dist目录交由 Nginx 静态托管。 - Nginx 配置
/api转发请求给跑在8888的 Java Jar 包;配置 WebSocket 或直接转发/ai到跑在5000的 Python 端。