该项目实现前端调用摄像头识别用户表情,并将表情结果呈现在网页上。
1、实现openface监测au,识别基本表情
2、前端调用摄像头,将图像不断传到后端处理,然后将结果传到前端
3、将openface打包成so库,后端python调用openface的so库进行识别
OS: Ubuntu 18.04
python3.8
安装Openface框架,安装步骤
bash ./download_models.sh
sudo bash ./install.sh
可以以下代码测试:是否ok:
for videos:
./bin/FaceLandmarkVid -f "../samples/changeLighting.wmv" -f "../samples/2015-10-15-15-14.avi"
for images:
./bin/FaceLandmarkImg -fdir "../samples/" -wild
for multiple faces in videos:
./bin/FaceLandmarkVidMulti -f ../samples/multi_face.avi
for feature extraction (facial landmarks, head pose, AUs, gaze and HOG and similarity aligned faces):
./bin/FeatureExtraction -verbose -f "../samples/default.wmv"
该项目的根本逻辑在于根据openface的API写一个监测人脸au的接口,然后将整个openface打包成库,最后在后端引用库进行调用,识别表情后将结果呈现在前端web。
1、openFace文件中是按照openface 源码的文件层进行排布,因此按照对应的文件层 添加或者更换里面的代码文件。
2、修改里面调用model和文件的路径,基本在我更换的文件中修改即可。注意如果我用的是绝对路径的话,都必须用绝对路径!
3、需要对库进行重新编译,不然会报 没有fpic 的错误。
3.1 这就是为什么LandmarkDetector 的CMakeLists.txt 更改的原因,里面都添加了
add_compile_options(-fPIC)
3.2 重新编译 在openface-master中
wget http://dlib.net/files/dlib-19.13.tar.bz2
tar xvf dlib-19.13.tar.bz2
cd dlib-19.13
mkdir -p build
cd build
cmake -DBUILD_SHARED_LIBS=ON -DDLIB_USE_LAPACK=1 ..
cmake --build . --config Release
sudo make install
sudo ldconfig
cd ..
rm -r dlib-19.13.tar.bz2
3.3 opencv也是 查看install.sh的代码和网上的解决方案自行重新编译
4、在./auWeb中运行:
python3 app.py
5、输入终端中出现的网址,http://127.0.0.1:5000/
识别关键点的话就去掉最后面监测AU的函数就好了呀~
Github:希望友们能给个star