大连理工大学软件学院实习实训项目。 实现一个图形化的人脸识别工具,包含摄像头交互、人脸检测、人脸录入、数据训练、人脸识别、数据管理等功能,并在树莓派4b环境下部署。 本项目使用Python语言进行开发,使用OpenCV实现检测和识别功能,使用Qt5开发图形化界面。(具体版本详见项目环境)
杜章豪、于栖浩、康铭淇、陈启祥、唐逸。
FaceRecognitionSystem/
├── Core.py # 核心程序
├── DataManager.py # 数据管理程序
├── Window.py # 窗口程序
├── data/ # 数据文件夹
│ ├── .data # 数据汇总统计
│ ├── {student_id}/ # 以学号命名的个人数据文件夹
│ │ ├── {student_id}.data # 存储该子目录的基本信息
│ │ ├── {student_id}.yml # 存储该子目录训练好的结果
│ │ ├── User.{index}.jpg # 存储图像
├── old/ # 存储旧版文件
├── window/ # 存储窗口文件
│ ├── ... # 各种窗口相关文件
└── README.md # 项目说明文件
- Raspberry Pi OS with desktop (64-bit)
- Python 3.11
- PyQt5 5.15.9
- OpenCV-Python 4.10.0
- OpenCV-Python-Contrib 4.10.0
推荐使用conda虚拟环境。
-
运行核心程序:
python Core.py
-
界面功能
- 录入人脸:点击“人脸录入”按钮,确保人脸在摄像头画面内并有蓝色方框框选。当进度条满后,可以键入基本信息并训练模型。
- 识别人脸:点击“人脸识别”按钮,确保人脸在摄像头画面内并有绿色方框框选。当进度条满后,弹出窗口显示识别结果。当超时没有检测到结果则会识别失败。
- 管理数据:点击“数据管理”按钮,打开数据页面。在数据页面单击某一行后则可以在右边显示具体信息,同时也可以对该数据进行删除。在数据页面双击某一行则可以打开该行所对应的数据文件夹。
树莓派局域网SSH访问须知: 局域网SSH地址:172.29.35.32 SSH端口:22
- 在~/Work文件夹下有属于每个人的文件夹,上传的文件请存入自己的文件夹中
- 非必要不使用su、sudo命令
- 不要私自更改系统设置、系统环境,更改前请告知组内成员
- 如果执行关机、重启操作请告知组能成员并及时检查树莓派是否更新ip地址
- 暂时先这些,之后可能会有其他规则