计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试

简介: 计算机视觉-图像处理入门(一):linux(ubuntu)配置Openface+测试

图像处理入门(一):linux(ubuntu)配置Openface+测试

至于为什么要写这么基础的东西,em....说多了都是泪TT...

linux配置Openface+测试

一、了解Openface:

官方文档:http://cmusatyalab.github.io/openface/setup/


二、我遇到的坑爹问题TT:

首先我使用的是比较新版的ubuntu系统,而问题就出现在它比较新!!!:

问题1: VirtualBox硬盘容量初始分配的时候没有分配足,总提示存储容量不够,如何扩展?

           我最开始分配了10GB(最后我给了100GB),有个什么更新没选,结果依赖还没装完就一堆错TTT.....

           万一你没分配足,可以看看这一篇:VirtualBox如何扩展虚拟机Ubuntu的硬盘容量?

问题2:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

             在ubuntu中我们使用sudo apt-get install 或者dpkg -i *.deb安装软件时,常常提示“有未能满足的依赖关系“, 这是因为当前软件源中依赖库的版本不满足软件的要求。

              解决办法:ubuntu安装软件时:有未能满足的依赖关系???

问题3:错误提示:E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用)。

               强制解锁,命令
               sudo rm /var/cache/apt/archives/lock

               sudo rm /var/lib/dpkg/lock


三、配置Openface前的准备工作:

(一):openface是一个基于深度神经网络的开源人脸识别系统。该系统基于谷歌的文章FaceNet: A Unified Embedding for Face Recognition and Clustering。openface是卡内基梅隆大学的 Brandon Amos主导的。

官方地址:http://cmusatyalab.github.io/openface/

代码:https://github.com/cmusatyalab/openface

(二):使用虚拟机virtualbox系统:Ubuntu 16 64位桌面操作系统,此处一定要记得初始分配硬盘大小要分配足,装系统的时候该勾选的要勾选上!!!我最开始分配了10GB(最后我给了100GB),有个什么更新没选,结果依赖还没装完就一堆错TTT.....

万一你没分配足,可以看看这一篇:VirtualBox如何扩展虚拟机Ubuntu的硬盘容量?

参考:http://cmusatyalab.github.io/openface/setup/

(三)Ubuntu切换root用户

最常用的是在命令前加上sudo,不过由于要用root的地方太多,这里我在打开终端后先用sudo -s再敲命令,如果还想进一步配置成打开系统就是root的话可以看看这篇文章:

参考文章:

http://blog.csdn.net/itas109/article/details/50679251


四、开始配置Openface:

(一):Python:Ubuntu 16.04桌面版自带python2.7 和3.5,这里推荐使用python3.5,python2.7将逐渐被淘汰,不过python2.7里可以不用管torch的安装,python3.5则不可以直接使用torch!

(二):安装必要的程序,可以用下面的批处理,也可以一个一个的进行安装。

1. sudo apt-get install build-essential -y  
2. sudo apt-get install cmake -y  
3. sudo apt-get install curl -y  
4. sudo apt-get install gfortran -y  
5. sudo apt-get install git -y  
6. sudo apt-get install libatlas-dev -y  
7. sudo apt-get install libavcodec-dev -y  
8. sudo apt-get install libavformat-dev -y  
9. sudo apt-get install libboost-all-dev -y  
10. sudo apt-get install libgtk2.0-dev -y  
11. sudo apt-get install libjpeg-dev -y  
12. sudo apt-get install liblapack-dev -y  
13. sudo apt-get install libswscale-dev -y  
14. sudo apt-get install pkg-config -y  
15. sudo apt-get install python-dev -y  
16. sudo apt-get install python-pip -y  
17. sudo apt-get install wget -y  
18. sudo apt-get install zip –y

(三)git,pip安装:

sudo apt-get install git
sudo apt install python-pip
为了不影响后面的操作可以:pip install --upgrade pip


(四)下载OpenFace代码:

git clone https://github.com/cmusatyalab/openface.git

(五)OpenCV安装:

opencv版本为2.4.11,下载地址:https://github.com/Itseez/opencv/archive/2.4.11.zip

