由于某种不可抗力(又是它!)我写了这篇博客,主要目的是记录。

face_recognition是啥子?

face_recognition号称世界上最简单的人脸识别库,可使用 Python 和命令行进行调用。该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wild benchmark)上的准确率高达 99.38%。也提供了一个简单的face_recognition命令行工具,可以让你从命令行对图像文件夹进行脸部识别!

简单来说,主要实现以下几个功能:

  • Find faces in pictures
  • Find and manipulate facial features in pictures
  • Identify faces in pictures

这里是GitHub主页及文档:

环境配置

readme有提到:

  • Python 3.3+ or Python 2.7
  • macOS or Linux (Windows not officially supported, but might work)
  • dlib already installed with Python bindings

这里提一下第三点,意思是你的dlib库要安装Python模块。

  1. Python&pip环境:

    Mac自带Python2.7.10,这个不管,安装Python3可以用brew install python,默认安装Python3(带pip3)

    如果用Python2的话是不会带pip的,因为后面需要用所以得安装pip2,使用sudo easy_install pip安装,这里记住一定要用sudo权限。
Searching for pip
Reading https://pypi.python.org/simple/pip/
Best match: pip 10.0.1

pip的安装会自动匹配适合你的系统的版本,安装好之后可以查看一下pip信息:

localhost:~ mac$ pip --version
pip 10.0.1 from /Library/Python/2.7/site-packages/pip-10.0.1-py2.7.egg/pip (python 2.7)
  1. 安装dlib

    我是用gitclone安装的:

    git clone https://github.com/davisking/dlib.git

    下载之后按照步骤安装即可(没有cmake百度安装):
cd dlib/examples
mkdir build
cd build
cmake ..
cmake --build . --config Release



到这里只是安装好了默认的C++库,我们还需要安装Python模块:

cd dlib
sudo python setup.py install
python
import dlib



注意一定要进Python里面import:



完事之后重启一下终端。

  1. 安装face_recognition

    用pip安装(install this module from pypi using pip3 (or pip2 for Python 2))

    pip2 install face_recognition

    我默认环境是Python2,我就用pip2了。

    然后就是等待,速度很慢,并且……



    ???下的慢也有错我也是无语了,这个问题的解决办法有两个:
  • 加长超时时间:pip --default-timeout=100 install -U pip
  • 修改源(换成国内源):临时源,使用参数-i:pip2 install face_recognition -i https://pypi.tuna.tsinghua.edu.cn/simple

    先是使用了第一个方法,每秒几十K,还是超时了,所以建议大家直接用第二个办法,指定临时源,清华的超快!



    别高兴的太早,看到红色部分的报错了吗?Permission Denied(拒绝访问),原因是在安装pillow的时候没有权限,所以我建议在安装之前使用sudo或者再后面添加--user(表示只是本用户安装)



    看到Successfully installed Click-6.7 face-recognition-1.2.2 face-recognition-models-0.3.0这就没错了。

    check一下,使用命令行:



    ENJOY!!!!

测试

下面我们来进行测试,按照readme实例,我们新建两个文件夹,一个放需要识别的人,一个放我们认识的人。



我们在命令行中输入命令:

face_recognition ./known_people/ ./unknown_people/

等待几秒钟:



成功!

后面我又测试了几组,发现这个API对亚洲人种的识别并不是非常精确。

参考资料

