当前位置: 首页 > news >正文

关于人脸识别,稀疏表示的若干论文的小结

初次写博,如有错误,请指正,不胜感激!

1:特征脸:Eigenface forrecognition:

l  使用特征脸方法的进行人脸识别的步骤:

l  1:首先假设人脸个数有K个,每个人脸需训练m个,确定训练脸数目M=m*K,将这个M个人脸张成一个列向量其中,T1是(Col*Row)*1维的列向量,共计有M个(T1~TM),这M个列向量构成一个向量空间A,A是(Col*Row)*M,

l  2:求出这M个脸的平均脸,而后再每个脸减去这个平均脸从而得到一个修正的脸以方便计算协方差。我们知道,A这样的是没有特征值的。故此求出其对应互相关矩阵的特征值,A*A’,由于求这个互相关矩阵的特征值较复杂,故此求其转置的A’*A的特征值,而后再左乘其A,可得其互相关矩阵的特征空间组成的向量。

l  3:选择对应的特征值大的特征向量确定为特征空间。

l  4:将要测试的人脸向特征空间中投影,可以得到人脸在特征空间中的对应向量。

l  5:使用欧拉距离或是(有区别么)Knn算法来获得最好间距最少的人脸,确定为匹配人脸。

2:FisherFaces:Eigenfacesvs. Fisherfaces: Recognition Using Class Specific Linear Projection

3:Robust facerecognition via sparse representation;(20150813)

本文是关于CS和人脸识别结合的一篇比较好的文章,提出与在CS理论发展和应用十分重要的一个阶段。对于CS在人脸识别中的取得了一个较好的识别率。文中提出了一个新的算法,即SRC,使用稀疏表示来对原库中的人脸进行分类。识别率是相较于上述两种方法有极大的提高。具体算法如下::

l 1:给定库中存在k个人脸,每个人脸是由N个人构成

l  2:需测试的人脸y,求出其

l  3:计算残差·

l  4:输出:y=arg min

这里简单说明上述算法的意义,在CS理论中有个很重要的前提,稀疏性—保证非零原子越少越好(L-0就是这个意思),上述的第二步就是为了保证有稀疏性,而这个问题的原因是L-0算法是一个NPhard问题,没有确定的算法来解决这个这个问题,故此使用L-1算法来代替。

这里需要对上述方法的结果进行总结,使用这种SRC算法的确能够达到极高的识别率,同时鲁棒性极好,对于一些像素误差,加噪和遮挡都有不错的识别率,但是这种算法对库的要求很高,要求人脸对齐。在识别每一个目标时都要进行大量复杂的稀疏分解算法。这种方法没有进行特征提取,只是一种简单的分类方法,考虑到这一点还可以有所提升。在分类之前进行特征提取,而且当训练样本数量较大时,对于解L1 的最优化问题,即求解稀疏表示系数的L1范数最小值问题,需要消耗大量的时间,降低了算法的实时性。

4:Are sparse representations reallyrelevant for image classification;

  这篇论文对先前J.w等提出的基于稀疏表示的人脸识别算法提出了质疑,文中认为在SRC算法中其中的稀疏性并不能够证明是与后面的分类有关,即对稀疏性的必要性提出质疑,但是同样指出的是,所提出的稀疏性的确对后面的识别效果有很大的帮助,然而这样的结果即稀疏性的要求使得计算的开销十分大。(这篇论文没怎么理解,对其中他自己设计的一种方法并没有获得较好的识别结果,)

5:Sparsity andRobustness in Face Recognition;

 本文是J.w所写,为了反驳上面那篇论文,提出了稀疏性和鲁棒性在FR中的应用。指出这两个确实是有效果的。他说SRC算法的提出是基于一个低维线性模型(我也不知道这个模型是什么鬼)。

转载于:https://www.cnblogs.com/sunbinbin/p/5122562.html

相关文章:

  • asp.net——正则表达式
  • 开始iOS 7中自动布局教程(一)
  • POJ 1470 Closest Common Ancestors
  • S3C2440-中文手册
  • URAL 1779 F - The Great Team 构造
  • 如何应用混沌进行置乱
  • Ruby源文件指引
  • poj 2828 块状链表 OR 线段树 OR 树状数组
  • Ruby用6行搞定P2P
  • Bootstrap中面板的使用
  • LCA rmq st model
  • 一个有意思的Ruby脚本
  • 如何提醒客户重载父类的指定方法?
  • 将键盘的按键转换成相应的Unicode 值
  • sqlserver 锁表语句分享
  • @jsonView过滤属性
  • [译]如何构建服务器端web组件,为何要构建?
  • 【React系列】如何构建React应用程序
  • CSS相对定位
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Java小白进阶笔记(3)-初级面向对象
  • JSDuck 与 AngularJS 融合技巧
  • leetcode46 Permutation 排列组合
  • mysql中InnoDB引擎中页的概念
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • 闭包--闭包作用之保存(一)
  • 不上全站https的网站你们就等着被恶心死吧
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 分布式事物理论与实践
  • 构建工具 - 收藏集 - 掘金
  • 前端知识点整理(待续)
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 想写好前端,先练好内功
  • #etcd#安装时出错
  • #微信小程序:微信小程序常见的配置传值
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (二)PySpark3:SparkSQL编程
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (转)3D模板阴影原理
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • **PHP二维数组遍历时同时赋值
  • .net Application的目录
  • .NET Core跨平台微服务学习资源
  • .NET Remoting学习笔记(三)信道
  • .net6 webapi log4net完整配置使用流程
  • .net打印*三角形
  • .NET下ASPX编程的几个小问题
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • @Documented注解的作用
  • @JsonSerialize注解的使用
  • @RequestParam,@RequestBody和@PathVariable 区别