您的位置:首页 > 运维架构 > Linux

face recognition视觉库使用一:在linux和Windows环境下进行环境资源配置

2017-09-23 21:23 1206 查看

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安装[/b]

在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.csdn.net/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,即可看到效果。




测试图




可以看到,效果还是非常不错的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: