Python实现人脸颜值检测,某明星的颜值检测才2

金沙官网线上 1

一、介绍

 

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

重点声明:

利用Python对照片中人脸进行颜值预测!!!

至于结果的可靠性.......

本人概不负责!!!

对结果不满意或者因为结果分数过低而想不开者,请自行联系xxxPh.D.。也就是此颜值预测算法的提出者!!!本人只是部分复现了他的算法!!!

有"特殊疾病者"请慎重尝试预测自己的颜值,本人不对颜值预测的结果和带来的所有负面影响负责!!!

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

所需工具

Python版本:3.6(64bit)

相关模块:

opencv_python模块、sklearn模块、numpy模块、dlib模块以及一些Python自带的模块。

金沙官网线上 2

 

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

环境搭建

(1)安装相应版本的Python并添加到环境变量中;

(2)pip安装相关模块中提到的模块。

下载pip安装报错模块的whl文件,并使用:

pip install whl文件路径+whl文件名安装。

如果需要相关的文件和源码可以关注后私信【颜值预测】即可

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

主要思路

模型训练

用了PCA算法对特征进行了压缩降维;

然后用随机森林训练模型。

提取人脸关键点

主要使用了dlib库。

使用官方提供的模型构建特征提取器。

特征生成

完全参考了xxxPh.D.的博客。

颜值预测

利用之前的数据和模型进行颜值预测。

环境搭建完成后,cmd窗口切换到解压后的*.py文件所在目录。

例如:

金沙官网线上 3

 

打开test_img文件夹,将需要预测颜值的照片放入并重命名为test.jpg。

例如:

金沙官网线上 4

 

若嫌麻烦或者有其他需求,请自行修改:

getLandmarks.py文件中第13行。

最后依次运行:

train_model.py(想直接用我模型的请忽略此步)

getLandmarks.py

getFeatures.py

Predict.py

train_model.py

金沙官网线上 5

 

getLandmarks.py

金沙官网线上 6

 

getFeatures.py

金沙官网线上 7

 

Predict.py

金沙官网线上 8

 

运行后效果展示

金沙官网线上 9

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

识别规则:

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

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

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

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

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

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

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

二、开发环境搭建:

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

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

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

3、安装dlib(whl方式安装):

在这里下载dlib的各种版本的whl文件,然后在根目录下打开cmd直接安装即可。

但是为了学习使用dlib中的各种python实例程序,还是需要下载一个dlib的压缩包。

直接访问dlib官网即可下载:http://dlib.net/ml.html

dlib各种版本的whl文件:https://pypi.python.org/simple/dlib/

4、如果想要使用人脸模型特征标定的话,还需要一个人脸面部形状预测器,这个可以通过自己的照片进行训练,也可以使用dlib作者给出的一个训练好的预测器:         

点击下载:http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2

三、实施思路

金沙官网线上 10

本文由金沙官网线上发布于编程,转载请注明出处:Python实现人脸颜值检测,某明星的颜值检测才2

您可能还会对下面的文章感兴趣: