IDEA
这是张老师11年的文章,效果也是很好的,至今依然不断拿来对比实验。Demosaick的做法还是初始化,然后建立CDM噪声模型,然后根据样本统计拟合出符合样本的实际值。(这个建模思路很耐用,其实还是为了更好的挖掘空域和频域信息的相关性)
这里用Local Directional Interpolation(LDI)的方法进行复杂的梯度插值初始化,然后比较Non-local Minimize(NLM)的方法和Non-local Adaptive Thresholding(NAT)的方法。这里NLM是指扫描附近满足相似度的Patch,对这些patch进行distance weighted的使用;而NAT基于找到Non-local Similar Patch之后,用这些作为观测样本,在噪声模型里结合SVD、PCA的方法(假定满足Sparse),来进行分解,由于噪声v与x较少相关性,通过设定Adaptive Threshold来提取v的主成分,从而保证拟合的值更准确。
LDI
中间还有个$d_gr$的梯度影响因子,这种梯度的插值方法还是比较常见的。如上图,假设插值$R_0$,我们可以利用整块的CFA信息,通过和其它频段的信息如G的差来求出变化的梯度,如$\Delta_n$为$R_0$在北方向的梯度,距离远的影响少的原则,然后得到各个方向的梯度;根据梯度的大小作为权值来加权四方的color difference插值。
这种方法在Color Demosaicking很常见,早期简单的方法是同一频段下的线性、双线性插值,然后利用其它频段的color difference或者color ratio来有效利用局部空间的信息,一般平滑的区域这个假设更有效,而对于变换剧烈的地方往往处理不好出现artifacts或者超过了采样原理。出现梯度变化最小的插值方法、多方向加权的插值方法等,复杂的空域插值方法、sparse adaptive的抑制噪声的插值方法等等
NLM(Non-local Minimum)
这个方法是要挖掘更多的Non-local信息,所以去寻找一些局部相似的Patch,因为CDM和DNS、SR等图像研究具有相似性,denoise BM3D的成功说明了图像上的Patch往往会具有相似性或者重复出现的,所以用简单的Minimum比较获得Similar Patch,再利用这些信息恢复当前Patch的信息。如这个方法里的distance weighted;也有看过一篇是直接correlated比当前patch高,且梯度更平滑,则直接用Non-local Patch恢复的pixel代替当前pixel等;
上图就是用L1的patch distance确定similar patch,然后将这些恢复的值进行distance weighted加权。
NAT
这个在获得Non-local Similar patch之后,利用这些patch作为可靠的观测样本,进行CDM噪声模型的建立,从而采用PCA的方法获得optimal solution。
这里的矩阵F范数是指矩阵的值绝对值相加再开平方,也就是观测和PCA值的误差尽可能少,而且主成分的个数也尽可能小;(满足sparse的假设)