Camera噪声问题
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噪声问题的更多相关文章
- Camera 图像处理原理分析
1 前言 做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把握的话,对我们 ...
- Camera图像处理原理及实例分析-重要图像概念
Camera图像处理原理及实例分析 作者:刘旭晖 colorant@163.com 转载请注明出处 BLOG:http://blog.csdn.net/colorant/ 主页:http://rg ...
- MTK6577+Android之Camera驱动
MTK6577+Android之Camera驱动 <MTK安卓平台的Camera效果在线调试> 1. Camera拍照相关概念 1.1 ISP isp--(Image Signa ...
- camera原理
1)Color Filter Array---CFA 图像传感器都采用一定的模式来采集图像数据,常用的有 BGR 模式和 CFA 模式.BGR 模式是一种可直接进行显示和压缩等处理的图像数据模式,它 ...
- 高通camera结构【转】
本文转载自:http://www.cnblogs.com/whw19818/p/5853407.html 摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上, ...
- 高通camera结构(摄像头基础介绍)
摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进 ...
- 双camera景深计算 (1)
http://www.52rd.com/S_TXT/2016_6/TXT85047.HTM?WebShieldDRSessionVerify=Wz3h6srvu76qRI4MFxK8 前面介绍了双ca ...
- 双camera景深计算
https://sanwen8.cn/p/2e41VC5.html 本文系微信公众号<大话成像>,知乎专栏< all in camera>原创文章,转载请注明出处. 接着上一篇 ...
- opencv实现camera模组的暗电流和lenshading补偿 .
目录(?)[-] 简介 基本原理 产生原因 校正补偿原理 具体实现 框架搭建 功能实现 暗电流 lenshading补偿 效果演示 图片处理 效果演示 简介 在接触过的qcom和mtk平台中,came ...
随机推荐
- Windows下Nexus 5 改user模式为debug模式
博客链接:http://blog.csdn.net/qq1084283172/article/details/52337241 在学习Android软件安全的过程中,经常要用到Android的动态调试 ...
- PAT 乙级 -- 1011 -- A+B和C
问题简述 给定区间[-231, 231]内的3个整数A.B和C,请判断A+B是否大于C. 输入格式: 输入第1行给出正整数T(<=10),是测试用例的个数.随后给出T组测试用例,每组占一行,顺序 ...
- android添加账户源码浅析
上篇粗略的分析android添加账号的流程,本篇深入的解析下执行步骤.先来看图片,取自深入理解android卷2: 上图详细的分析了addAccount的流程,下面我们结合源码来理解它 1.addAc ...
- Xposed学习一:初探
学习Xposed框架,在github:https://github.com/rovo89 下载XposedInstaller安装到手机上来管理Xposed的模块. 本文记录根据官方文档(资料1)在an ...
- Python脚本扫描给定网段的MAC地址表(scapy或 python-nmap)
目录 用scapy模块写 用 python-nmap 模块写 python3.7 windows环境 以下两个都可以扫描指定主机或者指定网段的 IP 对应的 MAC 地址,然后保存到 csv 文件中 ...
- PowerShell-6.文件操作
1.显示文本内容 Get-Content "°C:\\Program Files (x86)\\PsUpdate\\b.dat" 2.得到b.dat文件内容,然后把里面的所有'C' ...
- Windbg 字符串条件断点
0x01 前言 Windbg 作为 Windows 下的主流调试器,除了人机交互相比其他调试器略有不足外,其他功能都是十分强大的存在. 在所有的调试器中断点功能都是必不可少的,Windbg 可以使用 ...
- [CTF]摩斯电码
摩尔斯电码 -----------转载 https://morse.supfree.net/ 摩尔斯电码定义了包括:英文字母A-Z(无大小写区分)十进制数字0-9,以及"?"&qu ...
- 使用Layui、Axios、Springboot(Java) 实现EasyExcel的导入导出(浏览器下载)
实现EasyExcel的导入导出(浏览器下载) 实现三个按钮的功能,但是却花费了一天的时间包括总结. 使用到的技术:springboot layui axios EasyExcel mybatis-p ...
- 对标印度的PostMan,一款中国接口测试软件的崛起
对于我们开发者,Api接口调试一定不陌生.包括我在内,之前进行Api调试时,一直使用的是一款印度的软件Postman.记得刚入手的时候,由于该款软件缺乏中文版本,上手一直比较慢,而且还至少存在如下几个 ...