最近把以前的几篇关于Low-rank的文章重新看了一遍,由于之前的一些积累,重新看一遍感觉收获颇多。写这篇博文的时候也参考了一些网上的博客,其中数这篇博文最为经典http://blog.csdn.net/abcjennifer/article/details/8572994。Rachel-zhang这个博客牛人,相信搞CV的都不陌生吧,研究生期间能有这么多积累确实难得,能把自己所学一点一滴的记录下来,这就更不容易了。科研无止境,希望以后我的博客也能像各位前辈一样,越写越好。如有人读了我的博客感觉受益匪浅,那就更是我莫大的荣幸了。好了闲话不说,还是来摆摆今天的几篇文章吧。

第一篇:RASL: Robust Alignment by Sparse and Low-rank Decomposition for Linearly Correlated Images ,这是我接触Low-rank的第一篇文章,文章利用Low-rank的算法进行图片的对齐(Alignment)同时还可以有效的去遮挡,从实验的效果来看,算法的对齐效果和去遮挡效果还是很好的。不过这种算法只能对批量的图片进行处理,不能对单张图片处理,这也局限了它的应用场景,下面我来简单的介绍下文章的实现过程。

首先矩阵里面秩的概念相信大家都很熟悉,假设给定我们同一个人的10张图片,如果这10张图片表情,光照,人脸的偏斜角度都是一模一样的,并且没有受到任何噪声的干扰没有任何的遮挡。那么把这10张图片拉成列构成一个矩阵,理想的角度来讲,这个矩阵的秩应该是1,我们可以认为这10张图片是完全对齐的的。如果这10张图片中只有少数图片不是对齐的,被遮挡了,位置偏移了或者受到了光照的影响,那么把这10张图片放在一起构成的矩阵,矩阵的秩肯定就不为1。如果这10张人脸的图片,相互的差异都非常大,那么把它们放在一起构成的矩阵,秩就可能是满纸的。从这个角度来说,我们可以认为low-rank是图片对齐的一种数学上的表示。由于实际情况中,对齐的图片不可能完全一样,所以不可能为1,但是我们可以放宽条件,当样本所组成的矩阵,秩比较小时,可以认为样本对齐的效果是比较好的。这就是文章的主要数学思想,貌似很简单是吧,不过要实现却不是那么容易,其中涉及到了大量的数学运算。

由于实际情况中,我们处理的样本都会引入噪声,样本本身也可能有一些遮挡,所以这里我们引入一个误差E。

其中是一个low-rank的矩阵,也就是说A可视化的样本是对齐好的,

, 矩阵E是误差,由于图片中噪声或者遮挡区域只占很少一部分,所以我们可以认为矩阵E是稀疏的。也就是说对于一类训练样本,我们拉成列组成矩阵D后,D可以分解为一个low-rank的矩阵A和误差矩阵E。这样我们可以认为A是对齐好了的矩阵,E是一个稀疏的误差矩阵。那么接下来的问题就是,怎么才能完成这样的一个分解,得到我们想要的对齐矩阵A呢?

首先我们把矩阵D到A+E看成是通过一种变换得到的,那么上式就可以写成这样:。其中是一种变换,通过这种变换,D可以转换为A+E,使得A的秩非常小,E非常稀疏。于是问题就转化为求解这样一个最小化问题:

矩阵D是已经给定的了,需要找到这样的一个变换,使得rank(A)足够小,误差矩阵E足够稀疏。试验中的初始值我们可以给定,通过不断的迭代来修正,从而求出A和E。但是问题就来了,这个式子是“非凸的”,我们找不到其求解办法。于是我们采用近似求解,也就是所谓的“凸松弛”。利用求nuclear norm代替求rank(A),利用求1-norm来代替求0-norm,并且引入parameter来均衡A的低秩性和E的稀疏性,至于参数的取值大小可以参考马毅的那篇文章:Robust Principal Component Analysis。于是问题就变成了下面这样:

这个式子的求解难点在于限制条件的非线性。但是如果每次的增加都非常的小,我们就可以认为限制条件是线性的,上式就可以写成这样:

其中是一个雅克比行列式,上式的得来其实就是泰勒级数展开的前两项。那么我们最终的优化式子就变成了这样:

剩下的工作就是如何来求解这样的一个公式,找出最好的A和E了。文中介绍了两种种算法,以及完整的数学证明(证明去看原文),这里我就直接粘贴下来:

