选自Github
机器之心的编译
参与:薛璐
只有Python和命令行才能实现人脸识别库的开源。数据库由dlib顶尖的深度学习人脸识别技术构建,在户外人脸检测数据库基准上的准确率高达99.38%。
这个项目是建立一个免费、开源、实时、离线的在线app,支持组织者使用人脸识别技术或二维码识别所有被邀请的人。
通过世界上最简单的人脸识别库,你可以使用Python或命令行来识别和控制人脸。
数据库由dlib顶尖的深度学习人脸识别技术构建,在户外人脸检测数据库基准上的准确率高达99.38%。
这也提供了一个简单的face_recognition命令行工具。可以在命令行打开任何图像文件夹进行人脸识别!
地址:https://github.com/ageitgey/face _识别#人脸识别
功能
找出图片中的脸
找出下图中的所有面孔:
找到并勾勒出每个人的眼睛、鼻子、嘴巴和下巴。
识别每幅图片中的人物。
安装
要求:
3 pip3安装face_recognition重要提示:pip在尝试编译dlib依赖项时很可能会遇到一些问题。如果您遇到问题,请访问这个地址(https://gist.github.com/ageitgey/629D75C1BaAC 34 DFA 5a 2 a 1928 a 7 EAF)并从源代码安装dlib(而不是pip)来修复错误。
手动安装dlib后,再次运行pip3 install face_recognition完成安装。
如果您在安装时仍然有问题,您可以尝试预配置的虚拟机(https://medium.com/@ ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-VM-1d 97d 4 c 3 e 9 b)
使用
命令行界面

在安装face_recognition的时候,你会得到一个简单的命令行程序,叫做face_recognition,可以用来识别照片或者装满照片的文件夹中的人脸。
首先,你需要提供一个包含图片的文件夹,每张图片里的人你都认识。每个人都有一个图像文件,文件名是图片中人的名字:
$ face _ recognition。/我认识的人的照片/。/unknown _ pictures//unknown _ pictures/unknown . jpg,巴拉克·奥巴马每张脸的输出结果只有一行,由文件名和找到的人的名字组成,用逗号隔开。
Unknown_person是一张与“已知人物”文件夹中的任何照片都不匹配的面孔。
如果你只想知道每张照片里的人的名字,而不在乎文件名,那么你可以做以下事情:
$ face _ recognition。/我认识的人的照片/。/unknown _ pictures/| cut-d ','-f2如果你的电脑配备了多核CPU,你可以同时执行多个人脸识别任务。例如,如果您的系统有4个CPU核心,并且您可以同时使用这4个CPU核心,则在相同时间内处理的图像数量是原来的4倍。
如果您使用Python 3.4或更高版本,请传入-CPU
$ face _ recognition-CPU 4。/pictures _ of _ people _ I _ know/。/unknown _ pictures/还可以传入-CPU-1来使用系统中所有的CPU核。
Python模块
使用face_recognition模块,几行代码就能轻松控制人脸,好容易!
API文件的地址:https://face-recognition . readtheodocs . io
自动定位图像中人物的面部特征
Import _ recognition 图像人脸识别
导入人脸识别 S2/]注释
人脸识别模型是基于成人照片的训练,所以儿童照片的识别效果并不好。这种模式默认的对比阈值是0.6,容易混淆小孩的脸。
将模型配置到云主机(Heroku、AWS等。)
face_recognition所依赖的dlib是用C++语言编写的,因此将内置模型的app配置给Heroku或AWS等云托管提供商是非常复杂的。本次回购中有一个Dockerfile的例子,展示了如何在Docker容器中运行内置face_recognition模型的app(详见网站:https://www.docker.com/)。参考这个例子,您可以将这个模型配置到任何支持Docker图像的服务。
常见问题
问题:使用face_recognition或运行样本时出现非法指令(核心转储)。
解决方法:dlib需要在SSE4或AVX的支持下编译,但是你的CPU太老了,不支持编译。您需要修改如下所示的代码(https://github.com/ageitgey/face _识别/问题/11 #问题注释-287398611),然后重新编译dilb。
问题:运行时错误:不支持的图像类型,必须是8位灰度或运行相机样本时出现RGB图像。
解决方案:您的相机可能没有在OpenCV上正确设置。点击此处(https://github.com/ageitgey/face _认可/问题/21 #问题评论-287779524)了解更多信息。
问题:运行pip2 install face_recognition时出现内存错误。
解决方案:face_recognition_models文件对于您的可用pip缓存太大。尝试pip 2-no-cache-dir install face _ recognition解决这个问题。
问题:属性错误:“模块”对象没有属性“face _ recognition _ model _ v1”
解决方案:您安装的dlib版本太旧。您需要19.4或更高版本。请升级dlib版本。
问题:类型错误:im read()获得了意外的关键字参数“mode”
解决方案:您安装的scipy版本太旧。它需要0.17或更高版本。请升级scipy版本。








