陆吾生感知压缩视频笔记

Lecture 1

Key: sparse & incoherence

Sparse: There is not too much informations. 比如一个长度为1024个向量,即有1024个分量,但其中只有几十个分量不为0,则这个向量就称为sparse vector。

CS只在很稀疏的情况下才成立。除了白噪声,其他所有信号(音乐、图像、股市等)都可以看做sparse。

取样方式与传统不同,CS可以取更小的点,比如1000长度的信号,可以只取300次。还原信号时要有算法,能够从很小的样本来还原很大的信息(Reconstruction)。

2006年被认为是CS开创的年代。

Shannon-Nyquist Sampling Theorem

A continuous-time signal x(t) with frequencies no higher than $f_{max}$(上届频率,band-limit) can be reconstructed from its samples $x[k]=x(kT_s)$, if the smaples are taken at a rate $f_s =1/T_s$ that is greater than $2f_{max}$。

如果一个函数的傅里叶变换后,在某一个区域之外都为零,则这个函数一定可以通过采有限的点来完美的恢复出来。该定理在根本上解决了对连续信号采样后可以完美恢复信号的问题。

一个连续函数在正实轴上无线衍生,上面有无穷个点(countless),我们定义为有$aleph$个,然后我们等间隔取样,取无穷个点(countable),我们定义为$aleph_0$个,两者的关系为$aleph=2^{aleph}$。

一个实值的函数的傅里叶变换后得到的是一个复值函数,在频率域中做模值关于频率的函数得到的一定是对称的。

对于模拟信号采样后的信号,得到傅里叶变换信号是周期的;这时如果采样频率不足,则不同周期的傅里叶谱会有信号重合,也就无法进行回复。如果采样频率满足采样定律的话,则可以使用一个低通滤波器来取出信号,用以恢复原来的信号。

连续信号通过采样得到的取样信号:

$$x_s(t)=x(t)s(t)=x(t)sum_{k=-infty}^{infty} delta(t-kT_s)=sum_{k=-infty}^{infty}x(t)delta(t-kT_s) =sum_{k=-infty}^{infty}x(kT_s)delta(t-kT_s)$$

上述说的在频率域通过一个盒状低通滤波器来取样,可以理解为在时域通过一个sinc函数来卷积,于是(利用$delta$的取样特性)

$$han{x}(t)=sinc(frac{t}{T_s})ast sum_{k=-infty}^{infty}x(kT_s)delta(t-kT_s)=sum_{k=-infty}^{infty}x[k]sinc[(t-kT_s)/T_s] (x[k]=x(kT_s))$$

Sparse and Compressible Signals

一个向量长度为n,即有n个分量,如果里面的非零分量有r个,且r<<n,我们说这个向量是sparse

如果一个矩阵为A,则matlab中a = A(:); 可以生成一个向量,长度为A的所有元素。 我们将向量a左乘一个正交矩阵,比如余弦矩阵,那么得到的y可能就是一个sparse的,同时由于矩阵各列正交,则y与a的能量不变。为了让y稀疏,采取阈值方法,比如y中所有模值低于$epsilon$的都归为零,则相当于对y进行了sparse。Matlab代码可以写为:

ind = find(abs(y)<$epsilon$);

y_sparse = y;

y_sparse(ind) = 0;

如果矩阵为小波矩阵,字典矩阵,那么测得y的稀疏性更好。

 

Lecture 2

数字信号指的是两个坐标方向都离散化(时间离散、信号离散)digital signal。

Shannon-Nyquist采样公式中,关键在于采样率是否超过两倍的带 宽。

数字信号中,我们得到一个向量$[x_1, x_2, … , x_n]^T$,这里的$n$理解为你的采样率,即单位时间采样的点数。

下图稍微介绍了一下关于矩阵的理解,可以看做信号往矩阵基向量上的投影。(个人认为基用矩阵列向量来构成也可以)

所以关于CS,我们要做的便是争取做更好的投影使达到sparse的效果。

这里给出离散余弦矩阵(DCT)的表达形式(这是一种non-adaptive):

Matlab代码为:

如果采用小波基,这里原理忽略,关键在于理解小波是一个滤波器,长度较短(一般是2),所以要重复针对均值部分进行处理。

在利用小波做处理的时候,通过将差频信息制零,就可以是的小波处理过的信息sparse。需要特别注意的是,做小波处理的前提是能够取得全部的信息,然后做处理之后再丢掉大部分数据。

Overcompleted Dictionary

如果一个信号f在矩阵W的作用下,可以得到一个稀疏表示a,即$Wf=a$。那么反过来,$f=W^T a$,表示一个信号可以用一个矩阵和一个稀疏系数表示。如果我将$W^T$进行扩展,虽然稀疏系数的分量增加,但其更加稀疏。

Lecture 3

字典D是一个$n imes l$的矩阵,每一列是一个atom,于是信号f可以表示为:$f=Dx$。

Hadmader-Walsh 矩阵,最后一步的作用是让每列正交。

方程$y=Dx$的解全部可以由字典$D$的KVD后的结果表示。其中要求D是一个长矩阵$l imes n, l >n$,且$rank(D)=n$

