face recognition视觉库使用一:在linux和Windows环境下进行环境资源配置
Face recognition是一个简易的进行封装的人脸识别库,利用dlib库用深度学习的方法建立的人脸识别机制。其有封装完善,结构简单,使用方便等特点,方便开发人员及电子爱好者进行使用,方便一直到嵌入式平台上。
Face recognition的使用方法和一些例程可以从以下网址获得:
https://github.com/ageitgey/face_recognition
由于该库需要用到比较多的环境变量,再次做个简单的介绍,方便今后进行配置和使用,也罗列出Windows上移植成功的案列以供参考。
基于Linux的环境安装
在这里先简要介绍下face recognition需要安装的库:
1.python
2.(可选)opencv(方便调试使用,也可用作简单的摄像头打开和其他图像处理)
3.boost
4.dlib
其余全为可选项,为了使用方便笔者使用了anaconda进行了环境安装,方便许多环境包的加载和管理。
anaconda安装
anaconda官方网站:https://www.anaconda.com/download/
点击其中的linux版本进行下载,在下载根目录打开控制台,输入如下命令进行安装:
bash Anaconda2-4.4.0-Linux-x86_64.sh
在安装完成后需要将anaconda的python环境变量设置为默认环境变量,需要进行如下步骤:
1.在终端输入
sudo gedit /etc/profile
打开profile文件。
2.在文件末尾添加一行:
export PATH=/home/grant/anaconda2/bin:$PATH
其中,将“/home/grant/anaconda2/bin”替换为你实际的安装路径。保存。
至此,anaconda的环境变量已经安装完毕。
Opencv安装(基于anaconda)
在anaconda环境下安装opencv相对简单,没有复杂的操作步骤,只需要在控制台输入如下指令就能安装完毕:
conda install opencv
或者可以输入:
conda install -c menpo opencv3=3.1.0
来完成opencv的安装,若想卸载opencv只需要将install指令换为uninstall即可卸载。
boost安装
在Lunix环境下安装boost较为简单,由于在python环境下进行使用,只需要输入如下命令就可以完成安装:
pip install boost
boost为dlib安装的前置库,必须要安装!
dlib以及Face recognition安装
在Lunix环境下由于预先配置好了cmake,所以可以直接进行安装face recognition,因为face recognition库会自动安装dlib,输入如下命令即可完成安装:
pip install face_recognition
至此为止,在Linux环境下配置Face recognition已经成功,请尽情使用。
基于Windows的环境安装
在Windows环境下安装就相对繁琐一些,由于Windows没有cmake等工具,以及需要自己手动添加环境变量,作者使用的Win10 64位系统,安装成功,测试没问题,给广大使用者提供一个参考。
anaconda安装
在anaconda网站上下载Windows对应自己系统版本的软件安装包,进行安装即可。
Opencv安装
http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
该网站提供了一些非官方的环境变量包,下拉到其中的opencv部分,下载对应版本的whl文件。
在该whl文件的目录下进入cmd,输入如下指令,进行opencv的安装:
pip install opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl
其中“opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl”为笔者下载的版本,可以根据需求填写自己下载的安装包。
Boost安装
Windows版本下的boost安装较为繁琐,需要手动编译以及添加环境变量。
首先请确保你的电脑装上了visual studio,因为boost是基于C++的库,需要visual studio的编译环境来进行编译。
然后再一下网址获取boost:
http://www.boost.org/users/history/
下载boost后需进行解压,然后进行下面的编译过程:
1.打开visual studio的开发者工具:
2.进入你所下载的boost目录,执行如下语句:
bootstrap.bat
(如有出错,请参考这篇博客:http://blog.youkuaiyun.com/tina_zhou3/article/details/50595636)
3.进行环境编译,输入:
.\b2 -a --with-python address-model=64 toolset=msvc runtime-link=static
(注:address-mode后为python的版本,作者为64位版本)
4.等待编译完成,将相对应的目录添加进环境变量:
(右击我的电脑->属性->高级系统设置->高级选项卡->环境变量)
在系统变量中添加两个路径:
BOOST_LIBRARYDIR=C:\Program Files (x86)\boost_1_65_1\stage\lib(对应boost目录下的lib文件夹)
BOOST_ROOT=C:\Program Files (x86)\boost_1_65_1(对应boost根目录)
至此为止,python环境下的boost就安装完毕了。
*dlib以及Face recognition安装
在Windows环境下由于没有cmake,所以需要预先安装cmake才能对dlib进行安装,可以在如下网站获取Windows版本的cmake:
https://cmake.org/
(注:在安装的过程中需要将cmake环境添加进所有用户的path才能够进行后续的操作)
在安装完cmake之后就可以进行dlib和face recognition的安装了,其步骤和Linux版本的一样,输入如下命令即可安装完成:
pip install face_recognition
在等待安装完毕之后就可以使用了,可以在python下输入如下命令测试是否安装成功:
import dlib
import face_recognition
若不报错,那么恭喜你,环境已经安装成功了!
简易的测试
为了检验是否完全安装成功,可以复制如下代码进行测试:
# -*- coding: utf-8 -*-
"""
Created on Sat Sep 23 21:15:42 2017
@author: Romji
"""
import face_recognition
import cv2
import sys
def face_reg(file):
# 读取图片并识别人脸
img = face_recognition.load_image_file(file)
face_locations = face_recognition.face_locations(img)
print(face_locations)
# 调用opencv函数显示图片
img = cv2.imread(file)
cv2.imshow("原图", img)
# 遍历每个人脸,并标注
faceNum = len(face_locations)
for i in range(0, faceNum):
top = face_locations[i][0]
right = face_locations[i][1]
bottom = face_locations[i][2]
left = face_locations[i][3]
start = (left, top)
end = (right, bottom)
color = (55,255,155)
thickness = 3
cv2.rectangle(img, start, end, color, thickness)
# 显示识别结果
cv2.imshow("识别", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
if __name__ == '__main__':
filename = sys.argv[1]
face_reg(filename)
将程序保存为test.py,在程序根目录下保存一张图片进行测试(假设保存的为1.jpg)
进入目录输入python test.py 1.jpg,即可看到效果。
测试图
可以看到,效果还是非常不错的。