SRCRSC遮挡人脸识别实验报告.docx
- 文档编号:17979205
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:9
- 大小:303.94KB
SRCRSC遮挡人脸识别实验报告.docx
《SRCRSC遮挡人脸识别实验报告.docx》由会员分享,可在线阅读,更多相关《SRCRSC遮挡人脸识别实验报告.docx(9页珍藏版)》请在冰点文库上搜索。
SRCRSC遮挡人脸识别实验报告
模式识别课程报告
——基于SRC_RSC算法的遮挡人脸图像识别的实验研究
学年:
___201x学年第x学期____
姓名:
________xxxx___________
学号:
_____xxxxxxxxxx________
专业:
_____xxxxxxxxxx________
指导教师:
_______xxxxx___________
提交日期:
__201x年x月xx日____
1.算法简介
1.1SRC算法简介
基于基于稀疏表达的分类算法(SparseRecognitionbasedClassification,简称SRC算法),是人脸识别领域最经典的算法之一,最初是由JohnWright,AllenY.Yang等人在2008年的《RobustFaceRecognitionviaSparseRepresentation》一文中将SRC算法应用到人脸识别领域,使用该算法可以大大增强人脸的识别率,包括对含有噪声的人脸图像、有遮挡物的人脸图像、进行伪装的人脸图像、不同曝光的人脸图像、不同面目表情的人脸图像等多个场景下通过SRC算法对特定的人脸图像进行识别。
人脸的稀疏表示是基于光照模型。
即一张人脸图像,可以用数据库中同一个人所有的人脸图像的线性组合表示。
而对于数据库中其它人的脸,其线性组合的系数理论上为零。
由于数据库中一般有很多个不同的人脸的多张图像,如果把数据库中所有的图像的线性组合来表示这张给定的测试人脸,其系数向量是稀疏的。
因为除了这张和同一个人的人脸的图像组合系数不为零外,其它的系数都为零。
以上所述即为SRC识别人脸图像的原理。
不过在该模型下导出了基于稀疏表示的另外一个很强的假设条件,即所有的人脸图像必须是事先严格对齐的,否则,稀疏性很难满足。
换言之,对于表情变化,姿态角度变化的人脸都不满足稀疏性这个假设。
所以,经典的稀疏脸方法很难用于真实的应用场景。
稀疏脸很强的地方在于对噪声相当鲁棒,相关文献表明,即使人脸图像被80%的随机噪声干扰,仍然能够得到很高的识别率。
稀疏脸另外一个很强的地方在于对于部分遮挡的情况,例如戴围巾,戴眼镜等,仍然能够保持较高的识别性能。
上述两点,是其它任何传统的人脸识别方法所不具有的。
1.2RSC算法简介
鲁棒的稀疏编码算法(Robust SparseCoding,简称RSC算法),是通过求解Lasso问题,进而求解稀疏编码问题,是SRC的改进算法之一,具有极强的应用性,最初是由MengYang,LeiZhang等人在2011年的《RobustSparseCodingforFaceRecognition》一文中将RSC算法应用到人脸识别领域。
该文整理没有直接求解稀疏编码问题,而是求解Lasso问题,因为Lasso问题的解和稀疏编码的解是等价的。
在传统的SRC框架下,编码误差使用L2范数来度量的,这也就意味着编码误差满足高斯分布,然而,当人脸图像出现遮挡和噪声污染的情况下,并非如此。
在字典学习框架下,这样的字典是有噪声的。
该文整理对原始Lasso问题进行改进,求解加权L1范数约束的线性回归问题。
人脸识别的鲁棒稀疏编码的稀疏表示识别方法将稀疏表示的保真度表示为余项的
L2范数,但最大似然估计理论证明这样的假设要求余项服从高斯分布,实际中这样的分布可能并不成立,特别是当测试图像中存在噪声、遮挡和伪装等异常像素,这就导致传统的保真度表达式所构造的稀疏表示模型对上述这些情况缺少足够的鲁棒性。
而最大似然稀疏表示识别模型则基于最大似然估计理论,将保真度表达式改写为余项的最大似然分布函数,并将最大似然问题转化为一个加权优化问题,在稀疏表示的同时引入代表各像素不同权值的矩阵,使得该算法对于图像中包含异常像素的情况表现出很好的鲁棒性。
此算法的关键还在于权重系数的确定,文中采用的是logistic函数,而具体的实现则是通过迭代估计学习得到。
该方法基于这样一个事实:
被遮挡或噪声干扰的像素点赋予较小的权重,而其它像素点的权重相对较大。
具体迭代算法采用经典的迭代重加权算法框架,当然内部嵌入的稀疏编码的求解过程。
此算法在50%遮挡面积的情况下取得的更好更满意的结果。
但是文中没有比较计算时间上的优略而直说和SRC框架差不多。
2.算法步骤
2.1SRC算法步骤
具体的SRC算法步骤如SpareRepresentation-basedClassification(SRC)所示
2.2RSC算法步骤
稀疏编码模型等同于求解LASSO问题,LASSO问题模型如公式1所示
(1)
σ>0,是一个常数,
表示被编码的信号,
表示含有m个dj列向量的字典集,α是编码系数向量,在我们人脸识别问题中,dj表示训练人脸样本,字典集D表示训练集。
加权Lasso问题的目标函数描述如公式2所示
(2)
具体的RSC的算法步骤可以用LRSC(IterativelyReweightedSparseCoding)算法步骤表示如下
3.MATLAB程序
3.1SRC算法MATLAB代码表示
functionpre_label=SRC(train_sample,train_label,test_sample,ClassNum)
I=eye(size(train_sample,1));
et_train=[train_sampleI];
test_tol=size(test_sample,2);
train_tol=length(train_label);
pre_label=zeros(1,test_tol);
fori=1:
test_tol
y=test_sample(:
i);
xp=l1_ls(et_train,y,1e-3,[],'quiet',true);
train_x=xp(1:
train_tol,:
);
err=xp(train_tol+1:
end,:
);
test_clean=y-err;
%构造sparse矩阵,大小为train_tol*ClassNum,最多有length(train_x)个非零值
W=sparse([],[],[],train_tol,ClassNum,length(train_x));
%得到每类对应的系数
forj=1:
ClassNum
ind=(j==train_label);
W(ind,j)=train_x(ind);
end
%计算测试样本和每类重构样本之间的残差
temp=train_sample*W-repmat(test_clean,1,ClassNum);
residual=sqrt(sum(temp.^2));
%把测试样本分在最小残差对应的类别中
[~,index]=min(residual);
pre_label(i)=index;
End
3.2RSC算法MATLAB代码表示
function[id]=RSC(D,D_labels,y,mean_x,ll)
classnum=100;%类别数目%
nIter=10;%进行10次迭代运算%
%[disc_set,disc_value,Mean_Image]=Eigenface_f(D,260);
%disc_value=sqrt((disc_value));
%mean_x=Mean_Image+0.001*disc_set*disc_value';
%mean_x=mean(D,2);
lambda=100;
sigma=0.5;
iter=120;
beta=0.1;
residual=(y-mean_x).^2;%计算剩余%
w=1./(1+1./exp(-beta*(residual-iter)));
w_y_o=w.*y;
norm_w_y_o=norm(w_y_o,2);
%ll=size(D,2);
%迭代运算%
fornit=1:
nIter
fprintf('.');
ww=w./max(w);
index_w=find(ww>=1e-3);
WW_index=repmat(w(index_w),[1ll]);
W_D=WW_index.*D(index_w,:
);
W_y=w(index_w).*y(index_w);
ratio=norm(W_y,2)/norm_w_y_o;
temp_s=l1_ls(W_D,W_y,lambda*ratio,sigma*ratio,true);
residual=(y-D*temp_s).^2;
w=1./(1+1./exp(-beta*(residual-iter)));
end
%分类标记%
forclass=1:
classnum
s=temp_s(D_labels==class);
z1=w.*(y-D(:
D_labels==class)*s);
gap1(class)=z1(:
)'*z1(:
);
end
index=find(gap1==min(gap1));
id=index
(1);
4.实验
4.1通过SRC和RSC进行同一维度下同一人脸面部不同遮挡面积下的人脸识别的实验
在图1同一维度下人脸面部不同遮挡面积下的人脸识别组图中(a)为ExtendedYaleB数据库下的同一张面部在不同遮挡状态下的测试原图,经过误差处理后得到误差处理的图像(b),误差图像(b)反映了人脸被遮挡的物体的部分,之后经过稀疏表示得到(c),之后分别经过SRC和RSC算法还原出原图像(d)。
图1同一维度下同一人脸面部不同遮挡面积下的人脸识别组图
SRC和RSC算法对同一维度下同一人脸面部不同遮挡面积下的人脸识别率比较如下表1和图2、图3所示。
遮挡面积
0%
10%
20%
30%
40%
50%
SRC
1
1
0.998
0.985
0.903
0.653
RSC
1
1
1
0.998
0.969
0.839
表1SRC和RSC算法对同一维度下同一人脸面部不同遮挡面积下的
人脸识别率比较
图2SRC和RSC算法对同一维度下同一人脸面部不同遮挡面积下的
人脸识别率比较柱状图
图3SRC和RSC算法对同一维度下同一人脸面部不同遮挡面积下的
人脸识别率比较折线图
经实验对比发现,SRC和RSC算法在同一维度下对被遮挡的同一人脸图像都有较好的识别,在遮挡面积0%~10%下,SRC与RSC算法的人脸识别率均为100%;在人脸遮挡面积20%的时候,SRC为99.8%,识别率已经不是100%,但RSC仍然为100%;RSC算法是直到人脸遮挡面积超过30%后识别率才有所下降,不过与SRC人脸遮挡面积20%下的识别率相等。
在由此可见RSC算法的对于遮挡下的人脸识别具有更好的识别效果,通过RSC鲁棒性稀疏编码算法对SRC算法的改进在遮挡人脸识别上是成功的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SRCRSC 遮挡 识别 实验 报告