Ubuntu 18.04 安装 OpenFace
在大多数系统上,您可以使用bash ./download_models.sh后跟sudo bash ./install.sh脚本安装 OpenFace 。
有关模型下载的更多详细信息,请参阅 - https://github.com/TadasBaltrusaitis/OpenFace/wiki/Model-acquisition
但是,鉴于我们很难访问 github 则需要一步步手动做。请参阅以下步骤:
依赖安装
OpenFace 需要 cmake、OpenCV 4.0.0(或更新版本)、OpenBLAS、dlib、C++17 编译器(tbb 和 boost 是可选的附加依赖项,如果存在,将使用)。
如果您已经有以下任何依赖项,则可以跳过这些步骤
1. 获取最新的 GCC,使用:
sudo apt-get updatesudo apt-get install build-essentialsudo apt-get install g++-8
请注意,如果在 Ubuntu 16.04 或更低版本上,在安装最新的 g++ 之前,您将需要以下几行:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -ysudo apt-get -y update
2. Cmake:
sudo apt-get install cmake
请注意,如果在 Ubuntu 16.04 或更低版本上,OpenFace 所需的 CMake 版本至少为 3.8,而 Ubuntu 16.04 apt-get 仅支持最高 CMake 3.5,要安装更新版本的 CMake,请执行以下操作:
sudo apt-get --purge remove cmake-qt-gui -y
sudo apt-get --purge remove cmake -y
mkdir -p cmake_tmp
cd cmake_tmp
wget https://cmake.org/files/v3.10/cmake-3.10.1.tar.gz
tar -xzvf cmake-3.10.1.tar.gz -qq
cd cmake-3.10.1/
./bootstrap
make -j4
sudo make install
cd ../..
sudo rm -rf cmake_tmp
3. 获取 OpenBLAS
sudo apt-get install libopenblas-dev
4. 下载并编译 OpenCV 4.1.0
4.1 安装OpenCV依赖:
sudo apt-get install ffmpeg
sudo apt-get install libgtk2.0-dev
如果libgtk2.0-dev安装出现错误:
The following packages have unmet dependencies:libgtk2.0-dev : Depends: libgdk-pixbuf2.0-dev (>= 2.21.0) but it is not going to be installedDepends: libpango1.0-dev (>= 1.20) but it is not going to be installedDepends: libcairo2-dev (>= 1.6.4-6.1) but it is not going to be installedDepends: libx11-dev (>= 2:1.0.0-6) but it is not going to be installedDepends: libxext-dev (>= 1:1.0.1-2) but it is not going to be installedDepends: libxinerama-dev (>= 1:1.0.1-4.1) but it is not going to be installedDepends: libxi-dev (>= 1:1.0.1-4) but it is not going to be installedDepends: libxrandr-dev (>= 2:1.2.99) but it is not going to be installedDepends: libxcursor-dev but it is not going to be installedDepends: libxfixes-dev (>= 1:3.0.0-3) but it is not going to be installedDepends: libxcomposite-dev (>= 1:0.2.0-3) but it is not going to be installedDepends: libxdamage-dev (>= 1:1.0.1-3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
可以使用 aptitude 来解决这些依赖项的问题:先回答 N 不接受当前的错误方案,后面回答 Y 就可以。
sudo apt install aptitude
sudo aptitude install libgtk2.0-dev
最后可以 sudo apt-get install libgtk2.0-dev 再检查下
sudo apt-get install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
4.2 从 https://github.com/opencv/opencv/archive/4.1.0.zip 下载 OpenCV 4.1.0
wget https://github.com/opencv/opencv/archive/4.1.0.zip
4.3 解压并创建build文件夹:
sudo unzip 4.1.0.zip
cd opencv-4.1.0
mkdir build
cd build
4.4 使用:
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_TIFF=ON -D WITH_TBB=ON ..
或者直接安装到 pkg-config:
sudo cmake -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_TIFF=ON -D WITH_TBB=ON ..sudo make -j2
sudo make install
5. 下载并编译 dlib:
wget http://dlib.net/files/dlib-19.13.tar.bz2;
tar xf dlib-19.13.tar.bz2;
cd dlib-19.13;
mkdir build;
cd build;
cmake ..;
cmake --build . --config Release;
sudo make install;
sudo ldconfig;
cd ../..;
6. 获取 Boost (可选):
sudo apt-get install libboost-all-dev
实际的 OpenFace 安装
1. 获取 OpenFace
git clone https://github.com/TadasBaltrusaitis/OpenFace.git
2. 创建一个源外构建目录来存储编译的工件:
cd OpenFace
mkdir build
cd build
3. 使用编译代码(如果使用 g++ 版本 8,请适当更改为 clang 或其他版本):
cmake -D CMAKE_CXX_COMPILER=g++-8 -D CMAKE_C_COMPILER=gcc-8 -D CMAKE_BUILD_TYPE=RELEASE ..
make
4. 测试:
对于视频:
./bin/FaceLandmarkVid -f "../samples/changeLighting.wmv" -f "../samples/2015-10-15-15-14.avi"
对于图像:
./bin/FaceLandmarkImg -fdir "../samples/" -wild
对于视频中的多个面孔:
./bin/FaceLandmarkVidMulti -f ../samples/multi_face.avi
用于特征提取(面部标志、头部姿势、AU、注视和 HOG 以及相似性对齐的人脸):
./bin/FeatureExtraction -verbose -f "../samples/default.wmv"
FeatureExtraction 和 FaceLandmarkVidMulti
输入参数
-f <文件名> 输入的视频文件,可以指定多个 -f
-fdir <目录> 对目录中的每个图像(.jpg、.jpeg、.png 和 .bmp)运行特征提取(输出将存储在整个目录的单个文件中)
-device <设备 id> 用于从实时提要中提取特征的网络摄像头的设备 ID
-cam_width 输入网络摄像头分辨率(默认 640),仅在设置设备时有效
-cam_height 输入网络摄像头高度分辨率(默认 480),仅在设置设备时有效
-root <目录> 输入的根
-inroot <目录> 输入的根
-au_static如果指定了此标志,则 AU 预测将像在静态图像而不是视频上一样执行,请参阅此处了解更详细的说明,这是 FaceLandmarkVidMulti 的默认行为
输出参数(有关输出格式的更多详细信息,请参见此处)
-out_dir <目录> 与创建输出文件相关的根目录
-of <文件名>输出的文件名(如果未指定,将使用原始文件名,如果是-fdir网络摄像头,则为目录名称,如果是网络摄像头,则为网络摄像头 + 时间戳)
-oc <FOURCC_CODE>输出视频文件的编解码器(可以在此处找到 FOURCC 代码列表 - https://www.fourcc.org/codecs.php)
输出的附加参数(适用于 FaceLandmarkImg 和 FeatureExtraction)
-verbose 实时可视化处理步骤:使用注视、动作单元、相似性对齐的面部和 HOG 特征(默认情况下不可视化)跟踪面部,此标志将所有这些都打开,下面的标志允许更细粒度的控制。可视化这些输出将降低处理速度,可能会显着降低。
-vis-track 可视化跟踪的人脸
-vis-hog 可视化 HOG 特征
-vis-align 可视化相似度对齐的人脸
-vis-aus 可视化动作单元
-simscale < float> 用于相似对齐的人脸比例(默认 0.7)
-simsize < int> 相似度对齐时图像的宽度和高度(以像素为单位)(默认 112)
-format_aligned < format> 对齐面的输出图像格式(例如 png 或 jpg),OpenCV 支持的任何格式
-format_vis_image < format>可视化图像的输出图像格式(例如 png 或 jpg),OpenCV 支持的任何格式。仅适用于FaceLandmarkImg
-nomask 强制对齐的人脸输出图像不被屏蔽
-g 输出图像应该是灰度的(为了节省空间)
默认情况下,可执行文件将输出所有特征(跟踪视频、HOG 文件、相似性对齐图像和带有地标、动作单元和注视的 .csv 文件)。您可能并不总是想要提取所有输出特征,您可以使用以下标志指定所需的输出:
-2Dfp 以像素为单位输出 2D 地标
-3Dfp 以毫米为单位输出 3D 地标
-pdmparams 输出刚性和非刚性形状参数
-pose 输出头部姿势(位置和旋转)
-aus 输出面部动作单元
-gaze 输出凝视和相关特征(眼睛标志的 2D 和 3D 位置)
-hogalign 输出提取的 HOG feure 文件
-simalign 输出跟踪人脸的相似度对齐图像
-nobadaligned 如果输出相似度对齐的图像,不要从检测失败或不可靠的帧中输出(从而节省一些磁盘空间)
-tracked 输出带有检测到的地标的视频
FaceLandmarkVid 输入参数
-f < filename>正在输入的视频文件,可以通过多个-f标志指定多个文件
-device < device_num> 从中读取图像的网络摄像头(默认为 0)
-cam_width 输入网络摄像头分辨率(默认 640)
-cam_height 输入网络摄像头高度分辨率(默认 480)
-inroot < directory>输入的根,因此-f可以相对于它指定
通用参数
使用参数的模型
-mloc < the location of landmark detection models>
选项:
“model/main_ceclm_general.txt”(默认)- 在不同姿势和光照的 Multi-PIE 以及野外数据(300W 和 Menpo)上进行训练。最准确,但最慢且内存最重的方法。适用于大多数情况。
“model/main_clnf_general.txt”- 对不同姿势和光照的多 PIE 以及野外数据进行了培训。在很多条件下都能很好地工作,但对于轮廓面和非常大的表情却失败了
“model/main_clnf_wild.txt” - 同上,但仅在 300W 数据集(Helen 和 LFPW)上训练
“model/main_clnf_multi_pie.txt” - 在 CMU Multi-PIE 数据集上训练,在光线充足的环境中工作良好
“model/main_clm_general.txt”- 最不准确。但最快的模型
模型参数
-wild 标志指定图像何时更困难,模型考虑扩展搜索区域
-multi_view <0/1> 是否应该使用多视图初始化(更健壮,但速度更慢),默认关闭
用于正确头部姿势和眼睛注视计算的可选相机参数
-fx < focal length in x>
-fy < focal length in y>
-cx < optical centre in x>
-cy < optical centre in y>
Ubuntu 18.04 安装 OpenFace相关推荐
- Ubuntu 18.04 安装 redis入门使用
Ubuntu 18.04 安装 redis入门使用 1.安装 sudo apt-get install redis-server 2.查看redis运行状态 ps -ef | grep redis 3 ...
- Ubuntu 18.04安装CUDA(版本10.2)和cuDNN
1.系统要求 2.安装前的要求 3.runfile安装(不支持跨平台) 4.后续安装操作 5.安装cuDNN 6.汇总问题 本文基于Ubuntu 18.04.3 LTS 64位安装CUDA 10.2和 ...
- Ubuntu 18.04 安装OpenCV C++
Ubuntu 18.04 安装OpenCV C++ 构建并安装 仅构建核心模块 # 更新并安装依赖 sudo apt update && sudo apt install -y cma ...
- Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡
Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡 在安装显卡之前请先把ubuntu 18.04系统提前安装好. 需要准备的资料: NVIDIA 驱动 下载驱动 驱动的下载地址 ...
- linux 模拟运行 微信,Ubuntu 18.04 安装微信(Linux通用)
Ubuntu 18.04 安装微信(Linux通用) 发布时间:2018-06-02 10:52, 浏览次数:1468 , 标签: Ubuntu Linux Linux相关的知识:https://ww ...
- ubuntu 18.04 安装 中文 拼音 输入法
ubuntu 18.04 安装 中文输入法 拼音 在安装ubuntu时,如果选择英文安装默认会不启用中文输入法的.可以通过下述方法开启: 1,安装 pingyin 输入法 打开终端输入命令: sudo ...
- [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程
这篇已经Out了,以[笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程为准. Docker的好处之一,就是在Container里面可以随意瞎 ...
- 完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题
完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题 经过我的学习终于学会了,下面附上连接 完美解决
- Ubuntu 18.04 安装Qt 5.12.0
Ubuntu 18.04 安装Qt 5.12.0 1.安装包下载 2.安装QT 3.配置系统路径 4.配置QT creator 6.测试工程 1.安装包下载 官方下载地址 也可以下载到其他版本:htt ...
最新文章
- wiki多个文件一起导入_mac文件信息管理工具EagleFiler for Mac分享给大家
- php 元素添加子元素,css,html_怎么在添加的子元素上继承父元素上已存在的子元素的属性?,css,html,javascript - phpStudy...
- 计算机再带word打不开,word打不开,详细教您怎么解决word打不开
- python3 获取 文件 文件夹大小
- phpmyadmin忘记mysql密码_忘记phpmyadmin登录密码怎么办
- asp.net core监控—引入Prometheus(五)
- Bottle: Python Web Framework
- 华为云严选上新啦!高效准确的数据同步方案来了
- 2018年手机保值排行榜出炉:华为P20成最大赢家?
- Oracle11g导出空表解决方法
- Xshell安装宝塔Linux面板教程
- Exception in thread main java.lang.OutOfMemoryError: Java heap space(Java堆空间内存溢出)解决方法...
- k8s-scheduler调度规则
- code::blocks自动补全诸如socket或者其它一些库中的函数
- Python 使用 PyOTP 实现二步验证
- CSR867x — Headset项目评估总结
- Kotlin学习(五)之----集合 + 数组类型 + 解构写法 list,set,map.....
- 计算机二级Python真题(七)
- elasticSearch Analysis Token Filters作用及相关样例
- 读书忘却时间——灵魂的沉淀