Image Processing for Embedded Devices <2>
1.1.1 曝光设置
如老式电影中,相机数字传感器需要在采集时正确曝光。像素(图片基本要素)是由感光电子设备(光电二极管或光电晶体管)组成,它们收集光子(光线的电磁元素),转化成电信号。信号被储存在累积单元,然后通过模数转化,得到最后像素值。
这个基本的光采集设备存在一些限制:光的敏感度是固定的并且可能被噪声干扰。通常噪声水平是有限的并且并不严重,只要实际信号强度适当且质量高,如高信噪比。
为了确保这一基本原则每个像素都必须进行设定,使其能采集到适当水平的光照,因此得到适当水平的信号,通过改变场景的光线强度也可改变sensor采集量,从而存储适当水平光照在像元中。这可以通过曝光时间控制实现。曝光时间是指感光电管采光和转化成电荷的时间。场景光照强度越低所需曝光时间就越大。通过改变曝光时间确定场景的数字采集结果可能曝光不足(太暗,曝光时间太小),曝光过度(太亮,曝光时间太大)或曝光适度。
有两种情况必须避免或者被认为是极端情况:无累积,即相当于黑图;过度累积(也叫做饱和),即相当于高亮或白图。对于实际黑或白场景,像素呈现上述数值是没有问题的,但是错误的曝光时间也会得到黑白图(曝光不足导致黑图和曝光过大导致亮图)。并且sensor的各个像素的曝光时间不能分别控制,及所有像素公用一个曝光时间,帧间的曝光时间可以改变用以适应现实场景中光照的改变。通常我们设置曝光时间使图片的平均亮度处于全部亮度等级的中间水平(如:对于8位的图像具有256个不同的亮度等级,合适曝光图像平均亮度为128)。
最后,选择一个合适的曝光时间应对所有场景往往是不太可能的。太大或太小的曝光时间都不太可行,可能会产生其他问题并且影响信噪比。并且曝光时间往往有上限,取决于帧率或运动模糊。运动模糊是由于较大的曝光时间和采集场景中有运动物体或手抖。低光照采集情况下很常见,因此该情况下常常使用闪光灯。
曝光时间的下限取决于,像元内累计的信息量可被正常读出,使用乘法增益放大信息得到可用值。
总结一下,一个好的曝光控制模块由如下条件组合而成:
l 一个合适的模块需要估计场景的光照强度,正确设置相应的曝光时间,避免曝光不足或曝光过度;
l 一个合适的增益控制可提供支持和作为曝光限制的补偿,当在平衡曝光时间和增益时,优先曝光考虑曝光时间;
l 一个定义真正的黑白区域的方法,呈现其余部分和一般图像pipeline中余下模块会进行适当的矫正;
l 其他模块中某一环会给信号增加额外的增益(想自动白平衡);
l 额外的可选模块用以控制避免运动模糊;通常文献将该方法命名为自动ISO。
1.1.2 白平衡
正确的颜色重构是最具挑战的图像处理之一,影响数字相机的图像质量。人类视觉系统可以去除色偏:不同光源情况下物体在人眼中呈现同一颜色。恰恰相反的是,sensor简单采集所得裸数据不能够应对现实场景中光源的变化。举个例子一张白纸位于室外室内环境下会被sensor记录成偏蓝或偏红的颜色。
为了应付这些问题创造了很多技术方法。高端相机提供多种较通用光源(钨丝灯,日光灯,白天日光,闪光灯等)相关的预设。此外未来相片的白平衡参数可通过在同一光源下给已知灰度的参考物采集一帧图像来设置(客户端白平衡)。
上述的所有技术方法需要用户密切配合从而正常使用。正相反的,自动白平衡技术方法尝试在不需要用户配合的情况下估计得到正确的光照特征并且去除色偏。这些技术方法基于对场景反射分布的强预估,也应用在低消费设备(如智能手机),将会在第5章详细介绍。
1.1.3 降噪
图像噪声(用不需要的声音作类比来命名)很大程度上影响着图像质量。这些不需要的波动,若未被适当处理,严重影响图像质量。不同的噪声源,具有不同特征,堆叠在图像信号上:光子噪声,黑电平噪声,读出噪声,重置噪声,量化噪声等。
虽然制造商做了很多努力减少图像设备中的噪声,对于高要求情况下噪声依旧存在且被认为不可避免。举个例子,低照条件且低曝光时间,产生非常低的信噪比,采集到非常少的光子,很难得到令人满意的图片。这一物理现在不仅取决于sensor特性,还和光的本质有关。此外嵌入式设备有限的尺寸下像素个数的不断增加,即像素尺寸减小,带来更多地问题。和大像素相比小像素采集更少的光子,更少有效信号意味着更大噪声的图像。
为了应付这些问题必须设计智能滤波器。这些滤波器可以估计图像噪声特征(如高斯模型下的均值和标准差),然后在不影响图像细节下前提下去除掉不需要的噪声。
最后,应该指出的是降噪可作用在pipeline的各个阶段。有的作用在RGB图像上,也有的直接作用在Bayer数据上。后者具有几个明显优势(去马赛克处理通常会引入非线性特征,这会加大降噪难度)。更多降噪算法介绍详见第6章。