摘要:在Bayer域(CFA域)使用改进的BM3D三维降噪算法直接对RAW图进行去噪
简介
Bayer域的RAW图(CFA图)需要Demosaic插值算法才能得到完整的RGB图像,但大多数Demosaic算法都是在无噪声假设下开发的。在存在噪声的情况下,这类算法的性能会大大下降。
处理噪声数据有三种主要策略:
1、Demosaic后去噪
2、联合去噪,在颜色插值过程中与去噪相结合
3、在Demosaic前去噪
Demosaic后去噪是非常具有挑战性的,因为复杂的自适应插值算法改变了噪声的统计模型。由于噪声模型的改变,去噪过程可能无效,因为去噪过程本质上只能依赖于图像结构的一般先验知识的约束。
为了使插值过程对噪声具有鲁棒性,产生了所谓的联合插值和去噪算法。由于去噪和插值过程的对抗性,设计高效的联合算法并不是一项容易的任务:去噪主要执行某种数据平滑,而插值的目的是重建缺失的高频细节。
先去噪然后再颜色插值虽然简单和直接,但长时间以来被认为是低效的,将传统的灰度去噪滤波器直接应用于CFA是有问题的,因为CFA的底层镶嵌结构,这违反了这些滤波器所依赖的关于自然图像中局部平滑性的基本假设。标准的方法是将CFA分割成四个子图像(R、G1、G2、B),分别进行滤波,然后将滤波后的子图像重新组合成一个去噪的CFA图像。缺点是,当去噪的CFA图像进行插值时,由于下采样导致了部分内容的割裂,滤波会导致许多细节的丢失和伪影的产生。
论文直接在RAW域内应用BM3D,这种算法没有出现传统的滤波算法直接应用于CFA时通常产生的伪影。BM3D的这种能力来自于该算法中嵌入的特殊的非局部建模,以揭示不同位置上相似图像块的共同特征。
BM3D算法介绍
BM3D(BLOCK MATCHING AND 3-D FILTERING),即块匹配三维滤波。
对于在有噪声的图像中的每个块,滤波器执行以下步骤
1、分组归类:查找与当前处理的块相似的块,然后将它们堆叠在一个三维数组(组)中。假设堆叠的噪声块对应于完全相同的无噪声块,一个元素级平均(即在相同相对位置的像素之间的平均)将是一个最优估计器。如果堆叠在同一组内的块不完全相同,那么平均就不再是最优的。因此,应该采用比平均更有效的滤波策略。
2、协同滤波:对形成的组进行三维变换(由可分离的二维离散余弦(DCT)和一维Haar变换组成),通过变换系数的收缩来衰减噪声,反转三维变换以生成所有分组块的估计值,并将块的估计返回到它们的原始位置。由于分组块之间的相似性,变换可以实现真实信号的高度稀疏表示,使噪声可以很好地分离。
3、聚合:通过加权平均所有重叠的块估计来计算输出图像的估计。
BM3D算法的主要特征之一是由由相似块组成的组的三维结构所实现的所谓的协同滤波。
颜色约束分组
将原始的BM3D算法应用于RAW图像中,由于RAW图像的RGB交叉分布格式,会导致在色差较小(但非零)的区域出现严重的棋盘格伪影。这将导致错误的色差估计(例如,当左上角有红色样本的块与左上角有绿色或蓝色样本的块分组时)。通过将分组限制为具有相同颜色配置的块,可以很容易且有效地解决这个问题。如下图所示,同一分组中子块的RAW格式应该是一致的。
上图中左图为不同RAW格式的子块分组,右图为相同RAW格式的子块分组