face_recognition环境配置及命令行工具测试的更多相关文章

  1. Maven环境配置及命令行打包

    一配置环境变量 下载 apache-maven-3.2.5压缩包解压到本地  F:\apache-maven-3.2.5 配置MAVEN_HOME环境变量F:\apache-maven-3.2.5如图 ...

  2. Zookeeper在Linux平台Java开发环境配置(命令行)

    1.安装必要软件 首先需要安装ant, automake, autoconf, cppunit.在ubuntu上可以直接用apt-get install安装 2.Build Zookeeper 切换到 ...

  3. django环境配置(基于命令行安装)

    一.django简介 Python服务端开发框架,Django是一个开放源代码的Web应用框架,由Python写成,Django采用了MVC的软件设计模式,即模型M,视图V和控制器C 二.安装配置dj ...

  4. Node.js躬行记(3)——命令行工具

    一.自定义 创建一个空目录,然后通过npm init命令初始化package.json文件,并按提示输入相关信息或直接回车使用默认信息,生成的内容如下所示. { "name": & ...

  5. Cygwin(类UNIX模拟环境)&CURL(强大的http命令行工具)

    前言: 需要我用curl试下能否发送post请求调起公司的仿真系统(目前) 跟着大佬的脚步,亲测一把~ 感谢大佬的提供的博客和指导 @咩神 个人博客园及来源地址 Cygwin(类UNIX模拟环境) 一 ...

  6. Cmder命令行工具在Windows系统中的配置

    一.Cmder简介 Cmder:一款用于Windows系统中,可增强传统cmd命令行工具的控制台模拟器(类似于Linux系统中的终端控制窗口) 特点: 无需安装,解压即用 可使用较多Linux命令,如 ...

  7. Windows命令行工具cmder配置

    简介 cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 下载 官网地址:http://cmder.net/ 下载的时候,会有 ...

  8. 《Java从入门到失业》第二章:Java环境(三):Java命令行工具

    2.3Java命令行工具 2.3.1编译运行 到了这里,是不是开始膨胀了,想写一段代码来秀一下?好吧,满足你!国际惯例,我们写一段HelloWorld.我们在某个目录下记事本,编写一段代码如下: 保存 ...

  9. 九款命令行工具助力Linux环境下的数据分析

    对于大多数熟悉了图形工作环境的朋友来说,电子表格工具无疑是第一选项.但命令行工具同样能够更快更高效地解决问题——且只须稍微学习即可上手. 大部分此类工具冻严格局限于Linux,而多数可同样运行在Uni ...

随机推荐

  1. python学习笔记——python JSON

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. 1.JSON 函数 使用 JSON 函数需要导入 json 库:import json ...

  2. Linux nohup命令应用简介--让Linux的进程不受终端影响

    nohup命令应用简介--让Linux的进程不受终端影响 by:授客 QQ:1033553122   #开启ping进程 [root@localhost ~]# ping localhost & ...

  3. Android 机器人项目Pepper_Android

    github地址:https://github.com/ohwada/Pepper_Android

  4. Android--字符串和16进制相互转化(解决中文乱码)

    import java.io.ByteArrayOutputStream; /** * Created by Administrator on 2016/2/2. * -----------16进制和 ...

  5. Android比较实用的性能优化

    Android设备作为一种移动设备,无论是内存还是CPU的性能都受到了很大的限制,这导致Android程序的性能问题异常突出,随着产品的不断更新迭代,对于性能优化提出了更高的要求.本篇文章从稳定性.流 ...

  6. Google Play内购测试

    Google Play内购测试 最近项目做海外版本,接入Google wallet支付后,测试验证比较繁琐,故记录一下. Google wallet支付方式接入完成后,需要按照如下步骤设置,才可以进行 ...

  7. 从零自学Java-2.初步理解Java程序使如何工作的

    1.学习Java应用程序是如何工作的 2.构成一个应用程序 3.向应用程序传递参数 4.学习Java程序是如何组织的 5.在应用程序中创建一个对象 程序Root:输出225的正平方根 package ...

  8. Prometheus Node_exporter 之 Network Netstat UDP

    Network Netstat UDP /proc/net/snmp 1. UDP In / Out type: GraphUnit: shortLabel: Datagrams out (-) / ...

  9. Linux开启和关闭防火墙

    一.即时生效,重启后失效: 1.启动:service iptables start 2.关闭:service iptables stop 二.重启后永久生效: 1.启动:chkconfig iptab ...

  10. excel如何冻结首行或首列及首行首列同时冻结

    冻结首行方法: 首先选择首行,在菜单栏选择视图菜单,再选择冻结窗格下拉三角里的冻结首行即可. 效果如下:拖动垂直滚动条 冻结首列方法: 首先选择首列,在菜单栏选择视图菜单,再选择冻结窗格下拉三角里的冻 ...