计算摄像学:成像模型理论与深度学习实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 图像传感器的基本原理

相机最核心的功能是捕捉并存储场景中的光信号。传统胶片相机使用镜头等光学器件将光线汇聚到感光平面上,利用光敏胶片进行化学反应以存储光信号。目前广泛使用的数码相机在光学器件上与胶片相机并无明显差异,但在感知与存储光信号时,数码相机使用数字传感器替代了光敏胶片,基于光电效应将光信号转化为电信号。

图像传感器接收光子的过程可以类比于水桶接水。当相机的快门开启时,曝光过程开始。一个典型的曝光过程如下:

1)微透镜(microlens或lenslet)将传播到传感器某一像素上的光线汇聚到该像素的感光区域。

2)颜色滤波器(color filter)通过对不同波长的光进行选择性接收来度量光的颜色。

3)光电二极管(photodiode)将传入的光子转化为电子。

4)势井(potential well)储存转化的电子。

5)模拟前端(analog front-end)在相机快门关闭、曝光过程结束后,读出势井中的电子并转化为数字信号。

图2-1展示了简化的图像传感器示意图。其中,光电二极管是图像传感器的核心部件。量子效率(quantum efficiency)即光生电子数与入射光子数之比,是衡量其性能的重要指标,也是衡量图像传感器性能的基础指标之一。光电二极管的光电转化过程在绝大多数情况下是线性的,输出电子数与输入光子数成正比,但在两种极端情况下,该性质并不成立。第一种情况是在势井达到饱和时,此时电子数不会再随着光子数增加,称为过曝(over-exposure)。第二种情况是在光子非常少、亮度非常低的区域,由于噪声的影响,光电转化不再保持线性,称为欠曝(under-exposure)。势井容量(其在饱和前能够存储多少电子)同样是传感器重要性能指标之一,极大地影响着图像质量。势井容量基本由像素面积决定,像素面积越大,势井容量越大。手机等便携式的拍照设备由于其体积的限制,往往不能使用像素面积大的传感器。相比于单反等体积更大的设备,这是限制其拍照性能的主要因素之一。

图2-1 简化的图像传感器示意图

根据读出电子方式的不同,图像传感器分为两种:电荷耦合器件(Charge-Coupled Device,CCD)与互补式金属氧化物半导体(Complementary Metal-Oxide-Semiconduc-tor,CMOS),如图2-2所示。CCD是一种集成电路,上有许多排列整齐的电容,能够感应光线,并将其转变成数字信号。经由外部电路的控制,每个小电容能将其所带的电荷传给它相邻的电容。CCD传感器广泛应用在数字摄影、天文学,尤其是光学遥测技术、光学与频谱望远镜和高速摄影技术上面。具体而言,一个场景经过透镜在电容数组表面成像后,依其亮度的强弱,会在每个电容单元上形成强弱不等的电荷。相机一旦完成曝光,控制电路就会将电容单元上的电荷传到相邻的下一个单元,当到达边缘最后一个单元时,电信号传入放大器,转变成电位。如此周而复始,直到整个场景都转成电位、取样并数字化之后存入存储器。所存储的图像可以传输到存储设备保存或者在显示屏上显示。CMOS原本是计算机系统内一种重要的芯片,用于保存系统引导最基本的资料,后来被发现可以作为数码摄影的感光元件。CMOS的成像过程与CCD相近,但在电信号到数字信号的转换过程中存在差异。CMOS传感器的每个像素旁直接连着模数转换器(Analog-to-Digital Converter,ADC),能够直接放大电信号并转换成数字信号。传感器设计时刻意加入了冗余,并非所有像素都用于成像。一些像素在暗区作为纯黑色值(可能会由于传感器温度等因素浮动)的相对参考,用以补偿“黑色”水平。另外还有一些非暗区的哑像素,用以“吸收”电磁干扰。

图2-2 两类图像传感器芯片:CCD与CMOS(图片来源于维基百科)

https://en.wikipedia.org/wiki/Charge-coupled_device

https://en.wikipedia.org/wiki/Active-pixel_sensor

CMOS的每个像素单元都比CCD复杂,其像素尺寸很难达到CCD的水平。相同尺寸下CCD通常会拥有比CMOS更高的分辨率,但也存在传输速度较慢、成本较高和耗电量高的缺点。CCD需要在同步时钟的控制下逐行输出信息,而CMOS可以在采集光信号的同时取出电信号,并且能够并行处理各单元的图像信息,因此CCD的传输速率较低。其次,CMOS所采用的半导体电路工艺可以轻易地将周边电路集成到传感器芯片中,节省外围芯片的成本;而CCD采用电荷传递的方式传送数据,只要其中有一个电容单元不能运行,就会导致一整排的数据不能传送,因此成品率控制成本较大。此外,CCD的电荷耦合器大多需要三组电源供电,而CMOS只需使用一个电源。耗电量的差距影响了下游应用,例如需求待机时长的手机会更倾向于使用CMOS。

在CMOS或者CCD读取出模拟电压之后,还需要使用模拟前端将其转化为数字信号。模拟前端的简化构造示意图如图2-3所示,包含了以下几个模块。

图2-3 简化的图像传感器模拟前端构造示意图

1)模拟放大器(analog amplifier)根据设置的感光度(ISO)将输入的模拟电压进行放大,对暗角进行补偿,并将电压转换到模数转换器所需的范围。

2)模数转换器将模拟信号转换为数字信号。转换方式根据芯片类型有所不同。输出的数字信号的位数一般比图像存储所用的8位更高,通常在10~16位之间,最常见的为12位或14位。

3)查找表(Look-Up Table,LUT),最后将数字信号进行整理,对过曝和欠曝的极端情况进行修正,使其与输入电子数呈线性关系,并校正坏像素。

相机拍摄的未处理的图像中会出现暗角(vignetting)现象,离中心越远的像素捕捉到的光线越少。使用Chameleon 3 CM3-U3-50S5C-CS 2/3工业相机对白墙的拍摄如图2-4a所示,使用同一相机拍摄的一张室外场景的样片如图2-4b所示,在图像中四个角上出现了渐暗的现象。暗角通常由四种原因造成:机械遮挡、镜头特性、光强的距离衰减和光线角度,并能在出厂时标定,通过在模拟放大器上施加非均匀增益进行抑制。

图2-4 图像的暗角现象