face_recognition环境配置及命令行工具测试
由于某种不可抗力(又是它!)我写了这篇博客,主要目的是记录。
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模块。
- 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)
- 安装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:

完事之后重启一下终端。
- 安装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
- face-recognition.readthedocs.io
- mac OSX下安装dlib (Python)
- Github近期最有趣的10款机器学习开源项目
- 更换pip源到国内镜像
- pip install Error - ReadTimeoutError
- mac下更新pip时提示OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/pip-8.0.2-py2.
face_recognition环境配置及命令行工具测试的更多相关文章
- Maven环境配置及命令行打包
一配置环境变量 下载 apache-maven-3.2.5压缩包解压到本地 F:\apache-maven-3.2.5 配置MAVEN_HOME环境变量F:\apache-maven-3.2.5如图 ...
- Zookeeper在Linux平台Java开发环境配置(命令行)
1.安装必要软件 首先需要安装ant, automake, autoconf, cppunit.在ubuntu上可以直接用apt-get install安装 2.Build Zookeeper 切换到 ...
- django环境配置(基于命令行安装)
一.django简介 Python服务端开发框架,Django是一个开放源代码的Web应用框架,由Python写成,Django采用了MVC的软件设计模式,即模型M,视图V和控制器C 二.安装配置dj ...
- Node.js躬行记(3)——命令行工具
一.自定义 创建一个空目录,然后通过npm init命令初始化package.json文件,并按提示输入相关信息或直接回车使用默认信息,生成的内容如下所示. { "name": & ...
- Cygwin(类UNIX模拟环境)&CURL(强大的http命令行工具)
前言: 需要我用curl试下能否发送post请求调起公司的仿真系统(目前) 跟着大佬的脚步,亲测一把~ 感谢大佬的提供的博客和指导 @咩神 个人博客园及来源地址 Cygwin(类UNIX模拟环境) 一 ...
- Cmder命令行工具在Windows系统中的配置
一.Cmder简介 Cmder:一款用于Windows系统中,可增强传统cmd命令行工具的控制台模拟器(类似于Linux系统中的终端控制窗口) 特点: 无需安装,解压即用 可使用较多Linux命令,如 ...
- Windows命令行工具cmder配置
简介 cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 下载 官网地址:http://cmder.net/ 下载的时候,会有 ...
- 《Java从入门到失业》第二章:Java环境(三):Java命令行工具
2.3Java命令行工具 2.3.1编译运行 到了这里,是不是开始膨胀了,想写一段代码来秀一下?好吧,满足你!国际惯例,我们写一段HelloWorld.我们在某个目录下记事本,编写一段代码如下: 保存 ...
- 九款命令行工具助力Linux环境下的数据分析
对于大多数熟悉了图形工作环境的朋友来说,电子表格工具无疑是第一选项.但命令行工具同样能够更快更高效地解决问题——且只须稍微学习即可上手. 大部分此类工具冻严格局限于Linux,而多数可同样运行在Uni ...
随机推荐
- python学习笔记——python JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. 1.JSON 函数 使用 JSON 函数需要导入 json 库:import json ...
- Linux nohup命令应用简介--让Linux的进程不受终端影响
nohup命令应用简介--让Linux的进程不受终端影响 by:授客 QQ:1033553122 #开启ping进程 [root@localhost ~]# ping localhost & ...
- Android 机器人项目Pepper_Android
github地址:https://github.com/ohwada/Pepper_Android
- Android--字符串和16进制相互转化(解决中文乱码)
import java.io.ByteArrayOutputStream; /** * Created by Administrator on 2016/2/2. * -----------16进制和 ...
- Android比较实用的性能优化
Android设备作为一种移动设备,无论是内存还是CPU的性能都受到了很大的限制,这导致Android程序的性能问题异常突出,随着产品的不断更新迭代,对于性能优化提出了更高的要求.本篇文章从稳定性.流 ...
- Google Play内购测试
Google Play内购测试 最近项目做海外版本,接入Google wallet支付后,测试验证比较繁琐,故记录一下. Google wallet支付方式接入完成后,需要按照如下步骤设置,才可以进行 ...
- 从零自学Java-2.初步理解Java程序使如何工作的
1.学习Java应用程序是如何工作的 2.构成一个应用程序 3.向应用程序传递参数 4.学习Java程序是如何组织的 5.在应用程序中创建一个对象 程序Root:输出225的正平方根 package ...
- Prometheus Node_exporter 之 Network Netstat UDP
Network Netstat UDP /proc/net/snmp 1. UDP In / Out type: GraphUnit: shortLabel: Datagrams out (-) / ...
- Linux开启和关闭防火墙
一.即时生效,重启后失效: 1.启动:service iptables start 2.关闭:service iptables stop 二.重启后永久生效: 1.启动:chkconfig iptab ...
- excel如何冻结首行或首列及首行首列同时冻结
冻结首行方法: 首先选择首行,在菜单栏选择视图菜单,再选择冻结窗格下拉三角里的冻结首行即可. 效果如下:拖动垂直滚动条 冻结首列方法: 首先选择首列,在菜单栏选择视图菜单,再选择冻结窗格下拉三角里的冻 ...