Github项目地址:https://github.com/MiChongGET/face_collection

环境搭建

1.  环境

ubuntu14.04 LTS
python2.7
pip   注:ubuntu14.04自带python2.7.6和python3.4,因此不再重新安装python。我这里使用python2.7,但需要更新一下python 2.7至python2.x
命令如下:
  sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7
  sudo apt-get update
  sudo apt-get upgrade

2.    face_recognition简介

  基于face_recognition人脸识别库,实现人脸检测及人脸识别。face_recognition,使用dlib的最先进的人脸识别技术构建深度学习。该模型的准确率为99.38%。

3.  部署环境步骤

  • 人脸检测基于dlib,dlib依赖Boost和cmake
参考链接:https://github.com/ageitgey/face_recognition/issues/120
Installing Boost, Boost.Python, and X11 can be accomplished easily with
$ sudo apt-get install build-essential cmake
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libboost-all-dev 注:如安装失败,请sudo apt-get update后重试;另,可以更新源为国内源(阿里源or网易源)。

Installation of Cmake:(it tooks a while to install ~1.5 min)

1 sudo wget  https://cmake.org/files/v3.9/cmake-3.9.0-rc5.tar.gz -O cmake.tar.gz
2 sudo tar -xvf cmake.tar.gz
3 cd cmake-3.9.0-rc5/
4 sudo chmod +x bootstrap
5 sudo ./bootstrap
6 sudo make
7 sudo make install 注:安装好cmake后,输入cmake -version查看cmake版本是否安装成功。

pip installation

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py 注:安装完成后,终端输入pip -V查看pip版本是否安装成功。
注:如果使用python3.x版本,最后一步命令python改为python3
  • 下面通过手动编译dlib的方式进行安装dlib

版本1(默认版本)

 git clone https://github.com/davisking/dlib.git     //Clone the code from github
cd dlib
mkdir build
cd build
cmake .. -DDLIB_USE_CUDA= -DUSE_AVX_INSTRUCTIONS= //以AVX指令的方式编译dlib
cmake --build .
cd ..
sudo python setup.py install --yes USE_AVX_INSTRUCTIONS --no DLIB_USE_CUDA 注:最后一步需要等待一些时间。如果使用python3.x版本,最后一步命令python改为python3

版本2(版本1不成功,请试下版本2)

 git clone https://github.com/davisking/dlib.git  //Clone the code from github
cd dlib
mkdir build
cd build
cmake ..                        //以默认方式(SSE41指令)编译dlib
cmake --build .
cd ..
sudo python setup.py install
注:最后一步需要等待一些时间。如果使用python3.x版本,最后一步命令python改为python3
 

安装完成后,运行python,输入

import dlib

此时执行成功。

  • 安装face_recognition
$ sudo pip install face_recognition

注:需要加sudo,之前没有加,后期遇到权限不足的问题,加了sudo,问题解决,成功安装。

安装完成后,运行python,输入

import face_recognition

此时执行成功。

  • 安装opencv-python
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

注意,simple 不能少, 是 https 而不是 http

参考链接:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

测试:运行python,输入

import cv2

通过即导入opencv成功。

4.  测试

  • 读取图片-人脸检测

ubuntu14.04配置face_recognition环境-LMLPHP

  • 读取摄像头视频流-实时检测并识别人脸

ubuntu14.04配置face_recognition环境-LMLPHP

5.  遇到问题

Q1:在安装dlib的时候,用的是版本1,运行python,输入import dlib,遇到“Dlib was compiled to use AVX instructions, but these aren't available on your machine.”的问题,中文翻译“Dlib编译为使用AVX指令,但这些指令在您的机器上不可用。”。于是换用版本2,运行python,输入import dlib,又遇到“Dlib was compiled to use SSE41 instructions, but these aren't available on your machine.”的问题,中文翻译“Dlib编译为使用SSE41指令,但这些指令在您的机器上不可用。”。

于是网上各种查资料,大概意思是你的机器不支持这种指令的编译方式,(我的机器是服务器建立的虚拟机(ubuntu14.04LTS)),本以为虚拟机的原因不能运行程序,过了一会重新运行python,输入import dlib,通过了。。。没有报错。。。然后我并没有进行其他操作。

参考链接:https://stackoverflow.com/questions/49348999/dlib-was-compiled-to-use-sse41-instructions-but-these-arent-available-on-your

注意:后期运行程序时,发现报了这个问题,但并不耽误使用,请看截图:

ubuntu14.04配置face_recognition环境-LMLPHP

Q2:在安装face_recognition时遇到一个问题:“from pkg_resources import resources_filename”,往前翻,发现需要安装一个distributed包,这里pip装了一下:“pip install distributed”,装完重新运行python,执行import face_recognition,执行成功。

05-11 18:30