1.简介
目标识别被分为两个类:分类和识别。目标分类是识别自然界目标的归类:例如脸或狗。目标识别是对分类中的具体目标进行识别,例如脸是某个人的或是具体某种车。人类视觉系统分类是一个很自然的分类器:根据目标的视觉特征我们不费力的就能分辨一个目标属于人类、狗、车、房子等其它的。即使一个三岁的小朋友能够很容易的分辨自然界的很多目标。因此目标分类比目标识别要简单的多。目前计算机视觉系统对目标识别的成功率更高,这让人感觉很奇怪,因为目标识别与分类相比需要更详细的特征描述,因此目标识别变得更被需要。
目标分类和目标识别最大的困难是多变,对于目标属于相同的类需要考虑目标在不同情况下的视觉特点。例如对于不同个狗的图像,不同种类狗有不同的特点,并且其视觉特征也不同,对于拍摄到的图像由于视觉角度不同、距离不同、光线的不同及动物姿态的不同都会导致图像表现不同。对于大多数目标目前的状态与之前看到的状态也不同,因此它需要从过去的特征进行校正并且能够对目标进行正确的分类。自然界目标是复杂多变的:例如很难能够提供一种对所有狗的特征描述。视觉系统通过对多变的经验特征进行学习。这使得目标分类比目标识别更难。例如对某一款车的识别,我们可以对目标有一个更具体和全面的描述,对于它的变换也能够有更具体的描述。这些是目标识别方法最基础的,例如,使用图像融合和插补来查找某个目标。在目标分类中,目标变化的范围非常大,而且视觉状态的变化也很大,在同一类也必须要考虑不同目标形状的不同。
本文我们提供了一种方法来表示目标对目标进行分类,这种方法我们称为基于片段的表示。这种方法中某一类的目标图像用具体的某一类片段来替代。这些片段提供普通的目标块,利用不同的合并方式来表示在某一类中不同种类不同的目标图像。下面简要的回顾一些相关的算法,我们对最能代表一类目标的片段的选择方法进行讨论,并给予一些图像例子。之后我们对使用这些片段进行分类并给予结果展示。最后,我们对提出的算法和视觉系统中一些算法进行比较,并给出结论。
2.简要回顾相关算法
包括目标分类和目标识别过去已经提出了很多不同的方法,我们在这对主要算法进行简要的回顾,主要是应用于分类的方法和一些本文提出的方法对其进行改进的算法。
目标分类的一个特别结构是利用点在一个高维的特征空间对目标进行描述,之后利用此分割区域到不同的类。特别的使用n个不同的特征描述目标,结果是采用n维矢量表示目标。已经提出了很多不同的特征计算方法,包括使用图像灰度值作为一维,使用全局特征例如目标图像全部的区域,不同时刻,傅里叶系数描述目标边界,或者在具体应用时使用目标模板。空间分割可以使用不同的技术。一些频率技术包括最近邻分类器来分类目标,例如通过perceptron-type准则和他们的扩展算法[15],或者更优化的使用支持向量机[30]。矢量值是通过神经网络准则进行训练得到的,不同的输入属于不同的输出。
我们的方法是努力描述属于同一类的所有的目标,对一些基本的结构块和他们的结构进行合并。一个总所周知的例子是Recogniton By Components(RBC)方法,相关的准则是使用普通的圆柱来构造目标。RBC使用3-D的一些特征例如立方体、圆锥体、圆柱。目标用在长期不变的3-D部分来描述,并且部分之间的关系是不变的。
其它使用2-D部分图像特征作为目标块,这些块采用特别小的图像特征,与他们空间描述的关系相结合。例如一些特征包括目标局部片段、角点、初级视觉皮层中类型的局部感受的直接输出、小波变换,简单的线或边缘构造,或者纹理片段。
文献[28]中的特征空间方法也是一种普通广泛应用的方法。在这个方法中,某一类目标需要对其进行采集,例如脸,采用对一系列具体操作对块进行合并。图像训练需要一系列描述灰度矢量的特征,训练图像的主成分是精简的。主成分构建目标块在类内描述新的图像,与基本的图像进行合并采用线性的方法。例如,一系列“特征脸”被获取,并且使用它来表示一些可能的脸。在这种方法中,目标块构建是全局的而不是局部的。如我们在下部分看到的,使用我们方法对构建块的选择在复杂度上是中等的:复杂度比之前采用局部特征方法要高,但是他们仍然对应的是部分空间而不不是目标视觉的全部。
3.基于片段分类的选择
基于片段目标分类产生了两个主要问题。第一个问题是怎样根据被给予的类和图像例子来选择片段。第二个是基于片段表示类别是否精确。在这部分我们将解决第一个问题,片段的选择更适用于目标分类。线面的部分将处理分类过程。
我们的方法对于块的选择和使用与之前的方法是不同的,第一,其它的方法使用局部2-D特征,我们不用形状特征。在所有类中目标块选择的形状是不同的,例如在应用中使用RBC方法。我们使用目标片段来表示某一类的目标,在相同的类中直接从看到的目标中获取,从结果列表中可以看出来,脸的碎片形状与表示车或信的特征是不同的。这些片段被用来表示目标块,通过对不同的片段的合并,不同的目标被归属到了同一类。第二,我们使用的目标块的片段获取采用一种最优的方法,通过分类的需求直接获得。这与其他规则相比有很大的不同,其他的方式的构建元素选择方法采用基本的标准,例如正确的对输入图像重建。第三,我们对目标在不同变换和不同视觉状态中,获取同一位置的片段。如我们之后将要看到的,这种方法在目标分类中将起到重要的作用。
使用对图像片段合并的方法来处理类内目标的多样化,这种方法是基于不同目标图像在一个类内有相似的结构——他们能够对一个类目标的基础结构进行合并。概括的讲,估计一个新的图像脸,这个图像是由部分区域合并而成的,例如眼睛、发际线、之前相似的脸。在这部分我们主要描述在一个类内选择能够代表一个集合图像的片段。我们主要面对的是计算复杂度的问题,在下面的部分,我们使用片段描述目标,对目标进行分类。
3.1 选择信息片段
归属于同一个类的一些图像,图像表示不同的目标,我们的原则是选择一系列片段在一个类中能够代表不同的目标。基于片段人类面部分类和汽车分类例子在图1中显示。
片段的选择基于一个原则是使共同的信息I(C,F)最大,C是类别,F是片段。它计算多少信息都被加进了这个类中,不论片段F存在不存在。在所有的自然图像中,在识别任何片段之前,考虑先验概率P(C)图像被判定为类C。识别的片段F增加了信息并且降低了图像的不确定性(通过信息熵计算).我们选择得片段将增加图像归属于类C的概率,或者,尽可能多的降低了不确定性。这些依靠P(F/C),识别在图像中的片段F在类C中的概率,P(F/NC)其中NC是C的补集。
片段F能够较好的表示脸,则在脸类中就能很容易找到脸,在非脸类中则会找不到脸。通过可能比率P(F/C)/P(F/NC)计算。高相似比率的片段对于脸的出现区别度也是较高的。然而,高区分度特征对于脸识别不是必须的。原因是片段是高区分的,但是很稀有。例如,一个模板描述一个人脸是高区分的:在图像中它的出现意味着在图像中含有一个脸。然而,在一个图像中发现这个特别的片段并且使用它进行分类的概率是很低的。换句话说,一个简单的局部特征,例如一个简单的眉毛在大多数脸部图像中都会出现,但是它也会在非脸部图像中出现。大多数信息特征是取中间的尺寸的片段。在选择和使用最优的片段来识别时,我们应该区分我们称为一个片段的“价值”和它的“高区分性”。这个价值通过共同的信息被定义
其中I是共同信息,H信息熵。这个共同信息表示片段F表示类C的有效性,并且基于最大价值的准则进行选择片段来表示类。上面可能概率定义了独特性,并且它在最后分类决定时被使用,下面将做详细的介绍。价值和独特性都被评价给予的估计值P(C),P(F/C),P(F/NC)。总的来说,片段基于他们的价值来进行选择,基于他们的特殊性来进行使用。
下面我们使用高信息来选择片段。例如对汽车图像我们使用成对的方式来比较图像。原因是一个有用的块能够在大多数图像中出现,特别是在两个或多个图像中,因此两两比较能够找到识别目标的区域,并把它作为有用的片段。之后我们在整个汽车数据库中搜索一些候选的片段,之后在第二个数据库中进行比较,这个数据库是一些自然图像组成不含有汽车。我们获得了估计的P(F/C)和P(F/NC)及特别的P(C),我们可以计算片段的共有信息。在这种方式下选择的每一个片段,以相同的位置作为中心,我们通过测试加入的片段扩展搜索最优的片段,我们测试不同的尺寸来确定我们已经选择了最优的片段的尺寸。这个过程不断被重复来搜索最优的位置,对于尺寸则不再进行更新。
在将来的细节中我们不再对这个过程进行描述,除了标记降低分辨率的大片段也是高信息的。例如,一个满的脸片段在高分辨率下是非最优 的,因为能够在图像中发现高分辨率片段的概率是很低的。然而,在一个降低了的分辨率下,这个片段的价值增长到了一个最优的值,它从一开始就降低了。在我们的陈述中我们使用中等复杂度的片段,它包括高分辨率的片段采用中等尺寸,中级的分辨率采用大的片段。
4.分类
从训练图像中选取片段,在学习阶段使用它来分类新图像。这部分我们对目标分类的问题进行分析,分类目标主要基于片段描述。
分类过程是确定目标图像属于某一个类或不属于这个类。在下面的讨论中,我们考虑一个单独的类,例如一个脸或一个车,目标是决定输入图像是否属于这个类。这个二值的决定也能够扩展到处理多类。在一幅图像中并不是仅有一目标,连续的任务包含在图像中搜索一个区域。因此目标分类也是目标识别,在输入的图像中是否含有脸,如果有则需要精确脸的位置。
这个准则包含两个主要步骤:在图像中识别片段,结合片段识别来决定目标位置。在第一步,通过与存储的片段比较每一个位置,片段被识别。这个比较是基于灰度相似性,它对于小的几何形状,即便和灰度变换是不敏感的。结合步骤中,我们也比较两个不同的方法:简单和复杂的策略。简单策略本质上测试了大量的被识别的片段;复杂的策略是基于片段的更复杂的概率分布,考虑片段之间的依赖关系。我们发现基于信息的片段,简单策略与复杂策略一样强大,工作的一样好,在下部分我们会再讨论。
在一部分我们对规则进行更详细的描述。我们开始通过描述用于基本检测片段的相似性度量。
5. 识别个人的片段
对于个人片段的识别是基于对存储的片段和输入图像的灰度比较,忽略一些形变和片段形状的改变,在片段的很小的部分进行比较,执行使用5*5的尺寸。首先我们采用灰度相似进行计算比较,之后怎样比较小碎片被用来识别个人的片段。
我们已经对一些灰度级的比较方法进行了评价,包括新的和已经知道的,在输入的图像中的碎片与存储的碎片计算灰度层的相似度比较。我们测试了许多比较的方法,并且得到了令人满意的结果,在后续的分类准则下,但是我们发现一种方法结合了图像质量Bhat和Nayar,使用下降和方向准则给予了最好的结果。这种方法计算质量相似的图形在一个区域中使用顺序排列的像素,并且计算不同方向使用梯度幅值和方向。对于高质量的模型比较,在两个区域中我们有序的计算像素并对其进行比较,并对相似区域相同顺序的像素的位移总和进行归一化。
图像碎片H和片段碎片F的相似计算D(F,H)是这些位移di的加权和,梯度的绝对方向不同和他们绝对梯度不同
这些计算是成功的,因为它对于片段的局部结构是敏感的,并且少于绝对密度值。
在图像的每一个片段下我们首先比较局部5*5灰度层碎片,使用上面相似的计算。只有变化较大的区域被计算,因为平轻度区域的梯度、方向和顺序标号均值都很小。我们允许通过与每一个像素进行匹配对图像片段比较,对片段的最优的像素在它的邻域的相应的位置。整个算法的计算量都在这一步。在图像中为了识别在不同尺寸下的目标,这个规则被呈现在各种尺寸下。每一个尺寸在正负35%。一些尺寸的合并使得目标识别在他们尺寸可考虑的改变下。
6.合并片段并做决定
在侦查个人的片段之后,我们有一系列的“活跃的”片段,片段在图像中已经被侦查到了。下一步我们需要合并这些片段证据并且得到最后的决定,判断它是否归属于这个类。
在这部分,我们将要考虑两个备选择的方法来合并个人的片段并最终得到一个结论。对于之前的视觉识别方法在使用特征方法和计算复杂度上有一个均衡,简单的特征需要一个复杂的合并规则,复杂的特征使用一个简单的合并准则。
一些识别和分类准则已经在局部图像特征中使用了,例如短面向线、角点、Gabor或wavelet基本函数、或局部纹理。对所有的普通的分类,这些特征是基本的。因此,结合准则不仅仅要依靠图像特别特征的表现,并且要依靠他们的结构,例如,他们空间关系和成对的或者特征之间的相关统计性。很多规则都使用了这种方法,因此需要应用,价值基本的特征识别、附加的位置信息、模型特征的概率分布。相反,分类器使用更复杂,具体的类特征应该使用一个简单的合并准则,因为特征已经能够很好的表示了类别。在下一部分,我们首先规划分类器,运用概率特征一个问题就能够得到最好的解决。之后我们对分类进行试验,并对基于片段分类采用简单合并方法和复杂的合并方法进行比较。
6.1 概率分布模型
我们可以考虑在一些普通的问题,在图像中合并的特征归为了哪一类,对特征合并采用的计算标记为X。在一些普通的状况下,最优的决定通过评价相似比率获得,被定义为:其中P(X/C0)、P(X/C1)是X在类内和类外的条件概率。X元素的表述了基于片段识别准则下这片段在图像中已经被识别了。
在实践中直接使用相似比率增加了学习和存储概率计算问题。一个普通的解决方式是使用受限制的模板,受限制的模块是假设在一个特征矢量的概率分布下得到的。在这样的模型中,参数的数量被用来对概率分布进行编码,它与查看整个表相比是计算量相当的小,并且参数能够被成功的估计。
Belief-Networks是一个广泛应用的方法,利用它可以产生一个简单的具有代表的概率分布,Bayesian-Networks也能产生这样的效果。Bayesian-Network是一个有方向的图形,其中每一个结点代表在决定过程中被使用的变量。方向边缘反映了变量和参数之间依靠的关系,参数是内部连接点的条件概率。文献[19]对Baywsian-Networks进行了详细的描述。Bayesian-Network如此广泛应用是由于它的灵活性和他们能够使用参数之间互依靠来表示概率分布。有很多方法能够使神经网络构造出表示训练数据的结构,并且通过给定待观察的参数值在神经网络中能够很快的计算所有变量的概率。在下面的部分,我们使用这种形式来比较两种被识别片段的方法。一个简单的原则一般被称为“天真的Bayesian”,一个更详尽说明规则使用Bayesian-Network方法。
6.2 Naive-Bayes
Naive-Bayes分类器假设在计算相似比率时整个特征矢量能够被单独考虑,在这种情况下,累状态概率能够被表示为:
单独的概率值从训练数据中被直接计算,在实践中,这意味着我们首先计算每一个在类内和类外的片段Xi的概率,这种方法本质上是假设不同的片段是独立的。(更精确,它假设状态独立)。在我们分类规则中真正的计算量是使用片段,而不是片段本身。这意味着每一个片段(例如发际线或眼睛区域),最匹配的片段被选择了。合并过程如上,通过对这些片段的概率相乘。
6.3 依赖树合并
依赖树模型是一个简单的Bayesian-Network,它描述一个概率分布,这个概率分布包含参数之间成对的依靠,与在naive-Bayes规则下使用的独立假设不同。这些特征被组织到了树结构中,这表示在快速计算输入矢量的概率下统计互相依靠。结构树允许使用一些但不是全部的特征之间的依靠。一个很好的表示数能够从数据之间两两独立的信息中构造。输入矢量的概率被计算通过对每个给定的点之间的概率相乘得到。公式如下:
其中j(i)表示父节点i,X1是树的根节点(代表类参数),并没有父节点。这个条件概率是在对训练数据进行相位方向学习时估计得到的。
6.4 特征的复杂度和结合的复杂度之间的平衡
之前我们已经对两个规则进行了大致的应用和比较。这允许我们比较一个简单的结合规则,基于图像中出现的或不在主要片段,一个更多的详尽说明规则使用一个重定义的概率分布的片段模型。图3像我们呈现了在低分辨率图像中基于片段分类器的结果,片段分类器被训练识别车的边缘。
图3.人脸和汽车识别的例子。图片来自于Weizmann图像库,CMU脸识别图库,最后两个来自于.........
结果以ROC曲线的形式展现,ROC曲线的每一个点表示一个具体的错误警报与分类器的顶点,对于一个给定的可能比率阈值。一个分类器的有效性通过ROC曲线的"高"来评价:对于一个给定的错误警报率,好的分类器将会伴随高的冲击概率。一个分类器总的表现能够通过在ROC图表中曲线区域计算出来。
两种方法的曲线基本相同,展现在合并规则中利用两两之间的关系,而不是采用每个特征单独的信息,这对分类结果将有巨大的影响。这暗示着分类器的大多有用的信息在图像片段中都被独自的编码了,而不是利用他们内部相关性。分类器使用这种特征。当简单的集合特征被使用,不同位置特征两两之间的关系在分类过程中扮演着重要的角色。然而,当更复杂的特征被使用时,例如使用我们信息标准进行选择,则将会应用一个更简单的合并规则。
7. 实验结果