cv论文(SPARSE REPRESENTATION相关)

上个博文我讲了一些CNN相关的论文,比较浅显都是入门知识,这节课来总结一些稀疏表示方面的文章。至于上个博文说到的要讲的sparse coding的知识,我将会放在Deep Learning的专题里面讲解。好了,闲话不多说,下面还是列出几篇我看过的sparse representation方面的论文。

第一篇:Robust Face Recognition via Sparse Representation,这是08年马毅等发表PAMI上的一篇文中,利用稀疏表达识别人脸,打开Google Scholar引用次数3500多次。其实之前我一直没弄懂SP到底是怎样工作的,最后才明白其实SRC相当于一种分类的方法,但是不同于传统的NN, NS, SVM等分类方法。SRC是利用字典得到一系列的稀疏系数,然后利用系数的性质得到test data的所属类别。其原理如下图所示:

上图最左边是一张test image(上下两张图片分别是occluded和corrupted),每个test image可以表示字典和对应的系数相乘然后加上一个误差。等号右边第一列就是图像,第二列是字典的可视化,第三列是误差。红色的系数对应的就是字典中红色框出的人脸,实验中我们用AR库700个样本构建字典,一共100类人脸,每类7个样本。指出,这里的字典是过完备字典(即字典的行数小于列数),最简单的字典我们可以直接把每一个训练样本拉成列得到,具体构建方法如下:

A就是我们要构造的字典,A1~Ak对应k类,其中, 那么给定一张测试样本y就可以表示成这样:

其中就是我们要求的系数。那么问题来了,给定一个test 样本,怎么才能让这个系数很好的表示呢。我们想是一个向量,如果test对应那一类的样本的系数比较大,而其他类对应的系数为零,这样我们就能用很好的表示test了,且这样的系数也是稀疏的。那么怎么才能使得这样的系数足够稀疏呢,这就是数学上的问题了。给定要求的式子:

其中y是test样本, A是字典,x0是待求的系数,我们的目的是要使得x0足够稀疏。这里先来谈谈之前的问题,“过完备字典”,为什么字典必须是过完备的呢。假设我们的字典不是过完备的,那么上式是过定的,对应的x0就只有唯一解了,而这个解往往不是稀疏的。相反,如果字典是过完备的,那么上式就是欠定的,对应着无穷多的。这样我们可以做一个最优化问题,找出这无穷多解里最稀疏的作为上式的解,而这个解对应着就是同类系数非零,其他类系数全零的情况了。

那么问题来了,我们怎么才能找到这个最稀疏的解呢,我们可以看成是求下式的一个最优化问题:

由于求解这个0范数是一个NP难问题,所以文中想到放宽稀疏条件,转而求解1范数问题:

这一点文中有详细的讲解:

由于实际情况中往往会引入噪声,所以我们求解中我们实际上是求解这个式子(其中Z是噪声),那么在求解这个优化问题的约束项就变成了这样

通过求解这个最优化问题,我们就可以得到最稀疏的1范数解,理论上说这个解肯定没有0范数解稀疏,但是通过不断的迭代这个解释可以求出来的并且这个解在分类问题上效果已经很好了,这样我们就可以通过求出的解(也就是稀疏系数),来判断y到底属于哪一类。之前不是说过我们的字典用了700张image,100individual(7each)吗。假设test对应的是第三类的样本,那么理论上说第三类的7个系数非零,而其他的99类的系数全零。由于实际中求出的解不可能如此理想,所以我么可以通过判断residual(残差)来决定y属于哪一类。residual如下:

其中,对应的是第i类的系数,A是字典,y是测试样本。这样我们可以把100类每类的7个系数分别代入上式,哪一类使得最小,y就属于那一类。这就是SP的分类原理了。具体算法求解过程如下:

由于用系数分类的时候我们必须判断系数的两个性质residuals和sparsity,residuals越小说明测试样本被字典表示的效果越好。会出现这种情况,给定一个非人脸的样本也能使得很好的被字典表示,但是这时候sparsity往往不满足。也就是说并非residuals越小越好,要把两者结合起来判断才可能,才能很好的用来分类,于是文中提出了SCI的概念:

(x是test样本对应的系数)我们判断此测试样本valid(即此样本是人脸样本),In Algorithm 1, one may choose to output the identity of y only if it passes this criterion。

至此我们大概把稀疏表达的原理说清楚了,上面提到的字典构建方法比较简单,直接用train data拉成列。我们可以改进下利用一些特征选择的算法提取样本的特征,然后用这些特征来构建字典,文中利用Eigenfaces, Laplacianfaces,  Fisherfaces, Randomfaces and downsampled images 分别进行了测试,用这些方法进行特征选择然后构建字典。得到的分类效果如下图:

从图中可以看出这几种方法得到的效果相差无几,也就是说SRC对特征并不敏感,即使是不进行任何特征选择也能得到很好的分类效果。同时文中还把SRC的分类效果和NN,NS,SVM等分类效果做了比较,其结果如下:

从图中不难看出,SRC的分类效果远远要好过其它三类,并且文中分析SRC对遮挡情况的鲁棒性也比较好,总而言之这是一个非常好的东西,哈哈。多的不说了,如要深究自己去细看文章就是了。

第二篇:Sparse Representation Based Fisher Discrimination Dictionary Learning for Image Classification 这篇文章是偶然情况下一个同学给我看的,看了之后就感觉灰常不错,对我们这种初出茅庐的菜鸟启发性很大。这篇文章其实是对上篇文章的一个改进,从题目我们就可以看出这篇文章把SRC和Fisher线性判别做了一个综合,文章巧妙就巧妙在将FLD的思想用到了系数的分析上而非类别的分析上。其数学思想如下所示:

