‘壹’ ISP算法——BNR
ISP算法中的噪声抑制是提高图像质量的关键步骤。在RAW图处理中,噪声模型通常用高斯-泊松模型描述,但在经过一系列线性和非线性处理后,噪声模型变得复杂,难以通过模型降低。这导致了噪声分布不均匀,尤其是当不同区域的增益值变化时,这种不均匀性更加明显。去马赛克算法对噪声模型的影响也各不相同,且pipeline中经过的Gamma,CCM,AWB等变换使得噪声模型更加复杂。因此,直接在RAW上抑制噪声,使其保持在一个合理范围内,成为了理想的选择。
本文主要介绍三种RAW域的降噪算法,其中两种基于PCA(主成分分析)方式,另一种基于HVS(人眼视觉系统)方式进行降噪。PCA降噪的理论基础是噪声是均匀分布的,而图像的有用信息主要分布在主成分上。通过PCA降维,噪声随着维度的减少而损失,从而提升信噪比(SNR)。算法首先选择一个较大的训练块,然后从中抽取特征块,通过计算列向量与中心向量的曼哈顿距离进行排序,选取相似的数据进行PCA分析。处理后的数据进行降维,并通过反PCA变换达到降噪效果。在PCA前通过小波分析得到噪声模型的方差,用于分析噪声特性。具体实现和代码可参考原文作者提供的配套代码。
另一种算法在实验中使用,但内存需求较大,实际效果还需进一步验证。其主要思路是选择四个不同的起始点,对四种数据进行PCA降噪,然后对四张RAW图进行平均得到最终的RAW图。这提供了一种降噪思路,但实际应用还需考虑内存和计算成本。
第三种算法结合HVS特性进行降噪,通过像素值的差作为判断依据,通过几个模块进行降噪。首先通过像素值的差来判断噪声变化趋势,以及与人眼亮度敏感度的关系,定义降噪力度与亮度变化的关系曲线。对于纹理区域,根据像素差异与预设阈值的比较来判断是否为平坦区,对平坦区给予更多降噪力度,而对纹理区则牺牲部分细节。权重计算则基于周围像素与中心像素的差值,通过分段线性方式为每个像素分配权重,完成滤波与归一化,得到最终降噪后的像素值。
总的来说,这三种降噪算法各有特点,基于不同的理论基础和应用场景,为ISP算法中的噪声抑制提供了多样化的解决方案。具体实现和效果评估可通过参考原文代码和实验数据进行深入探索。