# lab1-face-detection **Repository Path**: lin-yunhan/lab1-face-detection ## Basic Information - **Project Name**: lab1-face-detection - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-06 - **Last Updated**: 2026-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能人脸统计数量系统 ## 项目简介 本项目是一个基于Linux环境的智能课堂人数统计系统。通过计算机视觉与人脸检测技术实现自动化考勤管理,应用于课堂、会议室等场景。 ## 功能特点 - **人脸检测与追踪**:使用OpenCV DNN模块加载Caffe SSD模型进行实时人脸检测,通过CentroidTracker算法实现帧间人脸关联和唯一ID分配 - **累计人数统计**:记录进入摄像头视野的总人数,只增不减,未达到目标人数显示红色,达标后显示绿色 - **实时人数监控**:实时记录当前在场人数,低于目标人数时显示红色,用于检测早退情况 - **ID状态列表**:显示所有人的唯一ID,绿色表示在场,红色表示离场,用逗号分隔 - **人脸离场截图**:当人脸消失超过30帧后,自动保存离场前的人脸截图作为证据 - **目标人数设置**:启动时弹出窗口,用户可通过滑块设置目标人数 - **数据库持久化**:使用SQLite数据库记录每个人的入场时间、离场状态等信息 ## 技术栈 - 编程语言:C++ - 计算机视觉库:OpenCV 4.x - 数据库:SQLite3 - 人脸检测模型:Caffe SSD res10_300x300 - 构建工具:CMake ## 项目结构 ``` 智能人脸统计数量系统/ ├── README.md # 项目说明 ├── docs/ # 项目文档 │ ├── git日志.pdf # Git提交日志 │ ├── 演示视频.avi # 演示视频 │ ├── 项目设计说明书.md # 项目设计说明书 │ └── AI对话记录.md # AI对话记录 └── code/ # 项目代码 ├── CMakeLists.txt # 构建文件 ├── config.json # 配置文件 ├── src/ # 源代码 │ ├── main.cpp # 主程序入口 │ ├── camera/ # 摄像头模块 │ ├── detector/ # 人脸检测模块 │ ├── tracker/ # 人脸追踪模块 │ ├── registry/ # 人员注册模块 │ ├── ui/ # UI界面模块 │ └── common/ # 公共模块 └── models/ # 模型文件 ``` ## 编译运行 ### 编译 ```bash cd code mkdir build && cd build cmake .. make -j$(nproc) ``` ### 运行 ```bash cd build LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/lib:$LD_LIBRARY_PATH ./bin/classroom_counter ``` ## 使用说明 1. 运行程序后,会弹出目标人数设置窗口 2. 使用滑块调整目标人数,按Enter确认 3. 系统开始实时检测人脸并统计人数 4. 累计人数显示在左下方(未达标红色,达标绿色) 5. 实时人数显示在累计人数下方(低于目标红色) 6. ID状态列表显示在底部(绿色在场,红色离场) 7. 按Q键退出程序 ## 文档 详细文档请参考docs目录: - [项目设计说明书](docs/项目设计说明书.md) - [AI对话记录](docs/AI对话记录.md)