1. ISP pipeline

DBS:校准经过OBC之前不同像素暗电流的差值。
因为器件原因,会存在暗电流,存在暗电流的情况下会导致偏色。

OBC:sensor电路本身存在暗电流,没有光线的时候,像素会有输出,OBC减去暗电流,找到0基准。
Lens Shadding:镜头阴影校正
镜头是一个凸透镜,在接收光线时,成像较远时,会造成斜光束慢慢减少,图片中心较亮,四周比较暗。

PGN:3A统计计算模块(计算awb、af、ae)
UDM:利用颜色插值,光分为r,g,b三原色,g是亮度,通过g的插值,得到一下图片。

CCM:颜色校正
由于各个颜色块之间的相互渗透带来颜色差,将拍摄到图片与原相片对比,得到一个像素矩阵。在以后的图像传感器中,都利用这个像素矩阵来使原图片与拍摄到的图片尽量一致。

GMA:人眼对亮度的感知时非线性的,gamma校正是为了模拟人眼对亮度的感知。
ANR:YUV(图片格式)域降噪模块。
EE:YUV域蜕化模块(锐化增强图片边缘细节)
ANR2:YUV降噪的2次处理。
HFG:高频率产生器,增加图像颗粒感,增强细节。
COLOR:调整布局色彩。

图像噪声直观表现为图片不清晰,噪声在图像上常表现为一引起较强视觉效果的孤立像素点或像素块

  1. 3A之AWB

AE:自动曝光 通过调节快门、光圈、感光度来使图像达到合适亮度。
AF:自动对焦 通过控制对焦马达的位移,使镜头焦点在合适位置。
AWB:自动白平衡 在不同色温下,白色图片会呈现出不同的颜色,白平衡就是为了使白色尽可能的还原成白色。

sensor原始图像中的白色如果不经AWB处理,在高色温(如阴天)下偏蓝,低色温下偏黄,如宾馆里的床头灯(WHY!OTZ) (如下图).

流程原理:
1、在各个色温下(2500~7500)拍几张白纸照片,假设拍6张(2500,3500…7500),可以称作色温照.
2、把色温照进行矫正,具体是对R/G/B通道进行轿正,让偏色的白纸照变成白色,并记录各个通道的矫正参数.
实际上只矫正R和B通道就可以,这样就得到了6组矫正参数(Rgain,Bgain).
3、通过以上流程,只需要知道当前场景是什么色温,再轿正一下就可以了。

第一步我们获取了6张图片和6组校正值,6组校正值是完全不够的,我们可以通过颜色插值来获取无数个值,再把这些点连成线,会获得一个色温曲线。

这样只要知道色温,就知道RG,知道RG,就知道BG,知道RG,BG就能轿正了。
计算色温:
1、取一帧图像数据,并分成MxN块,假设是25x25,并统计每一块的基本信息(,白色像素的数量及R/G/B通道的分量的均值).

白点范围:在高色温和低色温中间的部分认为是白点。

2, 根据第1步中的统计值, 找出图像中所有的白色块,并根据色温曲线判断色温。
3、至此,我们得出来了图像中所有的可能色温,如果是单一光源的话,可以取色温最多的,当作当前色温.
比如25x25=625 个块中,一共找出了100个有效白色块, 里面又有80个白色块代表了色温4500左右, 那当前色温基本就是4500.
根据4500色温得出的Rgain,Bgain来调整当前图像,就不会差(很多!).

上一步中统计的”白色点”难免会有失误的地方,比较常见的如黄色皮肤容易被误判为低色温下的白点,淡蓝色的窗帘,容易被误判为高色温下的白点,一张图中既有白色,也有黄色,也有蓝色的时候,情况就很复杂了。

我们会把取到的白色块,计算一下到曲线的距离,再设置相应的权重.话不多说,上个图大家就都明白了.

图中的数字标示出了检测到的白色区域,数字相同的表示一个白区。

图中一片白色被标识了高权重.其它情况被标识了低权重. 权重高低一是看块中白色点数量,二是看rg/bg到色温曲线的距离。
然后根据色温曲线来进行校正。

  1. 3A之AE

