跳到主要内容

Rockchip IQ Tools Guide ISP2x

:::info 文档信息

文档标识:RK-SM-YF-609 · 发布版本:V2.0.3 · 发布日期:2021-07-13 · 页数:51 · 语言:英文

原始文档:Rockchip_IQ_Tools_Guide_ISP2x_CN_v2.0.3.pdf

:::

章节大纲​

  • Rockchip IQ Tools Guide ISP2x(P1)
    • 1 概述(P3)
      • 1.1 关于RKISP2.x Tuner(P3)
      • 1.2 适用平台&版本号匹配规则(P3)
      • 1.3 调试环境(P3)
      • 1.4 工具安装与配置(P4)
    • 2 功能简介(P5)
      • 2.1 概述(P5)
      • 2.2 Sensor配置页面(P6)
      • 2.3 抓图工具(P7)
      • 2.4 标定工具(P8)
    • 3 快速入门(P8)
      • 3.1 调试环境准备(P9)
      • 3.1.1 Android系统平台(P9)
      • 3.1.2 Linux系统平台(P10)
      • 3.2 选择平台&配置网络地址(P11)
      • 3.3 新建Sensor配置并生成基础IQ文件(P13)
      • 3.4 加载和保存IQ参数文件(P15)
      • 3.5 导入或修改Sensor Infomation参数(P16)
      • 3.6 使用Capture Tool抓取Raw图(P18)
    • 4 标定流程说明(P20)
      • 4.1 拍摄raw图(P20)
      • 4.2 BLC标定(P20)
        • 4.2.1 BLC标定基本原理(P20)
        • 4.2.2 BLC标定Raw图拍摄要求(P20)
        • 4.2.3 BLC标定Raw图拍摄方法(P21)
        • 4.2.4 BLC标定方法(P21)
      • 4.3 LSC 标定(P22)
        • 4.3.1 LSC标定基本原理(P22)
        • 4.3.2 LSC标定Raw图拍摄要求(P22)
        • 4.3.3 LSC标定Raw图拍摄方法(P23)
        • 4.3.4 LSC标定步骤(P23)
      • 4.4. AWB标定(P25)
        • 4.4.1 AWB标定内容(P25)
        • 4.4.2 AWB标定Raw图拍摄步骤与要求(P25)
        • 4.4.3 AWB标定工具的界面说明(P26)
        • 4.4.4 AWB标定步骤(P29)
        • 4.4.5. AWB标定结果示例(P33)
      • 4.5 CCM标定(P37)
        • 4.5.1 CCM模块Raw图拍摄要求(P37)
        • 4.5.2 CCM标定步骤(P37)
      • 4.6 NR标定(P40)
        • 4.6.1 Raw图拍摄方法(P40)
        • 4.6.2 NR标定步骤(P43)
      • 4.7 FEC/LDCH(P44)
        • 4.7.1 FEC/LDCH标定图拍摄要求(P44)
        • 4.7.2 FEC/LDCH标定步骤(P46)
    • 5 在线调试界面及功能介绍(P47)
      • 5.1 调试界面功能介绍(P47)
      • 5.2 平台&网络配置功能(P48)
      • 5.3 寄存器及算法参数调整(P48)
      • 5.4 IQ文件在线导入功能(P49)
      • 5.5 Gamma(P50)
        • 5.5.1 Gamma可视化调试(P50)
        • 5.5.2 Gamma曲线基本调试方法(P51)

在线预览​

若预览无法显示,请直接下载 PDF 后用本地阅读器打开。


1 概述​

1.1 关于RKISP2.x Tuner​

RKISP2.x Tuner(以下简称Tuner)提供了一套便于用户调试ISP参数的工具,用户可以在Tuner中对所有ISP模块开展标定(Calibration)、调试(Tuning)等工作。用户可以使用Tuner提供的抓图工具(Capture Tool)来拍摄Raw图;在标定工具(Calibration Tool)中完成基础模块的标定工作;在Tuner中连接设备,在线进行ISP参数调试。

1.2 适用平台&版本号匹配规则​

芯片名称系统平台ISP版本
RK356xLinux/AndroidRKISP21

AIQ与Tuner、ISP Driver的版本匹配规则如下:

vA.B.C

其中B为16进制表示,bit[0:3]标识AIQ与Tuner的匹配版本,bit[4:7]标识AIQ与ISPDriver的匹配版本,例如:

ISP Driver: v1.0x3.0与AIQ:v1.0x30.0匹配,与AIQ:v1.0x40.0不匹配

Tuner:v1.0x3.0与AIQ:v1.0x33.0匹配,与AIQ:v1.0x30.0不匹配

注意,当AIQ版本号C不为0时,有可能出现版本不匹配的情况下,针对Tuner匹配建议优先采用C版本号为0的AIQ版本。

1.3 调试环境​

*计算机环境要求:*

运行Tuner的计算机必须安装Windows 7的x64版本或以上版本的64位Windows操作系统;

运行Tuner之前应预先安装MCR_R2016a(9.0.1)的64位版本(仅支持此版本),下载地址:

https://ww2.mathworks.cn/products/compiler/matlab-runtime使用过程中应避免Tuner的路径Tuning工程的路径中出现中文字符;

*设备端环境要求:*

  1. 具有以太网卡并支持使用有线、无线等方式连接局域网;2. 不满足1的情况,应能支持RNDIS服务,使用USB模拟网卡设备来连接局域网;

1.4 工具安装与配置​

RKISP2.x Tuner的本体无需进行安装,直接使用解压工具解压到任意目录即可使用,但应避免解压到存在中文字符的路径。

在第3节中提到运行Tuner之前需要预先安装MCR_R2016a,安装步骤如下:

  1. 打开MCR_R2016a_x64.exe,等待其自解压完成;

图1-4-1

  1. 点击下一步,选择同意条款,下一步,点击安装;

图1-4-2

  1. 等待安装完成;图1-4-3

  2. 安装完成;

图1-4-4

2 功能简介​

2.1 概述​

在实际Tuning项目中,用户应按照如下图所示的流程来进行Tuning工作:图2-1-1

在调试环境准备阶段,用户需要在工具中生成一份基础IQ文件(.json格式),该文件记录了ISP开放的所有可调参数,无论是后续的标定流程中输出的标定参数,还是调试流程中用户调试的结果,都将记录在这份文件中,最后用户需要将该文件替换到固件或设备中相应位置并重启相机应用来确认最终的图像效果。

由于工具的抓图、在线调试、命令参数交互等功能是通过网络协议来传输,所以再调试环境准备阶段需要用户将PC与设备接入同一局域网内。

拍摄Raw图是为了进行基础模块的标定,同时也可以采集效果异常的场景,在仿真器中排查问题。

基础模块标定需要按照一定流程来进行,如下图:

图2-1-2

由于某些模块的标定会依赖前级模块的标定结果,所以用户应按照流程顺序完成标定工作。在完成某一模块标定计算后,应确认参数是否正确,以免错误的结果影响到后级模块。

2.2 Sensor配置页面​

图2-2-1

Sensor配置页面如图2-2-1所示,界面功能主要分为2个部分:

  1. 配置参数调试区域:该部分参数说明请参考Rockchip_Tuning_Guide_ISP21的4.1.2.5小节的描述,用户应参考Sensor的Datasheet来填写(该部分建议驱动调试人员完成)2. 菜单栏:主要包括SensorList中配置的导入、导出功能

2.3 抓图工具​

图2-3-1

RKISP Tuner Capture Tool主界面如图2-2-1所示,界面主要分为图中标记的4个部分:

  1. 设备端连接配置:提供了设备网络参数配置、Tuning/Calib模式切换功能、测试连接功能;2. 相机参数配置:提供了拍图所需的sensor曝光参数、模块/光源名称标记、分辨率和增益/曝光参数范围等;3. 曝光控制:支持手动曝光和自动曝光两种方式,手动曝光允许配置步长用于遍历拍摄多组曝光组合,自动曝光允许用户设置目标最大亮度来挑选曝光参数;4. Raw图预览和统计功能:这里会以灰度图的方式将拍摄到的Raw图显示在窗口中,并显示相应的直方图、亮度信息和简单的白平衡增益;

2.4 标定工具​

图2-4-1

RKISP Tuner Calibration Tool主界面如图2-3-1所示,主要包括以下模块的标定功能:

BLC: 黑电平校正

LSC: 镜头阴影校正

CCM: 色彩校正矩阵

AWB: 自动白平衡校正

GIC: 绿通道平衡校正

Bayer NR:Raw域降噪

YNR: Y通道降噪

MFNR: 多帧降噪

FEC: 鱼眼校正

建议用户根据标定工作流程,将相应的raw图导入至对应模块计算标定参数。

3 快速入门​

3.1 调试环境准备​

在ISP Tuning的工作流程中,有许多工作需要在设备端完成,这里则需要在设备端运行一个服务应用,用于传递Tuner与AIQ之间的数据,也可以使用它进行Raw图采集等工作。为此,在开始Tuning工作前,需要将服务应用和其他依赖的文件推入设备端并运行。

以下两个小节将分别介绍调试Linux和Android平台所需要进行的准备工作:

1. 局域网的连接
2. 运行rkaiq_tool_server所需要执行的操作(其中执行命令和文件传输可通过:TFTP、串口、ADB等协
议或工具完成,示例操作中使用的是ADB)

3.1.1 Android系统平台​

对于可以使用有线网络进行连接的设备:

1. 将设备使用网线连接至路由器
2. 使用ifconfig命令查看设备的IP地址
3. PC也连接至同一路由器(有线、无线均可)
4. 查看PC的IP地址,并在PC或设备端的命令行中使用ping确认网络通路正常

对于无法使用有线网络进行连接的设备(平板电脑等):

1. PC与EVB用USB线连接(同ADB一个口)
2. 打开电源,进入系统
3. 打开Settings
4. 进入Network&internet
5. 进入Hotspot&tethering
6. 打开USB tethering
7. adb shell进入设备端
8. 执行ifconfig usb0 查看IP地址
9. 在PC或设备端的命令行中使用ping确认网络通路正常

运行rkaiq_tool_server所需要执行的操作(若所需服务应用和其他依赖的文件已存在设备端相应路径下,则直接运行rkaiq_tool_server即可):

1. 在SDK中编译获取rkaiq_tool_server和rkaiq_3A_server
2. 固件必须是user-debug版本
3. 将android.hardware.camera.provider@2.4-service.rc文件推入板端/vendor/etc/init/路
径下
4. 进入/vendor/etc/init/路径,执行修改权限命令:chmod 644
android.hardware.camera.provider@2.4-service.rc
5. 将rkaiq_tool_server和rkaiq_3A_server推入板端/vendor/bin/路径下
6. 进入/vendor/bin/路径,执行修改权限命令:chmod 755 rkaiq_tool_server(以及
rkaiq_3A_server)
7. 执行刷新缓存命令:sync
8. 重启设备
9. 执行命令:setenforce 0
10. 打开相机apk
11. 运行rkaiq_tool_server

ADB示例操作:

#以下命令在PC端的cmd中运行
adb root
adb remount
adb push android.hardware.camera.provider@2.4-service.rc /vendor/etc/init/
adb push rkaiq_tool_server /vendor/bin/
adb shell
# 以下命令是在adb shell终端中执行
chmod 644 /vendor/etc/init/android.hardware.camera.provider@2.4-service.rc
chmod 755 /vendor/bin/rkaiq_tool_server
sync
reboot
# 重启后, 再次进入adb shell
# 关闭SELinux
setenforce 0
# 先手动运行相机apk
# 然后运行tool_server
/vendor/bin/rkaiq_tool_server &

以下是rkaiq_tool_server的参数说明:

-d: sensor选择,设备中存在多个sensor需要进行调试时,可以使用0/1/2等数字来选择使用哪一各
sensor,该数字顺序与v4l2拓扑列表顺序相同,默认值为0
-m: normal/HDR模式选择,0/1/2分别对应normal/HDR2帧/HDR3帧,默认值为normal
-i: IQ文件读取路径,若路径有改动,应同步修改此处的路径
-w和-h: rtsp预览分辨率,该分辨率会基于ISP输出尺寸进行缩放以满足要求,默认值为1920x1080

示例:

#若设备中存在2颗sensor ,需要切换为另一颗sensor进行调试时,运行tool_server如下:
/vendor/bin/rkaiq_tool_server -d 1 &

注意:将New功能生成的初版IQ参数推入设备后应使用如下操作重置相机应用,重新运行tool_server

如果出现崩溃、卡死、在线调试失效、无法预览等异常问题,也请按如下步骤尝试重新连接工具

source /vendor/etc/camera/reset_camera.sh
# 运行相机apk
/vendor/bin/rkaiq_tool_server &

3.1.2 Linux系统平台​

对于可以使用有线网络进行连接的设备:

1. 将设备使用网线连接至路由器
2. 使用ifconfig命令查看设备的IP地址
3. PC也连接至同一路由器(有线、无线均可)
4. 查看PC的IP地址,并在PC或设备端的命令行中使用ping确认网络通路正常

对于无法使用有线网络进行连接的设备:

1. 尝试开启RNDIS服务
2. 使用ifconfig命令查看设备的IP地址
4. 在PC或设备端的命令行中使用ping确认网络通路正常

运行rkaiq_tool_server所需要执行的操作(若所需服务应用和其他依赖的文件已存在设备端相应路径下,则直接运行rkaiq_tool_server即可):

1. 在SDK中编译获取rkaiq_tool_server和librkmedia.so
2. 将librkmedia.so文件推入板端/data/路径下
3. 进入/data/路径,执行修改权限命令:chmod 777 librkmedia.so
4. 将rkaiq_tool_server文件推入板端/data/路径下
5. 进入/data/路径,执行修改权限命令:chmod 777 rkaiq_tool_server
6. 执行刷新缓存命令:sync
7. 重启设备
8. 运行相机应用
9. 运行rkaiq_tool_server

ADB示例操作:

#以下命令在PC端的cmd中运行
adb root
adb remount
adb push librkmedia.so /data/
adb push rkaiq_tool_server /data/
adb shell
# 以下命令是在adb shell终端中执行
chmod 777 /vendor/etc/init/android.hardware.camera.provider@2.4-service.rc
chmod 777 /data/rkaiq_tool_server
sync
reboot
# 重启后, 再次进入adb shell
# 先运行相机应用
# 然后运行rkaiq_tool_server
/data/rkaiq_tool_server -d 0 -m 0 &

以下是rkaiq_tool_server的参数说明:

-d: sensor选择,设备中存在多个sensor需要进行调试时,可以使用0/1/2等数字来选择使用哪一各
sensor,该数字顺序与v4l2拓扑列表顺序相同,默认值为0
-m: normal/HDR模式选择,0/1/2分别对应normal/HDR2帧/HDR3帧,默认值为normal,
-i: IQ文件读取路径,若路径有改动,应同步修改此处的路径
-w和-h: rtsp预览分辨率,该分辨率会基于ISP输出尺寸进行缩放以满足要求,默认值为1920x1080

3.2 选择平台&配置网络地址​

  1. 打开RKISP2.x Tuner,将会显示初始配置界面,如图3-2-1所示;图3-2-1

  2. 选择相应的平台,填写上一小节中获取的设备IP地址,端口号默认5543(非特殊需求请勿修改),请确保rkaiq_tool_server已正确运行后,点击Connect连接rkaiq_tool_server,连接成功后如需使用第三方工具预览,具体操作请参考3.5小节第三点; 3. 点击OK按钮,将会加载对应平台的调试界面,如3-2-2所示;图3-2-2

3.3 新建Sensor配置并生成基础IQ文件​

  1. 点击菜单栏"File" - "New"按钮,打开生成IQ文件页面;

图3-3-1图3-3-2

  1. 点击Sensor列表右侧的"New"按钮,打开Sensor配置页面

图3-3-3

  1. Sensor配置填写完成后,点击"File" - "Export To Sensor List"按钮

图3-3-4

  1. 填写保存的Sensor型号,点击"OK"按钮,保存Sensor配置图3-3-5

  2. 关闭配置页面,在生成IQ文件页面的Sensor列表中即可看到新的Sensor型号

图3-3-6

  1. 选中该Sensor,点击"Generate IQ File"按钮,生成IQ文件

3.4 加载和保存IQ参数文件​

图3-4-1

  1. 点击菜单栏"File" - "Open..."按钮,选择想要加载的IQ参数文件;图3-4-2 2. 在弹出的Scene Selection界面中,会显示IQ参数文件内的各组场景名称,选择想要进行调试的场景,点击OK,加载参数至界面中;

图3-4-3 3. 点击菜单栏"File" - "Save As...",即可将修改后的IQ参数另存为至指定路径;

3.5 导入或修改Sensor Infomation参数​

图3-5-1

  1. 参考上一小节中的步骤,加载一份IQ参数文件;2. 点击菜单栏"Tuning" - "Edit Sensor Information"按钮,打开 Sensor Info配置界面;

图3-5-2 3. 点击菜单"File" - “Import From Sensor List”按钮,打开导入界面图3-5-3 4. 选择想要导入的Sensor配置,如下图

图3-5-4 5. 点击“OK”按钮,导入配置参数;6. 关闭"Sensor Information"界面即可;7. 当SensorList列表中找不到当前项目调试的Sensor型号时,用户可以在直接在Sensor Information界面中参考Sensor手册来配置相应的参数;

3.6 使用Capture Tool抓取Raw图​

Linux系统平台拍raw需要手动关掉camera

  1. 点击菜单栏"Tools" - "RK Capture Tool"按钮,打开抓图工具;

图3-6-1 2. 确认设备IP地址填写到正确,点击"Device Status"按钮,若Tuner与rkaiq_tool_server连接正常则会显示"Device is Ready";图3-6-2 3. 点击Start RTSP Streaming后即可使用第三方播放工具打开rtsp://192.168.224.170:1234/v(具体IP以实际调试设备为准)查看预览画面,此时设备上的相机应用会断开连接,如需继续使用相机,需要先点击Stop RTSP Streaming,再点击Switch To Tuning Mode后方可打开相机应用;4. 用户应在Sensor下拉框中的选择该项目需要Tuning的Sensor;

图3-6-3

  1. 选择正确的分辨率、光源和模块名,便于后续使用时区分;4. 配置增益、曝光时间和拍摄张数等参数;5. 点击Start Manual Capture按钮,此时设备上的相机应用会断开连接,如需继续使用相机,需要点击Switch To Tuning Mode后方可打开相机应用;6. 拍摄到的raw图会在右侧的Raw Preview & Statistics界面中显示;7. 下方显示了该raw图对应的直方图信息、最大/最小/均值亮度、全局白平衡增益等;8. Raw图默认存放在./raw_capture/模块名/下;

图3-6-4 拍摄Gain=5x ExpTime=0.1s单帧Raw图

4 标定流程说明​

各模块的标定工作主要可以分为三个部分:

拍摄标定图:根据各模块的需求,用合适的曝光拍摄标定板或场景的raw图;

计算标定参数:导入raw图,计算标定参数,个别模块可以根据需要微调一些参数;

确认效果并保存参数:根据各模块的标准,判断标定参数是否正确;

4.1 拍摄raw图​

参考3.5小节的操作步骤即可

4.2 BLC标定​

4.2.1 BLC标定基本原理​

Sensor电路中存在暗电流,导致在没有光线照射的时候,像素单位也有一定的输出电压,导致A/D输出的数字信号不为0。暗电流主要受到增益和温度影响,因此需要在不同ISO下分别进行标定。由于BLC是一个偏移量,其他模块在标定时都需要扣除该偏移量,否则无法得到正确的标定参数。

4.2.2 BLC标定Raw图拍摄要求​

  1. 拍摄时遮黑镜头,确保没有任何光线进入;2. 拍摄需要遍历Gain=1x、2x、4x、8x、16x...Max(若驱动最大Gain支持到40x,则Max=32);3. 曝光时间并不影响BLC标定,可以统一10ms;

4.2.3 BLC标定Raw图拍摄方法​

  1. 打开RK Capture Tool,参考第3.1和3.2小节的说明,连接设备,光源名选择unknow(无光),模块名称选择BLC;2. 将设备或模组置于无光环境下,并使用黑布、镜头盖等将镜头盖紧;3. 在Manual Exposure页面中配置Gain=1.0 ExpTime=0.010 Frame Number=1;4. 点击Start Manual Capture拍摄Raw图;5. 拍摄到的raw图会显示在右侧,确认raw图基本正常后拍摄下一张;6. 调整Gain值,Gain=2,重复步骤c、d、e,直至遍历完成;

图4-2-3-1

4.2.4 BLC标定方法​

图4-2-4-1 BLC标定结果标定方法:

  1. 打开Calibration Tool,点击界面左上角的Edit Options按钮,打开配置界面,输入raw图的尺寸、位宽和bayer顺序;2. 选择BLC标签页,点击下方的Load Raw Files按钮,选择存放Raw图的文件夹;3. 导入的Raw图会显示在右侧的列表中;4. 点击Calibrate按钮,开始标定计算;5. 标定得到的各通道暗电流值随ISO变化的曲线会显示在上方的坐标轴中;6. 点击Save保存参数;

注意事项:

  1. 若设备本身有电源灯、状态等指示灯,应注意是否会有漏光;2. 错误的BLC值会影响后续所有模块的标定结果,请务必确保该BLC结果正确后再进行后续模块的标定工作;

4.3 LSC 标定​

4.3.1 LSC标定基本原理​

Lens Shading一般被称为暗角或渐晕效应,可细分为Luma Shading(亮度均匀性)和Color Shading(色彩均匀性)两种。

Luma Shading是由镜头的光学特性引起的。对于整个镜头,可将其视为一个凸透镜。由于凸透镜中心的聚光能力远大于其边缘,从而导致Sensor中心的光线强度大于四周。此种现象也称之为边缘光照度衰减。对于一个没有畸变的摄像头,图像四周的光照度衰减遵循

的衰减规律。

Color Shading的成因则相对复杂一些。不同类型的IR-Cut(红外截止滤光片)的透过率各有不同,且当入射角θ变化时不同波段的透过率也会有变化,所以会出现中心和四周颜色不统一的现象。另外一方面则是Micro Lens(微透镜)的CRA(主光线入射角)与镜头的CRA不匹配也会导致Color Shading现象。

4.3.2 LSC标定Raw图拍摄要求​

  1. 拍摄时使用毛玻璃、均光片覆盖镜头(或使用DNP灯箱、积分球等设备);2. 在标准光源的灯箱中拍摄,需要拍摄7个光源:HZ、A、CWF、TL84、D50、D65、D75;3. 防止交流光源产生Flicker,建议使用10ms的整数倍配置曝光时间;4. Raw图最大亮度大约在200(8bit)左右,最小亮度应明显大于上一节标定的黑电平值;5. 推荐使用如下图的均光片;

图4-3-2-1 Opal Diffuser

4.3.3 LSC标定Raw图拍摄方法​

  1. 打开RK Capture Tool,参考第3.1和3.2小节的说明,连接设备,模块名称选择LSC;2. 将模组置于灯箱内,切换至HZ光,将均光片紧贴镜头;3. 光源名选择HZ,在Auto Exposure页面中勾选Search Exposure By Max Luma(8bit),勾选Anti- Flicker(50hz),右侧的目标最大亮度配置为200±10%,Frame Number = 1;4. 点击Start Auto Capture,拍摄Raw图,期间工具会自动挑选合适的曝光直到满足预设的最大亮度;5. 切换光源至A光,修改光源名为A,重复步骤4,直至所有光源拍摄完成;

图4-3-3-1

4.3.4 LSC标定步骤​

  1. 打开Calibration Tool,点击界面左上角的Edit Options按钮,打开配置界面,输入Raw图的尺寸、位宽和bayer顺序;2. 选择LSC标签页,点击下方的Load Raw Files按钮,导入所有raw图;3. 导入的Raw图会显示在上面的窗口中,切换下拉列表可以查看不同光源的图像;4. 修改Light Fall off 为100%;5. 点击Calibrate按钮,开始标定计算;6. 标定完成后可以在result页面查看各光源的Raw图应用校正参数后的图像;7. 点击Save保存参数;8. 修改Light Fall off 为70%,重复步骤5~7;图4-3-3-2

图4-3-3-3

注意事项:

  1. 拍摄时有可能出现因环境光过亮或过暗,搜索不到合适的曝光参数的情况,此时应根据情况,可以参考以下列出的解决方法:调整光源亮度;使用减光片;调整镜头朝向;修改界面上Gain Range或Exp Range的范围;调整自动曝光的最大亮度或阈值;改用手动曝光(挑选的最低标准是最小亮度明显大于上一节标定的黑电平值);

4.4. AWB标定​

4.4.1 AWB标定内容​

主要是标定Raw在XY、UV、YUV的白点条件,单纯色算法参数及标准光源下的白平衡增益

4.4.2 AWB标定Raw图拍摄步骤与要求​

Raw图采集时需要准备环境如下:

  1. 设备:x-rite 24色卡,灯箱(包含D75、D65、D50、TL84、CWF、A、HZ) 2. 调整曝光参数,使色中最亮的白色块的最大值为[150-240],在这个范围内越亮越好(如果要和后面的CCM共用raw图,图要暗一些)3. 色卡占画面1/9以上

Raw图拍摄方法:

  1. 打开RK Capture Tool,参考第3.1和3.2小节的说明,连接设备,模块名称选择CCM_AWB;2. 将设备和色卡置于灯箱内,调整设备和色卡的位置,令色卡在画面中心位置,尽可能拍摄大一些,调整好后尽量不要移动设备;3. 打开灯箱,光源切换至HZ光;4. 光源名选择HZ,在Auto Exposure页面中勾选Search Exposure By Max Luma(8bit),勾选Anti- Flicker(50hz),右侧的目标最大亮度配置为200±10%,Frame Number = 1;(如果1x Gain 下,10ms整数倍不能抓到raw图,可以把Anti-Flicker(50hz)√去掉)

图4-4-2-1

  1. 点击Start Auto Capture,拍摄Raw图,期间工具会自动挑选合适的曝光直到满足预设的最大亮度;2. 切换光源至A光,修改光源名为A,重复步骤d,直至所有光源拍摄完成;

依次在A,CWF,D50,D65,D75,HZ,TL84光源下拍摄x-rite 24色卡,解完马赛克的示意图如下:图4-4-2-2

4.4.3 AWB标定工具的界面说明​

  1. 标定的时候主要是调整UV、XY域的白点边界,及YUV域的TH值

图4-4-3-1图4-4-3-2

  1. UV、XY域调整白点区间操作说明a) 在坐标系中用鼠标拖动白点条件的四角以调整位置和白点区间大小b) 在坐标系中鼠标拖动空白区域,可以拖动整个白点区间c) 使用滚轮放大缩小查看3. 各个光源的信息显示可以通过Display Control面板里LightX前面的复选框来选择是否显示4. Exclude WPC Range面板可用于增加非白点区间和额外光源白点区间。5. AWB Simulaton 用于对raw图进行白点检测,统计白点增益图4-4-3-3
a) LoadImage 导入Raw图后,如下所示,会打印出白点信息。不同光源的白点用不同的颜色显示出来。中
框、大框、小框的白点数量 RGain累加和 BGain累加和 会显示在Detected WP Number、RGain、BGain
三个文本框里

图4-4-3-4

b) 单击图像中的任意位置,会映射到UV域白点条件界面和XY域条件界面上,以黑色方点标记,便于查看点是
否落在白点区间内,同时该点的R G B U V X Y RGain BGain Dis Th会显示在该界面的Stats of
Point Track面板上

图4-4-3-5

4.4.4 AWB标定步骤​

  1. 打开Calibration Tool,点击界面左上角的Edit Options按钮,打开配置界面,输入Raw图的尺寸、位宽和bayer顺序;2. AWB标定时需完成BLC和LSC的标定3. 单击Load Raw Files导入A,CWF,D50,D65,D75,HZ,TL84下的raw图(推荐标定这七个光源的raw图)4. 单击Find Chart 识别色卡

图4-4-4-1

a) 依次单击第1块,第6块,第19块,第20块
b) 单击FindChart 会批量识别所有光源的色卡色块,如下所示(显示最后一个光源的白点检测结果)

图4-4-4-2

c) 从下拉菜单里面选择其他光源,确认色块识别的正确性,发现只有TL84的最后一块识别有点偏右,这时
候只需单独重新检测即可,固Mode里面 选择 Find chart one by one 重复步骤12,直至TL84的色卡色
块识别正确,如下所示

图4-4-4-3

d) 单击Save 完成识别
  1. 单击Calibrate , 开始标定计算,该模块耗时较长,大约需要30s左右;得到如下初始的白点条件及其他参数;UV域、XY域坐标系中的不同颜色的圆点代表各光源拍摄的色卡中的色块在UV、XY色彩空间中的位置;四边形框代表不同光源的白点条件;图4-4-4-4图4-4-4-5

  2. 单击AWB Simulaton ,依次导入导入A,CWF,D50,D65,D75,HZ,TL84下的raw图查看白点检测的准确性。7. 修改UV域或XY域的框或YUV的TH使各个光源下色卡的白点检测更准确。8. 单击Save 9. 重复步骤5~步骤7,直到各个光源的白点检测都比较合理。

注意事项:

调整边界尽量使白点(标为19、20、21、22块的点)在框里面,非白点在框外(一般做不到)

所有光源中框或大框围成的区间必须是紧连的(三种线型表示三个大小的框)

错误示范(大框的区间是紧连的,但是中框之间有间隔,如下箭头所示):

正确示范:

a和hz光源在XY域的Y方向上可以紧凑一些,d50 d65XY域的Y方向上可以放宽一些

所有光源在UV域围成的区间必须是紧连的

不同光源边界可以重叠,但不要同时在XY和UV空间都重叠

参考XY空间划分UV空间,以排除非白点

如圈出来的D75光源第7块落在hz范围内,将会被识别为白点

重新调整后,D75光源第7块在xy和uv空间上不在同一光源内,不会被识别为白点当非白点落在XY和UV的白点区间里,还可以通过调小TH排除,或者增加非白点区间排除。

当白点落在XY和UV的白点区间里,但仍然不是白点时,可能是因为超过亮度范围被排除了,或者落在非白点区间内,或者是因为小于TH 而没有落在YUV域的白点区间里

4.4.5. AWB标定结果示例​

最终白点条件:

图4-4-5-1

各光源白点检测结果为:图4-4-5-1 A

图4-4-5-2 CWF图4-4-5-3 D50

图4-4-5-4 D65图4-4-5-5 D75

图4-4-5-6 HZ图4-4-5-7 TL84

4.5 CCM标定​

4.5.1 CCM模块Raw图拍摄要求​

参考4.4节AWB模块,一般情况下CCM与AWB共同使用同一组Raw图,由于Gamma模块的影响需要重新拍摄的情况,请参考4.5.2小节第10点;

4.5.2 CCM标定步骤​

  1. 打开Calibration Tool,选择CCM标签页,点击下方的Load Raw Files按钮,导入所有Raw图, 导入的Raw图会显示在下方的列表中;

图4-5-2-1 2. 点击Find Chart,打开色块搜索界面;

图4-5-2-2

  1. 拖动左上、右上、左下、右下的红框中心圆点来调整采样区域,尽量确保采样区域在各个色块的中心;5. 点击Find Chart开始统计色块值,统计区域会被标记为绿色;6. 用户应检查下拉列表中的各个光源,检查统计区域是否都正确;

图4-5-2-3

  1. 搜索完成后点击Save按钮保存退出;7. 设置饱和度为100%,如图4-5-2-4所示;图4-5-2-4

  2. 点击Calibrate按钮,开始标定计算,该模块耗时较长,大约需要20s左右;9. 标定完成后,计算结果显示在result页面中;10. 点击Save按钮保存结果;11. 修改饱和度为74%,重复步骤8~10;

图4-5-2-5

  1. 若出现ΔE超出预期的情况,有可能是Raw图亮度过高导致,可以右键图4-5-2-2中右侧的色卡图像,点击Save Current,将图片保存下来,检查各个色块是否有过曝或某通道饱和的情况(由于CCM标定时会引入Gamma曲线,有可能导致标定色块饱和);1. 若确实存在过亮或过饱和的问题,应当重新拍摄该光源的色卡图,降低曝光量,重新进行一次标定;2. 若色块亮度都较为正常,有可能导致问题的原因有:BLC参数异常、LSC参数异常、镜头漏光(红外光)等; 11. 具体调试方法请参考Rockchip_Color_Optimization_Guide;

4.6 NR标定​

NR模块Raw图拍摄要求:

在标准光源的灯箱中拍摄,建议使用可调亮度的直流光源;

必须使用灰度渐变卡,如图4-6-1;

曝光需要遍历Gain=1x,2x,4x,8x,16x...Max(若驱动最大Gain支持到40x,则Max=32);

每一个Gain下都需要拍摄四张Raw图,分别是高光-叠帧、高光-单帧、低光-叠帧、低光单帧;

高光和低光可以调节曝光时间或环境光亮度来区分,叠帧和单帧则由工具自动完成;

低光拍摄要求:最亮的像素亮度在120~140范围内;

高光拍摄要求:图4-6-1中最亮块为中心的3x3块内至少有一块过曝,除该3x3块之外不允许有过曝块;

最亮像素值可以通过直方图或下方统计得到的Max Luma来判断,Max Luma=255则说明图中至少有一点达到饱和值;

采用DCG模式的HDR Sensor需要分别拍摄LCG和HCG两组Raw图;

图4-6-1

4.6.1 Raw图拍摄方法​

  1. 打开RK Capture Tool,参考第3.1和3.2小节的说明,连接设备;2. 将设备或模组置于灯箱内,并将渐变卡贴在灯箱背板;3. 调整设备位置,令渐变卡移动至画面中心,并尽量靠近拍的大一些;4. 打开灯箱,光源切换至TL84或CWF;5. 修改界面中的光源名为TL84或CWF,模块名为NR_Normal;6. 假设例子中的sensor支持Gain=1-24,则需要拍摄1x 2x 4x 8x 16x;7. 拍摄低光:
灯箱亮度调节至大约800lux;
将界面中Gain Range的值修改为1.0 - 1.0,Exp Range不做修改;
勾选Multi-Frame和Low-Light;
选择Auto Exposure页面,勾选Search Exposure By Max Luma,并设定值为165±10%
关闭Anti-Flicker(50hz);
设定Frame Number=32;

图4-6-1-2

  1. 点击Start Auto Capture按钮开始拍摄,工具会自动挑选合适的曝光值,令Raw图满足设定值;9. 拍摄完成得到带Multiple和Single后缀的Raw图各一张;

图4-6-1-3

  1. 拍摄高光:灯箱亮度调节至大约800lux;将界面中Gain Range的值修改为1.0 - 1.0,Exp Range不做修改;勾选Multi-Frame和High-Light;选择Auto Exposure页面,勾选Search Exposure By Max Luma,并设定值为255±1%关闭Anti-Flicker(50hz);设定Frame Number=32;

图4-6-4

点击Start Auto Capture按钮开始拍摄,工具会自动挑选合适的曝光值,令Raw图满足设定值;
拍摄完成得到带Multiple和Single后缀的Raw图各一张;
由于高光不允许有太多过曝块出现,用户需要检查图中是否仅最亮块为中心的3x3存在过曝块;
若需要降低亮度,可以切换到Manual Exposure页面,根据自动曝光的结果进行微调,重新拍摄;

图4-6-1-5

  1. 修改Gain Range值为2x,重复步骤g、h,直到所有Gain拍摄完成;12. 由于Gain会不断增大,可能出现自动曝光无法挑选到合适曝光值的情况,如图4-6-6所示,打印信息中表明工具使用了Gain=4x ExpTime=0.03s的组合(该组合为当前设定范围内的最大值),拍摄得到的Raw图最大亮度为166.375,无法达到目标值255,此时应提高灯箱亮度后再重新尝试;

图4-6-1-6

4.6.2 NR标定步骤​

GIC & BayerNR和YNR & MFNR模块共用同一组Raw图:

  1. 打开Calibration Tool,点击界面左上角的Edit Options按钮,打开配置界面,输入Raw图的尺寸、位宽和bayer顺序;2. 选择GIC & Bayer NR页面,点击上方的Load Raw Files按钮,导入所有Raw图,导入的Raw图会显示在下方的列表中;3. 点击Calibration按钮,计算标定参数;4. 点击Save按钮保存参数;5. 选择YNR&MFNR标签页,点击上方的Load Raw Files按钮,导入所有Raw图,导入的Raw图会显示在下方的列表中;6. 点击Calculate YUV按钮,Raw图将会通过仿真器处理为YUV图;7. 点击Calibration按钮,计算标定参数;8. 标定完成后得到的噪声曲线将会显示在右侧窗口中;9. 点击Save按钮保存参数;

图4-6-2-1

注意事项:

若Auto Exposure始终无法挑选到合适的曝光参数,建议使用Manual Exposure调整曝光,通过拍摄到的
Raw图的直方图和统计值来判断亮度是否合适;
若标定出的曲线与图4-6-7中所示的形状相差甚远,表明高光或低光亮度不对,可以通过曲线异常的位置来判
断:
左侧形状错误则是低光亮度不合适;
右侧形状错误则是高光亮度不合适;
拍摄Raw图时请务必选择正确的光源,否则Calculate YUV的结果可能会不正确,若由于灯箱可调光源的最低
亮度已无法满足拍摄,建议使用减光片等不影响颜色的滤镜来辅助拍摄;

4.7 FEC/LDCH​

4.7.1 FEC/LDCH标定图拍摄要求​

拍摄棋盘格,棋盘格尺寸支持可变,标定图仅支持jpg、bmp、png格式;

允许采用两种方式来拍摄:

  1. 四张标定图,棋盘格分别占据标定图中左上、右上、左下和右下四个位置,没有具体顺序要求;图4-7-1-1

  2. 一张标定图,左上、右上、左下和右下四个角都有棋盘格覆盖;图4-7-1-2

4.7.2 FEC/LDCH标定步骤​

图4-7-2-1

  1. 配置Raw Options属性中的分辨率。Bit和Bayer Pattern可以忽略。2. 导入标定图所在的文件夹。支持jpg、bmp、png图像读取。3. 调节标定配置参数。a) 确认棋盘格方格实际大小,水平方向和竖直方向上的角点个数。b) 选择标定图中包含的棋盘格张数。c) 确认矫正等级以及FEC的矫正方向。4. 点击“Calibrate”按钮进行标定。5. 点击“Save”按钮保存标定结果。

注意事项1. 棋盘格最外圈不参与计算。但拍摄标定图时,最外圈的黑白块不可被预览全部遮挡。2. 水平方向和竖直方向上的角点数量,是排除棋盘格最外圈黑白块后,由各方向上黑白块的数量加一得到。3. FEC默认两个方向都校正。标定时,可根据实际情况,选择需要校正的方向。4. 存放标定图的文件夹,最好以sensor名+镜头名/焦距+分辨率命名,工具会依据此命名生成存放校正文件的文件夹。

5 在线调试界面及功能介绍​

5.1 调试界面功能介绍​

图5-1-1 RKISP Tuner v2主界面

如图5-1-1所示,该界面为一个典型的使用状态:加载调试界面完成,并导入IQ参数之后的界面,下面将简单介绍一下图中标记数字的UI含义及功能:

1. 模块树形结构图:顶部显示的"normal: day"为加载IQ参数时选择加载的场景名称,其中“normal”为主
场景名称,day为细分场景名称
2. ISP模块:一个场景内可以包含多个模块,一个模块可以包含多个调试页面
3. 调试页面:一个模块节点可以包含多个调试页面,一个调试页面中可以包含多个调试单元
4. 调试单元:例如该单元名称为InitExp,其中包含了5个数值型成员参数
5. 调试单元读写按钮:提供整个单元内所有参数的在线读、写功能
6. 自动写入功能:当其勾选时,若工具已与rkaiq_tool_server建立连接,则每一次参数修改都将自动发
送至设备端并设置生效
7. 页面/模块读写按钮:提供整个调试页面或模块的在线读、写功能

5.2 平台&网络配置功能​

初次启动工具或点击菜单栏"Project" - "Network and Platform Settings"按钮时打开平台&网络配置界面,如下图所示

图5-2-1

Platform Setting

选择相应的芯片平台,即会加载不同的调试界面配置文件,不同平台与配置文件的对应关系记录在config/config.ini中

Network Config

配置调试设备的网络地址,端口号默认5543,非特殊需求请勿修改

点击“Connect”按钮,工具将会尝试向调试设备中的rkaiq_tool_server建立连接,这里请确保rkaiq_tool_server已正确运行

5.3 寄存器及算法参数调整​

每个调试单元内都包含寄存器或算法参数,按照各自参数形式与取值范围不同,使用不同的控件,主要分为以下几类:

数值:具有一定取值范围的整型或浮点型值;

直接修改文本框的值;
使用文本框右侧的上下小箭头调整值;
使用右侧的滑动条调整值;

图5-3-1

布尔:取值为0或1的参数,主要是各种功能开关等;

Enable时取1,Disable时取0;

图5-3-2

列表:从预设的选项中取其一,主要是各种功能模式、ISO、Day/Night和LCG/HCG档位选择;

图5-3-3

表格:NxM的矩阵参数,矩阵元素可能是整型或浮点型,通过点击界面上的show data或Enter Array Table按键展开;

图5-3-4

5.4 IQ文件在线导入功能​

点击菜单栏"File Transfer" - "Send File To Device",选择要传输的IQ文件,输入设备端要存放IQ文件的路径,如图5-4-1所示,点击Send,传输成功后即可在对应路径下找到该文件。图5-4-1 选择传输路径界面

图5-4-2 传输成功界面

5.5 Gamma​

5.5.1 Gamma可视化调试​

点击图5-5-1-1中的Enter Curve,打开Gamma 可视化调试界面,如图5-5-1-2所示

图5-5-1-1 Gamma界面图5-5-1-2 Gamma可视化调试界面

5.5.2 Gamma曲线基本调试方法​

界面上共有两条曲线,蓝色的为原始曲线,红色的为可调曲线,当指针移动至红色曲线上的圆点时,将会显示为上下箭头,此时可以拖动圆点上下移动,红色曲线则会随点的位置发生改变,如图5-5-2-1 所示。

图5-5-2-1 拖动圆点后的曲线