一种基于散点图的分类网络辅助分析方法及装置与流程

文档序号:31447724发布日期:2022-09-07 12:21阅读:65来源:国知局
一种基于散点图的分类网络辅助分析方法及装置与流程

1.本技术涉及图像处理技术领域,具体涉及一种基于散点图的分类网络辅助分析方法及装置。


背景技术:

2.近年来,人工智能和大数据成为了国内外各大领域关注的焦点。在计算机视觉领域,基于深度学习的图像算法有着广泛的应用。使用图像和标注信息的一一对应关系来参与训练卷积神经网络,能够使网络完成分类、目标检测和语义分割等工作。
3.深度学习技术在工业检测中的应用越来越多,但是多数时候是将深度学习看成一个黑匣子,通过数据驱动模型的好坏,由于训练结果与预期有较大差别,但又无从下手和分析,这会造成模型训练过程中的可解释性较差。如何根据训练结果的输出,反过来分析导致分类模型训练较差的原因是需要探讨的重要问题。
4.现在很多深度神经网络没办法以一个从人类角度完全理解模型的决策,虽然很多模型已经达到人类的识别水平,但是我们对于预测结果仍然存在一些戒备之心,因为我们不完全了解模型的预测依据是什么,也不知道它什么时候会出现错误,这也是模型无法部署到一些关键领域的重要因素,比如在运输、医疗、法律等领域的应用仍然受限,在这些领域中仍然无法完全相信模型的能力,试想一下,即便哪天5g无人驾驶问世落地,但人们会真的放弃方向盘而在车里睡觉吗?答案是否定的,这就需要通过分析错误的训练结果反过来指导模型的训练,或者指导训练过程中的一些超参数的调节。通过解释或者指导模型达到人类对模型的信任,从而创造更加安全可靠的应用,进而推动整个ai产业的进步。


技术实现要素:

5.本技术主要解决的技术问题是:如何利对分类网络的训练过程进行评价分析。为解决上述技术问题,本技术提供一种基于散点图的分类网络辅助分析方法及装置。
6.根据第一方面,一种实施例中提供一种基于散点图的分类网络辅助分析方法,包括:利用预设的数据集对分类网络进行训练;所述数据集包括多个样本图像,所述分类网络包括至少一个网络层;获取所述分类网络中任一个网络层输出的各高维特征向量,并形成高维特征组;对所述高维特征组中的各高维特征向量进行线性映射,通过向量选择得到各高维特征向量分别对应的低维特征向量;构建基于低维空间的散点图;所述散点图包括各高维特征向量分别对应的低维特征向量的投影点;根据所述散点图中的各投影点在对应样本图像中的标注信息,确定各投影点分别对应的低维特征向量从属的分类类别;根据各投影点分别对应的低维特征向量从属的分类类别,以及各投影点的分布状态判断所述数据集中各样本图像的分类合理性。
7.所述获取所述分类网络中任一个网络层输出的各高维特征向量,并形成高维特征组,包括:将所述分类网络中的任一个网络层作为分析对象;在所述分类网络对所述数据集中的每个样本图像进行特征学习的过程中,将被作为分析对象的网络层输出的特征图作为
高维特征向量;通过获取所述数据集中各样本图像分别对应的高维特征向量,形成为所述高维特征组,且所述高维特征组表示为x={x1,x2,...xi…
,xm},其中xi表示第i个高维特征向量,m表示各高维特征向量的总数量。
8.所述对所述高维特征组中的各高维特征向量进行线性映射,通过向量选择得到各高维特征向量分别对应的低维特征向量,包括:对所述高维特征组中的各个高维特征向量分别进行中心化处理,得到中心化集合且表示为xc;依据所述中心化集合计算高维特征向量的协方差矩阵,所述协方差矩阵表示为ε=xcx
ct
/m;获取所述协方差矩阵的本征向量和对应的本征值,并根据本征值的大小将本征向量按行排布;获得排布在前的若干行本征向量并构成矩阵p;通过所述矩阵p和所述中心化集合的乘积运算得到低维特征组,且表示为y=pxc;所述低维特征组包括通过向量选择之后得到的高维特征向量分别对应的低维特征向量。
9.所述中心化处理包括:计算所述高维特征组中的各个高维特征向量的向量均值;通过运算每个高维特征向量与所述向量均值之间的差值,得到每个高维特征向量的中心化结果,且表示为xi′
=xi—∑xi/m;统计各个高维特征向量分别对应的中心化结果得到所述中心化集合,且表示为xc={x1′
,x2′
,...xi′…
,xm′
}。
10.在对所述高维特征组中的各高维特征向量进行线性映射时,通过所述中心化处理对映射的特征进行分类,包括:获取预设的分类类别的个数且记为k;随机选取k个高维特征向量作为中心点,遍历各高维特征向量对应的所有数据且计算每个数据点到中心点的距离,将每个数据点划分到最近的中心点分组中;根据各中心点分组计算每个聚类的平均值,并作为新的中心点,利用新的中心点再进行迭代计算,直到这k个中心点收敛或者达到预设的训练次数,此时迭代计算停止;计算各个中心点之间的距离,若两个中心点的距离小于预设阈值,则将这两个中心点进行合并,通过合并以重新得到中心点,直到各中心点不能再进行合并为止;根据当前的中心点个数判断类别数量是否等于分类类别的个数,若是则对映射的特征完成分类;其中,对于映射得到的低维特征向量,获得对应的异常边界且所述异常边界表示为di=xi′
t
σ-1
x

