具体实施方式
图1示出了本发明的数字照相机10。照相机10包括用户输入22。如图所示,用户输入22为按钮,但是用户输入22也可以是操纵杆、触摸屏等等。用户使用用户输入22来例如通过选择照相机的操作模式控制照相机10的操作。照相机10还包括显示设备30,当按下捕获按钮15时,用户可以在该显示设备30上预览由照相机10捕获的图像。显示设备30也和用户输入22一起使用,使得用户可以通过菜单导航。显示设备30可以是例如数字照相机上常用的LCD或OLED屏幕。所述菜单允许用户选择对于照相机操作的偏好。照相机10可以捕获静止图像或者诸如视频流之类的快速连续图像。
本领域技术人员应当认识到,尽管在优选实施例中数据处理器20、图像处理器36、用户输入22、显示设备30和存储设备70与照相机10形成整体,但是这些部件可以位于照相机的外部。例如,前述部件可以位于台式计算机系统中,或者位于例如零售机构中的具有图像处理能力的售货亭。
图1中示出的通用控制计算机40可以将本发明作为存储于计算机可读存储介质上的计算机程序存储起来,所述计算机可读存储介质可以包括例如:诸如磁盘(例如软盘)或磁带之类的磁存储介质;诸如光盘、光带或机器可读条形码之类的光存储介质;诸如随机存取存储器(RAM)或只读存储器(ROM)之类的固态电子存储设备。本发明的相关计算机程序实现也可以存储在用来存储计算机程序的、由存储设备70表示的任何其他物理设备或介质上。控制计算机40负责控制照相机10的部件之间的数据传输。例如,控制计算机40确定用户按压了捕获按钮15并且启动图像传感器34捕获图像。照相机10还包括用于设置照相机的聚焦的聚焦机构(focus mechanism)33。
距离图像传感器32生成距离图像38,该距离图像38指示从照相机的节点到被摄影场景中的目标的距离。距离图像将在下面加以更详细的描述。本领域技术人员应当认识到,距离图像传感器32可以位于与照相机10分开的设备上。不过,在优选实施例中,距离图像传感器32与照相机10形成一体。
图像处理器36可以用来处理数字图像以便以一定方式对数字图像的总体亮度、色标、图像结构等进行调节,使得由图像显示设备30生成看起来令人满意的图像。本领域技术人员应当认识到,本发明并不仅限于所提及的这些图像处理功能。
数据处理器20用来处理来自数字图像以及来自距离图像传感器32的距离图像38的图像信息,以便生成用于图像处理器36或者用于控制计算机40的元数据。数据处理器20的操作将在下面进行更详细的描述。
还应当指出的是,本发明可以以软件和/或硬件的组合来实现,并不限于物理连接和/或位于相同物理位置的设备。图1中示出的设备中的一个或多个可以位于远处,并且可以经由无线连接来连接。
数字图像包括一个或多个数字图像通道。每个数字图像通道包括二维像素阵列。每个像素值与成像捕获设备接收的、对应于该像素的物理区域的光量有关。对于彩色成像应用,数字图像通常包括红色、绿色和蓝色数字图像通道。运动成像应用可以被认为是数字图像序列。本领域技术人员应当认识到,本发明可以应用于但不限于上述任何应用的数字图像通道。尽管数字图像通道被描述成具有行列排列的二维像素值阵列,本领域技术人员应当认识到,本发明可以应用于非矩形线性阵列而具有相同的效果。本领域技术人员还应当认识到,下面将数字图像处理步骤描述成用经过处理的像素值替换原始像素值,在功能上等价于将相同的处理步骤描述成用这些经过处理的像素值生成新的数字图像同时保留原始像素值。
图2A示出了示例数字图像,图2B中示出了与该图像对应的深度图像。更亮的色泽(shade)意味着距图像平面更远的距离。
数字图像D包括描述与场景中的空间位置关联的光强度的像素值。一般情况下,在数字彩色图像中,图像平面上每个(x,y)像素位置处的光强度对于每个红色、绿色和蓝色通道都是已知的。
距离图像38 R直接编码场景内的目标表面的位置。距离图包含与表面和已知参考系之间的距离相关的距离信息。例如,距离图可以包含像素值,其中每个像素值(或距离点)是场景中所述表面上的点的三维[X Y Z]位置。可选地,距离图的像素值可以是照相机节点(原点)和所述表面之间的距离。当照相机焦距f已知时,距离图的表示之间的转换是很容易的。例如,距离图像素值为
R(x,y)=d
其中d表示照相机节点到场景中表面的距离。
该距离图像素值可以通过以下关系式转换成所述表面的真实位置:
X=(x*d)/sqft(x*x+y*y)
Y=(y*d)/sqrt(x*x+y*y)
Z=(f*d)/sqrt(x*x+y*y)
其中sqrt()为平方根算子。
距离图可以与数字图像具有相同的维数。也就是说,对于数字图像的每个像素,可以存在关联的距离像素值。可选地,距离图可以存在于比数字图像具有更粗分辨率的网格上。例如,只有8行12列像素的距离图R可以与具有1000行×1500行像素的数字图像D关联。距离图R必须包含至少2个不同的距离点。此外,距离图可以只包含散布在图像上的一组点的列表。这种类型的距离图也称为稀疏距离图。如美国专利6507665中所描述的,当根据立体数字图像对来计算距离图时,通常出现这种情况。
如图2C所示,聚焦机构33可以用来产生距离图像38。如第一步骤41所示,聚焦机构33用于在将照相机透镜系统聚焦从近焦位置调节到远焦位置的同时通过利用图像传感器34捕获一组(例如10个)预览图像来选择该透镜系统的焦点位置。在第二步骤43中,通过对每个预览图像的每个区域(例如8×8像素块)计算聚焦值来对这些预览图像进行分析。聚焦值是图像区域中的高频分量的度量。例如,聚焦值是区域中的像素值的标准偏差。可选地,聚焦值可以是该区域的平均绝对差、该区域的最大像素值减最小像素值。因为对焦(in-focus)图像信号包含比离焦图像信号更大的高频分量,这个聚焦值是有用的。然后,聚焦机构33确定在一组相关区域上最大化聚焦值的预览图像。之后,依照与最大化聚焦值的预览图像关联的聚焦位置(focus position)来设置照相机的聚焦位置。
在第三步骤45中,通过比较每个预览图像的该区域的聚焦值来找出最大聚焦值。与该区域关联的距离图值等于对于该区域具有最大聚焦值的预览图像的相应焦距。
通过这种方式,聚焦机构33分析来自图像传感器34的数据并且确定距离图像38。于是,不需要单独的距离图像传感器32来产生距离图像38。
数字图像的像素的距离像素值可以通过基于距离图的值的内插或外插来确定,这在本领域中是众所周知的。内插可以例如利用双线性或双三次滤波技术或者利用诸如中值滤波之类的非线性技术来实现。同样,可以对数字图像数据D进行插值以确定给定位置处的近似图像强度值,对于所述给定位置距离信息是已知的。但是应当指出的是,距离数据的内插或外插不可能没有误差地实现。
在图3中,示出了图1的系统的更详细的视图。距离图像38被输入到数据处理器20以提取平坦表面(planar surface)142。数据处理器20使用平坦表面模型39来从距离图像38的距离信息中定位平坦表面。平坦表面模型39是平坦表面或者近似平面的表面的数学描述。场景中平面的知识提供了有关场景以及照相机位置相对于场景的关系的重要线索。
下面的稳健估计过程由平坦表面模型39来描述并且由数据处理器20用来基于距离图像检测场景中的平坦表面:
a)考虑距离点三元组Ri=[Xi Yi Zi]T,其中i=0,1,2。可以随机选择这些三元组。
b)对于每个距离点三元组,执行下列步骤:
b1)检查点三元组的共线性。当三个点位于一条直线上时,不能确定包含所有三个点的唯一平面。当
|R0 R1 R2|=0
时,这三个点共线。
在所述点三元组共线的情况下,丢弃该三元组并且考虑下一个点三元组。
b2)通过公知的方法来计算穿过所述三个点中的每一个的平面P。
将平面P表示为:
P=[xp yp zp c]T,使得
对于i=0,1,2,
可以例如通过计算矢量R1-R0和R2-R0的叉积来得到系数xp、yp和zp。然后,通过求解方程(1)来得到系数c。
b3)对于计算的平面P,从整个距离图像38中找出|PT[X Y Z 1]T|不大于T1的距离点的数目N。T1是用户可选的阈值,其缺省值为T1=0.05Z。T1的值可以依赖于距离图像38的误差分布。
c)选择具有最大N的平面P,条件是N大于T2(缺省T2=0.2*距离图像38中距离点的总数)。
d)从满足上面b3)中的条件的N个距离点的集合中估计最佳的P。这是通过求解最小化误差项E的P来实现的:
求解这样的优化问题的技术在本领域中是众所周知的,并且将不作进一步的讨论。
数据处理器20执行的用于找出平坦表面的过程可以通过排除(eliminate)与检测的平坦表面P关联的距离点并且重复以便生成一组平面142来迭代进行。
图像中平坦表面的知识能够实现若干图像增强算法,如图3所示。首先,将数据处理器20确定的平坦表面142输入到平面型分类器144,以便依照类型和/或依照语义标签来分类这些平坦表面。人工构造中存在许多平坦平面或近似平坦的平面。例如,地板几乎总是平坦的并且平行于地面(即大多数平坦地板的法向量为重力方向)。天花板也是如此。明显的区别在于,天花板倾向于处于接近数字图像顶部的位置,而地板一般处于接近数字图像底部的位置。墙壁一般是垂直于地平面的平坦表面。(即法向量平行于地面)。在被摄影的场景中存在许多其他平坦表面,例如冰箱或桌子的侧面或顶部,或者既不平行于也不垂直于地面的平面(例如斜面)。
平面型分类器144分析来自数字图像102的平坦表面和其他信息以确定用于已检测的平坦表面142的分类。分类类别优选地为:
墙壁(即垂直于地平面的平面)
天花板(即平行于地平面并且接近图像顶部的平面)
地板(即平行于地平面并且接近图像底部的平面)
其他(既不平行于也不垂直于地面)。
平面型分类器144可以分配所述平坦表面属于特定类别的概率或置信度。一般情况下,根据在数据处理器20执行的平坦表面检测期间被发现落入所述平面P上的距离值的位置,将yp的绝对值小的大平坦表面分类为天花板或地板平坦表面。将xp的绝对值小的大平坦表面分类为墙壁。否则,将所述平坦表面分类为“其他”。
图3示出了可以将几何变换146施加到数字图像102中以产生改善的数字图像120。几何变换146优选地利用已检测的平坦表面142和平面型分类144来产生。
几何变换146的操作取决于操作模式42。操作模式42允许用户选择几何变换146的所希望的功能。例如,如果操作模式42为“减小照相机的旋转”,那么几何变换146的目的是执行数字图像102的旋转以抵消非故意的照相机旋转(照相机绕z轴旋转,结果不处于水平位置)的不希望的影响。在这种情况下,几何变换146是单应性矩阵H1R
当P=[xp yp zp c]T为天花板或地板的已知平坦表面时,那么
可选地,可以从为墙壁的两个或更多个平坦表面通过计算与所述墙壁关联的法向量的叉积确定角度α。结果为地平面的法向量,其可以用于上面的式(3)中。
变换H1R用于消除当照相机相对于场景旋转时在图像中明显可见的倾斜。当照相机倾斜时,墙壁、天花板和地板的平坦表面经历可预测的变化。这是因为这种平坦表面的方位是事先已知的(即或者平行于地平面或者平行于它)。角度α代表照相机从竖直方位的旋转角的负数,并且图像处理器36施加变换H1R来产生相对于原始图像102旋转了角度α的增强数字图像120,从而消除了照相机相对于所述图像的不希望旋转的影响。
可选地,如果操作模式42为“矫正(rectify)平面”,那么几何变换146的目的是执行检测的平坦表面142的图像的矫正。透视变形发生在图像捕获期间,并且例如平行场景线在图像中看起来要会聚在一起。矫正是执行几何变换以从场景平面的图像中消除透视变形的过程,其导致图像看起来是在正视该平面时捕获的。在这种情况下,几何变换是单应性矩阵HRP。如Harley和Zisserman在“Multiple View Geometry”(第13-14页)中所描述的,当已知四个非共线对应点(即其中没有3个点共线的场景平面坐标和图像平面坐标中的4对对应点)时,可以设计单应性矩阵来执行矫正。这些对应点通过了解所述平坦平面的方程P=[xp yp zp c]T来生成。所述平坦表面上的坐标系统必须被定义。这是通过在平坦表面上选择两个单位长度正交基矢量来实现的。所述平坦表面的法线为PN=[xp yp zp]T。可以简单地选择第一基矢量为PB1=[0 y1 z1]T,使得PN和PB1的点积为0并且PB1具有单位长度。第二基矢量PB2是通过找出PN和PB1的叉积并且归一化到单位长度来导出的。然后,通过以下步骤来找出所述4个对应点:选取所述平坦表面上的4个非共线点;通过计算这些点与基矢量的内积来确定所述平坦表面上的每个点的坐标;以及计算这些点在图像坐标中的投影位置。
例如,如果所述平坦表面具有等式P=[1 2 1 -5]T,那么平面基矢量为 和 假定焦距为1个单位。那么,可以确定出四个对应点:
场景坐标 场景平面坐标 图像平面坐标
[0 0 5]T [0 0 1]T
[1 0 4]T [1/4 0 1]T
[0 1 3]T [0 1/3 1]T
[1 1 2]T [1/2 1/2 1]T
将图像坐标映射到被矫正坐标的单应性矩阵HRP可以计算为:
因此,已经证明用于矫正场景平坦表面的图像的几何变换146可以使用平坦表面142的方程来导出。
应当注意,几何变换142可以只施加到数字图像102的那些与平坦表面142关联的像素,或者几何变换146可以施加到数字图像102的所有像素。图像掩模发生器150可以用来创建指示数字图像102中与平坦表面142关联的那些像素的图像掩模152。优选地,图像掩模152具有与数字图像102行列数相同的像素。如果像素的关联三维位置落在平坦表面142上或附近,那么该像素的位置与平坦表面142关联。优选地,如果图像掩模152中的像素位置与平坦表面142关联,则给其赋予值(例如1),否则,赋予值(例如0)。通过给每个平坦表面赋予特定的值(例如对于第一平坦表面赋予1,对于第二平坦表面赋予2,等等),图像掩模152可以指示与若干不同平坦表面关联的像素。
除了对于施加几何变换146有用之外,图像掩模152对于材料/目标检测器154也是有用的。材料/目标检测器154确定数字图像102的像素或区域(像素组)代表特定材料(例如天空、草地、路面、人体等)或目标(例如人脸、汽车、房屋等)的可能性。这在下面将进行更详细的描述。
图像处理器36对具有X行Y列像素的数字图像102 i(x,y)施加几何变换146,以产生改善的数字图像120。优选地,图像平面和光轴的交点处的位置(即数字图像102的中心)的坐标为(0,0)。优选地,改善的数字图像o(m,n)具有M行和N列,并且具有与数字图像102行列数相同的像素。换言之,M=X并且N=Y。输出图像o(mo,no)中的每个像素位置被映射到输入数字图像i(xo,yo)中的特定位置。一般情况下,(xo,yo)将不对应于精确的整数位置,而将落在输入数字图像i(x,y)上的像素之间。像素o(mo,no)的值是通过对来自i(xo,yo)附近的像素值进行插值来确定的。这种类型的插值在图像处理领域中是众所周知的,并且可以通过最近邻插值、双线性插值、双三次插值或者任何数量的其他插值方法来实现。
几何变换146规定了输出图像位置(m,n)到输入图像位置(x,y)的映射。在优选实施例中,将输出图像的特定位置(mo,no)映射到输入图像中的位置(xo,yo)的映射如下给出:
其中[xt y wt]t代表齐次坐标(homogenous coofdinate)下原始数字图像102中的位置。因此
并且
本领域技术人员应当认识到,点(xo,yo)可能在输入数字图像的范围之外(即可能不存在任何附近的像素值)。在另一极端情况下,改善的输出图像的全体像素位置可能映射到输入图像102内部的小区域,从而进行了大量的缩放。这个问题可以通过图像处理器36确定代表几何变换146的缩放效应的缩放因子z来解决,并且通过如下修改输入到图像处理器36的几何变换146来产生最终的Hf:
其中
其中z为改善的输出数字图像120的所有像素位置映射到输入数字图像102的范围内部的最大数量。
与所有重采样操作一样,必须注意避免混叠效应。一般情况下,通过在采样之前模糊数字图像102来避免混叠。然而,由于几何变换146的采样率在整个图像上是变化的,因而可能难于选取模糊滤波器。存在处理这个问题的若干技术。对于超采样或者自适应超采样,每个像素值o(mo,no)可以通过将接近(mo,no)的一组坐标位置变换回输入数字图像102以便进行插值来估计。例如,可以使用一组位置[(mo+1/3,no+1/3)(mo+1/3,no)(mo+1/3,no-1/3)(mo,no+1/3)(mo,no)(mo,no+1/3)(mo-1/3,no+1/3)(mo-1/3,no)(mo-1/3,no-1/3)]。最终的像素值o(mo,no)是所有与变换到输入图像102坐标的所述位置组关联的经过插值的值的线性组合(例如平均)。
上述几何变换146(“减小照相机的旋转”和“矫正平面”)用3×3矩阵表示,并且操作在图像平面坐标上以产生改善的数字图像120。更灵活的几何变换使用3×4矩阵并且操作在由距离图像38提供的三维像素坐标上。该模型的应用允许场景绕任意轴旋转,产生看起来像是从另一个有利位置捕获的改善的数字图像。
可以利用平面型分类器144的输出来设计3×4几何变换146以例如定位“地板”平面,使得其法向量为[1 0 0],或者定位“墙壁”平面,使得其法向量垂直于x轴。
在应用期间,当填充改善的数字图像120的像素值时,可能会发现没有原始的三维像素坐标映射到特定的位置。必须给这些位置赋予缺省值(例如黑或白)或者赋予通过分析局部邻域(例如通过使用中值滤波器)得到的计算值。
此外,还可能发现来自改善的数字图像120的不止一个像素值映射到改善的数字图像120中的单个位置。这导致“争议”。该争议通过忽略与离照相机最远的距离关联的像素值来解决。这对其中靠近照相机的目标遮挡了远离照相机10的目标的情况进行了建模。
应当注意,在每种情况下,除了数字图像102之外,还可以将几何变换146施加到距离图像38,以便创建更新的距离图像121。更新的距离图像121是与改善的数字图像120对应的距离图像。
图4示出了使用距离图像38识别数字图像102中的目标和材料的方法。距离图像38和数字图像102被输入到材料/目标检测器154。材料/目标检测器154确定数字图像102的像素或区域(像素组)代表特定材料(例如天空、草地、路面、人体等)或目标(例如人脸、汽车、房屋等)的可能性。材料/目标检测器154的输出是一个或多个置信度图162。置信度图162指示数字图像的特定像素或区域或若干像素代表了特定的材料或目标。优选地,置信度图162具有与数字图像102行列数相同的像素,但这不是必需的。对于一些应用而言,置信度图162具有低于数字图像102的分辨率是方便的。
任选地,材料/目标检测器154可以输入图像掩模152,该图像掩模152指示图3的图像掩模发生器150计算的平坦表面的位置。图像掩模152对于材料/目标识别相当有用。例如,当在数字图像102中搜索人脸时,图像掩模可以用来避免在与平坦表面关联的数字图像102的区域中错误地检测人脸。这是因为人脸不是平面的,因此不必搜索与平坦表面关联的数字图像102的区域。
对于材料/目标检测器154存在若干操作模式。在称为“确认模式”的第一种模式下,出现仅利用数字图像102的传统的材料/目标检测级。例如,可以使用Jones,M.J.;Viola,P.,“Fast Multi-view FaceDetection”,IEEE Conference on Computer Vision and PatternRecognition(CVPR),June 2003描述的用于找出人脸的方法。然后,当检测到目标时,利用已检测的目标和照相机捕获信息(例如照相机的焦距或放大率)来估计到目标的距离。例如,如果已检测的目标是人脸,那么当在图像中检测到候选人脸时,也可以确定到该脸的距离,因为人的头部尺寸只有少量的变化。对于图像中感兴趣的候选目标,照相机到目标距离的估计De可以计算为:
De=f/X*S
其中:f为照相机的焦距,
X为数字图像中感兴趣的候选目标的尺寸
S为感兴趣的目标的物理(已知)尺寸
分类是通过比较照相机到目标距离的估计De和感兴趣的候选目标的对应距离值来实现的。当De与距离值匹配良好(例如在15%以内)时,该感兴趣的候选目标很可能实际代表感兴趣的目标。当De不是距离值的良好匹配(例如在15%以内)时,那么该感兴趣的候选目标很可能实际上不代表感兴趣的目标。
实际上,感兴趣的目标(头部)的物理尺寸是已知的。可以在对应候选的已检测的脸的区域上比较这个计算的距离与来自距离图像38的照相机到主题的距离。当这个计算的距离与来自距离图像38的距离之间存在差异时,候选人脸实际上是人脸的置信度降低,或者候选人脸被分类为“非人脸”。这种方法通过减少虚正检测而改进了材料/目标检测器154的性能。这个实施例适用于检测具有窄的尺寸分布的目标,例如汽车、人、人脸等。此外,距离图像对于代表天空的区域具有“无限远”的距离或者非常大的距离。因此,当考虑候选天空区域时,对应距离值被考虑。当距离值小时,那么丢弃候选天空区域。总的说来,图4描述了用于通过以下步骤来改善目标检测结果的方法:首先检测图像中感兴趣的候选目标;然后确定对应于感兴趣的已检测的目标的距离值并且使用这些距离值以及感兴趣目标的已知尺寸来确定(即分类)感兴趣的已检测的目标的正确性。
在称为“完全模型模式”的第二种操作模式下,距离图像38只是提供输入到分类器的附加特征。对于图像区域,计算特征(例如颜色、纹理和距离值的分布)并且将其输入到分类器以便确定P(region=m|f),该分布表示给定特征f时所述区域代表材料或目标m的概率。分类器通过从许多训练实例中学习分布P(region=m|f)而经历训练过程,所述训练实例包括其中已知区域代表材料或目标m的样本以及其中已知区域不代表材料或目标m的样本。例如,利用贝叶斯定理:
其中f为特征集合。
图5A示出了用于利用距离图来确定图像均衡的方法。将数字图像102和距离图像38输入到数据处理器20。数据处理器20确定由图像处理器36施加到数字图像102的图像变换60(曝光调节量),产生改善的数字图像120。图像变换60是修改输入图像(例如数字图像102)的一个或多个像素值以便产生输出图像(改善的数字图像120)的操作。
在第一实施例中,图像变换60用于改善图像的均衡或曝光。数字图像的适当曝光取决于图像的主题。用于确定适当的图像曝光的算法称为场景均衡算法或曝光确定算法。这些算法通常通过确定图像像素子集的平均、最小、最大或中值来工作。(参见例如美国专利No.4945406)。
当数字图像102的像素值代表曝光的对数时,那么通过简单地向像素值添加偏移来施加曝光调节量(也称为均衡调节)。当数字图像102的像素值与曝光成比例时,那么通过以常数乘法器缩放像素值来施加均衡调节。在这二者中任何一种情况下,均衡调节都对缩放场景中的光量(例如调暗或调亮光源照明)的物理过程进行了建模。而且,当数字图像102的像素值被再现成sRGB颜色空间中的像素值时,那么均衡调节在美国专利No.6931131中有所描述。简而言之,均衡调节是通过向每个像素值施加下列公式来实现的:
Io=(1-(1-Ii/255)^(2.065^a))255
其中Io代表输出像素值,Ii代表输入像素值,a代表以曝光光圈数表示的曝光调节量。一个光圈数代表双倍的曝光。
尽管在前面的讨论中均衡调节被施加到现有的数字图像102中,但是本领域技术人员应当认识到,已确定的均衡可以由照相机用来捕获场景的新图像。为了简单起见,下面的讨论将假定数字图像的像素值与对数曝光量成比例。本领域技术人员应当认识到,当数字图像像素值代表其他量时,可能需要对各个参数和方程进行修改。
数据处理器20利用某个过程来确定曝光调节量a。对距离图像38进行插值,使得它具有与数字图像102相同的维数(即行列值)。然后,通过取数字图像102的曝光值的加权平均来确定加权曝光值t。数字图像中的每个像素根据如已插值的深度图所指示的其与该照相机的对应距离来接收权重。用来确定平均所用的权重来自:
t=∑∑W(x,y)i(x,y)
其中在数字图像像素的所有行和列上进行双重求和。
权重W为位置(x,y)处距离图像值的函数。一般情况下,W(x,y)被归一化,使得W(x,y)在整个图像上的和为零。权重W和距离值之间的关系示于图5B中。这个关系基于主要的主题(main subject)相对于照相机的距离分布。实际上,该关系是假定像素属于图像的主要主题的情况下,该距离为特定距离的概率。除了基于距离值的权重之外,可以使用另外的权重,所述权重基于例如:像素相对于图像光学中心的位置(例如接近中心的像素被赋予更大的权重)或者边缘状态(edgeiness)(位于或接近具有高边缘梯度的图像位置的像素被赋予更大的权重)。
然后,通过取加权平均与目标值之差来确定曝光调节量。例如:
a=T-t
其中T为目标值曝光值。因此,暗图像具有的加权平均t小于目标值T将导致正的a(指示图像需要调亮)。此外,亮图像具有的加权平均t大于目标值T,导致负的a,指示图像需要调暗。一般是通过在大的数据库上找出使图像质量最优的值来选择值T的。
在其中距离图是稀疏距离图的可选实施例中,平均值a可以仅根据对应位置处的数字图像的已插值的值处的那些值(未插值距离值)来计算。
可选地,加权平均是通过以下步骤来计算的:首先通过使用例如公知的iso-data算法对区域(具有相似的距离值的组)进行聚类来分割距离图像;接着确定每个区域的加权平均;然后通过依照图5C中示出的函数对每个区域使用平均距离值导出的权重对每个区域的加权平均进行加权来计算总体加权平均。
图5C示出了数据处理器20的详细视图,其图解说明了用于计算曝光调节量176的另一可选方案。距离边缘检测器170例如通过利用著名的Canny边缘检测器进行滤波,或者通过计算每个位置处距离图像的梯度幅度并且接着进行阈值操作来操作距离图像38。距离边缘检测器170的输出是具有与距离图像38相同的(行列值)维数的距离边缘图像172。距离边缘图像172在与距离图像38中的边缘关联的位置处具有大的值,在与距离图像38的非边缘关联的位置处具有小的值,并且在与距离图像38中介于边缘和非边缘之间的位置关联的位置处具有中间值。优选地,归一化距离边缘图像172,使得所有像素值之和为1。然后,加权平均器174通过将距离边缘图像172的值用作权重来确定数字图像102的加权平均t。加权平均器174通过如前所述找出t和T之差来输出曝光调节量176。
因此,使用对应于数字图像102的距离图像38确定曝光调节量。而且,利用距离边缘检测器170对距离图像进行滤波以生成用于确定曝光调节量的权重(斜坡边缘图像172)。
应当注意,尽管在图像处理领域中经常使用边缘检测器,但是它们找出的是具有大的编码值差异的局部区域而不是场景中的真实不连续性区域。例如,边缘检测器经常会检测出斑马上的斑纹,但是这些斑纹仅仅是具有不同反射率的邻接区域而不是真实结构的场景边缘。距离边缘检测器只有在局部区域包含截然不同的距离处的目标时才表现出大的响应,并且对于场景中平滑表面上的不同材料反射率会表现出大的响应。
图6A示出了使用距离图像38来确定用于将图像强度映射到优选值的色标函数的方法。这个过程通常有益于动态范围压缩的目的。换言之,一般的场景包含的亮度范围约为1000∶1,而一般的打印机或显示器只能有效地再现大约100∶1的亮度范围。因此,动态范围压缩对于“重新照亮”场景会是有用的,其允许更加令人满意的再现。
将数字图像102和距离图像38输入到数据处理器20。数据处理器20确定由图像处理器36施加到数字图像102从而产生改善的数字图像120的图像变换(色标函数140)。图像变换是修改输入图像(例如数字图像102)的一个或多个像素值以产生输出图像(改善的数字图像120)的操作。
图6B示出了图像处理器36的详细视图。通过颜色空间矩阵变换(例如亮度色度转换器84)将一般在RGB颜色空间中的数字图像变换到亮度色度颜色空间,得到亮度通道neu 82和两个或更多色度通道gm和ill86。从一组红色、绿色和蓝色通道到亮度和两个色度通道的变换可以通过矩阵乘法来实现,所述矩阵乘法例如:
其中neu、gm和ill代表亮度和色度通道的像素值,red、grn和blu代表数字图像102的红色、绿色和蓝色通道的像素值。
这种矩阵旋转提供了其上r=g=b的中性轴以及两个颜色差异轴(绿色-品红色和光源)。可选地,不同于该矩阵提供的变换(例如三维查找表(LUT))可以用于将数字图像变换成亮度-色度形式,在给定本公开的情况下这是本领域技术人员所熟悉的。
旋转到亮度-色度空间的目的是分离出色标函数操作于其上的单一通道。色标处理器90的用途和目标是允许色标函数调节数字图像通道的宏观对比度,但是保持数字图像通道的细节内容或纹理。为此,色标处理器90使用距离图像38、色标函数140和亮度通道82来生成增强的亮度通道94。常规的色度处理器88对色度通道进行常规的处理。色度处理器88可以按照与色标函数相关的方式来修改色度通道。例如,美国专利No.6438264描述了一种修改色度通道的、与施加的色标函数的斜率相关的方法,该专利在此引入以供参考。色度处理器的操作不是本发明的重点并且将不作进一步的讨论。
优选地,通过逆颜色空间矩阵变换(RGB转换器92)将数字图像变换回RGB颜色空间,以便生成允许打印出硬拷贝或者在输出设备上显示的增强的改善的数字图像120。
参照图6C,其示出了色标处理器90的更详细的视图。将亮度通道neu 82表示成基座(pedestal)信号neuped、纹理信号neutxt和噪声信号neun之和:
neu=neuped+neutxt+neun (1)
如果假定噪声可以忽略不计,那么:
neu=neuped+neutxt (2)
如下面详加描述的,亮度/色度转换器84输出的数字图像通道的亮度部分neu 82由基座分离器(pedestal splitter)114分成两个部分以产生基座信号neuped 112和纹理信号neutxt 116。色标施加器(applicator)118将色标函数138施加到基座信号112以便改变图像的特性来进行图像增强。色标函数138可以用于改变数字图像的相对亮度或对比度的目的。色标施加器118通过施加查找表(LUT)到输入信号来实现,如本领域中众所周知的。图6D中图解说明了一种示出了输入值到输出值的一对一映射的示例色标函数。色标函数138可以与图像无关,或者可以从数字图像像素值的分析中导出,如例如在美国专利No.6717698中所描述的。这个分析是在数据处理器20中执行的,如图6A所示。数据处理器20在构造色标函数140时可以同时考虑距离图像38以及数字图像102的像素值。例如,色标函数140通过首先从与距离图像38的邻域对应的数字图像像素值中构造图像活性直方图(activityhistogram)来计算,所述距离图像38的邻域具有大于阈值T3的方差。因此,图像活性直方图基本上是接近由距离图像38限定的真实遮挡边界(occlusion boundary)的像素的像素值直方图。然后,按照美国专利No.6717698中描述的方式从图像活性直方图中构造出图像相关色标曲线。
如果希望的话,纹理信号116可以由纹理修改器130进行放大,或者按照本领域技术人员可能希望的某种其他方式来改变。该纹理修改器130可以是标量常量乘以纹理信号116。然后,由加法器132将修改的纹理信号和修改的基座信号相加到一起,形成增强的亮度通道94。由加法器132对两个信号相加是本领域中众所周知的。这个过程也可以用以下等式来描述:
neup=.function.(neuped)+neutxt (3)
其中function.()表示施加色标函数138,neup代表具有降低的动态范围的增强的亮度通道94。在施加色标的整个过程中,很好地保留了数字图像通道的细节信息。
不管图6B中所示的内容如何,亮度通道经历色标处理器90进行的修改不是必需的。例如,RGB图像的每个颜色通道可以经历这种处理,或者单色图像也可以由这个过程来进行变换。然而,为了本申请的其余部分的目的,假定只有亮度通道(具体而言,即中性通道neu)将经历细节保持色标函数施加器的处理。
再次参照图6C,基座分离器114将输入数字图像通道neu分解成“基座”信号112neuped和“纹理”116信号neutxt,其和等于原始数字图像通道(例如亮度信号)82。基座分离器114的操作对于输出图像具有重大的影响。基座分离器114施加具有与来自距离图像38的距离值有关的系数的非线性空间滤波器,以便生成基座信号112。基座信号112neuped除了与主要场景照明或目标不连续性关联的大的变化之外,总体上是平滑的。纹理信号116neutxt是原始信号和基座信号之差。因此,纹理信号包含细节。
基座信号由基座分离器114通过将非线性空间滤波器施加到输入亮度通道neu 82而生成。滤波器的系数取决于距离图像38的值。
其中所述非线性滤波器为w(m,n)并且依照
w(m,n)=w1(m,n)w2(R(x,y),R(x+m,y+n))
来计算系数,其中w1(m,n)用于设置高斯包络并且限制所述滤波器的空间展度(extent)。
其中π是近似为3.1415926的常数。σ为调节滤波器尺寸的参数。优选地,σ为沿最短图像维度的像素数的0.25倍。w2(m,n)用于减小(reduce)滤波器系数以便防止在伴随有距离图像38中的大的不连续性的目标边界处出现模糊。
其中T4为允许调节在距离图像38中的变化中的滤波器衰减陡度的调整参数。特定位置处的滤波器系数随着对应的距离值变得更加不同于对应于滤波器中心位置的距离值而减小。通常,在应用之前对滤波器w的系数的和进行归一化,使得它们的和为1.0。
因此,通过利用从来自距离图像的距离值的分析中导出的权重对图像进行滤波而改善了图像的色标,所述距离值描述了场景中的目标相对于照相机的距离。
涉及本发明滤波器设计的术语“自适应”指的是构造的滤波器的权重依照滤波器位置的邻域中的结构而变化。换言之,本发明通过其系数依赖于距离值的统计参数的滤波器来对数字图像信号进行滤波,所述距离值对应于被滤波的特定像素的邻域。
本领域技术人员应当认识到,可以通过从亮度通道82中生成图像金字塔(pyramid)并且对金子塔层级中的一层或多层进行滤波来用多分辨率滤波过程近似滤波器w。这记载于例如美国专利申请公开No.2004/0096103中。此外,滤波器w可以是如例如美国专利No.6728416中所描述的自适应递归滤波器。
除了基于距离值和高斯包络的权重之外,可以使用另外的权重,其基于例如:像素相对于图像光学中心的位置(例如接近中心的像素被赋予更大的权重)或者边缘状态(位于或接近具有高边缘梯度的图像位置的像素被赋予更大的权重)。
还可以通过作为距离图像38的函数修改图像的亮度通道来直接修改图像的色标。通过如下修改亮度通道来创建改善的数字图像120:
滤波器系数取决于距离图像38的值。
neup(x,y)=f(neu(x,y),R(x,y)) (4)
该等式允许基于距离值修改图像的强度。这用来校正背后照明或正面照明的图像,其中图像照明是非均匀的并且一般随距离而变化。当图像信号neu(x,y)与场景曝光量的对数成比例时,等式(4)的优选形式为:
neup(x,y)=f(R(x,y))+neu(x,y) (5)
函数f()通过分析图像像素值和对应的距离值来形成,使得等式(5)的应用产生具有降低的动态范围的增强的亮度通道94。在施加色标的整个过程中,很好地保留了数字图像通道的细节信息。
回头参照图1,照相机10整体包含距离图像传感器32,该距离图像传感器32用于在任意时间测量照相机10和场景中的目标之间的物理距离。在数字视频序列(即由单一相机时间上顺序地捕获的数字图像的集合)中,对应的距离图像序列由深度图像传感器32生成。n个距离图像被表示成矢量Rn。
前面已经特别地参照特定的优选实施例描述了本发明,但是应当理解的是,在本发明的精神和范围内,可以实现各种变化和修改。