矩阵的秩和图像的秩的一些了解
参考链接:cv论文(Low-rank相关)_weixin_30790841的博客-CSDN博客
相关论文
第一篇: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,但是我们可以放宽条件,当样本所组成的矩阵,秩比较小时,可以认为样本对齐的效果是比较好的。这就是文章的主要数学思想,貌似很简单是吧,不过要实现却不是那么容易,其中涉及到了大量的数学运算。
参考链接:矩阵的秩,特征值和特征向量 矩阵基础概念_TranSad的博客-CSDN博客_矩阵的秩和特征值
矩阵的秩,特征值和特征向量
1.矩阵的秩
把一个m*n的矩阵拿出来,可以得到它的行向量组(每一行是一个向量,共m个向量)或者列向量组(每一列是一个向量,共n个向量)。
我们就拿行向量组来分析:
假如这m个向量,互相全都是线性无关的,则这个矩阵的秩就是m。其实就是:有几个线性无关,则这个矩阵的秩就是几。什么是“线性无关呢”,举个例子,向量[1,2,1]和向量[2,4,2]一看就知道是*2的关系,则这两者“现行有关”;若是向量[1,2,1]和向量[1,5,2],则这两个矩阵线性无关。
要判断a1,a2,a3是否线性无关,可以令k1a1+k2a2+k3a3=0,通过解方程的方式来判断是否a1,a2,a3线性无关。若k1=k2=k3=0,则线性无关。
这里有个规律:不管是拿矩阵的行向量组还是列向量组来计算,最终得到的秩都是一样的。
我的理解:矩阵的秩就是矩阵当中互不相关的向量的个数。
2.矩阵的特征值和特征向量
首先明确,矩阵乘以向量,可以对向量起到拉伸和旋转的作用。
比如我现在有一个向量(1,1)
则它现在是这样的:
若拿一个矩阵乘以这个向量(1,1),比如拿这个矩阵来乘:
可以看出我们会得到结果(2,1),画在图上就是这个效果:
可以发现这里我们只用了一个对角矩阵,实现了对原向量在横坐标上的一个拉伸。再进一步思考,其实如果矩阵的右上角不为0,或者左下角不为0(假设是个正值),则分别会导致原向量向右旋转或向左旋转。可以得到结论:矩阵可以作用到一个向量,使其旋转或拉伸。
那有没有一类向量,我使用一个矩阵去作用之后,它的方向不变呢?有!通过这样就可以引出特征值和特征向量来:
对于一个矩阵A,我们寻找一个非零向量x,使得A作用后的x(即Ax)与x平行,并且大小上满足Ax=λx(λ是个常数)。一旦找到这样的存在,则x就是特征向量,λ就是特征值。
换个通俗的说法:我们用矩阵A去作用(乘以)世界上所有的向量。其中矩阵A作用后的大部分向量都会被旋转和拉伸,只有矩阵A的特征向量能够独善其身(保持原有的方向)~
其实,特征向量就代表了矩阵当中的“某一方向”,它能够代表矩阵的关键信息。所以这样两个拥有同样特征的存在相互作用,方向自然不会改变了。而且他们“方向”越一致(越是同道中人~),作用的结果就会越大,λx当中的特征值λ也会越大,因此特征值λ的大小也代表了这个特征向量的重要程度(相比于这一矩阵的其他特征向量)。我记得学习和接触PCA降维的时候,特征值越大的特征向量就越重要,因为这样的向量更能代表图像特征,就是这个意思。
一个矩阵有多个特征向量,我们用特征空间来表示所有这些。即特征空间包含了所有的特征向量。
我们来看特征值和特征向量的定义。我们来结合矩阵与空间变换的理解,矩阵对向量的作用,就是相当于把原来的空间变换到新的空间;如果我们用矩阵是线性变换的理解(形象理解线性代数(一)——什么是线性变换?),那么说就是对原来的基底的变换。
从空间的角度来理解,对于向量乘以系数其实就是对向量的缩放(长度或正负方向发生改变,但还是在同一直线上),而矩阵(方阵)的作用是空间的转变。如果一个矩阵对一个向量的作用只是对其进行了缩放,而没有角度的改变,那么这个向量就叫做特征向量,而缩放的比例就叫做特征值。(参考链接:https://blog.csdn.net/qq_34099953/article/details/84291180)
参考链接:图像的秩与矩阵的秩_深度瞎学的博客-CSDN博客_图像矩阵的秩
2、图像的秩和矩阵的秩
矩阵的秩 = 最大的线性无关的行(或列)向量的个数。对于图像而言,秩可以表示图像中包含信息的丰富程度、
冗余程度、噪声。
秩越小:
- 基的个数少
- 数据冗余性大
- 图像信息不丰富
- 图像噪声少
低秩矩阵
概念
当矩阵的秩较低时(r << n, m),就可以视其为低秩矩阵。低秩矩阵意味着,此矩阵中有较多的行(或列)是线性相关,即:信息冗余较大。
作用
- 利用低秩矩阵的冗余信息,可以对缺失数据进行恢复,此问题叫做 “低秩矩阵重构” ,即:“假设恢复出来的矩阵是低秩的,利用已有的矩阵元素,恢复出矩阵中的缺失元素”,可以应用在图像修复、协同过滤等领域。
- 在深度学习中,卷积核的参数过多,往往存在较大的冗余,即:卷积核参数是低秩的。此时,可以对卷积核进行低秩分解,将k × k 的卷积核分解为一个k × 1 和一个1×k的核,这样可以降低参数量、提高计算速度、防止过拟合。
稀疏编码
为什么要稀疏编码?
首先,存在一个假设(也是事实,算是先验知识)——自然界的信号组成是稀疏的。进行稀疏编码后,可以达到降维,提高计算效率的作用。
图像与秩
矩阵的秩和图像的秩的一些了解相关推荐
- 【图像重建】基于matlab字典学习KSVD图像低秩重建【含Matlab源码 1762期】
⛄一.低秩稀疏图像重建简介 1 矩阵的低秩稀疏分解理论 从数学上讲, 矩阵的秩反应了矩阵的固有属性, 矩阵的低秩性是指矩阵的秩相对于矩阵的行数和列数而言很小.低秩矩阵稀疏分解模型是将已知矩阵M (M∈ ...
- 矩阵的秩和向量组的秩
1.矩阵的秩 2,.向量组的秩 3.关系 关系 矩阵的秩就是向量组的秩 即3秩相等定理 1.定义不同 1.向量组bai的秩为线性代du数的基本概念,它表示的是一个zhi向量组的极大线dao性无关组所含 ...
- 简述矩阵的秩和向量组的秩的定义 从定义出发分析两者之间的相互关系
(1)简述矩阵的秩和向量组的秩的定义:(2)从定义出发分析两者之间的相互关系. (1)简述矩阵的秩和向量组的秩的定义: 矩阵的秩的定义:设在矩阵A中有一个不为0的r阶子式D,且所有的r+1阶子式(若存 ...
- 推荐系统之---如何理解低秩矩阵?
1.说明 在推荐系统中有有一种推荐方式:LFM,也叫隐因子分解.这中推荐方式在Netflix公司的百万美金大赛中可以说是大放异彩.但是在这里面涉及到一个假设.假设评分矩阵是低秩的(Low rank). ...
- 如何直观地理解矩阵的秩?
矩阵的秩可以直观地理解为筛眼的大小: 下面就来解释这句话是什么意思? 1 矩阵的作用 假设对于向量 x1 . x2. x3.x4 有: 上述关系可以用图像来表示,左侧的向量 x1 . x2. x3.x ...
- 低秩矩阵(Low-Rank)的意义
1.回顾基础: 矩阵的秩度量的是矩阵行列之间的相关性,如果各行各列都是线性无关的,矩阵就是满秩.非零元素的行或列决定了秩的大小.//划重点,秩可以度量矩阵自身相关性 讲个小故事: 首先来思考,为什么叫 ...
- 保研复习——线性代数3:矩阵的秩与线性方程组
博主不定期更新[保研/推免.C/C++.5G移动通信.Linux.生活随笔]系列文章,喜欢的朋友[点赞+关注]支持一下吧! 矩阵的秩与线性方程组 1.矩阵秩的概念 在m×n阶矩阵A中,任意取定k行l列 ...
- 线性代数拾遗(3)—— “系数矩阵的秩” 和 “齐次线性方程组基础解系向量个数” 的关系
本文说明以下重要结论 nnn 元齐次线性方程组的解空间的维数(基础解系中向量个数),加上此方程组系数矩阵的秩 rrr,等于未知量个数 nnn 考虑一个 nnn 元齐次线性方程组如下,它总共有 nnn ...
- 【高等数学】矩阵与向量组的秩和等价
矩阵与向量组的秩和等价 矩阵和向量组是一组很容易混淆的概念,尤其在"秩"和"等价"这两个概念的时候容易混淆.现在把这几个概念拎出来,仔细观察,以求正本清源. 一 ...
最新文章
- Linux(1)---常用命令
- Python_03-数据类型
- 光猫直连电脑不能上网_电脑插上网线不能上网怎么办
- 我的zencart 安装流程
- 最详细的创建虚拟机_创建_安装配置_配置启动向导
- linux强大功能,linux grep和find 的强大功能
- python定义区间[-5、5_有一个数 x 在区间 [-5,0] 内 , 写出其条件表达式 。 (5.0分)_学小易找答案...
- 基于webpack3.x从0开始搭建React开发环境
- 自定义EditText输入框
- System.currentTimeMillis()与日期之间的相互转换
- 五年前,跳槽涨薪,你笑了,五年后,跳槽降薪,请接受
- MySQL Index Merge Optimization
- js学习笔记(新手向)
- JUnit4(三)高级之 assertThat和Matchers (匹配器)
- Schlumberger.SPAN.Rock.v9.1.5 1CD跨度岩石强调岩石射孔分析软件
- 贝壳基于 Flink 的实时计算演进之路
- 大数据开发,如何发掘数据的关系?
- Modelica学习笔记3
- html鼠标悬停图片悬浮,CSS 鼠标悬停图片,显示隐藏文本
- Citrix 相关资料整理
热门文章
- HTML5+CSS3开发-胡杨柳依-专题视频课程
- 苹果cmsv10蓝色简约响应式小鸟影视主题模板
- 小程序源码:百变头像框制作-多玩法安装简单
- 用计算机对PLC进行编程时,PLC编程中的五个常见问题
- 【数据应用案例】人群优选算法模型,挖掘品牌潜客
- JVM 系列(一) --- 深入浅出对 JVM 的理解
- 收藏备用 | 了解这些砼试块常见问题,升职都快人一步
- DIN EN ISO 4589-2塑料 用氧指数法测定燃烧行为 第2 部分:室温试验
- wifiadbtool下载_私享空间-中兴B860Av1.1免拆机仅安装APP教程 - 中国电信悦me盒子
- iOS Xcode13基于dSYM和ips文件Crash奔溃堆栈解析