ISP Tuning
- 1. 简介
- 2. 常用算法
- 2.1 BLC
- 2.2 AWB (处理色温引起的偏色问题)
- 2.2.1 色温(Color Temperature:温度越低色温越高)
- 2.2.2 为什么需要AWB (消除光源颜色的影响)
- 2.2.3 AWB的目标
- 2.2.4 如何实现自动白平衡 (先确定色温然后找对应调节系数)
- 2.3 CCM (还原色彩和饱和度)
- 2.4 AE
- 2.5 ALSC/LSC (消息亮度阴影和色彩偏差)
- 3. ISP Tuning流程图
- 3.1 调试流程描述
- 3.2 调试流程表
- 4. 标定 (Calibration)
- 4.1 AWB色温曲线范围调整
- 4.2 AE Exposure Table 设定
1. 简介
-
ISP:Image Signal Processing(图像信号处理,主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节,ISP技术在很大程度上决定了摄像机的成像质量)
-
ISP:Image Signal Processor(像信号处理器)
-
HDR:High-Dynamic Range (双帧合成的高动态范围图像)
-
WDR:Wide Dynamic Range(单帧处理的高动态范围图像)
-
DRC:Dynamic Range Compression (宽动态)
-
VPE:Video Process Engine(图像处理引擎,负责对一帧输入图像进行图像质量调整)
-
CFA:Color Filter Arrays(彩色滤波阵列)
-
BPC:Bad PixelCorrection (坏像素校正)
-
DPC:Defect Pixel Correction(坏点校正)
-
BPD:Bad Pixel Detect(坏点检测)
-
FPN:Fix Pattern Noise(固定模式噪声)
-
NR:Noise Reduction/Denoise(去噪)
-
CT:Color Temperature(色温)
-
DM:Demosaicing/Color Filter Array Interpolation/CFA插值
-
EE:Edge Enhancement/Edge Sharpening(锐化,边缘增强)
-
Demosaic:颜色插值
-
PCA/VDE:Hue,Saturation,Contrast,Brightness调试
-
3A:AE+AWB+AF
-
AE:Automatic Exposure (自动曝光)
-
AWB:Automatic White Balance (自动白平衡)
-
AF:Automatic Focus(自动聚焦)
-
BLC:Black Level Correction(黑电平校正)
-
OBC: Black Level Compensate (黑电平补偿)
-
CCM:Color Correction Matrix (色彩校正矩阵)
-
LSC:Lens Shading Correction(镜头阴影校正, 工作原理:根据标准光源的raw图生成相应的LSC table,以补偿该光源下的中心到四周的亮度阴影和色彩偏差)
-
ALSC:Auto Lens Shading Correction(自动镜头阴影校正,工作原理:自动计算生成适合当前场景的LSC table,以消除该场景下的中心到四周的亮度阴影和色彩偏差)
-
LS:Lens Shading分为Luma shading(亮度阴影)和Color shading(色彩偏差)
- Luma shading:产生的原因是镜头通光量从中心到边角依次减少,导致图像看起来,中间亮度正常,四周偏暗。
- Color shading:称作色彩不均匀性,在不同色温下RGB三原色的透射能力不同,拍照时表现为图像色彩不均匀。
2. 常用算法
2.1 BLC
- 定义:黑色数据的最低电平值,通常指感光图像数据为0时对应的sensor信号电平值
- 形成成因:
- CMOS传感器采集的信息经过一系列转换生成原始RAW格式数据。以8bit数据为例,单个pixel的有效值是0~255,但是实际AD芯片(模数转换芯片)的精度可能无法将电压值很小的一部分转换出来,因此,sensor厂家一般会在AD的输入之前加上一个固定的偏移量,使输出的pixel value在5(非固定)~255之间,目的是为了让暗部的细节完全保留,当然同时也会损失一些亮部细节,由于对于图像来说,我们的关注度更倾向于暗部区域,ISP后面会有很多增益模块(LSC、AWB、Gamma等),因此亮区的一点点损失是可以接受的。
- sensor的电路本身会存在暗电流,导致在没有光线照射的时候,像素单位也有一定的输出电压,暗电流这个东西跟曝光时间和gain都有关系,不同的位置也是不一样的。因此在gain增大的时候,电路的增益增大,暗电流也会增强,因此很多ISP会选择在不同gain下减去不同的BL的值。
- 若sensor输出raw数据中有附加的黑电平值,需要在ISP最前端去干净。如果不去干净,干扰信息会影响后端ISP各模块的处理,尤其会导致AWB容易不准,出现画面整体偏绿或者整体偏红现象。
- 校正方法
- 一般BLC模块会放在ISP比较靠前的位置,因为我们希望图像在进入其他模块之前能够还原最为真实的图像。有些sensor会在sensor内部集成BLC的模块,那么此时ISP里的BLC模块只做微调即可
- 由于硬件设计人员在设计BLC模块时需要考虑效果和成本,因此目前市场上使用的ISP一般采用的方法是在sensor输出的图像上减去一个固定数值,该固定值,对RGB各通道可以是一样,也可以是不一样,目前大多数厂家如安霸、海思等基本都是采用该方案
- 利用黑电平随温度和gain的漂移曲线,利用一次函数的方式进行校正,但是对于不同sensor,漂移曲线不一样,因此该方案没有作为通用方案
2.2 AWB (处理色温引起的偏色问题)
2.2.1 色温(Color Temperature:温度越低色温越高)
- 定义:光源色温的定义为与此光源发出相似的光的黑体辐射体所具有的开尔文温度。
- 单位:色温是表示光线中包含颜色成分的一种计量标准,色温的单位是“K”,也叫“开尔文
- 色温表
- 红——橙红——黄——黄白——白——蓝白的渐变过程
- 红——橙红——黄——黄白——白——蓝白的渐变过程
- 常见光的色温
- 蓝色属于高色温,大约9300K;中午的日光属于中等色温,大约5500K;蜡烛的橙黄色属于低色温,大约1700K
- 蓝色属于高色温,大约9300K;中午的日光属于中等色温,大约5500K;蜡烛的橙黄色属于低色温,大约1700K
2.2.2 为什么需要AWB (消除光源颜色的影响)
- 人类视觉系统具有颜色恒常性的特点,因此人类对事物的观察可以不受到光源颜色的影响。但是图像传感器本身并不具有这种颜色恒常性的特点,因此,其在不同光线下拍摄到的图像,会受到光源颜色的影响而发生变化。例如在晴朗的天空下拍摄到的图像可能偏蓝,而在烛光下拍摄到的物体颜色会偏红。因此,为了消除光源颜色对于图像传感器成像的影响,自动白平衡功能就是模拟了人类视觉系统的颜色恒常性特点来消除光源颜色对图像的影响的。
- Sensor原始图像中的白色如果不经AWB处理,在高色温(如阴天)下偏蓝,低色温下偏黄,如宾馆里的床头灯
- 这张图可以理解为在多光源下的白平衡调整.阴影色温比阳光下色温要高一些,如果阳光下是5000k,阴影可能是7000k.有光就有影,它们经常出现在一个镜头里,对着其中一个色温调,另一边就会偏色.为了整体效果好,要把翘翘板平衡起来,可以加一些策略在里面。
2.2.3 AWB的目标
- 对于白色物体,如果它周围的光线色温较低,那么它看起来就会偏微红色; 相反,如果它周围的光线色温较高,那么它看起来就会偏微蓝色。因此,AWB的作用就是用来处理图像的色彩,使其看起来更加接近自然色
- 为了让人主观上认可拍出来的图,必须把不同光照下的物体颜色纠正成人眼认同的颜色。比如 ,不同光照下的白色区域RGB值不相等,但为了满足人眼,需要把它们调成相等。白色区域配平后,RGB三个通道分别得到一个调节系数,其他像素也根据这系数做调整,就叫做白平衡。
- 上图中,左边是原图像,可以很明显的看到处于一种暖色调的状态,以至于原本是白色的云也显得偏暖偏黄;而右边的图是经过自动白平衡处理后的结果图像,可以看出白云蓝天回归了正常的色彩,还有建筑也显得更加真实、自然,符合人眼观感。
2.2.4 如何实现自动白平衡 (先确定色温然后找对应调节系数)
- 为了适应人眼视觉的特点,相机厂家会把常见的光源条件下,其相机产品的对应白平衡参数调出来,让用户自动去选择拍摄的场景和对应的参数组。但对于普通用户,还是希望简单粗暴直接的一个按钮搞定,所以相机自己就需要识别当前场景的光源色温,根据色温类型查找对应的RGB平衡参数,这就是自动白平衡(AWB)。
2.3 CCM (还原色彩和饱和度)
- 一般来说sensor 对光谱的响应,在 RGB 各分量上与人眼对光谱的响应通常是有偏差的,通常通过一个色彩校正矩阵CCM(Color Correction Matrix)校正光谱响应的交叉效应和响应强度,使前端捕获的图片与人眼视觉在色彩上保持一致。
- 色彩还原:通常通过一个色彩校正矩阵校正光谱响应的交叉效应和响应强度,使ISP 处理后的图片与人眼视觉在色彩上保持一致。
- 饱和度:也称色彩的纯度。取决于该色中含色成分和消色成分(灰色)的比例。含色成分越大,饱和度越大;消色成分越大,饱和度越小。
- 离线校准工具 Calibration Tool 支持 3x3 Color Correction Matrix 的预校正。在 ISP 运行时,FW 根据当前的光照强度,调整饱和度,实现 CCM(Color Correction Matrix)矩阵系数的动态调整。
- CCM矩阵
2.4 AE
- AE 的目的在于通过收到的统计值将画面整体亮度控制在一个理想的状态。我们一般是根据目前的环境亮度来确定我们需要调到的一个目标亮度Target。AE有一个内收敛和外收敛区间,这就决定了Target是一个区间而不是一个确定值。内收敛区间是我们需要从当前亮度调至目标亮度的区间内就停止收敛。外收敛区间是稳定时亮度在目标亮度的区间外则开始进行收敛。
- 一般主要是根据不同的环境亮度来配置目标亮度,然后配置曝光行程表。配置Target时要注意值的大小,避免跳档。配置曝光行程表是要做到每个档位的变化只修改一个变量,避免跳档时图像变化过大。
2.5 ALSC/LSC (消息亮度阴影和色彩偏差)
- LSC作用:根据标准光源的raw图生成相应的LSC table,以补偿该光源下的中心到四周的亮度阴影和色彩偏差。
- ALSC作用:自动计算生成适合当前场景的LSC table,以消除该场景下的中心到四周的亮度阴影和色彩偏差。
- 调试ALSC/LSC之前,必须确认BLC,因为BLC会影响LSC table的值,故调试前请确认BLC正确设置。
3. ISP Tuning流程图
3.1 调试流程描述
- 1、配置AE表:通过收到的统计值将画面整体亮度控制在一个理想的状态
- 2、标定OBC/BLC:调整sensor的黑电平
- 3、标定ALSC/LSC:Sensor和Lens搭配后会出现不同程度的镜头阴影现象 (抓图时亮度不要过高)
- 4、标定AWB:调整色温曲线,确定<font color=red>白色仍然为白色,消除色温的影响</font>
- 5、调整Gamma,DRC确定<font color=red>亮度</font>
- 颜色很容易受到亮度的影响,所以在调整颜色前需要先把亮度调好,而亮度除了受AE影响,还受到Gamma,DRC的影响,尤其是HDR时画面的亮度几乎都是DRC拉起来的。在拉Gamma曲线时要注意勾选Sync RGB。注意,这里的Gamma是RGB域的Gamma,如果是YUV域的Gamma可以只拉Y Gamma曲线,也是调节亮度的曲线。相比于RGB域的Gamma,Y Gamma拉出来的亮度噪点会比较小,但是拉高之后画面发朦,饱和度比较低。在夜视场景下如果可以牺牲掉一些清晰度可以拉Y Gamma。
- DRC是亮度的映射,区域性的加强影像动态范围。HDR中的大部分亮度都是由DRC拉起来的。一般主要是<font color=blue>将暗处的细节拉亮,将亮处的细节压暗</font>。
- 6、调整CCM、HSV确定<font color=red>颜色</font>
- 调整CCM主要是为了使调整机与对比机颜色相近,将颜色还原成真实的颜色。可以借助imatest工具测试,查看色块的偏差方向,一般来说CCM是用来调整<font color=blue>全局的颜色</font>变化,如果无法用CCM解决,则可以调试HSV来配合。
- HSV会将整个色域24等分(<font color=blue>局部的颜色</font>),我们可以根据要求来修改具体色块的色相以及饱和度。
- 调整Denoise、2D、3D<font color=red>降噪</font>
- 2D降噪一般是在平面上进行降噪,3D降噪则是对比每一帧,作用在静止区域上的降噪。Denoise一般可以用来调整迷宫纹,摩尔纹,也可以去伪彩,去紫边。使用DPC可以消除一些噪点,但是如果开的过强会导致细节变差。3DNR主要是用来降低时间噪声,主要作用于静态区域,如果开的过强,有运动物体经过时会出现拖影现象。NRLuma则可以用来降低物体移动时带来的噪声。
- Sharpness调整噪点,<font color=red>锐利度</font>
- 3DNR 中调整Y.PK LUT 主要是为了让动态区静态区有适合自己的锐化强度,至于其他区分条件的锐强度调整则由Sharpness 完成,例如不同亮度的锐化强度,与画面中心距离的锐化强度,黑边白边的锐化强度等等。他不仅可以增加白边黑边的锐化强度,也可以增强无方向性、有方向性的细节纹理。
3.2 调试流程表
调整目标 | 调整工具或内容 |
---|---|
曝光 | 调整AE表 |
OBC | 去除黑电平 |
ALSC | 去除镜头阴影,对暗角进行补偿 |
AWB | 调整色温曲线,去除色温导致的偏色 |
亮度 | AE Target Gamma WDR YUV Gamma(会产生偏色) Gamma Style |
颜色 | CCM HSV |
清晰度/噪点 | Sharpness DP Bay Denoise DP Bayer Compensation YNR(会默认) 3DNR CNR(会影响颜色) 注:当清晰度差,用sharpness无效果时,关DP和YNR |
4. 标定 (Calibration)
- 每颗Sensor及Lens特性不尽相同,当拿到一颗新Sensor或Lens时,首要动作就是针对其特性去做标定及参数设定,完成后才能去做后续的画质调整。
4.1 AWB色温曲线范围调整
- 在执行过程中虽然AWB在Lens Shading(LS)校正之后,但Len Shading校正需会要AWB根据统计资料推算出来的CCT值,且Lens Shading是否校正对AWB影响较小,因此需要先做AWB色温曲线范围的调整,等ALSC校正完后再回来检查AWB色温曲线范围是否需要微调。
- 前提条件:OBC已做且已经应用
- 工作环境:使用Macbeth(麦克白)标准灯箱,灯箱内放置灰卡,让灰卡占满整个画面,若没有灰卡就直接利用灯箱内的灰墙来做分析