天天看点

人脸表情分类与识别:opencv人脸检测+Keras情绪分类 一、表情数据集二、opencv的人脸识别 三、表情分类与识别

1、加载pre-model网络与权重;

2、利用opencv的函数进行简单的人脸检测;

3、抠出人脸的图并灰化;

4、表情分类器检测

.

主要来源于kaggle比赛,下载地址。 

有七种表情类别: (0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral). 

数据是48x48 灰度图,格式比较奇葩。 

第一列是情绪分类,第二列是图像的numpy,第三列是train or test。 

参考《opencv+Recorder︱OpenCV 中使用 Haar 分类器进行面部检测》 

理论略过,直接来看重点: 

(1)加载人脸检测器,haarcascade_frontalface_default.xml; 

(2)图片加载并灰化,cvtColor,可参考: opencv︱图像的色彩空間cvtColor(HSV、HSL、HSB 、BGR) 

(2)人脸探测,detectMultiScale.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

其中minNeighbors设置小一些,容易检测出来。这个检测器还是有点粗糙。 

网络结构: 

是利用Keras实现的。直接来看完整的代码: