基于FaceX-Zoo实现的人脸识别系统

基于FaceX-Zoo实现的人脸识别系统

项目简介

项目地址https://github.com/mundanePeo/faceRecognition

本项目基于京东AI的人脸识别框架工具集FaceX-Zoo所实现的人脸识别系统项目。

本项目以ArcFace为基本模型,采用半孪生训练法(SSL)。能够实现在现实场景下高质量的人脸检测-人脸识别的端到端系统。主要功能有:

  • 修改完配置即可完成项目安装
  • 本项目核心功能分为人脸信息注册和人脸查找两个部分
  • 本项目提供了人脸信息注册和人脸识别的样例脚本,分别是restoreData.py和demo.py
  • 本项目提供一键启动、一键关闭和一键出厂化设置

优势介绍

  • 本项目是采用python的flask框架实现的人脸识别接口,具有较强的容错性能
  • 本项目运行版本为GPU版,能够较为快速的建模和查找(通常为500ms以内)
  • 本项目使用京东AI的人脸识别框架工具集FaceX-Zoo,其速度和性能都比较优异
  • 本项目使用方式简单,部署完毕后,只需要按照提供的样例脚本传入所需图片即可得到答案
  • 本项目具有一键验证功能,其比较对象为旷世的人脸验证API

SSL介绍

Semi-Siamese Training for Shallow Face Learning

作者:Hang Du, Hailin Shi, Yuchi Liu, Jun Wang, Zhen Lei, Dan Zeng, Tao Mei

单位:上海大学;京东AI;中科院自动化研究所

论文:https://arxiv.org/abs/2007.08398

代码:https://github.com/dituu/Semi-Siamese-Training

解读:详细解读浅表人脸学习-Semi-Siamese Training for Shallow Face Learning

会议:ECCV 2020 Spotlight

FaceX-Zoo介绍

FaceX-Zoo is a PyTorch toolbox for face recognition. It provides a training module with various supervisory heads and backbones towards state-of-the-art face recognition, as well as a standardized evaluation module which enables to evaluate the models in most of the popular benchmarks just by editing a simple configuration. Also, a simple yet fully functional face SDK is provided for the validation and primary application of the trained models. Rather than including as many as possible of the prior techniques, we enable FaceX-Zoo to easilyupgrade and extend along with the development of face related domains. Please refer to the technical report for more detailed information about this project.

About the name:

“Face” - this repo is mainly for face recognition.
“X” - we also aim to provide something beyond face recognition, e.g. face parsing, face lightning.
“Zoo” - there include a lot of algorithms and models in this repo. image
基于FaceX-Zoo实现的人脸识别系统

代码:https://github.com/JDAI-CV/FaceX-Zoo.git

论文:https://arxiv.org/pdf/2101.04407.pdf

使用指南

1.克隆本项目到本地

git clone https://github.com/mundanePeo/faceRecognition.git

2.安装相应的python依赖

切换到虚拟环境
cd FaceRecognize
pip install -r requirements.txt

3.安装并启动mysql:mysql可以不要求root权限

4.修改配置文件

cd FaceRecognize/config
vim config.yaml
    1.配置mysql信息
    2.选择启动模式
    3.填写旷世人脸识别API的信息

5.修改启动信息

vim FaceRecognize/controll.sh
host= '0.0.0.0' # 接口启动的主机地址
port=10091 # 接口启动端口

user=apps # 用户名
mysql_path=/home/$user/mysql # mysql的存放路径

6.启动接口

cd FaceRecognize
sh controll.sh start 

结果演示

1.注册

修改restoreData.py中的图片路径
python restoreData.py

基于FaceX-Zoo实现的人脸识别系统

2.识别

修改demo中的图片路径
python demo.py

基于FaceX-Zoo实现的人脸识别系统
3.线上测试结果

日期 准确率 误识率
2021-04-15 0.857 0.143
2021-04-16 1.000 0.000
2021-04-17 1.000 0.000
2021-04-19 0.944 0.056
2021-04-20 0.726 0.274
2021-04-21 0.916 0.084
2021-04-22 0.972 0.028
2021-04-23 0.971 0.029
2021-04-24 1.000 0.000
2021-04-25 1.000 0.000
2021-04-26 0.976 0.024
2021-04-27 0.902 0.098
2021-04-28 1.000 0.000
2021-04-29 1.000 0.000
2021-05-07 1.000 0.000

指令介绍

所属文件 指令 作用
controll start 启动系统
controll stop 终止系统
controll init 系统初始化
validate 验证识别结果

注意:

  • 系统初始化会清空数据库、存储的人脸库等重要数据。
  • 验证识别的结果只能是前一天到前第9天的数据,暂不支持实时验证,验证结果和过程分别存储在validateResult.txt和runningLog.txt中。
上一篇:[face_数据库篇] Mongodb


下一篇:最近邻分类法