最近,我fork了GitHub上的一个深度学习的开源项目,项目链接为:https://github.com/oarriaga/face_classification
我的系统环境是虚拟机Ubuntu18.04,Python3.6.5,使用的开发环境是pycharm-2018.1.4专业版。本项目所需要的环境配置请见我之前的技术博客:https://blog.csdn.net/blgpb/article/details/80780868
首先,clone下来这个项目,打开这个工程,如下图所示。这个项目要能成功运行,需要4个步骤。
第一个步骤
打开左侧项目文件列表中的video_emotion_color_demo.py,会提示出现如下的错误:
以上代码的作用是从项目文件夹utils中导入package,但是由于未能在pycharm中正确地添加项目的路径,导致IDE无法导入这些函数。解决办法是把导入的具体路径写清楚,可以采用如下的方法:
from src.utils.datasets import get_labels
from src.utils.inference import detect_faces
from src.utils.inference import draw_text
from src.utils.inference import draw_bounding_box
from src.utils.inference import apply_offsets
from src.utils.inference import load_detection_model
from src.utils.preprocessor import preprocess_input
第二个步骤
本项目运行于TensorFlow的框架下,但是对于仅安装了TensorFlow的CPU版本而未安装GPU版本的环境下,运行时会报错:
为了解决这个问题,在python文件中加入如下的代码即可以解决:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
第三个步骤
由于本项目是人脸表情的实时检测,需要使用笔记本电脑的摄像头。在VMware虚拟机中连接摄像头的操作是,打开“虚拟机”选项->"可移动设备"下,选择对应的摄像头,点击“连接”。
为了验证摄像头是否连接成功,接下来打开Ubuntu shell终端,输入:
sudo apt-get install cheese
安装完成后,在shell终端启动cheese,如以上操作都正常,可以看到摄像头灯点亮并且cheese窗口显示实时的视频画面。
如果以上的操作都正常,但是cheese出来的视频窗口是黑屏的,就在VMware的“虚拟机”->“虚拟机设置”->“USB控制器”下,查看“USB兼容性”,如果当前是“USB2.0”就修改为“USB3.0”,如果当前是“USB3.0”就改为“USB2.0”。然后再在“虚拟机”->“可移动设备”下重新连接camera,此时cheese就可以正常显示实时的视频画面,并且pycharm下的项目也能正常调用摄像头。
第四个步骤
当尝试运行程序时,会出现如下的错误:
这个错误是由于pycharm中Qt环境设置出现了问题,解决办法如下:
点击pycharm中的"Run"->"Edit Configurations",弹出如下的窗口
点击红框右侧的按钮,弹出一个对话框,点击下图中绿色的“+”,在”Name“下输入”QT_X11_NO_MITSHM“,”Value“下输入”1“,点击OK确认。
在经历了上述的4个步骤后,就可以成功运行这个程序了。运行结果如下:
您的支持是我不断前行的动力,谢谢!