Camera噪声问题

Camera RGB 域的噪声

以上部分属于sensor processing,接下来的部分属于color、luminance processing。

gamma

gamma是在RGB域设置一个gamma table去对应给每一个像素值增加一个适当的增益提高暗区的亮度水平。gamma的由来是由古老的显示屏来的,gamma校正基本上是为了提升暗部细节,可以理解为在数字gain增加,会显著增加暗区的噪声,针对不同平台或者设备gamma的核心理念都是一样的,只不过对于gamma LUT的数据大小有区别。

color correction

cc是将camera RGB 转换为 s RGB,为了获取更逼近人眼视觉的颜色。在图像处理中是通过一个3*3矩阵运算的。分别是三个通道的调整。

R’ = m00 R + m01 G + m02 B

G’ = m10 R + m11 G + m12 B

B’ = m20 R + m21 G + m22 B

其中,R’,B’,G’是要得到的调整后的值,R,G,B是当前的三通道的值。最为重要的一点是每一行的三个值加起来应当为1,否则会影响到AWB。

这部分也会产生一些非线性噪声。

Lens shading

为什么会有Lens Shading这个现象呢,其实从透镜原理不难看出这是透镜的光学特性导致的中间亮,四周暗的现象。当然由于波长不同的RGB散射之后四个通道不重合,所以导致出现color shading,经过rolloff这么一处理,现象就会改善很多。简单提一下Tintless算法,会对不同的色温加以计算,tune图像的时候只需要用T光下的图像即可。

Auto White Balance

有两种方式去把sensor感知到的颜色还原到人眼心里感知的颜色。一种是灰世界假说,一种是白点法。简而言之,白点法就是通过G值超出某一范围的值,认为是白点,对白点进行颜色还原。灰世界是根据统计学对大量的灰点分布进行处理计算,判断当前的色温并还原。以上方法都基于色温曲线的绘制(参考点的选取)。

Demosaic

当经过以上处理之后,现在的图像还是在RAW域的,图像还是分成R,G,G,B四个通道,需要将其进行还原,利用插值法计算每个pixel上的其它两种颜色,具体计算方法在后面再介绍。Demosaic会对不同的颜色进行插值计算,在边缘部分会形成结构噪声。

bayer pattern

这个其实简单理解就是分色滤色片,为了造价成本和一系列原因,让每一个pixel只感受一种波段的光,即R,G,B中的一种。这样在后面需要还原色彩的时候就要使用的另外的模块进行插值运算。

关于RAW图的存储和计算,为了MIPI传输方便,一般采用16 bytes传输12个pixel的信息,而每个pixel的大小是由RAW来定义的,比如RAW10就是每个pixel都占用了8 bits。

计算RAW图大小时需要明确以上两点:pixel counts 和 pixel bits,以及传输协议以及字节对齐等。

black level correction

因为三极管本身特性,在光子信号量为0时,sensor本身感受到的电流并不为0,所以会形成一个暗电流。称为black level,在全黑环境下,拍摄一张图,图像上会有部分白点,这部分即为暗电流引起的噪声,在进行适当的处理之后去除。过大会使图像信息丢失,过小会造成噪声严重。

PDPC&BPC

在经过blc之后,会发现还是有一些特殊的‘噪点’,其实这些点就是bad pixel,bad pixel的分类也比较多,分为动态的和静态的,静态的,比如PDPC,通过拉普拉斯算子标记写入的方式进行去除,动态的需要算法去检测是否超出某一阈值而进行去除,去除掉该点的值后会通过获取相邻像素点的值对该点进行填充。

在RAW域不能对图像进行大幅度的降噪,否则会引起信号量的丢失,对ISP的处理产生很重要的影响,而且RAW域的处理还是在时域空间,处理手法单一。

ABF

Adaptive
bayer filter是对前面产生的噪声去除的一个模块,主要是针对于RAW域噪声的去除,ABF主要是针对于常规2D卷积使图像边缘劣化的问题在降噪的同时不钝化边缘,主要原理是两级低通滤波器,分别消除高低频噪声。ABF在VFE部分可以在线性域一定程度上降低噪声,其余的一般由CPP部分的硬件小波降噪完成。

关于 Camera 的成像流程中的噪声

camera成像在大的阶段上分为RAW域的成像和RGB域的成像。中间的过渡是由Demosaic模块完成的。

广泛意义上的RAW 域的噪声

通过查阅资料,RAW域的噪声主要分为高斯噪声和散粒噪声两种。高斯噪声是不随着光强变化的噪声,散粒噪声符合泊松分布,会随着光强的增加而逐渐的增大。在Sensor直出的RAW图中这两种类型的噪声都是包含在内的,所以直出RAW是随着光强的增大而增大的,但是值得注意的是,在这个阶段的信噪比也是增大的

Camera 的 RAW 域噪声

RAW图是一种格式,在就不得不提一下Camera的处理流程。

由CSID进来的数据,会经过以下步骤的处理最终display。

在demosaic之前的格式为RAW格式,在demosaic之后的格式为RGB格式。

GTM,LTM

Global
tone mapping和Local Tone mapping是对动态范围有直接影响的两个模块,顾名思义,Global是全局影响,对全局的亮度加以调整,而LTM是对局部区域进行调整,使亮区不过曝,暗区亮度提升。

up current Luma

