关闭

基于Python的开源人脸识别库:离线识别率高达99.38%

标签: 深度学习人脸识别python
17152人阅读 评论(13) 收藏 举报
分类:

项目地址:https://github.com/ageitgey/face_recognition#face-recognition

本文的模型使用了C++工具箱dlib基于深度学习的最新人脸识别方法,基于户外脸部数据测试库Labeled Faces in the Wild 的基准水平来说,达到了99.38%的准确率。

dlibhttp://dlib.net/

数据测试库Labeled Faces in the Wild:http://vis-www.cs.umass.edu/lfw/

模型提供了一个简单的 face_recognition 命令行工具让用户通过命令就能直接使用图片文件夹进行人脸识别操作。

特征

在图片中捕捉人脸

在一张图片中捕捉到所有的人脸

找到并处理图片中人脸的特征

找到每个人眼睛、鼻子、嘴巴和下巴的位置和轮廓。

import face_recognition

image = face_recognition.load_image_file("your_file.jpg")

face_locations = face_recognition.face_locations(image)

捕捉脸部特征有很重要的用途,当然也可以用来进行图片的数字美颜digital make-up(例如美图秀秀)

digital make-up:https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py

识别图片中的人脸

识别谁出现在照片里

安装步骤

本方法支持Python3/python2,我们只在macOSLinux中测试过,还不知是否适用于Windows

使用pypipip3 安装此模块(或是Python 2pip2

重要提示:在编译dlib时可能会出问题,你可以通过安装来自源(而不是pip)的dlib来修复错误,请见安装手册How to install dlib from source

https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf

通过手动安装dlib,运行pip3 install face_recognition来完成安装。

使用方法命令行界面

当你安装face_recognition,你能得到一个简洁的叫做face_recognition的命令行程序,它能帮你识别一张照片或是一个照片文件夹中的所有人脸。

首先,你需要提供一个包含一张照片的文件夹,并且你已经知道照片中的人是谁,每个人都要有一张照片文件,且文件名需要以该人的姓名命名;

然后你需要准备另外一个文件夹,里面装有你想要识别人脸照片;

接下来你只用运行face_recognition命令,程序能够通过已知人脸的文件夹识别出未知人脸照片中的人是谁;

针对每个人脸都要一行输出,数据是文件名加上识别到的人名,以逗号分隔。

如果你只是想要知道每个照片中的人名而不要文件名,可以进行如下操作:

Python模块

你可以通过引入face_recognition就能完成人脸识别操作:

API 文档https://face-recognition.readthedocs.io.

在图片中自动识别所有人脸

请参照此案例this example: https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py

识别图片中的人脸并告知姓名

请参照此案例this example: https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py

Python代码案例

所有例子在此 here.

https://github.com/ageitgey/face_recognition/tree/master/examples

·找到照片中的人脸Find faces in a photograph

https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py

· 识别照片中的面部特征Identify specific facial features in a photograph

https://github.com/ageitgey/face_recognition/blob/master/examples/find_facial_features_in_picture.py

· 使用数字美颜Apply (horribly ugly) digital make-up

https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py

·基于已知人名找到并识别出照片中的未知人脸Find and recognize unknown faces in a photograph based on photographs of known people

https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py

人脸识别方法的原理

如果你想学习此方法的人脸定位和识别原理,请参见read my article。

https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78

注意事项

· 本人脸识别模型仅限用于成人,对于儿童来说效果不佳,模型可能会由于使用默认的对比阈值(0.6)而无法清楚识别出儿童的脸。

3
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

7行Python代码的人脸识别

随着去年alphago 的震撼表现,AI 再次成为科技公司的宠儿。AI涉及的领域众多,图像识别中的人脸识别是其中一个有趣的分支。百度的BFR,Face++的开放平台,汉王,讯飞等等都提供了人脸识别的A...
  • wireless_com
  • wireless_com
  • 2017-03-20 08:41
  • 33016

利用Python、openCV打造自己的人脸识别AI系统

Get your hands dirty              如果要真正理解一个东西,我们必须要能够把它创造出来。动手去做,永远比被动地听有用。本文介绍了我自己动手做的一种基于卷积神经网络的人脸...
  • weixin_37554177
  • weixin_37554177
  • 2017-06-06 16:27
  • 7003

python人脸识别

python是一种简单实用的脚本语言,实用python可以快速进行图像方面的操作,比如图片的识别,下面的教程会教你一步一步用python写出识别人脸和追踪动态物体的小程序 1.1开发环境搭建 1.1....
  • qq_26010491
  • qq_26010491
  • 2017-04-09 21:15
  • 2955

Python-OpenCV人脸检测(代码)

做人脸识别,首先要检测出图片/视频中的人脸,今天就研究了一下OpenCV的Python接口,把常用的一些功能模块写成函数。基于Python-OpenCV以及PIL,实现图片中人脸的检测以及截取保存、眼...
  • u012162613
  • u012162613
  • 2015-02-05 09:04
  • 28998

python人脸识别

代码Talk is cheap, show you the code! 代码参考自:这里无注释版:import cv2 faceClassifier=cv2.CascadeClassifier('h...
  • linzch3
  • linzch3
  • 2017-03-20 17:35
  • 519

人脸识别(2)--Python3.6+OpenCV3.2识别实例

这里提供两个简单实例: 调用摄像头获取图片进行实时检测 本地获取图片进行人脸检测并保存图片 前提条件: 确保python+opencv环境已经搭建成功。搭建步骤可以参考上一篇博客:http://bl...
  • u012842255
  • u012842255
  • 2017-04-16 11:59
  • 4045

【人脸识别】人脸验证算法Joint Bayesian详解及实现(Python版)

本文主要是针对[Bayesian Face Revisited: A Joint Formulation][3] 这篇文章的笔记。这篇论文仅通过LBP跟Joint Bayesian这两个方法结合,就把...
  • cyh24
  • cyh24
  • 2015-10-12 00:54
  • 28617

OpenCV+python 人脸识别

首先给大家推荐一本书:机器学习算法原理与编程实践 本文内容全部转载于书中,相当于一个读书笔记了吧绪论1992年麻省理工学院通过实验对比了基于结构特征的方法与基于模版匹配的方法,发现模版匹配的方法...
  • wangyaninglm
  • wangyaninglm
  • 2016-06-23 17:51
  • 8434

Python + OpenCV 实现简单的人脸识别

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

python一行代码实现人脸识别

我是在鸟哥私房菜的网站中看到这篇文章,觉得很有趣,所以和大家一起分享: http://www.linuxidc.com/Linux/2017-10/148126.htm 实现人脸识别之前,我们...
  • chenjuan0530
  • chenjuan0530
  • 2017-11-08 10:21
  • 479
    个人资料
    • 访问:239482次
    • 积分:4201
    • 等级:
    • 排名:第8496名
    • 原创:105篇
    • 转载:122篇
    • 译文:7篇
    • 评论:63条
    最新评论