摄像头ISP系统原理(中)

  • AF(FOCUS)----自动对焦

根据光学知识,景物在传感器上成像最清晰时处于合焦平面上。通过更改 LENS 的位置,使得景物在传感器上清晰的成像,是 ISP FOCUS 功能所需要完成的任务。FOCUS 分为手动和自动两种模式。ISP 可以运行 CONTRAST AF、PDAF、LASER AF 等算法实现自动对焦。

45点

EOS-1D Mark III  45个自动对焦点

EOS-1D Mark III对自动对焦感应器、自动对焦算法和与自动对焦相关的电子电路进行了全新设计,进一步提高了自动对焦性能。

相机采用新研发的具有19个高精度十字型自动对焦点的区域自动对焦,加上26个辅助对焦点,自动对焦区域共有45个自动对焦点。其45个自动对焦点的布局与其他具备45点区域自动对焦的EOS-1系列相机的布局几乎完全一样。

19个自动对焦点是高精度十字型对焦点,在f/2.8时对垂直线条敏感,在f/5.6时对水平线条敏感。其余26个对焦点为辅助对焦点,用户不可手动选择,在f/5.6时对水平线条敏感。

  • AE(Automatic Exposure)----自动曝光

曝光。EXPOSURE 主要影响图像的明暗程度。ISP 需要实现 AE 功能,通过控制曝光程度,使得图像亮度适宜。

不同场景下,光照的强度有着很大的差别。人眼有着自适应的能力因此可以很快的调整,使自己可以感应到合适的亮度。而图像传感器却不具有这种自适应能力,因此必须使用自动曝光功能来确保拍摄的照片获得准确的曝光从而具有合适的亮度。

AE 模块实现的功能是:根据自动测光系统获得当前图像的曝光量,再自动配置镜头光圈、sensor快门及增益来获得最佳的图像质量。自动曝光的算法主要分光圈优先、快门优先、增益优先。光圈优先时算法会优先调整光圈到合适的位置,再分配曝光时间和增益,只适合p-iris 镜头,这样能均衡噪声和景深。快门优先时算法会优先分配曝光时间,再分配sensor增益和ISP 增益,这样拍摄的图像噪声会比较小。增益优先则是优先分配sensor增益和ISP 增益,再分配曝光时间,适合拍摄运动物体的场景。

自动曝光的实现一般包括三个步骤:光强测量、场景分析和曝光补偿。光强测量的过程是利用图像的曝光信息来获得当前光照信息的过程。按照统计方式的不同,分为全局统计,中央权重统计或者加权平均统计方式等。全局统计方式是指将图像全部像素都统计进来,中央权重统计是指只统计图像中间部分,这主要是因为通常情况下图像的主体部分都位于图像的中间部分;加权平均的统计方式是指将图像分为不同的部分,每一部分赋予不同的权重,比如中间部分赋予最大权重,相应的边缘部分则赋予较小的权重,这样统计得到的结果会更加准确。场景分析是指为了获得当前光照的特殊情况而进行的处理,比如有没有背光照射或者正面强光等场景下。对这些信息的分析,可以提升图像传感器的易用性,并且能大幅度提高图像的质量,这是自动曝光中最为关键的技术。目前常用的场景分析的技术主要有模糊逻辑和人工神经网络算法。这些算法比起固定分区测光算法具有更高的可靠性,主要是因为在模糊规则制定或者神经网络的训练过程中已经考虑了各种不同光照条件。在完成了光强测量和场景分析之后,就要控制相应的参数使得曝光调节生效。主要是通过设定曝光时间和曝光增益来实现的。通过光强测量时得到的当前图像的照度和增益值与目标亮度值的比较来获得应该设置的曝光时间和增益调整量。在实际情况下,相机通常还会采用镜头的光圈/快门系统来增加感光的范围。

在进行曝光和增益调整的过程中,一般都是变步长来调整的,这样可以提高调整的速度和精度。一般来讲,增益和曝光的步长设定如下图所示:

从上图中可以看出,在当前曝光量与目标量差别在range0以内的时候,说明当前曝光已经满足要求,不需要进行调整;差别在rangel的范围内时,则说明当前曝光与要求的光照有差别,但差别不大,只需要用较小的步长来进行调节即可;当差别在range2的时候,则表明差别较大,需要用较大步长来进行调节。在实现过程中还需要注意算法的收敛性。

  • GB(Green Balance)------绿平衡

由于感光器件制造工艺和电路问题,Gr,Gb数值存在差异,将出现格子迷宫现象可使用均值算法处理Gr,Gb通道存在的差异,同时保留高频信息。

另外一个说法是:

Sensor芯片的Gr,Gb通道获取的能量或者是输出的数据不一致,造成这种情况的原因之一是Gr,GB通道的半导体制造工艺方面存在差异,另一方面是Microlens的存在,特别是sensor边缘区域,GB,Gr因为有角度差异,导致接收到的光能不一致。如果两者差异比较大,就会出现类似迷宫格子情况。主要是考虑G周围的G的方法进行平均化。

  • AWB(Automatic White Balance)------自动白平衡

白平衡。白平衡与色温相关,用于衡量图像的色彩真实性和准确性。ISP需要实现 AWB 功能,力求在各种复杂场景下都能精确的还原物体本来的颜色。人类视觉系统具有颜色恒常性的特点,因此人类对事物的观察可以不受到光源颜色的影响。但是图像传感器本身并不具有这种颜色恒常性的特点,因此,其在不同光线下拍摄到的图像,会受到光源颜色的影响而发生变化。例如在晴朗的天空下拍摄到的图像可能偏蓝,而在烛光下拍摄到的物体颜色会偏红。因此,为了消除光源颜色对于图像传感器成像的影响,自动白平衡功能就是模拟了人类视觉系统的颜色恒常性特点来消除光源颜色对图像的影响的。

  • LSC(Lens Shade Correction)------镜头阴影校正

