ISP流程介绍(Raw格式阶段)

一、ISP之DPC

DPC(Defective Pixel Correction)也就是坏点矫正,在sensor接收光信号,并做光电转换之后。

这一步设计的意义在于:摄像头sensor的感光元件通常很多会存在一些工艺缺陷缺陷,让图像上某些像素无法正常收集到需要的光信号,导致图像出现明显高光或者死黑像素点。

通常的作法,可以是sensor厂商检测标定出这些坏点,然后直接矫正。也可以是拍摄图像之后,通过特定算法进行直接软件矫正。

看到已经有不少小伙伴写过这方面实现,所以详细实现可以参考:https://zhuanlan.zhihu.com/p/392906069

二、ISP之BLC

BLC(Black Level Correction)也就是暗电流矫正,本质上来说,isp需要做这一步的原因也是因为硬件缺陷。

主要是因为感光元器件和光电转换之类器件在输入光强度为0,也就是环境光线全黑的情况下,依然会有电压输出,引起结果图像实际像素值大于0,导致图像出现异常。

最简单的做法:在实验室全黑环境下,拍摄一张全黑的raw图像,分别计算图像rggb通道平均值并保存,实际拍图时候,每张图像的rggb通道都减去对应的平均值,并归一化得到矫正之后图像。

同样的,这类详细介绍,也有很多小伙伴做过了,我这里不做详细展开了,细节可以参考:https://zhuanlan.zhihu.com/p/386487708

三、ISP之LSC

LSC(Lens Shading Correction)也就是镜头阴影矫正,常规意义上来说,这一步也可理解为硬件缺陷导致的,本质上是由于镜头光学特性引起的。

整体上这种缺陷又可以分为两类:

1、Luma shading:镜头从中心到边缘逐渐出现了能量衰减,导致结果图像呈现中心亮四周黑的现象。

2、不同颜色的光折射率不同,白光经过镜头到成像sensor时候,由于折射率问题,会导致不同颜色光落到不同位置上,引起偏色。

最简单暴力的矫正方法:将输入图像平均分成24x24之类的块,默认中心块的亮度和颜色为gt,将其他块的亮度和颜色直接往中心块靠齐。矫正前和矫正后图像可以参考如下图片。

需要特别注意的是,本身来说,核心缺陷在于中心进光量远大于边角,这一步虽然可以亮度/颜色强行修正,但是必然出现噪声放大和缓解不了解析力不足的缺陷,

边角去噪可以在继续牺牲解析力情况下,缓解放大后的边角噪声,但是边角解析力在不引入额外设备或者说叠多帧的条件下,那是基本没救了的。

下图分别为修正前和修正后图像对比:

同样的,这块的修正细节,也有很多小伙伴讲过了,大家可以参考文章:https://zhuanlan.zhihu.com/p/389334269, 上面截图也引用自这篇文章。

四、ISP-NR Raw

NR Raw(noise reduction for Raw)也就是Raw域去噪,单纯的图像去噪算法在这几十年发展中,已经有了无数种,简单按类别来分,就有简单空域滤波(比如高斯),考虑像素值相识性(如双边),变换域去噪(如小波),考虑图像块内容结构相似性(如nlm,bm3d),加入时域信息(mfnr),基于聚类训练(如各类字典或者RAISR等),基于nn网络等。

去噪算法这块,有兴趣的后面慢慢折腾讲,这里展开讲的话,相对于isp来说,就有点太发散了。我们这里重点只讲下isp raw当前这个节点去噪的明显优势。

去噪之前,首先我们需要知道噪声产生原因:噪声一般是 sensor 接收光子,然后转化成 RAW 图的过程中产生的,通常由这几个阶段参数:

1、sensor接收到光粒子,光粒子激发电子时候,会产生 photon noise,该噪声服从泊松分布。

2、sensor本身发热产生暗电流,引入dark noise 或者热噪声,该噪声服从泊松分布。

3、电子产生电流再被模拟放大器放大信号时候,产生read noise噪声,属于加性噪声。

4、模拟信号进行ADC模数转换,得到离散照度值时候,会产生adc 噪声,也属于加性噪声。

总结下来,Raw图像上一共应该会有两类噪声:泊松和加性噪声。 设备在实验室特定环境下,拍摄特定场景并通过计算,可以直接估算出这两类的噪声参数,参考资料: 计算摄影:噪声模型与噪声估计_低照度 噪声的关系-CSDN博客

将这些噪声参数,引入去噪算法中,比如nlm之类权重计算时候,加入这些参数引导去噪,可以进一步改善算法去噪效果。更明显优势是:当我们有了sensor的噪声参数之后,就可以根据这些参数数据,生成符合该sensor噪声形态的无数噪声图像数据,这些噪声叠加到干净gt图像上之后,就有了无数训练数据对,nn去类算法最头痛的训练数据问题在这里得到解决,并且nn训练时候只需要学会对这类噪声形态去噪,泛化性要求明显降低,对去噪效果提升和模型小型化非常友好,参考资料:https://zhuanlan.zhihu.com/p/237734097 ,

