# 人脸识别系统 基于 C++ 核心的多端人脸识别系统,支持 Web 管理端和 Android 离线识别。 ## 项目结构 ``` Face-app-web/ ├── backend-java/ # Java Spring Boot 后端 ├── android-sdk/ # Android 离线 SDK │ ├── face-core/ # SDK 核心库 │ └── app/ # 示例应用 ├── web-admin/ # React 管理前端 ├── FaceRecog/ # C++ 人脸识别核心(参考) ├── FaceFeatureExtractorAPI/# Python 特征提取 API(参考) └── Silent-Face-Anti-Spoofing-APK-master/ # 活体检测(参考) ``` ## 功能特性 ### 后端系统 (backend-java) - ✅ 人员管理(增删改查) - ✅ 分组管理 - ✅ 设备管理与心跳 - ✅ 数据同步接口(支持增量更新) - ✅ RESTful API ### Android SDK (android-sdk) - ✅ 离线人脸识别(基于 C++ 核心) - ✅ 活体检测集成 - ✅ 本地数据库(SQLite) - ✅ 数据同步机制 - ✅ 实时相机预览与识别 UI ## 快速开始 ### 1. 启动后端 ```bash cd backend-java mvn spring-boot:run ``` 访问测试页面:http://localhost:8080/test.html ### 2. 运行 Android 应用 1. 在 Android Studio 中打开 `android-sdk` 目录 2. 修改 `SyncManager.java` 中的服务器地址 3. 连接设备或启动模拟器 4. 运行 `app` 模块 ### 3. 使用流程 1. 在后端测试页面注册用户(上传人脸照片) 2. 在 Android 应用中点击"同步人员数据" 3. 点击"开始人脸识别"进行实时识别 ## 详细文档 - [调试指南](DEBUG_GUIDE.md) - 详细的调试步骤和常见问题 - [实施计划](implementation_plan.md) - 系统架构和实施方案 - [开发回顾](walkthrough.md) - 项目构建过程回顾 ## API 接口 ### 人员管理 - `POST /api/users/add` - 添加用户 - `GET /api/users/list` - 查询所有用户 - `GET /api/users/{id}` - 查询单个用户 - `POST /api/users/update/{id}` - 更新用户 - `DELETE /api/users/{id}` - 删除用户 ### 数据同步 - `GET /api/sync/users?lastSyncTime={timestamp}` - 同步用户数据 ### 设备管理 - `POST /api/devices/register` - 设备注册/心跳 ## 技术栈 - **后端**: Java 17, Spring Boot 3.x, MyBatis-Plus, MySQL - **Android**: Java, CameraX, SQLite, JNI (C++) - **前端**: React + TypeScript (计划中) ## 许可证 本项目仅供学习和研究使用。