基于孤立森林的开集识别方法、装置、设备及存储介质与流程

文档序号:34865926发布日期:2023-07-23 19:45阅读:63来源:国知局

本发明属于计算机视觉,具体涉及一种基于孤立森林的开集识别方法、装置、设备及存储介质。


背景技术:

1、常规的机器学习分类模型属于封闭集识别(closed set recognition)任务,只能对已知类别给出是与否的判断,实际使用过程中会把未知类型数据识别成已知的某类数据,这会极大的影响模型的识别效果。与封闭集识别对应的为开集识别(open setrecognition),与传统的封闭集识别不同,封闭集识别假设所有的测试样本都来自于已知的类别,而开集识别则要求模型能够在测试时识别出未知类别的样本。

2、由于开集识别能够检测并拒绝未知类别的样本,因此可以将开集识别作为机器学习算法的补充算法,预先识别并拒绝未知类型数据,能够避免机器学习分类模型将未知类别的样本误判为已知类别的样本,从而提高机器学习分类模型的识别率。开集识别能够应用于如猫狗图片识别、设备缺陷外观检测、欺诈邮件检测等多种机器学习分类任务中。但现有开集识别算法在处理图像数据时效率不佳。


技术实现思路

1、本发明所要解决的技术问题是,针对现有技术的不足,提供一种基于孤立森林的开集识别方法、装置、设备及存储介质。

2、为解决上述技术问题,本发明所采用的技术方案是:

3、一种基于孤立森林的开集识别方法,包括:

4、构建基于孤立森林的开集识别模型,所述开集识别模型中包含图像识别模型和孤立森林模型;

5、将待识别图像输入图像识别模型中获取图像的类别向量和低维表示;

6、将图像的低维表示输入孤立森林模型中获取决策路径长度;

7、利用决策路径长度剔除异常图像,利用图像的类别向量判断该图像的类别。

8、进一步的,所述开集识别模型的构建方法包括:构建样本图像集、构建图像识别模型、构建孤立森林模型。

9、进一步的,所述图像识别模型包括:主干网络、卷积网络、全连接层、多个线性变换层和结果层。

10、进一步的,所述低维表示为所有所述线性变换层单层1d池化结果的拼接向量。

11、进一步的,所述类别向量为所述结果层的输出。

12、进一步的,所述图像识别模型的损失函数为sigmoid函数。

13、进一步的,利用决策路径长度剔除异常图像的方法包括:如果决策路径过短,则剔除该图像。

14、进一步的,利用所述类别向量判断图像类别的方法包括:所述类别向量与预定义的阈值做对比,判断图像中包含的类别特征,并输出判断结果。

15、进一步的,所述样本图像集的构建方法包括:确定需要识别出的类别特征;收集包含类别特征的样本图像;每个图像以其包含的类别特征作为标签进行标注。

16、进一步的,所述样本图像集中还包括:不含任何所述类别特征的样本图像。

17、一种基于孤立森林的开集识别装置,包括:

18、获取单元,用于获取样本图像集;

19、训练单元,用于根据所述样本图像集完成开集识别模型的构建和训练,所述开集识别模型中包含图像识别模型和孤立森林模型;所属图像识别模型用于获取图像的类别向量和图像的低维表示,所属孤立森林模型用于根据图像的低维表示获取决策路径长度;

20、识别单元,用于利用所述图像识别模型获取图像的类别向量和低维表示,用于利用所述孤立森林模型获取决策路径长度,用于根据决策路径长度剔除异常图像,用于根据图像的类别向量判断图像的类别。

21、一种电子设备,包括处理器和存储器;所述存储器用于存储可执行指令,所述处理器用于执行所述指令,以实现权利要求1-7任一项所述的识别方法。

22、一种计算机可读存储介质,所述可读存储介质中存储有指令,当所述指令被执行时,实现权利要求1-7任一项所述的识别方法。

23、目前常用的开集识别算法有基于距离的开集识别算法和基于重构的开集识别算法。基于距离算法主要通过度量样本与训练集数据的距离是否超过某阈值,通常涉及学习训练样本覆盖空间,即已知类别的数据分布空间,在空间外的数据都是未知类别数据。但基于距离的开集识别算法每次样本分析都需要遍历训练样本集,因此会增加计算成本;一些基于距离的算法需要额外的未知类别数据的搜集,但在实际使用中对很难搜集到所有未知类别的数据。

24、基于重构算法使用深度学习算法预测类别的同时对特征数据进行重构,然后设计一些指标度量重构特征与原特征的区别,区别越大说明样本越有可能是未知类别的样本。基于重构的开集识别算法度量指标比松散较难以定义,指标定义过于严苛会影响分类模型的识别效果,而指标定义过于则会导致漏识别;重构算法一般采用自编码器、生成对抗网络等深度学习模型进行重构,而这类网络都有比较高的计算复杂度,计算成本较高。

