K230 ISP图像调优指南
1. K230 ISP图像调优概述
在进行图像调优时,亮度、色彩、对比度、清晰度这几个方面是我们的主要关注点。通过对sensor和镜头的标定以及ISP子模块的联合调优做到图像的整体亮度合理,图像中的色彩还原准确,图像的清晰度好,没有明显噪声,图像的对比度高,整体看上去要比较通透。
总体图像调优流程如下图所示:
K230 ISP pipeline如下图所示:
请注意:
- K230 HDR模式下,K230 CSI(Camera serial interface)模块不支持Hsync在Vsync之前的sensor数据模式,且各帧(L/S/VS)Vsync拉高(有效数据输出)时不能有交叠。
- 使能3DNR中的TNR时,ISP的要求sensor Hblank不能小于180 pixel clocks(推荐设置为不小于256 pixel clocks),建议:Frame length – Active lines >=92 lines。
2. 标定
2.1 概述
使用标定工具(K230ISPCalibrationTool.exe)完成对BLC、LSC、CC、AWB、Noise Profile、CAC这6个ISP模块的参数标定功能。
模块的标定顺序如下:
在使用标定工具(K230ISPCalibrationTool.exe)前,需要用户预先安装MATLAB Runtime(R2023a)。下载地址:https://ssd.mathworks.com/supportfiles/downloads/R2023a/Release/0/deployment_files/installer/complete/win64/MATLAB_Runtime_R2023a_win64.zip
标定工具的主界面如下图所示。
点击相应的模块按钮即可直接跳转至各模块的标定界面开始标定。
2.2 Black level correction
2.2.1 黑电平标定的原理及意义
模拟信号很微弱时,有可能不被A/D转换出来,导致光线很暗时,图像细节丢失。因此,Sesnor 会在A/D转换前,给模拟信号一个固定的偏移量,保证输出的数字信号保留更多的图像细节。黑电平校正模块就是通过标定的方式,确定这个偏移量的具体值。后续的ISP处理模 块,需要先减掉该偏移值,才能保证数据的线性一致性。如果事先未获取到sensor的黑电平参数,或者需要获得更精确的黑电平数值,就进行黑电平标定。
2.2.2 黑电平标定采集RAW图
在进行黑电平标定时,采集RAW图的步骤如下:
- 模组在一个全黑的环境下(如看用黑布盖住镜头),确保没有光进入sensor;
- 将sensor的曝光模式设置为手动模式;
- 在不同Gain值(1x,2x,3x,4x)与不同积分时间(0.01ms,0.02ms,0.03ms)组合下采集12张RAW图;
- 并按照命名规则保存至文件夹下,文件夹的命名形式:Gain_4_T_0.03(Gain_4_T_0.03 表示 exposure gain = 4,exposure time = 0.03s),其他的曝光时间和Gain的命名形式依次类推。
2.2.3 使用标定工具开始标定
当点击了主界面的“Black level correction”后,工具将弹出如图所示对话框。
操作步骤:
- 点击“Select”按钮选择保存的RAW图文件夹;
- “Align Pos”文本框:填写RAW图的bayer pattern;
- 设置输入输出的Bit Width;
- 设置分辨率:图像的宽高;
- 点击“OK”按钮,进行标定。
其中:
- Combine Channel文本框:如果勾选,表示用户得到的BLC是R、Gr、Gb、B四通道合并后的测量值。
- Normal File Out / Extended File Outy:如果勾选 Normal File Out,表示输出的是blc_para.txt;如果勾选Extended File Out,表示R、Gr、Gb、B通道的BLC将按不同的曝光时间和Gain分别输出。
标定完成后,Black Level vs Integration Time的图表如下图所示。
2.3 Lens shading Correction
2.3.1 LSC标定的基本原理及意义
LSC标定目的就是为了消除由镜头光学折射不均匀导致的画面暗角。在Lens shading现象中,中心目标点亮度到边角的亮度衰减符合余弦四次方定律,通过标定结果可以有效反应出亮度衰减趋势,使用32x16的网格存储标定结果,再把图像各区域的亮度恢复至目标点亮度。LSC标定包括luma shading和color shading的标定。因为不同色温下的 color shading特征曲线是不相同的,所以为满足在不同色温下的 color shading 的校正要求,需要在不同色温下对 LSC 进行标定校准。
2.3.2 LSC标定采集RAW图
采集RAW图前需要注意的事项:
- 调节AE目标亮度设置,让图像的中心亮度平均值为最大值(如8bit:255)的80%左右
- LSC采集对象的光源环境要求必须是亮度分布平坦且均匀的光源,同时采集对象必须保持平滑无纹理,所以可选择DNP灯箱作为 LSC 标定采集RAW图的场景。
在进行LSC标定时,采集RAW图的步骤如下:
- 控制设备 的镜头对准DNP灯箱目标区域,并保证环境不被干扰;
- 打开DNP灯箱,色温光源切到D65下,灯箱照度合适;
- 采集一张RAW图;
- 切换DNP灯箱的光源(D50、TL84、F12、A),重复步骤2-3。
2.3.3 使用标定工具开始标定
当点击了主界面的“Lens Shade correction”后,工具将弹出如图所示对话框。
具体操作步骤:
- 在区域2中,选择RAW图的bayer pattern排序、填入图像宽高和bit位宽,选择所需lsc校正的类型(Color Shading或是Luma&Color Shading),在CCT下拉栏中选择对应的色温光源,并在offset Subtration栏中填入各通道Black Level Offset值;
- 点击区域1的“load image”按钮导入待标定的RAW图;
- 区域3为lsc网格结点设置。先确定网格的数量,K230 ISP LSC硬件统计为32x16网格,因此可选择“33Full x 17Symm knots”进行标定;若准备使用ISP ALSC功能,则勾选“ALSC uniform…”;若勾选”Automatic initial knot positioning”,则在auto.json中不能使能ALSC功能。
- 区域4可选择中心/边角的最大校准比率;
- 区域5可设置边角的补偿比率(如设置为80%,则表示需要校准的边角校准后的亮度为中心亮度的80%就行。);
- 其他设置保持默认配置即可;
- 点击“Start”开始标定,并保存LSC数据;
- 区域6可选择标定好的LSC数据应用至图像,预览标定效果,并点击“save image to file”保存每个 光源下的Png图片。
注意:在步骤5中设置补偿比率时,应当根据镜头的shading严重情况来定。当镜头shading很严重的时候,画面四个角补偿的增益很大,容易导致四角噪声变大。这时就要减小补偿比率,来达到优化四角噪声的目的。
2.4 Color Correction
2.4.1 CCM标定原理
CCM 标定的原理是用sensor采集的24 色卡色块的实际颜色信息与其期望值对比,计算出3x3的CCM 矩阵。CCM 的 3x3 矩阵将 sensor 的 色彩空间转换到 sRGB 标准的色彩空间。
2.4.2 CC标定采集RAW图
在进行CC标定时,采集RAW图的步骤如下:
- 可将24色卡放置标准灯箱内壁(镜头正对色卡采集RAW图)或将24色卡放置灯箱的底部(镜头与24色卡成45度角采集RAW图);
- 打开标准灯箱,选择D65光源,调节灯箱照度;
- 调整镜头到24色卡的距离和位置,保证24色卡占图像范围的2/3左右;
- 调节AE目标亮度设置,保证RAW图平均亮度在50左右;
- 采集一张RAW图;
- 切换光源(D50、TL84、F12、A),重复步骤5;
- 保持镜头位置不动,将24色卡移开,再采集5种光源下的灯箱内侧灰壁背景RAW图。
2.4.3 使用标定工具开始标定
当点击了主界面的“Color Correction”后,工具将弹出如图所示对话框。
具体操作步骤如下:
- 在区域1设置好RAW图的宽高、bit位宽、Black level Offset、bayer pattern;
- 点击“Load”菜单,依次导入色板颜色参考文件CC_Standard.cxf(Load sRGB References, 该文件位于calibration tool的Canaan.Calibration.Samples\Data\目录下)、24色卡RAW图(Load Color Checker Image)、灰壁背景RAW图(Load Background Image); 导入参考色板,除了通过“Load sRGB References”导入CC_Standard.cxf之外,还可以通过“Load”菜单下的“Load Lab-Customer References”来获取客户自定义的参考色板Lab值;或是通过“Load”菜单下的“Load References Image”,调入参考色板图像,然后在“Function”菜单下选择“Select Reference Color Check”,通过移动鼠标控制十字线,让其分别依次位于给出色板的上下左右四角四个色块的中心位置,依次点击鼠标后即可完成参考色板区域的指定。
- 点击“LSC”按钮,导入标定好的LSC参数文件;
- 配置标定参数;
- 设置gamma
- 勾选CIELAB参考
- 配置24色块权重
- 设置偏好光源
- 设置输出饱和度,默认为1
- 在区域3的下拉键选择选取24色块的方式(有自动、半自动、手动三种模式); 在半自动模式下,可通过移动鼠标控制十字线,让其分别依次位于色板图的上下左右四角四个色块的中心位置 ,依次点击鼠标后即可完成参考色板区域的指定。
- 点击“Caibrate”开始标定。
2.5 Auto White Balance
2.5.1 AWB标定的基本原理及意义
AWB 标定,即根据sensor在数个标准光源下的白点特征(R/G, B/G),计算最佳普朗克拟合曲线和色温拟合曲线。AWB标定的目的是使相机能够自动识别和适应各种色温光源条件,以保证白色和其他颜色在图像中的准确再现。
2.5.2 使用标定工具开始标定
当点击了主界面的“Auto White Balance”后,工具将弹出如图所示对话框。
具体操作步骤如下:
-
点击“file”按钮,导入sensor光谱灵敏度文件,如下图所示;
注:若用户手上没有自己使用的sensor光谱灵敏度文件,用工具包里默认的OV2775_sensitivity.txt(该文件位于calibration tool的Canaan.Calibration.Samples\Data\目录下)即可。因为现在AWB标定已经不依赖于sensor光谱灵敏度文件,但为了不影响后面操作,所以导入任意一个sensor光谱灵敏度文件就可以。
-
点击“illuination”按钮,导入光源文件CIE_Illuminants.cxf(该文件位于calibration tool的Canaan.Calibration.Samples\Data\目录下),并选择需要标定的光源(至少3个),如图所示。点击“确定”按钮,各光源的光谱发布将在如图所示的左边展示,并通过下拉键把各光源分为室内光源和室外光源。
-
点击“AWB V2+ Calibration”按钮(在旧版本的calibration tool中,请点击“Start Calibration”按钮),根据如图红框中的所示,选择CC标定生成的各光源的参数文件;
-
勾选“White Points Evalute”框,选择一张图片用于白点预估;
-
点击“Gain Region Modifier”按钮,选择在LSC标定中保存的各光源的png图片,如图所示,点击“OK”进入下一步;
-
定义增益多边形的起点范围大小,如图所示,点击“确定”按钮,进入下一步;
-
通过红框区域的按钮手动调整橙色框(近白区)和黑色框(落在黑色框里的全部识别为白点)的范围,调整黑色框的范围包含选的所有光源白点,如图所示。保存数据,如果测试不通过,再来重新调整多边形的范围。
2.5.3 AWB参数K_Factor的标定
在AWB算法中,环境为outdoor的判别为: Exp*K_Factor <=0.12(Exp为曝光量)
。
比如以2000 lux为outdoor与transition的环境照度分割点,获取对应该照度的曝光值(ET * gain), 则可计算:K_Factor = 0.12 / (ET*gain)。
2.6 Noise Calibration
2.6.1 Noise Profile标定的原理及意义
Noise Profile 标定涉及到对sensor在不同条件下产生的噪声特性进行定量测量和描述。这是因为,当sensor在不同的光线、温度或ISO设置下工作时,它们会产生不同类型和量级的噪声。了解这些噪声的特性是进行有效噪声降低或修正的关键。
2.6.2 Noise Profile标定采集RAW图
在进行CC标定时,采集RAW图的步骤如下:
- 将黑白渐变测试卡放置标准灯箱内壁,打开灯箱选择D50色温光源;
- 关闭AE,改为手动曝光模式,采集两组RAW图,每组30张;
- 亮组:调节灯箱亮度,保持曝光时间,保持gain 1x不变,让渐变卡黑区域处于中间灰度值;
- 暗组:调节灯箱亮度,保持曝光时间,保持gain 1x不变,让渐变卡白区域处于中间灰度值。
2.6.3 使用标定工具开始标定
当点击了主界面的“Noise Calibration”后,工具将弹出如图所示对话框。
具体操作步骤如下:
- 设置RAW图的宽高、bit位宽、Black level Offset;
- 点击“flie”按钮,导入亮暗两组RAW图系列;
- 点击“ROI”按钮,可设置图片的ROI;
- 调整参数。对于Lowlight直方图,取Lower range到Split point的直方图区域;对于Highlight直方图,取Split point到Higher ranger的直方图,两者叠加区域,应可基本涵盖0~255的所有值区间(8bit位宽)。对于Split point和high range值点的选取,应该让hightlight和lowlight的保留区域符合泊松分布。若 设置了black level offset,则Lower range >= black level;
- Gamma correction和Model Fitting无需设置;
- 点击“Evaluate Measures”;
- 再点击“Fit to Model”,完成Noise标定,保存结果。
2.7 Chromatic Aberration Correction
2.7.1 CAC标定的原理及意义
色差是一种常见的光学缺陷,出现在镜头无法使所有颜色的光线都汇聚在相同的焦点上。这通常导致图像边缘出现红绿或蓝紫的色彩偏移。为了纠正这种偏移,我们需要进行 CAC 校正。通过分析捕获的图像数据,可以建立一个数学模型来描述色差。一旦模型建立,可以确定纠正参数,这些参数将用于纠正色差。
2.7.2 CAC标定采集RAW图
在进行CAC标定时,采集RAW图的步骤如下:
- 将棋盘格或点阵图放置标准灯箱内壁,打开灯箱选择D50色温光源;
- 调整AE设置,让黑块点的最小值需要大于BLC值,白区最大值不要超过208;
- 采集一张RAW图保存。
2.7.3 使用标定工具开始标定
当点击了主界面的“Chromatic Aberration Correction”后,工具将弹出如图所示对话框。
具体操作步骤如下:
-
点击“Demosaic&Filter”按钮,设置好bayer pattern格式;
-
点击”load image“按钮,加载RAW图,在预览窗口即可显示图像;
-
设置“Demosaic&Filter”界面下的参数;
因为CAC模块在demosaic之后,所以工具先在这里实现了一个简单的demosaic功能。
- ISP_demosaic_threshold:阈值的默认值设为4。设置值越高,边缘检测算法检测到的边缘越少,较低的值会导致检测到更多的边缘,值255表示边缘检测被完全禁用。
- Simulate 2 additional Line Buffers:允许用户扩展垂直偏移。这允许将垂直矢量剪裁设置为+-3。在这种情况下,不执行降低色度的滤波,默认不勾选。
- Filter stage1 select:
- Sharpen Level:
- Denoise Level:
- Lum_weight Off:允许停用过滤器算法的一个特殊功能。该特征有助于抑制暗区域中比亮区域中更强的噪声。由于非线性伽马校正,在处理链中,对比度和噪声在暗区域被强调,而在亮区域被衰减。为了补偿这一点,在将纹理参数与阈值进行比较之前,使用从5x5内核的平均亮度导出的函数对纹理参数进行加权。默认不勾选,图像预览效果噪声小。
-
点击”Color Correction“按钮,设置该界面下的参数;
- 勾选”ISP_bls_enable”,设置正确的BLC;
- 勾选”Auto White-Balance”;
- 设置CCM;
- global gain默认设置为1.0。
-
点击”Gamma“按钮,设置gamma曲线,默认设置为gamma 2.2;
-
点击”LSC“按钮,然后再点击”Load parameters“,加载对应光源D50下的LSC标定参数,并勾选”Enable”;
-
点击”CA Estimate“按钮,勾选”CA_Estimate”框,点击”Process”运行;
-
点击”CAC“按钮,可从该界面下看到标定结果。
3. 模块介绍
3.1 BLS
3.1.1 功能描述
减去黑电平的偏移值,才能保证数据的线性一致性。
3.1.2 主要参数
参数 | 类型及取值范围 | 描述 |
---|---|---|
bls_enable | bool | BLS使能开关 |
bls | int bls[4] 0~4095 | 四通道的黑电平补偿值,设置数值基于ISP 12bits |
3.1.3 调试策略
虽然支持四通道单独的黑电平补偿值,但还是建议使用相 同的值。
3.2 LSC
3.2.1 功能描述
在K230中LSC算法使用32x16网格的方式对图像进行校准。在RAW图数据处理过程中,LSC算法将图像分成32x16个子块并对RAW图的四个通道进行处理。
3.2.2 主要参数
参数 | 类型及取值范围 | 描述 |
---|---|---|
enable | bool | LSC使能开关 |
matrix | matrix[4] [1089] | R、Gr、Gb、B四通道的Lens shading校准参数,从标定文件获得 |
x_size | xSize[32] | x轴每两个网格结点的距离,从标定文件获得 |
y_size | ySize[16] | y轴每两个网格结点的距离,从标定文件获得 |
3.3 Dgain
3.3.1 功能描述
ISP的数字增益主要用于提升图像的亮度。