基于图像特征的业务异常检测方法及装置与流程

文档序号:12721362阅读:216来源:国知局
基于图像特征的业务异常检测方法及装置与流程

本申请涉及计算机应用领域,尤其涉及一种基于图像特征的业务异常检测方法及装置。



背景技术:

随着计算机网络技术的普及率不断提高,应用场景不断丰富,网络规模在不断扩大,而且各种网络技术也层出不穷。在网络发展带来信息爆炸式发展带来便利的同时,也同时会面临一些新的挑战,尤其是对于一些异常问题的检测。

一方面,网络越复杂,可能出现问题的环节也越多,网络出现异常问题的概率也就更大;另一方面,由于网络结构错综复杂,快速而准确的发现和找到问题根源也更加困难;而且,当某一个网络出现异常问题,该异常问题可能会向依赖该网络的其它网络传播,从而导致依赖该网络的其它网络也会异常。因此,为了保障网络的正常运行,有必要采取有效的措施对网络进行监督和管理,一旦发现业务异常情况,能够及时发现问题,并且迅速解决。

然而,在相关技术中,对网络进行业务异常检测,通常是在后台通过检测网络流量来完成的,而网络中的流量通常并不稳定,因此会影响异常检测的准确度。



技术实现要素:

本申请提出一种基于图像特征的业务异常检测方法,该方法包括:

从目标页面的页面图像中提取图像特征;

将提取出的所述图像特征输入预设的异常检测模型中进行计算;其中,所述异常检测模型为基于从若干正常页面以及异常界面中提取出的图像特征训练得到的机器学习模型;

基于所述异常检测模型的计算结果针对所述目标页面进行异常检测。

可选的,所述方法还包括:

基于预设的若干样本页面的页面图像生成图像样本集合;其中,所述图像样本集合中的正常页面的页面图像以及异常页面的页面图像均被标定了对应的识别标签;

分别提取所述图像样本集合中的页面图像的图像特征;

将提取出的图像特征作为训练样本,基于预设的机器学习算法进行训练以得到所述异常检测模型。

可选的,所述异常检测模型为SVM支持向量机模型。

可选的,所述图像特征为图像纹理特征;其中,所述图像纹理特征包括图像全局纹理特征和图像局部纹理特征。

可选的,所述图像全局纹理特征为GLCM灰度共生矩阵特征;所述图像局部纹理特征为LBP局部二值模式特征。

本申请还提出一种基于图像特征的业务异常检测装置,该装置包括:

提取模块,从目标页面的页面图像中提取图像特征;

计算模块,将提取出的所述图像特征输入预设的异常检测模型中进行计算;其中,所述异常检测模型为基于从若干正常页面以及异常界面中提取出的图像特征训练得到的机器学习模型;

检测模块,基于所述异常检测模型的计算结果针对所述目标页面进行异常检测。

可选的,所述提取模块进一步:

基于预设的若干样本页面的页面图像生成图像样本集合;其中,所述图像样本集合中的正常页面的页面图像以及异常页面的页面图像均被标定了对应的识别标签;分别提取所述图像样本集合中的页面图像的图像特征;

所述装置还包括:

训练模块,将提取出的图像特征作为训练样本,基于预设的机器学习算法进行训练以得到所述异常检测模型。

可选的,所述异常检测模型为SVM模型。

可选的,所述图像特征为图像纹理特征;其中,所述图像纹理特征包括图像全局纹理特征和图像局部纹理特征。

可选的,所述图像全局纹理特征为GLCM灰度共生矩阵特征;所述图像局部纹理特征为LBP局部二值模式特征。

本申请中,通过从若干正常页面以及异常界面中提取出的图像特征训练机器学习模型,当需要进行异常检测时,可以从目标页面的页面图像中提取图像特征,并将提取出的图像特征输入异常检测模型中进行计算,然后根据计算结果针对该目标页面进行异常检测;实现了可以完全基于从目标页面的页面图像中提取出的图像特征,在前台完成异常检测,而不再需要在后台通过流量检测来执行异常检测,因而可以提升异常检测的稳定性;同时,通过从正常页面以及异常界面中提取出的图像特征训练机器学习模型,并使用机器学习模型针对目标页面进行异常检测,能够提升异常检测的准确度。

