2025-12-02 15:42:13 +08:00
2025-10-29 10:51:09 +08:00
2021-06-04 13:51:46 +08:00
2025-10-29 10:51:09 +08:00
2020-05-29 10:34:39 +08:00

Face Recognition 项目说明

本项目使用OpenCV+Dlib+Yolov4-tiny+Python 实现2个主要功能:

  1. 通过摄像头捕获人脸数据录入数据库,通过摄像头获取的实时视频流识别人脸
  2. 通过获取的视频捕获人脸数据,和已经录入数据库的人脸数据进行比较,识别出对应的人脸

项目结构说明如下:

.
├── data
│   ├── data_faces                                          # 人脸数据库或通过摄像头捕获人脸存放位置
├── face_check_from_data.py                                  # 人脸对比
├── face_reco_from_camera_ot.py                              # 带OT人脸追踪的视频流人脸识别
├── face_reco_from_camera.py                                 # 视频流人脸识别
├── face_reco_from_video.py                                  # 监控视频下的人脸捕获
├── faces_output                                             # 监控视频下的人脸捕获数据存放位置
│   ├── all_faces
│   ├── captured_faces
│   └── result_video.avi
├── features_extraction_to_csv.py                            # 支持DNN检测器的数据转码
├── features.py                                              # 基础的数据转码
├── get_faces_dnn.py                                         # 支持OpenCV DNN检测器的摄像头人脸获取
├── get_faces.py                                             # 摄像头人脸获取
├── get_faces_UI.py                                          # UI摄像头人脸获取
├── LICENSE
├── models                                                   # 模型存放位置
│   ├── deploy.prototxt
│   ├── dlib
│   │   ├── dlib_face_recognition_resnet_model_v1.dat
│   │   ├── mmod_human_face_detector.dat
│   │   └── shape_predictor_68_face_landmarks.dat
│   ├── face_embeddings.pkl
│   ├── face_model_trained.xml
│   ├── haar
│   │   ├── haarcascade_eye.xml
│   │   └── haarcascade_frontalface_default.xml
│   ├── opencv_face_detector.pbtxt
│   ├── opencv_face_detector_uint8.pb
│   ├── openface_nn4.small2.v1.t7
│   ├── res10_300x300_ssd_iter_140000.caffemodel
│   ├── yolov4-tiny.cfg
│   └── yolov4-tiny.weights
├── README.md
├── requirements.txt
├── shutil
└── simsun.ttc

识别实时视频流使用方法:

  1. 安装依赖
pip install -r requirements.txt
  1. 通过摄像头捕获人脸数据,或导入人脸数据,本项目提供三种方式获取人脸数据:
python3 get_faces.py        # 基础的人脸捕获,流畅度一般
python3 get_faces_UI.py     # 基础人脸捕获方式+UI支持
python3 get_faces_dnn.py    # 使用OpenCV DNN人脸检测器,大幅提高视频流畅度
  1. 转码,将捕获的人脸数据转码
python3 features.py         # 使用基础人脸捕获方式和UI支持的转码方式
python3 features_extraction_to_csv.py   # 使用DNN方式识别的转码方式
  1. 人脸识别
python3 face_reco_from_camera.py            # 人脸识别
python3 face_reco_from_camera_ot.py         # 带OT追踪的人脸识别

识别监控视频的使用方法:

  1. 安装依赖
pip install -r requirements.txt
  1. 通过摄像头捕获人脸数据,或导入人脸数据,本项目提供三种方式获取人脸数据:
python3 get_faces.py        # 基础的人脸捕获,流畅度一般
python3 get_faces_UI.py     # 基础人脸捕获方式+UI支持
python3 get_faces_dnn.py    # 使用OpenCV DNN人脸检测器,大幅提高视频流畅度
  1. 监控视频中捕获人脸数据
python3 face_reco_from_video.py
  1. 人脸对比
python3 face_check_from_data.py
Description
Languages
PureBasic 92.2%
Python 7.8%