ISP算法高水平分析(下)
十.LSC(Lens Shade Correction)------镜头阴影矫正
Lens Shading指画面四角由于入射光线不足形成的暗角,同时,由于不同频率的光折射率差别,导致 color shading。因此需要镜头影音校正(Lens Shading Correction)。lens shading分为两种 luma
shading( 亮度阴影)和 color shading (色彩偏差)。
矫正方法
Shading的矫正方法目前主流有两种:一种是同心圆法,一种是网格法。
同心圆法的流程为:
找到RGB三通道的圆心(一般选择为同一个点)
以同心圆的形状将画面的中心和画面的边缘的三通道乘以不同的增益
具体如下图所示,一般来说考虑shading渐变的曲率从中心到边缘逐渐增大,所以等增益曲线中心稀疏,边缘密集。一般来说lens shading的增益最好不要超过2倍,因为会引入噪声。
mesh shading的矫正方法,同一个方格中的增益一致,mesh的分布也是中心稀疏四角密集。
同心圆矫正方法的优点是计算量小,缺点是镜头若装配时稍有不对称则矫正失败;网格矫正方法的优点是能够应对各种shanding情况,缺点是运算量大。
十一. GAMMA矫正
伽玛校正。传感器对光线的响应和人眼对光线的响应是不同的。伽玛校正就是使得图像看起来符合人眼的特性。
十二. CCM(Color Correction Matrix)------颜色校正
颜色校正主要为了校正在滤光板处各颜色块之间的颜色渗透带来的颜色误差。一般颜色校正的过程是首先利用该图像传感器拍摄到的图像与标准图像相比较,以此来计算得到一个校正矩阵。该矩阵就是该图像传感器的颜色校正矩阵。在该图像传感器应用的过程中,可以利用该矩阵对该图像传感器所拍摄的所有图像来进行校正,以获得最接近于物体真实颜色的图像。
色彩校正原理
人眼对色彩的识别,是基于人眼对光谱存在三种不同的感应单元,不同的感应单元对不同波段的光有不同的响应曲线的原理,通过大脑的合成得到色彩的感知。一般来说,我们可以通俗的用RGB三基色的概念来理解颜色的分解和合成。理论上,如果人眼和 sensor 对光谱的色光的响应,在光谱上的体现如下的话,基本上对三色光的响应,相互之间不会发生影响,没有所谓的交叉效应。理想R/G/B光谱响应如下:
而实际人眼对R/G/B的光谱响应如下,RGB的响应并不是完全独立的。
色彩校正原理
人眼对色彩的识别,是基于人眼对光谱存在三种不同的感应单元,不同的感应单元对不同波段的光有不同的响应曲线的原理,通过大脑的合成得到色彩的感知。一般来说,我们可以通俗的用RGB三基色的概念来理解颜色的分解和合成。理论上,如果人眼和 sensor 对光谱的色光的响应,在光谱上的体现如下的话,基本上对三色光的响应,相互之间不会发生影响,没有所谓的交叉效应。理想R/G/B光谱响应如下:
而实际人眼对R/G/B的光谱响应如下,RGB的响应并不是完全独立的。
某款相机的sensor光谱响应曲线如下:
从上图可以看出,sensor的R/G/B响应曲线和人眼的R/G/B响应曲线是不一致的。而且图像数据经过ISP的AWB处理之后肯定会存在色偏,因此需要RGB域进行色彩矩阵校正。
色彩校正策略
我们已看到 sensor 对光谱的响应,在 RGB各分量上与人眼对光谱的响应通常是有偏差的,当然就需要对其进行校正。不光是在交叉效应上,同样对色彩各分量的响应强度也需要校正。通常的做法是通过一个色彩校正矩阵对颜色进行一次校正。校正矩阵如下:
十三. BLC(BlackLevel Correction)------黑电平校正
Black Level 是用来定义图像数据为 0 时对应的信号电平。由于暗电流的影响,传感器出来的实际原始数据并不是我们需要的黑平衡(数据不为0)。所以,为减少暗电流对图像信号的影响,可以采用的有效的方法是从已获得的图像信号中减去参考暗电流信号。一般情况下,在传感器中,实际像素要比有效像素多,像素区头几行作为不感光区(实际上,这部分区域也做了 RGB 的 color filter),用于自动黑电平校正,其平均值作为校正值,然后在下面区域的像素都减去此矫正值,那么就可以将黑电平矫正过来了。如下图所示,左边是做黑电平校正之前的图像,右边是做了黑电平校正之后的图像。
十四. DPC(Bad Point Correction)------坏点校正
所谓坏点,是指像素阵列中与周围像素点的变化表现出明显不同的像素,因为图像传感器是成千上万的元件工作在一起,因此出现坏点的概率很大。一般来讲,坏点分为三类:第一类是死点,即一直表现为最暗值的点;第二类是亮点,即一直表现为最亮值的点:第三类是漂移点,就是变化规律与周围像素明显不同的像素点。由于图像传感器中CFA的应用,每个像素只能得到一种颜色信息,缺失的两种颜色信息需要从周围像素中得到。如果图像中存在坏点的话,那么坏点会随着颜色插补的过程往外扩散,直到影响整幅图像。因此必须在颜色插补之前进行坏点的消除。
十五. RGBToYUV
YUV 是一种基本色彩空间,人眼对亮度改变的敏感性远比对色彩变化大很多,因此,对于人眼而言,亮度分量 Y 要比色度分量 U、 V 重要得多。另外,YUV色彩空间分为YUV444,YUV422,YUV420等格式,这些格式有些比原始RGB图像格式所需内存要小很多,这样亮度分量和色度分量分别存储之后,给视频编码压缩图像带来一定好处。
Y =16 +(0. 257 × R +0. 504 × G +0. 098 × B)
Cb =128 +(-0. 148 × R-0. 291 × G +0. 439 × B)
Cr =128 +(0. 439 × R-0. 368 × G-0. 071 × B)
Sharp------锐化
CMOS输入的图像将引入各种噪声,有随机噪声、量化噪声、固定模式噪声等。ISP降噪处理过程中,势必将在降噪的同时,把一些图像细节给消除了,导致图像不够清晰。为了消除降噪过程中对图像细节的损失,需要对图像进行锐化处理,还原图像的相关细节。如下图所示,左图是未锐化的原始图像,右图是经过锐化之后的图像。