曝光是摄影中十分重要的一个环节,它决定了一张图片的明暗,如下图所示,第一张图片太暗,而第三种图片太亮。

曝光由光圈、曝光时间、ISO三者共同决定。
对于手机以及其他电子产品使用的微型摄像头,光圈大小是固定的,所以手机拍照的曝光由曝光时间和增益(ISO)来控制。
自动曝光就是 自动调节曝光时间、光圈、ISO进行曝光,使得所摄物体亮度正常。
自动曝光的标准:
物体的亮度与色彩是由物体对光线的反射率来决定的。例如纯黑色的放射率是0,纯白色的反射率是100%,处于中间的灰度的反射率是18%,这就是18%中间灰度。
相机在各种场景下无法识别物体的反射率,于是统一将图像整体平均亮度设置为中性灰的亮度。该方法基于 科学家认为自然界的平均反射率是18% 这一理论。当然,这个理论不是万能的,雪景的亮度肯定大于18%,白增黑减。

自动曝光的算法:
1、 均值法AE
Input = 255 x (Output/255)gamma

Output是我们期望的曝光输出值,也就是18%灰的曝光强度,Gamma一般都是2.2。在灰度卡上以0~255为计算区域的话,那么18%灰的Ouput就是122,Input就是50。也就是测光区域的实际曝光强度应该为50。

2、 N段式统计法
调节ISO最主要的副作用就是会同时增强噪点,如果把暗光下的图片放大多倍,噪点就会非常明显;通常是优先调节曝光时间,但是曝光时间也有个上限,必须要在33ms内完成才能保证每秒30fps的预览帧率。
N段指的就是ISO的不同段,优先保证ISO较小的情况下调节曝光时间,当曝光时间到极大值仍不能满足时再将ISO调大一级再重新调整曝光时间。

3、 平均亮度法
对图像所有像素亮度求平均值,通过不断调整曝光参数最终达到目标亮度。
1) 对当前图像进行亮度统计
2) 根据当前图像亮度确定曝光值
3) 计算新的曝光参数,曝光时间、光圈、增益
4) 将新的曝光参数应用到相机
5) 重复1-4,计算出一个目标亮度。

  1. 曝光原理

Global Shutter
1、整幅场景通过同一时间曝光实现的,senor所有像素点同时收集光线,同时曝光
2、曝光开始,sensor收集光线,曝光结束,光线电路被切断,sensor读出一整副图片
3、CCD就是Global Shutter,所有元素同时曝光
Rolling Shutter
1、 sensor逐行曝光,曝光开始,sensor扫描逐行曝光,像素点都被曝光
2、 所有的曝光快速完成,不同行曝光时间不同

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210720112008408.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODM2MDE4MQ==,size_16,color_FFFFFF,t_70#pic_center

缺点
Global shutter 曝光时间更短,但会增加读出噪声;
选择rolling shutter可以达到更高的帧速,但当物体曝光不当或者移动较快时,会出现部分曝光、斜坡图形、晃动等现象。被称为果冻效应

Rolling shutter:像素逐行曝光、通常有更高的像素数量、适用于静止或缓慢移动的物体
可能会扭曲移动物体的图像
Global Shutter:所有像素同时曝光、适合快速移动的物体、不会扭曲物体图像

卷帘曝光在物体快速移动的时候会扭曲,但是全局曝光不会。

每个橙色框都是一个像素,我们的图像只有三个像素。 当我们的英雄爬上楼梯时,像素一次被读取一个,从而导致最后一帧的滞后。
注解:
Global Shutter能够做到全局曝光,跟Rolling Shutter相比,主要是Global Shutter在每一个像素上都增加了一个存储单元,才使得所有的像素能够同时曝光。
Rolling Shutter sensor则适用于拍摄运动速度相对较慢的物体或场景,可获得更高的成像信噪比。
于Global shutter需要对每个像素都要增加一个存储单元,这样增加了sensor的生产难度以及成本。

5. 3A之AF

三种对焦方式:CDAF、FDAF、Laser assist AF
CDAF反差对焦:

