具体实施方式
现在参考附图,并且首先参考图1,示出被配置为进行与图像相关的运算的计算机系统10的框图。CPU 12经由例如USB端口与包括例如数字照相机14等的装置耦接。数字照相机14进行工作以将本地存储在照相机14上的图像下载到CPU 12。CPU 12将所下载的图像作为图像文件18存储在存储器16中。可以通过CPU 12存取图像文件18,以将其显示在监视器20上或者在打印机22上打印输出。
作为代替,可以将CPU 12实现为嵌入在包括例如数字照相机14或机器人等的装置中的微处理器。CPU 12还可以配备有连同例如机器人的操作或与用户的互动操作一起进行与图像相关的实时运算的实时操作系统。
如图2A所示,各图像文件18包括n×m像素阵列。各像素p是与整个图像的离散部分相对应的图片元素。所有像素一起定义由图像文件18所表示的图像。各像素包括与图片元素的例如红、绿和蓝色成分(RGB)的一组色带相对应的数字值。本发明可应用于任意多色带图像,其中,各色带与一部分电磁频谱相对应。像素阵列包括以像素p(1,1)开始并且以像素p(n,m)结束的n行m列。当显示或打印图像时,如通常所知的,CPU 12从存储器16检索相应的图像文件18,并且根据具体情况,根据图像文件18中的像素的数字值来操作监视器20或打印机22。
根据本发明的特征,在图像处理中,CPU 12进行操作,以分析和处理例如存储在图像文件18中的图像的像素的RGB值的信息以达到不同的目的,包括例如对在图像文件18的图像中所描述的场景的光照和材质方面进行分离(segregation)从而提供本征图像(intrinsic image)。本征图像可以包括与原始图像相对应的材质图像和/或光照图像,用于在诸如计算机视觉等的应用中进行改进处理。作为本发明的基本发现的基础的基本观点是图像包括材质和光照这两个成分。图像中的所有变化都是由这两个成分中的一个或另一个引起的。空间-频谱信息(spatio-spectral information)是与图像文件18中所描述的图像的相邻像素有关的信息,包括诸如相邻像素之间在例如像素的RGB值的色带方面的频谱关系以及与诸如图像中所描述的单个材质或影响图像的光照通量等的图像特性相关的像素频谱特性的空间范围。
在通过计算机系统10显示所存储的图像文件18时,人眼可见的是通过在例如数字照相机14所拍摄的场景中的实物的镜面反射和体反射属性与拍摄该照片时所存在的光照通量之间的相互作用而引起的像素颜色值。光照通量包括环境光源和入射光源。入射光源是引起阴影并且存在于阴影外周的光。环境光源是在阴影的亮侧和暗侧均存在的光,并且在暗区域内更容易感知到环境光源。根据本发明的特征,可以操作计算机系统10以通过识别由光照通量中的入射光源和环境光源之间的相互影响所引起的频谱移动来区分图像的例如物体边缘等的材质方面与光照通量。
当在图像中已知材质和光照之一时,可以容易地推导出另一个。入射光源和环境光源的频谱可以彼此不同。因而,频谱移动是由阴影即入射光源的强度的降低引起的。根据本发明的特征,在空间-频谱信息中捕捉到频谱移动现象。空间-频谱信息包括频谱比:该比基于图像中所描述的场景的两个区域之间的颜色或强度的差异,该差异可能是由不同的材质(物体边缘)和/或光照改变(光照边界)引起的。在本发明的优选实施例中,将频谱比定义为等于Dark/Bright-Dark(暗/亮-暗),其中Dark(暗)是光照边界处在图像的阴影区域中的点的色带值(例如RGB颜色值),并且Bright(亮)是同一个光照边界处在光照侧的点的色带值。
由于光照边界由入射光源和环境光源之间的相互作用引起,因此,无论边界亮侧的颜色或边界处的实物特性如何,整个图像的与光照变化相关联的所有频谱比应当一致性近似相等。可以将与光照边界相对应的频谱比指定为针对图像的特征光照比。
根据本发明的其它特征,生成空间-频谱算子以方便进行用于分离图像文件18中所描述的场景的光照和材质方面的处理。空间-频谱算子包括图像的包含可用于处理图像的材质方面和光照方面的空间-频谱信息的表示或特征。对于至求解器的输入,对空间-频谱算子施加用于定义算子之间的约束空间-频谱关系的约束。求解器包括数学处理机,该数学处理机根据空间-频谱算子之间的约束关系进行运算,以获得生成例如从图像文件18中所存储的原始图像得到的材质图像和/或光照图像等的本征图像的最优解。
空间-频谱算子包括例如表征(token)、表征映射信息、对数色度表示值、X交界(X junction)、BIDR模型表示、边界表示以及基于纹理基元(texton)直方图的像素表示。
根据本发明的特征,表征是图像的连通区域,其中,该区域的像素以与诸如材质和光照的识别等的图像特征和特性的识别相关联的方式彼此相关。对表征的利用认可如下事实,即图像的材质/光照/几何特性的特殊集合扩展到单个像素以外,因此,尽管可以在像素层级进行这里所述的图像处理,但表征促成了更有效地处理图像属性。表征的像素可以在统称为纹理的例如像素之间的颜色值的紧密相关等的同质因子(homogeneousfactor)或者例如在诸如RGB空间等的颜色空间中几何相关的不同颜色值等的非同质因子(nonhomogeneous factor)方面相关联。本发明的示例性实施例提供方法和系统以识别用于改进图像文件处理的各种类型的同质或非同质表征。本发明利用与图像文件18中所描述的图像的相邻像素有关的空间-频谱信息来识别表征区域。
根据本发明的一个示例性实施例,将各同质表征分类为A型表征、B型表征或C型表征。A型表征是包括表示图像中包含场景中的单个材质的最大可能区域的相邻像素的连通图像区域。B型表征是包括表示图像中包含场景中的单个材质的区域的相邻像素的连通图像区域,且该连通图像区域未必是与该材质相对应的最大区域。C型表征包括在该表征的相邻像素中具有类似图像属性(例如具有类似的颜色和强度)的连通图像区域,其中,相对于用来记录图像的摄像系统的噪声模型来定义类似度。
线性表征是包括图像的如下连通区域的非同质表征,其中,该连通区域的相邻像素具有沿正斜率从暗端(阴影中)至亮端(照亮端)落入RGB空间的圆柱体内的不同颜色测量值。根据本发明的特征,当颜色变化是由在图像中所描述的场景的单个材质上形成阴影(也即,由于光照场中入射或直接光源与环境光源之间的相互影响,入射光源的强度下降)的光照变化所导致时,通过两光源双色反射模型(BIDR模型,bi-illuminant dichromaticreflection model)来预测圆柱体结构。
为了说明、识别和使用线性表征,BIDR模型可以表示为如下:其中:I(x,y,z,θ,λ)是波长λ在方向θ、的(x,y,z)处的表面点的辐射,cb(λ)是波长λ的表面的几何无关体反射率,ld(λ)是波长λ的入射光源。γb是阴影因子Sx,y,z与几何因子mb(θi)的乘积,并且Ma(λ)是在不包括入射光源的情况下、环境光源与几何体反射率在半球上的积分。关于BIDR模型的更多详细信息,请参考于2006年1月27日申请并于2007年8月2日公布的题为“Bi-illuminantDichromatic Reflection Model For Image Manipulation”的美国专利申请,该申请的申请号为11/341,751且公开号为US2007/0176940。
表征映射信息指示图像内的表征彼此之间的位置。利用映射信息来识别用以分析与表征之间的约束空间-频谱关系有关的表征相邻关系的相邻表征,并输入至求解器。
对数色度表示值提供图像的像素的光照不变值。将图像像素的色带值的对数值标绘在对数-颜色空间图上。然后,根据BIDR模型将该对数值投影到对数-色度投影平面。针对各像素将色度平面值替换为色带值(例如,RGB值)。关于对数色度表示值的更多详细信息,请参考于2006年4月13日申请并于2007年10月18日公布的题为“Method And System For SeparationIllumination And Reflectance Using a Log Color Space”的美国专利申请,该申请的申请号为11/403,719且公开号为US2007/0242878。
X交界是图像的材质边缘与光照边界彼此交叉的区域。X交界是用于精确分析图像的材质和光照方面的最优位置。
边界表示是由例如相邻的B型表征形成的边界的每一侧的像素的布置。该布置用于方便对边界进行分析,以将边界分类为平滑面上的材质边界(而不是光照边缘、深度边界或者光照和材质同时变化等的其它类型的边界)。像素表示用于提供在形成边界的各个B型表征内的像素的样本。对样本的像素进行空间-频谱分析,并且对结果进行比较以确定各边界与材质变化相对应的可能性。
纹理基元(texton)是对图像的包括纹理(texture)的区域的同质表示(homogeneous)。可以将图像纹理定义为像素强度中的空间变化的函数。图像纹理图案经常是图像表面的物理或反射属性的结果。一般来说,图像纹理与空间同质性相关联,并且通常包括经常具有某种随机变化(例如,随机的位置、方向或颜色)的重复的结构。图像纹理还常以诸如规则性、粗糙度、对比度和方向性等的特定视觉属性为特征。图像纹理的例子是斑马皮肤表面的图像,因为该图像看来是空间同质的并且似乎包括颜色强度形成特定的重复图案的变化。一些图像纹理可以由诸如条状或点状的几何特性来定义。基于纹理基元的算子将由有纹理的材质所引起的不同反射率的图案变换为获取到图像中纹理区域的频谱和空间特性的同质表示。
约束包括例如锚约束(anchor constraint)、相同光照约束(same illumination constraint)、平滑光照约束(smoothillumination constraint)、B型表征约束、线性表征约束、BIDR加强约束(BIDR enforcement constraint)、相同纹理基元直方图约束、对数色度类似度约束、X交界约束以及边界表示约束。将各约束配置为约束生成器软件模块,所述约束生成器软件模块定义各约束所利用的空间-频谱算子并且提供关于施加至构成算子(constituent operator)的约束关系的表达。
锚约束利用图像中的多个最亮/最大C型表征。其约束关系是将所选择的最亮/最大C型表征的材质约束为在图像中所观察到的颜色/亮度的绝对值。该约束将图像的材质映射锚定在绝对亮度,以避免相对亮度约束。
相同光照约束利用图像中所识别出的C型表征和B型表征以及表征映射信息。其约束关系是相邻的C型表征如表征映射信息所示地处于相同光照,除非相邻的C型表征是同一个B型表征的一部分。与术语“光照”一起的术语“相同”用于表示相对于用于记录图像的摄像系统的噪声模型的平均值。这使得在不是同一个B型表征的一部分的相邻C型表征之间所观察到的任何外观差异被约束为材质变化,如下面将说明的。
平滑光照约束类似于相同光照约束。然而,与相同光照约束中将相邻的C型表征的所有像素约束为处于相同的光照不同,在平滑光照约束中,约束基于相邻的C型表征之间的共同边界附近的像素的平均光照。这使得整个表征的光照场被约束为在某种程度上是平滑的,而不是分段恒定(如上文所定义的,相同)。
B型表征约束也利用C型表征和B型表征。然而,其约束关系是将作为同一个B型表征的一部分的所有C型表征约束为具有相同的材质。这个约束加强了B型表征的定义、即包括表示图像的包含场景中单个材质的区域的相邻像素的连通图像区域,且该连通图像区域未必是与该材质相对应的最大区域。因而,根据B型表征的定义,位于同一个B型表征内的所有C型表征具有相同的材质,而未必具有相同的光照。因此,C型表征被约束为与所观察到的由光照变化引起的外观差异相对应。
因而,B型表征约束是对相同光照约束和平滑光照约束的补充,如上所述,相同光照约束和平滑光照约束将观察到的差异约束为与材质变化相对应,而不是与光照变化相对应。这是由于如下的事实,即在相同光照约束和平滑光照约束中,均将相邻的并且不是同一个B型表征的一部分的C型表征约束为处于相同光照。这些C型表征应当包括不同的材质,这是因为:根据该约束,这些C型表征不在同一个B型表征内,并且根据由该约束加强了的B型表征的定义,这些C型表征不包括单个材质,所以光照应当是常数,并且认为任何所观察到的差异均是由于材质变化而引起。
作为总结,根据本发明的特征,定义C型和B型表征空间-频谱算子以提供图像的允许分离光照和材质的特征。如图像文件18中所记录和存储的,各C型表征包括具有例如类似的颜色等的类似图像属性的连通图像区域。因而,相邻的C型表征指示图像中某种形式的变化,否则这些C型表征将形成同一个C型表征。B型表征包括单个材质。对相同/平滑光照约束的补充约束以及B型表征约束加强了指示材质变化或光照变化的表征之间的关系。
如果相邻的C型表征在同一个B型表征内,如在B型表征约束中那样,由于共同的B型表征具有相同的材质属性,这些C型表征之间的差异应当对应于光照变化。如果相邻的C型表征不在同一个B型表征内,如在相同/平滑光照约束中那样,由于这些C型表征不受共同的、单个材质的B型表征所限定,这些C型表征之间的差异应当对应于材质变化。
线性表征约束利用C型表征和线性表征。其约束关系是由线性表征隔开的两个C型表征之间的差约等于图像的特征光照频谱比(characteristic illuminant spectral ratio)。如所定义的,线性表征跟随沿正斜率通过颜色空间的圆柱体结构。BIDR模型预测该正斜率等于图像的特征光照频谱比。因而,在分别位于线性表征的暗端处和亮端处的两个C型表征之间的颜色差异应当反映图像的各特征光照频谱比的值。
BIDR加强约束利用C型表征和针对对数-色度投影平面的BIDR模型定义的法向量。其约束关系是图像的局部片中的所有C型表征的光照在对数-颜色空间中形成平行线组,且平行线的方向受BIDR模型定义的法向量所限定。因此,该约束加强了图像中所存在的光照场,以明确地拟合关于光照的BIDR模型预测。
因而,线性表征约束和BIDR加强约束均利用BIDR模型预测作为基础来分离图像的光照和材质方面。当颜色改变是由于在图像中所描述的场景的单个材质上形成阴影(即,由于光照场中的入射或直接光源与环境光源之间的相互影响,入射光源的强度下降)的光照变化而引起时,BIDR模型预测出图像中的颜色改变。通过根据在光照场的入射光源和环境光源成分之间所发生的频谱变化之间的相互影响进行运算,BIDR模型的颜色改变预测将C型表征之间的所有色带变化精确地约束为图像中发生的光照场效应。因而,基于BIDR模型的约束将所有色带变化耦合为一个积分约束关系。
相同纹理基元直方图约束利用C型表征和针对图像中的纹理区域所识别出的纹理基元直方图算子。其利用如下的纹理基元分析,即将图像的各像素(或者图像的被识别为包括纹理的那些区域的像素)从各图像文件18所记录的例如RGB色带值等的色带表示转换为两带表示,其中两个带包括纹理基元标签和纹理基元直方图标签。然后,如下文将说明的,使用该两带表示来识别纹理表征。可以施加如下的约束,即同一个纹理表征内的所有C型表征具有相同的平均材质。
对数色度类似度约束利用C型表征和对数色度表示值。其约束关系是将具有类似的对数色度表示值的像素的那些C型表征约束为具有相同的颜色值,并认为所观察到的差异是由光照场的变化引起的。
X交界约束利用C型表征和X交界算子。如上所述,X交界是图像中材质边缘和光照边界彼此交叉的区域。通常利用形成材质边缘的四个C型表征、即两个相同材质C型表征对来识别X交界,其中,各相同材质对包括将各相同材质划分为成对的照亮的和阴影的C型表征的光照边界。其约束关系是:1)对形成X交界(即之间具有光照边界)的各相同材质的C型表征对施加B型表征约束,以及2)对形成X交界的材质边缘的各C型表征对施加相同光照约束。关于X交界及构成表征的关系的更详细说明,请参考在2006年1月27日申请并在2006年8月10日公开的题为“Method And System For Identifying Illumination Flux In AnImage”的美国专利申请,该申请的申请号为11/341,742且其公开号为US2006/0177149。
通过标准比约束来定义边界表示约束。对指示材质变化的边界表示进行分析,使得即使在由该边界所定义的两个相邻的区域(例如相邻的B型表征)上光照改变了,也可以估计这两个区域之间的颜色比。该约束规定两个相邻区域的颜色的比是X。在B型表征层级执行边界表示分析以界定由材质变化所引起的边界,并然后将分析向下传播至构成C型表征的层级。该约束规定沿边界的所有C型表征的相邻对(在边界的两侧各有一个C型表征,以及在形成各边界的B型表征内的所有C型表征)具有满足比X的颜色,如边界表示分析所指示的。
根据本发明的优选实施例,可以将上述约束中的各个约束归入三种基本的约束类型即绝对材质颜色约束、相同材质约束和相对反射率约束之一。例如在锚约束中所实现的那样,绝对材质约束将在图像的特定位置处的材质约束为特定颜色。相同材质约束将与图像有关的算子(例如,两个像素或C型表征)约束为具有相同的材质。相同材质型的约束可以在例如B型表征约束、X交界约束、对数色度类似度约束、相同纹理基元直方图约束以及线性表征约束中实现。相对反射率约束将与图像有关的算子(例如,两个像素或C型表征)约束为具有诸如由平滑光照约束和相同光照约束所限定的反射率特性的类似度,并且可以由X交界约束和边界表示约束来指定。
根据本发明的特征的示例性求解器包括用于执行例如对被表示为方程[A][x]=[b]的结果进行优化的优化函数的数学处理机,其中,[A]是根据如所选择的约束所指示的算子和所述算子的约束关系的定义而需满足(并因此可视为已求出)的值的矩阵,[x]是该方程正在为其寻找最优解的变量的矩阵,例如为诸如像素或表征等的图像成分的光照或材质成分之一,并且[b]是在选择进行处理的图像中所观察到的值的矩阵,例如图像文件18的各像素的RGB色带的记录值。可以利用从一组已知的优化求解器组中选择出的数学优化函数来实现该优化方程,例如,诸如最小均方求解器等的已知凸优化运算(convex optimizationoperation),或者预处理共轭梯度求解器(preconditionedconjugate gradient solver)。
根据本发明的又一特征,如下文将说明的,除了约束关系,还根据真实世界光照和材质现象在求解器运算中引入了包括限界的因子,以将材质/光照值保持在物理可接受范围内,诸如限制1和限制无穷大求解器(L1,L∞)、有界最小均方求解器或有界L1、L∞求解器等。
图3示出根据本发明的特征的、在例如图1的计算机系统中所实现的图像分离系统结构的功能框图。作为替代,可以在被配置为实现图3的各块的功能的专用硬件电路中实现图3的功能块。将(如图像文件18中所描述的)图像32输入至预处理块33。预处理块33可以进行诸如校正图像32的色像差、组合多个图像以提供高动态范围图像、对图像的像素数据进行线性化等的功能,以得到优化的图像用于处理。然后,将预处理后的图像输入至C型表征化块35,C型表征化块35进行操作以按下文将说明的方式识别预处理后的图像中的C型表征。C型表征为在本发明的示例性实施例中所利用的许多约束所共用,因而,首先识别输入图像32的C型表征有助于进一步的处理。
在本发明的示例性实施例中,CPU 12执行代码以实现预处理块33和C型表征化块35以及(配置在存储器16中的)用作中央代理程序和缓存结构的服务提供器24,以管理图像从而进行根据本发明的教示的处理。服务提供器24从C型表征化块35接收预处理后的图像和相关的C型表征信息并进行存储,并且服务提供器24与将要说明的(由CPU 12执行的)被配置为针对图像生成所选择的约束所需的任何其它算子的算子块28耦接。服务提供器24还与全局特征提取输入29耦接。全局特征提取输入29可用于向系统提供与正在处理的图像相关的信息,诸如指示摄像时的光源(阳光、荧光灯、白炽灯)、一天中的时间、位置、领域知识等,诸如室内、户外、建筑物、绿草坪、有茂盛叶子的树等的与图像的本质有关的信息,以及与图像处理有关的任何其它参数。服务提供器24将全局特征提取输入29与相关的输入图像32一同存储。
约束构建器26与服务提供器24耦接。约束构建器26使用(配置在存储器16中的)存储有针对上述各种约束的约束生成器软件模块的约束生成器库。服务提供器24和约束构建器26进行操作,以根据所选择的约束生成器软件模块在例如[A][x]=[b]的矩阵方程中配置与预处理后的图像有关的空间0频谱算子。
(由CPU 12执行的)求解器30与约束构建器26耦接,并且如上所述进行最优化运算以得到[A][x]=[b]的最优解,用于从预处理后的图像生成本征图像。求解器30还与(由CPU 12执行的)用于进行特定的后处理操作的后处理块36耦接。后处理操作可以包括例如单调性保持。在单调性保持中,如果输入图像32中的两个大区域呈现线性转变,则该转变在输出的本征图像34中应保持为线性转变。后处理还可以包括用于填补求解器30留下的洞的光照传播、基于光照映射的白平衡以及其它滤波、平滑处理。后处理块36输出本征图像34。
现在参考图4,示出了用于与本发明的图像分离系统结构特征的示例性实现一起使用的图形用户接口(GUI)。通过服务提供器24将图4的GUI显示在计算机系统10的监视器20上,以让用户选择期望的图像分离运算。GUI的左上角给出了打开图像、裁剪图像、显示参数和分离的选择指示符。用户可以移动光标并且在期望的选择标识符上点击光标。打开图像指示符列出当前存储在存储器16中的所有图像文件18,并且使用户能够选择要处理的图像。所选择的图像是(经由预处理块和C型表征化块35)输入至服务提供器24的输入32(见图3),服务提供器24进行操作以在监视器20的中上部显示所选择的图像。
通过示例性的分离系统从所选择的图像中得到的材质图像是通过求解器30执行图像分离处理之后的输出34(见图3),并且将该材质图像显示在监视器20的左下部(图4)。将所得到的光照图像显示在监视器20的右下部。
根据本发明的特征,裁剪图像选择符允许用户裁剪所选择的图像以处理整个图像的一部分。显示参数选择符显示与所选择的图像文件18有关的参数。各图像文件18的参数可以存储在与相应的图像文件18相关联的参数数据文件中,并且包括与处理相应的图像文件18中所描述的图像相关的例如全局特征提取输入29的任何参数。参数可以包括与图像处理有关的任何数据,例如,在诸如空间-频谱算子的生成中用于由CPU 12进行的像素分析的任何变量以及诸如室内、户外、建筑物、绿草坪、有茂盛叶子的树等与图像的本质有关的信息的领域知识。
在选择指示符下方是可以用作求解器30的各优化函数的列表以及包含在约束构建器26的约束生成器库中的各约束生成器的另一个列表。用户选择期望的数学运算以及要施加于所选择的图像上的一个或多个约束。在选择了要处理的图像、要施加的约束和要执行的数学运算之后,用户可以点击分离指示符以开始图像分离处理。
在图像分离处理开始时,服务提供器24搜索所选择的约束的约束生成器软件模块,以识别所选择的约束所利用的空间-频谱算子。针对正在被分离的图像,由算子块28生成服务提供器24还未存储的任何空间-频谱算子,并且由服务提供器24缓存该结果。在针对所选择的图像的任何后续操作中,可以通过同一组相关联的参数来再利用所缓存的结果。
例如,如果所选择的约束是相同光照约束,则服务提供器24识别所选择的图像的C型表征、B型表征和表征映射。通过C型表征化块35生成C型表征。服务提供器24操作算子块28以生成由相同光照约束所指定的其余算子。
现在参考图5A,示出根据本发明的特征的、用于在图2A的图像文件中生成C型表征区域的流程图。利用图5A的步骤,可以通过C型表征化块35在图像中容易地识别出C型表征。如将要说明的,算子块28可以分析并处理C型表征,以构造由所选择的约束所指定的B型表征。
在执行图5A的例程之前,可以运行CPU 12以对对象图像文件18中所描述的图像进行滤波。滤波器可以包括图像纹理滤波器以例如将由纹理材质所引起的不同反射率的图案变换为采集到图像中纹理区域的频谱和空间特性的同质表示。在图像纹理中可能难以识别B型表征。纹理图像包括具有例如不止一个显示为限定特性的反射率函数的材质。例如,该限定特征可以是纹理内的颜色的图案,以使得该纹理显示从图像的纹理区域内的任意位置所选择的任意片或区域中的特定颜色分布。
在多数情况下,可能仅需要对输入图像的一部分进行纹理滤波,因为图像的大部分可能包括同质着色的物体。因此,在应用纹理滤波之前,识别出并屏蔽同质颜色的区域是有用的。然后,仅对看上去是纹理材质的区域应用纹理滤波。用于识别纹理区域的示例算法如下:
1)对N带颜色值(例如,RGB)执行C型表征化,将表征结果存储在区域映射R中,其中,该区域映射中的各像素具有该像素所属的表征的表征ID(见图5A的说明)。
2)对区域映射R执行中值滤波(例如,利用P_ij周围的7×7框的中值表征ID来替换各像素P_ij)。将结果存储在R中值中。
3)对原始图像执行针对各色带计算各像素周围的框(例如7×7)中的像素的标准差的滤波。将结果放入S中。
4)针对S中的各像素,将针对各色带计算出的标准偏差除以所估计出的噪声模型值。示例性的噪声模型是Sn=A*maxValue+B*pixelValue,其中,maxValue是最大可能色带值,pixelValue是特定色带的强度,并且A和B是通过试验所确定的摄像系统的常数(例如,一般A=0.001并且B=0.06)。该步骤针对各色带将标准偏差(standard deviation)转换为标准化方差(normalized deviation)。将结果存储在Sn中。
5)针对Sn中的各像素,对所有N个色带的标准化方差的平方进行求和、求出结果的平方根并且除以色带的数量N,以创建方差值D_ij。将得到的方差值D_ij与阈值(例如1.0)比较,在方差值高于该阈值的情况下,向像素分配1,否则向像素分配0。将结果存储在纹理掩模图像T中。
6)针对T中的各像素,如果纹理掩模值T_ij=1并且具有在中值区域映射R-median_ij中给出的id的表征区域的种子大小小于阈值(例如<4),则将该像素标记为纹理像素。否则,将该像素标记为同质像素。将结果存储在纹理掩模Tmask中。
上述算法的输出是作为原始图像文件18(n,m)的大小的阵列的掩模Tmask。应当将阵列中相应的Tmask位置具有1值的像素(p(n,m))视为图像区域中与纹理材质相对应的部分,并且应当将相应的Tmask阵列位置具有0值的像素视为图像区域中与同质颜色的材质相对应的部分。
CPU 12可以执行实现例如Laws滤波器库或者小波等的任何已知的纹理处理方法的软件模块(例如,见Randen,T.[Trygve],J.H.[John],Filtering for Texture Classification:AComparative Study,PAMI(21),No.4,April 1999,pp.291-310)。还可以见:Are Filter Banks Necessary?Proceedings of the IEEEConference on Computer Vision and Pattern Recognition,June2003,volume 2,page 691-698。
在本发明的一个示例性实施例中,使用针对图像的各像素(或者优选地,针对被识别为包括纹理的区域中的图像的像素)的强度直方图表示来生成C型表征。然后,将使用强度直方图所生成的C型表征用于生成B型表征。可以利用如下算法来产生对纹理滤波输出图像中的各像素的强度直方图表示:
A)在Tmask阵列(n,m)中的所有存储器地址/索引之间循环;
B)在Tmask阵列的各存储器地址/索引处判断各位置处的值是1还是0;
C)如果Tmask的存储器地址/索引具有指示纹理的值1:
a.打开相应的图像文件18p(n,m)中相应的存储器地址/索引,并且访问该存储器地址/索引;
b.打开存储器地址/索引以写入数据;
c.将N个8区间(bin)直方图初始化为0,其中,针对每个色带设置一个8区间直方图;
d.对于p附近(例如11×11像素阵列)的各像素q:针对q的N个颜色值中的每个颜色值Cn(例如,将各颜色值设置在0-255之间的RGB);
(i)如果N颜色值在0和31之间,则递增颜色N的8区间直方图中的第一区间;
(ii)如果N颜色值在32和64之间,则递增颜色N的8区间直方图中的第二区间;
(iii)如果N颜色值在65和97之间,则递增颜色N的8区间直方图中的第三区间;
(iv)如果N颜色值在98和130之间,则递增颜色N的8区间直方图中的第四区间;
(v)如果N颜色值在131和163之间,则递增颜色N的8区间直方图中的第五区间;
(vi)如果N颜色值在164和196之间,则递增颜色N的8区间直方图中的第六区间;
(vii)如果N颜色值在197和229之间,则递增颜色N的8区间直方图中的第七区间;
(viii)如果N颜色值在230和255之间,则递增颜色N的8区间直方图中的第八区间;
e.将N个8区间直方图值串接在一起形成包括8×N向量元的单个强度直方图;
f.将8×N向量元分配给图像文件阵列p(n,m)中相应的像素p;
g.如果当前的或下一个存储器地址/索引不是最后一个存储器地址/索引即Tmask(n,m),则移动至Tmask(n,m)阵列中的下一个存储器地址/索引,并且执行步骤B;
h.如果当前的存储器地址/索引是最后一个存储器地址/索引即等于Tmask(n,m),则停止通过Tmask(n,m)的循环。
D)如果存储器地址/索引具有0值:
i.如果当前的存储器地址/索引不是Tmask(n,m)阵列中的最后一个元素,则移动至Tmask(n,m)阵列中的下一个存储器地址/索引,并且执行步骤B;
ii.如果当前的存储器地址/索引是Tmask(n,m)阵列中的最后一个元素,则停止通过Tmask(n,m)的循环。
在将图像的纹理区域中的各像素从例如RGB的色带组变换为包括一组例如8×N串接的滤波输出的强度直方图向量之后,对于通过使用8×N强度直方图向量元代替RGB色带值来识别C型表征,可以将该图像完全作为原始色带图像来处理。
图2B示出在图像文件18的左上角的11×11像素阵列。根据上述的示例性算法,使用图2B的11×11像素阵列来产生针对阵列的中心Z处的像素p(6,6)的强度直方图表示。在本发明的示例中,假定11×11阵列是在图像文件18所描述的图像内的棋盘状图案。如图所示,棋盘状图案包括红色、绿色和蓝色块交替的图案。因而,在CPU 12所生成的相应的Tmask中,本示例中的像素p(6,6)将具有值1。
根据示例性算法,由CPU 12初始化三个8区间直方图(见图2C),其中,对象像素p(6,6)的红、绿和蓝的颜色值各有一个直方图。然后使用11×11像素阵列来确定三个直方图的区间内的值。在本发明的例子中,11×11阵列的左上部是棋盘状图案的红色块,且该部分内的各像素(p(1,1)~p(5,5))具有RGB值(123,0,0)。右上部是绿色,因而该部分内的像素(p(1,7)~p(5,11))均具有RGB值(0,123,0)。左下部是蓝色块,其中像素p(7,1)~p(11,5)均具有RGB值(0,0,123)。最后,按红、绿和蓝重复的棋盘状图案,本例子的右下部又是红色部,其中像素p(7,7)~p(11,11)均具有RGB值(123,0,0)。
如图2B所示,红色象限(p(1,1)~p(5,5))、绿色象限(p(1,7)~p(5,11))、蓝色象限(p(7,1)~p(11,5))和红色象限(p(7,7)~p(11,11))之间的一个(1)像素宽的交叉形边界线,或者说在p(6,1)~p(6,m)之间以及在p(n,6)~p(11,6)之间的任意像素,可以具有RGB值(123,123,123)。在中心Z处的像素p(6,6)也可以具有RGB值(123,123,123)。
然后,通过使用下文将示例性说明的步骤,将中心处具有像素Z的11×11像素块301用于经由像素Z的RGB色带值的直方图表示来确定像素Z的值。如图2B所示,p(1,1)具有指示红色存在并且绿色和蓝色不存在的RGB颜色值(123,0,0)。由于p(1,1)的红色值是123,因此如图2C所示,在红色8区间直方图中与该数值相对应的区间将递增,即红色8区间直方图中的第四区间将递增。该处理将自动重复,直到到达像素块301中的p(n,m)为止。这时,三个8区间直方图可能如图2C所示填充有不同值。然后,可以将这些值串接在一起形成单个的8×3向量元,并且将这些向量元分配给图2B的图像文件18所描述的11×11像素阵列中的像素Z。
结果,根据上述的示例性算法和图2B所描述的图像18内示出的11×11像素块301的棋盘状图案,三个8区间直方图将被填充为如下:
在红色8区间直方图中,第四区间将具有值71(在两个红色象限的25个像素中红色值在98和130之间的重复量,加上在p(6,1)~p(6,m)之间的11个像素中红色值在98和130之间的重复量,加上在p(n,6)~p(11,6)之间的10个像素中红色值在98和130之间的重复量,得到25+25+11+10=71)。根据类似的计算,第一区间将具有值50以指示红色值为0的所有像素。红色8区间直方图中的所有其它区间将具有0值。因而,红色8区间直方图将是[50,0,0,71,0,0,0,0]。
在绿色8区间直方图中,第四区间将具有值46(在绿色象限的25个像素中绿色值在98和130之间的重复量,加上在p(6,1)~p(6,m)之间的11个像素中绿色值在98和130之间的重复量,加上在p(n,6)~p(11,6)之间的10个像素中绿色值在98和130之间的重复量,得到25+11+10=46)。(针对绿色值为0的)第一区间具有值75。绿色8区间直方图中的所有其它区间将具有0值。因而,绿色8区间直方图将是[75,0,0,46,0,0,0,0]。
在蓝色8区间直方图中,第四区间将具有值46(在蓝色象限的25个像素中蓝色值在98和130之间的重复量,加上在p(6,1)~p(6,m)之间的11个像素中蓝色值在98和130之间的重复量,加上在p(n,6)~p(11,6)之间的10个像素中蓝色值在98和130之间的重复量,得到25+11+10=46)。第一区间同样具有值75。蓝色8区间直方图中的所有其它区间将具有0值。因而,蓝色8区间直方图将是[75,0,0,46,0,0,0,0]。
作为上述算法的结果,将在本例子中为三个的各8区间直方图串接在一起形成单个8×3向量元。因而,该向量将是[50,0,0,71,0,0,0,0,75,0,0,46,0,0,0,0,75,0,0,46,0,0,0,0]。
然后,将上述的向量分配给11×11阵列的中心Z处的p(6,6),并且因此用表示为[50,0,0,71,0,0,0,0,75,0,0,46,0,0,0,0,75,0,0,46,0,0,0,0]的强度直方图代替原始为(123,123,123)的像素p(6,6)的RGB值。
一阶均匀同质C型表征包括图像的相邻像素中的单个稳健颜色测量。在开始图5A的识别例程时,(作为C型表征化块35来执行的)CPU 12在存储器中建立区域映射。在步骤100中,CPU 12清空区域映射并且分配初始设置为1的区域ID。将与像素数量相对应的例程的迭代设置为i=0,并且将用作判断表征的种子的N×N像素阵列的数量设置为初始值N=Nstart。Nstart可以是大于0的任意整数,例如,可以将Nstart设置为11个或15个像素。
在步骤102,开始种子测试。CPU 12选择第一个像素i=(1,1),例如(见图2A)在图像文件18的第一个N×N样本的左上角处的像素。然后,在判断块104中测试该像素,以判断所选择的像素是否为好种子的一部分。该测试可以包括将所选择的像素的颜色值与作为种子的、例如N×N阵列的预先选择的数量的邻近像素的颜色值进行比较。可以针对像素的多个色带值(在本发明的例子中为RGB)进行该颜色值比较,或者可以在如上所述对图像进行滤波以得到纹理区域的情况下、针对像素的滤波输出强度直方图表示进行该颜色值比较。如果对于种子中的像素,该比较没有得出(例如,在针对RGB值的记录装置的噪声水平内)近似相等的值,则针对下一个N×N种子样本,CPU 12使i值递增(步骤106),例如i=(1,2),并且然后进行测试以判断i=imax是否成立(判断块108)。
如果像素值是被选择为用于决定减小种子大小以获得改进结果的阈值的值imax,则将种子大小N例如从N=15减小至N=12(步骤110)。在本发明的示例性实施例中,imax可以设置在i=(n,m)。以此方式,在以减小的N值重复该例程之前,图5A的例程以N的第一个值分析整个图像。
在种子大小减小后,例程返回至步骤102,并且继续测试表征种子。在步骤110还检查Nstop值(例如N=2),以判断该分析是否完成。如果N的值为Nstop,则CPU 12已完成对图像像素阵列的调查,并且退出该例程。
如果i的值小于imax,并且N大于Nstop,则例程返回至步骤102,并且继续测试表征种子。
当找到好种子(具有近似相等的像素值的N×N阵列)时(块104),根据该种子生长表征。在步骤112,CPU 12将来自种子的像素推入队列。用区域映射中的当前区域ID来标记队列中的所有像素。然后,CPU 12询问该队列是否为空(判断块114)。如果该队列不为空,则例程进行至步骤116。
在步骤116,CPU 12使前面的像素弹出队列,并且进入步骤118。在步骤118,CPU 12用当前区域ID来标记对象像素周围的“好”邻居、即颜色值与对象像素的颜色值近似相等的邻居。将所有标记了的好邻居放入区域映射中,并且还将它们推入队列。然后,CPU 12返回至判断块114。重复步骤114、116、118的例程,直到队列为空为止。此时,已识别出当前区域中形成表征的所有像素,并且在区域映射中将它们标记为C型表征。在像素包括强度直方图表示的情况下,可以将该表征标记为CT型。
当队列为空时,CPU 12进入步骤120。在步骤120,CPU 12递增区域ID以供识别下一个表征使用。然后,CPU 12返回步骤106以针对新的当前表征区域重复该例程。
当在图5A的流程图的步骤110中达到N=Nstop、或者已完成与图像相符的区域映射时,该例程已完成表征构造任务。图5B是在识别表征时用作例子的原始图像。该图像示出蓝色和蓝色阴影的区域以及深青色和阴影深青色的区域。图5C示出针对图5B的图像,例如经由执行图5A(C型表征)的例程识别出的与区域映射相对应的表征区域。对该表征区域进行颜色编码以示出图5B的图像的表征构成,其包括图像的全蓝色和深青色区域与着色区域的阴影之间的半影区域。
在通过C型表征化块35完成图5A的例程时,服务提供器24存储针对所选择的图像的C型表征区域信息。在根据所识别出的C型表征生成B型表征的任何处理开始之前,算子块28测试所识别出的各C型表征,以确保各C型表征包括单个材质。尽管各C型表征包括图像中的、在该图像的相邻像素之间具有单个稳健颜色测量的区域,但表征可以跨材质边界生长。
一般地,在一个C型表征中,不同的材质经由颈区域而连接在一起,颈区域通常位于阴影边界上或者位于跨色调类似但强度不同的不同材质的、具有变化的光照的区域。可以通过检查相邻像素的特性来识别颈像素。当像素具有不在相应的表征内的位于相对侧的两个相邻像素以及在相应的表征内的位于相对侧的两个邻接像素时,将该像素定义为颈像素。
图6示出针对C型表征的颈测试的流程图。在步骤122,CPU12检查识别出的表征的各像素,以判断被检查的像素中是否存在形成颈的像素。图6的例程可以作为执行图5A的例程期间紧接在识别出特定表征之后的子例程来执行。将被识别为颈的所有像素标记为“不可生长”。在判断块124中,CPU 12判断是否标记了这些像素中的任意像素。
如果判断为否,则CPU 12退出图6的例程,并且返回至图5A的例程(步骤126)。
如果判断为是,则CPU 12进入步骤128,并且运行,从而按照图5A的例程,在不改变种子大小和区域ID的计数的情况下,根据在当前表征的未标记的像素中选择出的种子位置重新生长表征。在重新生长处理期间,CPU 12不包括先前被标记为不可生长的任何像素。在重新生长表征之后,取消对先前标记的像素的标记,以使得其它表征可以生长至这些像素。
在重新生长不具有先前标记的像素的表征之后,CPU 12返回至步骤122,以测试新的重新生成的表征。
颈测试识别跨材质边界的C型表征,并且重新生长识别出的表征,以提供适用于创建B型表征的单个材质C型表征。图5D示出根据本发明的特征的、根据图5C的C型表征生成的B型表征。本发明提供了用于根据C型表征构造B型表征的像素特性分析的几个示例性技术。一个示例性技术涉及任意边界去除。无论是利用像素的N色带值(在本例子中为RGB)还是在对图像进行滤波的情况下利用像素的滤波输出表示来生成C型表征,均可对这些C型表征应用任意边界去除技术。任何特定C型表征的实际边界将是用以生成表征的种子位置的函数,并因而这些边界在一定程度上是任意的。针对各特定表征通常存在许多个潜在的种子位置,其中,在记录设备的噪声范围内,由于各种子的像素的颜色值之间的差异,各潜在种子位置生成了边界和空间范围略微不同的表征。
图7是根据本发明的特征的、用于经由任意边界去除技术来构造B型表征的流程图。在步骤200,向CPU 12提供在经由图6的例程进行了颈去除的情况下经由图5A的例程以种子大小(S)所生成的C型表征的集合(Tc)。种子大小S=Smax,例如,S=4个像素。在步骤202,针对集合Tc中的各C型表征tc,CPU 12选择多个(例如50个)潜在种子S1~Sn。在本例子中,所选择的各种子将是表征区域内的4×4像素阵列,其中,该阵列的像素具有(在记录装置的噪声水平内)近似相等的值。
在步骤204,CPU 12利用图5A和6的例程,针对集合Tc中的各表征tc的各种子位置S1~Sn,生长新的C型表征。将针对各表征tc新生成的表征指定为表征rc1~rcn。针对各表征tc新生成的表征rc1~rcn通常与原始的C型表征tc重叠,并且彼此重叠。
在步骤206,CPU 12进行操作,以分别合并各表征tc的新生成的表征rc1~rcn。从而得到与集合Tc中的各原始表征tc相对应的新表征Rt。各新表征Rt包含根据相应的原始表征tc所生成的各重叠表征rc1~rcn的所有区域。包括各合并后的新表征Rt的区域的组合是与集合中的原始C型表征相比范围更大的表征。由此产生的合并后的新表征Rt得到图像文件18的区域,其中,与原始C型表征相比,各表征Rt的像素之间的变化范围大得多,但构成像素之间的变化的范围将相对平滑。根据本发明的特征,将Rt定义为B型表征的限定形式Bab1型,以表示通过任意边界去除技术的第一阶段(步骤200-206)所生成的表征。
在步骤208中,CPU 12存储在步骤202-206根据表征的集合Tc生成的各Bab1型表征,并且进入步骤210。通过执行步骤202-206所生成的Bab1型表征可能大幅重叠。在步骤210,CPU 12进行操作,以对在步骤208中存储的、以各Rt表征大小的特定比例彼此重叠的Rt表征进行合并。例如,通常30%重叠足以提供较少的、组合包含不同材质的区域的假阳性合并(如果存在)。合并后的新表征集合可能仍具有重叠表征,例如,先前具有小于30%重叠的重叠表征。在完成所有合并之后,CPU 12进入步骤212。
在步骤212,CPU 12识别存在于不止一个表征中(即,位于两个或更多个表征的重叠部分中)的所有像素。将识别出的各像素分配给占据图像的最大区域的表征。因而,修改所有的重叠表征以消除所有的重叠。
在步骤214,CPU 12(作为C型表征化块35或算子块28)存储现在被指定为Bab2型表征的、合并和修改后的表征的最终集合,并然后退出该例程。如上所述,无论是利用像素的N色带值(本例子中为RGB)还是在对图像进行滤波的情况下利用像素的滤波输出表示来生成C型表征,都根据这些C型表征来生成Bab2型表征。
根据本发明,利用C型表征来创建B型表征的第二示例性技术是相邻平面表征合并。当图像描述具有均匀颜色的区域时、即针对图像的无纹理区域,可以实现相邻平面表征合并。首先,使用表征图来识别彼此靠近的表征。图8示出根据本发明的特征的、用于创建包括表征映射信息的表征图的流程图。在如下方面评价通过执行图5A和6的例程所生成的C型表征的集合Tc中的各表征tc:在集合Tc中构成相邻的表征对tc、tn的表征之间的最大距离Dmax,以及要求在Dmax内的相邻表征对中的各表征的表征周边像素的最小数量Pmin和相邻表征对的各表征的周边像素的最小分数Fmin。
在步骤300,CPU 12在C型表征的集合Tc中选择C型表征tc,并且识别所选择的表征tc中形成表征的周边的像素。在判断块302中,CPU 12判断周边像素的数量是否小于Pmin,例如10个像素。
如果判断为是,则CPU 12进入判断块304,以判断在C型表征的集合Tc中是否存在任何剩余的表征tc。如果判断为是,则CPU 12返回步骤300,如果判断为否,则CPU 12退出例程306。
如果判断为否,则CPU 12进入步骤308。在步骤308,CPU 12生成用作掩模的边界框以围绕所选择的表征tc。将该边界框的大小设置为在所有方向上至少大于所选择的表征tc的Dmax。执行已知的距离变换(例如,如P.Felzenszwalb and D.Huttenlocher,Distance Transforms of Sampled Functions,Cornell Computingand Information Science Technical Report TR2004-1963,September 2004中所述),以找到从所选择的表征tc的各周边像素至围绕边界框中的所有像素的距离。该距离变换的输出包括各自具有与边界框相同的大小的距离映射和最近像素映射这两个映射。距离映射包括从边界框的各像素至所选择的表征tc的最近周边像素的欧几里德距离。最近像素映射针对距离映射中的各像素识别哪个周边像素最接近该像素。
在步骤310中,CPU 12扫描在步骤308中生成的距离映射,以(根据经由图5A的例程所生成的区域映射)识别与边界框的像素相对应的表征,并从由边界框中的像素所表示的所有表征中识别出在距离Dmax内的像素数量为Ncn的表征,其中,Ncn大于Pmin并且大于各表征的周边像素的Fmin*,并且各表征与tc之间的平均距离是与边界框中的像素相对应的表征中最低的。如果满足这些条件,则将各表征指定为可能的表征对tc、tn中的tn,并且将链接Lcn标记为有效。
在步骤312中,CPU 12进行检查以判断互逆链接Lcn是否也被标记为有效,并且当其被标记为激活时,CPU 12标记表征对tc、tn是相邻表征对的指示并将其存储在表征图中。互逆链接(reciprocal link)指的是当前评价中对指定为tn的表征的评价的链接状态。如果尚未评价该表征,则不将该表征对指定为相邻表征对,直到在对表征tn的后续评价中将链接Lcn验证为有效为止。然后,CPU 12返回判断块304,以判断集合Tc中是否存在任何其它的表征。
在完成表征图时,CPU 12利用在执行图9的例程时存储在图中的表征对信息。图9示出根据本发明的特征的、用于经由相邻平面表征合并技术构造B型表征的流程图。在相邻平面表征合并技术中,检查表征对,以判断该对表征之间在二维测量上是否存在颜色值的平滑和连贯的变化。根据本发明的示例性实施例,在像素的例如RGB成分的颜色的各通道的平面表示方面,检查颜色的变化。将平滑的变化定义为当平面集合(每个颜色成分一个平面)是对两个相邻表征的像素值的良好拟合时的条件。作为总结,当二维感觉的颜色变化近似平面时,将相邻表征视为具有相同的材质并且为B型表征。
在步骤320,CPU 12从表征图选择表征对tc,tn。在判断块322中,CPU 12判断表征tc中的平均颜色是否与表征tn中的平均颜色差异很大。该差异可能是已知的统计测量z分数的函数(例如,见Abdi,H.(2007),Z-scores,in N.J.Salkind(Ed.),Encyclopediaof Measurement and Statistics,Thousand Oaks,CA:Sage),例如,大于3.0的z分数。
如果表征对的平均颜色不同,则CPU 12进入判断块324,以判断表征图中是否存在任何额外的表征对。如果判断为是,则CPU 12返回步骤320。如果判断为否,则CPU 12退出该例程(步骤326)。
如果平均颜色在z分数参数内,则CPU 12进入步骤328。在步骤328,CPU 12进行例如最小中值平方回归(例如,见Peter J.Rousseeuw,Least Median of Squares Regression,Journal of theAmerican Statistical Association,Vol.79,No.388(Dec.,1984),pp.871-880)等的数学运算,以根据行n和列m(见图2)将平面拟合至表征对tc,tn的像素的各颜色通道(在本例子中,RGB),其中通过以下的等式来定义平面:
R=XRn+YRm+ZR G=XGn+YGm+ZG B=XBn+YBm+ZB
其中,通过CPU 12的最小中值平方回归运算来确定参数值X、Y和C。
在平面拟合运算完成时,CPU 12进入步骤330。在步骤330,CPU 12检查表征对tc,tn中的各表征的各像素,以计算表征的各像素与通过最小中值平方回归运算的等式所表示的平面拟合之间的z分数。当该对的各表征的像素的阈值百分比(例如80%)至少在最大z分数(例如0.75)内时,则在表征图中将相邻表征对标记为表示图像中的相同材质。完成步骤330之后,CPU 12返回判断块324。
在退出图9的例程时,CPU 12检查表示相同材质的所有表征对的表征图。CPU 12可以通过进行例如联合搜索算法等的已知技术来实现该检查(例如,见Zvi Galil and Giuseppe F.Italiano.Data structures and algorithms for disjoint set union problems,ACM Computing Surveys,Volume 23,Issue 3(September 1991),pages 319-344)。作为简单例子,假定七个C型表征T1、T2、T3、T4、T5、T6、T7的集合。假定执行图9(进行相邻平面分析)的结果表示:表征T1和T2被标记为相同材质,并且表征T1和T3也被标记为相同材质。此外,该结果还表示:表征T4和T5被标记为相同材质,并且表征T5和T6也被标记为相同材质。因此,执行联合搜索算法的结果将表示:表征{T1,T2,T3}形成图像内构成单个材质的第一组,表征{T4,T5,T6}形成图像内构成单个材质的第二组,并且表征{T7}形成图像内构成单个材质的第三组。这些组{T1,T2,T3}、{T4,T5,T6}和{T7}形成三个B型表征。
根据本发明的、利用C型表征来创建B型表征的第三示例性技术是局部表征分析。该局部表征分析方法通过对图像文件18中所描述的场景进行窗分析来生成C型表征。将这种表征指定为Cw型表征。图10是根据本发明的特征的、用于经由局部表征分析技术来生成Cw型表征的流程图。
在步骤400中,CPU 12将例如33×33像素阵列掩模的固定大小的窗放置在整个图像上预先选择出的一系列扫描位置上。该窗可以是正方形以外的形状。这些扫描位置彼此偏移例如1/2窗大小的固定量,并且整体被布置为完全覆盖图像。各扫描位置处的像素的窗区域生成Cw型表征,但是并非各扫描位置处的窗内的每个像素都位于在各扫描位置处生成的Cw型表征中。
在各扫描位置处(步骤402),CPU 12根据窗内的像素进行操作,以拟合一组平面中的各个平面以及RGB空间中的RGB线,其中,一个平面与一个颜色通道(例如RGB)的强度相对应,并且RGB线以窗内的颜色的起始点I0和结束点I1为特征。该平面拟合提供了对窗内的像素强度的空间表示,并且线拟合提供了对窗内的像素的频谱表示。
针对平面拟合,由以下等式来定义平面:
R=XRn+YRm+ZR G=XGn+YGm+ZG B=XBn+YBm+ZB
其中,通过CPU 12执行诸如上述最小中值平方回归等的数学运算、奇异值分解等的最小平方估计器或者诸如RANSAC等的稳健估计器来确定参数值X、Y和C(例如,见M.A.Fischler,R.C.Boller.Random Sample Consensus:A Paradigm for ModelFitting with Applications to Image Analysis and AutomatedCartography.Comm.of the ACM,Vol 24,pp381-395,1981)。
对于RGB线拟合,如下定义该线:
I(r,g,b)=I0(r,g,b)+t(I1(r,g,b)-I0(r,g,b))
其中,参数t具有在0和1之间的值,并且可以由CPU 12利用任意用于查找平面拟合的数学技术来确定该参数t。
在各扫描位置处,在完成步骤402之后,CPU 12在步骤404中进行操作,以针对与各窗扫描位置相对应的平面拟合表示和RGB线表示分别检查窗中的各像素。针对各像素,CPU 12确定该像素相对于所建立的平面的误差因子以及相对于RGB线的误差因子。所述误差因子与从该像素至该像素在平面拟合或RGB线拟合中的任一个上的投影的绝对距离相关。所述误差因子可以是记录设备中存在的噪声的函数,或者可以是窗内的最大RGB值的百分比,例如1%。将相对于空间平面拟合或频谱线拟合中的任一个的误差因子内的任意像素距离标记为在各扫描位置处生成的Cw型表征的内围层。CPU 12还为在各扫描位置处生成的Cw型表征记录所有内围层像素的列表。
在各扫描位置处,完成步骤404之后,CPU 12在步骤406中进行操作,以将从属关系值(membership value)分配给窗内的各内围层像素。从属关系值可以基于从内围层像素至平面拟合或RGB线拟合的距离。在本发明的一个示例性实施例中,从属关系值是用于判断像素的内围层状态的距离的倒数。在第二示例性实施例中,执行具有标准偏差的以0为中心的高斯分布,以计算内围层像素的从属关系值。
在处理了所有的扫描位置以按一个扫描位置一个Cw型表征生成Cw型表征之后,CPU 12进行操作,以汇编并存储表征数据列表(步骤408)。表征数据列表包括两个列表。第一列表列出图像文件18中的所有像素,并且对于各像素,列出标记为内围层像素的各Cw型表征的指示以及相应的从属关系值。第二列表列出所有生成的Cw型表征,并且针对各表征分别列出各表征的内围层像素的指示以及相应的从属关系值。在汇编并存储表征数据列表之后,CPU 12退出该例程(步骤410)。
图11是根据本发明的特征的、用于根据经由局部表征分析技术所生成的Cw型表征来构造B型表征的流程图。在步骤420,CPU 12计算通过执行图108的例程所生成的相邻或重叠的Cw型表征的空间平面维度和频谱RGB线的参数的类似度。可以将重叠或相邻Cw型表征定义为与重叠或相邻的扫描位置相对应的表征。可以将类似度阈值设置为在所比较的两个重叠或相邻Cw型表征的空间平面维度和频谱RGB线各自之间的差异的百分比。例如,该百分比可以是用于记录图像文件18的场景的照相机14的噪声的函数。将计算出的类似度在类似度阈值内的所有重叠或相邻Cw型表征对放置在列表中。
在步骤422,CPU 12按照从最类似对到最不类似对的顺序对计算出的类似度在类似度阈值内的重叠或相邻Cw型表征对的列表进行排序。在步骤424,CPU 12按排序的顺序合并类似表征对,并按类似度标记各对。将各合并得到的表征对看作为B型表征。在步骤426中,CPU 12存储B型表征的列表,并且退出该例程。
在根据本发明的另一示例性技术中,通过CPU 12执行例如二阶导数滤波响应等的滤波响应,以识别图像中具有均匀材质反射率的区域。然后,使用所识别出的区域来生成B型表征。可以通过进行像素值的卷积来实现滤波响应。卷积是对像素阵列应用滤波掩模以确定阵列中心处的像素的函数响应值的数学技术。滤波掩模表示例如高斯-拉普拉斯算子(LoG)等的数学函数。LoG滤波器是用于确定在图像的各像素位置处的数学函数输出值以及与各像素位置处的导数值有关的输出值的已知的滤波器,并且LoG滤波器被用来检测图像中的材质边缘。
图12A示出材质边缘、部分具有阴影的单个材质和在恒定光照下的单个材质各自的图像中的强度分布以及相应的一阶导数分布和二阶导数分布。导数是变化率的度量。在图像中,一阶导数测量从图像的像素到像素的色带强度的变化率、例如红色的变化率。二阶导数是对变化率的变化率的度量,即,对一阶导数的变化率的度量。图12A的A列示出图像内材质边缘处的强度分布以及一阶导数分布和二阶导数分布。如A列所示,颜色强度分布在材质边界处形成尖锐边缘分布,从而导致一阶导数值中存在尖峰以反映材质边界处的材质强度的尖锐变化率。结果,二阶导数值经过过零,首先随着在边界处的一阶导数达到峰时在正方向上出现峰,然后过零,并在一阶导数峰回到0时在负方向上出现峰。
在已知的LoG滤波技术中,如图12A的A列所反映的,将像素的一阶导数值高、一阶导数出现峰或二阶导数过零用作材质边缘的象征。与材质边缘的一阶导数出现峰和二阶导数过零不同,图12A的B列和C列分别示出针对部分具有阴影的单个材质和在恒定光照下的单个材质的强度分布以及相应的一阶导数分布和二阶导数分布。在B列中,图像的强度经过衰减的边缘,与落入表示单个材质的像素之间的阴影的半影相对应。因而,一阶导数随着半影的衰减性变化而缓慢上升和下降,并且二阶导数在一阶导数缓慢上升和下降整个期间保持相对低的值。如C列所示,单个材质的光照的恒定值导致像素之间的一阶导数值和二阶导数值均为恒定低值。
根据本发明的特征,以新颖方式利用例如LoG滤波等的二阶导数滤波,以识别图像中例如包括具有如图12A的B列和C列各自所示的、均匀的低二阶导数值的像素的片的区域。在示例性实施例中,各片具有预先选择的大小(例如,3×3像素阵列、5×5像素阵列或7×7像素阵列)。如上所述,在均匀光下具有均匀材质反射率的片将在该片的像素之间具有近似恒定的颜色值,导致在该片的各像素位置处的二阶导数的值低。另外,衰减半影中恒定的材质反射率也将导致片的像素之间的二阶导数的值低。
因而,确定二阶导数值低的像素片的位置,提供了如下的高可能性指示,即在该片内不存在材质边缘并且该片内的所有像素具有相同的材质反射率。本发明仔细考虑在像素片之间与均匀材质反射率的可能性有关的任何函数响应,例如图像的强度分布曲线的二阶导数值、三阶导数值或者其它度量等,其中,强度分布是图像在(x,y,强度)空间中的形状。
拉普拉斯滤波提供在图像的点处的二阶偏导数的和。因此,可以执行拉普拉斯滤波以确保函数输出与图像的像素的二阶导数值成比例。如下定义图像I的拉普拉斯算子:
上述函数是(沿图2的阵列的n行和m列的)x和y方向上的二阶偏导数的和,并且上述函数与所有方向上的平均二阶导数成比例。
由于图像中存在噪声和小幅度变化,通常对图像的模糊版本(blurred version)进行图像的一阶和二阶导数分析。图像的模糊版本平滑掉由噪声和图像变化引起的任何不规则,并且可以利用任意标准模糊函数来获得该模糊版本。例如,利用基于高斯函数的滤波掩模对图像作卷积。可以如下定义高斯函数:
因子σ是标准偏差,并且用于控制卷积后图像的模糊程度。σ的值小导致相对小的模糊程度,而σ的值大导致显著的模糊。
LoG函数将拉普拉斯函数和高斯函数组合为单个函数,该单个函数用于使图像模糊并且确定拉普拉斯算子值以提供与图像的像素的二阶导数值成比例的精确输出。代替LoG函数,可以使用高斯差分或者对模糊图像进行利用简单导数掩模的卷积。LoG函数方程如下:
图12B是LoG滤波掩模的示例。掩模包括(2k+1)×(2k+1)的相乘因子阵列,在本发明的例子中,针对7行、每行有7列的因子,k=3,因而,在图12B的滤波掩模中,相对于中心的长度是7σ,其中σ=1。图12B的滤波掩模被安排为经由图2A的图像文件的7×7像素片样本与图像的卷积一起使用。如将要说明的,相乘因子表示LoG函数并被应用至相应片的像素,并且将所有的结果相加以提供针对7×7阵列中心处的像素的函数响应值。
为此,图12C示出在图2A的图像文件的n×m像素阵列内包含7×7阵列的代表像素片的示意图。在图12B的例子中的7×7片形成图2A的n×m像素阵列的左上角,并且将用于计算与代表阵列的(粗体示出的)中心像素p(4,4)的二阶导数成比例的值。
滤波掩模的各相乘因子与7×7片的相应像素的函数响应相对应,并且用于计算对片的各像素的相乘结果。如本领域已知的(LoG滤波掩模),与上述的组合拉普拉斯和高斯函数相关联地确定应用至各像素的相乘因子。滤波掩模表示如下的累加方程:
输出p(n,m)=∑i=-k k∑j=-k k p(n+i,m+j)LoG(i,j)。
通过例如RGB的N个色带来表示各像素p(n,m),其中,RGB为针对像素p(n,m)的颜色值的红、绿和蓝成分。将滤波掩模的相乘因子分别应用至片的像素的各色带,获得各色带的单独的二阶导数值。在本例子中,将说明红色带(p(n,m RED))的计算。因而,p(1,1RED)与因子0.00031426相乘,而该行的下一像素p(1,2RED)与因子0.002632078相乘,并以此类推。将各行的像素1-7按列依次与LoG滤波掩模的相应行列处的相乘因子相乘。根据LoG函数,将所有的相乘结果相加在一起,以提供与中心像素p(4,4)的二阶导数值成比例的和。
针对n×m阵列的各像素p(n,m)以及各像素的各色带进行类似的滤波响应输出,以汇编对图像文件18的像素p(n,m)的二阶导数值的列表。在图像的例如像素在图像边界的3个像素以内的边界区域处,针对7×7片的扩展超出图像边界的点的像素值,可以基于如下的各种假定来估计各颜色值:
1.假定图像边界处的像素的值在边界外继续,从而将片中扩展超出图像边界的像素的值设置为与最靠近的边界像素的颜色强度相同的颜色强度;
2.假定图像在边界处反射,例如,片中超出图像边界的像素的值是图像内的相应像素的镜像图像;或者
3.假定图像外部的所有值是恒定值,诸如0或最大图像值等。
二阶导数值可以为正或为负。在本发明的示例性实施例中,对二阶导数使用绝对值。此外,将在本例子中为红、绿和蓝的各色带的值按每像素表示为单个数量。可以通过取从像素的色带之间输出的最大二阶导数滤波响应、取所有色带的滤波响应输出的平均或者在高光谱成像中从各色带取百分位值、例如来自色带之间的90%滤波输出值,以获得单个数值。
在滤波响应特征的一个实施例中,在图像的对数空间版本或伽玛变换中确定二阶导数值。当图像的区域非常暗并且还在深色阴影中时,一阶导数和二阶导数变得小,并且不能用作对具有均匀材质反射率的区域的精确指示。无论光照通量(或图像曝光)如何影响图像,使用颜色强度的对数值或伽玛变换维持颜色差异的质量。
图13示出根据本发明的滤波响应特征的、用于识别图2A的n×m像素阵列图像文件内具有均匀材质反射率的区域的流程图。在步骤500,将图像文件18(见图2A)输入CPU 12。在步骤510,CPU 12对图像文件18的各像素p(n,m)计算滤波响应。在本发明的本示例性实施例中,滤波响应是与图像文件18的各像素p(n,m)处的二阶导数成比例的值。如上文针对图12B和12C所说明的,可以通过CPU 12经由图像文件18的卷积、通过CPU 12利用LoG滤波掩模来计算这样的值。
为了执行滤波响应步骤,将适当的滤波参数输入CPU 12。在LoG滤波掩模的情况下,相关参数是确定模糊程度的σ因子。例如,σ因子的范围可以在0.5和3.0之间。
在步骤520,CPU 12进行操作,以定位像素阵列中滤波响应指示了片的像素之间均匀材质反射率的片。在二阶导数值的例子中,低滤波响应指示不存在材质边缘,因而如上所述提供了片包含具有均匀材质反射率的图像区域的高可能性程度。与步骤520有关的输入参数包括片大小和形状以及对低滤波响应的定义。例如,各片可以是正方形、矩形或圆形等。在本例子中,片可能包括3×3正方形片或者半径为9的圆形片。CPU 12检查整个图像文件18上的一系列的片,其中,各片以对象图像文件18的阵列的像素p(n,m)中不同的像素为中心,跨阵列的所有像素。
对于所检查的各片,CPU 12判断所检查的片的像素的滤波响应是否低于阈值。例如,该度量可以是相对于片的像素的平均滤波响应所测量的阈值或者是相对于片的像素之间的最大二阶导数值所测量的阈值。可以根据经验来确定阈值,其中,较低的值倾向于更显著的分离(将图像分离成过多的区域),并且较高的值可能导致错误(两个不同的区域被认为具有相同的材质反射率)。CPU 12列出对象图像文件18中如下的各被检查片,这些被检查片具有低于阈值的结果并因此指示相应的片内极有可能具有均匀的材质反射率。
在步骤530,CPU 12进行操作,以对在如上所述由指示极有可能具有均匀材质反射率的片所组成的列表上的所有充分重叠的片进行合并,从而组成作为B型表征的合并片的列表。与步骤530有关的参数是对“充分重叠”的定义。例如,CPU 12对所列出的具有5个共同像素或10个共同像素等的所有片进行合并。在各片极有可能具有均匀材质反射率并且这些片共用大量的共同像素的情况下,可以推断两个充分重叠的片具有共用的相同材质反射率。对所列出的重叠程度为共用所选择数量的像素的所有片进行合并,并且该合并对于相互重叠的片是累积性的,以提供图像中具有均匀反射率的最大范围的区域。该例程的输出(540)是将图像分离为具有均匀反射率的区域的B型表征的列表。由于各合并后的区域可能包括具有非零的一阶导数的像素,识别出的各B型表征可能包含显著的光照变化。
现在参考图14,示出了根据本发明的特征的、用于将执行图13的例程的结果与不同的参数相结合的流程图。如在对图13的描述中所说明的,各种变量参数输入到CPU 12。在本示例性实施例中,变量参数包括σ因子、片大小和形状、低滤波响应的定义以及充分重叠的定义。不同的参数组合产生不同的结果。一组参数可能很好地捕捉到图像中具有定义好的B型表征的一部分,但留下图像中作为许多个小的非连通片的其它部分,而另一组参数可能很好地捕捉到图像的不同部分。因而,通过改变参数组内的值并且多次执行图13的例程,其中每次利用一个独特的参数组,CPU 12可以获得多组分离结果,以提供与从任意一个特定参数组所能获得的结果相比显著改善了的更稳健的整体结果。
例如,小的片尺寸将更高效地定位材质边缘,而较大的片尺寸避免了边缘偶尔消失处的交叉间隙。随着片尺寸和σ因子增大等,还应当降低阈值。为此,在步骤550中,将图像文件18输入至CPU 12。在步骤560,CPU 12连续几次执行图11的例程,每次利用不同的输入参数组。
在步骤570,CPU 12进行操作,以对几次的对象图像文件18的分离运算结果进行合并。合并操作可以与图13的例程的合并步骤530类似,例如,对所识别出的重叠了所选择数量的像素的所有B型表征进行合并。或者,在对本发明的另一示例性实施例的如下说明中,CPU 12可以实现下文表示的重叠标准。
在步骤580,如上所述,CPU 12可以选择性合并执行图5A的例程期间由CPU 12识别出的C型表征。在检查二阶导数值低的像素片时,滤波响应技术本身容易避免材质边缘,因而,该技术提供了可能缺少边缘周围的图像区域的B型表征。为了“填补”经由二阶导数滤波响应技术所识别出的B型表征,CPU 12可以对所识别出的与先前识别出的C型表征重叠的B型表征进行合并。重叠标准仍如上所述。在步骤590,CPU 12输出B型表征的列表。
在本发明的一个示例性实施例中,(作为算子块28来执行的)CPU 12汇编经由任意边界去除、相邻平面表征合并、局部表征分析和滤波响应技术中的每个或者一个或多个的组合单独生成的B型表征的列表。确定所使用的技术的组合部分依赖于图像的特定区域是否因图像的纹理而要进行滤波。由于经由上述技术生成的各B型表征可能表示在变化的光照条件下的单个材质,因此,对通过使用变化的和不同的技术所生成的充分重叠的B型表征进行合并,使得所得到的合并的B型表征表示图像中包括单个材质的范围更大的区域并且接近A型表征的范围。
可将充分重叠定位为满足例如以下的特定像素特性标准:
A)两个B型表征至少具有n个共同的原始C型表征,例如n=1;
B)两个B型表征至少具有n个共同的像素,例如n=20;
C)两个B型表征至少具有n%的重叠,即两个B型表征中的第一B型表征中的像素的至少n%在这两个B型表征的第二B型表征中也能找到,反之亦然,其中,例如n%=10%;
D)在两个B型表征中较大的一个B型表征中找到这两个B型表征中较小的一个B型表征中的像素的百分比大于预先选择的阈值,例如15%;以及
E)预先选择的标准A-D的组合
可以经由诸如执行上述的联合搜索算法等的数学运算来实现对两个充分重叠的B型表征的合并。在两个重叠B型表征不满足上述标准的情况下,可以将两个表征的重叠像素分配给这两个B型表征中较大的一个B型表征。
作为(经由CPU 12)利用C型表征化块35和/或算子块28来执行根据本发明的特征的表征生成和合并技术的结果,可以将图像精确地分离为表示场景中所描述的离散材质的表征(B型表征)和表示具有稳健的类似颜色的区域的表征(C型表征),并由于表征表示捕获到大量的构成像素的空间-频谱信息,从而提供了有效计算的基础。服务提供器24将通过执行上述的表征生成技术所生成的所有C型表征和B型表征连同例如在执行相邻平面表征合并技术中所确定的相关表征映射信息一起存储,并且对相关联的所选择的图像文件18交叉引用所存储的算子结果,从而用于对所选择的图像的任意分离处理。
在相同光照约束的本例子中,服务提供器24识别作为所选择的约束所需的算子的C型和B型表征。C型表征化块35生成C型表征。服务提供器24操作算子块28以执行上述的技术,从而生成图像32的相关B型表征以及表征映射。约束构建器26根据示例性矩阵方程[A][x]=[b]组织所生成的表征算子,以输入至求解器30。在相同光照约束下,相关约束生成器软件模块的约束关系如下:如表征映射信息所指示的,相邻的C型表征被相同的光照照亮,除非相邻的C型表征是同一个B型表征的一部分。
通过区域ID识别服务提供器24所存储的各C型表征,并且所存储的各C型表征包括按行号和列号列出的各构成像素。在用于记录图像的设备的噪声水平内,C型表征的各像素将与同一个C型表征的所有其它构成像素具有近似相同的例如关于RGB的颜色值。可以用各特定C型表征的构成像素的颜色值的平均来表示各C型表征的颜色值。通过构成C型表征来识别各B型表征,并且因而可以处理各B型表征以经由各构成C型表征来识别所有的构成像素。
根据本发明的特征,图像形成的模型将图像的基本概念反映为包括材质和光照的两个成分。可以如下表示该关系:I=ML,其中,I是如记录并存储在各图像文件18中的图像颜色,M是所记录的图像颜色的材质成分,并且L是所记录的图像颜色的光照成分。因此,各C型表征的I值是该表征的构成像素的所记录颜色值的平均颜色值。
因而:log(I)=log(ML)=log(M)+log(L)。这可以重新表示为i=m+1,其中,i表示log(I),m表示log(M)并且l表示log(L)。在相同光照约束的约束关系中,在三个C型表征a、b、c(见图15)相邻(并且不在同一个B型表征内(如可以通过比较所有构成像素的列号和行号所示出的))的例子中,la=lb=lc。由于la=ia-ma、lb=ib-mb以及lc=ic-mc,可以将这些数学关系表示为(1)ma+(-1)mb+(0)mc=(ia-ib)、(1)ma+(0)mb+(-1)mc=(ia-ic)以及(0)ma+(1)mb+(-1)mc=(ib-ic)。
图15示出上述三个相邻C型表征a、b和c的例子的数学关系的矩阵方程表示[A][x]=[b],如相同光照约束所约束的:相邻C型表征a、b和c处于相同光照下。在图15的矩阵方程中,根据由C型表征化块35从所选择用于分离的图像生成的相邻C型表征a、b和c的构成像素的平均记录像素颜色值而得知[b]矩阵中的log(I)的各个值。如上所述,通过表示所选择的相同光照约束的方程组来定义0、1和-1的[A]矩阵。[A]矩阵中从顶部到底部的行的数量与施加在表征上的实际约束的数量相对应,在本例子中为3,即在三个相邻C型表征之间的相同光照。[A]矩阵中从左至右的列的数量与要求解的未知数的数量相对应,在本例子中也是3。因此,可以在矩阵方程中求解在[x]矩阵中的各C型表征a、b和c的材质成分的值。应当注意,各个值实际上是与本例子的RGB色带相对应的三个值的向量。
因而,通过约束构建器26将由约束构建器26所配置的图15的矩阵方程输入至求解器30,以针对所选择的图像的相邻C型表征a、b和c的材质成分的值得到最优解。如上所述,在本发明的示例性GUI实施例中,用户选择几种数学技术之一以找到约束方程组[A][x]=[b]的最优解。CPU 12根据用户所选择的数学运算来配置求解器30。
例如,在标准最小平方求解器中,将矩阵方程重新表示为\underset{x}{min}(Ax-b)2。然后,求解器30执行最小平方运算以确定ma、mb和mc的最优值。然后,求解器30可以继续基于最有的ma、mb和mc值生成材质图像并进行显示。在材质图像中,针对各表征的各像素,用原始记录的RGB值代替ma、mb和mc值。利用由i=m+1所表示的模型,求解器30还可以继续根据已知的所记录的图像值ia、ib、ic以及所确定的ma、mb和mc值生成光照图像。
材质和光照图像均显示在监视器20上、均可以通过服务提供器24被存储并均与原始图像文件18交叉引用。
根据本发明的另一特征,求解器30可以被配置为引入捕捉到真实世界的光照和材质现象的包括限界的因子,以将通过优化步骤所确定的作为解[x]的材质/光照值保持在物理可接受范围内。对此,这个可以通过例如在迭代技术的每次迭代对[x]中的界外值引入额外的不等式约束来实现,并且执行这个使得求解趋向于得到在所定义的限界内的值。因而,可以扩展上述最小平方技术以包括(如由[x]中的项所表示的)独立材质估计的最小限界和最大限界。此外,可以将[x]中的项正则化,以使得材质估计与对材质属性的先验知识一致。
在本发明的示例性实施例中,使在最小平方求解器中用以指定所选择的约束的矩阵[A]和[b]受限于利用问题所表示的如下限界:
线性最小平方方程:minx’:∑i(Ai Tx’-ti)2
x’≥αm1
x’≤ωm1
受限于:x’≥imgj
其中,1表示全部的向量,αm表示可能的最暗材质值(例如,材质不可能比煤更暗),并且ωm表示可能的最亮材质值。imgj值是在特定表征j处的强度对数值,以基于对真实世界的观察提供使分离出的材质颜色不会比在原始图像中呈现的颜色更暗的约束,因为光照仅能使所观察到的材质的表面颜色变亮。
在线性最小平方方程中,在由ATAx’=ATt表示的线性方程组中,x’的唯一最小解是使对象材质差异ti与估计差异Ai Tx’之间的均方差最小的材质映射。例如,如果“第i个”约束Ai指示两个表征a&b是相同材质,则ATAx’取x’中表征a&b的值之间的差,并且计算相对于目标值ti=0的失真。
上述由“受限于”限界所表示的不等式形成满足对可能的最大和最小材质颜色值的真实世界约束的材质解x’的合理集。这在以下方面与已知的标准最小平方求解不同:如果不通过“受限于”限界进一步约束,x’可能取到图像的特定位置处(例如,在特定像素或表征处)的违背反射率的真实世界观察却对于min x’方程实现了最优解的值。
在求解器30所执行的优化处理中,在处理的特定迭代中,只要存在材质颜色值不满足“受限”不等式的表征,添加将不符合的材质值固定至满足限界条件的值的额外的临时约束。因而,原始矩阵[A]和[b]被扩充为具有用于指定新的限界约束Abounds和bbounds(作为“受限于”限界的表达)的新的矩阵,以定义新的扩充后的矩阵方程组[A;Abounds][x]=[b,bbounds]。可以与原始方程组类似地来求解扩充后的方程组,例如,使用已知的最小平方技术。
根据本发明的上述有界特征,每当颜色值违背真实世界现象时,就添加额外的临时约束。可以按需要重复对扩充后的方程组的再求解,每次以原始方程组ATAx’=ATt开始(即,在迭代之间不需要执行临时限界约束),并且对扩充后的方程组A’TA’x’=A’Tt’进行迭代求解,直到满足“受限于”限界为止。
根据本发明的再一特征,L1、L∞目标函数通过对少量的材质变化的偏好进行编码提供了最优解的正则化。实际上,L1、L∞求解器包括如下的先验信念,即材质映射应当包括少量的灵敏值高的材质。在方程组的求解器中,在作为向各可能的解分配灵敏值的方程的目标函数与用于找到作为根据给定目标函数的最优值的解的算法之间存在区别。由于将本示例性实施例中的问题表示为最小化minx’:∑i(Ai Tx’-ti)2,可以将目标函数所分配的值描述为“代价”。
在本问题中,设定x’为具有表征的行数以及色带的列数的矩阵,其中,x’c表示与第c个色带相关联的第c列。方程形式的最小平方目标函数被扩充为如下:
minx’:∑c∑i(Ai Tx’c-tci)2+γ∑k|tk maxc |Ak Tx’c|
其中,γ(γ>0)用于控制与最小平方方面相关联的代价和L1、L∞损失之间的平衡。表达式∑k|tkmaxc|Ak Tx’c|累积[A]中的所有相同材质约束上每通道的最大绝对差。
例如,给定表征a&b之间的相同材质约束,L1、L∞函数将仅包括颜色通道c上在xc a和xc b之间具有最大差异的颜色通道的项。在本发明的示例性实施例中,例如通过目标函数minx’:∑c∑i(Ai Tx’c-tci)2+γ∑k|tk maxc|Ak Tx’c|所表示的优化步骤是收缩技术。即,以如下方式求解最小平方问题序列,其中,在各轮中收缩被确定为违背相同材质约束的约束对象。在序列的末尾,从约束方程组挑选具有低于给定阈值的值的约束,并且计算新的最小平方解。应当注意,可以将诸如上述的“受限于”限界等的限界添加至目标函数,以提供有界的L1、L∞求解器。
图16A、16B和16C示出边界表示空间-频谱算子的示例。分析所示出的表示内的像素提供了与图像中形成各边界的区域之间的颜色比有关的信息,以用于边界表示约束。
参考图16A,示出了图5D的两个B型表征之间的边界626的细节。根据本发明的特征,由位于边界626处并且扩展至限定边界626的各B型表征内的相邻像素来构造边界626的表示。像素表示被配置为提供与边界有关的像素的样本,例如包括形成边界626的各B型表征内的小块628的像素阵列,可根据由小块628所提供的像素的各颜色值(例如R、G、B值)对该像素阵列进行空间-频谱分析。比较上述样本以确定边界626与材质相对应的可能性。CPU 12进行操作,以通过遍历第一B型表征630的周边像素并且确定与在边界626的相对侧的B型表征632的相应周边像素的距离来生成小块结构。
当定位出周边像素之间的最近距离时,则将该位置用作为生成表示的起始点。位于在B型表征630、632的相应周边像素之间最近距离的正中间的像素634(为了图示目的,在图中放大了尺寸)限定了表示的第一分离。然后,CPU 12在B型表征630内沿与边界626垂直的方向遍历从像素634起的多个像素,例如10-12个像素。在此,CPU 12识别出作为围绕与像素634相距10-12个像素的位置的像素阵列、例如3×3阵列的小块628之一。然后,CPU 12针对B型表征632重复同样的操作以定义小块628对,其中,小块628对中的小块分别在像素634的两侧,并且各小块628在形成边界626的B型表征630、632之一中。
在包括小块对628的第一分离完成时,CPU 12沿对象边界626的全长生成一系列额外的小块对。为此,CPU 12识别出在像素634的两侧、彼此隔开例如5个像素的固定数量并且分别布置在B型表征630、632的周边像素之间的边界上的边界像素636。针对各边界像素636,CPU 12以与针对围绕像素634的小块所执行的相同的方式识别小块628对,其中,小块628对中的小块分别在像素636的两侧,并且各小块628在形成边界626的B型表征630、632之一中。
根据本发明的特征,CPU 12对表示的像素进行一系列空间-频谱测试,包括进行计算以生成指示边界变化是否为材质变化的可能性的数据。
第一测试包括梯度对数匹配。该测试检查与在表示的两侧(图16A示出的表示的上侧和下侧)的边界平行的梯度之间的匹配。梯度的对数用于说明具有不同强度的材质。CPU 12进行操作以:
1.将和变量初始化为0,E=0;
2.对于各小块628
(a)针对各侧,计算当前小块与下一小块的平均颜色值的差(梯度);
(b)针对各侧,取该差的对数(梯度对数);
(c)计算上侧和下侧的对数差之间的差异的平方和(针对图16A所示的表示的上侧小块628和下侧小块628);
(d)将该值与E相加;
3.将E转换为数学上的伪似然性(mathematicalpseudo-likelihood),例如:
下一测试包括利用动态时间规整(DTW)匹配左侧和右侧的梯度。在此测试中,CPU 12进行操作以:
1.针对表示的各小块对:
(a)对于各侧,描绘与边界626平行的、从一个小块位置至另一个小块位置的线(见图16B);
(b)针对上侧、下侧中的各侧,将各条线的点添加至向量V(U)或V(L)(见图16B);
2.计算V(U)和V(L)各自的梯度的对数,将结果放入▽V(U)和▽V(L);
3.利用动态时间规整比较▽V(U)和▽V(L),以产生误差度量E;
4.将E转换为数学上的伪似然性,例如:
在第三测试中,CPU 12执行对数空间匹配运算:
1.针对各侧(图16A),将小块628的所有平均颜色值集中到向量中,并根据像素强度排序;
2.针对各侧,分别将5%和95%的像素选择为暗和亮示例;
3.针对各侧,计算亮像素和暗像素的对数之间的欧几里德距离D(R)和D(L);
4.计算两个距离的差,E(1)=D(R)-D(L);
5.将E(1)转换为数学上的伪似然性,例如:
p(1)=e-10(E(1)平方)
6.针对各侧,利用例如奇异值分解[SVD]计算边界像素的协方差矩阵的主本征向量(primary eigenvector);
7.计算两个主本征向量(每侧一个)的点积,并且将结果放入E(2);
8.将E(2)转换为伪似然性,例如,直接使用p(2)=E(2);
9.组合长度似然性和方向似然性以产生最终的伪似然性:
L=p(1)p(2)。
在第四测试中,CPU 12对各多足小块对执行多尺度比匹配。CPU 12进行操作以:
1.针对各侧(图16A),将小块628的所有平均颜色值集中到向量中,并按相应的小块628在边界上的顺序排序;
2.初始化集中变量P和计数器变量N;
3.针对各小块i:
针对例如从1~3的各距离d:
i.如果一侧的小块i的各色带比另一侧的对应小块亮,并且小块i+d的各色带呈现相同的两侧之间的关系
-利用噪声模型(例如,考虑到图像强度中的恒定量和线性量的线性噪声模型)计算位置i处的上侧和下侧小块之间的反射率比与位置i+d处的上侧和下侧小块的反射率比相等的概率p;
-将结果p添加至集中变量P
-递增计数器变量N
ii.否则,如果两个小块位置处的颜色不类似,例如某个色带的比大于R(m)ax(例如1.3)或小于R(m)in(例如0.77),则使P加0,并且递增计数器变量N;
4.如果N>0,则根据P和N计算伪似然性,例如,L=P/N;
5.否则,将似然性设置为0,L=0。
在另一测试中,CPU 12利用图像的两光源双色反射模型(BIDR模型)。根据BIDR模型的预测,如果两个B型表征的所有像素来自直接/环境光源对下的单个材质,则通过RGB空间中的线将很好地表示该像素。可以将小块线性测试设计为用以确定在表示(图16A)的两侧上的小块628的平均颜色值与RGB空间中的线的近似程度。在小块线性测试中,CPU 12进行操作以:
1.针对各侧s∈{左,右}
(a)将小块628的平均颜色值集中到向量中;
(b)例如利用SVD计算协方差矩阵的第一本征向量和第二本征向量(e(1),e(2))以及本征值;
(c)计算第一本征向量与第二本征向量的比R=e(1)/e(2),如果第二本征值为0,则R=20,除非第一本征向量也是0,在这种情况下R=0;
(d)例如使用如下等式将该比转换为数学上的伪似然性:
其中:
并且常量的示例值是α=12且c=0.5;
(e)将各小块均值投影到第一本征向量上,并且计算沿本征向量的最小和最大距离D(min)和D(max);
(f)将距离D(max)-D(min)划分为K个区间(例如K=5);
(g)构建沿第一本征向量在各距离处有多少像素的直方图;
(h)对直方图中具有不多于C个像素(例如C=0)的区间进行计数,并且将结果存储在E(s)中。
2.使用例如如下的等式将计算出的伪似然性转换为单个伪似然性:
L=R(left)R(right)(E(left)E(right)0.7
在第六测试中,CPU 12进行测试以确定表示(图16A)的各侧上的小块628是否对应于两光源的可接受直接/环境光源对。在该测试中,CPU 12进行操作以:
1.针对各侧s∈{左,右}
(a)将小块628的所有平均颜色值集中到向量中;
(b)利用例如SVD计算像素的协方差矩阵的主本征向量e(1);
(c)如果e(1)的元素不是全部具有相同符号,则R(s)=1;
(d)否则,使e(1)乘以1或-1以使得其全部为正,并且计算其饱和度:
R(s)=max(R,G,B)-min(R,G,B)/max(R,G,B);
(e)例如利用如下等式将R(s)转换为伪似然性:
其中,常量的示例值为α=25和M=0.65。
在又一测试中,CPU 12测试在表示(图16A)的两侧上的小块628的平均颜色值的变化程度。变化程度越大,则与边界本质有关的信息量改变越大。CPU 12进行操作以:
1.针对各侧,计算小块628的平均颜色值的最小、最大和平均强度;
2.针对各侧,如下计算正规化的变化:
V(侧)=(最大0最小)/平均;
3.针对各侧,例如利用如下等式将正规化的变化转换为伪似然性:
其中,常量的示例值为α=25和M=0.4。
4.例如利用以下等式组合各侧的伪似然性:
L=L(左)L(右)。
下一测试包括条状表征测试。CPU 12计算包括一系列条状表征642(见图16C)的条状表征表示,每个边界像素636对应一个条状表征,并且各条状表征从各边界像素延伸8-10个像素且宽2-4个像素。CPU 12分析各侧上的条状表征642的锐度,其中,将锐度定义为条内的两个相邻像素之间的最大差异,作为整个条上的最大变化的函数。CPU 12进行操作以:
1.生成像素条(例如大小为2×8像素)的集合,像素条以边界为中心并且被定位为与边界垂直(见图16C);
2.针对各条计算锐度,其中,锐度为该条内任意两个相邻像素之间的最大差异与该条内的最大和最小强度像素之间的差异的比;
3.计算所有条上的平均锐度;
4.返回平均锐度(S)作为伪似然性。
在下一个条状表征测试中,CPU 12对各条的线性进行分析。CPU 12进行操作以:
1.生成像素条(例如大小为2×8像素,见图16C)的集合,像素条以边界为中心并且被定位为与边界垂直;
2.针对各条,使用条内的像素的协方差矩阵的第一和第二本征值的比,计算条的线性度;
3.针对各条i,例如使用如下等式将条的线性度l(i)转换为伪似然性:
Li=1.0/(1+e-a(li-C))
其中,常量的示例值是α=0.5和C=10。
在又一条状表征测试中,CPU 12检查图像如何与各条状表征相垂直地改变。CPU进行操作以:
1.生成N个像素条(例如大小为2×8像素)(见图16C)的集合;
2.初始化计数器C=0;
3.针对各条,识别条上的边缘像素:
(a)针对各边缘像素p:
i.检查与该条的长轴垂直的线中的M个像素;
ii.针对M个像素中的各个像素,使用噪声模型计算其与边缘像素p的类似度;
iii.如果M个像素中的任何一个像素与p不同,则认为该条已测试失败,并且递增C;
4.通过计算失败的百分比L=C/N,来将失败条的计数值转换为伪似然性。
在完成针对特征计算的测试组时,CPU 12执行计算机学习技术,以对经由CPU 12的测试运算所累积的数学上所确定的伪似然性数据进行分析。CPU 12根据在测试中所确定的各种似然性L形成特征向量。然后,CPU 12进行操作以学习如下的分类器:该分类器可以作出与特征向量是否表示边界最可能是材质边界、而不是例如光照边缘、深度边界或同时的光照和材质变化等的其他类型边界有关的判断。例如,可以训练具有针对各伪似然性的输入的神经网络来输出判断。其它示例方法包括支持向量机[SVM]、贝叶斯决定树或提升。判断出边界是材质边界的可能性时,可以针对形成边界的B型表征的材质的颜色确定比X,并且如上所述、可以应用比X作为对边界C型表征的约束。
图17是服务提供器24和约束构建器26的概要功能框图。为了以概括方案总结上述的约束示例,例如通过用户经由GUI对图像32、以及来自约束生成器1,2,…N(约束生成器软件模块)组的一些约束生成器进行选择。约束生成器1-N组包括上述的约束以及作为针对图像的空间-频谱信息的函数开发的任意额外的约束关系。提供上述的约束组作为示例。本发明详细考虑基于空间-频谱算子、提供与图像的材质和光照方面有关的逻辑推导、并且因而提供用于构造矩阵[A]和[b]的基础以定义最优解捕捉到给定图像的本征光照和材质成分的方程组的任意约束关系。
同样,通过C型表征化块35或者算子块28所生成的算子组1-M包括在约束生成器模块1-N中定义的所有算子。如图17所示,服务提供器24提供如所选择的约束生成器1-N所需的所有算子1-M,并且进一步经由逻辑开关40将所选择的约束生成器1-N与约束集39(均在约束构建器26中配置)耦接。在所选择的图像32的算子1-M中的任一个尚未通过服务提供器24存储的情况下,服务提供器24以上述的方式利用算子块28根据需要计算这样的算子。约束集39针对所选择的约束生成器中的各个分别构造[A][x]=[b]矩阵,作为算子以及在各约束生成器1-N中所定义的约束关系的函数。在各情况下,以与上述相同光照例子中所述的类似的方式来构造[A][x]=[b]矩阵。
在完成方程组[A]i[x]=[b]i的构造时,针对所选择的约束生成器i={1,2,…N}中的各个,约束集39串接来自各约束生成器的组成矩阵[A]i、[b]i。由于串接方程中的各个可能包括不同的未知数[x],进行该集合以使得约束[x]中的特定未知数的个别矩阵[A]i的特定列对齐。然后,将串接矩阵[A][x]=[b]输入至求解器30,用于依照所选择的优化步骤对完整[x]向量中的未知数求解,以输出本征图像34。串接矩阵[A][x]=[b]内的各约束可以作为诸如各约束的感知重要性、力度或经验主义确定出的信心水平等的因子的函数、相对于彼此进行加权。
上述相同光照约束的示例利用C型表征和B型表征空间-频谱算子。这些表征算子提供对诸如在包括人造物体的图像中经常描述的那样、包括单个材质的大表面区域的图像的优秀表示。然而,在许多场景中,经常存在大面积的诸如沙子、草、石头和树叶等高度纹理区域。如上所述,在图像纹理中可能难以利用C型表征识别B型表征。根据本发明的其它特征,纹理基元直方图算子提供以例如[A][x]=[b]矩阵方程所表示的那样、在基于约束的优化中有用的方式,用于捕捉纹理区域的统计均匀的空间变化的机制。
因而,根据本发明的特征,并非如上所述、根据强度直方图在图像的纹理区域中生成C型表征用于识别B型表征,而是生成作为B型表征的一类的纹理表征,用以在约束中使用。在纹理基元直方图算子的示例性实施例中,算子块28将图像的各像素(或图像的被识别为包括纹理的那些区域的像素)从例如RGB颜色值等的各图像文件18所记录的色带表示转换为两带表示,其中两个带包括纹理基元标签和纹理基元直方图标签。然后,如将要说明的,适用对像素的两带表示来识别纹理表征。
经由执行聚类处理生成各像素的纹理基元标签。纹理可以以纹理图元(例如在草的纹理中,草的单个叶片)、以及该图元的空间分布为特征。纹理基元分析是用于例如经由聚类算法描述纹理图元的分析方法。聚类是用于在数据中定位自然群的中心或者簇的处理。在本发明的示例性实施例中,该数据包括从被分离为材质和光照成分的图像像素之间所选择的像素片。例如,将3×3像素片聚类为K个不同群,向各个群分配指定标号(1,2,3,…K)。3×3阵列的各像素的纹理基元标签是在聚类处理期间对各片分配的群的群标号。
为了加速执行聚类算法,可以遍及图像或被识别为包括纹理的图像区域选择3×3片的随机样本,用于聚类算法的处理。在通过CPU 12(作为算子块28操作)执行聚类算法之后,对各3×3图像片分配在聚类处理中识别出的最接近的K群中心的纹理基元标签,如针对所选择的随机样本所执行的那样。
作为优点,在执行聚类算法之前,图像的像素经过图像强度正规化。在利用基于强度的距离矩阵的聚类处理中,可能将图像的暗区域放入单个群,导致对图像纹理区域的阴影区域的表示不足。图像的正规化对不同光照下的纹理区域提供更精确的纹理基元表示。可以如下表示像素的正规化强度:
Inorm(n,m)=log(i(n,m)/ib(n,m))
其中,inorm(n,m)是像素p(n,m)的正规化的强度,i(n,m)是如图像文件18所记录的像素p(n,m)的强度,并且ib(n,m)是像素p(n,m)的模糊或者低通滤波后的版本。例如,在任一标准模糊函数中可以使用10像素模糊半径。
可以根据任意已知聚类算法执行聚类,例如K意味着存在K个簇或群Si,i=1,2,…K的聚类,并且μi是所有数据点的均值点或中心点,xj∈Si。在本例子中,各xj包括安排为片中的九个像素的9×1向量的所选择的3×3像素片(共有27个元素,包括向量的九个像素中的各个的RGB值)。如上所述,向各均值点μi分配纹理基元标签1,2,3,…K,这些标签成为针对被聚类为各均值点作为中心的群的3×3片的任意像素的纹理基元标签。
根据本发明的示例性实施例,CPU 12通过将表示图像的3×3像素片的所选择的9×1向量初始分离为K个初始群Si。然后,CPU 12利用基于强度的距离矩阵对各群Si计算中心点μi。确定中心点μi之后,针对各群Si,CPU 12将各9×1向量与最接近的中心点μi相关联,如果需要则改变群。然后,CPU 12再计算中心点μi。CPU 12对将各9×1向量与最接近的中心点μi相关联并且再计算中心点μi的步骤执行迭代直到收敛为止。收敛是当不需要对任何9×1向量改变群的时候。那时,CPU 12分配各中心点μi的群标号,作为该群中各向量的像素的纹理基元标签。
如上所述,如针对所选择的随机样本所执行的那样,向未被选为聚类样本的3×3片的像素分配在聚类处理中识别出的最接近的K群中心μi的纹理基元标签。通过服务提供器24存储纹理基元标签映射,并且该映射与图2的像素阵列共同延伸。在纹理基元标签映射中,对各像素位置,存在对各纹理基元标签的表示。
在完成对图像的像素的纹理基元标签分配时,CPU 12进行操作以对各像素生成纹理基元直方图,以提供对图像的纹理区域内的纹理基元标识的空间变化的表示。为此,CPU 12访问纹理基元标签映射。在纹理基元标签映射内的各像素位置处,围绕当前位置创建例如21×21像素的像素片。21×21的片大小远大于用于生成纹理基元表示的3×3片大小,从而捕捉纹理的空间变化。然后,以与上述的强度直方图像死的方式,对在21×21片的中心处的像素位置生成纹理基元直方图。然而,在纹理基元直方图中,存在针对各个纹理基元标签值1,2,3,…K的区间,而非基于色带值的区间。各区间的计数值与具有各区间的纹理基元标签值的21×21片中的像素的数量相对应。
当对纹理基元标签映射的各像素生成纹理基元直方图时,CPU 12执行第二聚类步骤。在第二聚类步骤中,使用频谱聚类对纹理基元直方图聚类。频谱聚类技术使用感兴趣像素的类似度矩阵的频谱(在本例子中,纹理基元直方图)以降低维数用于更低维的聚类。可以将给定数据点组A的类似度矩阵定义为矩阵S,其中,Sij表示对点i,j∈A之间的类似度的度量。在本例子中,利用均值移动对拉普拉斯算子的本征向量聚类。距离码距是直方图的卡方距离。
向由聚类步骤定义的各簇群分配纹理基元直方图标签(1,2…)。对纹理基元标签映射的各像素,向该像素分配与该像素的纹理基元直方图最接近的纹理基元直方图相对应的簇群的纹理基元直方图标签。将距离定义为卡方直方图距离。在完成对各像素的纹理基元直方图标签分配时,已经通过两带、纹理基元标签、纹理基元直方图标签表示来表示各像素。
根据本发明的特征,在构造组成串接矩阵[A][x]=[b]的[A]i[x]=[b]i的约束中,可以利用对图像文件18的像素的纹理基元直方图标签表示。例如,可以假定区域内的相邻像素均具有相同两带、纹理基元标签、纹理基元直方图标签表示的图像的区域包括具有图像中所描述的纹理的相同平均材质的区域。可以将这种区域称为纹理表征,即B型表征的一类。因而,可以应用约束以使得同一个纹理表征内的所有C型表征具有相同平均材质。在此约束中,C型表征是由C型表征化块35根据构成像素的色带值所生成的C型表征。
尽管本发明的上述示例性实施例已说明了用户经由GUI选择约束生成器和数学运算,但可以诸如自动地以其它图像操作模式、例如作为图像的函数自动选择的约束生成器和数学运算来进行图像分离处理。
参考图18,示出用于测试诸如图3的图像分离系统结构等的图像变换方法的测试台的框图。测试台用于测试图像分离运算以确定并设置自动的选择。输入32包括数据和参数,例如作为数据的图像文件18及其相关联的参数数据文件。在本例子中,变换元件50包括图3的图像分离系统结构,该结构进行操作以通过生成与输入图像文件18的图像相对应的本征图像来转换数据。如上所述,本征图像包括材质图像和光照图像。
根据本发明的特征,将生成的本征图像输入至利用本征图像作为输入的测试/应用模块52。在本例子中,测试/应用模块52是对象识别方法。对象识别方法可以包括任意已知的对象识别方法,诸如基于特征的学习框架、基于外观的学习框架、基于形状的分析和分类、以及基于模型的对象识别等。在测试序列中,与试样56一同输入图库54,其中,图库54包括已知对象的图像组,试样56包括输入至变换元件的图像文件18。例如,对探针和本征图像中的各个进行对象识别方法,以确定在图像及其相应的本征图像之间识别能力的改善。
将所有测试结果输入至分析模块58,该模块进行操作以对一系列探针和相应的本征图像的所有对象识别结果进行编译。通过发布模块60发布该编译,并且输出至反馈回路62。反馈回路62控制变换元件50和测试/应用模块52中的各个,以在约束生成器、数学优化运算和变量参数的不同选择下对同一个图像进行运算。
例如,在用铝箔响应识别B型表征的示例性实施例中,要在变换元件50的分离运算中使用的变量参数包括α因子、片大小和形状、低滤波响应的限定和充分重叠的限定。对参数的不同组合得到不同结果。一组参数利用定义良好的B型表征可能良好地捕捉到图像的一部分,但使图像的其它部分成为许多小的不连接的片,而其它组参数可能良好捕捉到图像的不同部分。因而,通过改变参数组内的值,可以获得多组分离结果,以提供对分析和比较更稳健的整体结果。此外,还可以在测试/应用模块52种改变所用的特定对象识别方法,用于对不同对象识别方法/参数组合及其对结果的影响的分析。
还可以将领域知识与不同的约束和优化处理相关联,以确定对特定类型图像的自动设置。例如,针对在冬天的下午三点拍摄的描述具有广阔绿地的室外场景的图像,可以利用各种不同的约束、优化处理、变量参数和对象识别方法等、通过变换元件50和测试/应用模块52中的各个进行操作,并分析该操作以基于经验确定该图像最佳的设置。为此,可以在反馈回路62中实现已知的学习算法。对于具有不同约束的所选择的组,可以改变权重以确定对各所选择的约束最优的权重。
在上述的说明中,已参考特定示例性实施例和示例说明了本发明。然而显然,可以在不偏离如后续权利要求书所示的本发明的更宽精神和范围的情况下,进行各种修改和改变。因而,应该以示意的方式而非限制的方式来考虑说明书及附图。