目录
一、总体算法流程
![](https://i-blog.csdnimg.cn/blog_migrate/3f078062773d1f84f2ab8db88335cada.png)
左边:通过SCI相机之一的CACTI获得Measurement测量值y(多帧Scene与Mask做Hadamard乘积之和)
Hadamard乘积是两个矩阵按照对应元素相乘所得到的结果。如果两个矩阵A和B的维度相同,即A和B都是m行n列的矩阵,那么它们的Hadamard乘积C的每个元素c_ij就是a_ij和b_ij相乘所得到的结果,即:
C = A ⊙ B → c_ij = a_ij * b_ij
中间:将y与Mask输入,Initialization是指将y恢复成多帧(如何做?)然后将多帧划分为N个*
重叠块zi,然后从L*L(空间)*H(时间)大小的搜索窗口计算(根据欧式距离)与这N个块相似的M块,将其组成Si,Si组成数据矩阵Zi(d*M),对Si进行WNNM去噪,得到Z’,然后通过聚合恢复x',通过x’计算出
,接着继续进行迭代,达到迭代次数后输出。
右边:GAP-TV与DeSCI的效果对比
二、算法公式详细推导
1、基础知识
- SCI系统中的测量,其中B帧,n个像素中的每个像素折叠成快照可以用以下式子建模:
其中y为SCI测量值, 为传感矩阵,x为需要恢复的多帧,g为噪声
在本文SCI系统,也就是用于视频CS的CACTI和用于光谱CS的CASSI来说,可以用以下公式表示:(D为对角矩阵,则
为对角矩阵)
令(k=1~B)
则以CACTI中的SCI为例,考虑B个高速帧Xk相应地由掩码Ck调制。测量值y由下式给出:
为Hadamard乘积,
对于位置(i,j)处的所有B帧像素中,它们被压缩以在单次测量中形成一个像素(i=1~nx;j=1~ny),可得,
Zi由于其中的块具有相似的结构(相似的部分可以线性代替),也可以说所有的特征中真正有用的特征不多,所以Zi为低秩。
使用低秩(WNNM(加权核范数最小化))作为约束条件可以得到以下的公式:(为正则化参数)
加权核范数如下:(wj是分给σj的权重,σj是Zi的第j个奇异值)
2、以下是具体推导如何解SCI-WNNM的优化问题
- 构造辅助变量
- 通过构造增广拉格朗日函数进行转化
由此,得到论文中的三个转化公式如下:
- 接下来就是分别对三个式子进行求解
(1)求解
然后利用一些简单的矩阵变换,将原始矩阵的求逆问题转化为求解一些更简单的子问题,从而降低计算的复杂度。具体使用以下引理:
可得:
将(17)代入求解出的可得,
令
两项之和的逆求法如前述Matrix inversion lemmas,简化得(A+B)^(-1)=B^(-1[A^(-1)+B^(-1)]^(-1)A^(-1)
且两项之积的逆(AB)^(-1)=B^(-1)*A^(-1),可得:
代入(19)得,
令
得,
其中,下式子可以一次更新
可以用以下式子提前计算并存储好
综上,利用(22)可以有效的更新
(2)求解x
设q=-b,则求解x的式子可转为去噪的问题:(用于视频)
设Ri是由与Zi对应的q构造的第i个块组,令q为有噪声版本的x,即q=x+e,其中e表示零均值高斯白噪声,并且ei~N(0,)。可以从重建Zi来恢复x。
大数定律:
引用大数定律得,
n和N都很大(即>60000),并且重叠的补丁是平均的,因此我们可以将(24)转化为以下问题
其中Zi可以依靠下式独立求解,
根据前面的假设,可得 ,故根据以下方法可得闭解:
奇异值分解 (Singular Value Decomposition, SVD) 是一种矩阵分解方法,可以将一个任意形状的矩阵分解成三个矩阵的乘积,从而得到该矩阵的重要信息。
根据奇异值分解(SVD)得, (
)
由于Ri是Zi的稀疏结构,所以Zi的奇异值矩阵应由Ri的奇异值矩阵进行权重选择得到,取奇异值较大的行,式子表达如下,
(3)求解w
对于自然图像/视频,我们有一个普遍的先验知识,即Zi的较大奇异值比较小奇异值更重要,因为它们代表Zi的主要分量的能量。在去噪的应用中,奇异值越大,它们应该收缩得越小,即
其中c>0,>0是常数,M是Zi中的补丁数量。
由于x不可用,σj(Zi)也不可用。我们估计如下:
其中在每次迭代中被更新。关于有一些启发式方法[24]可以根据当前估计确定
。
三、完整的DeSCI算法
初始化参数 → 预计算 → 反复迭代(
→q→Ri→Zi→x'→
→b)→ 达到最大迭代次数后输出重构的x