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. Java Web 开发必须掌握的三个技术:Token、Cookie、Session

    在Web应用中,HTTP请求是无状态的.即:用户第一次发起请求,与服务器建立连接并登录成功后,为了避免每次打开一个页面都需要登录一下,就出现了cookie,Session. Cookie Cookie ...

  2. 关键字(4):grant授权/revoke回收权限

    单表授权 grant select , insert, update, delete on 表名 to 被授权用户名; grant select , insert, update, delete, r ...

  3. Java基础super关键字、final关键字、static关键字、匿名对象整理

    super关键字 10.1子父类中构造方法的调用 public class Test { public static void main(String[] args) { new Zi(); } } ...

  4. Linux最常用的基础命令

    Linux最常用的基础命令个人总结 计算机基础知识: 32bit和64bit系统的区别.系统运行机制 32bit=内存的最大寻址空间是2**32,也就是说最大只能使用4GB的内存64bit=内存的最大 ...

  5. Centos 7最小化InfluxDB部署

    配置源 [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.influxdata.com ...

  6. Centos 7最小化安装部署PostgreSQL

    安装 sh-4.2# yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-ce ...

  7. springboot 日志【转】【补】

    市面上的日志框架 日志门面 (日志的抽象层) 日志实现 JCL(Jakarta Commons Logging)(2014) SLF4j(Simple Logging Facade for Java) ...

  8. OPCServer:使用KEPServer

    实际OPCServer使用(450M,中文,破解时间限制):KEPServer V6,百度网盘 ,密码: ykj2 本文为Java实现OPC通信的一部分 KEPServer中文官网 KEPServer ...

  9. http 动态路由

    main.go package main import ( "fmt" "http2/comm" "http2/test" "ne ...

  10. elasticsearch基本概念与查询语法

    序言 后面有大量类似于mysql的sum, group by查询 elk === elk总体架构 https://www.elastic.co/cn/products Beat 基于go语言写的轻量型 ...