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实现的。直接来看完整的代码: