src_rsc遮挡人脸识别实验报告.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
src_rsc遮挡人脸识别实验报告

模式识别课程报告 ——基于SRC_RSC算法的遮挡人脸图像识别的实验研究 学 年:___201x学年第x学期____ 姓 名:________xxxx___________ 学 号:_____xxxxxxxxxx________ 专 业:_____xxxxxxxxxx_______ _ 指导教师:_______ xxxxx___________ 提交日期: __201x年x月xx日 ____ 1.算法简介 1.1 SRC算法简介 基于基于稀疏表达的分类Sparse Recognition based Classification , 简称SRC算法),John Wright, Allen Y. Yang等人在2008年的《Robust Face Recognition via Sparse Representation》一文中将SRC算法应用到人脸识别领域,使用该算法可以大大增强人脸的识别率,包括对含有噪声的人脸图像、有遮挡物的人脸图像、进行伪装的人脸图像、不同曝光的人脸图像、不同面目表情的人脸图像等多个场景下通过SRC算法对特定的人脸图像进行识别。 人脸的稀疏表示是基于光照模型。即一张人脸图像,可以用数据库中同一个人所有的人脸图像的线性组合表示。而对于数据库中其它人的脸,其线性组合的系数理论上为零。由于数据库中一般有很多个不同的人脸的多张图像,如果把数据库中所有的图像的线性组合来表示这张给定的测试人脸,其系数向量是稀疏的。因为除了这张和同一个人的人脸的图像组合系数不为零外,其它的系数都为零。 基于稀疏表示的另外一个很强的假设条件所有的人脸图像必须是事先严格对齐的否则,稀疏性很难满足。换言之,对于表情变化,姿态角度变化的人脸都不满足稀疏性这个假设。所以,经典的稀疏脸方法很难用于真实的应用场景。稀疏脸很强的地方在于对噪声相当鲁棒,相关文献表明,即使人脸图像被80%的随机噪声干扰,仍然能够得到很高的识别率。稀疏脸另外一个很强的地方在于对于部分遮挡的情况,例如戴围巾,戴眼镜等,仍然能够保持较高的识别性能。上述两点,是其它任何传统的人脸识别方法所不具有的。鲁棒的稀疏编码Robust ?Sparse Coding , 简称RSC算法),是通过求解Lasso问题该文作者没有直接求解稀疏编码问题,而是求解Lasso问题,因为Lasso问题的解和稀疏编码的解是等价的。在传统的SRC框架下,编码误差使用L2范数来度量的,这也就意味着编码误差满足高斯分布,然而,当人脸图像出现遮挡和噪声污染的情况下,并非如此。在字典学习框架下,这样的字典是有噪声的。该文作者对原始Lasso问题进行改进,求解加权L1范数约束的线性回归问题。(1) σ 0,是一个常数,表示被编码的信号,表示含有m个dj 列向量的字典集,α 是编码系数向量,在我们人脸识别问题中,dj 表示训练人脸样本,字典集D表示训练集。 加权Lasso问题的目标函数描述如 (2) 具体的RSC的算法步骤可以用LRSC(Iteratively Reweighted Sparse Coding)算法步骤表示如下 3.MATLAB程序 3.1 SRC算法MATLAB代码表示 function pre_label=SRC(train_sample,train_label,test_sample,ClassNum) I=eye(size(train_sample,1)); et_train=[train_sample I]; test_tol=size(test_sample,2); train_tol=length(train_label); pre_label=zeros(1,test_tol); for i=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)); %得到每类对应的系数 for j=1:ClassNum ind=(j==train_label); W(ind,j)=train_x(ind); end %计算测试样本和每类重构样本之间的残差 temp=train

文档评论(0)

561190791 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档