人脸识别

integrated-development

# 一、人脸识别

Face Recognition

人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。

生物识别包括人脸识别、语音识别、指纹识别、视网膜或虹膜识别。其中人脸识别是目前在身份认证或者身份查找应用中使用最广的生物识别技术。

人脸识别特指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术。

  1. 广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;
  2. 而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。

传统的人脸识别技术主要是基于可见光图像的人脸识别,人们也比较熟悉这样的识别方式。不过,这种方式的缺点其实非常明显,光线的限制性非常大。随着技术发展,也出现了一些新的解决方案,例如:三维图像人脸识别、热成像人脸识别等。

# 人脸识别项目

人脸识别是机器学习热门领域之一,在 Github上有很多项目实现了各种人脸识别功能。

  1. PaddleDetection - 是一个基于PaddlePaddle的目标检测端到端开发套件。
  2. InsightFace - 是一个基于PyTorch和MXNet的开源2D 3D深度人脸识别分析工具。
  3. OpenFace -是一个用于计算机视觉和机器学习的工具,能够进行各种面部识别检测。
  4. face_recognition - 是一个强大、简单、易上手的人脸识别开源项目。
  5. deepface - 是python的轻量级面部识别和面部属性分析(年龄,性别,情感和种族)框架。
  6. facenet - 是谷歌公司与 2015 年提出了基于深度学习的人脸识别系统。
  7. CompreFace - 是领先的免费开源人脸识别系统。

# 二、CompreFace

CompreFace项目-Gitee源码地址 (opens new window)

CompreFace项目-Github地址 (opens new window)

CompreFace API官方文档 (opens new window)

CompreFace 是一个基于 Docker 的开源人脸识别应用,由 Exadel 公司开源。

Exadel CompreFace是领先的免费开源人脸识别系统。该人脸识别算法可以被轻松集成到任何系统中,而无需事先掌握机器学习技能。

系统提供用于人脸识别、人脸验证、人脸检测、地标检测、面罩检测、头部姿势检测、年龄和性别识别的REST API;支持在CPU和GPU上运行模型; 该项目还包含角色管理系统,可以控制谁有权访问面部识别服务。

CompreFace提供了docker-compose配置,方便以Docker的模式快速部署人脸服务。

# 服务

CompreFace主要有三个服务功能。

服务 说明 描述
recogntion服务 进行人脸识别 根据照片与仓库中图片比较,识别出是哪一个人,而且可以给出年龄、性别等判断。
detection服务 人脸检测 根据照片可以判断是否含有脸部特征的照片。
verify 服务 两张图片比较 给出相似度判断。

# 功能

CompreFace支持多种人脸识别服务,包括:

(1)人脸检测:face detection (opens new window)

人脸检测的使用场景很多,例如:收集商店在不同性别中受欢迎程度的统计数据;收集有关您的活动在哪些年龄段受欢迎的统计数据;获取地标信息,了解客户的视线;收集商店里有多少顾客的统计数据;确认所有顾客是否正确佩戴口罩。

(2)人脸识别:face recognition (opens new window)

(3)面部验证:face verification (opens new window)

(4)特征检测:landmark detection plugin (opens new window)

(5)年龄识别:age recognition plugin

(6)性别识别:gender recognition plugin

(7)口罩检测:face mask detection plugin

(8)头部姿势检测:head pose plugin

(9)用户、角色和访问管理

# 部署

Docker部署

1、下载zip包。

wget https://github.com/exadelinc/CompreFace/releases/download/v1.2.0/CompreFace_1.2.0.zip
1

或者

wget https://gitee.com/mirrors/compreface.git
1

2、解压

unzip xxx.zip
1

3、修改端口(默认为8000)

查看解压出的docker-compose配置,修改服务compreface-fe的端口为8099(源端口8000,我的机器被占用)。

4、启动容器

docker-compose up  -d
1

5、登录

浏览器打开http://localhost:8099 (opens new window)

然后创建用户;

再创建一个属于你的Application。

# 使用

# 通过UI界面操作

每一个Service,有一个属于自己的API key,可以用来接口调用。

  • Recogntion服务
  • Detection服务
  • verify服务

操作参考文章 (opens new window)

# 通过API操作

为了二次开发,Compreface提供很多的API,参考官方文档地址 (opens new window)