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.  测试

  • 读取图片-人脸检测

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

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

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

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

ubuntu14.04配置face_recognition环境的更多相关文章

  1. Ubuntu14.04配置gcc4.4.4+Qt4.8.4交叉编译环境

    安装32位程序运行支持 sudo apt-get install lib32stdc++6 lib32z1 lib32ncurses5 lib32bz2-1.0 可能报错: lib32stdc++6 ...

  2. Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

    Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04  配置参考文献 ---- Wang Xiao Warning: Please make sure the cud ...

  3. Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

    Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04  配置参考文献 ---- Wang Xiao  Anhui University  CVPR ...

  4. ubuntu14.04建立交叉编译环境, 注意事项

    ubuntu14.04建立交叉编译环境, 注意事项 ~$ arm-linux-gcc/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: e ...

  5. ubuntu16.04配置java环境(重启后不会失效)

    ubuntu16.04配置java环境(重启后不会失效) 1.jdk的安装包(.tar.gz)拷贝到/opt目录下 mv jdk-8u144-linux-x64.tar.gz /opt 2.解压文件 ...

  6. ubuntu14.04 配置网络

    ubuntu14.04 配置网络的练习 本文参考的资料: https://blog.csdn.net/liu782726344/article/details/52912797. 感谢作者的分享! 打 ...

  7. ubuntu14.04配置中文latex完美环境(texlive+texmaker+lyx)

    Ubuntu下的文档编辑虽然有libreoffice,但对中文和公式的排版始终不如ms office,因此要想写出高质量的文档,只能靠latex了,现在随着xeCjk的开发,中文文档在ubuntu下的 ...

  8. ubuntu14.04 配置android studio环境

    二.复制所需的文件到ubuntu 2.1.如果你还没有linux版本的android studio.sdk.jdk请先下载所需文件,我已经上传到百度网盘了 下载地址: android studio-l ...

  9. Ubuntu14.04配置Mono+Jexus

    总所周知,ASP.NET是微软公司的一项技术,是一个网站服务端开发的一种技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们,就是所谓动态网站开发,它依赖运行于 IIS 之中的程序 .但 ...

随机推荐

  1. MySQL的主从分离基本配置

    1.介绍 MySQL数据库设置读写分离,可以使对数据库的写操作和读操作在不同服务器上执行,提高并发量和响应速度.现在的网站一般大点的,都采用有数据库主从分离.读写分离,既起到备份作用也可以减轻数据库的 ...

  2. Linux设备树(二 节点)

    二 节点(node)的表示 首先说节点的表示方法,除了根节点只用一个斜杠“/”表示外,其他节点的表示形式如“node-name@unit-address”.@前边是节点名字,后边是节点地址.节点名字的 ...

  3. Python网络编程之socket编程

    什么是Socket? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面 ...

  4. bzoj2434 fail树 + dfs序 + 树状数组

    https://www.lydsy.com/JudgeOnline/problem.php?id=2434 打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母.经阿狸研究发现, ...

  5. 2017-12-14python全栈9期第一天第六节之用户交互

    9,用户交互.input 1,等待输入, 2,将你输入的内容赋值给了前面变量. 3,input出来的数据类型全部是str 10,基础数据类型初始.数字:int 12,3,45 + - * / ** % ...

  6. JavaSE_坚持读源码_Object对象_Java1.7

    /** * Returns a hash code value for the object. This method is * supported for the benefit of hash t ...

  7. zookeeper的搭建和简单的使用

    一.什么是zookeeper,有什么用 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据 ...

  8. 清理sql2012数据库日志

    --1.先把数据库设置为简单模式(右击数据库名->点'属性'->点'选项'->恢复模式改成'简单'->点'确定'按钮,--2.再执行下面的语句(或者右击数据库点'任务'-> ...

  9. 解决composer出错的原因

    1.执行了php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" 2.出 ...

  10. Web前端框架与移动应用开发第八章

    Web前端框架与移动应用开发:制作58招聘专题页 1.html代码: <!DOCTYPE html><html><head> <meta charset=&q ...