许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  人脸情感特征提取(二):基于深度学习的方法

人脸情感特征提取(二):基于深度学习的方法

阅读数 4
点赞 0
article_banner

前文回顾

人脸情感特征提取(一)—— 知识背景

上一篇博客介绍了在正式工作前我用到的一些知识和相关的资源,那这一篇就是正式的介绍如何进行人脸特征的提取了。

那么首先大家都知道,我们经常在运行代码的时候是时候配置好相应所需的环境的。那么我这次也不例外。那么我这里就讲一下最重要也是最麻烦的部分——如何在 python3.7  +pycharm2019的环境下下载并成功导入dlib库。

如果以下内容对你有所帮助,可以点赞关注一下表示支持哦!

人脸特征点的提取

import cv2
import dlib

# 与人脸检测相同,使用dlib自带的frontal_face_detector作为人脸检测器
detector = dlib.get_frontal_face_detector()

# 使用官方提供的模型构建特征提取器
predictor = dlib.shape_predictor("E:\\Mutilmodal expression recognition\\shape_predictor_68_face_landmarks\\shape_predictor_68_face_landmarks.dat")

# cv2读取图片
img = cv2.imread("E:\\Mutilmodal expression recognition\\video\\harassment 01\\harassment 01_20191115_115146.633.jpg")

# 与人脸检测程序相同,使用detector进行人脸检测 dets为返回的结果
dets = detector(img, 1)

# 使用enumerate 函数遍历序列中的元素以及它们的下标
# 下标k即为人脸序号
for k, d in enumerate(dets):
    # 使用predictor进行人脸关键点识别 shape为返回的结果
    shape = predictor(img, d)

    # 绘制特征点
    for index, pt in enumerate(shape.parts()):
        print('Part {}: {}'.format(index, pt))
        pt_pos = (pt.x, pt.y)
        cv2.circle(img, pt_pos, 1, (255, 0, 0), 2)
        # 利用cv2.putText输出1-68
        font = cv2.FONT_HERSHEY_SIMPLEX
        cv2.putText(img, str(index + 1), pt_pos, font, 0.3, (0, 0, 255), 1, cv2.LINE_AA)
cv2.imshow("img", img)
k = cv2.waitKey()
cv2.destroyAllWindows()

很简洁的代码,就可以提取出我们想要的人脸坐标了(注意这里提取出来的是相对于图片而不是相对于框出来的人脸的坐标)

这里主要有两样是需要我们事先就做好的。

   首先是 下载  shape_predictor_68_face_landmarks.dat这个东西,

   其次就是配好 opencv 和dlib啦。

安装dlib

之前导入了dilb但是运行的时候会报错,大概就是说dlib模块找到不到get_frontal_face_detector属性,试了挺久还是没办法。那行吧,只能全部工作认认真真来一遍了。

下面我开始讲如何在pycharm2019.1.2和python3.7的环境下成功将dlib导入pycharm中。

1、安装visualStudio2017,这里建议大家安装community版本的。
https://visualstudio.microsoft.com/zh-hans/downloads/

2、下载好了之后,要注意在就开始选择工作负载的时候,要选上“使用C++的桌面开发”和“python开发”这两样。

   vs2017安装好C++开发环境之后,要记得将cl.exe的路径加到 环境变量  中,正常cl.exe会在你选择VS安装的路径下的Tools\MSVC\14.16.27023\bin\Hostx**\x**,这里的**代指64和86这两个数字,所以为了以防万一,将四个文件夹下的cl.exe都加入到环境变量中。

在这里插入图片描述

3、接下来就是python3.7的安装了,这个比较简单,没啥可以注意的哈哈。

4、使用pip install cmake   安装cmake插件。

   安装好之后把cmake的bin路径加到环境变量中。

5、然后到http://www.boost.org/下载boost,我这里选择的版本是1.68.0(建议不要换版本)

   将下载好的boost解压,运行bootstrap.bat文件,成功的话会出现b2.exe、bjam.exe和project-config.jam。

   然后在当前目录命令行运行b2 install(耐心点,一两个小时是要有的)

   之后就执行b2 -a --with-python address  -model=64 toolset=msvc runtime-link=static

6、将安装完成的boost文件加路径加入到环境变量中。
在这里插入图片描述

7、下载dlib源码http://dlib.net/files/,选择安装dlib-19.14。cd 到 dlib目录下运行命令python setup.py install等待完成安装。

   然后将 安装完成后的目录下的dist、dilb和dlib.egg-info这三个 文件夹  复制到 python安装文件夹的lib下面

   然后将dlib安装路径下的dlib.cp37-win_amd64.pyd文件复制到python的安装目录的DLLs文件夹下。

8、最后一步,验证是否正常运行
在这里插入图片描述
在这里插入图片描述

安装cv2

emmm,我觉得安装opencv应该挺简单的,这里就略过吧哈哈。

   但是,要注意版本最好是跟你的dlib版本对应得上。

   这里附上我的版本截图。
在这里插入图片描述
在这里插入图片描述

   大家加油!

写在最后

由于博主能力有限,博文中提及的信息,也难免会有疏漏之处。希望发现疏漏的朋友能热心指出其中的错误,以便下次修改时能以一个更完美更严谨的样子,呈现在大家面前。同时如果有更好的方法也请不吝赐教。

需要文中提到的资料的朋友,也可以关注评论留下自己的邮箱,我会尽量及时发送!

希望与大家共同进步!


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删



相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空