其中 。如果我们能使得最小,表示此测试样本能很好的被字典表示,如果能使得

最小,就能使同类系数最紧密,不同类系数最稀疏。同时使这两项最小,就能得到更好的稀疏系数了,显然这个系数比之前SRC的系数更好。 这就是这篇文章的大概思想了,实验代码我也跑过,分类效果确实不错,但速度着实太慢,实时性不好。

第三篇:Robust Object Tracking via Sparsity-based Collaborative Model 这是教研室学术交流会上一个师兄讲到的文章,后来我又仔细的把文章看了一篇,文章利用SPC进行目标跟踪,

时间: 2024-11-10 01:18:25

cv论文(SPARSE REPRESENTATION相关)的相关文章

Sparse Representation

Given any signal \(x\in R^n\), we can obtain sparse representation \(\theta\in R^n\) of \(x\) in two ways: Basis expansion: given sparse-inducing othonormal basis matrix \(B\in R^{n\times n}\), e.g., discrete cosine transform (DCT) matrix, iscrete wa

Image Fusion With Convolutional Sparse Representation

本文主要介绍的是通过引入叫做卷积稀疏表示(Convolutional Sparse Representation,CSR)的信号分解模型到图像融合中,以解决稀疏表示(Sparse Representation,SR)的两个主要缺陷.改进后的模型在客观评估和视觉质量上都优于SR方法. 首先,图像融合(Image Fusion)技术的主要目的是:通过产生一张融合的图像,使得来自同一场景的不同源图像的信息变得更加完整.这些图像可能源自不同种类的图像传感器,也可能来自同一类图像传感器,但是有着不同的图像

【CV论文阅读】Image Captioning 总结

初次接触Captioning的问题,第一印象就是Andrej Karpathy好聪明.主要从他的两篇文章开始入门,<Deep Fragment Embeddings for Bidirectional Image Sentence Mapping>和<Deep Visual-Semantic Alignments for Generating Image Descriptions>.基本上,第一篇文章看明白了,第二篇就容易了,研究思路其实是一样的.但确实,第二个模型的功能更强大一些

【CV论文阅读】Deep Linear Discriminative Analysis, ICLR, 2016

DeepLDA 并不是把LDA模型整合到了Deep Network,而是利用LDA来指导模型的训练.从实验结果来看,使用DeepLDA模型最后投影的特征也是很discriminative 的,但是很遗憾没有看到论文是否验证了topmost 的hidden representation 是否也和softmax指导产生的representation一样的discriminative. DeepLDA和一般的deep network唯一不同是它的loss function.两者对比如下: 对于LDA,

【CV论文阅读】Going deeper with convolutions(GoogLeNet)

目的: 提升深度神经网络的性能. 一般方法带来的问题: 增加网络的深度与宽度. 带来两个问题: (1)参数增加,数据不足的情况容易导致过拟合 (2)计算资源要求高,而且在训练过程中会使得很多参数趋向于0,浪费计算资源. 解决方法: 使用稀疏连接替代稠密结构. 理论依据(Arora):一个概率分布可以用一个大的稀疏的深度神经网络表示,最优的结构的构建通过分析上层的激活状态的统计相关性,并把输出高度相关的神经元聚合.这与生物学中Hebbian法则“有些神经元响应基本一致,即同时兴奋或抑制”一致. 存

cv 论文

最近发现很多以前看的论文都忘了,所以想写点东西来整理下之前的paper,paper主要是cv(computer vision)方向的. 第一篇:Gradient-based learning applied to document recognition.这是1998年Yann Lecun的一篇大作,是研究CNN必看的一篇文章.文中提出的Le-Net5模型很好的识别了Mnist的手写体,此模型也被用到了很多银行的钞票识别上.下面来研究这篇paper的成果. 文章前面所讲到的一些数学优化的算法我们

【CV论文阅读】Dynamic image networks for action recognition

论文的重点在于后面approximation部分. 在<Rank Pooling>的论文中提到,可以通过训练RankSVM获得参数向量d,来作为视频帧序列的representation.而在dynamic论文中发现,这样的参数向量d,事实上与image是同等大小的,也就是说,它本身是一张图片(假如map与image同大小而不是提取的特征向量),那么就可以把图片输入到CNN中进行计算了.如下图可以看到一些参数向量d pooling的样例 参数向量d的快速计算 把计算d的过程定义一个函数.一个近似

【CV论文阅读】+【搬运工】LocNet: Improving Localization Accuracy for Object Detection + A Theoretical analysis of feature pooling in Visual Recognition

论文的关注点在于如何提高bounding box的定位,使用的是概率的预测形式,模型的基础是region proposal.论文提出一个locNet的深度网络,不在依赖于回归方程.论文中提到locnet可以很容易与现有的detection系统结合,但我困惑的是(1)它们的训练的方法,这点论文中没有明确的提到,而仅仅说用迭代的方法进行(2)到底两者的融合后两个网络的结构是怎样呢?可以看做一个多任务的系统,还是存在两个网络呢? 检测方法 输入的候选bounding box(使用selective s

【CV论文阅读】 Fast RCNN

Fast RCNN的结构: 先从这幅图解释FAST RCNN的结构.首先,FAST RCNN的输入是包含两部分,image以及region proposal(在论文中叫做region of interest,ROI).Image经过深度网络(deep network)之后得到feature map,然后可以从feature map中找到ROI在其中的投射projection得到每个patch,但论文没有提及怎么在map中寻找对应的patch,估计可以通过位置关系找到(猜想,因为deep Conv