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. 11- APP性能测试GT工具的使用

    对性能测试来说有服务端的性能与客户端(APP)的性能. GT简介 1.GT(随身调)是APP的随身调测平台,它是直接运行在手机上的"集成调试环境"(IDTE) 2.利用GT,仅凭一 ...

  2. dedecms arclist分页

    https://blog.csdn.net/qq_41104911/article/details/81510589

  3. 11.PHP与MySQL

    PHP与MySQL 首先是PHPStorm设置创建SQL的教程,找到了一个写的不错的,在这里:http://blog.csdn.net/knight_quan/article/details/5198 ...

  4. 【antd Vue】封装upload图片上传组件(返回Base64)

    最近需要把上传的图片信息存储到数据库,以base64的方式,需要重新封装一下antd的upload组件 1. 使用方法 引入组件然后配置一下即可使用,配置项包括 defaultImageList,需要 ...

  5. Java发送邮件报错:com.sun.mail.util.LineOutputStream.<init>(Ljava/io/OutputStream;Z)V

    在练习使用Java程序发送邮件的代码 运行出现了com.sun.mail.util.LineOutputStream.<init>(Ljava/io/OutputStream;Z)V报错信 ...

  6. 从零开始搞监控系统(1)——SDK

    目前市面上有许多成熟的前端监控系统,但我们没有选择成品,而是自己动手研发.这里面包括多个原因: 填补H5日志的空白 节约公司费用支出 可灵活地根据业务自定义监控 回溯时间能更长久 反哺运营和产品,从而 ...

  7. js 实现 bind 的这五层,你在第几层?

    最近在帮朋友复习 JS 相关的基础知识,遇到不会的问题,她就会来问我. 这不是很简单?三下五除二,分分钟解决. function bind(fn, obj, ...arr) { return fn.a ...

  8. 标签页切换title改变

    js实现如下 并将代码加入博客侧边栏就成了 <script> document.addEventListener("visibilitychange", functio ...

  9. 一行代码解决JS数字大于2^53精度错误的问题

    服务端使用长整型(Int64)的数字,在浏览器端使用JS的number类型接收时,当这个实际值超过 (2^53-1)时,JS变量的值和实际值就会出现不相等的问题.常见场景比如使用雪花算法生成Id. 在 ...

  10. 有趣的css—简单的下雨效果2.0版

    简单的下雨效果2.0版 前言 笔者上一篇发布的文章有趣的css-简单的下雨效果中有位老哥给我提了一个很棒的建议,大致意思是波纹应该产生于雨滴的消失处. 这是按照老哥的建议完善后的效果图: 由于我制作G ...