第二讲 数字摄像流程(Digital Photography Pipeline
参考书:
- http://szeliski.org/book 《Computer Vision: Algorithms and Applications, 2nd ed.》
- https://imagingtext.github.io 《Computational Imaging》
- https://link.springer.com/referencework/10.1007/978-3-030-63416-2 第二版
计算摄像的三个处理位置:成像之前,成像,成像之后
本课内容:
- 图像传感器
- 模拟前端
- 颜色滤波
- ->
- 相机内部的图像处理(ISP
图像传感器 Imaging Sensor
拍照:快门打开->传感器接收光子、储存光子->快门关闭,曝光结束->将光子转化成数字信号处理。
核心的感光组件:光电二极管(产生电子)、势井(存储电子)。
衡量光电二极管的一个指标:QE = 光子量/电子量
过曝:光子过多,势井饱和;欠曝:光子过少,随机性太高。除此以外的情况,电子数基本上线性的反映光子数。
两种图像传感器的芯片:CCD & CMOS
CCD | CMOS |
---|---|
更高感光度 | 更快读出 |
更低噪声 | 更低成本 |
目前CMOS已经能达到接近CCD的性能。
模拟前端
将传感器得到的光子(电压,模拟信号)转化为数字信号
电压->「模拟放大器」->模拟电压->「模数转换器」->数字信号->「编码」->数字信号
fun fact: ISO调整的是「模拟放大器」的强度。
颜色滤波器
可见光:400-700nm波长
大多数光源含有不止一种波长的光。
不同的光谱频率分布可以产生类似或者相同的颜色感知。
色温。
感光器的响应值受到光源的频谱和传感器对不同频率的接收能力影响。
人眼细胞分别对RGB三个颜色的接收能力最强。颜色滤波器在设计时参考了人眼。
滤波器在传感器上的分布?拜耳阵列(RGGB
为什么要更多绿色?简而言之,研究认为人眼对绿色更敏感。
颜色滤波没有标准答案。滤波会带来颜色风格的细微差异。
相机内部对图像的处理(ISP
ISP: Image Singal Processor: 广义的指将原始图像转换为“正常”图像的一系列图像处理操作。
白平衡;去马赛克;降噪;色调再现;压缩;etc。
白平衡 White Balance WB
- 人眼可以在不同光照环境下正确感知“白色是白色”。
白平衡:不管在任何光源下,都能将白色物体还原成白色,用于校准色温的偏差。
方法:
- 手动白平衡:手动确定某个点,某个物体是白色。
- 预设白平衡:预设一些光源条件下的色温
经典的自动白平衡算法:
利用白平衡的特性:全局偏差,让全局RGB分别的统计值变成相同的,就白了。
- 灰色世界假设
- 逐通道计算RGB平均值
- 逐通道利用平均值归一化
- 乘以“绿色通道的平均值”作为增益
- 白色世界假设
- 逐通道计算RGB最大值
- 逐通道利用最大值归一化
- 乘以“绿色通道的最大值”作为增益
去马赛克
拜耳阵列中,每个像素感受到不同颜色光,产生“马赛克效果”,需要去除。
用相邻的其它颜色像素取平均,得到当前像素的其它颜色值。
降噪 Denoising
噪声在低光照时尤为明显。
噪声的来源比较复杂:
- 散粒噪声:光子到达服从泊松分布
- 暗电流:电路热效应产生一些电子
- 读出噪声:传感器和模拟前端电路的噪声
简单降噪算法:平均滤波(卷积,利用周围像素),中值滤波
更复杂的降噪算法
(色彩空间转化)
相机内部可能会把RGB色彩空间转化成HSV色彩空间。
这件事的意义:将RGB分离成更加独立的变量,方便研究。
色调再现(伽马矫正
最初是因为CRT显示器对颜色的现实是非线性的。
目前伽马矫正与CRT无关。
人眼对低亮度更敏感,因此将相机的线性感光修正为适合人眼的非线性感光。
(图像压缩)
略
补充:RAW图像格式的意义:线性!
ISP处理后的图像和原始光强是非线性的。这不利于研究。
RAW图像仍然保持了和环境光强的良好的线性性。对计算机视觉而言非常有用:D
对一般人:保存更多信息,后期空间。
RAW的坏处:噪声,无压缩,降低连拍速度
注:RAW可能也经过了一些与处理,比如去马赛克。
将jpeg还原为RAW是一件非常困难的事情。
扩展内容
ISP深入理解: https://www.eecs.yorku.ca/~mbrown/ICCV2019_Brown.html
更好的看paper的方法:two minute papers youtube
用卷积神经网络进行超暗照片的增强 Learning to see in the dark. ChenChen UIUC等 2018;
Day-to-Night image Synthesis for Training Nighttime Neural ISPs