基于深度学习的人脸检测与识别系统
基于深度学习的人脸检测与识别系统项目简介本项目是一个基于PyQt6构建的桌面可视化检测系统融合了YOLO目标检测与DeepFace人脸识别能力支持图片、视频和摄像头等多种数据源输入适用于人脸身份核验、目标检测展示、检测结果统计与历史记录管理等场景。系统采用图形化界面设计包含登录注册、室内检测、室外检测、身份验证和历史记录等功能模块具备较好的交互性与实用性。项目题目基于YOLO的人脸检测与识别系统功能特点支持用户登录与注册默认提供管理员账号。支持图片检测可查看目标检测结果、统计摘要和详细数据。支持视频检测可按间隔帧执行识别并实时展示检测信息。支持摄像头检测可进行实时识别、截图保存和会话统计。支持检测历史记录保存、查询、筛选、导出与清空。支持室外场景下的人脸身份验证。支持上传基准人脸图片并与待检测图片或摄像头画面进行比对。支持模型路径加载与检测参数动态调整。技术栈PythonPyQt6Ultralytics YOLOOpenCVNumPyPillowMatplotlibDeepFacetf-keras系统模块1. 登录注册模块用户可通过登录界面进入系统。支持新用户注册。用户信息保存在项目根目录的users.json文件中。默认账号如下用户名admin 密码1234562. 室内检测模块支持图片、视频、摄像头三种检测方式。可对目标进行检测、显示类别、置信度和坐标信息。支持结果导出与检测历史保存。支持“走失检测”提示逻辑。3. 室外检测模块支持图片、视频、摄像头三种数据源。基于 YOLO 模型完成室外目标检测。支持实时统计、截图保存和检测历史记录。可与身份验证功能联动使用。4. 人脸身份验证模块支持上传个人基准照片。支持上传待验证图片进行人脸比对。支持摄像头实时人脸验证。基于DeepFace提取人脸特征并计算相似度。可输出身份一致或身份不符的验证结果。5. 历史记录模块自动保存图片、视频和摄像头检测记录。支持按照关键词和类型筛选历史数据。支持导出 CSV。历史数据默认保存在history/detection_history.json。项目结构c141/ ├── main.py # 程序入口 ├── main_window.py # 主窗口 ├── login_window.py # 登录/注册窗口 ├── config.py # 全局配置 ├── requirements.txt # 依赖列表 ├── users.json # 用户数据 ├── core/ │ ├── detector.py # 室内检测核心 │ ├── outdoor_detector.py # 室外检测核心 │ └── face_recognizer.py # 人脸识别核心 ├── pages/ │ ├── image_page.py # 室内检测页面 │ ├── outdoor_page.py # 室外检测与身份验证页面 │ └── history_page.py # 历史记录页面 ├── history/ │ └── detection_history.json # 检测历史 └── weights/ # 模型权重目录运行环境建议使用以下环境Python 3.10或以上Windows 10/11已安装可用的摄像头设备如需实时检测安装步骤1. 克隆或下载项目将项目文件放到本地目录后进入项目根目录。2. 安装依赖pip install -r requirements.txt3. 准备模型文件程序默认会从weights目录读取模型文件weights/best1.ptweights/best2.pt如果默认路径下没有模型文件也可以在图形界面的“模型设置”中手动选择并加载模型。4. 启动项目python main.py使用说明1. 登录系统启动后进入登录界面输入账号密码即可进入主界面。2. 加载模型进入系统后可在对应页面点击“模型设置”选择模型文件并加载同时调整置信度阈值IoU 阈值最大检测数3. 执行检测根据需要选择以下方式图片检测视频检测摄像头检测系统会在界面中显示检测结果、目标数量、类别统计和详细信息。4. 人脸验证在“室外检测”页面中可进入“身份验证”功能上传个人基准照片选择待验证图片或开启摄像头进行实时验证系统会输出相似度结果并判断是否匹配。5. 查看历史记录进入“检测历史”页面后可查看系统自动保存的历史检测信息并支持导出 CSV。结果输出系统支持以下结果输出方式检测结果图片导出检测明细 CSV 导出摄像头截图保存检测历史记录保存注意事项首次使用DeepFace时可能会自动下载模型权重请保持网络畅通。若摄像头无法打开请检查设备是否被其他程序占用。若模型无法加载请确认模型文件路径正确且文件格式为.pt或.pth。users.json中保存的是本地账号信息当前版本未对密码进行加密处理。历史记录文件会持续累积必要时可在系统中手动清空。依赖列表项目当前依赖如下PyQt6 ultralytics opencv-python numpy matplotlib Pillow deepface tf-keras总结本项目实现了一个集目标检测、人脸识别、实时监控、结果统计与历史管理于一体的图形化智能检测系统。系统界面完整功能较为丰富适合作为课程设计、毕业设计、项目展示或二次开发的基础工程。