System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种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表示为第一振幅图的特征粒度最细的特征向量,也即是对应于本文档来自技高网...
【技术保护点】
1.一种UI元素定位方法,其特征在于,所述方法包括:
2.根据权利要求1所述的UI元素定位方法,其特征在于,计算所述第一振幅图与所述第二振幅图之间的相似度之前,还包括:
3.根据权利要求2所述的UI元素定位方法,其特征在于,其中所述统一所述第一振幅图以及所述第三振幅图的尺寸,包括:
4.根据权利要求2或3所述的UI元素定位方法,其特征在于,计算所述第一振幅图与所述第二振幅图之间的相似度,包括:
5.根据权利要求2所述的UI元素定位方法,其特征在于,对第一振幅图以及第二振幅图作空间金字塔池化处理,得到对应的特征向量,包括:
6.根据权利要求2或5所述的UI元素定位方法,其特征在于,计算所述第一振幅图与所述第二振幅图之间的相似度,包括:
7.根据权利要求1所述的UI元素定位方法,其特征在于,在确定相似度最高的待匹配UI元素之后,还包括:
8.根据权利要求7所述的UI元素定位方法,其特征在于,在目标UI元素在第二界面中所处的区域为非缩放环境的情况下,
9.根据权利要求1所述的UI元素定位方法
10.一种UI元素定位装置,其特征在于,所述装置包括:
...【技术特征摘要】
1.一种ui元素定位方法,其特征在于,所述方法包括:
2.根据权利要求1所述的ui元素定位方法,其特征在于,计算所述第一振幅图与所述第二振幅图之间的相似度之前,还包括:
3.根据权利要求2所述的ui元素定位方法,其特征在于,其中所述统一所述第一振幅图以及所述第三振幅图的尺寸,包括:
4.根据权利要求2或3所述的ui元素定位方法,其特征在于,计算所述第一振幅图与所述第二振幅图之间的相似度,包括:
5.根据权利要求2所述的ui元素定位方法,其特征在于,对第一振幅图以及第二振幅图作空间金字塔池化处理,得到对应...
【专利技术属性】
技术研发人员:林平,吴鑫,唐琦松,谢涛,
申请(专利权)人:上海艺赛旗软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。