附图说明

图1是本申请一实施例示出的一种基于图像特征的业务异常检测方法的流程图;

图2是本申请一实施例示出的一种异常检测模型的离线训练以及实时使用的流程示意图;

图3是本申请一实施例示出的一种基于图像特征的业务异常检测装置的逻辑框图;

图4是本申请一实施例提供的承载所述一种基于图像特征的业务异常检测装置的异常检测设备的硬件结构图。

具体实施方式

在相关技术中,对网络进行业务异常检测,通常是在后台通过检测网络流量来完成的。现有的业务异常检测主要有以下几种实现方案:

第一种方案,基于经验阈值的业务异常检测方案。

在这种方案中,通常需要网络管理人员根据网络管理的丰富经验,来确定出网络性能和流量参数的阈值,当网络在某个时刻的性能参数和流量超过某个阈值时,就认为此时的网络出现了业务异常。这种方案的核心在于,确定出较为合理的阈值,如果阈值设置太小,会导致业务异常情况的误报;当阈值设置过高,则容易导致业务异常情况的漏报。

然而,这种基于经验阈值的方案,通常要求网络管理人员对网络中的流量数据有着丰富的管理经验,需要耗费大量的人力和物力对于流量进行人工分析。而且,实际的网络流量本身并不稳定,不同的网络结构,不同应用场景下的流量数据特征通常完全不同,因而使得阈值的设定非常困难;如果阈值设置太小,会导致异常情况的误报;当阈值设置过高,则容易导致异常情况的漏报;并且,在某个应用中设定的阈值,在其他应用中可能完全无法适用。

第二种方案,基于统计学的流量异常监测方案。

例如,可以采用GLR(Generalized Likelihood Ratio)监测方法,这种方案通常是基于时间窗口序列,计算相邻时间窗口序列的回归模型参数,得到似然联合比,如果当前似然联合比大于一定的阈值,就进行异常监测的报警。这种方案的核心在于,通检测网络流量平均观测值的平移或跳跃行为,从而达到异常检测的目的。

然而,这种基于统计学的异常监测,通常要求流量数据有着明显的数据分布特征,比如符合高斯分布,泊松分布等;当数据分布较为理想,异常检测的准确率就较高;当网络流量不稳定,造成历史数据较少,数据可能就会不符合某种分布,使得统计的参数不准确,从而导致检测准确率较低。

第三种方案,基于小波变换的流量异常检测方案。

小波变换是一种结合时间和空间特性的数据分析方案,通过小波分析,可以把数据流量信号分解到不同的频带,从而得到不同频带的特征,对于异常检测,检测率较高。

然而,基于小波分析的异常检测方案,对于数据流量微小的变动都会检测出来,而实际的网络流量本身并不稳定,容易出现正常的波动,因此通过小波分析来进行异常检测,就会出现较多的误报,造成检测不准确。

可见,在相关技术中,对网络进行业务异常检测,通常是依赖于在后台检测网络流量来完成的,而实际的网络流量通常并不稳定,因此网络流量的波动会导致异常检测的稳定性以及准确度较差的问题。

有鉴于此,本申请提出一种基于图像特征的业务异常检测方法,通过从若干正常页面以及异常界面中提取出的图像特征训练机器学习模型,当需要进行异常检测时,可以从目标页面的页面图像中提取图像特征,并将提取出的图像特征输入异常检测模型中进行计算,然后根据计算结果针对该目标页面进行异常检测;实现了可以完全基于从目标页面的页面图像中提取出的图像特征,在前台完成异常检测,而不再需要在后台通过流量检测来执行异常检测,因而可以提升异常检测的稳定性;同时,通过从正常页面以及异常界面中提取出的图像特征训练机器学习模型,并使用机器学习模型针对目标页面进行异常检测,能够提升异常检测的准确度。

