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

近期,需要使用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.mzph.cn/news/829663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

长图高效切割新体验:支持按随机宽度灵活裁切,释放无限创意与效率

图像的传播已经成为我们日常生活的一部分。而长图,作为一种特殊的图像形式,其独特的展示方式能够吸引更多的目光。但是,如何将长图高效切割,以展现其独特的魅力呢?现在,我们为您带来了一款支持按随机宽度切…

怎么找回录音文件?这4个方法实用又简单!

“我有一份比较重要的录音文件保存在电脑上了,不知道是因为误删还是什么原因,这个文件丢失了,我现在有什么比较好的方法可以找回这个文件吗?” 录音文件是我们日常生活中经常使用的文件类型,无论是会议记录、学习笔记还…

论机器学习(ML)在网络安全中的重要性

机器学习是什么? 机器学习(ML)是人工智能的一个分支,它使用算法来使计算机系统能够自动地从数据和经验中进行学习,并改进其性能,而无需进行明确的编程。机器学习涉及对大量数据的分析,通过识别数据中的模式来做出预测…

分享AIGC技术在各个领域的应用情况,以及对未来社会的影响和可能发展方向

AI生成内容(AIGC)技术已经在多个领域显示出其革命性的潜力,包括艺术、媒体、教育、科学研究、娱乐和更多。这些技术的应用不仅改变了内容创造的方式,还预示着对社会、经济和文化结构的深远影响。以下是AIGC技术在各领域的应用情况…

MySQL/MariaDB 如何查看当前的用户

MySQL 的所有数据库用户信息是存储在 user 数据表中的。 可以在登录成功数据后运行 SQL: MariaDB [(none)]> select user,host from user;就可以查看到数据中的所有用户信息。 MariaDB [(none)]> select user,host from user; ERROR 1046 (3D000): No databa…

数据集笔记:geolife staypoint聚合的location 最近的10个其他location

数据集:处理geolife数据-CSDN博客 这边的stations,找到每个station 最近的其他10个station 1 读取数据 假设已经读完了,就是locations 2 保留有用的列 locations.drop([center,user_id],axis1,inplaceTrue) locations 3 加载几何形状 使用…

27 - 数据传送指令

---- 整理自B站UP主 踌躇月光 的视频 文章目录 1. CPU 电路2. 数据传送指令的几种情况3. 实验工程4. 实验结果 1. CPU 电路 2. 数据传送指令的几种情况 # program.asm; 1. ; MOV A, 5;; 2. ; MOV A, B;; 3. ; MOV A, [5];; 4. ; MOV B, 6 ; MOV A, [B]; 5. ; MOV [0x2f], 5;; …

Zynq 7000 系列中成功执行BootROM的条件

Zynq 7000设备的启动需要正确的电压序列和I/O引脚控制。BootROM的流程由复位类型、启动模式引脚设置以及启动映像来控制。BootROM对所选启动设备的引脚连接有特定的要求。 Zynq 7000 SoC设备具有电源、时钟和复位要求,这些要求必须得到满足,才能成功执行…

conda 与 pip 工具笔记

前言 conda与pip是Python开发中常用的两种工具,conda本质是环境、包管理工具,pip是包管理工具,两者的功能有一定的重叠。本文主要记录开发工作中与两者相关的使用说明与注意事项。 推荐用conda创建隔离的虚拟环境,用pip进行包安…

每日OJ题_DFS回溯剪枝⑦_力扣77. 组合

目录 力扣77. 组合 解析代码 力扣77. 组合 77. 组合 难度 中等 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,…

要搭建基于Python、Django和Oracle的框架怎么搭

要搭建基于Python、Django和Oracle的框架,你需要遵循以下步骤: 安装Python: 首先,确保你的计算机上已经安装了Python。你可以从Python的官方网站下载并安装适合你操作系统的Python版本。 安装Django: 在命令行中执行p…

OpenGL读取纹理数据

读取纹理数据 glReadPixels float *buff new float[TEXTURE_WIDTH * TEXTURE_HEIGHT* COLOR_CHANNELS]; glReadPixels(0, 0, TEXTURE_WIDTH , TEXTURE_HEIGHT, GL_RGB, GL_FLOAT, buff);glGetTexImage float *buff new float[TEXTURE_WIDTH * TEXTURE_HEIGHT* COLOR_CHANN…

Oracle集群-常用查询及操作(工作日常整理)

1.Oracle集群状态 select * from gv$instance; 示例结果: 2.Oracle集群-增大表空间 常见问题: 导入时或使用时,提示无法extend table ,增加表空间即可 常用操作: 1)查询表空间 select * from dba_tablespaces; --…

数据结构——二叉树的顺序存储(堆)(C++实现)

数据结构——二叉树的顺序存储(堆)(C实现) 二叉树可以顺序存储的前提堆的定义堆的分类大根堆小根堆 整体结构把握两种调整算法向上调整算法递归版本 非递归版本向下调整算法非递归版本 向上调整算法和向下调整算法的比较 我们接着…

owasp top 10 越权漏洞·

指的是用户权限不明晰。 垂直越权:低权限用户,在无任何身份校验的情况下,能够使用高权 限(不属于自己)模块(功能),或访问高权限拥有的数据; 水平越权:指相同…

用C++实现单例模式

单例模式(Singleton Pattern)是一种常用的软件设计模式,它保证一个类在整个应用程序中仅有一个实例,并提供一个全局访问点来获取这个实例。这种模式常用于那些需要频繁创建且消耗资源较多的对象,或者需要控制对共享资源…

华为MRS服务使用记录

背景:公司的业务需求是使用华为的这一套成品来进行开发,使用中发现,这个产品跟原生的Hadoop的那一套的使用,还是有很大的区别的,现记录一下,避免以后忘了 一、原始代码的下载 下载地址:MRS样例…

UVa12313 A Tiny Raytracer

UVa12313 A Tiny Raytracer 题目链接题意分析AC 代码 题目链接 UVA - 12313 A Tiny Raytracer 题意 给出 《训练指南》题意翻译 本题的任务是实现一个小型光线追踪渲染器。场景由若干三角形网格(triangle mesh)组成,有且仅有一个点光源&…

lua编译器和lua解释器、lua虚拟机的区别

一、区别总结 lua编译器: 将lua源代码编译成字节码,提高代码加载速度 lua解释器:逐条执行编译器生成的字节码,并将其转换为虚拟机可以执行的指令。 lua虚拟机:提供了执行指令所需要的环境 二、lua编译器 Lua编译器的主…

R语言高级数据管理

一&#xff0c;数学函数 绝对值函数abs(x) sqrt(x) 开平方根 不小于某个数的最小整数ceiling(x) 不大于某个数的最大整数floor(x) 四舍五入round(x) sin(x) cos(x) log(x) 二&#xff0c;统计函数 求平均值 > x<-c(2,3,4,5,6,7,8,9,10) > mean(x) 求和 &g…