25、现有开集识别算法常常需要收集额外数据,并训练获取异常数据检测模型。这意味着开发人员需要搜集足够多的各类图片,包括已知类别的和未知的类别,因此图像的收集成本高;再利用图像数据设计深度学习网络结构后,需要经过不断的超参数调优以获取准确的异常检测模型,而超参数调优需要反复试验和实验设计,需要耗费大量的时间和计算资源;由于开集识别算法是在未知数据上进行识别,因此模型的泛化能力可能受到限制。除此之外,模型上线后还需要根据用户的使用反馈来不断维护数据集、维护识别模型。

26、基于上述原因,本技术人采用孤立森林(isolation forest)算法来构建开集识别模型。孤立森林是一种基于树结构的识别算法,每个数据点都被随机地选择,并且在树中随机地分割,直到每个数据点都被分割到一个叶节点上,从而形成一棵随机的二叉搜索树。异常数据点通常比正常数据点更容易被分割到树的较浅层,因此可以通过计算每个数据点在树中的深度(决策路径长度)来识别异常数据点。

27、孤立森林算法相比于基于距离和基于重构算法,其计算复杂度较低,能够在较短的时间内处理大量的数据;孤立森林算法对数据分布的假设较少,因此对于非线性或者非高斯分布的数据也能够有效地进行开集识别;孤立森林算法对噪声数据和异常值具有一定的鲁棒性,能够有效地识别开集中的异常样本;孤立森林算法的树结构能够直观地表示数据的分布情况和异常样本的位置,具有较强的可解释性。

28、但孤立森林算法并不适用于处理图像数据,因为孤立森林算法是针对数值型数据设计的,而图像数据是一种结构化数据。基于树的模型通常在较低维度的数据上训练,由于图像数据的维度超高,因此常规的基于树的模型不能应用在图片识别任务中。如尺寸为1920*1080*3的普通图片也有约600万的维度,如此高维的数据不适合孤立森林算法,即使利用孤立森林算法来识别图像数据,也会大大增加孤立森林模型的计算复杂度,导致算法的性能严重下降;由于孤立森林算法每次切数据空间都是随机选取一个维度,如果处理的是特别高维的数据,建完树后仍然有大量的维度信息没有被使用,导致算法可靠性降低;高维空间还可能存在大量噪音维度或无关维度,影响树的构建。

29、基于此,本技术提出一种改进的开集识别算法,首先利用一种改进的图像识别模型获得图像的降维表示,再利用孤立森林模型进行异常检测。这种方法与基于距离或基于重构的开集识别算法相比,计算复杂度显著降低。同时,图像识别模型仍具有常规的类别识别功能,能够识别通过异常检测图像数据的具体类型。

30、与现有技术相比,本发明有益效果如下:

31、本发明所提供的开集识别算法结合了图像识别模型和孤立森林模型,能够识别未知类别的图像或异常图像,也能识别正常图像的具体类别。传统的开集识别算法往往需要额外的数据来训练模型,以便识别未知类别的图像,但本发明能够在已有的数据集上进行训练,无需额外的数据,因此可以节省开发人员维护数据集和维护模型的工作量。

32、本发明将开集识别问题转换成异常检测问题,利用孤立森林算法进行异常检测。孤立森林算法是一种基于树的异常检测模型,与深度学习相比,孤立森林算法的参数调优相对简单,不需要进行复杂的超参数调节和训练;此外,孤立森林算法只需要遍历树结构来判断数据是否为异常点,不需要进行复杂的矩阵计算,因此推理时计算复杂度比较低。所以本发明能够有效提升开集识别模型的训练效率和识别时的计算效率。

33、本发明利用所设置的图像识别模型包含主干网络、卷积网络、全连接层、多个线性变换层和结果层。主干网络由多个卷积层和池化层组成,用于提取输入图像数据的特征信息;卷积网络包含卷积层和激活函数,能够对主干网络的输出进行非线性变换,增强模型的表达能力;全连接层用于进行分类或回归任务;线性变换层用于调整输入图像数据的形状或维度;结果层是图像识别模型的输出,输出结果为图像数据的类别向量,利用类别向量即可识别出图像数据中包含的具体类别特征。

34、本发明图像识别模型还对每一层线性变换层进行1d池化,池化结果为2维或3维的低维向量,将这些低维向量拼接成一个向量,拼接结果为图像数据的低维表示,随后以每个图像的低维表示作为孤立森林模型的训练数据。本发明将图像数据进行降维处理后输出至孤立森林模型,采用低维数据能够减少孤立森林模型的计算量,提高计算效率;对图像进行降维处理能够将图像数据映射到更低维的空间中,有助于孤立森林模型更好地发现异常点,从而提高模型的表现。因此,本发明将孤立森林模型与图像识别模型相结合,通过对图像数据的降维处理,能够提高孤立森林模型的效率、准确性和泛化能力,能够更快捷的识别出未知类别的图像,也提高了开集识别模型对图像数据的识别效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1