下面通过具体实施例并结合具体的应用场景对本申请进行描述。

请参考图1,图1是本申请一实施例提供的基于图像特征的业务异常检测方法,应用于异常检测设备,所述方法执行以下步骤:

步骤101,从目标页面的页面图像中提取图像特征;

步骤102,将提取出的所述图像特征输入预设的异常检测模型中进行计算;其中,所述异常检测模型为基于从若干正常页面以及异常界面中提取出的图像特征训练得到的机器学习模型;

步骤103,基于所述异常检测模型的计算结果针对所述目标页面进行异常检测。

上述目标页面,包括与需要进行异常检测的目标业务对应的业务页面,该业务页面可以用于呈现目标业务的各类业务信息或者业务执行结果。上述正常页面,可以是指上述目标业务在未发生业务异常时的业务页面;而上述异常页面,可以是指上述目标页面在发生业务异常时的业务页面。

其中,上述业务异常,可以包括业务页面遭受网络攻击,或者网络故障,而导致的页面访问异常。上述目标业务,可以是任何种类的互联网业务,在本例中不进行特别限定;

例如,在电商平台的应用场景中,当需要针对电商平台中的商户进行业务异常监测时,上述目标业务则可以是电商平台中与各商户对应的销售业务;上述目标页面,则可以是用于展示各商户在电商平台中出售的商品的销售页面。

在传统的实现中,对目标业务进行业务异常检测,通常是依赖于在后台检测网络流量来完成的,然而由于实际的网络流量通常并不稳定,因此会导致异常检测的稳定性以及准确度均较差的问题。

在本例中,针对目标业务进行业务异常检测,将不再依赖于在后台进行网络流量检测,而是从目标业务对应的前台业务页面入手,通过从若干与目标业务对应的正常页面以及异常界面中提取出的图像特征训练机器学习模型。当需要对目标业务进行异常检测时,可以从该目标业务的前台业务页面的页面图像中提取图像特征,然后将提取出的改图像特征输入训练完成的异常检测模型中进行计算,并根据计算结果完成针对该目标业务的异常检测;从而,可以实现以该目标业务的前台业务页面中的显示结果作为依据,来完成业务异常检测,因而可以避免由于实际的网络流量并不稳定,而导致的异常检测的稳定性以及准确度均较差的问题。

以下以模型以及图像特征的选择、模型的训练以及模型的使用三个阶段,针对本申请的技术方案进行详细描述。

1:选择机器学习模型以及图像特征

在本例中,上述异常检测模型可以采用任意形式的机器学习模型;例如,回归模型、神经网络模型或者SVM(Support Vector Machine,支持向量机)模型等等。在实际应用中,可以基于实际的建模需求和具体场景,来选择合适的机器学习模型。

其中,在以上示出的机器学习模型中,支持向量机模型是一种小样本学习方法,具有不需要进行大规模样本学习的特点。因此,在本例示出的一种实施方式中,可以采用支持向量机模型作为上述异常检测模型。通过这种方式,可以减低建模的复杂度,以及工程上的实现成本。

当然,在实际应用中,也可以采用支持向量机模型以外的其它类型的机器学习模型来实施,在本例中不进行特别限定。

在本例中,上述图像特征,通常包括图像的灰度特征、颜色特征、纹理特征以及形状特征等。其中,对于灰度特征和颜色特征,由于其在页面中的分布通常非常复杂,因此并不适宜作为异常检测的图像特征。而上述形状特征,在进行提取时,通常需要对页面图像进行图像分割,因此会导致图像特征的提取时间过长,造成建模算法的时间复杂度较大。

综上所述,在本例示出的一种实施方式中,可以采用页面图像的纹理特征作为上述图像特征。

其中,由于纹理特征将作为图像特征用于异常检测,因此为了提升异常检测的准确度,上述纹理特征可以同时包含页面图像的局部纹理特征和全局纹理特征。