Algorithm 1 是针对的,Algorithm 2是针对的。用这两种算法,我们就可以找到想要求解的A和E了。下面我们来看一下利用这样的低秩算法处理图片对齐的效果:

从图中可以看出对于x和y方向偏离0~0.4距离内,算法能很好的对齐,对偏移角度0~60°内,算法也能很好的对齐。

下面是对没有遮挡,关照角度变化较大情况的处理情况:

下面是对dummy head的处理效果,可以看出对去遮挡的效果还是很好的

下面是对自然图片的处理情况:

可以看出算法的实验效果是非常好的,其应用场景也是非常的广泛,可用于图像矫正与去噪,图像标签精华,文本分析,音乐词曲分离等场景。

第二篇:TILT: Transform Invariant Low-rank Texture,这篇文章的主要贡献是提出了一种从2D图像中提取3D结构的方法从而对图片进行矫正。其主要思想是:对于未加旋转的图像,由于图像的对称性与自相似性,我们可以将其看做是一个带噪声的低秩矩阵。当图像由端正发生旋转时,图像的对称性和规律性就会被破坏,也就是说各行像素间的线性相关性被破坏,因此矩阵的秩就会增加。低秩纹理映射算法(TILT)是一种用低秩性与噪声的稀疏性进行低秩纹理恢复的算法。它的思想是通过几何变换τ把D所代表的图像区域校正成正则的区域,如具有横平竖直、对称等特性,这些特性可以通过低秩性来进行刻画。

对于单张图片,比如说一张歪了的人脸,怎样才能矫正它让它左右对称,变得规整(也就是我要说的“正则”)呢。传统的方法是提取一种invariant feature(如SIFT),然后利用特征找出图中突出的地方(如人眼,鼻子,嘴角),然后利用这些points/regions来矫正图片,但是这种方法很不鲁棒,对光照,遮挡比较敏感。并且,严格来说,并不曾存在invariant feature under projective transformations or homographies。于是本文提出了一种,不经过任何仿射变换或者投影变换从2D图片中提取一种3D结构的方法,对图片进行“正则化”。上一篇文章提出的RASL算法能很好的对图片进行矫正对齐,去遮挡,去光照。但是这种算法的局限在于只能对批量的同类图片进行处理,对于单独的一张非“正则”的图片,RASL算法是无法处理的。那么有没有算法能解决这个问题,对单张“非正则”的图片进行对齐矫正呢?本文的出现就是要解决这样的一个问题,首先文章提出来一种“Low-rank Textures”的概念。

在这种“Low-rank Textures”的概念下,如果一张图片是“正则”的,那么这张图片的矩阵就具备“Low-rank Textures”性质,否则就不具备“Low-rank Textures”的性质。确定了这点,我们只需利用凸优化算法,是给定的图片具备Low-rank Textures,我们便完成了对这正图片的矫正了。那么这种概率是什么样的呢,这里我还没看懂,直接贴出原文:

在这种“Low-rank Textures”概念下,vertical和horizontal和slope可以看成秩1texture,corner可以看成秩2的texture,如下图所示:

a图是input image,处理前rank = 11, 处理后rank = 1. b和f一样,处理后变成了一个Corner,rank = 2。那么给定一张“非正则”的图片,怎么才能recovery the Low-rank Texture呢? 给定一张图片,我们可以把它看成是它的“Low-rank Textures”图片经过变换得到的。在文中,我们可以认为变换是仿射变换或者单应性变换。也就是说我们所看到的非“非正则”图片,可以看成是“正则”图经过这两种变化得到的,所以非低秩。由于噪声和遮挡的影响,我们引入误差矩阵E,于是

   求解这样的“Low-rank Textures”矩阵就变成了解下面这个式子:

剩下的就和文章一如出一辙了,在此我就不多讲了,本文和上文最大的不同就是提出来一种“Low-rank Textures”概念,对单张图片进行低秩处理,进行矫正。算法直接贴下:

下面展示实验的效果:

从图中可以看出,此算法能很好的矫正单张图片,文章也提供的代码。本人跑过代码,效果还是可以的,但有时候矫正效果也不如传统的方法,如人脸对齐中的仿射变换。

     第三篇:Robust Principal Component Analysis? 这篇文章仅在此提一下,文章中设计大量的数学公式实在看不下去,大家可以去看这个微博:http://blog.csdn.net/abcjennifer/article/details/8572994。

转自:https://www.cnblogs.com/txg198955/p/4096003.html

