OpenFace粗糙使用备忘
写在前面:一个偶然的机会帮同学配置MIMAMO-Net添加链接描述的环境,接触到OpenFace添加链接描述这个工具包,里面的一些东西不太好找,于是把它记录到这里备忘。
OpenFace初识与使用
MIMAMO-Net中有一个步骤:
用到OpenFace来裁剪与对其人脸,这是OpenFace这个工具包可以完成的工作之一。
OpenFace是一个开源的人脸行为分析工具包,它可以完成的工作大致有以下几个:
- facial landmark detection
- head pose estimation
- facial action unit recognition
- eye-gaze estimation
安装OpenFace
Step 1:安装GCC(newest)
sudo apt-get updatesudo apt-get install build-essentialsudo apt-get install g++-8#如果系统是ubuntu16.04或更低安装g++前需执行:sudo add-apt-repository ppa:ubuntu-toolchain-r/test -ysudo apt-get -y update
Step 2: Cmake
sudo apt-get install cmake#注意ubuntu16.04或更低,OpenFace要求的CMake版本至少为3.8,而Ubuntu 16.04的apt-get仅支持CMake 3.5,需要执行以下步骤:sudo apt-get --purge remove cmake-qt-gui -ysudo apt-get --purge remove cmake -ymkdir -p cmake_tmpcd cmake_tmpwget https://cmake.org/files/v3.10/cmake-3.10.1.tar.gztar -xzvf cmake-3.10.1.tar.gz -qqcd cmake-3.10.1/./bootstrapmake -j4sudo make installcd ../..sudo rm -rf cmake_tmp
Step 3:安装OpenBLAS
sudo apt-get install libopenblas-dev
Step 4:安装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 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
Step 5:安装OpenFace
#1、下载
git clone https://github.com/TadasBaltrusaitis/OpenFace.git
#2、建立文件夹
cd OpenFace
mkdir build
cd build
#3、编译
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
#特征提取:
./bin/FeatureExtraction -verbose -f "../samples/default.wmv"
使用OpenFace
使用手册在这里
- FeatureExtraction executable is used for sequence analysis that contain a single face
- FaceLandmarkVidMulti is intended for sequence analysis that contain multiple faces
- FaceLandmarkImg executable is for individual image analysis (can either contain one or more faces)
有些命令是支持图片文件夹的,但还没找到支持视频文件夹的命令,并且实测也没成功。
官网命令详细解释:
ubuntu18.04下实测:
./bin/FeatureExtraction -f “xxx/xxx/107.avi”
参考资料
1、MIMAMO-Net添加链接描述
2、OpenFace添加链接描述
OpenFace粗糙使用备忘相关推荐
- vim的一些快捷键,备忘
vim的一些快捷键,备忘 快捷键 作用 ctrl+g ...
- 资源 | AI、神经网络、机器学习、深度学习以及大数据学习备忘单
向AI转型的程序员都关注了这个号☝☝☝ 以下是关于神经网络.机器学习.深度学习以及大数据学习的备忘单,其中部分内容和此前发布的<资源 | 值得收藏的 27 个机器学习的小抄>有所重复,大家 ...
- 机器学习项目的备忘清单!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Harshit Tyagi,编译:机器之心 机器学习项目中含有众多 ...
- 备忘:C语言void *
由于研究一段代码的时候,看到了 void *.故此进行了学习. 看了 http://www.doc88.com/p-894907672962.html 的说明,感觉写得太好了,已无话可说. 故此备忘 ...
- [译] Kotlin 标准方法备忘
原文地址:Kotlin Standard Functions cheat-sheet 原文作者:Jose Alcérreca 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/go ...
- Nancy之结合TinyFox调试备忘
原文:Nancy之结合TinyFox调试备忘 最近把一个小项目的数据库换成MongoDB,同时用了MongoRepository 这个开源组件来对数据进行操作. 通过NuGet安装之后,它会自动在we ...
- CSP浏览器安全策略备忘
挺久之前过了一遍CSP的安全策略,很多人把它喻为XSS攻击的终结者,因为这种策略不再像传统只靠各种正则和特征匹配来识别跨站攻击Payload,而是直接从协议层把一些存在安全隐患的用法默认给干掉了,把同 ...
- Cheat—— 给Linux初学者和管理员一个终极命令行备忘单
当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令时,你会怎么做?在这种情况下,我们使用man pages来获取帮助.还有一些其它的选择可能包括像'help','whereis'和'what ...
- 简单备忘一下Linux下的wget和curl如何使用http proxy
简单备忘一下Linux下的wget和curl如何使用http proxy wget -e "http_proxy=porxyhost:port" www.baidu.com cur ...
最新文章
- Plotly_绘图画图作图交互
- delphi公共函数 UMyPubFuncFroc--版权所有 (C) 2008 勇者工作室
- 学习的本质在于触发了你的思考
- 【2012年终总结】之一 opencv + ds采集摄像头视频 MFC点点滴滴
- Matlab | 空间域水印技术:LSB(Least Significant Bit)嵌入(matlab源代码)
- 【Java】登录操作中随机生成验证码的工具类
- Weex Project (npm run android)-Error: Error: Command failed
- windows phone 8 使用页面传对象的方式 实现页面间的多值传递
- redis内存淘汰和持久化_redis 持久化
- 【Kafka】kafka Java api 获取 kafka topic 或者 partition 占用的磁盘大小
- 点击MSFlexGrid数据控件的标题进行数据排序
- 一个极其微小的优化想法
- 色彩专题——蓝色(blue)_8号招牌档
- 第7章—SpringMVC高级技术—不用web.xml,而使用java类配置SpringMVC
- 怎么轻松学JAVA(三个月拿实习Offer):小猿的JAVA后端之路(持续更新)
- 机器学习笔记(《统计学习方法》李航and《机器学习》周志华)
- Error:配置系统未能初始化
- 小米5s html,小米5S线刷MIUI9系统的方法_小米5S专用的MIUI9系统刷机包
- python barcode字符串生成条形码_python批量生成条形码的示例
- Allatori:代码混淆器的使用
热门文章
- 集合泛型不匹配导致的ClassCastException异常解决
- Please enable JavaScript to continue.
- Android 两个ListView联动,仿电影展示界面
- WEB前端入门知识及要点大全
- 2020牛客暑期多校训练营(第九场) Groundhog Chasing Death
- (七) 三维点云课程---ICP应用
- 索尼ea300c笔记本u盘装系统的教程
- linux wol 关机,Linux Wake-On-Lan(wol)
- layui常用的表单验证
- ubuntu20.04 服务器深度学习环境docker搭建