配置面部數據增長的代碼環境流程記錄

UPDATE:本文已被收錄到原做者的GITHUB Wiki中:https://github.com/iacopomasi/face_specific_augm/wikihtml


 

面部增長代碼地址:python

https://github.com/iacopomasi/face_specific_augmgit

論文原文:github

http://www.openu.ac.il/home/hassner/projects/augmented_faces/shell


分4個小節敘述,建議概覽一遍再從0開始按本文配置

0.

下面是配置過程,bash

2017年4月23日app

在Linux Ubuntu 16.04LTS上安裝工具

 

 

首先安裝Anaconda測試

https://www.continuum.io/downloadsui

下載後是一個.sh文件,

使用bash ./*.sh安裝

 

此時conda並不能使用,

(conda是一種相似於homebrew或者pip的工具)

須要添加環境變量:

# 將anaconda的bin目錄加入PATH,根據版本不一樣,也多是~/anaconda3/bin echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc # 更新bashrc以當即生效 source ~/.bashrc

 

如今就可使用conda了,使用

which conda或者conda --version查看是否是安裝好了

 


 

1. 

咱們的第一個目標是配置原文中的:

Dependencies

使用conda來安裝,比挨個安裝快得多

conda install -n matplotlib numpy scipy scikit-learn

 

這裏可能會出現錯誤,試試



或者
conda install matplotlib numpy scipy scikit-learn

conda install -c conda-forge matplotlib=2.0.0

安裝Dlib:[1]

conda install -c menpo dlib=18.18

安裝opencv[3]

conda install -c menpo opencv3=3.2.0

這個命令行可能會更新,能夠去:https://anaconda.org/menpo/opencv3 看看最新的命令,或者手動下載

引用3中的博客,其中的命令行就已經失效了


 

2.

以上就安裝好了環境

 

而後

git clone https://github.com/iacopomasi/face_specific_augm.git

把代碼拷貝到本地,運行一個例子試試

python demo.py input/input_1.jpg

方式

報錯:ImportError: No module named _sysconfigdata_nd

解決:

sudo ln -s /usr/lib/python2.7/plat-*/_sysconfigdata_nd.py /usr/lib/python2.7/

報錯:ImportError: No module named math

其實出現連math模塊都沒有,就說明了不少問題,

這時候輸入python,命令行返回python運行環境是anaconda,可是再輸入

which python

返回的是

/usr/bin/python

也就是說,編譯器用的是anaconda的python,可是調用的各類模塊仍然是系統自帶的

 

這時候須要建立python的anaconda運行環境[4]

# 建立一個名爲python27的環境,指定Python版本是2.7(不用管是2.7.x,conda會爲咱們自動尋找2.7.x中的最新版本)
conda create --name python27 python=2.7

運行環境就建立好了,須要切換到運行環境裏:輸入

source activate python27

這時候再輸入which python查看版本,會顯示

/home/bert/anaconda2/envs/python27/bin/python

說明終於到達了anaconda的環境,

這時候再重複1.中的各類conda安裝

(conda本質上是包管理器,用anaconda的環境而不是系統自帶的環境,就是由於conda能夠方便的下載並配置各類包如numpy)

 

 另外:

1. 

若是環境變量出現了問題,好比在anaconda安裝的最後一步,沒有選擇添加環境變量(也就是路徑),能夠手動添加:

sudo gedit ~/.bashrc

在最後一行添加上

export PATH="~/anaconda2/bin:$PATH"

2.

# 查看當前環境下已安裝的包[2] conda list


# 刪除package conda remove -n python27 numpy
 

 

 

4.測試demo

 運行一個demo試一試:

python demo.py input/input_1.jpg

 發現出錯了,說

ValueError: too many values to unpack

因而根據

http://stackoverflow.com/questions/25504964/opencv-python-valueerror-too-many-values-to-unpack

進行修改,增長了一個下劃線,而後出現了新的錯誤

cv2.error: <PATH_TO_OPENCV>/opencv-3.2.0/modules/imgproc/src/imgwarp.cpp:4956: error: (-215) dst.cols < SHRT_MAX && dst.rows < SHRT_MAX && src.cols < SHRT_MAX && src.rows < SHRT_MAX in function remap

而後根據

https://github.com/iacopomasi/face_specific_augm/issues/3

應該是Opencv的版本問題,畢竟做者沒有在readme中說明他本身的詳細運行環境,只是說了用Linux

個人OpenCV版本是3.2.0

使用

conda install -c menpo opencv=2.4.11

安裝2.4的版本(我用了這個,親測能夠跑通代碼)

或者選擇

conda install -c menpo opencv3=3.1.0

均可以


 

萬事俱備,開始運行

輸入

python demo.py input/input_1.jpg

,通過噼裏啪啦的一行行跳躍,

 

搞定,去output文件夾下查看:

 

下面這是原圖:

下面是各類轉換後的圖片

 

以上就是完整的實驗過程

此次調代碼,配環境的過程真的是曲折無比ʕ •ᴥ•ʔ

總之,不能放棄啊~

睡一覺起來,可能就有了靈感~

加油!

 


 

Reference:

[1]  python下安裝dlib庫 http://blog.csdn.net/jhw_xf/article/details/53321272

[2]  Anaconda使用總結 http://www.jianshu.com/p/2f3be7781451

[3]  怎樣用conda安裝opencv http://www.cnblogs.com/MrLJC/p/4245925.html

[4]  Anaconda使用教程 http://www.afox.cc/archives/390 

相關文章
相關標籤/搜索