【Ubuntu20.04+gcc-9.4.0】Openface在linux下的详细环境配置(2024.4月)

server/2024/10/18 10:28:42/

近期,需要使用openface来进行人脸的crop,因此踩坑配置出在ubuntu20.04下的具体流程。话不多说,直接进入主题。

务必注意,按照顺序执行,否则很大概率报错!!!1. 安装GCC,我使用的为AutoDL的默认镜像进行实验操作,默认带有gcc9.4.0
可以通过gcc --version以及g++ --version进行查看普通安装流程为:sudo apt-get updatesudo apt-get install build-essentialsudo apt-get install g++-82. sudo apt-get install cmake3. sudo apt-get install libopenblas-dev4. 安装opencv-4.1.0#1 安装依赖
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#2 下载opencv4.1.0
wget https://github.com/opencv/opencv/archive/4.1.0.zip#3 解压与其他
sudo unzip 4.1.0.zip
cd opencv-4.1.0
mkdir build
cd build#4 build
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_TIFF=ON -D WITH_TBB=ON ..
sudo make -j2  #注意时间较久 耐心等待
sudo make install5. 下载与编译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-dev7. 安装openface
#1 下载
git clone https://github.com/TadasBaltrusaitis/OpenFace.git#2 建立文件夹
cd OpenFace#3 下载CEN.zip并且放置到相应的位置
把12个.mat文件存到:/home/username/OpenFace/matlab_version/models/cen下
把4个.dat文件存到:/home/username/OpenFace/lib/local/LandmarkDetector/model/patch_expertsmkdir build
cd build#4 编译
cmake -D CMAKE_CXX_COMPILER=g++-9 -D CMAKE_C_COMPILER=gcc-9 -D CMAKE_BUILD_TYPE=RELEASE ..   [需要更换编译器 ,务必注意]
make8. openface测试
cd到openface主文件夹下创建输出文件夹Trainedbuild/bin/FaceLandmarkImg -f samples/001.jpg -out_dir /root/autodl-tmp/OpenFace/Trained/build/bin/FaceLandmarkVid -f samples/changeLighting.wmv -f samples/2015-10-15-15-14.avi -out_dir /root/autodl-tmp/OpenFace/Trainedbuild/bin/FaceLandmarkVidMulti -f samples/multi_face.avi -out_dir /root/autodl-tmp/OpenFace/Trained测试通过即无误

此为,本博客所涉及到的几个包和模型权重都有提供,百度网盘链接如下:

链接:https://pan.baidu.com/s/12AIvL7kkLEY141PX0j4afQ 
提取码:7xvq 
 

特别注意:本博客仅仅针对ubuntu20.04,不针对其他版本,并且openface对不同的操作系统与版本可能较为敏感,仅供大家参考,欢迎交流。

主要参考源为:
1. https://github.com/TadasBaltrusaitis/OpenFace/wiki/Unix-Installation

2. https://www.flyai.com/article/art5d1c5926fb41acb6acab28a8

3. OpenFace安装问题---Could not find CEN patch experts-CSDN博客

4. OpenFace+Ubuntu20.04+conda 排坑记录_could not find the haar face detector location-CSDN博客


http://www.ppmy.cn/server/14177.html

相关文章

深度学习系列65:数字人openHeygen详解

1. 主流程分析 从inference.py函数进入,主要流程包括: 1) 使用cv2获取视频中所有帧的列表,如下: 2)定义Croper。核心代码为69行:full_frames_RGB, crop, quad croper.crop(full_frames_RGB)。…

牛客NC98 判断t1树中是否有与t2树完全相同的子树【simple 深度优先dfs C++/Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/4eaccec5ee8f4fe8a4309463b807a542 思路 深度优先搜索暴力匹配 思路和算法这是一种最朴素的方法——深度优先搜索枚举 s 中的每一个节点,判断这个点的子树是否和 t 相等。如何判断一个节点的子树是否…

python+django校园社交高校交友网站2x7r5.

本课题使用Python语言进行开发。代码层面的操作主要在PyCharm中进行,将系统所使用到的表以及数据存储到MySQL数据库中,方便对数据进行操作本课题基于WEB的开发平台,设计的基本思路是: 前端:vue.jselementui 框架&#…

Windows SMBGhost CVE-2020-0796 Elevate Privileges

SMBGhost CVE-2020-0796 Microsoft Windows 10 (1903/1909) - ‘SMBGhost’ SMB3.1.1 ‘SMB2_COMPRESSION_CAPABILITIES’ Local Privilege Escalation https://www.exploit-db.com/exploits/48267 Github https://github.com/danigargu/CVE-2020-0796 修改载荷[可选] 生成 c# …

4.26日学习记录

[湖湘杯 2021 final]Penetratable SUID提权 SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限 SUID具有一定的限制: 1.仅对于二进制有效; 2.执行者在程序中有可以执行的权限; 3.权限仅在程序…

Qt——设置布局中特定的两个组件之间的间距

在Qt中,如果你想要设置布局内某两个组件之间的特定间距,你可以使用QSpacerItem来添加一个空白区域,或者使用布局的insertSpacing方法(如果可用)。 你可以在两个组件之间插入一个QSpacerItem来创建空间。下面是一个例子…

STL::string简单介绍

目录 1、什么是STL STL6大组件:仿函数、算法、容器、空间配置器、迭代器、配接器 推荐文档(必须学会看文档) 2、string常用接口 a、初始化 1、什么是STL 标准模板库 STL(Standard Template Library),主要是数据结构…

ik分词器是什么,有那些配置? ik_smart和ik_max_word的两个分词算法有何区别?

1、ik分词器是什么,有那些配置? 1、ik分词器是什么? IK分词器是一种基于正向匹配的分词算法,它是中文自然语言处理中的一个基本环节。在搜索时,IK分词器会把用户的信息以及数据库或索引库中的数据进行分词&#xff0…