一种基于特征引导样本生成的开集识别算法
文献发布时间:2024-04-18 19:58:53
技术领域
本发明属于图像分类领域,更具体地,涉及一种基于特征引导样本生成的开集识别算法。
背景技术
近年来,深度学习算法已在图像分类领域取得了显著成果。然而,现有的图像分类算法通常在封闭集条件下进行训练和测试,即测试集中的数据类别与训练集中的类别完全相同,未涉及到未在训练集中出现的类别。然而,在实际部署环境中(如自动驾驶和医疗诊断等场景),可能会出现完全未知的数据类别,这严重削弱了现有方法的鲁棒性,并导致图像分类算法的性能下降。因此,研发一种能够准确识别未知数据类别的分类器,在真实环境中实现对未知样本的正确识别变得极为关键和必要的。
开集识别为解决上述问题提供了一种方法,其目标是通过学习一个更具鲁棒性的识别分类器,能够明确地判断样本是否属于包括在训练集中的已知类别,并能够对这些已知类别进行准确的分类。
现有的基于深度学习的开集识别算法分为基于判别模型的算法和基于生成模型的算法。基于判别模型的算法大多采用基于原型学习的方法,通过学习一个可以表征类别的原型特征,压缩类内空间,并利用样本特征距离原型特征的距离对样本进行分类。但是,仅用一个或者有限数量的原型特征很难充分地表示样本的类别信息。基于生成模型的算法通过使用生成模型生成未知样本以考虑未知类别在训练过程中的影响,然而这种方法很难保证生成的未知样本的可靠性和真实性。
参考文献:
[1]BENDALE,Abhijit;BOULT,Terrance E.Towards open set deepnetworks.In:Proceedings of the IEEE conference on computer vision and patternrecognition.2016.p.1563-1572.
[2]CHEN,Guangyao,et al.Learning open set network with discriminativereciprocal points.In:Computer Vision–ECCV 2020:16th European Conference,Glasgow,UK,August 23–28,2020,Proceedings,Part III 16.Springer InternationalPublishing,2020.p.507-522.
[3]YANG,Hong-Ming,et al.Convolutional prototype network for open setrecognition.IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,44.5:2358-2370.
发明内容
针对现有技术中存在的缺陷,以计算机视觉技术与深度学习技术为基础,本发明提出了一种基于特征引导样本生成的开集识别算法,最终完成未知类图像的检测与已知类图像的分类。技术方案如下:
1.一种基于特征引导样本生成的开集识别算法,包括下列步骤:
(1)基于深度神经网络的判别性特征提取的编码器的获取
构建一种判别性特征提取编码器。使用已知类图像数据集对所述的判别性特征提取网络进行预训练,得到预训练后的判别性特征提取编码器。
(2)已知类判别性特征的获取
将训练集中的已知类图像送入步骤(1)中所构建模型,获取其对应的判别性特征。
(3)基于特征引导的未知样本的生成
构建一种生成-判别网络。将步骤(2)中获取的判别性特征送入网络的生成器,生成未知样本。
(4)未知样本真实性的约束
将步骤(3)中生成的未知样本和数据集中的已知样本送入判别网络,约束生成的未知样本符合真实的数据分布,确保生成未知样本的真实性。
(5)利用生成的未知样本微调分类器
将数据集中的已知样本送入分类器,微调分类器,为每个已知类别学习一个可以表征类别信息的原型,保证每个已知类样本距离其对应的类别原型距离近。将步骤(3)中生成的未知样本送入分类器,微调分类器,保证每个未知类样本距离所有类别原型距离远,约束生成的未知样本符合未知类别的数据分布,确保生成未知样本的可靠性。其中分类器的结构和步骤(1)中的编码器相同,参数由步骤(1)中预训练好的编码器参数初始化。
本发明设计的算法由基于深度神经网络的判别性特征提取的编码器的获取和基于特征引导的未知样本的生成两部分组成。首先,使用已知类图像数据集对构建的判别性特征提取编码器进行预训练,获得预训练好的判别性特征提取编码器。其次,利用预训练后的判别性特征提取编码器提取已知类特征,将提取的已知类特征送入生成-判别网络生成未知样本。最后,使用训练集中的已知样本和生成器生成的未知样本对由编码器参数初始化的分类器进行微调,并为每个已知类学习一个可以表征类别的原型特征。在测试阶段,将测试图像输入到微调后的分类器,得到测试样本的特征,度量其和已知类的原型特征间的距离,可得到其分类结果。与现有技术相比,本发明的效果在于极大地提高了在开集识别的准确率。
附图说明
图1算法整体流程框架
图2本发明的网络结构图
图3本发明算法在CIFAR10数据集上与现有基于深度学习的开集识别算法的性能比较
具体实施方式
为使本发明的技术方案更加清楚,下面结合附图对本发明做进一步阐述。本发明按以下步骤具体实现:
步骤一,基于深度神经网络的判别性特征提取的编码器的获取。
本步骤的目标是获得一个能获取判别性特征的编码器。如图2(a)所示,本发明提出的预训练模型包括两个分支:对比学习分支和重建学习分支。对比学习分支包括一个编码器网络f(·)和一个映射头h(·)。编码器网络f(·)用来提取每个图像的高维特征表示,映射头h(·)将高维特征表示映射到低维特征表示。对比学习分支使用对比学习损失最小化同一类别的输入图像的特征之间的距离,最大化不同类别的输入图像的特征之间的距离。重建学习分支包括编码器网络f(·)和解码器网络g(·)。编码器网络f(·)提取输入图像的特征,解码器网络g(·)将提取到的特征重建为原输入图像。重建学习分支使用重建学习损失最小化重建图像和输入图像之间的距离。该步骤的总体损失如下:
L
其中,L
步骤二,已知类判别性特征的获取
将训练集中的已知类图像送入步骤一中预训练好的编码器网络f(·),获取其对应的判别性特征。
步骤三,基于特征引导的未知样本的生成
将步骤二中提取到的已知类特征送入图2(b)所示的生成器中,生成未知样本,生成器的训练损失如下:
其中,D是判别器,x
对于L
y
其中,其中γ是平滑率,K是已知类别的类别数。
步骤四,未知样本真实性的约束
如图2(b)所示,将步骤三生成的未知样本和训练集中的已知类样本送入判别器,约束生成的未知样本符合真实的数据分布。判别器的训练损失如下:
其中,D是判别器,G是生成器,f(·)是编码器,x
(5)利用生成的未知样本微调分类器
将数据集中的已知样本送入分类器,微调分类器,为每个已知类别学习一个可以表征类别信息的原型,使用已知类分类损失约束每个已知类样本距离其对应的类别原型距离近。将步骤三中生成的未知样本送入分类器,微调分类器,使用未知类分类损失约束每个未知类样本距离所有类别原型距离远。其中,分类器的结构和步骤(1)中编码器的结构一致,参数由步骤(1)中预训练好的编码器的参数初始化。分类器训练损失由已知类分类损失和未知类分类损失构成,如下所示:
L
其中,L
其中,P
按照上述过程进行训练,在测试时候,将测试图像输入网络,获得对应的特征,计算该特征距离各类别原型向量的距离,对距离设定一个阈值δ,当距离大于阈值δ时,判断该样本为开集样本,当激活特征值小于阈值δ时,判断该样本为已知类样本,其具体的类别对应于距离最小的原型的类别。
- 结合难分样本生成与学习的SAR图像目标开集识别方法
- 基于特征子空间生成对抗网络的小样本目标识别方法