1、去噪概述
去噪(Noise Removal),首先要认识噪声类型和形成,然后结合噪声特点进行去噪。 首先噪声类型如下表:
噪声常见名称 | 分布类型 | 形成原因 | 属性 | 去噪方法 |
---|---|---|---|---|
散粒噪声 | 泊松(possion)分布 | 环境亮度波动 | 加性 | BayerNR |
椒盐噪声 | 随机 | cmos/ccd工艺 | 加性 | DPC+BNR |
高斯噪声(实际为综合噪声) | 高斯分布 | 高斯噪声的综合 | 加性 | BNR |
暗噪声 | 高斯 | 场效应管内热电流(温度相关) | 加性 | BLC |
热噪声 | 高斯 | 电子布朗运动 | 加性 | BNR |
量化噪声 | 转换精度 | ADC设计规格 | 加性 | BNR |
乘性噪声 | 随机 | AMP、传输、环境波动 | 乘性 | rgbNR |
表中总结了常见的大部分噪声类型和对应去噪方法,可以看到去噪分为:BayerNR和RgbNR,RAW图像没经过Demosaic,特点是保留了图像的最原始的颜色模型和纹理细节,而且数据量相对RGB较小,此时去噪方法应该考虑对颜色模型和细节的保留,因此去噪强度一般留有余地;如果BNR做的很好,RgbNR为什么还有存在的必要,因为后续的RGB域处理通常会做增强,Gamma、Sharpen、LDCI,增强的同时一般也会增强噪声,所以一般需要RgbNR。
2、BNR去噪算法
大部分能用在rgb域的去噪算法都可以用在Bayer域,去噪算法原理没有太大变化,一般Bayer去噪在各个通道单独处理,考虑颜色和纹理,有些算法会结合多通道的规律做优化。
大部分能用在rgb域的去噪算法都可以用在Bayer域,去噪算法原理没有太大变化,一般Bayer去噪在各个通道单独处理,考虑颜色和纹理,有些算法会结合多通道的规律做优化。
常见算法分类
- 空域算法
均值滤波、中值滤波、高斯滤波、双边滤波、NLM
- 变换域算法
频域:低通滤波、高通滤波、带通滤波
Wavelet:基于小波系数阈值、基于系数相关性等
DCT(离散余弦)变换等
- 时域算法
一般为常规算法结合多帧匹配,前景和背景判断、动静判决
- 结合算法
类似BM3D去噪算,空域和Wavelet的结合