在后期希望将在暗环境下拍摄的图片亮度拉高,通过exposure table查表,找到对应的gain值去补偿当前的亮度值。这就会造成噪声的引入,如果当前环境亮度值本身就较高的情况下则无需补偿gain值去放大信号量,噪声就不会增加那么明显,所以在该部分把这部分噪声的引入定义为up
luma。

小波降噪

小波分析是傅立叶分析思想方法的发展与延拓。它自产生以来,就一直与傅立叶分析密

切相关。它的存在性证明,小波基的构造以及结果分析都依赖于傅立叶分析,二者是相辅相成的。小波变换把信号分解到各尺度中,在每一尺度下把属于噪声的小波系数去掉,保留并增强属于信号的小波系数,最后再经过小波逆变换恢复检测信号。之后会对WNR进行专门的叙述。

ASF

ASF是CPP硬件中使用高通滤波器增强边缘,采用平滑处理来抑制非边缘区域的噪声水平。

Camera噪声问题的更多相关文章

  1. Camera 图像处理原理分析

    1         前言 做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把握的话,对我们 ...

  2. Camera图像处理原理及实例分析-重要图像概念

    Camera图像处理原理及实例分析 作者:刘旭晖  colorant@163.com  转载请注明出处 BLOG:http://blog.csdn.net/colorant/ 主页:http://rg ...

  3. MTK6577+Android之Camera驱动

    MTK6577+Android之Camera驱动 <MTK安卓平台的Camera效果在线调试> 1.     Camera拍照相关概念 1.1  ISP isp--(Image Signa ...

  4. camera原理

    1)Color Filter Array---CFA 图像传感器都采用一定的模式来采集图像数据,常用的有 BGR 模式和 CFA 模式.BGR 模式是一种可直接进行显示和压缩等处理的图像数据模式,它 ...

  5. 高通camera结构【转】

    本文转载自:http://www.cnblogs.com/whw19818/p/5853407.html 摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上, ...

  6. 高通camera结构(摄像头基础介绍)

    摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进 ...

  7. 双camera景深计算 (1)

    http://www.52rd.com/S_TXT/2016_6/TXT85047.HTM?WebShieldDRSessionVerify=Wz3h6srvu76qRI4MFxK8 前面介绍了双ca ...

  8. 双camera景深计算

    https://sanwen8.cn/p/2e41VC5.html 本文系微信公众号<大话成像>,知乎专栏< all in camera>原创文章,转载请注明出处. 接着上一篇 ...

  9. opencv实现camera模组的暗电流和lenshading补偿 .

    目录(?)[-] 简介 基本原理 产生原因 校正补偿原理 具体实现 框架搭建 功能实现 暗电流 lenshading补偿 效果演示 图片处理 效果演示 简介 在接触过的qcom和mtk平台中,came ...

随机推荐

  1. java语言写一个建议的五子棋

    经过16天的java学习,也学得了不少关于Java方面的知识,我想分享一下我用java写的一个简单的五子棋. 游戏规则: (1)对局双方各执一色棋子.(2)空棋盘开局.(3)白先.黑后,交替下子,每次 ...

  2. 1.7.6- 浏览器审查HTML标签元素

    或者F12

  3. 软件篇-01-为Jetson TX2扫清科研的障碍

    建议用vryL,GUI界面,功能更全,支持订阅. https://github.com/ShieldQiQi/vryL​github.com 下面的内容不用看了,除非你更喜欢命令行界面.   To r ...

  4. 【工具库】Java实体映射工具MapStruct

    一.什么是MapStruct? MapStruct是用于代码中JavaBean对象之间的转换,例如DO转换为DTO,DTO转换为VO,或Entity转换为VO等场景,虽然Spring库和 Apache ...

  5. 从苏宁电器到卡巴斯基第13篇:我在苏宁电器当营业员 V

    强大的竞争对手 与现在遍地开花的苹果店相比,在2010年左右的时候,在长春,真正得到苹果授权的苹果店还是屈指可数的.当时在重庆路上如果想买苹果的产品,要么可以去苏宁国美,要么只能去卓展楼上的苹果专区了 ...

  6. DexExtractor的原理分析和使用说明

    本文博客链接:http://blog.csdn.net/qq1084283172/article/details/53557894 周末有空就写下博客了,今天来扯一扯Android平台的脱壳工具Dex ...

  7. WPF小经验

    Binding.IsAsync当属性值填充好后,与该属性绑定的界面才会开始加载(属性绑定优于控件加载) private IList<string> _list; public IList& ...

  8. JVM默认内存大小

    堆(Heap)和非堆(Non-heap)内存 按照官方的说法:"Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在Java虚拟机启动时创建的." ...

  9. 论文翻译:Conv-TasNet: Surpassing Ideal Time–Frequency Magnitude Masking for Speech Separation

    我醉了呀,当我花一天翻译完后,发现已经网上已经有现成的了,而且翻译的比我好,哎,造孽呀,但是他写的是论文笔记,而我是纯翻译,能给读者更多的思想和理解空间,并且还有参考文献,也不错哈,反正翻译是写给自己 ...

  10. 如何讓RHEL7/CentOS7開機過程顯示更多資訊

    rhgb選項rhgb用於圖形啟動(graphical boot-up), quiet 而quiet選項可以消除大部分啟動消息. 如何讓RHEL7/CentOS7開機過程顯示更多資訊 Arthur Ch ...