用于消除图像周边和图片中心的不一致性,包含亮度和色度两方面。ISP 需要借助 OTP 中的校准数据完成 LSC 功能。由于相机在成像距离较远时,随着视场角慢慢增大,能够通过照相机镜头的斜光束将慢慢减少,从而使得获得的图像中间比较亮,边缘比较暗,这个现象就是光学系统中的渐晕。由于渐晕现象带来的图像亮度不均会影响后续处理的准确性。因此从图像传感器输出的数字信号必须先经过镜头矫正功能块来消除渐晕给图像带来的影响。同时由于对于不同波长的光线透镜的折射率并不相同,因此在图像边缘的地方,其R、G、B的值也会出现偏差,导致CA(chroma aberration)的出现,因此在矫正渐晕的同时也要考虑各个颜色通道的差异性。

常用的镜头矫正的具体实现方法是,首先确定图像中间亮度比较均匀的区域,该区域的像素不需要做矫正;以这个区域为中心,计算出各点由于衰减带来的图像变暗的速度,这样就可以计算出相应R、G、B通道的补偿因子(即增益)。下图左边图像是未做镜头阴影校正的,右边图像是做了镜头阴影校正的。

1.Lens Shading指画面四角由于入射光线不足形成的暗角,同时,由于不同频率的光折射率差别,导致 color shading。因此需要镜头影音校正(Lens Shading Correction)。lens shading分为两种 luma shading( 亮度阴影)和 color shading (色彩偏差)。

  • luma shading

Luma Shading原因有两个,第一,由于镜头本身就是一个凸透镜,Lens的光学特性——凸透镜原理,中心的感光必然比周边多,通光量从中心到边角依次较少,导致图像中间亮,四周偏暗;第二,当Lens CRA(主光线角度,Chief ray angle)大于 Sensor CRA(microlens)导致sensor传感器边缘像素收集光能衰减更大(CRA矫正改善),因此导致传感器中心像素收集光能大于边缘像素,加剧Luma Shading。

  • chroma/color shading

由于各种颜色的波长不同,经过了透镜的折射,折射的角度也不一样,Luma Shading的第二个原因是color shading主要原因。

2、Lens Shading矫正

2.1 Pipeline位置

Shading一般在OB和DPC的后面。额外注意,如果3A的统计数据在 shading 矫正之后获取,那么 shading 矫正结果会影响3A的统计数据。

2.2 矫正方法

Shading的矫正方法目前主流有两种:一种是同心圆法,一种是网格法。

同心圆法的流程为:

1.  找到RGB三通道的圆心(一般选择为同一个点)

2.  以同心圆的形状将画面的中心和画面的边缘的三通道乘以不同的增益

具体如下图所示,一般来说考虑shading渐变的曲率从中心到边缘逐渐增大,所以等增益曲线中心稀疏,边缘密集。一般来说lens shading的增益最好不要超过2倍,因为会引入噪声。

下图为mesh shading的矫正方法,同一个方格中的增益一致,mesh的分布也是中心稀疏四角密集。

最后总结一下:同心圆矫正方法的优点是计算量小,缺点是镜头若装配时稍有不对称则矫正失败;网格矫正方法的优点是能够应对各种shanding情况,缺点是运算量大。

2.3 联动方式

Luma Shading主要受因素一镜头光通路影响,随光谱变化较小,可不做联动;

Color Shading主要受因素二CRA影响,不同色温光谱,Shading不同,可标定多色温下,然后进行差值。

  • RGB Gamma------Gamma校正

伽玛校正。传感器对光线的响应和人眼对光线的响应是不同的。伽玛校正就是使得图像看起来符合人眼的特性。

最新文章

  1. ubuntu 12.04 install docker-engine1.12.3
  2. Raspberry pi(-) Mac下安装系统
  3. finereport与OA系统集成的完全方案
  4. 南阳OJ----Binary String Matching
  5. Tomcat配置https及访问http自动跳转至https
  6. 支付标记化(Tokenization)技术
  7. 安装gem invalid date format in specification错误的解决方法
  8. useradd、passwd、userdel
  9. Can't create/write to file '/tmp/#sql_3105_0.MYI' (Errcode: 13)
  10. 解決 centos中-bash: vim: command not found
  11. 【Andrioid】在Gradle编译时生成一个不同的版本号,动态设置应用程序标题,应用程序图标,更换常数
  12. Matlab.NET混合编程调用Figure窗体
  13. C语言-字符串文本串联
  14. KVO,看我就够了!
  15. 用Left join代替not in
  16. Linux环境下安装weblogic10.3.2
  17. IISARR方式整合Tomcat失敗
  18. MySQL is running but PID file could not be found
  19. go语言的条件语句和循环语句
  20. javascript parseUrl函数(来自国外的获取网址url参数)

热门文章

  1. 测开需要熟悉的Linux基本知识
  2. 推荐算法-聚类-DBSCAN
  3. Debuggee not connected 寒江孤钓<<windows 内核安全编程>> 学习笔记
  4. QQ可以登录,网页无法访问
  5. C++入门教程之二:变量
  6. React中diff算法的理解
  7. C++ primer plus读书笔记——第12章 类和动态内存分配
  8. Redis 分布式锁|从青铜到钻石的五种演进方案
  9. 3. java基础语法
  10. golang:函数总结