在大多数系统上,您可以使用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相关推荐

  1. Ubuntu 18.04 安装 redis入门使用

    Ubuntu 18.04 安装 redis入门使用 1.安装 sudo apt-get install redis-server 2.查看redis运行状态 ps -ef | grep redis 3 ...

  2. Ubuntu 18.04安装CUDA(版本10.2)和cuDNN

    1.系统要求 2.安装前的要求 3.runfile安装(不支持跨平台) 4.后续安装操作 5.安装cuDNN 6.汇总问题 本文基于Ubuntu 18.04.3 LTS 64位安装CUDA 10.2和 ...

  3. Ubuntu 18.04 安装OpenCV C++

    Ubuntu 18.04 安装OpenCV C++ 构建并安装 仅构建核心模块 # 更新并安装依赖 sudo apt update && sudo apt install -y cma ...

  4. Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡

    Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡 在安装显卡之前请先把ubuntu 18.04系统提前安装好. 需要准备的资料: NVIDIA 驱动 下载驱动 驱动的下载地址 ...

  5. linux 模拟运行 微信,Ubuntu 18.04 安装微信(Linux通用)

    Ubuntu 18.04 安装微信(Linux通用) 发布时间:2018-06-02 10:52, 浏览次数:1468 , 标签: Ubuntu Linux Linux相关的知识:https://ww ...

  6. ubuntu 18.04 安装 中文 拼音 输入法

    ubuntu 18.04 安装 中文输入法 拼音 在安装ubuntu时,如果选择英文安装默认会不启用中文输入法的.可以通过下述方法开启: 1,安装 pingyin 输入法 打开终端输入命令: sudo ...

  7. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    这篇已经Out了,以[笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程为准. Docker的好处之一,就是在Container里面可以随意瞎 ...

  8. 完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题

    完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题 经过我的学习终于学会了,下面附上连接 完美解决

  9. Ubuntu 18.04 安装Qt 5.12.0

    Ubuntu 18.04 安装Qt 5.12.0 1.安装包下载 2.安装QT 3.配置系统路径 4.配置QT creator 6.测试工程 1.安装包下载 官方下载地址 也可以下载到其他版本:htt ...

最新文章

  1. wiki多个文件一起导入_mac文件信息管理工具EagleFiler for Mac分享给大家
  2. php 元素添加子元素,css,html_怎么在添加的子元素上继承父元素上已存在的子元素的属性?,css,html,javascript - phpStudy...
  3. 计算机再带word打不开,word打不开,详细教您怎么解决word打不开
  4. python3 获取 文件 文件夹大小
  5. phpmyadmin忘记mysql密码_忘记phpmyadmin登录密码怎么办
  6. asp.net core监控—引入Prometheus(五)
  7. Bottle: Python Web Framework
  8. 华为云严选上新啦!高效准确的数据同步方案来了
  9. 2018年手机保值排行榜出炉:华为P20成最大赢家?
  10. Oracle11g导出空表解决方法
  11. Xshell安装宝塔Linux面板教程
  12. Exception in thread main java.lang.OutOfMemoryError: Java heap space(Java堆空间内存溢出)解决方法...
  13. k8s-scheduler调度规则
  14. code::blocks自动补全诸如socket或者其它一些库中的函数
  15. Python 使用 PyOTP 实现二步验证
  16. CSR867x — Headset项目评估总结
  17. Kotlin学习(五)之----集合 + 数组类型 + 解构写法 list,set,map.....
  18. 计算机二级Python真题(七)
  19. elasticSearch Analysis Token Filters作用及相关样例
  20. 读书忘却时间——灵魂的沉淀

热门文章

  1. 众昂矿业:新能源新材料产业链对萤石需求大增
  2. css .clearfix,css之clearfix的用法深入理解(必看篇)
  3. 一般做一个网站,需要哪些技术。
  4. vscode 调试 python程序
  5. 三年同行,质造未来,腾讯WeTest五大服务免费体验
  6. 计算机毕业设计选题参考大全
  7. php食谱源码,更新厨师php食谱的php版本
  8. v-for与v-if(v-show)的配合使用
  9. 动画讲解,看看50年前的1602A屏幕有多牛~
  10. java runtime异常_JAVA RuntimeException 问题