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,执行成功。

最新文章

  1. java初始化
  2. sass高级语法
  3. python面试题目
  4. SVG 2D入门12 - SVG DOM
  5. Log4net介绍
  6. 教程-Delphi中Spcomm使用属性及用法详解
  7. iOS NSDatePicker
  8. 容易被忽略的两个方法:onSaveInstanceState()和onRestoreInstanceState()
  9. shell之“>/dev/null 2>&1” 详解(转)
  10. jquery 验证框架的问题 remote的
  11. servlet上传文件报错(一)
  12. CareerCup它1.8 串移包括问题
  13. 第一章 Slenium2-Java 自动化测试基础
  14. [转]Gitlab-CI持续集成之Runner配置和CI脚本
  15. U盘文件被隐藏
  16. MySQL创建数据库指定字符集
  17. springcloud 入门 7 (zuul路由网关)
  18. Java 根据出生日期计算年龄
  19. python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
  20. Servlet中相对路径与绝对路径

热门文章

  1. go 定时器
  2. MySQL权限授权认证详解
  3. Hadoop ha CDH5.15.1-hadoop集群启动后,两个namenode都是standby模式
  4. twitter分布式主键id生成器
  5. layui(六)——upload组件常见用法总结
  6. sql关联更新
  7. React 记录(1)
  8. ACM-ICPC 2018 焦作赛区网络预赛 A Magic Mirror(签到)
  9. HDU - 6393 Traffic Network in Numazu(树链剖分+基环树)
  10. Linux命令(十二)制作静态库和共享库