作者简介: 何保雄, 2001年生, 广西科技大学计算机科学与技术学院(软件学院)硕士研究生 e-mail: 2464830573@qq.com
开集分类识别要求分类器不仅能够“辨识”已知类别的测试样本, 而且还要有效地“拒识”未知类别的测试样本; 在光谱分析中有关的研究与应用相对较少。 改进了Ishibuchi提出的经典的闭集框架下的模糊规则多类别分类器, 将其应用于开集分类识别领域。 首先, 使用主成分分析法进行原始光谱曲线向量的光谱维度约简, 降维至4维~6维的光谱特征向量。 其次, 将Ishibuchi提出的模糊规则多类别分类器简化为二元分类器版本, 采用1-vs-1二元分类器进行分类处理, 并且确定该测试样本在相应类别的得票。 最后, 将所有二元分类器的投票数进行统计, 如果某个已知类别的得票数最高, 并且该最高得票数大于预先确定的阈值 τ, 那么测试样本判决为该已知类别; 否则就“拒识”为未知类别, 从而实现了多类别的开集分类识别。 在实验验证中, 对于木材和芒果光谱数据集进行了分组的对比实验, 结果表明, 本方法优于其他的主流的开集分类识别, 包括基于广义基本概率分配(generalized Basic probability assignment, GBPA)的改进的开集框架下的模糊规则多类别分类器; 具有最好的评价指标F-Score, Kappa系数及总体识别率。 此外, 还针对芒果光谱数据集的对比实验进行了双尾McNemar's Test统计检验, 进一步表明该方法相对于其他的开集分类识别方法来说, 具有统计检验意义的优势。
Open set recognition requires that a classifier can not only identify testing samples from known classes but also reject those from unknown classes, which is rarely investigated in spectral analysis. In this article, we revise the conventional fuzzy rule multi-class classifier proposed by Ishibuchi for the closed-set scenario and apply it to open-set recognition. First, principal component analysis is used to reduce the spectral dimension of the original spectral curves, yielding 4- to 6-dimensional spectral feature vectors. Second, the fuzzy rule multi-class classifier proposed by Ishibuchi is simplified to a binary classifier, using a 1-vs-1 scheme to obtain a vote for each testing instance. Lastly, all votes from all binary classifiers are counted to determine the predicted class of the testing instance in the open-set scenario. If one known class gets the maximal vote and this vote is larger than a predetermined threshold τ, this testing instance is classified as this known class. Otherwise, it is rejected as an unknown class. The comparative experimental results across different groups of wood and mango spectral datasets indicate that our proposed scheme outperforms other state of the art open-set recognition schemes, such as the revised fuzzy rule multi-class classification based on generalized basic probability assignment, in the open-set scenario, with the best evaluation measures such as F-Score, Kappa coefficient, and overall recognition accuracy. Moreover, a dual-tailed McNemar's test is performed on the comparative experimental results from the mango spectral dataset to verify further that our proposed scheme is superior to other state of the art open-set recognition schemes.
开集分类识别(open set recognition, OSR)要求分类器不仅能够识别出已知类别的测试样本, 而且还要有效地“ 拒识” 未知类别的测试样本。 这里的已知类别是指分类器的训练集中包括的类别; 未知类别不包含在训练集中, 也即分类器未曾遇见过的那些类别。 目前, 开集分类识别方法主要有两大类[1], 即机器学习方法和深度学习方法。 在机器学习方法中, Scheirer和Boult提出了基于1-vs-Set Machine的Support Vector Machine (SVM), 应用于OSR领域[2]。 后来他们又将Weibull分布校准应用于SVM (W-SVM), 进一步提高OSR分类精度[3]。 类似的, Zhang和Patel也使用Weibull分布表示重建误差的拖尾分布, 提出了一种稀疏表示的OSR分类方法[4]。 此外, 还有一些基于距离分类器的主流OSR分类方法, 例如Bendale和Boult提出的Nearest Non-Outlier(NNO)算法[5]以及Junior等提出的最近邻分类器开集分类算法(open set version of nearest neighbor classifier, OSNN)[6]。 在深度学习方法中, 主要有Bendale和Boult提出的OpenMax深度网络[7], 它修改了SoftMax层, 再次使用了Weibull分布校准策略, 构建已知类别和未知类别的隶属度概率。 另外, Generative Adversarial Nets (GAN) 模型也逐渐应用到OSR领域, 例如Yang等提出的Open-GAN深度网络[8]。
二元分类器(binary classifier, BC)是分类器的一种特殊形式, 它只分类处理两个类别(一般称之为正类和负类), 由于只处理两个类别, 分类器的设计和训练相对简单。 常用的二元分类器有决策树、 线性分类器及间隔分类器等。 通常, 设计和训练多个二元分类器是为了将它们组合起来, 进而扩展应用到多类别分类器(multiclass classifier, MC)中; 因为科学研究和工程实践中的分类问题很多都是多类别分类。 一个典型的范例就是SVM, 它就是组合了多个二元间隔分类器(binary marginal classifier, BMC)来进行多类别分类。 关于多个二元分类器的组合策略, 主要有1-vs-1、 1-vs-rest、 Error Correcting Output Codes (ECOC) 矩阵等策略[9, 10, 11]以及一些改进策略[12, 13, 14]等等。
当前, 光谱分析领域的模式识别研究主要集中在闭集分类识别(closed set recognition, CSR)领域, 它不能“ 拒识” 未知类别的测试样本。 为此, 我们曾提出改进Ishibuchi的模糊规则分类器, 将其应用领域从闭集扩展到开集, 使用了Generalized Basic Probability Assignment (GBPA) 来构建已知类别和未知类别的分类概率, 取得了一定的分类效果[15]。 考虑到二元分类器在SVM的成功应用范例, 并且二元分类器在模糊规则分类器中的应用相对很少, 本工作将Ishibuchi的模糊规则多类别分类器[16, 17, 18]简化为二元分类器的特殊形式, 然后使用1-vs-1组合策略进行多类别分类识别研究, 应用于农林物种光谱开集分类识别领域; 进一步提高OSR的分类处理精度。 假设训练集中有Nclass个已知类别, 那么需要设计和训练$C_{N_{\text {class }}}^{2}$个1-vs-1二元分类器, 然后应用组合策略进行开集分类识别。 这种分类识别方法可以满足农林物种光谱的开集分类识别需求, 具体分析和理由参见2.3节。
模糊规则分类器应用于光谱分析领域具有以下两优点。 首先, 它具有较好的分类泛化性能, 可以在较小规模的训练集中实现分类器的训练。 其次, 它一般适合于低维度(一般是4D~6D)的向量分类处理, 因为高维度向量的隶属度函数设计过于复杂, 并且模糊规则数量过多, 分类处理的计算量相应增加。 因此, 模糊规则分类器是适合于低维度的光谱特征向量(例如经过主成分分析处理后的向量[PC1, PC2, PC3, PC4])分类处理的。 它一般不适合于复杂图像, 因为复杂图像即使经过特征降维后仍然具有较高的维度。
Ishibuchi的经典的闭集框架下的模糊规则多类别分类器, 具有下面形式的if-then模糊规则。
Rule Rj: If xi1 is Aj1 and … xin is Ajn; Then Class Dj with CFj, j=1, 2, …, Nrule(1)
式(1)中, Nrule是全部的模糊规则数量; 训练样本为xi=(xi1, xi2, …, xin), i=1, 2, …, Ntrain (Ntrain表示训练集中的样本数量); Aj1, …, Ajn是相应的模糊集, 分别对应于xi1, …, xin; Dj是该规则产生的结果类别(它是Nclass个已知类别中的一个类别, 即Dj=Ci, i=1, 2, …, Nclass); CFj是模糊规则Rj的置信度。
在简化的1-vs-1二元分类器情况下, 对于每一个二元分类器, 上面的Dj只能是Nclass个已知类别中的某两个类别。 因此总共需要设计和训练$C_{N_{\text {class}~~~}}^{2}$个1-vs-1二元分类器, 具体的训练过程类似于文献[16, 17, 18]的有关章节, 也类似于文献[15]的第2节, 限于篇幅这里不再赘述。
此外, 这里特别需要指出, 由于每个1-vs-1二元分类器只是分类处理两个类别, 因此相应的隶属度函数设计就比较简单了。 一般来说, 隶属度函数设计有3种方法。 第一种是等分布模糊化, 它根据经验选择的词数将话语域等分划分为若干部分。 第二种是自适应模糊化, 需要专家手动调整隶属度函数的数量和位置。 第三种是自动模糊化[19]。 本工作采用第二种方法, 并通过以下4个步骤来完成模糊设置; 针对每一个1-vs-1二元分类器, 这4个步骤通常要执行几次。
(1) 使用Excel将数据均分为若干个区间, 并且计算数据在各个区间的频数, 得到数据在各个特征分量上的分布, 从而产生初始模糊的三角隶属度函数。
(2) 利用训练数据集执行模糊规则训练过程, 生成模糊规则集Q。
(3) 利用CFj阈值找出严重冲突的模糊规则。
(4) 对这些冲突模糊规则, 得到它们在各个特征分量上的数据分布, 选择一个最适合下一轮划分的模糊集。
例如, 图1给出了某一个1-vs-1二元分类器的PC1特征分量上的隶属度函数优化设计结果, 该二元分类器分类处理的两个木材树种拉丁文名称为Ulmus glabra和Magnolia fordiana, 可以看出图1中有9个三角隶属度函数。 在这些三角隶属度函数中, 大部分是用来分类识别这两个已知的木材树种; 少部分是用来“ 拒识” 其他木材树种样本。 作为对比, 文献[15]的图5也给出了第一个特征分量上的隶属度函数优化设计结果, 它具有26个三角隶属度函数(训练集中包括10个已知树种), 远远超过了本文图1中第一个特征分量上的隶属度函数数量(训练集中包括两个已知树种)。
在测试样本的分类处理阶段, 某一个测试样本x=(x1, …, xn)送入到$C_{N_{\text {class}~~~}}^{2}$个1-vs-1二元分类器进行分类处理。 对于每一个二元分类器BCi(i=1, 2, …, $C_{N_{\text {class}~~~}}^{2}$), 执行下面的4个步骤。
(1) 对于每一个BCi训练后生成的模糊规则集Qi(i=1, 2, …, $C_{N_{\text {class}~~~}}^{2}$), 找到一些模糊规则Rj(j=1, 2, …,
(2) 在这些“ 非零” 模糊规则中, 如果有少量的Rj不包含于模糊规则集Qi中, 那么它们的CFj设置为1, 也即CFj=1。
(3) 将这些“ 非零” 模糊规则分成3类, 前两类模糊规则的结果类别Dj分别是该BCi的两个已知类别; 第三类模糊规则不包含于模糊规则集Qi中(它们的CFj=1), 对应于未知类别。 针对这3类模糊规则, 分别计算出3个求和
(4) 如果这3个求和中的最大值
上述的4个步骤需要针对每个二元分类器BCi(i=1, 2, …, $C_{N_{\text {class}~~~}}^{2}$)都执行一次, 然后, 统计测试样本x在各个已知类别中的得票数。 如果某个已知类别的得票数最高, 并且该最高得票数大于预先确定的阈值τ , 那么测试样本判决为该已知类别; 否则就“ 拒识” 为未知类别。 需要说明一点, 本工作中使用主成分分析法(principal component analysis, PCA)进行光谱向量的维度约简, 木材数据集选取前4个主成分作为光谱分类特征向量, 也即测试样本x=(x1, …, xn)=[PC1, PC2, PC3, PC4]; 芒果数据集选取前5个主成分作为分类特征向量[PC1, PC2, PC3, PC4, PC5]。图2给出了本文提出的基于模糊规则1-vs-1二元分类器组合的模糊分类流程图。
采用了两类光谱数据集, 即木材树种的近红外光谱反射率数据集和芒果品种的光谱透射率数据集。 其中, 木材树种光谱数据集是利用本实验室自行搭建的光谱采集设备采集获取的。 使用的木材树种样本为2 cm× 2 cm× 3 cm 的小木块, 采用Flame-NIR微型近红外光谱仪采集木材样本横切面的光谱反射率曲线, 光谱波段为950~1 650 nm, 光谱分辨率为5.4 nm, 采集的光谱向量为128维(128D)。 每个树种包括50个木材样本, 因此采集了50条光谱曲线; 总共有25个木材树种, 具体的信息参见表1, 相应的光谱反射率曲线参见图3。 此外, 芒果品种光谱数据集来源于网络中的开源数据集[20], 总共有10个品种, 分别是Caly, HG, Keitt, KP, LadyG, LadyJ, R2E2, 1 201, 1 243, 4 069。 这些芒果品种是培育的新品种, 没有正式的英文名称和拉丁文名称。 芒果品种光谱透射率曲线波段区间为285~1 200 nm, 光谱分辨率为3 nm, 光谱向量为306维(306D)。 每个芒果品种包括331条光谱曲线, 相应的光谱透射率曲线参见图4。
| 表1 使用的木材树种数据集(25个木材树种) Table 1 The used wood species dataset with 25 species |
| 图3 25个木材树种的近红外光谱反射率曲线图 图中序号与表1编号一致, 表示木材树种名称Fig.3 Spectral reflectance curves of 25 wood species Serial number is the same as that in Table 1 which illustrates wood species) |
| 图4 10个芒果品种的光谱透射率曲线图 图中序号与前面所述的芒果品种名称顺序一致, 表示芒果品种名称Fig.4 Spectral transmissivity curves of 10 mango species Serial number is the same as that sequence mentioned above |
为了进行这两类光谱数据集的开集分类识别实验, 需要把数据集划分为已知类别和未知类别。 对于木材光谱数据集, 设计了5组不同的划分, 每组划分具有不同的已知类别数和未知类别数, 具体信息参见表2。 上述的5组中, 已知类别样本都是以7∶ 3的比例划分为训练集和测试集, 未知类别样本全部用作测试样本。 例如, 第一组中3个类别作为已知类别进行模糊规则训练和生成, 22个类别作为未知类别。 对于已知类别以7∶ 3比例划分为训练集和测试集。 因此已知类别树种的测试样本数量为45, 未知类别树种的测试样本数量为1 100个, 比例为9∶ 220。 类似的, 对于芒果光谱数据集, 设计了2组不同的划分, 具体信息参见表3。
| 表2 木材树种光谱数据集的分组 Table 2 Group division of wood spectral dataset |
| 表3 芒果品种光谱数据集的分组 Table 3 Group division of mango spectral dataset |
在本节中, 提出的方法将和其他的6种OSR方法做对比, 评价指标为Overall Recognition Accuracy (ORA), Kappa 系数以及F-Score。 针对2.1节中的分组, 本方法中1.2节涉及的阈值τ 分别是1、 3、 4、 5、 6(木材数据集5组); 1、 0(芒果数据集2组)。 第一种对比OSR方法是我们曾经提出的改进的Ishibuchi的模糊规则多类别OSR分类器, 它使用GBPA来构建各已知类别和未知类别的分类概率[15]。 第二种对比OSR方法是Bendale和Boult提出的NNO分类算法[5], 其分类阈值τ 分别是1.1、 0.8、 0.8、 0.8、 0.6(木材数据集5组); 1.0、 1.1(芒果数据集2组)。 这两种方法都是应用PCA进行光谱维度约简。
第三种对比OSR方法是加权支持向量数据描述(weighted support vector data description, Weighted-SVDD)组合LibSVM[21], 分类过程有两步骤。 首先, 使用Weighted-SVDD进行单类分类, 将测试样本分类成已知类别和未知类别两大类; 参数值为σ =0.5, C=1.0(木材数据集)以及σ =2.0, C=1.5(芒果数据集)。 其次, 对于已知类别, 再使用LibSVM进一步细分为某个具体的物种类别; 参数值为σ =10, C=2.5(木材数据集)以及σ =5.0, C=1.0(芒果数据集)。 第四种对比OSR方法是Junior等提出的最近邻分类器的开集版本OSNN方法[6], 分类阈值TR=0.8(木材数据集)以及TR=0.2(芒果数据集)。 这两种方法未做光谱维度约简。
第五种和第六种对比方法是扩展了经典的k最近邻分类器, 具体有3个步骤(这两种方法简称为k-nearest neighbor classifier, k-NNC算法)。 首先, 应用PCA进行光谱维度约简。 其次, 使用密度峰值聚类算法[22]对于训练集中的各已知类别样本进行聚类。 第五种方法是通过聚类得到各已知类别的单个聚类中心; 第六种方法是通过聚类得到各已知类别的4个子聚类中心。 最后, 计算测试样本到训练集中的各已知类别的聚类中心或者子聚类中心的距离。 在第五种方法, 设求得的最近距离为d1< T1, 那么该测试样本判决为相应的已知类别; 否则就“ 拒识” 为未知类别。 在第六种方法, 设求得的最近距离为d2< T2, 同样做类似判决处理。 此处的距离阈值为T1=0.2, T2=0.1(木材数据集)以及T1=0.4, T2=0.2(芒果数据集), 通过网格搜索法求得优化后取值。 具体分类结果如表4—表10所示, 最佳评价指标以粗体表示; 表中给出了10次重复性实验的平均值和标准差。 在这些表中可以看出, 本方法在每组实验中均优于其他的OSR方法, 并且当已知类别数量增加时本方法的优势对比更加明显。
| 表4 木材数据集第一组的分类性能对比 Table 4 Classification performance comparisons in group 1 of wood spectral dataset |
| 表5 木材数据集第二组的分类性能对比 Table 5 Classification performance comparisons in group 2 of wood spectral dataset |
| 表6 木材数据集第三组的分类性能对比 Table 6 Classification performance comparisons in group 3 of wood spectral dataset |
| 表7 木材数据集第四组的分类性能对比 Table 7 Classification performance comparisons in group 4 of wood spectral dataset |
| 表8 木材数据集第五组的分类性能对比 Table 8 Classification performance comparisons in group 5 of wood spectral dataset |
| 表9 芒果数据集第一组的分类性能对比 Table 9 Classification performance comparisons in group 1 of mango spectral dataset |
| 表10 芒果数据集第二组的分类性能对比 Table 10 Classification performance comparisons in group 2 of mango spectral dataset |
此外, 为了进一步说明本方法相对于其他OSR方法的分类处理优势, 还对于芒果数据集表9和表10的分类实验结果对比做了进一步的统计检验, 使用了双尾McNemar's Test[23]。 需要说明一点, 由于木材数据集中每个树种只是采集了50条光谱曲线, 样本数量偏少, 无法做双尾McNemar's Test统计检验, 因此该统计检验只针对芒果数据集进行。 该统计检验结果参见表11, 表中的p< 0.05的时候, 表示相应的两种OSR方法具有统计意义的差异。 可以看出, 本方法相对于其他OSR方法来说, 具有统计检验意义的优势。
| 表11 本方法对比其他OSR方法的双尾McNemar's Test统计检验p值 Table 11 The p value of dual tail McNemar's Statistical Test for our proposed scheme compared with other OSR schemes |
从2.2节的实验结果对比可以看出, 本方法相对于其他OSR方法, 的确具有明显优势。 分析其原因, 我们总结了以下3点。 首先, 本文提出的模糊规则多类别分类OSR方法是基于每个二元模糊规则分类器BCi(i=1, 2, …, $C_{N_{\text {class}~~~}}^{2}$), 每个BCi只是分类处理1-vs-1的两个已知类别。 这样, 相应的各个特征分量上的隶属度函数设计就相对简单了, 并且训练生成的模糊规则集Qi中发生模糊规则冲突的概率大大降低了, 这有利于后续的分类处理。 其次, 由于每个BCi只是分类处理两个已知类别(分类处理的已知类别数量很少), 这就给未知类别预留了充足的模糊子空间, 这有利于“ 拒识” 未知类别样本, 从而保证OSR分类处理精度。 例如, 图5给出了某个二元模糊规则分类器的模糊子空间划分情况, 每个特征分量使用了6个均匀划分的三角隶属度函数, 这样就总共产生了36个模糊子空间(也即模糊规则)。 其中, 红色和绿色网格是分配给了两个已知类别, 剩下的蓝色网格分配给了未知类别。 可以看出, 在这些二维(2D)的模糊子空间中, 总共只有两个已知类别和一个未知类别, 分类处理相对简化了, 更容易“ 辨识” 已知类别和“ 拒识” 未知类别; 从而保证了分类识别精度。 最后, 使用1-vs-1二元模糊规则分类器组合进行多类别分类处理, 即使某些已知类别之间较难区分, 也可以通过其他二元分类器进行协助分类。 比如在12个已知类别和8个未知类别的情况下, 类4和类12之间较难区分, 我们可以通过类4-vs-类j(j=1, 2, 3, 5, …, 11)的二元分类器与类12-vs-类j(j=1, 2, 3, 5, …, 11)的二元分类器来协助分类处理类4和类12; 从而保证了类4和类12的分类处理精度。
在文献[15]中, 曾提出改进Ishibuchi的模糊规则分类器, 将其应用领域从闭集扩展到开集, 使用了GBPA来构建已知类别和未知类别的分类概率, 取得了一定的分类效果[15]。 考虑到二元分类器在SVM的成功应用范例, 并且二元分类器在模糊规则分类器中的应用相对很少, 本工作首先将Ishibuchi的模糊规则多类别分类器[16, 17, 18]简化为二元分类器的特殊形式, 然后使用1-vs-1组合策略进行多类别OSR研究, 进一步提高OSR的分类处理精度。
在实际的农林物种光谱分类工程应用背景下, 经常涉及到开集分类识别, 因为一般情况下分类器的训练集不大可能包括所有类别的训练样本。 例如, 全球总计有大约60 065各类树种, 它们分布于世界各地, 想要开发一个木材树种分类识别系统来处理所有这些树种一般是不可能的, 也是没有必要的。 很多情况下需要针对特定区域或者特定属类的木材树种进行相应的开集分类识别处理。 又如, 珍贵稀有树种红木总共包括5属33种。 为了防止市场上以假乱真以次充好的情况发生, 需要针对这33种红木开发特定的分类识别系统。 该系统只能识别这33种红木, 如果有其他树种样本进入系统, 系统应该“ 拒识” 该样本。 因此, 该系统也涉及到红木树种的开集分类识别处理, 具有一定的市场应用价值。
后期的工作将研究二元模糊规则分类器的优化组合策略, 例如考虑使用1-vs-rest以及ECOC矩阵等策略[9, 10, 11]以及一些改进策略[12, 13, 14]等等。 这些优化组合策略主要应用于决策树、 线性分类器、 多层次感知器及间隔分类器等这些二元分类器中, 它们在模糊规则分类器中的应用却鲜有报道, 值得我们做进一步的深入研究。
| [1] |
|
| [2] |
|
| [3] |
|
| [4] |
|
| [5] |
|
| [6] |
|
| [7] |
|
| [8] |
|
| [9] |
|
| [10] |
|
| [11] |
|
| [12] |
|
| [13] |
|
| [14] |
|
| [15] |
|
| [16] |
|
| [17] |
|
| [18] |
|
| [19] |
|
| [20] |
|
| [21] |
|
| [22] |
|
| [23] |
|

