具体实施方式
现在参考附图,并且首先参考图1,示出被配置为进行与图像有关的运算的计算机***10的框图。CPU 12经由例如USB端口连接至例如数字照相机14等的装置。数字照相机14运行,以将照相机14上本地存储的图像下载至CPU 12。CPU 12将所下载的图像作为图像文件18存储在存储器16中。可以由CPU 12访问图像文件18,以将其显示在监视器20上,或者在打印机22上将其打印出。
可选地,可以将CPU 12作为嵌入在例如数字照相机14或机器人等的装置中的微计算机来实现。CPU 12还可以配备有连同例如机器人操作或与用户的交互操作一起进行与图像相关的实时运算的实时操作***。
如图2所示,每个图像文件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中记录的场景所描述的单个素材相对应的区域等的各种目的。作为本发明的基本发现的基础的基本观测结论是,图像包括两个成分,素材和光照。图像中的所有变化都是由这些成分中的一个或另一个所引起的。用于检测这些成分其中之一、例如素材的方法提供了用于将素材或对象边缘等的对象几何体与光照和阴影边界区分开的机制。
根据本发明的特征,特征点是图像的连通区域,其中,该区域的像素以与识别素材和光照等的识别图像特征和特点相关的方式,彼此相关联。特征点的像素可以在统称为纹理的、例如像素之间的颜色的密切相关等的同质因素或者例如RGB空间等的颜色空间中的几何相关的不同的颜色值等的不同质因素方面相关联。本发明的典型实施例为图像文件的改进处理提供用于识别各种类型的同质或不同质特征点的方法和***。本发明利用与图像文件18所描述的图像的相邻像素相关的空间-频谱信息来识别特征点区域。该空间-频谱信息包括相邻像素之间在例如像素的RGB值的色带方面的频谱关系、以及与单个素材相关的像素频谱特性的空间范围。
根据本发明的一个典型实施例,将特征点各自分类为A型特征点、B型特征点或C型特征点。A型特征点是包括表示图像中包含场景中的单个素材的最大可能区域的相邻像素的连通图像区域。B型特征点是包括表示图像中包含场景中的单个素材的区域的相邻像素的连通图像区域,但是该区域未必是与该素材相对应的最大区域。C型特征点包括该特征点的相邻像素中类似图像属性的连通图像区域,其中,针对用于记录图像的摄像***的噪声模型来定义类似度。
现在参考图3A,示出根据本发明的特征的、用于在图2的图像文件18所描述的场景中识别C型特征点区域的流程图。利用图3A的步骤可以在图像中容易地识别出C型特征点,然后对C型特征点进行分析和处理,以构造B型特征点。
在执行图3A的例程之前,CPU 12可以运行以对对象图像文件18中所描述的图像进行滤波。这些滤波器可以包括纹理滤波器,从而例如将由纹理材料所产生的不同反射率的图案变换成捕获该纹理区域的频谱和空间特性的同质表示。在纹理图像中可能很难识别特征点。纹理图像包含具有例如不止一个显现为限定特性的反射函数的素材。例如,该限定特性可以是纹理内的颜色的图案,使得该纹理显示从图像的纹理区域内的任意位置选择出的任意块或区域中的特定颜色分布。
可以由条纹或斑点等的几何特性来定义其它纹理。CPU 12可以执行实现例如Laws滤波器库、小波或纹理基元等的任何已知方法的软件模块(例如,参见Randen,T.[Trygve],
J.H.[John
],Filtering for Texture Classification:AComparative Study,PAMI(21),No.4,April 1999,pp.291-310.),或者将每个像素周围的局部区域转换成直方图。所使用的任意方法将N个色带的每个像素值转换成表示要应用至像素周围的局部区域、例如11×11像素阵列的一个或多个函数的输出的T值的矢量。
例如,可以使用以下算法来生成各像素的直方图表示:
在N带(例如,RGB)输入彩色图像中的所有像素p之间循环;
A)将N个8接收区间(bin)直方图初始化为0,其中,针对每个色带设置1个8接收区间直方图
B)针对p附近的每个像素q(例如,11×11像素框)
(i)针对q的N个颜色值中的每个颜色值Cn;
(a)使第n个直方图的适当接收区间递增;
(b)使用插值,使得最接近于颜色值的两个接收区间成比例地递增;
(ii)将N个8接收区间直方图值一起连接为单个8×N元素矢量;
(iii)将8×N元素矢量指派给输出图像中的相应像素p。
在从一组色带到一组滤波器输出的变换之后,对于识别C型特征点,将该图像完全作为原始色带图像来处理。
在多数情况下,由于图像的大部分可能包括同质着色物体,因此可能仅需要对输入图像的一部分进行纹理滤波。因此,在应用纹理滤波之前,识别并屏蔽同质颜色的区域是有用的。然后,仅对看上去是纹理素材的区域应用纹理滤波。用于识别纹理区域的示例算法如下:
1)对N带颜色值(例如,RGB)执行C型特征点分解,将特征点结果存储在区域映射R中,其中,该区域映射中的各像素均具有它所属的特征点的特征点ID。
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)。该步骤针对各色带将标准偏差转换成标准化方差。将结果存储在Sn中。
5)对于Sn中的每个像素,对所有N个色带的标准化偏差的平方求和,取结果的平方根,并除以带N的数量,以创建偏差值D_ij。将所得的偏差值D_ij与阈值(例如,1.0)进行比较,在偏差值高于阈值的情况下,为像素指派1,否则为像素指派0。将结果存储在纹理掩码图像T中。
6)对于T中的每个像素,如果纹理掩码值T_ig=1并且具有在中值区域映射R-medial_ij中给出的id的特征点区域的种子大小小于阈值(例如,<4),则将该像素标记为纹理像素。否则,将该像素标记为同质像素。将结果存储在纹理掩码Tmask中。
以上算法的输出是作为原始图像的大小的掩码Tmask。应当将Tmask中值为1的像素看作为图像区域中与纹理素材相对应的部分,并且应当将值为0的像素看作为图像区域中与同质颜色的素材相对应的部分。
第一阶均匀同质C型特征点包括图像的相邻像素中的单个鲁棒颜色测量。在识别例程开始时,CPU 12在存储器中建立区域映射。在步骤100中,CPU 12清空区域映射,并且指派初始设置为1的区域ID。将与像素数相对应的例程的迭代设置为i=0,并且将用作为用于判断特征点的种子的N×N像素阵列的数量设置为初始值N=Nstart。Nstart可以是大于0的任意整数,例如,将Nstart设置为11个或15个像素。
在步骤102中,开始种子测试。CPU 12选择第一个像素i=(1,1),例如位于图像文件18的第1个N×N样本的左上角处的像素。然后,在判决块104中测试该像素,以判断所选择的像素是否是良好种子的一部分。该测试可以包括将所选择的像素的颜色值与作为种子的、例如N×N阵列的预先选择的数量的邻近像素的颜色值进行比较。可以针对像素的多个色带值(在我们的例子中为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的减小值重复该例程之前,图3A的例程以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型特征点。
当队列为空时,CPU 12进入步骤120。在步骤120中,CPU12使区域ID递增,以在识别下一特征点时使用。然后,CPU 12返回至步骤106,以针对新的当前特征点区域重复该例程。
在到达图3A的流程图的步骤110N=Nstop、或者与图像一致的区域映射完成时,该例程已完成特征点构造任务。图3B是在识别特征点时用作为例子的原始图像。该图像示出蓝色和蓝色阴影的区域、以及深青色和深青色阴影的区域。图3C示出例如对于图3B的图像、如通过执行图3A(C型特征点)的例程所识别出的与区域映射相对应的特征点区域。对该特征点区域进行颜色编码以示出图3B的图像的、包括图像的全蓝色和深青色区域与着色区域的阴影之间的半影区域的特征点构成。
尽管每个C型特征点包括图像中的具有该图像的相邻像素之间的单个鲁棒颜色测量的区域,但特征点可以横穿素材边界生长。一般地,在一个C型特征点中,经由通常位于阴影边界上、或者位于具有横穿色调类似但强度不同的不同素材之间变化的光照的区域中的颈区域将不同的素材结合。可以通过检查相邻像素的特性来识别颈像素。当像素具有不位于相应的特征点内的、位于相对侧的两个相邻像素以及位于相应的特征点内的、位于相对侧的两个相邻像素时,将该像素定义为颈像素。
图4示出针对C型特征点的颈测试的流程图。在步骤122中,CPU 12检查识别出的特征点的每个像素,以判断检查中的像素中是否存在形成颈的像素。可以将图4的例程作为执行图3A的例程期间紧挨在识别出特定特征点之后的子例程来执行。将识别为颈的所有像素标记为“不可生长”。在判决块124中,CPU 12判断是否标记了这些像素中的任意像素。
如果为判断“否”,则CPU 12退出图4的例程,并且返回至图3A的例程(步骤126)。
如果为判断“是”,则CPU 12进入步骤128,并且运行,从而按照图3A的例程,在不改变种子大小和区域ID的计数的情况下,根据在当前特征点的未标记的像素中选择出的种子位置重新生长特征点。在重新生长处理期间,CPU 12不包括先前标记为不可生长的任何像素。在重新生长特征点之后,不标记先前进行了标记的像素,使得其它特征点可以生长至这些像素。
在重新生长不具有先前标记的像素的特征点之后,CPU 12返回至步骤122,以测试新重新生长出的新特征点。
颈测试识别横跨素材边界的C型特征点,并且重新生长识别出的特征点,以提供适合于在创建B型特征点时使用的单素材C型特征点。图3D示出根据本发明的特征的、根据图3C的C型特征点生成的B型特征点。本发明提供了用于根据C型特征点构造B型特征点的像素特性分析的几个示例技术。一个示例技术涉及任意边界去除。可以将该任意边界去除应用于C型特征点,而不管使用像素的N色带值(在我们的例子中为RGB)还是在对图像滤波的情况下使用像素的滤波输出表现来生成这些C型特征点。任何特定C型特征点的实际边界将是用于生成特征点的种子位置的函数,因而这些边界一定程度上是任意的。针对每个特定特征点一般存在多个潜在种子位置,其中,在记录设备的噪声范围内,由于各种子的像素的颜色值之间的差异,因此每个潜在种子位置生成边界和空间范围略不同的特征点。
图5是根据本发明的特征的、用于经由任意边界去除技术来构造B型特征点的流程图。在步骤200中,CPU 12设置有在经由图4的例程进行颈去除的情况下经由图3A的例程以种子大小(S)所生成的C型特征点的集合(Tc)。种子大小S=Smax,例如,S=4个像素。在步骤202中,对于集合Tc中的各C型特征点tc,CPU 12选择多个(例如,50个)潜在种子S1~Sn。在我们的例子中,每个选择出的种子将是特征点区域内的4×4像素阵列,该阵列的像素是(记录装置的噪声水平内的)近似相等的值。
在步骤204中,CPU 12利用图3A和4的例程,针对集合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存储根据特征点的集合Tc在步骤202~206中生成的各Bab1型特征点,并且进入步骤210。通过执行步骤202~206所生成的Bab1型特征点可能大幅重叠。在步骤210中,CPU 12运行,以将在步骤208中存储的、以它们各自大小的特定百分比彼此重叠的Rt特征点合并。例如,通常30%重叠足以提供较少的、组合包含不同素材的区域的伪肯定合并(如果存在)。合并后的特征点的新集合可能仍具有重叠特征点,例如,少于30%重叠的先前的重叠特征点。在所有合并完成之后,CPU 12进入步骤212。
在步骤212中,CPU 12识别位于不止一个特征点中(即,位于两个或更多个特征点的重叠部分中)的所有像素。将识别出的各个像素分配至占据图像的最大区域的特征点。因而,修改所有的重叠特征点以消除所有的重叠。
在步骤214中,CPU 12存储现在指定为Bab2型特征点的、合并和修改后的特征点的最终集合,然后退出该例程。如上所述,根据C型特征点生成Bab2型特征点,而不管使用像素的N色带值(在我们的例子中为RGB)还是在对图像滤波的情况下使用像素的滤波输出表现来生成这些C型特征点。
根据本发明的、用于使用C型特征点来创建B型特征点的第二示例技术是相邻平面特征点合并。当图像描述均匀颜色的区域时,即对于图像的无纹理区域,可以实现相邻平面特征点合并。最初,使用特征点图来识别彼此接近的特征点。图6示出根据本发明的特征的、用于创建特征点图的流程图。在以下方面评价通过执行图3A和4的例程所生成的C型特征点的集合Tc中的每个特征点tc:集合Tc中构成相邻特征点对tc,tn的特征点之间的最大距离Dmax、相邻特征点对的每个特征点中的特征点周边像素的最小数量Pmin、和要求位于Dmax内的相邻特征点对的每个特征点的周边像素的最小分数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中,CPU12生成用作为用以围绕所选择的特征点tc的掩码的边界框。将该边界框的尺寸设置为至少大于所有方向上选择出的特征点tc的Dmax。执行已知的距离变换(例如,如P.Felzenszwalb和D.Huttenlocher,Distance Transforms of Sampled Functions,CornellComputing and Information Science Technical ReportTR2004-1963,September 2004中所述),以寻找从所选择的特征点tc的每个周边像素到围绕边界框中的所有像素的距离。该距离变换的输出包括各自具有与边界框相同的大小的距离映射和最近像素映射这两个映射。距离映射包括从边界框的每个像素到所选择的特征点tc的最近周边像素的欧几里德距离。最近像素映射针对距离映射中的每个像素识别哪个周边像素最接近该像素。
在步骤310中,CPU 12扫描在步骤308中生成的距离映射,以(根据经由图3A的例程所生成的区域映射)识别与边界框的像素相对应的特征点,并在由边界框中的像素所表示的所有特征点中识别在距离Dmax内具有数量为Ncn的像素的特征点,其中,Ncn大于Pmin,并且大于各个特征点的周边像素的Fmin *,并且各特征点和tc之间的平均距离是与边界像素中的像素相对应的特征点中最低的。如果满足这些条件,则将各个特征点指定为可能的特征点对tc、tn中的tn,并且将链接Lcn标记为有效。
在步骤312中,CPU 12检查以判断是否将互逆链接Lcn也标记为有效,并且当将其标记为有效时,CPU 12标记特征点对tc、tn是相邻特征点对的指示并将其存储在特征点图中。互逆链接指当前评价中对指定为tn的特征点评价时的链接状态。如果尚未评价该特征点,则不将该对指定为相邻特征点对,直到在对特征点tn的后续评价中将该链接Lcn验证为有效为止。然后,CPU12返回至判决块304,以判断集合Tc中是否存在任何其它的特征点。
在完成特征点图时,CPU 12在执行图7的例程时利用该图中所存储的特征点对信息。图7示出根据本发明的特征的、用于经由相邻平面特征点合并技术构造B型特征点的流程图。在相邻平面合并技术中,检查特征点对,以判断在该对特征点之间在两维测量时是否存在颜色值的平滑和连贯变化。根据本发明的典型实施例,在像素的例如RGB成分的颜色的每个通道的平面表现方面,检查颜色变化。将平滑变化定义为当平面集合(每个颜色成分一个平面)是对两个相邻特征点的像素值的良好拟合时的条件。概括而言,当两维感觉的颜色变化近似平面时,将相邻特征点看作为相同素材并且为B型特征点。
在步骤320中,CPU 12从特征点图中选择特征点对tc、tn。在判决块322中,CPU 12判断特征点tc中的平均颜色是否与特征点tn中的平均颜色相差很大。该差异可能是已知的统计测量z分数的函数(例如,参见Abdi,H.(2007),Z-scores,in N.J.Salkind(Ed.),Encyclopedia of Measurement and Statistics,ThousandOaks,CA:Sage),例如,大于3.0的z分数。
如果特征点对的平均颜色不同,则CPU 12进入判决块324,以判断该特征点图中是否存在任何额外的特征点对。如果判断为“是”,则CPU 12返回至步骤320。如果判断为“否”,则CPU 12退出该例程(步骤326)。
如果平均颜色在z分数参数内,则CPU 12进入步骤328。在步骤328中,作为行n和列m的函数,CPU 12进行例如最小中位数平方回归等的数学运算(例如,参见Peter J.Rousseeuw,LeastMedian of Squares Regression,Journal of the AmericanStatistical Association,Vol.79,No.388(Dec.,1984),pp.871-880),以将平面拟合至特征点对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。
在退出图7的例程时,CPU 12检查表示相同素材的所有特征点对的特征点图。CPU 12可以通过进行例如并查算法等的已知技术来实现检查。(例如,参见Zvi Galil and Giuseppe F.Italiano.Data structures and algorithms for disjoint set unionproblems,ACM Computing Surveys,Volume 23,Issue 3(S eptember 1991),pages 319-344。)作为简单例子,假定7个C型特征点T1、T2、T3、T4、T5、T6和T7的集合。假定执行图7(进行相邻平面分析)的结果表示:将特征点T1和T2标记为相同素材,并且还将T1和T3标记为相同素材。此外,该结果还表示:将特征点T4和T5标记为相同素材,并且还将特征点T5和T6标记为相同素材。因此,执行并查算法的结果将表示:特征点{T1,T2,T3}形成图像内构成单个素材的第一组,特征点{T4,T5,T6}形成图像内构成单个素材的第二组,并且特征点{T7}形成图像内构成单个素材的第三组。这些组{T1,T2,T3}、{T4,T5,T6}和{T7}形成3个B型特征点。
根据本发明的、用于使用C型特征点来创建B型特征点的第三示例技术是局部特征点分析。该局部特征点方法使用图像文件18所描述的场景的窗分析来生成C型特征点。将这种特征点指定为Cw型特征点。图8是根据本发明的特征的、用于经由局部特征点分析技术来生成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.Bolles.Random Sample Consensus:A Paradigm for Model Fittingwith Applications to Image Analysis and Automated Cartography.Comm.of the ACM,Vol 24,pp 381-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利用用于查找平面拟合的数学技术中的任何技术来确定该参数。
在每个扫描位置处,在步骤402完成之后,在步骤404中CPU12运行,以针对与各个窗扫描位置相对应的平面拟合表现和RGB线表现各自检查窗中的各像素。对于各像素,CPU 12判断该像素相对于所建立的平面和RGB线中的各个的误差因子。该误差因子与像素到其根据平面拟合或RGB线拟合的投影的绝对距离相关。该误差因子可以是记录设备中存在的噪声的函数,或者窗内的最大RGB值的百分比,例如1%。将相对于空间平面拟合或频谱线拟合的误差因子内的任意像素距离标记为在各扫描位置处生成的Cw型特征点的内围层。CPU 12还针对在各扫描位置处生成的Cw型特征点记录所有内围层像素的列表。
在各扫描位置处,在步骤404完成之后,在步骤406中,CPU12运行以为窗中的内围层像素指派从属关系值。该从属关系值基于相对于平面拟合或RGB线拟合的内围层像素的距离。在本发明的一个典型实施例中,该从属关系值是用于判断像素的内围层状态的距离的倒数。在第二典型实施例中,执行具有标准偏差的以0为中心的高斯分布,以计算内围层像素的从属关系值。
在处理所有的扫描位置以生成Cw型特征点之后,对于每一个扫描位置,CPU 12运行以汇编并存储特征点数据列表(步骤408)。该特征点数据列表包括两个列表。第一个列表列出图像文件18中的所有像素,并且针对每个像素,列出标记为内围层像素的每个Cw型特征点的指示和相应的从属关系值。第二个列表列出所有生成的Cw型特征点,并且针对每个特征点,列出各个特征点的内围层像素的指示和相应的从属关系。在汇编和存储特征点数据列表之后,CPU 12退出该例程(步骤410)。
图9是根据本发明的特征的、用于根据经由局部特征点分析技术生成的Cw型特征点构造B型特征点的流程图。在步骤420中,CPU 12计算通过执行图8的例程所生成的相邻或重叠Cw型特征点的空间平面维度和频谱RGB线的参数的类似度。可以将重叠和相邻的Cw型特征点定义为与重叠或相邻的扫描位置相对应的特征点。可以将类似度阈值设置为正在比较的两个重叠或相邻的Cw型特征点的空间平面维度和频谱RGB线各自之间的差异的百分比。该百分比可以是例如用于记录图像文件18的场景的照相机14的噪声的函数。将计算出的类似度在类似度阈值内的所有重叠或相邻的Cw型特征点对置于列表中。
在步骤422中,CPU 12按照最类似对到最不类似对的顺序,对计算出的类似度在类似度阈值内的重叠或相邻Cw型特征点对的列表进行排序。在步骤424中,CPU 12按排序的顺序合并类似特征点对,并按类似度标记这些对。将每个合并得到的特征点对看作为B型特征点。在步骤426中,CPU 12存储B型特征点的列表,并且退出该例程。
在本发明的一个典型实施例中,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型特征点。
作为执行根据本发明的特征的特征点生成和合并技术的结果,可以将图像精确地分割为表示场景中所描述的分离素材的特征点,从而为图像的更鲁棒的计算机处理提供降低由变化的光照条件可能引起的图像处理的不精确度的基础。
在前述说明中,已经参考特定典型实施例及其例子说明了本发明。然而,显而易见,可以对本发明进行各种修改和改变,而不会背离根据所附权利要求书所述的本发明的较宽泛的精神和范围。因而,应当以示例的方式而不是以限制性的意义对待本说明书和附图。