因为目前项目中涉及了对人脸面部动作单元AU的检测,因此需要利用Openface来实现这个内容,在配置过程中踩了很多很多很多坑,而且网上对于bug的解决方案十分繁复,没有系统的讲述如何解决这些bug,所以来整理一下这里面遇到的bug以及使用到的教程:
0.参考的blog流程
我主要的流程参考了这篇blog但是还是出现了很多的问题,也可以先按照这篇blog下载然后出现问题来看我这个,建议两篇blog配合使用更佳,或者直接看我整理的这个:
Openface的安装和使用-CSDN博客https://blog.csdn.net/qq_42952590/article/details/116518307
1 安装环境
1.1 配置openface所需环境
先介绍一下我安装的python版本是3.11
1.1.1 安装dlib库
dlib库在安装的时候总是因为各种原因出现了问题,像我在安装的时候就会有一堆报错,不管是我安装了cmake还是找如何的解决方式,在此我参考了这个还是十分有用的:
在python3.11 3.11中安装dlib库时出错-腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/ask/sof/107455050首先还是先安装dlib依赖的两个库:
pip install CMake
pip install Boost
然后利用这个解决方案中的方法来继续安装dlib:
git clone https://github.com/davisking/dlib
这一步容易因为网速等配置的问题导致下载不成功,如果没有在git上配置好网络代理建议直接去github上下载对应的压缩包,不过在我配置代理的时候貌似说git现在已经不支持代理了,所以还是直接老老实实github上下载
GitHub - davisking/dlib: A toolkit for making real world machine learning and data analysis applications in C++A toolkit for making real world machine learning and data analysis applications in C++ - davisking/dlibhttps://github.com/davisking/dlib然后在下载下来的dlib.master文件夹下右键选择在终端中打开:
在终端中输入如下指令:
python setup.py install
然后稍等片刻,安装时间还有点久,过一阵就可安装好
1.1.2 安装open-cv库
这部分比较简单,直接pip即可
pip install opencv-python
1.2 下载openface包并安装
首先,通过如下链接下载openface:
https://codeload.github.com/cmusatyalab/openface/zip/masterhttps://codeload.github.com/cmusatyalab/openface/zip/master下载好以后,对压缩包进行解压,在下载下来的openface-master文件夹位置右键选择在终端中打开,在终端中输入如下指令:
python setup.py install
即可安装成功,如下图所示:
此时,openface-master文件夹位置里面多了一个build文件夹,如果到这一步都很好,那么此时openface包已经安装好了!
1.3 检测安装环境
仅需最后一步,我们就可以远离安装python环境了!
我们来检查一下配置的环境:
键盘上Win+R调出运行窗口,再输入cmd进入终端窗口,
在终端窗口输入如下命令:
python
通过终端进入python环境中,再引入刚才配置好的库检查一下:
import cv2
import dlib
import openface
如果没有问题说明目前为止一切顺利!
如果你获得了像我一样的结果,恭喜你通过了第一道关卡!
1.4 安装Visual Studio 2017
不幸的是Visual Studio 2017在微软官网上的community版本下载链接不在了,而且openface的要求配置环境就只是在Visual Studio 2017上,幸运的是你看到了我这篇blog,那么你可以通过这个链接来下载:
ed2k://|file|mu_visual_studio_community_2017_version_15.3_x86_x64_11100062.exe|1069960|5984B3CD547F9F213DE21EFE5887F08D|/
在迅雷上复制上面这个链接,即可下载Visual Studio Community 2017 (version 15.7) (x86 and x64) ,下载以后,安装过程中勾选c++桌面,windows平台
这些一定一定要全部勾选上!!不然就会报错!!!
安装好以后环境的安装就结束了。
2 openface文件包下载
openface打包文件:
https://codeload.github.com/TadasBaltrusaitis/OpenFace/zip/refs/tags/OpenFace_2.2.0https://codeload.github.com/TadasBaltrusaitis/OpenFace/zip/refs/tags/OpenFace_2.2.0openface二进制文件:
3 编译openface二进制文件
这部分完全按照原blog作者的步骤来就可以实现了!
先用下载好的Visual Studio 2017打开openface打包文件下的openface.sln文件
然后随便找一个可执行文件生成一下,比如FaceLandmarkImg,可能生成不成功不过没关系,他会生成一个x64/release文件夹,这就够了。生成的时候注意切换成release模式,x64。
生成的x64/release文件夹如图所示:把二进制文件也就是OpenFace_2.2.0_win_x64中的文件全部拷到x64/release文件夹下,再重新生成一下各个可执行文件,一共五个都生成一下,图片上是其中一个,这部分可能会报一些小错,但是没什么问题,耐心运行完五个文件,马上就能成功了!
把这五个文件全都重新生成一下。
然后下载cen文件。下载链接:
最后解压cen文件,其中单击一下类型,可以按照类型排序,选择四个.dat文件放到lib\local\LandmarkDetector\model\patch_experts,其余的.mat文件放到.\matlab_version\models\cen这个文件夹下,
最后的最后,再都重新生成一下,然后就可以运行数据了!
4 结果
展示一下结果:
如果你觉得图片展示的结果时间太短了,那就是这样,因为openface是用来跑数据集的,如果要拿来玩玩,可以试试这个模式:
打开你的电脑摄像头,就可以实时检测你的数据!真的很有趣!
就是安装过程太累人了,想哭o(╥﹏╥)o