zoukankan      html  css  js  c++  java
  • 配置面部数据增加的代码环境流程记录

    UPDATE:本文已被收录到原作者的GITHUB Wiki中:https://github.com/iacopomasi/face_specific_augm/wiki


    面部增加代码地址:

    https://github.com/iacopomasi/face_specific_augm

    论文原文:

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


    分4个小节叙述,建议概览一遍再从0开始按本文配置

    0.

    下面是配置过程,

    2017年4月23日

    在Linux Ubuntu 16.04LTS上安装

    首先安装Anaconda

    https://www.continuum.io/downloads

    下载后是一个.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 -c conda-forge matplotlib=2.0.0

    或者
    conda install matplotlib numpy scipy scikit-learn

    安装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 

  • 相关阅读:
    Cinema in Akiba(线段树)
    SGU
    632-掷骰子
    ZOJ
    nyoj 1129 Salvation(搜索)
    symbol table meaning
    C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)
    编译链接 C++
    while(cin.eof)出错 poj
    华为oj 购物单
  • 原文地址:https://www.cnblogs.com/QingHuan/p/6753440.html
Copyright © 2011-2022 走看看