通过这种方式,使得作为图像特征的纹理特征中,可以同时包含局部纹理特征和全局纹理特征,从而通过局部纹理特征和全局纹理特征相结合的方式,可以达到特征互补的效果,有助于提升异常检测的准确度。

在本例示出的一种实施方式中,上述局部纹理特征,可以选择LBP(Local Binary Pattern,局部二值模式)特征;上述全局纹理特征,可以选择GLCM(Gray Level Co-occurrence Matrix,灰度共生矩阵)特征。

其中,在本例中,GLCM特征是一种通过图像灰度变化的二阶统计量,来描述图像的纹理的方法,其受微小变化影响较小,具有很强的抗干扰性。

GLCM的定义:

取图像(N×N)中任意一点(x,y)及偏离它的另一点(x+a,y+b),设该点对的灰度值为(g1,g2)。令点(x,y)在整个图像上移动,则会得到各种(g1,g2)值,设灰度值的级数为k,则(g1,g2)的组合共有k的平方种。对于整个画面,统计出每一种(g1,g2)值出现的次数,然后排列成一个方阵,再用(g1,g2)出现的总次数将它们归一化为出现的概率P(g1,g2),这样的方阵称为灰度共生矩阵。

GLCM特征的计算:

灰度共生矩阵的计算量通常包括页面图像的能量值(Angular Second Moment,ASM)、熵值(Entropy,ENT)、惯性矩、相关性值。在计算GLCM特征时,可以分别计算图像的能量、熵值、惯性矩、相关性等纹理特征,构造四个方向的共生矩阵,然后再针对该四个方向的共生矩阵的取平均值,得到各参数的均值和标准差作为最终的特征向量,此时得到的最终的特征向量Fglcm即为计算得到的GLCM纹理特征。

其中,需要说明的是,以上示出的能量、熵值、惯性矩、相关性等四种计算量的具体计算方法,在本例中不再进行详述,本领域技术人员在将本例示出的技术方案付诸实施时,可以参考现有技术的介绍。

在本例中,LBP特征是一种用来描述图像局部纹理特征的算子,跟GLCM特征不同的是,LBP特征属于局部特征,而GLCM特征属于全局纹理特征,因而LBP特征可以作为GLCM特征的一种补充,从而可以达到互补的效果。

LBP特征的定义:

原始的LBP算子定义为在一个3×3的窗口内,以窗口中心像素的灰度值为阈值,将中心像素周围相邻的8个像素的灰度值与中心元素一一进行比较,如果周围像素的灰度值大于该中心像素的灰度值,则该像素点的位置被标记为1,否则为0。这样3×3领域内的8个点可产生8位的无符号数,即得到该窗口的LBP值,该LBP值反映该区域的纹理信息。

LBP特征的计算:

LBP特征可以通过如下公式进行计算:

其中,在以上公式中,LBPP,R(Xc,Yc)表示计算出的LBP特征;gc是窗口中心位置处的像素灰度值,gp是gc邻域的像素灰度值,P是窗口中像素的个数,R是邻域的半径大小,一般可以采用圆形或者方形邻域。计算完LBP特征之后,图像变成LBP图,然后计算LBP图的直方图分布特征Flbp,最终计算出的直方图分布特征Flbp,即为最终的LBP纹理特征。

其中,需要说明的是,计算LBP图的直方图分布特征Flbp的具体计算方法,在本例中不再进行详述,本领域技术人员在将本例示出的技术方案付诸实施时,可以参考现有技术的介绍。

2:异常检测模型的训练

以下以将支持向量机模型作为上述异常检测模型,以及上述图像特征为GLCM特征和LBP特征为例,对上述模型的训练过程以及使用过程进行说明。

请参见图2,图2为本例示出的一种异常检测模型的离线训练以及实时使用的流程示意图。

如图2所示,在异常检测模型的训练阶段,首先可以采集若干样本页面,并截取这些样本页面的页面图像。

