Face Recognition 人脸识别


Face Recognition 人脸识别

译者注:

本项目face_recognition是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,特别是兼容树莓派系统。

为了便于中国开发者研究学习人脸识别、贡献代码,我将本项目README文件翻译成中文。

向本项目的所有贡献者致敬。

英译汉:同济大学开源软件协会 子豪兄Tommy

本项目是世界上最简洁的人脸识别库,你可以使用Python和命令行工具提取、识别、操作人脸。

本项目的人脸识别是基于业内领先的C++开源库 dlib中的深度学习模型,用Labeled Faces in the Wild人脸数据集进行测试,有高达99.38%的准确率。但对小孩和亚洲人脸的识别准确率尚待提升。

Labeled Faces in the Wild是美国麻省大学安姆斯特分校(University of Massachusetts Amherst)制作的人脸数据集,该数据集包含了从网络收集的13,000多张面部图像。

本项目提供了简易的face_recognition命令行工具,你可以用它处理整个文件夹里的图片。

安装

环境配置

    Python 3.3+ or Python 2.7
    macOS or Linux
    Windows并不是我们官方支持的,但也许也能用

不同操作系统的安装方法

在 Mac 或者 Linux上安装本项目

First, make sure you have dlib already installed with Python bindings:

第一步,安装dlib和相关Python依赖:

如何在macOS或者Ubuntu上安装dlib

Then, install this module from pypi using pip3 (or pip2 for Python 2):

pip3 install face_recognition

在 Mac 或者 Linux上安装本项目 2

修改你的pip镜像源为阿里镜像,然后使用

pip install face_recognition

可以自动帮你安装各种依赖,包括dlib。只是在安装dlib的时候可能会出问题,因为dlib需要编译,出现的问题一般是gcc或者g++版本的问题,所以在pip install face_recognition之前,可以通过在命令行键入

export CC=/usr/local/bin/gcc
export CXX=/usr/local/bin/g++  

来指定你gcc和g++对应的位置,(这两句话会临时修改当前终端的环境变量/usr/local/bin/gcc对应你自己gcc或者g++所在目录)。

在树莓派上安装

树莓派安装指南

在Windows上安装

虽然本项目官方并不支持Windows,但一些大神们摸索出了在Windows上运行本项目的方法:

@masoudr写的教程:如何在Win10系统上安装 dlib库和 face_recognition项目

使用Ubuntu虚拟机镜像文件安装配置虚拟机,本项目已经包含在这个镜像中

如何使用Adam Geitgey大神提供的Ubuntu虚拟机镜像文件安装配置虚拟机,本项目已经包含在镜像中(需要电脑中安装VMWare Player 或者 VirtualBox)

特性

从图片里找到人脸

定位图片中的所有人脸:

import face\_recognition
image \= face\_recognition.load\_image\_file("your\_file.jpg")
face\_locations \= face\_recognition.face\_locations(image)

识别人脸关键点

识别人脸关键点,包括眼睛、鼻子、嘴和下巴。

import face\_recognition
image \= face\_recognition.load\_image\_file("your\_file.jpg")
face\_landmarks\_list \= face\_recognition.face\_landmarks(image)

识别人脸关键点在很多领域都有用处,但同样你也可以把这个功能玩坏,比如本项目的 digital make-up自动化妆案例(就像美图秀秀一样)。

识别图片中的人是谁

import face\_recognition
known\_image \= face\_recognition.load\_image\_file("biden.jpg")
unknown\_image \= face\_recognition.load\_image\_file("unknown.jpg")

biden\_encoding \= face\_recognition.face\_encodings(known\_image)\[0\]
unknown\_encoding \= face\_recognition.face\_encodings(unknown\_image)\[0\]

results \= face\_recognition.compare\_faces(\[biden\_encoding\], unknown\_encoding)

你也可以配合其它的Python库(比如opencv)实现实时人脸检测:

看这个案例 实时人脸检测


文章作者: zsh
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zsh !
评论
  目录