;其中,σ表示协方差矩阵,若di小于指定的阈值,则将所述异常边界标记为为第一颜色以表示分类正常,反之则将所述异常边界标记为第二颜色以表示分类异常。
11.对于二维平面的映射,每个映射的特征表示为
[0012][0013][0014]
进一步可计算得到
[0015][0016]
[0017][0018]
在所述二维平面内,获取映射得到的低维特征向量对应的有效边界用公式表示为
[0019][0020]
其中,n表示一阶矩或称均值,μ表示二阶中心矩,λ表示椭圆的长轴和短轴,δ表示距离阈值。
[0021]
对于三维空间的映射,设置矩阵且表示为
[0022][0023]
其中,
[0024][0025][0026]
在所述三维空间中,计算距离dj且表示为
[0027]dj
=(x
j-μ)
t h-1
(x
j-μ)。
[0028]
其中,h表示二阶中心距,d表示距离,n表示特定类别中特征向量的个数,x表示第j个特征向量,μ表示组内特征向量的平均值;
[0029]
若距离dj小于一定阈值,则映射得到的低维特征向量对应的有效边界内的数据为正常数据。
[0030]
所述根据各投影点分别对应的低维特征向量从属的分类类别,以及各投影点的分布状态判断所述数据集中各样本图像的分类合理性,包括:对于所述数据集中的每个样本图像,若所述样本图像属于一个所述分类类别,且在分布上接近于相同类别的样本图像产生的投影点,则所述样本图像为正常样本;反之,所述样本图像为异常样本;在所述数据集中存在异常样本时,确定所述数据集中各个样本图像的类别划分不具有合理性,并剔除异常样本。
[0031]
根据第二方面,一种实施例中提供一种计算机处理装置,包括:存储器,存储有数据集和分类网络,所述数据集包括多个样本图像,所述分类网络包括至少一个网络层;处理器,包括:训练模块,用于利用所述数据集对所述分类网络进行训练;获取模块,用于获取所述分类网络中任一个网络层输出的各高维特征向量,并形成高维特征组;映射模块,用于对所述高维特征组中的各高维特征向量进行线性映射,通过向量选择得到各高维特征向量分别对应的低维特征向量;构建模块,用于构建基于低维空间的散点图;所述散点图包括各高维特征向量分别对应的低维特征向量的投影点;分析模块,用于根据所述散点图中的各投
影点对应样本图像的标注信息,确定各投影点分别对应的低维特征向量从属的分类类别,以及根据各投影点分别对应的低维特征向量从属的分类类别,以及各投影点的分布状态判断所述数据集中各样本图像的分类合理性。
[0032]
根据第三方面,一种实施例中公开一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现上述第一方面中所述的方法。
[0033]
本技术的有益效果是:
[0034]
依据上述实施例的一种基于散点图的分类网络辅助分析方法及装置,其中的分类网络辅助分析方法包括:利用预设的数据集对分类网络进行训练;获取分类网络中任一个网络层输出的各高维特征向量,并形成高维特征组;对高维特征组中的各高维特征向量进行线性映射,通过向量选择得到各高维特征向量分别对应的低维特征向量;构建基于低维空间的散点图;根据散点图中的各投影点在对应样本图像中的标注信息,确定各投影点分别对应的低维特征向量从属的分类类别;根据各投影点分别对应的低维特征向量从属的分类类别,以及各投影点的分布状态判断数据集中各样本图像的分类合理性。一方面,技术方案利用散点图来对高维特征向量分别对应的低维特征向量的投影点进行可视化表征,从而来指导数据集的划分,既能提升多尺度特征的可视化分析能力,也能够提高神经网络特征提取的分析能力;另一方面,技术方案能够是借助散点图中各投影点分别对应的低维特征向量从属的分类类别,以及在平面或空间中的分布状态来判断数据集中各样本图像的分类合理性,可以定性的对分类网络结构、数据集划分、训练策略等方面进行指导和分析,利于优化分类模型的训练过程。
附图说明
[0035]
图1为本技术一种实施例中计算机处理装置的结构图;
[0036]
图2为本技术一种实施例中散点图的示意图;
[0037]
图3为本技术一种实施例中基于散点图的分类网络辅助分析方法的流程图;
[0038]
图4为本技术一种实施例中形成高维特征组的流程图;
[0039]
图5为本技术一种实施例中处理得到低维特征组的流程图;
[0040]
图6为本技术一种实施例中判断样本图像分类合理性的流程图;
[0041]
图7为本技术一种实施例中分类网络的工作原理图;
[0042]
图8为本技术另一种实施例中分类网络的工作原理图。
具体实施方式
[0043]
下面通过具体实施方式结合附图对本技术作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本技术能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本技术相关的一些操作并没有在说明书中显示或者描述,这是为了避免本技术的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
[0044]
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各
种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
[0045]
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本技术所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
[0046]
为准确地理解本技术的技术方案及发明构思,这里将对一些神经网络的训练技术进行简要说明。
[0047]
为了构建分类模型,通常需要对神经网络进行训练以学习样本图像的特征,比如通过观察数据集和验证集的损失函数值(loss)、准确率等指标对超参数进行调整,最后让神经网络收敛到尽可能低的范围内。在应用中,神经网络的训练结果不尽如人意,仅仅通过对结果的定性分析无法解释模型崩溃的主要原因,本技术通过对神经网络的网络层分析,可分析造成模型奔溃的主要原因,反过来指导或者优化模型的架构、超参数、迭代优化策略等。
[0048]
现有的表征训练效果指标包括损失函数值(loss)、准确率(precision)、召回率(recall)、混淆矩阵(confusion matrix)、f1-score。这些训练数值有一个共同的局限性,那就是作为一个抽象化的数值,难以直观地展现神经网络从数据集学到某种特征的动态过程。本技术技术方案主要根据训练过程中输出的特征图进行分析和处理,获得模型的可视化分析结果,比如散点图形式的分析结果。对于散点图形式的分析结果,获得输出的特征的维度为n维,需要将其在二维平面或者三维空间中显示出来,即降维为2~3维并显示出来。全连接权重反映了每个特征图对分类结果的贡献程度,特征图上的激活值则反映了该特征在对应区域的响应;那么,将特征图的激活值乘以对应权重,则可以得到各个特征图的各个位置对于某一类别的贡献程度。如果将所有特征图进行叠加求和,就可以反映某一区域对某一个类别的贡献度,再通过判断该区域具备的特征是否具有分类特异性(即该区域是否具备足以将某一类别与其他类别区分的特征),这样可以判断神经网络是否有学到有用的特征。
[0049]
实施例一、
[0050]
请参考图1,本实施例中公开一种计算机处理装置,其主要包括存储器11和处理器12,下面分别说明。
[0051]
存储器11存储有数据集和分类网络。其中,数据集包括多个样本图像,即多个样本图像的数据集合;这里的样本图像是指对目标物体取像获得的且经过标注的图像,图像包含有物体形状、纹理、灰度等详细信息和这些信息的标注结果;其中,分类网络包括至少一个网络层,比如卷神经网络的卷积层、池化层或全连接层,而且分类网络以应用程序形式存储在存储器11中。
[0052]
需要说明的是,存储器11可以是闪存卡、固态存储器、硬盘等非易失性存储介质,只要能够存储样本图像的数据集,和分类网络对应的应用程序即可。
[0053]
处理器12与存储器11通信,能够读取存储器11中的数据集,以及调用和加载分类网络对应的应用程序。处理器12可利用数据集对分类网络进行训练,处理得到高维特征组和低维特征组,构建基于低维空间的散点图,借助散点图并结合低维特征向量从属的分类
类别来判断数据集中各样本图像的分类合理性。
[0054]
需要说明的是,处理器12可以通过软件、硬件、固件或者其组合实现,可以使用电路、单个或多个专用集成电路(application specific integrated circuits,asic)、单个或多个通用集成电路、单个或多个微处理器、单个或多个可编程逻辑器件、或者前述电路或器件的组合、或者其他适合的电路或器件,从而使得该处理器12可以执行本技术技术方案中提及的算法处理过程。
[0055]
在本实施例中,处理器12可包括训练模块121、获取模块122、映射模块123、构建模块124和分析模块125,分别说明如下。
[0056]
训练模块121可以从存储器11中读取数据集中的各样本图像,以及可以从存储器11中读取和加载分类网络对应的应用程序,然后利用数据集对分类网络进行训练,目的是学习样本图像的特征,最终构建分类模型。
[0057]
获取模块122可在训练模块121执行分类网络训练过程中,获取分类网络中任一个网络层输出的各高维特征向量,并形成高维特征组。可以理解,网络层通常具有卷积、激活和池化等的处理,会在提取图像特征的同时也改变图像的尺度,比如经过不同尺度的卷积单元之后就会产生不同维度的特征向量。
[0058]
映射模块123可从获取模块122得到高维特征组中的各高维特征向量,对高维特征组中的各高维特征向量进行线性映射,通过向量选择得到各高维特征向量分别对应的低维特征向量。
[0059]
构建模块124可依据映射模块123中产生的低维特征向量构建基于低维空间的散点图。可以理解,该散点图包括各高维特征向量分别对应的低维特征向量的投影点。如果基于的是二维空间,则散点图中各投影点具有二维平面分布的特性;如果基于的是三维空间,则散点图中各投影点具有三维空间分布的特性。
[0060]
分析模块125可对构建模块124中构建的散点图进行分析,根据散点图中的各投影点对应样本图像的标注信息,确定各投影点分别对应的低维特征向量从属的分类类别;以及,根据各投影点分别对应的低维特征向量从属的分类类别,以及各投影点的分布状态判断数据集中各样本图像的分类合理性。
[0061]
本实施例中在进行散点图分析时,通过选取已经向量化的、神经网络的某一层输出作为分析对象。假设选取的特征向量是l维的,这个特征向量可以用l维的坐标系上的一个点来表示。为了衡量数据集的可分性,相当于衡量这些点在高维空间上的可分性,由于通过散点图进行可视化输出时,坐标系维度被限制为二维或三维,因此,利用这些数据点计算协方差矩阵,并根据本征值和本征向量即可将这些数据点投影到一个2~3维空间。
[0062]
对于分类网络,假设共有m个输出的l维特征向量x={x1,x2,...xi…
,xm},这些特征向量可以看作分布在l维坐标系的高维数据点,那么可通过分析这些数据点的可分性来判断数据集的可分性,进而判断当前的数据类别划分是否合理,如果不合理,需要将哪些类别进行合并,再通过后续的判断和分类,进行进一步的类别分析。
[0063]
在本实施例中,为了形成高维特征组,获取模块122可执行以下处理:
[0064]
(1)获取模块122将分类网络中的任一个网络层作为分析对象,比如将神经网络中的卷积层作为分析对象。
[0065]
(2)获取模块122在分类网络对数据集中的每个样本图像进行特征学习的过程中,
将被作为分析对象的网络层输出的特征图作为高维特征向量。
[0066]
(3)由于每个样本图像在经过被作为分析对象的网络层处理之后就会输出对应的特征图,则获取模块122就可据此获取数据集中各样本图像分别对应的高维特征向量,从而利用这些高维特征向量形成为高维特征组。比如,高维特征组表示为x={x1,x2,...xi…
,xm},其中xi表示第i个高维特征向量,m表示各高维特征向量的总数量。
[0067]
在一个具体实施例中,为了形成低维特征组,映射模块123可执行以下处理:
[0068]
(1)映射模块123对高维特征组中的各个高维特征向量分别进行中心化处理,得到中心化集合且表示为xc。可以理解,中心化集合xc可以用矩阵形式表示。
[0069]
(2)映射模块123依据中心化集合计算高维特征向量的协方差矩阵,协方差矩阵可表示为ε=xcx
ct
/m,即ε=1/m
×
xcx
ct
;其中,m表示各高维特征向量的总数量,上标t表示矩阵的转置运算。
[0070]
(3)映射模块123获取协方差矩阵的本征向量和对应的本征值,并根据本征值的大小将本征向量按行排布;由于本征值和本征向量的数量相同且一一对应,所以在排布时本征值越大,则对应的本征向量就在列向量中越排列靠前。需要说明的是,本征值和本征向量均是数学概念,为矩阵的基本参数,这里不再详细说明;而且,协方差矩阵的本征向量与前述的高维特征向量的维度相同。
[0071]
(4)映射模块123获得排布在前的若干行本征向量并构成矩阵p;比如,选取本征值比较大的前2或者前3个值分别对应的本征向量组成一个矩阵p。
[0072]
(5)映射模块123通过矩阵p和中心化集合的乘积运算得到低维特征组,且表示为y=pxc。可以理解,低维特征组y包括通过向量选择之后得到的各高维特征向量分别对应的低维特征向量。
[0073]
在一个具体实施例中,构建模块124是依据低维特征组y中各低维特征向量构建基于低维空间的散点图,这里的低维空间可以是二维平面,也可以是三维空间。比如,由构建模块124构建的基于低维空间的散点图可以参考图2,图2中示意了各高维特征向量分别对应的低维特征向量在二维平面上的投影,形成了一个个投影点。如果数据集中存在若干张,且共三个类别的样本图像,那么经过分类网络分别生成的高维特征向量,且对高维特征向量进行降维后的低维特征向量在二维平面上的投影就是图2中的情况,样本图像的三种类别分别对应于图2中的三种颜色深度,某种类别的一个样本图像对应于图2中某个特定颜色深度的投影点。
[0074]
需要说明的是,由于数据集中对方差贡献度大的图像特征在降维后得以保留,因此降维产生的低维特征向量既反映了原始数据的分布情况,而又可以通过投影点的形式被直观地展现出来,如此方便对散点图进行分析。
[0075]
在一个具体实施例中,为了分析散点图,分析模块125可执行以下处理:
[0076]
(1)分析模块125根据述散点图中的各投影点对应样本图像的标注信息,确定各投影点分别对应的低维特征向量从属的分类类别。
[0077]
(2)分析模块125对于数据集中的每个样本图像,若样本图像属于一个分类类别,且在分布(即散点图中的投影点分布)上接近于相同类别的样本图像产生的投影点,则该本图像为正常样本;反之,该样本图像为异常样本。
[0078]
(3)分析模块125在数据集中存在异常样本时,确定数据集中各个样本图像的类别
划分不具有合理性,并从存储器11中剔除异常样本。
[0079]
在一个具体实施例中,计算机处理装置还可以包括显示器(图1中未示意),该显示器与处理器12连接,用于对处理器12中涉及的样本图像、散点图进行显示,还可以对数据集中各个样本图像的类别划分合理性判断结果进行显示,目的是让用户了解程序处理的过程和结果,实现分类网络训练过程的可视化操作。
[0080]
在本实施例中,公开的技术方案利用散点图来对高维特征向量分别对应的低维特征向量的投影点进行可视化表征,从而来指导数据集的划分,既能提升多尺度特征的可视化分析能力,也能够提高神经网络特征提取的分析能力。
[0081]
实施例二、
[0082]
本实施例中公开一种基于散点图的分类网络辅助分析方法,该辅助分析方法可应用于图1中的处理器12。
[0083]
在本实施例中,公开的辅助分析方法包括步骤210-260,具体可参考图3,下面分别说明。
[0084]
步骤210,利用预设的数据集对分类网络进行训练。
[0085]
步骤220,在对分类网络的训练过程中,获取分类网络中任一个网络层输出的各高维特征向量,并形成高维特征组。
[0086]
步骤230,对高维特征组中的各高维特征向量进行线性映射,通过向量选择得到各高维特征向量分别对应的低维特征向量。
[0087]
步骤240,构建基于低维空间的散点图。该散点图包括各高维特征向量分别对应的低维特征向量的投影点。
[0088]
步骤250,根据散点图中的各投影点在对应样本图像中的标注信息,确定各投影点分别对应的低维特征向量从属的分类类别。
[0089]
步骤260,根据各投影点分别对应的低维特征向量从属的分类类别,以及各投影点的分布状态判断数据集中各样本图像的分类合理性。
[0090]
在本实施例中,参见图4,上述的步骤220主要涉及形成高维特征组的过程,具体可以包括步骤221-223,分别说明如下。
[0091]
步骤221,将分类网络中的任一个网络层作为分析对象;比如,将神经网络中的卷积层作为分析对象。
[0092]
步骤222,在分类网络对数据集中的每个样本图像进行特征学习的过程中,将被作为分析对象的网络层输出的特征图作为高维特征向量。
[0093]
步骤223,通过获取数据集中各样本图像分别对应的高维特征向量,形成为高维特征组。比如,高维特征组可表示为x={x1,x2,...xi…
,xm},其中xi表示第i个高维特征向量,m表示各高维特征向量的总数量。
[0094]
在本实施例中,参见图5,上述的步骤230主要涉及处理得到低维特征向量的过程,具体可以包括步骤231-235,分别说明如下。
[0095]
步骤231,对高维特征组中的各个高维特征向量分别进行中心化处理,得到中心化集合且表示为xc。
[0096]
比如,中心化处理的过程可以描述为:1)计算高维特征组中的各个高维特征向量的向量均值;2)通过运算每个高维特征向量与向量均值之间的差值,得到每个高维特征向
量的中心化结果,且表示为xi′
=xi—∑xi/m;3)统计各个高维特征向量分别对应的中心化结果得到中心化集合,且表示为xc={x1′
,x2′
,...xi′…
,xm′
}。
[0097]
步骤232,依据中心化集合计算高维特征向量的协方差矩阵,该协方差矩阵可表示为ε=xcx
ct
/m,即ε=1/m
×
xcx
ct
;其中,m表示各高维特征向量的总数量,上标t表示矩阵的转置运算。
[0098]
步骤233,获取协方差矩阵的本征向量和对应的本征值,并根据本征值的大小将本征向量按行排布。由于本征值和本征向量的数量相同且一一对应,所以在排布时本征值越大,则对应的本征向量就在列向量中越排列靠前。
[0099]
步骤234,获得排布在前的若干行本征向量并构成矩阵p。比如,选取本征值比较大的前2或者前3个值分别对应的本征向量组成一个矩阵p。
[0100]
步骤235,通过矩阵p和中心化集合的乘积运算得到低维特征组,且表示为y=pxc。可以理解,低维特征组包括通过向量选择之后得到的高维特征向量分别对应的低维特征向量。
[0101]
需要说明的是,步骤230中实质上是对高维特征组中的各高维特征向量进行线性映射,来得到各高维特征向量分别对应的低维特征向量,关键是通过中心化处理对映射的特征进行分类。
[0102]
在对高维特征组中的各高维特征向量进行线性映射时,通过中心化处理对映射的特征进行分类,包括:
[0103]
(1)获取预设的分类类别的个数且记为k,随机选取k个高维特征向量作为中心点,遍历各高维特征向量对应的所有数据且计算每个数据点到中心点的距离,将每个数据点划分到最近的中心点分组中;
[0104]
(2)根据各中心点分组计算每个聚类的平均值,并作为新的中心点,利用新的中心点再进行迭代计算,直到这k个中心点收敛或者达到预设的训练次数,此时迭代计算停止。
[0105]
(3)计算各个中心点之间的距离,若两个中心点的距离小于预设阈值,则将这两个中心点进行合并,通过合并以重新得到中心点,直到各中心点不能再进行合并为止;
[0106]
(4)根据当前的中心点个数判断类别数量是否等于分类类别的个数,若是则对映射的特征完成分类;其中,对于映射得到的低维特征向量,获得对应的异常边界且所述异常边界表示为di=xi′
t
σ-1
x

