一种基于屏幕监控的软件识别方法
文献发布时间:2023-06-19 10:27:30
技术领域
本发明是一种基于屏幕监控的软件识别方法,属于应用程序系统识别技术领域。
背景技术
应用程序行为主要表现在人际交互行为(界面)上,因此对程序的操作信息的采集可以具体到对界面的信息采集,而在某些大型应用系统中,由于程序数量众多、界面非标准化如无标题、空间动态创建、控件ID为动态改变,会造成采集效率低,某些界面难以识别的问题,无法满足现实的需求。因故本方法采用了与图像处理技术相结合的方法,对屏幕应用程序进行检测。图像识别处理技术是20世纪60年代随着计算机行业兴起而产生的新型技术,在实际应用和发展中获得了重要应用成果。俗话说,感官最重要的是视觉,而图像又是视觉的基础。早期图像处理的目标是单纯优化质量,以人为物,达到优化视觉效果的目的。图像识别技术的原理是根据技术的信息识别结果,在自身数据存储库中寻找相似性的数据原型,进而来对图像进行识别。
本发明中使用到卷积神经网络进行分析预测处理,目前,深度学习技术在图像识别领域有了长足的发展,各种应用层出不穷,如人脸识别、车牌识别、医学影像识别等不同行业。人脸识别技术是根据脸部特征信息确定人类身份的一种图像识别技术,目前已经应用到各个领域。基于深度学习的人脸识别技术是人脸识别中的研究热点,为人脸识别领域的发展提供了动力。2014年,TaigmanY等人构建了DeepFace网络模型,该模型由8层网络结构构成,包含5层卷积层、1层池化层和2层全连接层。该模型训练了4百万张人脸图像,并在LFW数据集上预测,准确率为97.35%。LFW数据集是目前常用的人脸图像数据集,包含13233幅图像,5749个人。2015年,Zhou E等人构建了Face++网络模型,该模型是包含10个卷积层的CNN网络。同时,Zhou E等人构建了包含5百万张的人脸图片的数据集进行训练,并在LFW数据集上测试,准确率为99.5%。Sun Y等人构建了DeepID模型,分别对VGG-Net结构和GoogLeNet结构进行了改进,两种结构在LWF数据集中的准确率都高于97.45%。SchroffF等人提出了FaceNet模型,该模型以CNN网络为基础,将人脸图像映射到欧几里得空间特征向量中,根据空间距离判断人脸图像的相似性。同时该模型训练了包含800万人的人脸数据,在LFW数据集上的准确率为99.63%。Liu J等人提出了百度模型,该模型使用多个GPU对切分后的面部图像同时进行识别,每个网络包含9个卷积层。该模型在LFW数据集中的准确度为99.77%。目前,许多学者都在研究人脸识别问题。2019年,胡亚洲等人将改进的Inception-Res-Net-V1网络结构应用到人脸识别问题中,该模型使用CASIA数据集进行训练,并在LFW数据集中的准确率达到了99.22%。彭先霖等人提出一种多任务学习的人脸表情识别方法,该模型在CNN网络模型的基础上使用双层树分类器代替Softmax分类器,实现了人脸表情标签与人脸标签同步分类,提高了人脸表情的识别率。同时模型利用CK+人脸表情数据集进行训练,准确率为96.62%。相比于传统的识别方法,利用深度神经网络进行车牌识别能够实现自动提取车牌图片特征,准确率高。目前,深度学习技术是车牌识别研究中使用最广泛的方法。2018年6月,陈利实现了基于FasterR-CNN模型的车牌识别算法。该算法利用Fa-terR-CNN对车牌图像进行定位,再利用垂直投影法和模板匹配法实现车牌的字符分割以及字符识别。该算法将16217张车牌图片作为数据集进行训练,准确率95.3%。2018年9月,曹正凤等人在CNN网络模型的基础上,构建了一个卷积层、RPN网络、ROI池化、全连接以及RNN网络的车牌识别模型,能够实现直接对车牌图像处理,省去了字符分割步骤。该模型利用构建的3万张车辆图片作为数据集进行训练,准确率达到了95.4%。2018年10月,李晓燃提出了倾斜车牌矫正识别方法,利用CNN网络处理车牌识别图像,同时用霍夫变换方法对倾斜的车牌图像进行矫正识别。该模型训练了150张模糊倾斜车牌图片进行训练,正确率达到了98.5%。深度学习技术可以应用于医学影像领域很多方面,如CAD(Computer AidedDiagnosis,计算机辅助诊断)、图像分割以及图像匹配与融合等。2014年,Roth等人采用CNN网络识别临床淋巴结病变,通过随机旋转采样提高了CNN的分类性能。该模型将388个纵隔淋巴结和595个腹腔淋巴结进行训练,预测准确率达到了83%。2015年,Gao将CNN网络与SVM分类器结合,诊断核性白内障病变的程度。该模型训练了5378幅人群图像,准确率为99.1%。2016年,Dou提出3DCNN模型对脑微出血图像进行自动检测,该模型构建了飞利浦医疗系统中SWI-CMB数据集进行训练,准确率为93.16%。2017年,斯坦福团队通过CNN网络模型实现了对皮肤癌的识别分类,该模型整合了129450张临床图像作为数据集,诊断准确率超过了人工诊断准确率。2018年,张泽中等人针对胃癌图像分类的问题,将AlexNet模型与GoogleNet模型结合对胃癌图像进行分类。该模型通过训练大赛中的数据集,对胃癌图像识别分类准确率为99.4%。
发明内容
在监控系统大面积普及的情况下,绝大多数场所都在使用监控系统,包括日常生活以及工作单位,所以对于监控系统进行最大化的利用是很有必要的。本专利针对当前计算机显示器监控系统画面上所使用的应用程序进行识别,从而以此来判断被监控人的行为,是否符合规定的要求以及是否有危险行为,同时能否在庞大数量以及复杂情况的监控画面上准确的识别的出应用程序名称是重点研究的对象。卷积神经网络是在多层神经网络的基础上发展起来的针对图像分类和识别而特别设计的一种深度学习方法,具有结构简单、训练参数少和适应性强的特点,同时它的应用领域十分广泛,比如手势识别、人脸识别、虹膜识别、车型识别等,故使用深度学习卷积神经网络的方法对这类问题进行处理。
本方法针对实际的应用场景,提供了以下的技术方案,重点改善和解决了特征提取、神经网络优化和复杂情形下识别困难的问题:
1)特征提取
当前,监控系统应用范围比较广泛,但是针对于计算机显示器上的监控应用较少,本课题的首要研究任务为对显示器上的应用程序进行识别,故本部分需要对屏幕上软件图片的数据集进行预处理,将图片进行归一化处理再将图片进行特征提取,并且针对不同的情况进行分类。
屏幕监控有如下特征:
a.当应用程序非全屏时,有软件边缘化的特征;
b.软件左上角大多有程序名称的特征;
c.软件颜色构成与背景颜色构成不同的特征等;
2)基于全卷积神经网络方法的应用程序识别方法
传统图像处理一直以来依赖人工设计的特征,而此类特征仅仅只是对图像中低级别的边缘信息进行描述与表征,对深层次信息难以抽取。深度学习以数据驱动方式,采用一系列的非线性变换,从原始数据中提取多层次多角度特征使获得的特征具有更强的泛化能力和表达能力,在图像处理研究方面开辟了全新方向,从而满足高效图像处理的需求,故本部分采用深度学习的方法对识别模型进行改进。
3)基于复杂环境下对识别方法进行提升
在计算机显示器监控系统识别的过程中,会出现多种问题,结合之前的研究发现,识别的基数、以及识别界面的复杂程度等因素对于识别结果都有很大的影响,故针对研究过程中所出现的问题,对本识别方法进行改进和提升。
针对以上的应用场景,本方法提出了一种基于屏幕监控的软件识别方法,并且根据实际场景对该方法使用的模型进行优化,从而能够大大提高识别的速率以及准确率。本方法提供了以下的改进技术流程和技术方案。
本方法分别从基于抽样的核K-means聚类算法,基于YOLOv3目标检测算法的inception改进和基于YOLOv3目标检测算法的多尺度改进这三个方面入手,依据YOLOv3在目标识别存在的问题对YOLOv3进行改进。
基于抽样的核K-means聚类算法:K-means聚类算法是一种利用距离进行聚类的算法,该算法认为两个目标点之间的距离越近,那么这两个目标之间的相似度就越高,因此采用距离作为判断目标相似性大小的指标。多个距离相近的目标对象组成了簇,该算法的最终目的是得到多个独立且紧凑的簇,即多个类。下列给出K-means聚类算法具体步骤:随机选取K个目标点,作为初始的聚类中心;计算目标点与初始聚类中心的欧氏距离d2(x
核K-means聚类算法的思想是将数据映射到高维度空间去在进行经典的K-means聚类算法操作,但是算法中仍旧是随机选取初始聚类中心,具有过大的偶然性。针对这一点,本方法引入抽样思想,提出一种改进的基于抽样的核K-means聚类算法。利用对数据集抽样的操作改进核K-means聚类算法可以有效的摆脱数据规模的限制,但是所抽取样本集的大小和初始类别的设置是否完整覆盖了原本的数据库决定了该算法的聚类性能。因此,本方法提出的算法首先采用Leaders聚类方法对待聚类特征点进行初始聚类,得到初始的聚类中心;接着根据初始聚类中心多次抽样得到样本子集,对每个子样本集进行核K-means聚类;最后对各子样本集聚类结果进行整合,从而在合理控制抽样数据规模的同时增强初始聚类设置对原始类别的覆盖,使其近似核函数的计算更加合理。
Leaders算法在处理大数据集方面很有优势,因为其仅对整个数据集进行一次扫描就可以完成聚类,并且不需要预先设定好目标类别数。Leaders算法与密度有关,通过选取每个目标类别的Leader完成聚类任务。首先设定数据集是X,距离阈值为T,分配Leader数组K,初始化Leader数k=0;如果Leader属于某一类别,并且‖Leader-x
Leaders聚类预处理的结果存在类内目标相似性大于类间目标相似性的现象,因此引入了抽样的思想,对Leaders聚类预处理得到的每个初始聚类中心进行随机抽样,保证各个抽样样本之间相关性的同时,将被错误分类的目标随机抽样到不同类别的子样本中,通过对样本子集进行重新聚类将这部分目标划分到正确的区域中。
基于YOLOv3目标检测算法的inception改进:在YOLOv3模型中,使用的是DarkNet-53网络进行特征提取步骤的操作。而在DarkNet-53网络中卷积层内部的卷积核都是1×1、3×3大小的,然后在特征提取网络之后引入了多尺度融合的操作,目的是为了使模型对不同尺度的目标的检测与识别可以更加敏感与准确,具体见下图1,是YOLOv3模型的流程图。但是,DarkNet-53特征提取网络的深度较深,网络中参数数量较大,过多的参数在训练与测试过程中会消耗大量的时间。因此本方法提出将GoogleNet网络的inception思想引荐到YOLOv3模型中。本方法使用的inception结构如图2所示,从图中可以看出,inception结构中将1×1,3×3,5×5与池化操作叠加在一起,对网络进行横向的拉伸,增加了网络的宽度,增强网络对上层输出的传递能力;同时不同大小的卷积核使模型对不同尺度的目标更加敏感。其次inception结构中,加入了卷积核是1×1,步长是2的卷积层,用来对上一层的输入降低维度处理。这种卷积层降维的处理方式会更好的获得上一层输出的全局信息,而池化层降维的方式会丢失掉部分目标信息,这种降维方式使网络参数减小了3.9倍左右。
所以本方法提出在YOLOv3模型的基础上,引入一种inception结构,除了1×1、3×3大小的感受野,加入了5×5大小的感受野,保留DarkNet-53网络的部分残差连接结构(Residual结构),既保持了网络应有的深度,又适当的扩宽了网络的宽度。
基于YOLOv3目标检测算法的多尺度改进:YOLOv3算法借鉴了Faster R-CNN模型的anchor机制,anchor的个数是由人工预先设定的,设定的初始值将会影响模型训练与测试的精度。在训练过程中,算法利用K-means聚类的方式对目标框作聚类分析,网络会自主的根据目标信息对目标的候选框做出标注,K-means聚类算法主要利用欧氏距离进行相关性的判别,那么就意味着大候选框会比小候选框产生更高的错检率,所以,适当的增加anchor个数会在一定程度上解决这一问题。因此,本方法提出将模型预先设定的anchor个数增加三个,可以使模型的分类效果更佳。
在不同的实际场景或数据集中,同一类别的目标也有着不同大小。由于图像采集设备与目标的距离的差异,导致最终图像集目标尺度上的差异。为了使测试模型对不同尺度的目标更加敏感,YOLOv3模型引入了多尺度融合的方式在数据集上进行训练,YOLOv3模型采用了3种不同尺度的特征图进行融合训练,但是,不难发现DarkNet-53网络中前部分的浅层特征信息并没有被充分的利用到,经过多层卷积层之后,浅层的特征信息会有所丢失。因此,本方法提出,在原本的YOLOv3模型的三尺度融合的基础上,再增加一个尺度,将网络提取到的更加浅层的信息加以利用,希望可以对多尺度目标或小目标的检测精确度有所加强。
本方法提出的改进算法在原本模型的基础上考虑到了更加浅层的神经网络提取到的特征信息,已有的第三尺度输出的特征图进行上采样操作,接着与DarkNet-53网络的第二组卷积层输出的特征图进行融合,作为第四尺度的支路。
附图说明
图1是YOLOv3模型流程示意图;
图2是本发明中使用到Dark_inception网络流程示意图。;
图3是本发明中Dark_inception网络结构示意图。;
图4是本发明中改进的多尺度Dark_inception网络结构示意图。;
图5是本发明中三种模型各类别识别效率对比示意图;
图6是本方法中对于两个遮挡目标的识别结果图;
具体实施方式
基于抽样的核K-means聚类算法首先利用Leaders算法进行初始聚类预处理,得到初始聚类中心;接着对每个初始聚类范围内的目标进行随机抽样,被错误划分的目标点通过随机抽样分布到不同的样本子集中。现设样本子集X={x
首先采用一个非线性映射将原空间中的已知样本映射到高维的核空间G中,在核空间中不同类别的样本特征更加突出,使得任务由非线性变成线性任务或者近似线性任务;接着在这高维度的核空间中进行一般K-means聚类算法操作,将目标函数J最小化:
在核空间中计算两个特征点的核距离公式定义如下:
在所有的样本子集进行聚类之后,合并所有的样本,则样本子集的并集中包含K个目标类别,计算每个类的均值:
然后计算任意两个类均值间的距离:
l=|x
如果两个目标类别均值之间的距离小于预先设定阈值,那么将这两个目标类别合并为一个类后,继续按照上式计算类均值距离。经过对样本子集的并集进行合并融合之后,得到最终的聚类结果。
通过实验可以验证本方法提出的改进算法优于经典K-means聚类算法。因此,在本方法改进的YOLOv3模型中,使用改进的抽样核K-means聚类算法来确定anchor的初始位置。
基于YOLOv3目标检测算法的inception改进对YOLOv3模型的特征提取部分作出改进:利用inception结构加宽了网络的宽度,增加了5×5大小的感受野,更改了YOLOv3模型多尺度操作时的输入,使最终输出的结果更加精确,提高了网络的性能。基本思想是利用不同的特征映射进行定位和分类预测。由于YOLO网络本身的深度和特征图的语义特征相对较高,因此将膨胀卷积特征图用于位置预测。同时由于位置预测需要更详细的信息,将低层和高分辨率特征进行融合,以提高位置预测效果,用于分类和预测的特征图不再用于特征融合。下图3给出的是Dark_inception网络的结构示意图。从图中红色标注处可以看出,Dark_inception网络对整个DarkNet-53网络进行了改进,保留了前几组的卷积层结构,去掉了最后一组卷积层结构,换成了inception结构。本文的inception结构中包含了1×1、3×3、5×5三种不同大小的感受野,还将池化包含进去了,通道数的数量是为了确保最后仍然输出大小是13×13×1024的特征图。然后仍然是多尺度融合操作,第一尺度是新生成的13×13×1024的特征图;第二尺度是对新的13×13×1024的特征图进行上采样操作之后得到26×26×512的特征图,与倒数第二组的网络输出层26×26×256的特征图相连接;第三尺度是再次进行上采样之后得到52×52×256的特征图,然后和倒数第二组的网络输出层52×52×218的特征图相连接。改进之后的网络在结构上比改进之前将网络的宽度加深了,降低了计算量,使模型多尺度操作的输入层获得了更加全局性的目标信息,在与浅层输出的特征图相融合,所以最后得到的检测效果也得到了提升。
图4给出的是改进的多尺度Dark_inception网络结构示意图,本方法提出的多尺度的Dark_inceptio网络是在上面提到的Dark_inception网络的基础上进行改进的,其在YOLOv3的基础上加入了inception结构,又增加了第四尺度来对模型进行改进,图中使用红色矩形框标注处该模型的改进点。可以看出,该模型保留了YOLOv3原有的DarkNet-53特征提取网络,在第三尺度输出的地方多加了一个分支,对第三尺度输出的52×52×128大小特征图进行上采样操作,然后与更加浅层的卷积网络输出的104×104×128大小的特征图进行融合,做第四尺度的融合。在原本的DarkNet-53特征提取网络中有53层卷积层,经过多层卷积之后,浅层网络提取到的特征信息会存在部分丢失现象,经过改进之后的第四尺度,充分考虑到了浅层网络的特征信息用来对模型进行训练,这样训练出来的模型会对多尺度的目标更加敏感,准确度会大大提升。
为了直观体现本方法的改进效果,本方法选取不同的屏幕监控视频画面进行识别验证比较,对于数据集中目标进行识别,得到如图5的对比结果。结果表明改进模型的平均准确率比经典YOLOv3网络有所提高。此外,本方法对于屏幕监控中有重叠遮挡的情况进行了验证,得到了不错的识别效果。
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明;因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内;不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
- 一种基于屏幕监控的软件识别方法
- 一种基于软件层面改善屏幕残影的方法