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 ...
随机推荐
- DevOps之技能面
<教学手册(Teaching Manual)> 教学:人类培养态度.传授知识.训练技能的活动.教学目的:知识与技能的层次:(了解.理解.熟悉.掌握.精通).教学手段:理论与实践的方面:(科 ...
- Sql Server中的游标最好只用于有主键或唯一键的表
游标cursor,我想大多数人都在sql server里面用过.当一个表数据量不太大的时候,游标还是可以用的,毕竟游标是循环一个表中每一行数据的最简便办法.但是如果你用一个游标去循环一个没有主键或唯一 ...
- windows10移动热点打开后手机不能上网
电脑的win10操作系统自带有移动热点功能,可以共享上网,类似于手机的热点功能.今天在共享时遇到一些问题,现在解决了分享一下. 如果本身电脑无法上网,即wlan上网功能无效,有可能是驱动不兼容,可以在 ...
- (笔记)MySQL 之 Metadata Locking 研究(5.5版本)
MySQL5.5 中引入了 metadata lock. 顾名思义,metadata lock 不是为了保护表中的数据的,而是保护 database objects(元数据)的.包括表结构.sch ...
- 数值分析 最小二乘 matlab
1. 已知函数在下列各点的值为 -1 -0.75 -0.5 0 0.25 0.5 0.75 1.00 0.8125 0.75 1.00 1.3125 1.75 2.3125 分别用一次.二次. ...
- Sqlite的安装和简单使用
Sqlite 1 安装 首先,下载相应的版本: https://sqlite.org/download.html 其次,解压到本地,并添加到环境变量. 然后,打开 CMD 创建,输入 sqlite3 ...
- BZOJ 2761 不重复数字 set
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2761 题目大意: 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出 ...
- iosclient发现_世界杯送流量活动项目总结
世界杯如火如荼的进行.视频站点相似于门户站点.须要高速依据外部环境更新内容. 产品经理须要策划活动,并安排实施.这个活动就是在这样背景下产生的,爱奇艺与运营商合作,实现双赢.爱奇艺能够通过运营商 ...
- windows下mysql和linux下mysql主从配置
1. linux下mysql安装版本5.6 windows下mysql版本5.7 不要问我为什么版本不一致 就是想这么搞 2. linux为主服务器 windows为从服务器 3.找到li ...
- linux 查看安装软件位置(持续跟新)
1.rpm包形式(包括yum安装)可以rpm -aq|grep http #查看是否安装了apache的包rpm -qi 输入上一步获取的包名 #了解一下这个apache包的信息rpm -ql 输入包 ...