目录
一、人脸特征提取的步骤
①数据集
这里我们使用GENKI-4K数据集去进行我们的实验,GENKI-4K一共包含4000个图像,分为“笑”和“不笑”两种,每个图片拥有不同的尺度大小,姿势,光照变化,头部姿态,可专门用于做笑脸识别。这些图像包括广泛的背景,光照条件,地理位置,个人身份和种族等。
②定义
训练/测试:将图片分为训练集和测试集,训练集中的图片是用来训练模型,测试集的图片是用来对模型进行测试和评价的。
阳性样本:笑脸的图片。
阴性样本:不笑的图片
F1分数:用来衡量你的模型。对于分类任务,用真阳性、真阴性、假阳性和假阴性等词对被测分类器的结果与可信的外部判断进行比较。正和负指的是分类器的预测(有时称为期望),真和假指的是预测1 2 是否对应于外部判断(有时称为观察)。从某些条件下的正实例和负实例中定义一个实验。这四种结果可以用一个2×2列联表或混淆矩阵来表示,如下:
实际值 | |||
阳性 | 阴性 | ||
预测值 | 阳性 | 真阳性(TP) | 假阳性(FP) |
隐形 | 假阴性(FN) | 真阴性(TN) |
③检测笑脸的过程
首先找到图像中的脸,接下来就是分类这张照片是笑还是不笑,在第一步的操作中,可以直接使用包,比如OpenCV或者dlib中的人脸检测;在下一步的操作中,应该自己训练一个模型,模型的输入是从图像中提取的脸,输出的是测试的结果。结果的分类通常包括了特征提取和特征分类两个步骤,其中有两个特征,HOG和LBP,还有一种分类的方法SVM。
HOG,定向梯度直方图,图像内局部物体的外观和形状可以用强度梯度或边缘方向的分布来描述。该图像被划分为被称为单元的小连接区域,并为每个单元内的像素编译一个梯度方向的直方图。描述符是这些直方图的连接部分。与其他描述符相比,HOG描述符有一些关键的优势。下面是HOG的一个例子。
LBP,本地二进制模式。经常被用于关于人脸的问题。简单的LBP记录像素和周围像素之间的对比度信息。LBP用于描述局部纹理特征。下面是一个例子。
SVM,支持向量机。给定一组训练示例,每个示例标记为属于两个类别中的一个或另一个,SVM训练算法建立一个模型,为一个或另一个类别分配新的例子,使其成为非概率二元线性分类器。SVM模型是空间中点的示例的表示,经过映射,以便单独类别的例子被一个尽可能宽的清晰间隙划分,如下图所示。
二、笑脸数据集训练
下载地址:mirrors / tru