右上图中的白色方框代表对焦点,此处反射出的红色光线在经过镜头,到达传感器前就汇聚在一点,随后又散开,此时图像的对比度是很低的。
将这个对焦点与相邻像素的对比度作分析得出右下角的曲线,失焦状态下对比度低,在聚焦过程中,曲线变得逐渐变得倾斜,但是不能判断什么时候是最高点,只有经过了对焦点后曲线下降再往回移动,反复移动后可以得到一个局部梯度最大值,就认为是对焦成功。
优点:光学设计简单。
缺点:
a. 速度较慢,在出现失焦图像时,机器无法判断该移动多少,甚至往哪个方向移动镜头才能聚焦,甚至到了峰值也不知道,必须移动过了以后再往回移动,来回几次后才能找到对焦点;
b. 在物体对比度较低时会对焦失败,比如雪景,无云的蓝天以及各种纯色的图像。
对比度:
对比度对视觉效果的影响非常关键,一般来说对比度越大,图像越清晰醒目,色彩也越鲜明艳丽;而对比度小,则会让整个画面都灰蒙蒙的。

相位法

想象有两个小窗的房间,房间内有一个烛光,房间内一左一右站着两排人。让他们各排中间那位可以透过窗户看到烛光。这就是所谓的准焦。烛光后移时,右边这排人发现看到烛光的变成靠左边的人,左边那排人看到烛光是靠右手的人。这个时候,就可以看到,看到光的两个人越靠近,光就离我们越远,反之亦然。
AF传感器的基础原理:利用两个方向的光来推算物体的距离。

在上述这个例子中,线性传感器就是那两排人,成像面就像窗户,二次成像透镜想象成每个人的眼睛,图中这个光路可以看到,来自同一个光源,镜头左边与右边进入的两道光线聚集在成像面上。成像面上有个小窗,焦点附近的光透过,光线继续向后发散,由二次成像透镜将光重新聚集在线性传感器的中央。

光源后移,光束在成像面上失焦了,同时两道光束打在二次成像透镜上的位置也会改变,这样会似的上方的透镜略微上移,下方的成像略微下移。光源后移时,打在这一对显性传感器上的光距离会变,反之光源前移时,距离变小。这两个成像之间的距离就是相位差。
相机就是参考目前的相位差来驱动对焦马达。
PDAF:

紫色光线代表经过上半部分透镜的光线,蓝色代表经过下半部分透镜的光线,可以看到,CCD在焦前的时候上半部分的CCD接收到的是上半部分的光线,下半部分接收的是下半部分的光线,在焦后的时候,是相反的,上半部分接收的是下半部分的光线,下半部分接收的是上半部分的光线。这样就可以通过区分光线是来自透镜的上半部分还是下半部分,就可以知道是在焦前或者焦后了。当亮色光线重合时,图像最清晰。

PDAF sensor的一种实现如上图所示,在CMOS上面一半的位置加了金属遮盖,这样,被遮住左边一半的像素点就只能接受右边来的光,同理,pair的被遮住右边一般的像素点就只能接受左边来的光。一般在CMOS中,遮住左边和遮住右边的像素点是在相邻位置会成对出现。
遮蔽因子遮住图像传感器左右的两个像素点得到他们的相位差,再通过算法结算,得到焦点位置,最后通过音圈马达移动镜头的位置,完成对焦。
验证方法
1、 将抓取PDAF log开关打开
2、 抓取log,按照mtk文档排查,读取confidence数据,confidence数据是一组数据,我们需要排查这组数据变化是否较大。
3、 PD线性度测试(在log里查找pdvalue与af位置,看他们是否是呈线性关系)
4、 肉眼看是否是一次性对焦到位,如果是相位对焦。如果不是反差对焦。
Type1、Type2、Type3的区别
1、 Type1:PD像素通过传感器校正,PD值通过传感器计算
2、 Type2:PD像素通过传感器校正,PD像素通过vc输出到isp
3、 Type3:PD像素通过ISP校正,PD像素通过isp从原始图像中提取PD像素由ISP3.0上的PDAF算法提取。
Vc是传输raw和pd像素的两个通道。

