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(默認版本)
1 git clone https://github.com/davisking/dlib.git //Clone the code from github 2 cd dlib 3 mkdir build 4 cd build 5 cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1 //以AVX指令的方式編譯dlib 6 cmake --build . 7 cd .. 8 sudo python setup.py install --yes USE_AVX_INSTRUCTIONS --no DLIB_USE_CUDA
注:最后一步需要等待一些時間。如果使用python3.x版本,最后一步命令python改為python3
版本2(版本1不成功,請試下版本2)
1 git clone https://github.com/davisking/dlib.git //Clone the code from github 2 cd dlib 3 mkdir build 4 cd build 5 cmake .. //以默認方式(SSE41指令)編譯dlib 6 cmake --build . 7 cd .. 8 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,通過了。。。沒有報錯。。。然后我並沒有進行其他操作。
注意:后期運行程序時,發現報了這個問題,但並不耽誤使用,請看截圖:

Q2:在安裝face_recognition時遇到一個問題:“from pkg_resources import resources_filename”,往前翻,發現需要安裝一個distributed包,這里pip裝了一下:“pip install distributed”,裝完重新運行python,執行import face_recognition,執行成功。
