外观变化大的目标类别检测是计算机视觉领域的一个基本问题。由于类内部的可变性、视角和照明,目标类别的外观可能会发生变化。对于外观变化较大的目标类别,需要使用基于子类别的方法。本文提出了一种基于外观变化自动将一个目标类别划分成适当数量的子类别的子类别优化方法。我们没有使用基于领域知识或验证数据集的预定义的类内子分类,而是使用基于鉴别图像特征的非监督聚类来划分样本空间。然后利用子类别判别分析验证了聚类性能。基于无监督方法的聚类性能和子类别判别分析结果,确定了每个目标类别的最优子类别数。大量的实验结果显示使用两个标准和作者自己的数据库。比较结果表明,我们的方法优于最先进的方法。
对具有较大外观变化的一般目标类别进行分类、检测和聚类是计算机视觉中极具挑战性的任务。物体类别的图像外观会因为许多因素而改变,例如类别内的变化很大(不同的纹理和颜色)、不同的照明条件、方向/观看方向和姿势。对于类内变化较小的目标类别,Viola和Jones提出的级联结构分类器是一种有效的解决方案。但是,对于具有较大外观变化的更多样化的模式,如多视图汽车、奶牛和狗,则需要更强大的分类器模型。这种分类器的基本原理之一是[2]和[3]中使用的分治方法。在他们的方法中,当类别不能作为一个整体建模时,它被分成几个子类别,然后系统分别为它们学习一个模型。但是,当外观由于多种因素发生变化时,很难找到一个主要的属性来划分样本。手工为训练样本分配子类别标签可能很困难,而且很耗时。此外,基于领域知识的子分类可能不是最优的分类任务。本文定义了一些简单的准则,可用于自动确定一个目标类别的子类别的最优数目。特别地,我们提出了两个标准。在第一个准则中,我们没有使用基于领域知识的预定义类内子分类方法,而是使用基于鉴别图像特征的无监督聚类算法来划分样本空间。为此,我们使用了概率潜在语义分析(pLSA)模型[4]的目标特定聚类概率。这样一个主题模型最近在目标类分类[5]、[6]中的成功引起了人们对主题优化和子分类相关前沿的极大兴趣。特别是,Fritz等人提出了一种表示方法,使用主题模型来分解、发现和检测可视目标类别。然而,在他们的方法中,在学习过程中子类别的总数是固定的,因此在训练数据集上它们的数量没有得到优化。在第二个准则中,每个类别下的聚类数作为子类别数,我们使用子类别判别分析(SDA)技术[7]来分析给定子类别数的判别能力。
在本节中,我们描述了我们的子类别优化方法,它结合了聚类性能分析和子类别判别分析。从图像开始,我们首先展示我们的数据表示。然后我们描述如何将主题模型应用于此表示并为每个目标类别生成集群。最后,以生成的簇作为分类,混合系数作为判别特征,对判别功率进行了分析。
为了构建pLSA模型的视觉词汇和词汇,我们从所有的训练图像中检测和描述兴趣点。兴趣点检测器和不变局部描述符的组合显示了描述图像和目标的有趣功能。在本研究中,我们首先使用Canny边缘检测器构造图像的边缘映射。然后分两个阶段检测边缘图上的局部兴趣点。首先,我们使用He和Yung[8]提出的技术,基于边缘的局部和全局曲率特性,可靠地检测边缘映射中的角点,并将整个角点作为一组关键点。在第二阶段,通过对物体边缘进行均匀采样来选择剩余的总关键点。每个生成的关键点都使用半径为r = 10的圆形patch上的128维SIFT描述符进行描述。利用k-均值聚类算法对SIFT描述符进行矢量量化,形成可视化词汇表。在pLSA的公式中,我们计算一个共现表,其中每个目标都表示为可视化词汇表提供的可视化词汇的集合。
在学习阶段,pLSA模型将对象d中一个可视单词w的每次观察与一个簇变量z关联起来,利用极大似然原理确定P(w|z)和P(d|z)。对于所有的训练图像,混合系数P(z_k|d_j)都可以看作是目标特征,用于分类。我们计算P(z_k|d_j)为:
P\left(z_{k} \mid d_{j}\right)=\frac{P\left(d_{j} \mid z_{k}\right) P\left(z_{k}\right)}{\sum_{l=1}^{K} P\left(d_{j} \mid z_{l}\right) P\left(z_{l}\right)}
如果Di表示第i类目标的集合,那么P\left(z_{k} \mid D_{i}\right)=\frac{1}{n_{i}} \sum_{l=1}^{n_{i}} P\left(z_{k} \mid d_{l}\right) 表示在D_i 下z_k 簇的概率。这里n_i 是第i类目标的总数。
\sum_{i \in Z} p\left(z \mid D_{i}\right)=1 ,其中z = {z_1, z_2,…,z_K}和K是集群的总数。对于C个目标类别,R=\sum_{i=1}^{C} \sum_{z \in Z} P\left(z \mid D_{i}\right)=C 。我们可以计算总的集群概率和为,R_{s c}=\sum_{i=1}^{C} \sum_{z \in L_{i}} P\left(z \mid D_{i}\right) ),其中Li是分配到第i个类别的集群列表。为了确定最优的集群数量,我们需要对每个可能的集群数量K使用以下公式计算E_K值,然后选择最小值。
如果D_i 代表目标类别i的集合,然后P\left(z_{k} \mid D_{i}\right)=\frac{1}{n_{i}} \sum_{l=1}^{n_{i}} P\left(z_{k} \mid d_{l}\right) 代表给定D_i 时,簇z_k 的概率。因此对第i个目标类
\sum_{z \in Z} P\left(z \mid D_{i}\right)=1 ,其中Z=\left\{z_{1}, z_{2}, \ldots z_{K}\right\} ,并且K是簇的总数。对C的目标类R=\sum_{i=1}^{C} \sum_{z \in Z} P\left(z \mid D_{i}\right)=C 。我们可以计算总的集群概率和为 R_{s c}=\sum_{i=1}^{C} \sum_{z \in L_{i}} P\left(z \mid D_{i}\right) ,其中L_i是分配给第i个类别的集群列表。为了确定最优的集群数量,我们需要对每个可能的集群数量K使用以下公式计算E_K 值,然后选择最小值。
E_{K}=\frac{1}{C}\left(R-R_{s c}\right)
然而,在实验评价中可以看出,对于外观变化较大的较为复杂的对象类别,仅使用该准则并不总是稳定的。因此在下一节中,除了这个准则外,我们将使用上面的簇和混合系数来确定一个更稳定的优化准则。
一旦使用混合高斯分布确定了每个集群的数据分布,就很容易使用下面的广义特征值分解方程来找到对数据进行最佳分类的判别向量,S_{B} V=S_{W} V \Lambda ,S_W 是子类内的散射矩阵,S_B 是子类间的散射矩阵(两个矩阵都是对称的,半正定的),V是一个列对应区别向量的矩阵,\Lambda 是一个对角阵对应特征值。
S_B = \sum_{i=1}^{C-1} \sum_{j=1}^{K_{i}} \sum_{k=i+1}^{C} \sum_{l=1}^{K_{k}} p_{i j} p_{k l}\left(\mu_{i j}-\mu_{k l}\right)\left(\mu_{i j}-\mu_{k l}\right)^{T}
,这里p_{ij} 和\mu_{ij} 分别是第i个类别中第j个子类,先验和均值。Ki是类别i中的子类别数,\sum_{i=1}^{C} K_{i}=K 是子类别划分的总数,等于pLSA模型生成的集群总数。我们可以将子类别内的散射矩阵定义为S_{W}=\frac{1}{n} \sum_{i=1}^{C} \sum_{j=1}^{n_{i}}\left(x_{i j}-\mu_{i}\right)\left(x_{i j}-\mu_{i}\right)^{T} ,其中xij为类别i的第j个样本(混合系数)。
对于子范畴判别分析,我们要同时使散射矩阵S_B 给出的测度最大和S_W 计算的测度最小。但是,在某些情况下,这可能无法并行完成。在这种情况下,(3)可能导致错误的分类。幸运的是,这个问题很容易被发现,因为当这种情况发生时,S_B 和S_W 的第一个特征向量之间的夹角很小。这可以正式计算为[9],P=\sum_{i=1}^{m} \sum_{i=1}^{i}\left(u_{j}^{T} w_{i}\right)^{2} ,其中u_i 和w_i 是S_W 和S_B 的特征向量,与第i大的特征值相关,m < rank(S_B)。我们希望上面定义的P的值尽可能小。我们可以计算这个方程的归一化值对于K的每个可能值,
P_{K}=\frac{1}{m} \sum_{i=1}^{m} \sum_{j=1}^{i}\left(u_{j}^{T} w_{K, i}\right)^{2}
为了确定稳定性标准,我们计算由pLSA模型生成的每个可能集群的EK和PK的平均值。我们对K = C到(C + r)重复这个过程,其中r的值可以由用户指定,以找到使平均值最小的K的值。
为了度量分类和优化性能,我们使用了eth80数据库,它包含8个类别的3280张图像。每个类别包括在总共41个视点中拍摄的10个物体的图像。在我们的实验中,一个类别的10个实例中的10张不同视图的图像被用作测试数据集,其余的图像被用作训练数据集。因此,每个阶段我们使用了80张测试图像和3200张训练图像。因为每个实例有41个视图,所以有相同数量(41个)的训练/测试阶段。在每个训练阶段,我们使用我们的算法来确定目标类别的子类别的最优数量。图1(a)为其中一个训练阶段图上圆形标记所示的优化结果。在这个图中,y轴表示一个冲突度量,该度量通过取每个可能的子类别的EK和PK的平均值来计算。优化发生在53个子类别。每个目标类别的子类别数如表一所示。图2为类别car的8个最优子类别中的5个子类别(第1至第5行)的几个典型图像。
在分类过程中,我们从一个图像d_j中提取一个可视单词w_i ,然后将每个可视单词以最高的集群特定单词概率P\left(w_{i} \mid z_{k}\right) 进行分类。然后,根据支持特定集群的可视单词的最高数量对目标进行分类。图1(b)为八个目标类别的平均分类结果。如果没有子分类,我们只能得到59.5%的识别准确率。而子类别优化后,平均分类准确率最好为84.75%。我们的平均分类结果与Zhu等人的[7]相当。他们使用基于特征的方法获得了82%的识别准确率。与[7]相比,我们更好的结果可能是由于每个类别的子类别优化,而不是为每个目标类别划分相同数量的子类别。
在本节中,我们将我们的方法与其他[10]、[5]方法在ETHZ形状类上的性能进行比较,ETHZ形状类包含总共255幅图像,这些图像沿着苹果商标(40)、瓶子(48)、长颈鹿(87)、杯子(48)和天鹅(32)进行划分。我们使用与[10]中描述的相同的参数设置来比较我们的方法。使用[10]中提出的五重交叉验证,我们得到了表II中的结果。优化算法将5个目标类别分解为11个子类别。在识别阶段,我们提取了一个视觉词汇袋(BOVW),并使用优化后的模型,使用我们最近在[11]中引入的方法来生成一个有希望的假设。假设的位置然后验证使用支持向量机分类器使用以下功能具体χ2合并内核,
K(X, Y)=\alpha e^{\left[-\sum_{l=0}^{L} \frac{1}{2^{l}} \frac{(X-Y)^{2}}{X+Y}\right]}+\beta e^{\left[-\frac{(X-Y)^{2}}{X+Y}\right]}
在右边第一部分(5)措施金字塔的方向梯度直方图之间的相似性(PHOG)特性集与金字塔的数量水平L = 2,第二部分措施BOVW特性集之间的相似度,α和β的权重PHOG BOVW内核,分别。在所有情况下,除了苹果标识,我们的方法比其他两种方法表现得更好。我们的平均检测和定位性能比Fritz等人的[5]提高了4.3%,比Ferrari等人的[10]提高了12.3%
在本节中,我们将展示10类数据库的检测和定位性能。它由与我们的应用程序(服务机器人)相关的日常对象组成,这些对象在不同的环境中与一个杂乱的、真实的背景相对应。我们的数据库包含多个对象的图像每个图像,并创建与地面真相包围框。总共有809张图片,包含2138个物体。其中630个对象(340幅图像)用于训练,1508个对象(469幅图像)用于测试系统。在训练期间,优化发生在10个对象类别的21个子类别。如表三所示,如果不进行亚分类,我们的系统平均检测和定位率(DLR)为61%,为0.64 FPPI。另一方面,使用最优的子类别数量,系统将平均DLR提高到84.5%,将FPPI从0.64降低到0.61。图3显示了我们的方法的一些检测结果,记录了不同数据库在杂波背景、部分遮挡、显著尺度和视点变化下的性能。
在本文中,我们提出了一种子范畴优化方法,它能够将一个目标范畴优化成适当数目的子范畴。中我们的方法也能够区分不同目标类别使用功能具体χ2合并内核形状和外观特性。实验结果表明,该方法可以从边界框标注的图像中学习模型,并在存在大量杂波、尺度和视点变化以及类内可变性的情况下检测和定位新的类实例的边界。