人脸表情识别基于matlab GUI微表情识别系统含Matlab源码 1852期

Posted 海神之光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人脸表情识别基于matlab GUI微表情识别系统含Matlab源码 1852期相关的知识,希望对你有一定的参考价值。

一、微表情识别简介

1 理论依据
人类对人像的研究从未停歇,从我国春秋时期的《左传》,汉代的《汉书·艺文志·相人》中便有关于相面的记载,再到国外的查尔斯·贝尔表情的剖析与哲学、达奇恩博士人像的机制研究、达尔文对人类和动物的表情研究等,直到今天人们开始利用计算机对人像识别生物工程递进式研究,都在潜移默化的证明着人像的重要性、不可替代性。当前大数据、5G、智慧城市等前沿技术的兴起,使得安全领域的专家及公安机关开启了对计算机人脸识别技术的应用研究,它如同指纹、虹膜一样,具有特定性的生物特征。

目前,计算机对人像面部的识别和分析主要从两个方面进行,一是固定的面部特征分析。基于人像面部整体的研究进行计算识别的方法,主要包括Eigenface方法、SVD分解法、局部二进制编码直方图、隐马尔可夫模型(Hidden Markov Model,HMM)方法及神经网络方法等;二是对运动的面部特征进行分析。将人像基准点的相对比率和其他描述人像面部特征的形状参数或类别参数等一起构成识别特征向量。

2 人像微表情的生物特征
人是由猿进化而来的,人的表情有其生物根源。正如英国生物学家达尔文在《人类和动物的表情》一书中所指出的那样,人类的表情和姿势是人类祖先表情动作的遗迹。所以,人的许多最基本情绪,如:喜、怒、哀、乐等原始表情是具有全人类的共性。

3 人像识别的具体流程
从狭义上来讲,人像识别是对以人脸为主的分析、特征提取和识别。

图3 人像识别流程图
人像识别的具体流程可分为:目击者口述信息、疑犯犯罪心理分析、微表情画像、视频采集、人像检测、人脸特征提取、数据关联等几个步骤。

微表情特征画像的建型准确是画像人像的关键。通过引导口述人对目标信息的准确描述,建立人像轮廓五官特征,对目标人像特征加以犯罪分析,呈现出带有表情特征的人像画作后,进行人像检测。

人像识别的具体流程可分为数字绘画图像和视频人像采集两个方面:一是数字绘画人像,画像的准确性是微表情特征画像建模准确的关键。通过引导目击者对目标信息的准确描述,建立人像轮廓五官特征,对目标人像特征加以分析,呈现出带有表情特征的人像画作后,生成数字图像,导入人像检测系统后提取人脸特征,与人像数据库图像进行比对。二是视频人像采集,视频采集是原始图像识别流程的基础。由于视频流具有延续性,链接性,所以将视频的画面定格在某一帧上进行采集,从而获得较为清晰的图像。然后对采集到的图像进行检测,通过检测,判断是否有目标人脸的存在,对检测到的人脸信息图片进行分析,特征提取,最终与人像数据库中信息进行比对,找出相似的数字图像。

4 PCA算法在画像中的应用与实现
素描模拟画像是二维的平面画像,而人像识别技术对拍摄到的照片进行识别比对是通过测算二维图像人物脸部特征点的距离来实现的。因此,以犯罪嫌疑人模拟画像替代“二维”照片,通过目击者对犯罪嫌疑人的描述,刻画犯罪嫌疑人的颅骨、脸部肌肉的阴影关系以及特征点、五官等进行犯罪嫌疑人模拟画像,进而将模拟画像导入人像识别系统,利用人像识别系统接入的人像资源库进行自动识别比对,选出与模拟画像最为相似的人员信息。

以下是PCA算法的原理及步骤:
(1)读取训练集下指定数目的图像,将每张图像的像素保存到一个二维矩阵中。然后把这个矩阵按照列排拉伸成为一个新的列向量,每一个列向量表示一张图像的像素信息,然后将所有代表训练图像的列向量整合为一个新的矩阵X,如果有S张人脸图像,每张图像尺寸为m×n,则矩阵X为m×n行,S列;
(2)对X的每一行取得均值,每行的元素减去均值,得到每张人脸与平均人脸的差值,组成新矩阵X’;
(3)计算X’的协方差矩阵C,C的维度为m×n;
(4)计算C的特征值即特征向量,共有m×n个特征值及特征向量;
(5)选择主成分,把特征值从大到小排序,选择前R个特征值使得R个特征值占所有特征值的90%以上,随后将特征向量按行排列,则P=[R,m×n];
(6)将训练集投影到特征空间,Y=PX’=[R,S]。
(7)将测试集也投影到特征空间,假如测试集有K张图像,那么降维后矩阵为[R,K]。
(8)每一张图像[R,1]与特征空间[R,S]用欧氏距离法求出与其最相近的一个图像,识别为该类。所有测试集识别完后,最后求出识别率。
识别结果以两种方式呈现:一是从人像库里面遴选出3张与待检测目标图像最相似的图像;二是显示出目标图像与样本图像相识度值。
通俗地讲,PCA算法是通过测算出待识别图形的特征向量来实现人像识别的。而待识别图像人脸不同的骨骼形状及透视比例等特征是特征向量值计算的主要因素。不同的脸型测算出来的特征向量值不同。

二、部分源代码

function varargout = MainForm(varargin)

gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
    'gui_Singleton',  gui_Singleton, ...
    'gui_OpeningFcn', @MainForm_OpeningFcn, ...
    'gui_OutputFcn',  @MainForm_OutputFcn, ...
    'gui_LayoutFcn',  [] , ...
    'gui_Callback',   []);
if nargin && ischar(varargin1)
    gui_State.gui_Callback = str2func(varargin1);
end

if nargout
    [varargout1:nargout] = gui_mainfcn(gui_State, varargin:);
else
    gui_mainfcn(gui_State, varargin:);
end



% --- Executes just before MainForm is made visible.
function MainForm_OpeningFcn(hObject, eventdata, handles, varargin)

rand('seed', 0);
% Choose default command line output for MainForm
handles.output = hObject;
handles.Img = 0;
handles.G = 0;
axes(handles.axes1); cla reset;
set(handles.axes1, 'Box', 'on', 'Color', 'w', 'XTickLabel', '', 'YTickLabel', '');
set(handles.textResult, 'String', '');
% Update handles structure
guidata(hObject, handles);

三、运行结果



四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]王扶尧,郑坤泉.微表情特征画像在公安人像识别系统中的应用研究[J].中国人民公安大学学报(自然科学版). 2020,26(03)
[6]姚丽莎,张军委,房波,张绍雷,周欢,赵凤.基于LBP和SVM的人脸表情识别系统的设计与实现[J].贵州师范大学学报(自然科学版). 2020,38(01)

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于人脸表情识别基于matlab GUI微表情识别系统含Matlab源码 1852期的主要内容,如果未能解决你的问题,请参考以下文章

人脸表情识别基于matlab GUI微表情识别系统含Matlab源码 1852期

人脸表情识别基于matlab GUI LBP+SVM脸部动态特征人脸表情识别含Matlab源码 1369期

人脸表情识别基于matlab GUI LBP+SVM脸部动态特征人脸表情识别含Matlab源码 1369期

人脸表情识别基于matlab GUI CNN人脸表情识别含Matlab源码 787期

图像识别基于模板匹配之人脸表情识别matlab源码含GUI

人脸表情识别基于matlab PCA+SVM人脸表情识别评分系统含Matlab源码 593期