其中,上述若干样本页面,可以包含若干正常页面和若干异常页面。在实际应用中,上述样本页面可以是需要进行异常检测和监控的业务页面;例如,在电商平台的应用场景中,当需要针对电商平台中的商户进行业务异常监测时,可以将电商平台中大量的商户的销售页面作为上述样本页面。

在采集这些样本页面的页面图像时,可以由网络管理人员针对各样本页面逐个进行手动截图;或者,也可以由异常检测设备,通过模拟人的行为,通过截图软件或者截图程序自动进行截图,然后对截图得到的页面图像进行集中保存,并基于保存的上述若干样本页面的页面图像生成图像样本集合。

其中,生成的图像样本集合中包含的正常页面的页面图像以及异常页面的页面图像,还可以由网络管理人员手动标定对应的识别标签,从而通过标定识别标签,可以将图像样本集合中的页面图像分类为正常页面和异常页面两种,以便于后续的模型训练。

例如,异常检测设备在自动采集页面图像时,可以执行以下三个步骤:

1)样本页面的自动访问。首先,可以将需要监控和检测的样本页面的访问链接事先准备好,随后可以自动用一个机器人程序去打开浏览器,并且利用这些链接,自动打开相应的页面。

2)页面图像的自动截图。其次,由于需要截图,因此要求在一个有界面的操作系统中操作,比如,可以通过windows的api或者web截屏控件来进行操作。机器人程序截图完毕之后,可以将截图得到的页面图像保存在本地硬盘。

3)样本的准备。最后,保存在本地硬盘中的页面图像,需要由网络管理人员进行人工打标;比如,正常页面的页面图像的识别标签可以设置为1,异常页面的页面图像的识别标签可以设置为-1,假设收集到的图像样本张数为n,最终生成的图像样本集合为X={x1,x2…xn},识别标签集合为Y={y1,y2…yn},其中yn的取值为1或者-1。

请继续参见图2,当生成了上述图像样本集合后,可以针对图像样本集合中的页面图像,分别提取GLCM特征和LBP特征。

其中,在提取GLCM特征和LBP特征时,可以通过特定的特征提取工具来完成;例如,在实际应用中,可以使用诸如MATLAB等较为成熟的仿真软件来实现GLCM特征和LBP特征,具体的特征提取过程,在本例中不再详述,本领域技术人员可以参考现有技术中的记载。

当针对图像样本集合中的每一个页面图像,分别提取出了GLCM特征和LBP特征后,可以基于提取到的GLCM特征和LBP特征生成一个对应的二维特征向量。

假设GLCM特征记为Fglcm,LBP特征记为Flbp,那么生成的该二维特征向量F={Fglcm,Flbp}。后续该二维特征向量F将作为训练样本,参与支持向量机模型的训练。

在本例中,当针对图像样本集合中的每一个页面图像生成了上述二维特征向量F后,可以将生成的该特征向量F作为训练样本,基于训练支持向量机模型的机器学习算法进行模型训练,以得到上述异常检测模型。

上述机器学习算法,是指支持向量机模型所支持的核函数。而训练支持向量机模型的过程,通常是通过大量训练样本,训练出支持向量机模型的核函数中的各参数的过程。

其中,支持向量机模型通常支持若干中常用的核函数,而支持向量机模型中核函数的选择,则取决于具体的应用场景,在不同的应用场景下,可以选择不同的核函数。

在本例中,出于降低建模的复杂度,以及工程上的实现成本的考虑,可以选择如下核函数:

Y=Sign(ω×F+ω0)

在以上核函数中,Y即为异常检测结果;如果为异常页面的图像特征设置的识别标签为1,为正常页面的图像特征设置的识别标签为-1,那么Y的取值为1或者-1。Sign为上述核函数中启用的Sign函数,Sign函数用于取数字n的符号,n大于0返回1,小于0返回-1。F即为提取出的GLCM特征和LBP特征构成的上述二维特征向量。ω和ω0即为以上核函数中需要学习的模型参数。