编译参考:http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html

linux指令下载:

1. cd ~  
2. mkdir  -p src  
3. cd  src  
4. curl  -L https://github.com/Itseez/opencv/archive/2.4.11.zip -o ocv.zip
1. 解压:
2. unzip  ocv.zip
1. 编译:
2. cd  opencv-2.4.11  
3. mkdir  release  
4. cd  release  
5. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  
6. make  -j8  
7. make  install
1. 验证:
2. import cv2

(六)编译工具CMake:

sudo apt-get install cmake

(七)安装必要的库:

1. pip install numpy scipy pandas  
2. pip install scikit-learn scikit-image
1. .C++标准库安装
2. sudo apt-get install libboost-dev
3. sudo apt-get install libboost-python-dev
1. 安装依赖的 PYTHON库(在openface目录下安装!):
2. cd openface
3. sudo pip install -r requirements.txt
4. sudo pip install dlib
5. sudo pip install matplotlib

(八)安装 luarocks—Lua 包管理器,提供一个命令行的方式来管理 Lua 包依赖、安装第三方 Lua 包等功能:

sudo apt-get install luarocks

(九)安装 TORCH—科学计算框架,支持机器学习算法:

1. git clone https://github.com/torch/distro.git ~/torch --recursive
2. cd torch
3. bash install-deps
4. ./install.sh
1. 使 torch 设置的刚刚的环境变量生效
2. source ~/.bashrc

(十)安装依赖:

luarocks install $NAME, where $NAME is as listed below.


dpnn

nn

csvigo

cunn (使用CUDA)

fblualib  (仅为了训练DNN)

torchx  (仅为了训练DNN)

命令:

安装依赖的 LUA库

~/torch/install/bin/luarocks install dpnn

自选:

1. ~/torch/install/bin/luarocks install nn  
2. ~/torch/install/bin/luarocks install optim  
3. ~/torch/install/bin/luarocks install csvigo  
4. ~/torch/install/bin/luarocks install cunn  
5. ~/torch/install/bin/luarocks install fblualib  
6. ~/torch/install/bin/luarocks install torchx

验证是否安装依赖成功

   用th命令验证

(十一)安装dlib:

dlib v18.16下载地址:https://github.com/davisking/dlib/releases/download/v18.16/dlib-18.16.tar.bz2

1. 安装、编译:
2. mkdir -p ~/src  
3. cd ~/src tar xf dlib-18.16.tar.bz2  
4. cd dlib-18.16/python_examples  
5. mkdir build  
6. cd build  
7. cmake ../../tools/python  
8. cmake --build . --config Release  
9. cp dlib.so /usr/local/lib/python2.7/dist-packages
1. 验证:
2. import dlib

(十二)编译OpenFace代码:

1. python setup.py build
2. sudo python setup.py install


五、测试Openface:

(一)下载预训练后的数据:

1. sh models/get-models.sh
2. wget https://storage.cmusatyalab.org/openface-models/nn4.v1.t7 -O models/openface/nn4.v1.t7

(二)用compare.py(demo文件夹中)给出的示例检测两张脸的相近程度:

python demos/compare.py {3.jpg,4.jpg}

这里可能会遇到:could not convert string to float:

这样就可以了:python demos/compare.py {'1.jpg','2.jpg'}(1.jpg和2.jpg一定是和compare.py在一个目录下才行)

0b7cf1c69f1e0c6c9828d9a00a6da4c9_70.png

b3b755e1e114fdf8a79595ea974b4e3d_2018032920212426.jpg                             bf1d0cca9e527a36052ee0b52aa70518_201803292022161.jpg


下一篇:图像处理入门(二):初试人脸检测和Face图像处理


AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!

目录
相关文章
|
10天前
|
安全 Ubuntu Java
Linux配置使用篇
Linux配置使用篇
|
21天前
|
Linux 数据安全/隐私保护 Windows
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
30 0
|
22天前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
109 0
|
27天前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
36 0
|
27天前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
34 0
|
27天前
|
缓存 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
38 0
|
27天前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
49 1
|
27天前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
41 1
|
27天前
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
30 1
|
10天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4