Low rank 论文相关推荐

  1. 【卷积神经网络的加速】Speeding up Convolutional Neural Networks with Low Rank Expansions

    主题:[深度卷积神经网络的加速] Speeding up Convolutional Neural Networks with Low Rank Expansions 附上论文链接:上一篇中提到的低秩 ...

  2. Sparse low rank approximation

    1. Sparse and low rank approximation (source codes) :http://www.ugcs.caltech.edu/~srbecker/wiki/Main ...

  3. low rank读书笔记

    Learning Transformations for Clustering and Classication Qiang Qiu, Guillermo Sapiro Abstract 1.在子空间 ...

  4. low rank 近似

    在机器学习中,低秩近似是指使用较少的数量的基向量来近似一个矩阵.这种方法可以用来减少数据的维数,并且在许多情况下,这些基向量可以用来很好地表示数据.例如,在自然语言处理中,可以使用低秩近似来将文本文档 ...

  5. 医疗术语自动编码论文总结 (Automated Coding)

    1996 Larkey, Leah S., and W. Bruce Croft. "Combining classifiers in text categorization."  ...

  6. 关于计算机视觉的那些论文 | CCF推荐论文导读

    目 录 1 Quality Evaluation for Image Retargeting With Instance Semantics 2 PFAN++: Bi-Directional Imag ...

  7. 论文笔记 Traffic Data Reconstruction via Adaptive Spatial-Temporal Correlations

    IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS 2019 0 摘要 数据缺失仍然是交通信息系统中的一个难点和重要问题,严重制约了智能交通 ...

  8. 【论文解读】DCN-M:Google提出改进版DCN,用于大规模排序系统的特征交叉学习(附代码)...

    " 本文结合DeepCTR-Torch中的代码实现,介绍了DCN的改进版--DCN-M.该模型能更有效地学习特征交叉,并通过低秩矩阵分解对参数矩阵进行降维,降低计算成本.受MOE结构启发,作 ...

  9. 【AI 顶会】NIPS2019接收论文完整列表

    NeurIPS2019 NeurIPS 2019的论文结果已经出炉, 包括了36篇oral和164篇spotlights共1428篇论文.可以看到论文的主题还是以深度学习.神经网络.图.优化.通用性. ...

  10. 【CVPR2019】完整论文列表二

    CVPR 2019 Paper list No.1001-1294 ?CVPR2019 完整列表一 论文题目与链接 Semantic Component Decomposition for Face ...

最新文章

  1. Windows 技术篇 - 无需确认快速删除包含大量文件的目录,cmd删除文件的rmdir、del、erase和rd四种命令使用方法
  2. ITK:灰度图像中的聚类像素
  3. 修复cocos2dx的Label,WP8下不能换行的问题
  4. MySQL基础总结(二)
  5. LiveVideoStack主编观察回归 05/
  6. Android版:验证手机号码的正则表达式 (转)
  7. 每天一个实用小技巧!归纳多个文件、批量修改文件名
  8. Linux笔记-设置SSH公钥免密码登录
  9. python中浮点型和十进制_Python3.2官方文件翻译-工具列表和十进制浮点计算
  10. android开发笔记之materialish-progress
  11. 程序员 -- 当我彻底放弃自私自利后,前途变得一片光明,不能过多的只是关注自己的功夫,生活不能只局限在方寸虚拟世界里
  12. Android笔记-Felix
  13. 八旬老人守护病妻24年不弃 称爱就要守在一起
  14. 计算机音频接口,一台计算机的两个音频输出
  15. ubuntu18.04美化主题(完整版)
  16. springboot+Vue饭店点菜点餐管理系统
  17. Gallery3d 学习笔记(13)
  18. 压缩png命令cmd_PNG图片文件大小怎么改变
  19. 你是胡萝卜,是鸡蛋,还是咖啡豆
  20. 支付宝支付和微信支付

热门文章

  1. Python量化交易平台:QMT (日内交易策略示例)
  2. acceleration transducer
  3. netplan apply报错Error: Conflicting default route declarations for IPv4 (table: main, metric: default)
  4. c语言stract函数是什么,您好,这个函数该怎么办,是关于C语言strcat函数?
  5. 服务器怎么连接无线路由器怎么设置,光猫连接无线路由器怎么设置
  6. python图层合并_Photoshop_【批量将同一背景与不同的上层合并图层的技巧】导出+Python3.X实现...
  7. java时间转换为标准时间
  8. 开关电源设计实例之Boost 篇
  9. Windows 7驱动自动安装设置及手动更新方法
  10. 前端下载zip出现文件打不开