在本例中,可以将基于图像样本集合中的各页面图像的GLCM特征和LBP特征构成生成的上述二维特征向量,作为训练样本,输入上述核函数中进行训练,通过不断训练反向求解出以上需要学习的参数ω和ω0,并对ω和ω0的取值进行不断校正,直至以上核函数收敛时停止。当上述核函数收敛后,可以将训练完成的ω和ω0的具体取值在模型中保存,此时上述异常检测模型训练完毕。

其中,需要说明的是,以上示出的核函数仅为示例性的。在实际应用中,除了以上示出的核函数以外,在训练支持向量机模型时也可以选择其它类型的核函数,在本例中不再一一列举。

3)异常检测模型的使用

请继续参见图2,当上述异常检测模型训练完毕后,后续可以使用该模型,针对需要进行异常检测的目标页面,实时的进行异常检测。

在实现时,如果需要针对目标页面进行异常检测,首先可以从该目标页面中实时的提取GLCM特征Fglcm和LBP特征Flbp,并根据提取到GLCM特征Fglcm和LBP特征Flbp的生成二维特征向量F。此时该二维特征向量F={Fglcm,Flbp}。

当生成了上述二维特征向量F后,可以将该二维特征向量F输入训练完成的上述异常检测模型中进行计算。由于模型中的参数ω和ω0已经训练完成,因此该二维特征向量F输入上述异常检测模型中进行计算,能够正常输出计算结果,上述异常检测设备可以根据模型输出的计算结果,对该目标页面进行异常检测。

一方面,假设上述模型输出的计算结果输出的计算结果为1,则表示该目标页面为正常页面。另一方面,假设上述模型输出的计算结果输出的计算结果为-1,则表示该目标页面为异常页面。

可见,在本例中,通过从若干正常页面以及异常界面中提取出的图像特征来训练支持向量机模型,并使用该支持向量机模型,基于从目标页面中实时提取出的图像特征来进行异常检测,使得整个异常检测过程,将不再需要在后台通过流量检测来执行异常检测,完全在前台从页面的显示异常结果出发,跳过了在后台复杂的通过流量分析来定位异常问题的过程,因此整个异常检测过程,将更加直接和智能化。

同时,在本例中,在提取图像特征时,通过采用局部纹理特征和全局纹理特征相结合的方式,既考虑了页面图像的局部图像纹理,又考虑了页面图像的全局图像纹理,可以充分的排除由于图像亮度等外界因素,对提取出的图像特征的真实度造成的影响,从而可以提升异常检测的准确度。

与上述方法实施例相对应,本申请还提供了装置的实施例。

请参见图3,本申请提出一种基于图像特征的业务异常检测装置30,应用于异常检测设备;其中,该异常检测设备具体可以是一服务器、PC主机或者其它类型的电子设备;请参见图4,作为承载所述基于图像特征的业务异常检测装置30的异常检测设备所涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,所述基于图像特征的业务异常检测装置30通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置,所述装置30包括:

提取模块301,从目标页面的页面图像中提取图像特征;

计算模块302,将提取出的所述图像特征输入预设的异常检测模型中进行计算;其中,所述异常检测模型为基于从若干正常页面以及异常界面中提取出的图像特征训练得到的机器学习模型;

检测模块303,基于所述异常检测模型的计算结果针对所述目标页面进行异常检测。

在本例中,所述提取模块301进一步:

基于预设的若干样本页面的页面图像生成图像样本集合:其中,所述图像样本集合中的正常页面的页面图像以及异常页面的页面图像均被标定了对应的识别标签;分别提取所述图像样本集合中的页面图像的图像特征;

所述装置30还包括:

训练模块304,将提取出的图像特征作为训练样本,基于预设的机器学习算法进行训练以得到所述异常检测模型。

在本例中,所述异常检测模型为SVM模型。

在本例中,所述图像特征为图像纹理特征;其中,所述图像纹理特征包括图像全局纹理特征和图像局部纹理特征。

在本例中,所述图像全局纹理特征为GLCM灰度共生矩阵特征;所述图像局部纹理特征为LBP局部二值模式特征。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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