;其中,σ表示协方差矩阵,若di小于指定的阈值,则将所述异常边界标记为为第一颜色(如绿色)以表示分类正常,反之则将所述异常边界标记为第二颜色(如红色)以表示分类异常。
[0107]
可以理解,在中心化处理过程中,实质上是随机选取k个中心点,其中k由分类的类别确定;然后,遍历所有数据并计算每个点到中心点的距离,将每个数据划分到最近的中心点中;通过计算每个聚类的平均值即可得到新的中心点;只要不断的遍历数据和确定新的中心点,即通过多次迭代计算就可以让这k个中心点不再变化(也就是收敛),从而完成中心化处理。执行上述迭代后,计算每个中心点的距离,如果两个中心点的距离小于预设阈值,则将两个结果进行合并,合并后计算新的中心点,直到不能合并位置;此外,还需要判断类别数量是不是等于分类个数。
[0108]
需要说明的是,通过计算每个中心点的距离可获取每个类别的边界,那么根据边界可判断划分的稳定性。
[0109]
情况一,对于二维平面的映射,每个映射的特征表示为
[0110][0111][0112]
进一步可计算得到
[0113][0114][0115][0116]
在所述二维平面内,获取映射得到的低维特征向量,则对应的有效边界用公式表示为
[0117][0118]
其中,n表示一阶矩或称均值,μ表示二阶中心矩,λ表示椭圆的长轴和短轴,δ表示距离阈值。
[0119]
如此,构造中心点为(n
1,0
,n
0,1
),半径为k
×
λ1、k
×
λ2,与x轴方向夹角为θ的椭圆,通常k=3,则落在椭圆内的为正常的数据点。
[0120]
情况二,对于三维空间的映射,设置矩阵且表示为
[0121][0122]
其中,
[0123][0124][0125]
在所述三维空间中,计算距离dj且表示为
[0126]dj
=(x
j-μ)
t h-1
(x
j-μ);
[0127]
其中,h表示二阶中心距,d表示距离,n表示特定类别中特征向量的个数,x表示第j个特征向量,μ表示组内特征向量的平均值。
[0128]
可以理解,若距离dj小于一定阈值,则映射得到的低维特征向量对应的有效边界
内的数据为正常数据,相当于对应的数据位于椭球内。
[0129]
在本实施例中,上述的步骤240主要涉及构建散点图的过程,该散点图既可以在二维平面,也可以在三维空间中进行表示,目的是实现散点图中投影点的可视化,因为更多维的空间不易进行可视化表示。比如,在图2中示意了各高维特征向量分别对应的低维特征向量在二维平面上的投影,形成了一个个投影点。图2中的三种颜色深度表示的是数据集中三个类别的样本图像,每个特定颜色深度的投影点对应于数据集中某种类别的一个样本图像。
[0130]
在本实施例中,上述的步骤250主要涉及确定低维特征向量从属的分类类别的过程,采用的方法是根据散点图中各投影点对应的样本图像的标注信息,来确定各投影点分别对应的低维特征向量从属的分类类别。可以理解,由于每个投影点对应于一个样本图像,而且样本图像已经被事先标注,所以每个投影点对应样本图像的标注信息就揭示了该投影点对应的低维特征向量从属的分类类别。
[0131]
在本实施例中,参见图6,上述的步骤260主要涉及判断分类合理性的过程,具体可以包括步骤261-264,分别说明如下。
[0132]
步骤261,对于数据集中的每个样本图像,若该样本图像属于一个分类类别,且在分布上接近于相同类别的样本图像产生的投影点,则该样本图像为正常样本;反之,该样本图像为异常样本。
[0133]
步骤262,按照步骤261的方式可得到数据集中各个样本图像分别对应的正常或异常情况,得到样本情况记录,那么此时就可判断样本情况记录中是否存在异常样本,若是则进入步骤263,反之进入步骤264。
[0134]
步骤263,在数据集中存在异常样本时,确定该数据集中各个样本图像的类别划分不具有合理性,并剔除异常样本。可以理解,剔除异常样本之后就确保了数据集中剩余样本图像的分类合理性,再用剩余的样本图像对分类网络进行训练就可优化网络的训练过程,使得特征学习能力更加可靠,且特征学习结果也更加准确,最终能够训练得到优异性能的分类模型。
[0135]
步骤264,在数据集中不存在异常样本时,即均为正常样本时,确定数据集中各个样本图像的类别划分具有合理性。在数据集中各个样本图像的类别划分合理的情况下,可直接使用数据集中的各样本图像对分类网络进行训练。
[0136]
在本实施例中,公开的技术方案能够是借助散点图中各投影点分别对应的低维特征向量从属的分类类别,以及在平面或空间中的分布状态来判断数据集中各样本图像的分类合理性,可以定性的对分类网络结构、数据集划分、训练策略等方面进行指导和分析,利于优化分类模型的训练过程。
[0137]
在一个具体实施例中,参与分类网络训练的数据集包括多个样本图像,样本图像是指对目标物体取像获得的且经过标注的图像,图像包含有物体形状、纹理、灰度等详细信息和这些信息的标注结果。而且,这里的分类网络包括至少一个网络层,比如神经网络的卷积层、池化层、全连接层。需要说明的是,分类网络可以是一般的卷积神经网络,比如图7中示意的网络结构,同时也示意了借助卷积神经网络进行样本图像处理的原理。主要分为三个阶段,在特征提取阶段中通常利用卷积网络层来提取图像特征以得到特征图,在特征图向量化阶段中通常利用全局池化操作将特征图转化为特征向量,在分类阶段中通常利用全
连接网络层处理特征向量得到每个分类结果的置信度。在图7中,将每个样本图像输入到卷积神经网络内,经过卷积(convolution)、激活(activation)、池化(pool)中一个或多个网络层的特征提取处理后,得到每个样本图像对应的特征图,通过抽取特征即可得到对应的特征向量,特征向量被送入到全连接层进行类别置信度的估计,得到特征向量对应的类别置信度,那么依据类别置信度即可统计得到类别特征图。由于卷积神经网络中的每个网络层都可能会导致训练失败或模型崩溃,那么可将图7中的各个网络层分别作为分析对象,从而进行前述的辅助分析,进而排除数据集中的所有异常样本,保证剩余样本图像的类别划分合理性。
[0138]
在一个具体实施例中,分类网络可以是特别设计的卷积神经网络,比如图8中示意的网络结构,同时也示意了借助卷积神经网络进行样本图像处理的原理。在图8中,将每个样本图像输入到卷积神经网络内,经过卷积(convolution)、激活(activation)、池化(pool)中一个或多个网络层的特征提取处理后,得到每个样本图像对应的特征图,通过全局池化和全连接处理以进行类别置信度的估计,得到特征向量对应的类别置信度,那么依据类别置信度即可统计得到类别特征图。在得到每个样本图像对应的特征图之后,还可以将特征图输入到卷积(convolution)、激活(activation)、池化(pool)中一个或多个网络层中,通过特征提取处理得到其它维度的特征图,对其它维度的特征图进行全局池化和全连接处理后,得到特征向量对应的类别置信度,在依据类别置信度可统计得到其它维度的类别特征图。可以理解,由于卷积神经网络的不同网络层生成的特征图的分辨率不同,特征图每个像素对应的感受野也不同,因此选取图8中两种尺度大小的特征图,这有助于获得多种尺度的图像信息。可以理解,由于卷积神经网络中的每个网络层都可能会导致训练失败或模型崩溃,那么可将图8中的各个网络层分别作为分析对象,从而进行前述的辅助分析,进而排除数据集中的所有异常样本,保证剩余样本图像的类别划分合理性。
[0139]
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
[0140]
以上应用了具体个例对本技术进行阐述,只是用于帮助理解本技术技术方案,并不用以限制本技术。对于所属技术领域的技术人员,依据本技术的思想,还可以做出若干简单推演、变形或替换。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1