但是如果Raw图像经过了后续的Demosiac/gamma/ltm之类操作之后,那么噪声形态会被严重破坏,导致无法估算sensor的噪声参数。所以后续阶段上做去噪,不止无法使用噪声参数这个先验信息,还将面对更复杂的噪声形态。

五、ISP之AWB

AWB(Auto White Balance)也就是自动白平衡,该模块存在的原因在于,人眼本身拥有视觉矫正功能,它可以在不同光源情况下,还原识别出物体本身的颜色。

但是sensor没有这个能力,光源变化产生的颜色变化,会对sensor带来一样的变化影响,不同色温环境下,拍出来的图像颜色会随着色温变化而变化(如暖色温情况下,排出的结果图会偏红)。

自动白平衡就是给sensor加上人眼的视觉矫正功能,简单实现来说,就是计算出当前场景的偏色情况,然后方向补偿,将偏色强行拉回到正常颜色上。最暴力的做法,在需要矫正的环境光线下拍一张灰卡,灰卡在实际场景上拍摄出来的偏色层度,就是WB需要反向补偿矫正的强度。

如下图,左边为矫正前,右边为矫正后:

AWB也是发展了若干年了,很多大佬们已经详细讲解过很多了,细节我这里也略过了,后面有兴趣研究这块算法了再慢慢展开探索,感兴趣细节的小伙伴们,可以参考:https://zhuanlan.zhihu.com/p/395206555 等文章,如上展示图片也来自该文章。

六、ISP之Demosaic

Demosaic也就是去马赛克,该模块存在价值,主要是为了节约sensor成本,理论上来说,将拍摄现实场景画面,使用三个sensor同时收集r,g,b通道信息,并保证r,g,b通道像素点对齐的话(其实不保证也应该没关系,配准算法后端对齐后也能用),就不需要Demosaic,直接可以得到rgb彩色图像了。比如使用如下结构的sensor设计(图片引用来自:https://zhuanlan.zhihu.com/p/170610956):

基于成本考虑,上图这种设计,通常用的不太多,常用的sensor设计如下图这样(图片引用来自:https://zhuanlan.zhihu.com/p/170610956):

使用如上这类sensor,可以只使用一个感光芯片,并且不需要考虑棱镜分光之类复杂设计,缺点嘛,就是图像质量差了亿点点,并且需要额外使用Demosaic之类技术进行通道插值,合成全彩色图像。

相关插值技术有很多,常见的比如:最近邻,双线性,色差/色比法,沿边缘方向加权等,最近发展也出现了很多nn Demosaic之类技术,效果挺好的,很多小伙伴也已经写过这方面细节了,可以参考:

https://zhuanlan.zhihu.com/p/170610956

https://zhuanlan.zhihu.com/p/510682315

等相关文章,这里就不展开了。等后面有兴趣研究这块技术时候,在单独慢慢整理。

七、小结

经过如上六步,图像信息完成从收集光子激发电流 ,到电流转换为离散照度值(Raw图像数据) ,再到RGB彩色图像的转换,Raw图像上相关操作基本到此结束。

相关推荐
AomanHao4 天前
【阅读笔记】Bayer阵列坏点校正-《Adaptive pixel defect correction》
图像处理·笔记·isp·坏点补偿
木 东1 个月前
《ISP调试实战课程》
图像处理·camera·isp
AndrewHZ1 个月前
【ISP算法精粹】RAW域两帧输入去噪算法介绍
图像处理·算法·计算机视觉·isp·图像去噪·图像信号处理·raw域
赖small强1 个月前
【音视频开发】Linux 平台图像处理与视频录制全流程指南 (Ingenic T41)
linux·图像处理·音视频·isp·视频录制
赖small强1 个月前
【音视频开发】图像处理单元 (IPU) 深度技术解析指南
图像处理·音视频·isp·ipu
赖small强1 个月前
【音视频开发】ISP流水线核心模块深度解析
音视频·isp·白平衡·亮度·luminance·gamma 校正·降噪处理
赖small强1 个月前
【音视频开发】CMOS Sensor图像采集原理及Linux主控ISP处理流程
linux·音视频·cmos·isp·v4l2
Jie_jiejiayou2 个月前
STM32F10xxx启动模式配置与ISP一键下载
stm32·isp·烧录模式
AIminminHu3 个月前
系列文章<一>(从LED显示问题到非LED领域影像画质优化:揭秘跨领域的核心技术):从LED冬奥会、奥运会及春晚等大屏,到手机小屏,快来挖一挖里面都有什么
图像处理·led·isp·isp pipeline·ai hdr·成像系统
岁月蹉跎的一杯酒3 个月前
ISP图像调试中的亮度模块解析:从传感器到显示的实战经验
isp