本发明涉及一种ui元素定位方法、装置、设备及存储介质,属于ui元素定位。
背景技术:
1、rpa(robotic process automation机器人流程自动化)技术是一种基于流程自动化机器人,来代替人类执行一些重复的工作。ui元素的定位是rpa运行成功的关键。
2、rpa分为rpa程序的设计阶段和运行阶段,在设计阶段,用户可以通过厂商提供的rpa设计rpa流程,在rpa流程设计好之后,可以通过部署在终端的rpa运行器运行该设计好的rpa流程。
3、不管是在设计阶段还是运行阶段,ui界面中的ui元素能够准确的被定位,都是一个极其重要的因素。在设计阶段,若能准确定位ui元素,则设计器能够准确拾取ui元素,提升设计rpa流程的效率。在运行阶段,若能准确定位ui元素,则运行器能够准确拾取ui元素,提升rpa流程的运行效率,减少出错的情况。
4、在现有技术中,可以使用基于图像匹配的方法对待匹配的ui元素执行定位,但是在实际的应用过程中,这种方法往往受到诸多干扰,以至于无法准确匹配到目标ui元素,使得无法对目标ui元素进行准确定位。因此,这个技术问题需要解决。
技术实现思路
1、目的:鉴于以上技术问题中的至少一项,本发明提供一种ui元素定位方法、装置、设备及存储介质,实现对ui元素的准确定位。
2、技术方案:为解决上述技术问题,本发明采用的技术方案为:
3、第一方面,本发明提供了一种ui元素定位方法,所述方法包括:
4、基于包括有基准ui元素的图像块,生成对应的第一振幅图;其中,所述包括有基准ui元素的图像块是从第一界面提取得到的;所述第一界面表示为rpa流程设计阶段时目标ui元素所在界面;
5、响应于接收到对目标ui元素进行定位的指令,从第二界面中提取包括有待匹配ui元素的图像块,并且基于该包括有待匹配ui元素的图像块生成对应的第二振幅图;其中,所述第二界面表示为在运行阶段时目标ui元素所处的界面;所述第二界面与所述第一界面至少部分相同;
6、计算所述第一振幅图与所述第二振幅图之间的相似度,并且将相似度最高的待匹配ui元素确定为目标ui元素。
7、在一些实施例中,计算所述第一振幅图与所述第二振幅图之间的相似度之前,还包括:
8、在目标ui元素在第二界面中所处的区域为非缩放环境的情况下,基于第一振幅图的尺寸大小,从所述包括有待匹配ui元素的图像块中确定包括有潜在相似ui元素图像块,并且基于包括有潜在相似ui元素图像块生成对应的第三振幅图;统一所述第一振幅图以及所述第三振幅图的尺寸,作为相似度计算的基础;
9、在目标ui元素在第二界面中所处的区域为缩放环境的情况下,对第一振幅图以及第二振幅图作空间金字塔池化处理,得到对应的特征向量,作为相似度计算的基础。
10、进一步地,在一些实施例中,其中所述统一所述第一振幅图以及所述第三振幅图的尺寸,包括:
11、第一振幅图的长宽分别记作h1,w1,第三振幅图的长宽分别记作h2,w2,获取统一的长宽hu,wu:
12、
13、根据ui元素的中心点以及hu和wu剪裁第一振幅图和第三振幅图的大小。
14、进一步地,在一些实施例中,计算所述第一振幅图与所述第二振幅图之间的相似度,包括:
15、确定统一尺寸后的第一振幅图和第三振幅图中的低频特征、中频特征和高频特征;
16、针对统一尺寸后的第一振幅图和第三振幅图,从统一尺寸后的振幅图的长宽hu,wu中选择较短的边长作为区间划分的基准su;以振幅图中心为中点,基准su的五分之一为边长,构建正方形低频窗口,低频窗口内部的为低频特征mlf;以基准su的五分之四为边长构建方形窗口,减去低频特征mlf,剩下的特征构成了中频特征mmf;振幅图减去低频特征mlf与中频特征mmf的剩余部分为高频特征mhf;
17、根据第一振幅图和第三振幅图的低频特征、中频特征和高频特征,计算相似度;
18、similarity1=a1*dist(mmf-1,mmf-2)+b1*dist(mlf-1,mlf-2)+c1*dist(mhf-1,mhf-2)
19、式中,similarity1表示第一相似度,a1、b1、c1表示为权重参数,且a1>b1>c1;mmf-1表示为第一振幅图的中频特征,mmf-2表示为第三振幅图的中频特征,mlf-1表示为第一振幅图的低频特征,mlf-2表示为第三振幅图的低频特征,mhf-1表示为第一振幅图的高频特征,mhf-2表示为第三振幅图的高频特征;dist表示距离公式。
20、在一些实施例中,对第一振幅图以及第二振幅图作空间金字塔池化处理,得到对应的特征向量,包括:
21、针对第一振幅图以及第二振幅图,借鉴空间金字塔池化的概念,将不同尺寸的振幅图转化成统一的尺寸,具体包括:
22、建立多层金字塔,每层金字塔均设有多个池化窗口,用于对振幅图执行平均池化操作,其中,不同层的金字塔其池化窗口的数量不相同;
23、根据振幅图的尺寸大小,确定每层金字塔的池化参数,其中所述池化参数包括池化窗口的边长kernelsize、滑步stride;
24、kernelsize=max(h,w)/window
25、stride=max(h,w)/window
26、公式中,h,w为振幅图的长与宽,window为窗口边长;
27、基于每层金字塔的池化参数,在每层金字塔中作平均池化操作,得到对应的特征向量vi:
28、vi=avgpooli(m)
29、式中,m表示为振幅图,vi表示为从第i层金字塔从提取得到的特征向量;avgpool表示平均池化操作;
30、粘合各个层的特征向量,获得长度统一的总特征向量vu:
31、vu=concat(∑vi)
32、式中,concat表示粘合操作。
33、进一步地,在一些实施例中,计算所述第一振幅图与所述第二振幅图之间的相似度,包括:
34、根据第一振幅图以及第二振幅图的特征向量,计算相似度;
35、相似度计算公式为:
36、similarity2=dist(vu-1,vu-2)
37、式中,similarity2表示第二相似度,vu-1,vu-2分别表示第一振幅图、第二振幅图的总特征向量;
38、相似度计算公式还可以为:
39、similarity3=a2*dist(v3-1,v3-2)+b2*dist(v2-1,v2-2)+c2*dist(v1-1,v1-2)
40、式中,similarity3-2表示第三相似度,a2,b2,c2表示为权重参数,其中,a2>b2>c2;v3-1表示为第一振幅图的特征粒度最细的特征向量,也即是对应于金字塔中窗口数最多一层输出的特征向量,v3-2表示为第二振幅图的特征粒度最细的特征向量,也即是对应于金字塔中窗口数最多一层输出的特征向量,v2-1表示为第一振幅图的特征粒度适中的特征向量,v2-2表示为第二振幅图的特征粒度适中的特征向量,v1-1表示为第一振幅图的特征粒度最粗的特征向量,也即是对应于金字塔中窗口数最少一层输出的特征向量,v1-2表示为第二振幅图的特征粒度最粗的特征向量;dist表示距离公式。
41、在一些实施例中,在确定相似度最高的待匹配ui元素之后,还包括:
42、针对包括有基准ui元素图像块的频谱图以及包括有相似度最高的待匹配ui元素图像块的频谱图,分别作高通滤波,得到对应的经过高通滤波后的频谱图;
43、将经过高通滤波后的频谱图作逆变换,得到对应高通滤波后的图像;
44、计算两个高通滤波后的图像之间的图像相似值similarityhf;
45、
46、其中n为像素的数量;dist表示距离公式,ginv-1、ginv-2分别为包括有基准ui元素图像块对应的图像、包括有相似度最高的待匹配ui元素图像块对应的图像;
47、如果图像相似值小于阈值,则判定为该最大相似度的ui元素为目标ui元素。
48、进一步地,在目标ui元素在第二界面中所处的区域为非缩放环境的情况下,
49、在高通滤波之前,还包括:将包括有相似度最高的待匹配ui元素图像块的频谱图以及包括有基准ui元素图像块的频谱图基于对应的振幅图尺寸进行裁剪;
50、在得到高通滤波后的图像之后,还包括:对两个高通滤波后的图像作尺寸统一的处理,使得包括有相似度最高的待匹配ui元素图像块对应的图像ginv-1与包括有基准ui元素图像块对应的图像ginv-2具有相同尺寸。
51、在一些实施例中,基于图像块生成对应的振幅图,包括:
52、对图像块作变换得到频谱图,并且对频谱图作0频率的中心位移的处理;其中所述变换采用小波变换、laplacian、gradient变换、傅里叶变换中的至少一种;
53、基于经处理后的频谱图,生成对应的振幅图,具体包括:
54、m(i,j)=10*log(|f(i,j)|)
55、其中f(i,j)表示为频谱图中的像素点(i,j)位置处的振幅,m(i,j)为振幅图中对应像素点的振幅。
56、第二方面,本发明提供了一种ui元素定位装置,所述装置包括:
57、第一生成模块,用于:基于包括有基准ui元素的图像块,生成对应的第一振幅图;其中,所述包括有基准ui元素的图像块是从第一界面提取得到的;所述第一界面表示为rpa流程设计阶段时目标ui元素所在界面;
58、第二生成模块,用于:响应于接收到对目标ui元素进行定位的指令,从第二界面中提取包括有待匹配ui元素的图像块,并且基于该包括有待匹配ui元素的图像块生成对应的第二振幅图;其中,所述第二界面表示为在运行阶段时目标ui元素所处的界面;所述第二界面与所述第一界面至少部分相同;
59、确定模块,用于:计算所述第一振幅图与所述第二振幅图之间的相似度,并且将相似度最高的待匹配ui元素确定为目标ui元素。
60、第三方面,本发明提供了一种设备,包括,
61、存储器;
62、处理器;
63、以及
64、计算机程序;
65、其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现上述第一方面所述的方法。
66、第四方面,本发明提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
67、有益效果:本发明提供的ui元素定位方法、装置、设备及存储介质,具有以下优点:本发明提出一种ui元素匹配方法,这种方法可以具有上述干扰的情况下,比如,背景色变化的干扰、尺度缩放的干扰,同样能够准确地对目标ui元素进行匹配,从而实现对ui元素的准确定位。并且这种匹配方法不需要使用神经网络,计算量小,相对于现有的基于图像相似度的定位方法,其准确率更高。