betway必威-betway必威官方网站
做最好的网站

dlib实现人脸识别和情绪分析,50行Python代码实现

一、介绍

图片 1 

Python调用OpenCV实现人脸识别,供大家参考,具体内容如下

我想做的是基于人脸识别的表情(情绪)分析。看到网上也是有很多的开源库提供使用,为开发提供了很大的方便。我选择目前用的比较多的dlib库进行人脸识别与特征标定。使用python也缩短了开发周期。

现在的人脸识别技术已经得到了非常广泛的应用,支付领域、身份验证、美颜相机里都有它的应用。用iPhone的同学们应该对下面的功能比较熟悉

硬件环境:

官网对于dlib的介绍是:Dlib包含广泛的机器学习算法。所有的设计都是高度模块化的,快速执行,并且通过一个干净而现代的C API,使用起来非常简单。它用于各种应用,包括机器人技术,嵌入式设备,手机和大型高性能计算环境。

图片 2 

Win10 64位

虽然应用都比较高大上,但是自己在PC上做个情绪分析的小软件还是挺有意思的。

iPhone的照片中有一个“人物”的功能,能够将照片里的人脸识别出来并分类,背后的原理也是人脸识别技术。

软件环境:

按照自己的想法与思路设计识别方式。目前也比较火的keras好像就是根据嘴型的变化作为情绪分析的一个指标。

这篇文章主要介绍怎样用Python实现人脸检测。人脸检测是人脸识别的基础。人脸检测的目的是识别出照片里的人脸并定位面部特征点,人脸识别是在人脸检测的基础上进一步告诉你这个人是谁。

Python版本:2.7.3

而我的想法是利用嘴的张开比例,眼睛的睁开程度,眉毛的倾斜角度作为情绪分析的三个指标。但是由于人与人长相的差异较大,五官的也是千差万别,再加上我的计算方法也比较简单。所以识别效率并不是很高。

好了,介绍就到这里。接下来,开始准备我们的环境。

IDE:JetBrains PyCharm 2016.3.2

识别规则:

准备工作

Python库:

1、嘴巴张开距离占面部识别框宽度的比例越大,说明情绪越激动,可能是非常开心,也可能是极度愤怒。

本文的人脸检测基于dlib,dlib依赖Boost和cmake,所以首先需要安装这些包,以Ubuntu为例:

1.1) opencv-python(3.2.0.6)

2、眉毛上扬,17-21 或者 22-26 号特征点距离面部识别框顶部与识别框高度的比值越小,说明眉毛上扬越厉害,可表示惊讶、开心。眉毛的倾斜角度,开心时眉毛一般是上扬,愤怒时皱眉,同时眉毛下压的比较厉害。

$ sudo apt-get install build-essential cmake 
$ sudo apt-get install libgtk-3-dev 
$ sudo apt-get install libboost-all-dev

搭建过程:

3、眯眼睛,人在开怀大笑的时候会不自觉的眯起眼睛,愤怒或者惊讶的时候会瞪大眼睛。

我们的程序中还用到numpy,opencv,所以也需要安装这些库:

OpenCV Python库:

系统缺点:不能捕捉细微表情的变化,只能大致的判断出人的情绪,开心、愤怒、惊讶、自然。

$ pip install numpy 
$ pip install scipy 
$ pip install opencv-python 
$ pip install dlib
  1. PyCharm的插件源中选择opencv-python(3.2.0.6)库安装

系统优点:结构简单,易于上手。

人脸检测基于事先训练好的模型数据,从这里可以下到模型数据

题外话:Python入门Tips

应用领域:微笑抓拍,捕捉瞬间的美好、缓解儿童自闭症、交互式游戏开发。

PS1:如何安装whl文件

由于人感情的复杂性,这些表情确实不能完完全全的代表一个人内心深处的情绪波动,如要提高判断的准确性,则需要心率检测、语音处理等综合评价。

下载到本地路径后解压,记下解压后的文件路径,程序中会用到。

1.先安装PIP

二、开发环境搭建:

dlib的人脸特征点

2.CMD命令进入D:Python27Scripts里面后再执行PIP命令安装pip install wheel
如果提示'pip'不是内部或外部命令,也不是可运行的程序或批处理文件:
①将python安装目录下的scripts目录(例如D:Python27Scripts)添加到系统环境变量path里,注意前加分号。再执行该命令
pip install wheel
②在cmd下进入到D:Python27Scripts目录下执行该命令
pip install wheel

1、安装VS2015,因为最新版的dlib-19.10需要这个版本的vscode

上面下载的模型数据是用来估计人脸上68个特征点(x, y)的坐标位置,这68个坐标点的位置如下图所示

3.把文件最好放在Script文件夹里面再pip install xxxx.whl

2、安装opencv(whl方式安装):

图片 3 

4.注意whl文件名不能改 必须一模一样和原名

从pythonlibs下载需要的版本whl文件,比如(opencv_python?3.3.0 contrib?cp36?cp36m?win_amd64.whl)
然后在本地使用pip install 安装。 注意文件位置下安装(如:C:downloadxxx.whl)

我们的程序将包含两个步骤:

PS2:到哪找.whl文件?

本文由betway必威发布于编程开发,转载请注明出处:dlib实现人脸识别和情绪分析,50行Python代码实现

TAG标签: betway必威
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。