🤖 人脸识别系统 v1.0

一个基于 Python + OpenCV 的人脸识别系统,采用 LBPH(Local Binary Patterns Histograms) 算法实现人脸数据的采集、模型训练与实时识别,支持多用户管理、五官检测校准与识别数据统计。


✨ 功能特性

  • 📸 采集人脸数据:通过摄像头自动捕捉多角度人脸图像(正面/左转/右转/抬头/低头),并实时检测五官(左右眼、嘴巴)质量
  • 🧠 训练识别模型:使用 LBPH 算法训练多用户人脸识别模型,内置数据增强(灰度、旋转、缩放、平移、亮度/对比度调节)
  • 🔍 实时人脸识别:摄像头实时检测并识别人脸身份,显示置信度与中英文标注,支持识别统计(识别时长、总次数、陌生人次数)
  • 👥 管理用户数据:查看已注册用户及样本数量,支持单个/批量删除用户数据
  • 🎯 五官检测校准:独立的调试工具,可实时调整眼睛/鼻子/嘴巴检测参数(scaleFactor、minNeighbors、minSize)

🛠️ 技术栈

组件说明
OpenCV计算机视觉库(人脸检测 / 识别 / 图像处理)
LBPH局部二值模式直方图人脸识别算法
Haar Cascade人脸/眼睛/嘴巴检测器
numpy数组与矩阵运算
Pillow图像处理与中文标注绘制

📁 项目结构

  • main.py:主程序入口(命令行菜单)
  • face_capture.py:人脸数据采集模块
  • face_train.py:LBPH 模型训练模块(含数据增强)
  • face_recognize.py:实时人脸识别模块
  • calibrate_features.py:五官检测参数校准工具

🚀 使用流程

  1. 采集数据:输入用户名,采集 50~100 张多角度人脸样本
  2. 训练模型:使用采集的数据训练 LBPH 模型(模型保存为 data/model/face_model.yml)
  3. 实时识别:启动摄像头实时识别人脸,按 ESC 退出、S 保存当前帧、R 重置统计

🎮 操作提示

  • 采集时保持光照充足,不要戴墨镜或口罩
  • 每人至少采集 20 张样本,推荐 50~100 张
  • 删除用户后需重新训练模型

本项目用于计算机视觉与机器学习入门学习,纯本地运行,数据不经过网络上传。