ISP pipeline、3A(AE、AF、AWB)、Pdaf原理及验证方法、曝光原理。相关推荐

  1. 相机上的AE AF AWB AEB都表示的是什么?

    相机上的AE AF AWB AEB都表示的是什么? AE 自动曝光:光圈优先AE式是由拍摄者人为选择拍摄时的光圈大小,由相机根据景物亮度.CCD感光度以及人为选择的光圈等信息自动选择合适曝光所要求的快 ...

  2. isp和3a的联系与区别是什么?

    Willis Zen上善若水 2 人赞同 你说的这个问题,不是很多人能够回答的,我也只能把我知道的告诉你. isp 是image signal processing,用于图像处理,比如gamma调整, ...

  3. 【PDAF原理简介】

    1.PDAF原理 原理:是在感光芯片上预留出一些规律性对称的遮蔽像素点,专门用来进行相位检测,通过像素之间的距离及变化来决定对焦的偏移量即相位差(PD值)从而实现快速对焦. 1.1PDAF系统框图 1 ...

  4. Understanding ISP Pipeline - Noise Reduction

    Understanding ISP Pipeline - Noise Reduction 转载于:Understanding ISP Pipeline - Noise Reduction 背景 下图是 ...

  5. Image Signal Processing(ISP)-第四章-LSC, CC的原理和软件实现

    Hello!距这个小ISP的软件实现大概过去两年了,一直没有打起精神来将连载写完.但是我们绝不烂尾,绝不! Image Signal Processing-第四章-LSC, CC的原理和软件实现 1. ...

  6. ISP pipeline的锐化

    ISP pipeline ISP pipeline算法实现(Python):https://github.com/WaterdropsKun/isppipeline_Python 什么是图像锐化 图像 ...

  7. View_01_LayoutInflater的原理、使用方法

    View_01_LayoutInflater的原理.使用方法 本篇博客是郭神博客Android视图状态及重绘流程分析,带你一步步深入了解View(一)的读书笔记的笔记. LayoutInflater简 ...

  8. outlier异常值检验原理和处理方法

    outlier异常值检验原理和处理方法 参考文章: (1)outlier异常值检验原理和处理方法 (2)https://www.cnblogs.com/webRobot/p/10688059.html ...

  9. Tomcat中文乱码问题的原理和解决方法

    为什么80%的码农都做不了架构师?>>>    Tomcat中文乱码问题的原理和解决方法 自从接触Java和JSP以来,就不断与Java的中文乱码问题打交道,现在终于得到了彻底的解决 ...

最新文章

  1. hexo框架个人博客的搭建(面试加分!)
  2. 基于c语言优先级病房呼叫_C语言
  3. 将智能合约部署到Rinkeby测试链上
  4. 13个风格独特的关于页面(About Pages)设计
  5. Beautifulsoup 网页表格的解析
  6. CSS自学笔记(16):CSS3 用户界面
  7. 使用Windows software center进行在线更新的后台进程SCClient.exe
  8. 前端学习(1644):前端系列实战课程之上移和下移
  9. python 函数参数传递机制_Python函数参数传递机制(超级详细)
  10. mysql中常见的几种索引
  11. Windows Dos命令下查看端口号,杀死端口
  12. 1.6QQ拼音输入的亮点——相框
  13. 对话机器人技术简介:问答系统、对话系统与聊天机器人
  14. ALPS新秀登场TRON DeFi——让每个人都可参与的社会金融
  15. 快递单号如何批量查询呢
  16. JAVASCRIPT精彩200例
  17. 【学堂上新】Unity UGUI 渲染 3D 对象详解
  18. Women in Tech | 关于职业与成长,她们给人奋进的启发和动力
  19. 四人小组项目(对项目进行的修改与重写)
  20. 浅谈TCP半连接攻击与全连接攻击

热门文章

  1. String系列简介
  2. DAPP详解,文科小白都秒懂
  3. 常用echart图表(柱状图、折线图、饼图、环形进度条、雷达图等等)基础配置和用法、resize()响应、轮播tooltip
  4. 邓珺礼研究生入学自我介绍PPT
  5. Anaconda命令行总结
  6. win10 defender 隔离区
  7. Spring Security添加图形验证码
  8. inode服务器连接显示网络,上不了网的问题
  9. 我的世界java版遗迹与神器模组_我的世界遗迹与神器模组手机版
  10. 面试题:老鼠毒药问题