解的形式表示为特解+通解:$x=x_s + V_n phi$。其中$x_s=D^T(DD^T)y$;$V_n$是字典D在SVD($D=USigmaV^T$)之后得到V($l imes l$)矩阵从第$n+1$列到$l$列组成的新矩阵;$phi$是自由向量,任意一个都满足其解。

引入范数(norm)概念:for $1 leq p < infty, ||x||_p = ( sum_{i=1}^n ||x_i||^p )^{frac{1}{p}} $ 其中p为0(特殊,x中不为0的个数),1,2,$infty$最为常用。对于一个范数,必须满足:

  1. $||x||geq 0$
  2. $||x||=0 Longleftrightarrow x = 0$
  3. $||alpha x||=|alpha| ||x||$
  4. $||x+y||leq ||x|| + ||y||$

当p小于1的时候,上述的4个条件并不都满足。所以严格来说,$l_0$-norm,其实不是norm,因为在小于1的时候就已经不能说是norm了。

所以CS问题变为: $min ||x||_0 s.t. Dx=y$ 但是这变成了NP-hard问题,实际的处理方式是求解$min ||x||_1 s.t. Dx=y$

由于$l_1$范数中有绝对值,求模的和是个困难问题,通过增加条件来是问题改变,即最小化模的上界的和:

$$min sum_{i=1}^n d_i s.t. | heta_i| leq d_i , D heta = x$$ 通过增加条件(由1个变为2n+1个),可以使得求解问题以及条件中不存在绝对值运算。

Coherence Between two Bases

我们构建字典D的时候,让其有两个部分组成,即$D=[Phi Psi]$,这两个方阵都是正交矩阵,那么如何判断这两个矩阵组成的字典D是否合适?

我们说这两个基最好incoherence,即相互独立最好。核心式子:

$$mu(Phi, Psi) = sqrt{n} ullet max_{lleq k, jleq n} |phi_k^T psi_j|$$

于是我们的$mu$测量的是两个矩阵最大的相关性,范围是$[1, sqrt{n}]$,其中越接近1,表明两个矩阵越不相关,用以做字典D的效果越好。

Lecture 4

针对两种基(方阵$n imes n$)$Phi Psi$,可以理解为一个字典的两个部分,也可以理解为一个系统的两个部分。这两个基的关系可以看做字典的性质或者系统的性质。下面几种情况效果比较好:

$mu(I_n, C_n^T)=sqrt{2}, mu(I_n, F_n^T)=1, mu(I_n, H_n)=1$

其中第一个矩阵如果不用单位阵,而是一个随机矩阵,效果往往会得到提高。

Sensing a sparse signal

$y=Phi heta$

如果$ heta$是稀疏的,那么我们通过测量到的$y$,就可以想办法去还原$ heta$。问题变为:

$min || heta||_1 s.t. y=hat{Phi} heta $

这里说明一下用到的一些数字:n,向量长度;m,采样数;r,在某个基下面的稀疏情况(即非零个数)。那么一般我们的目标是r < m << n(m > Cr log n , m>4r)。由于$Phi$是$n imes n$,则$hat{Phi}$是$m imes n$的矩阵,其中m行是完全随机取。

对于范数的几何图形,可以理解,最小化问题看做一个直线方程,只有当该直线交于坐标轴的时候,能够保证某几个分量为0,也就是达到了sparse情况,所以要用$l_1$范数去逼近。

实际问题变为:$x=Psi heta, y=hat{Phi}x $

$$min || heta||_1 s.t. hat{Phi} Psi heta = y$$

同时CS的抗噪能力较好,只要选取的变换域信号在里面足够sparse。

Lecture 5

Proximal-Gradient Methods for Convex Optimization Problems

如果一个函数可以分成两部分F(x)=f(x)+g(x),且这两部分一个可微,一个不可微。

Lipschitz梯度函数满足:,$L(f)$称之为Lipschitz 常数

由于函数有上式的表示,最左边是条直线,右边是二次项,抛物线,最优化函数$f(x)$难度较大,我们采取最小化右式二次项表达式。

Frobenius Norm: $||x||_F=sqrt{sum_{j=1}^m sum_{i=1}^n x_{ij}^2}$

TV norm : $||x||_{TV}=sum_{j=1}^m sum_{i=1}^n ||D_{ij}x||, ||D_{ij}x||=[x(i+1, j)-x(i, j) , x(i, j+1) – x(i, j)]^T$

将问题转为凸函数问题,然后进行猜解,再迭代优化。

迭代过程:$x_k=x_{k-1}-t_k igtriangledown f(x_{k-1}) $ 其中$t_k$是个常数,如果我们令整个常数为Lipschitz常数的倒数,这个过程一定是收敛的。

上式用matlab可以去较好的解出。

Lecture 6

目标函数:$F(x)=f(x)+g(x)$,两个部分都是凸函数,但一个光滑($||igtriangledown f(x)- igtriangledown f(y)|| leq L(f)||x-y||$),一个不光滑。

Matlab中,矩阵与矩阵的乘法非常耗时,要争取通过提取公因式等方法编程矩阵与向量相乘。

图像处理中,不用$l_1$ norm,用的是TV。

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/salan668/p/3592601.html