Skip to content

voodooq/face2025

Repository files navigation

人脸识别桌面应用

这是一个基于 Python 和 DeepFace 的桌面应用程序,提供了一个完整的、带图形用户界面(GUI)的人脸识别和管理解决方案。

该应用通过 pywebview 将一个基于 Flask 的后端服务和 HTML/JavaScript 的前端界面打包成一个独立的桌面应用,实现了跨平台的兼容性和原生应用般的体验。

✨ 功能特性

  • 实时识别:通过摄像头进行实时人脸检测和身份识别。
  • 图片识别:支持上传本地图片文件进行人脸识别。
  • 人脸注册:可通过摄像头捕捉或上传图片来注册新的人脸数据。
  • 数据管理:提供了一个独立的管理页面,用于查看、重命名、删除已注册的人员及其照片。
  • 一键训练:在管理页面,可以一键触发后台模型重建,该过程会从 known_faces 文件夹自动整理源图片。
  • 实时进度:模型重建过程通过 WebSocket 提供实时进度条和状态更新,不阻塞UI操作。
  • 模糊搜索:在管理页面,可以根据姓名快速搜索和筛选已注册的人员。

🛠️ 技术栈

  • 后端: Python, Flask, Flask-SocketIO, DeepFace, TensorFlow, OpenCV
  • 前端: HTML, CSS, JavaScript
  • 桌面GUI: pywebview
  • 打包: PyInstaller

📂 项目结构

. E:\work\face2025
├── 📂 deepface_db/      # 程序自动生成的人脸数据库
├── 📂 known_faces/      # (重要) 用于训练的源图片,按“姓名/图片”结构存放
├── 📂 server/           # 后端核心代码
│   ├── api.py          # Flask API 和 SocketIO 服务
│   └── training.py     # 模型训练和数据处理逻辑
├── edit.html           # 人脸数据管理前端页面
├── index.html          # 主程序前端页面
├── main.py             # (重要) 程序主入口
├── README.md           # 项目说明文件
└── requirements.txt    # Python 依赖列表

🚀 安装与启动

  1. 准备环境: 建议创建一个 Python 虚拟环境。

  2. 安装依赖: 在项目根目录下,通过命令行安装所有必需的库。

    pip install -r requirements.txt
  3. 准备数据: 将需要训练的人脸图片放入 known_faces 文件夹。请为每个人创建一个以其姓名命名的子文件夹,并将该人的所有照片放入其中。例如:

    • known_faces/张三/01.jpg
    • known_faces/张三/02.png
    • known_faces/李四/photo.jpg
  4. 运行程序: 在项目根目录下,执行主文件。

    python main.py
  5. 首次使用: 程序启动后,建议先进入“管理”页面,点击“开始重建模型”按钮,根据 known_faces 文件夹中的数据生成初始模型。

📦 打包为桌面应用

如果您想将此项目打包成一个可执行的桌面应用程序(.exe 文件及相关数据),请执行以下步骤:

  1. 确保所有依赖已安装,特别是 pyinstaller

  2. 在项目根目录下,运行以下命令:

    pyinstaller face2025.spec
  3. 打包成功后,所有内容将位于 dist/face2025 文件夹中。这个文件夹就是您的完整应用,可以被移动或压缩分发。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors