ISP Tuning

news2024/11/24 4:08:13

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
      在这里插入图片描述

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(麦克白)标准灯箱,灯箱内放置灰卡,让灰卡占满整个画面,若没有灰卡就直接利用灯箱内的灰墙来做分析
    在这里插入图片描述
    在这里插入图片描述

4.2 AE Exposure Table 设定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/46378.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汽配erp管理系统目前有哪些公司提供了解决方案?

之前的一个朋友提问&#xff1a;我们是一个有200人左右的汽车配件供应商&#xff0c;为了迎合整车厂家的需要&#xff0c;提高自身管理运作的效率&#xff0c;准备上erp管理软件来规范企业的运作。现阶段我们内部管理的信息化程度比较低&#xff0c;从库房到现场作业都是靠纸质…

【Labivew】G语言

&#x1f6a9;write in front&#x1f6a9; &#x1f50e;大家好&#xff0c;我是謓泽&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f3c5;2021年度博客之星物联网与嵌入式开发TOP5&#xff5…

第七章 贝叶斯分类器(上)

7.1 贝叶斯决策论 贝叶斯决策论是概率框架下实施决策的基本方法。 假设有N种可能的类别标记&#xff0c;即y{c1,c2,…,cn}&#xff0c;λij是将一个真实标记为cj的样本误分类为ci所产生的损失。基于后验概率P(ci | x)可获得将样本x分类为ci所产生的期望损失&#xff0c;即在样…

C++多态总结

多态的概念 多态的基本概念 多态支持不同对象完成不同的行为。 定义“人”为一种对象&#xff0c;那么不同的人对于一件事会有不同的行为。 比如&#xff1a;普通人买票时&#xff0c;票价为全价。 学生买票时&#xff0c;是半价买票。 军人买票时则可优先买票。同属于人这一大…

java项目-第165期ssm咨询交流论坛_ssm毕业设计_计算机毕业设计

java项目-第165期ssm咨询交流论坛_ssm毕业设计_计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm咨询交流论坛》 该项目分为2个角色&#xff0c;管理员和用户。 用户可以浏览前台,包含功能有&#xff1a; 首页、学校风采、师资力量、投稿信息 、论坛交流、系统公…

认识vue3以及语法运用简介

Vue3支持2的大多数特性 性能提升: 打包大小减少41%, 初次渲染快55%,更新快133%, 内存使用减少54% 推出一系列组合型API ref与reactive watch与computed 新的声明周期函数。 一、组合API------reactive、ref 与 toRefs 在Vue2.x中&#xff0c;定义数据都是在data中&#xff0c;但…

LeetCode——Weekly Contest 320(附动态规划解题思路)

LeetCode周赛第320场记录 质量还不错的一场周赛&#xff0c;也可以学到不少知识。 2475. 数组中不等三元组的数目(排序荷兰国旗问题) 这道题非常简单&#xff0c;就是从头向后一一找出不含重复数字的三元组。我在比赛时直接写了一个三重循环暴力来解&#xff0c;这道题的数据…

WebDAV之葫芦儿·派盘+元思笔记

元思笔记 支持webdav方式连接葫芦儿派盘。 卡片笔记不仅是笔记爱好者,学生、医生、投资等各行各业的人都在不约而同的夸赞元思笔记的好。这是一款面向大众的卡片笔记软件,解决了笔记类软件的一个痛点:绝大多数人都很难坚持每天记一点东西。任何笔记工具,不论是纸笔还是电…

时序特征提取工具

在选择了需要提取的特征&#xff0c;确定了时序数据特征提取数据集的长度并对先验知识建模之后&#xff0c;就需要利用工具搭建特征提取系统。科研机构围绕不同问题域搭建的开源时序数据特征提取工具已经不少&#xff0c;我们可以利用这些工具快速实现希望达成的算法效果。下面…

[附源码]Python计算机毕业设计Django的残障人士社交平台

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

相控阵天线(十):波束跃度、虚位技术、幅度相位误差分析(含代码)

目录简介波束跃度不同移相器位数对方向图的影响不同移相器位数对波束跃度的影响虚位技术不同虚位位数对指向精度的影响不同虚位位数对副瓣电平的影响幅度相位误差分析随机误差周期误差Python代码示例简介 阵列天线的成本、批量和可制造性等实际问题的解决方案的选择直接影响阵…

[msyql]实战:关于回表的一次查询优化实战

起因与前置环境思考与解决方案 第一个理解与方法——分块分页第二个理解与方法——拆分子查询第三个理解与方法——拆分子查询分块分页 原理浅析与总结 回表和索引覆盖的浅解 原理简单说明MYSQL中回表的实现 总结与收获 起因与前置环境 目前在职的公司是已经运转挺久的电商类…

leetcode 343. 整数拆分(动态规划)

题目链接&#xff1a;343. 整数拆分 动态规划 (1) 确定 dpdpdp 数组下标含义&#xff1a; dp[i]dp[i]dp[i]: 将 iii 拆分为至少两个正整数之后的最大乘积&#xff1b; (2) 确定递推公式&#xff1a; 当 i≥2i \ge 2i≥2 时, 设 jjj 是 iii 拆分出来的第一个正整数&#xff0c…

1990-2021年全国30省城镇登记失业率

1、时间&#xff1a;1990-2021年 2、来源&#xff1a;整理自统计NJ 3、数据说明&#xff1a; 包括全国30个省份&#xff0c;不包括西藏&#xff0c;其中北京、天津、辽宁、吉林、江苏、浙江、湖南、四川、新疆2021年数据存在缺失&#xff0c; 内含原始数据&#xff0c;线性…

猿如意开发工具|python3.7

文章目录 一、猿如意是什么&#xff1f;一、猿如意的下载安装使用二、使用猿如意下载安装python3.7总结前言 对于程序猿来说&#xff0c;辅助开发工具箱是非常重要的&#xff0c;可以方便广大的开发者们。今天我就介绍一款非常好用的开发工具箱-猿如意。 一、猿如意是什么&…

大数据必学Java基础(一百零八):过滤器的生命周期

文章目录 过滤器的生命周期 一、构造方法 二、初始化方法 三、拦截请求方法

用R语言实现神经网络预测股票实例

神经网络是一种基于现有数据创建预测的计算系统。最近我们被客户要求撰写关于神经网络的研究报告&#xff0c;包括一些图形和统计输出。 如何构建神经网络&#xff1f; 神经网络包括&#xff1a; 输入层&#xff1a;根据现有数据获取输入的层隐藏层&#xff1a;使用反向传播…

基于PHP+MySQL动漫周边商城销售网站的开发与设计

随着时代的发展,人们对动漫周边产品的关注度越来越高,尤其是对当代的年轻人来说,对一些动漫的手办和玩具等商品都非常的热爱。但是当下时长上的动漫周边产品销售网站还很少,这对钟爱动漫周边产品的来说是一件很痛苦的事情,明明知道一件出现了这些相关产品,但是没有渠道能够购买…

【简单、实用】kubernetes的etcd备份与恢复实现恢复集群配置

学习目标 内容 提示:由于牵涉概念过多,本章主要讲解具体的备份恢复,其他概述 官网:https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster 一. etcd的工作原理 可将其分成两层次:Http层请求、接收消息;剩下的…

家电专用降压DC-DC方案PL8310

PL8310是一个单片36V, 1A降压开关监管机构。PL8310集成了一个36V 250mΩ高侧和一个36V, 140mΩ低侧mosfet提供1A持续负载电流超过4.5V至36V宽工作输入电压带33V输入过电压保护。峰值电流模式控制速度快瞬态响应和逐周电流限制。PL8310具有可配置的线路下降补偿&#xff0c;可配…