# classroomTest **Repository Path**: oklp/classroomTest ## Basic Information - **Project Name**: classroomTest - **Description**: 学生课堂姿态训练 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-07 - **Last Updated**: 2025-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 教学管理系统 这是一个基于Python Flask和MySQL的教学管理系统,可以管理教师、学生和班级信息。 ## 功能特点 - 基于角色的用户权限控制(管理员、教师、学生) - 教师信息管理(添加、编辑、删除、查看) - 学生信息管理(添加、编辑、删除、查看) - 班级信息管理(添加、编辑、删除、查看) - 班级与教师关联管理 - 学生与班级关联管理 - 用户登录和认证 ## 技术栈 - 后端:Python Flask - 数据库:MySQL - 前端:Bootstrap 5、HTML、CSS、JavaScript ## 安装和运行 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置MySQL数据库 在`app/models/db.py`文件中修改数据库连接信息: ```python self.host = "localhost" # 数据库主机 self.user = "root" # 数据库用户名 self.password = "password" # 数据库密码 self.database = "classroom_management" # 数据库名称 ``` 确保MySQL服务已启动,并且用户具有创建数据库的权限。 ### 3. 运行应用 ```bash python app.py ``` 应用将在 http://localhost:5000 上运行。 ### 4. 默认管理员账号 - 用户名:admin - 密码:admin123 ## 项目结构 ``` classroomTest/ ├── app/ │ ├── models/ # 数据模型 │ ├── routes/ # 路由控制器 │ ├── static/ # 静态文件 (CSS, JS) │ └── templates/ # HTML模板 ├── app.py # 应用入口 └── requirements.txt # 项目依赖 ``` ## 使用说明 1. 管理员登录后可以管理所有教师、学生和班级信息 2. 教师登录后可以查看班级和学生信息 3. 学生登录后可以查看个人信息和所属班级信息 ## 注意事项 - 请确保MySQL服务已启动 - 默认情况下,系统会自动创建数据库和表结构 - 首次运行时,系统会自动创建一个管理员账号 # 课堂行为分析系统 基于深度学习的课堂行为实时监测与分析系统,支持图片和视频分析,提供行为统计和异常预警功能。 ## 功能特点 ### 1. 行为检测与分类 - **目标检测**:实时监测并标出学生位置 - **姿态估计**:分析学生动作,判断是否异常 - **时序行为分析**:分析连续画面中的行为变化,判断是否异常 ### 2. 异常行为统计分析 - **实时统计**:显示当前课堂异常情况 - **行为趋势**:可视化展示异常行为变化趋势 - **异常预警**:发现异常立即提醒老师 ### 3. 主要检测行为 - 抬头/低头 - 举手 - 阅读 - 书写 - 玩手机 - 睡觉 - 站立 - 讨论 - 讲话 ## 系统要求 ### 环境依赖 - Python 3.8+ - OpenCV - PyTorch - Ultralytics YOLO - MediaPipe - Matplotlib - Tkinter - PIL ### 模型文件 需要以下预训练模型: - turn_tow_head_best.pt - hand_raising_best.pt - stand_best.pt - discuss_best.pt - talk_best.pt - sbc_best.pt ## 安装说明 1. 克隆仓库 ```bash git clone https://gitee.com/oklp/classroomTest.git cd classroom-behavior-analysis ``` 2. 安装依赖 ```bash pip install -r requirements.txt ``` 3. 确保模型文件 将预训练模型文件放置在项目根目录下 ## 使用说明 ### 启动系统 ```bash python data_module/main.py ``` ### 主要功能 1. **图片分析** - 点击"选择图片"按钮 - 选择要分析的图片文件 - 系统自动进行行为检测和分析 2. **视频分析** - 点击"选择视频"按钮 - 选择要分析的视频文件 - 系统实时进行行为检测和分析 - 点击"停止"按钮可随时停止分析 3. **置信度调整** - 使用滑块调整检测置信度阈值(0.1-0.9) - 实时更新检测结果 4. **统计信息** - 右侧面板显示各类行为的实时统计 - 趋势图展示异常行为的变化趋势 ### 异常预警 系统会在检测到以下持续异常行为时发出预警: - 低头超过60秒 - 玩手机超过30秒 - 睡觉超过30秒 ## 界面说明 ### 左侧面板 - 图像/视频显示区域 - 功能按钮(选择图片、选择视频、停止) - 置信度调整滑块 ### 右侧面板 - 行为统计信息 - 异常行为趋势图 ### 状态栏 - 显示当前操作状态 - 显示FPS(视频分析时) ## 注意事项 1. 确保系统已安装中文字体(SimHei) 2. 视频分析时建议使用性能较好的设备 3. 首次运行可能需要较长时间加载模型 ## 开发说明 ### 模型说明 系统使用多个YOLO模型进行不同行为的检测: - turn_tow_head:检测抬头/低头 - hand_raising:检测举手/阅读/书写 - stand:检测站立 - discuss:检测讨论 - talk:检测讲话 - sbc:综合行为检测 ### 姿态估计 使用MediaPipe进行姿态估计,主要用于: - 头部角度计算 - 异常姿势检测 ## 更新日志 ### v1.0 - 基础功能实现 - 支持图片和视频分析 - 实时统计和趋势图 - 异常行为预警 # 课堂行为检测与班级管理系统 - UI现代化改进 本文档描述了对课堂行为检测与班级管理系统UI进行的现代化改进。 ## 主要改进内容 ### 1. 统一的现代UI风格 - 创建了独立的 `ui_style.py` 模块,提供统一的现代UI风格定义 - 采用了扁平化设计风格,减少不必要的边框和阴影 - 使用了柔和的配色方案,提高视觉舒适度 - 统一了字体和布局样式,使界面更协调一致 ### 2. 登录界面改进 - 添加了卡片式设计,使登录框悬浮于背景之上 - 为登录按钮添加了渐变背景效果 - 增强了输入框的焦点效果 - 优化了整体布局,使其更加紧凑和现代 ### 3. 主界面改进 - 添加了柔和的波浪渐变背景 - 增强了选项卡的选中效果 - 添加了欢迎信息条,显示当前用户信息 - 优化了窗口标题栏和菜单样式 ### 4. 表格界面改进 - 为表格添加了行悬停效果,提高用户体验 - 优化了表格标题栏的样式,使用蓝色背景 - 改进了表格选中行的高亮效果 - 添加了无数据时的提示信息样式 ### 5. 表单控件改进 - 统一了输入框、下拉列表等控件的样式 - 强化了控件焦点状态的视觉反馈 - 使用不同颜色区分按钮功能(主要、成功、危险等) - 优化了只读和禁用状态的视觉效果 ### 6. 对话框改进 - 为消息对话框和弹窗添加了卡片式设计 - 改进了"关于"和"修改密码"等对话框布局 - 优化了确认对话框的按钮样式 ## 技术实现 - 创建了ModernUIStyle类,集中管理所有样式定义 - 使用了ttk主题机制,自定义了控件样式 - 利用PIL库生成了渐变背景和按钮图像 - 通过标签(tag)系统实现了表格行的悬停效果 - 应用了统一的颜色方案和字体设置 ## 使用方法 为了应用此UI改进,只需在应用启动时调用ModernUIStyle.apply_style(root)方法: ```python from ui_style import ModernUIStyle # 在创建主窗口后应用样式 root = tk.Tk() style = ModernUIStyle.apply_style(root) ``` 各个组件已经相应更新,无需额外的样式代码。