轻量级图像识别模型 (人脸识别库开源)

近几年,随着技术的快速进步与发展,开源产生了诸多优秀稳定的项目,本篇文章主要介绍一下,本人在项目中用到技术,人脸识别。

说到人脸识别技术,国内比较知名的公司如 虹软等,但大多都是付费的,且对终端个数、请求次数等,都有较大的限制或要求。

话不多说,直接进入主题,今天主要介绍的叫deepface,其主要功能如下:

  • 支持各种主流识别模型,如:"VGG-Face", "Facenet", "OpenFace", "DeepFace", "DeepID", "ArcFace", "Dlib"等;
  • 能够对视频、图片等素材进行识别处理;
  • 能够对人脸诸多属性进行识别,如年龄、性别、情感状态(愤怒、开心等);
  • 两张图片,人脸相似度比对;
  • 实时视频人脸识别,标注;

具体安装过程

# 环境要求,Python3,并执行如下命令
pip install deepface

前置准备

# 以Linux为例
1. *载下**模型到 /root/.deepface/weights/ 下(首次使用,程序会自行判断并*载下**)~

使用示例

  • 识别模型选择
from deepface import DeepFace

models = ["VGG-Face", "Facenet", "OpenFace", "DeepFace", "DeepID", "ArcFace", "Dlib"]
for model in models:
   result = DeepFace.verify("img1.jpg", "img2.jpg", model_name = model)
   df = DeepFace.find(img_path = "img1.jpg", db_path = "C:/workspace/my_db", model_name = model)
  • 两张图片相似度比对
# 三种相似度比较
from deepface import DeepFace
metrics = ["cosine", "euclidean", "euclidean_l2"]
for metric in metrics:
   result = DeepFace.verify("img1.jpg", "img2.jpg", distance_metric = metric)
   df = DeepFace.find(img_path = "img1.jpg", db_path = "C:/workspace/my_db", distance_metric = metric)
  • 图片的人脸属性分析
from deepface import DeepFace
obj = DeepFace.analyze(img_path = "img4.jpg", actions = ['age', 'gender', 'race', 'emotion'])
print(obj["age"]," years old ",obj["dominant_race"]," ",obj["dominant_emotion"]," ", obj["gender"])
  • 视频流分析(分析视频中出现的人脸信息)
from deepface import DeepFace
DeepFace.stream("/user/database")

# 待识别人脸,可以按照如下结构整理好:
user
├── database
│   ├── Alice
│   │   ├── Alice1.jpg
│   │   ├── Alice2.jpg
│   ├── Bob
│   │   ├── Bob.jpg

效果展示

人脸识别重量级产品,轻量级人脸识别教程

人脸情感分析

人脸识别重量级产品,轻量级人脸识别教程

视频人脸分析

相关问题,欢迎留言提问;欢迎大家点赞、关注、收藏~