RPCA的一些理解

58 篇文章 7 订阅
49 篇文章 0 订阅
文章大意:
PCA方法鲁棒性不佳是由于矩阵的噪声并不完全是高斯噪声。对应到视频序列中就是,长时间的静止视频中每帧的图片相关性极高,而在有物体运动时,往往是部分像素有极大的变化,但是变化的像素较少。这也就是说,视频中图像可以分成相关性极高的背景以及少量像素的前景图像。即低秩部分以及稀疏部分。这是优于PCA的部分,即前景图像对矩阵的分解影响较小。(虽然论文中提到了,矩阵不是特别稀疏时也有很好的性能)

直接提应用方式:
将视频中的一张图片以行的方式依次存入到一个行向量中,而视频包含的图片数作为其矩阵的行数。由此将视频存成一个矩阵,对该矩阵进行分解,然后将两部分恢复成单张图片即可。

我们希望矩阵分解后产生一个低秩的矩阵和一个稀疏的矩阵,即最小化rank(A) + E的0范,因为问题的复杂性,将其放宽到:

即最小化特征值与稀疏矩阵非零元素的和。

有关RPCA方法的结果显示:



inexact_alm结果显示:



这段视频两种方法的差异并没有论文中的明显。
没有查找到PCP方法的代码部分,代码根据下列迭代方式编写


有关公式的理解

不关注k,k+1该部分只是迭代的固有格式,3,4反过来做也可以,4中的L上的k+1改为k应该也行,不过上述写的方式收敛比较快。


有关各部的参数问题
u的取值并没有明确的证明,只有一个最小值的证明。

u存在其最小值,u非常小时会导致迭代时,所有量都会像误差项集中;u非常大时,将导致低秩部分中会混杂入稀疏部分,不过误差项仍会向零向量移动。也就是这时仍是收敛的


u较大时,收敛速度会提高,不过过大会造成混杂,最终效果会变差。u小时,收敛速度较低,不过效果比较好(太小导致不收敛)
lambda的取值一般设定为矩阵行列中值较大的值进行开方后的倒数值。


有关迭代部分的理解:
3式右边的矩阵为低秩的部分,我们希望它的秩更加低,将矩阵进行svd分解后,去除过小奇异值后,将矩阵还原(实际上这常用于图片的压缩)。
4式右边的矩阵为稀疏部分,我们当然希望它更稀疏,也就是将小值的元素部分去除
5式则是误差项的更新。


而结束条件如下:


这里u的取值也提到了。

F范数代表矩阵的能量。 


一般形式的图像:加上噪声项的部分,之前看到一篇文章的名字(有关该部分的):
Stable Principle Component Pursuit (SPCP)/ Noisy Robust PCA


最后有关代码编写中的一些备忘:
在分解出的稀疏矩阵中,该矩阵元素为正负均有,最终的显示将图片取绝对值,然后在0-255的范围中显示。



  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值