CN115268719B - 一种定位界面上目标元素的方法、介质及电子设备 - Google Patents
一种定位界面上目标元素的方法、介质及电子设备 Download PDFInfo
- Publication number
- CN115268719B CN115268719B CN202211205671.2A CN202211205671A CN115268719B CN 115268719 B CN115268719 B CN 115268719B CN 202211205671 A CN202211205671 A CN 202211205671A CN 115268719 B CN115268719 B CN 115268719B
- Authority
- CN
- China
- Prior art keywords
- interface
- target
- node
- elements
- labeling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
- G06V10/422—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供一种定位界面上目标元素的方法、介质及电子设备,该方法包括:获取待操作界面上至少部分元素之间的结构关系,得到待匹配元素结构树;至少根据参考元素结构树和所述待匹配元素结构树从所述待操作界面上确定目标元素的位置,以完成对所述目标元素的操作;其中,所述参考元素结构树用于表征基准界面上至少部分元素之间的结构关系,所述结构关系是通过对相应界面的元素进行结构化解析得到的,所述相应界面包括所述基准界面和所述待操作界面。本申请的一些实施例从界面结构化角度出发使得软件机器人不必根据繁琐的OCR结果或图像语义信息去决定目标元素的选择提升定位结果的准确性。
Description
技术领域
本申请涉及机器人流程自动化领域,具体而言本申请实施例涉及一种定位界面上目标元素的方法、介质及电子设备。
背景技术
在机器人流程自动化(Robotic Process Automation,RPA)的实施过程中,对于一个普通的界面(该界面可以是网页或者app),软件机器人在点击某一个按钮(作为目标元素的一个示例)前,需要先精准的识别出这个按钮位置和语义,相关技术的准确率依赖于目标检测、模板匹配和OCR(Optical Character Recognition,光学字符识别)等多个模型的共同准确率。
由于相关技术中目标元素检测模块、基于图像特征的模板匹配模块和OCR模块等多个模型是串联工作,因此每一个模型都依赖与上游模型的准确率,错误率将累乘,这导致了软件机器人低效的成功率。同时由于相关技术需要串联的模块(分别对应相应的神经网络模型)个数过多,这也导致了软件机器人实施速度的下降,软件机器人对界面中某些元素的寻找,依赖于OCR给出的语义信息,因此对语言版本或者颜色形状变换具有较差的鲁棒性。
因此如何提升机器人对界面上元素的查找的准确性成了亟待解决的技术问题。
发明内容
本申请实施例的目的在于提供一种定位界面上目标元素的方法、介质及电子设备,本申请的一些实施例从界面结构化角度出发,将目标检测出的元素进行结构化解析得到元素结构树(即元素结构的多叉树),使得软件机器人不必根据繁琐的OCR结果或图像语义信息去决定按钮的选择,而是借助元素之间结构的关系,从而映射到实际图像(即待操作界面对应的图像)中并找到对应的目标元素(例如,按钮)位置并完成点击或者其他类型的操作。
第一方面,本申请实施例提供一种定位界面上目标元素的方法,所述方法包括:获取待操作界面上至少部分元素之间的结构关系,得到待匹配元素结构树;至少根据参考元素结构树和所述待匹配元素结构树从所述待操作界面上确定目标元素的位置,以完成对所述目标元素的操作;其中,所述参考元素结构树用于表征基准界面上至少部分元素之间的结构关系,所述结构关系是通过对相应界面的元素进行结构化解析得到的,所述相应界面包括所述基准界面和所述待操作界面。
本申请的一些实施例使得软件机器人不必根据繁琐的OCR结果或图像语义信息去决定目标元素的选择,而是借助元素之间的结构关系,从而映射到实际图像(即待操作界面对应的图像)中并找到对应的目标元素的位置并完成点击或者其他类型的操作,提升结果的准确性。
在一些实施例中,在所述至少根据参考元素结构树和所述待匹配元素结构树从所述待操作界面上确定目标元素的位置之前,所述方法还包括:获取所述基准界面上所述至少部分元素之间的所述结构关系,得到所述参考元素结构树。
本申请的一些实施例在机器人针对待操作界面进行操作之前还需要首先获取标准界面的元素结构树,从而根据该元素结构树和待匹配元素结构树找到目标元素在待操作界面上的位置。
在一些实施例中,所述结构化解析是依据元素逻辑关系以及元素空间距离关系对所述至少部分元素的分类结果;所述参考元素结构树和所述待匹配元素结构树用于表征任意两个节点的目标共同祖先节点。
本申请的一些实施例通过构建空间上较接近且逻辑关系相同的节点之间的共同祖先并标注祖先的位置(例如,采用矩形框标注出祖先的位置)得到元素结构树,该元素结构树能够充分表征界面上元素之间的结构关系,进而提升了根据结构关系定位目标元素的准确性。
在本申请的一些实施例中,若所述任意两个节点的共同祖先节点的个数为多个时,则所述目标共同祖先节点为在所述两个节点向上寻找祖先节点过程遇见的最近的共同祖先节点。
在一些实施例中,所述获取待操作界面上至少部分元素之间的结构关系,包括:将所述待操作界面的图像输入目标元素检测模型,得到从所述待操作界面的图像中检测到的所有元素的元素属性信息以及目标语义特征,其中,所述元素属性信息包括:元素位置和元素类别中的至少一个,所述目标语义特征为所述所有元素包括的各元素所在区域的语义特征;根据距离构图算法和所述所有元素的属性信息构建初始结构图,其中,所述初始结构图包括多个节点,每个节点用于表征一个元素,所述每个节点的特征采用所述元素属性信息进行表征;将所述初始结构图输入目标图神经网络模型,并至少根据所述目标图神经网络模型得到所述待匹配元素结构树,其中,所述待匹配元素结构树包括所述多个节点以及与至少部分节点对应的祖先节点。
本申请的一些实施例通过目标元素检测模型检测出待操作界面的图像上存在的所有元素的元素属性信息以及局部语义特征,之后再通过目标图神经网络模型构造出元素结构树进而得到各元素的结构关系,使得在待操作界面上查找目标元素的位置的技术方案依赖结构关系来查找,在降低技术方案复杂性的同时提升查找结果的准确性。
在一些实施例中,所述将所述待操作界面的图像输入目标元素检测模型,得到从所述待操作界面的图像中检测到的所有元素的元素属性信息以及目标语义特征,包括:通过所述目标元素检测模型包括的主干网络获取整体图片语义特征,其中,所述主干网络为特征提取网络;从所述整体图片语义特征中抠出与所述所有元素包括的各元素分别对应的局部语义特征,将得到的所有局部语义特征作为所述目标语义特征。
本申请的一些实施例通过目标元素检测网络获取的整体图片的语义特征来得到各元素的局部语义特征,采用该特征表征各节点的特征在提升节点特征准确性的基础上还减少了数据处理量,提升数据处理速度。
在一些实施例中,在所述将所述待操作界面的图像输入目标元素检测模型之前,所述方法还包括:获取N张原始界面图像;在所述N张原始界面图像包括的各张原始界面图像上均标注每个元素所在的区域以及所述每个元素的类别,得到N张元素标注图像,其中,所述每个元素所在区域采用矩形框标出,所述类别包括:滚动条、可编辑输入框、文本、超链接、有边界的图像、按钮、标记、窗口和弹窗中的至少一种;根据所述N张原始界面图像和所述N张元素标注图像对元素检测模型进行训练,得到所述目标元素检测模型。
本申请的一些实施例通过在每张训练图像上标注元素所在的位置以及元素类别使得训练结束后得到的目标元素检测网络具备预测输入图像上这些信息的功能。
在一些实施例中,在所述将所述初始结构图输入目标图神经网络模型之前,所述方法还包括:在所述N张元素标注图像包括的每张元素标注图像上分别标注至少一个聚合区域并标注所述聚合区域在元素结构树中的层级,得到N张祖先节点位置及层数标注图像,其中,一个聚合区域包括一个或多个元素所在的区域,与所述一个聚合区域对应的是一个共同祖先节点,所述一个聚合区域用于表征所述共同祖先节点所在位置;至少根据所述N张祖先节点位置及层数标注图像对图神经网络进行训练得到所述目标图神经网络模型。
本申请的一些实施例通过在N张元素标注图像上进一步标注邻近元素的共同祖先节点的位置信息,使得训练得到的目标图神经网络模型具备预测输入图像上节点间共同祖先节点所在位置的功能。
在一些实施例中,所述在所述N张元素标注图像包括的每张元素标注图像上分别标注至少一个聚合区域并标注所述聚合区域在元素结构树中的层级,包括:根据预设元素逻辑关系以及预设元素空间距离关系对所述每张元素标注图像上的一个或多个元素进行聚合,在被聚合的所有元素所在的区域标注初始聚合区域并对所述初始聚合区域标注第一标识,再根据所述预设元素逻辑关系和所述预设元素空间距离关系将至少一个所述初始聚合区域聚合得到第二聚合区域并标注所述第二聚合区域并对所述第二聚合区域标注第二标识,依次类推,直到获得一个包含所述每张元素标注图像上所有元素的第N聚合区域并标注所述第N聚合区域并对所述第N聚合区域标注第N标识,其中,与所述第N聚合区域对应的是树的根节点,所述第N聚合区域包括一个或多个第N-1聚合区域,所述N的取值为大于1的整数,不同标识用于记录对应聚合区域在元素结构树上所处的层级。
本申请的一些实施例通过在每张元素标注图上进一步标注多层级的聚合区域作为对图神经网络模型进行训练的标注数据,标注的聚合区域可以反应原始界面图像上各元素的从属关系,这样的标注数据使得训练得到的目标图神经网络模型具备挖掘界面图像上各元素从属关系即结构关系的能力。
在一些实施例中,在所述将所述初始结构图输入目标图神经网络模型之前,所述方法还包括:通过所述目标元素检测模型得到与所述N张原始界面图像包括的每张原始界面图像对应的预测结果,其中,所述预测结果包括在任一原始界面图像上检测到的所有元素的预测元素属性信息以及第二语义特征,所述预测元素属性信息包括所述元素位置和所述元素类别中的至少一个,所述第二语义特征为在所述任一原始界面图像上检测到的所有元素中各元素的局部语义特征;根据所述预测元素属性信息和距离构图算法得到与所述任一原始界面图像对应的预测初始结构图,其中,所述预测初始结构图上包括多个第二节点;根据所述预测结果得到所述预测初始结构图上每个第二节点的特征,并根据所述特征得到输入特征向量;所述至少根据所述N张祖先节点位置及层数标注图像对图神经网络进行训练得到所述目标图神经网络模型,包括:根据所述输入特征向量和所述N张祖先节点位置及层数标注图像对图神经网络进行训练得到所述目标图神经网络。
本申请的一些实施例还需要获取输入向量来得到对图神经网络进行训练的训练数据,这些数据与所述N张祖先节点位置标注图像同时输入图神经网络模型才能完成对网络的训练,得到具备构建元素结构树的目标图神经网络模型。
在一些实施例中,所述根据所述预测结果得到所述预测初始结构图上每个第二节点的特征,包括:将与所述任一第二节点对应的元素位置、元素类别以及局部语义特征作为所述任一第二节点的特征,其中,所述与所述任一第二节点对应的局部语义特征为所述任一第二节点所在区域的语义特征。
本申请的一些实施例通过元素位置(即元素在对应界面图像上的坐标)、元素类别(例如,滚动条、可编辑输入框、文本、超链接、有边界的图像、按钮、标记、窗口和弹窗中的至少一种)和局部语义特征作为初始结构图上各节点的特征。
在一些实施例中,所述根据所述预测结果得到所述预测初始结构图上每个第二节点的特征,包括:对与任一第二节点对应的局部语义特征进行降维处理,得到降维局部语义特征,其中,所述与任一第二节点对应的局部语义特征为所述任一第二节点所在区域的语义特征;将与所述任一第二节点对应的所述元素位置、元素类别以及所述降维局部区域语义特征作为所述任一第二节点的特征。
本申请一些采用降维后的局部语义特征作为初始结构图上各节点的特征,可以降低训练时的数据处理量,提升训练速度。
在一些实施例中,通过主分量分析降维算法PCA降维算法进行所述降维处理。
本申请的一些实施例通过PCA降维算法对局部语义特征进行降维处理。
在一些实施例中,在所述获取基准界面上至少部分元素之间的结构关系得到参考元素结构树之后,所述方法还包括:在所述参考元素结构树上标注每个元素的语义,得到参考元素语义树;所述至少根据参考元素结构树和所述待匹配元素结构树从所述待处理界面图像上确定目标元素的位置,包括:确认所述参考元素结构树和所述待匹配元素结构树的结构一致;从所述参考元素语义树中查找与所述目标元素对应的目标节点;从所述待匹配元素结构树中查找与所述目标节点对应的节点的元素位置特征值,并根据所述元素位置特征值从所述待操作界面上得到所述目标元素的位置。
本申请的一些实施例借助界面的结构关系和界面上元素的语义信息来定位待操作界面上的目标元素(例如,目标按钮或者目标编辑框等),进一步提升定位结果的准确性。
第二方面,本申请的一些实施例提供一种定位界面上目标元素的装置,所述装置包括:元素结构树获取模块,被配置为获取待操作界面上至少部分元素之间的结构关系,得到待匹配元素结构树;定位模块,被配置为至少根据参考元素结构树和所述待匹配元素结构树从所述待操作界面上确定目标元素的位置,以完成对所述目标元素的操作;其中,所述参考元素结构树用于表征基准界面上至少部分元素之间的结构关系,所述结构关系是通过对相应界面的元素进行结构化解析得到的,所述相应界面包括所述基准界面和所述待操作界面。
第三方面,本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面任意实施例所述的方法。
第四方面,本申请的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如上述第一方面任意实施例所述的方法。
第五方面,本申请的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如第一方面任一实施例所述的方法。
第六方面,本申请的一些实施例提供一种机器人,所述机器人被配置为执行如第一方面任意实施例所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的待操作界面的图像;
图2为本申请实施例提供的定位界面上目标元素的方法的流程图;
图3为本申请实施例提供的按照元素逻辑关系对部分元素分类的结果;
图4为本申请实施例提供的根据目标元素检测模型和目标图神经网络模型得到待匹配元素结构树的过程示意图;
图5为本申请实施例提供的机器人流程自动化过程的实现模型架构图;
图6为本申请实施例提供的对元素检测模型进行训练得到目标元素检测模型的示意图;
图7为本申请实施例提供的目标元素检测模型对待操作界面图像的处理示意图;
图8为本申请实施例提供的对图神经网络模型进行训练的架构图;
图9为本申请实施例提供的定位界面上目标元素的装置的组成框图;
图10为本申请实施例提供的电子设备组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
机器流程自动化技术可以模拟员工在日常工作中通过键盘、鼠标对计算机的操作,可以代替人类执行登录系统、操作软件、读写数据、下载文件、读取邮件等操作。以自动化机器人作为企业的虚拟劳动力,可以将员工从重复、低价值的工作中解放出来,将精力投入到高附加值的工作上,从而可以使企业在数字化智能化转型的同时又做到降低成本、增加效益。
RPA 是一种使用软件机器人取代业务流程中的人工任务,并且像人一样与计算机的前端系统进行交互,因此RPA 可以看作是一种运行在个人PC 机或服务器中的软件型程序机器人,通过模仿用户在电脑上进行的操作来替代人类自动重复这些操作,例如检索邮件、下载附件、登录系统、数据加工分析等活动,快速、准确、可靠。虽然和传统的物理机器人一样都是通过设定的具体规则来解决人类工作中速度和准确度的问题,但是传统的物理机器人是软硬件结合的机器人,需要在特定的硬件支持下配合软件才能执行工作;而RPA机器人是纯软件层面的,只要安装了相应的软件,就可以部署到任意一台PC 机和服务器中来完成规定的工作。
也就是说,RPA是一种利用“数字员工”代替人进行业务操作的一种方式及其相关的技术。本质上RPA是通过软件自动化技术,模拟人实现计算机上系统、软件、网页和文档等对象的无人化操作,获取业务信息、执行业务动作,最终实现流程自动化处理、人力成本节约和处理效率提升。从描述可知,RPA的核心技术之一就是进行界面上待操作的元素(即目标元素)的定位拾取,举例来说,当需要模拟人进行按钮点击动作,前提就是定位到按钮元素的位置。
请参看图1,图1为一个网页界面的图像,下面结合图1示例性阐述机器人流程自动化的过程。
在图1中提供一个网页界面,即百度搜索界面。在该界面上包括多个元素,即第一元素101、第二元素102、第三元素103、第四元素104、第五元素105、第六元素106、第七元素107、第八元素108、第九元素109以及第十元素,其中,第一元素至第七元素均属于超链接类型的元素,第八元素属于可编辑输入框类型的元素,第九元素属于按钮类型的元素,第十元素190属于有边界的图像。
机器人流程自动化即由机器人模拟人工对图1展示的各元素进行相应操作。
相关技术在实现机器人流程自动化时需要借助:元素检测模块,基于图像特征的模板匹配模块以及OCR等多个模块串联工作,而本申请的一些实施例需要在设计阶段获取图1的网页界面的元素结构树,之后在执行阶段由机器人获取待操作界面(即与图1相同的界面)的元素结构树,之后再通过两个元素结构树来帮助机器人定位搜索一下这个按钮的位置,并使得机器人在该按钮上顺利执行点击操作。
需要说明的是,图1仅用于示例性阐述本申请的工作场景和工作过程,不应理解为对本申请技术方案的应用场景的限制。
下面结合图2示例性阐述由机器人执行的定位目标元素的方法。
在RPA流程的设计器阶段会选定的某个应用程序app包括的某个界面,即基准界面(或称为标准界面),在后续RPA的执行过程中(即利用机器人模仿人类操作界面时),机器人会无数次重复访问该界面,在本申请的实施例中将机器人访问该界面以对其操作的界面称为待操作界面(或称为界面N),将人操作的界面(即RPA流程的设计器阶段进行图像录制的界面)称为基准界面或者标准界面。
如图2所示,本申请实施例提供一种定位界面上目标元素的方法,该方法示例性包括:S101,获取待操作界面上至少部分元素之间的结构关系,得到待匹配元素结构树。以及S102,至少根据参考元素结构树和所述待匹配元素结构树从所述待操作界面上确定目标元素的位置,以完成对所述目标元素的操作;其中,所述参考元素结构树用于表征基准界面上至少部分元素之间的结构关系,所述结构关系是通过对相应界面的元素进行结构化解析得到的,所述相应界面包括所述基准界面和所述待操作界面。
也就是说,本申请的一些实施例使得软件机器人不必根据繁琐的OCR结果或图像语义信息去决定目标元素的选择,而是借助元素之间的结构关系,从而映射到实际图像(即待操作界面对应的图像)中并找到对应的目标元素的位置并完成点击或者其他类型的操作,提升结果的准确性。
可以理解的是,在本申请的一些实施例中,在执行S101之前,所述方法还包括:获取所述基准界面上所述至少部分元素之间的所述结构关系,得到所述参考元素结构树。本申请的一些实施例在机器人针对待操作界面进行操作之前还需要首先获取标准界面的元素结构树,从而根据该元素结构树和待匹配元素结构树找到目标元素在待操作界面上的位置。
需要说明的是,所述结构化解析是依据元素逻辑关系以及元素空间距离关系对所述至少部分元素的分类结果;所述参考元素结构树和所述待匹配元素结构树用于表征任意两个节点的目标共同祖先节点的位置。本申请的一些实施例通过构建空间上较接近且逻辑关系相同的节点之间的共同祖先并标注祖先的位置(例如,采用矩形框标注出祖先的位置)得到元素结构树,该元素结构树能够充分表征界面上元素之间的结构关系,进而提升了根据结构关系定位目标元素的准确性。元素逻辑关系指的是从元素的功能角度来区分不同类元素,功能相似或相同的多个元素属于满足一种逻辑关系的元素。例如,如图3提供了一个登陆界面的图像,在该登陆界面上提供了验证码登录或者密码登录,以及与验证码登录方式对应的获取短信验证码和获取语音验证码的输入框,登陆/注册选择框以及其他方式登录,其中,图3的标注框301内的三种元素功能相同且都属于第三方登录方式,则认为按照元素逻辑关系这三者属于一类。
可以理解的是,若所述任意两个节点的共同祖先节点的个数为一个时,则所述目标共同祖先节点为该共同祖先节点。若所述任意两个节点的共同祖先节点的个数为多个时,则所述目标共同祖先节点为所述多个共同祖先节点中距离所述两个节点最近的共同祖先节点。例如,目标共同祖先节点为最近祖先节点:在两个不同节点向上寻找祖先节点过程,遇见的最近的共同祖先。其中,祖先节点的含义为:节点的父节点属于祖先节点、父节点的父节点也属于祖先节点,父节点的父节点的父节点也属于祖先节点,依次类推,共同祖先节点为两个不同节点的祖先节点中,重叠的节点为它们的共同的祖先节点。
下面示例性阐述上述步骤的实现过程。
例如,在本申请的一些实施例中,S101涉及的获取待操作界面上至少部分元素之间的结构关系的过程示例性包括如下三个步骤:
第一步,将待操作界面的图像输入目标元素检测模型,得到从所述待操作界面的图像中检测到的所有元素的元素属性信息以及目标语义特征,其中,所述元素属性信息包括:元素位置(例如,采用坐标表征位置)和元素类别中的至少一个,所述目标语义特征为所述所有元素包括的各元素所在区域的语义特征。
可以理解的是,将基准界面图像输入目标元素检测模型可以得到该界面上所有元素的元素属性信息以及目标语义特征。
第二步,根据距离构图算法和所述所有元素的属性信息构建初始结构图,其中,所述初始结构图包括多个节点,每个节点用于表征一个元素,所述每个节点的特征采用所述元素属性信息进行表征。
可以理解的是,采用该第二步的过程也可以构建与基准界面对应的初始结构图。
第三步,将所述初始结构图输入目标图神经网络模型,并至少根据所述目标图神经网络模型得到所述待匹配元素结构树,其中,所述待匹配元素结构树包括所述多个节点以及与至少部分节点对应的祖先节点的位置信息。例如,所述待匹配元素结构树包括所述多个节点以及与至少部分节点对应的最近的祖先节点的位置信息。
下面结合图4示例性阐述上述过程。
将待操作界面的图像输入目标元素检测模型110(用于执行上述第一步)得到元素属性信息和目标语义特征,并将元素属性信息提供给距离构图模块112(用于执行上述第二步)得到初始结构图,最后将初始结构图输入目标图神经网络模型120得到待匹配元素结构树。
可以理解的是,采用该第三步将与基准界面对应的初始结构图输入目标图神经网络模型可以得到所述参考元素结构树。
也就是说,本申请的一些实施例通过目标元素检测模型检测出待操作界面的图像上存在的所有元素的元素属性信息以及局部语义特征(或称为目标语义特征),之后再通过目标图神经网络模型构造出元素结构树进而得到各元素的结构关系,使得在待操作界面上查找目标元素的位置的技术方案依赖结构关系来查找,在降低技术方案复杂性的同时提升查找结果的准确性。
需要说明的是,为了提升对目标元素的定位准确性,本申请的一些实施例还需要根据在参考元素结构树上标注的各元素的语义来识别目标元素的位置。
例如,在本申请的一些实施例中,所述目标元素为目标按钮;其中,在获取到参考元素结构树之后,所述方法还包括:在所述参考元素结构树上标注每个元素的语义,得到参考元素语义树。相应的,S102示例性包括:确认所述参考元素结构树和所述待匹配元素结构树的结构一致;从所述参考元素语义树中查找与所述目标按钮对应的目标节点;从所述待匹配元素结构树中查找与所述目标节点对应的节点的元素位置特征值,并根据所述元素位置特征值从所述待操作界面上得到所述目标按钮的位置。本申请的一些实施例借助界面的结构关系和界面上元素的语义信息来定位待操作界面上的目标按钮,进一步提升定位结果的准确性。
下面结合图5来示例性阐述本申请一些实施例的定位界面上目标元素的方法。需要说明的是,目标元素检测模型以及目标图神经网络模型均是训练结束后得到的神经网络模型,其中,目标元素检测模型具备检测输入图像上元素位置、元素类别以及元素对应的局部语义特征的能力。上述目标图神经网络模型具备根据目标元素检测模型的输出数据获取各元素(属于界面上一个控件)祖先控件位置的功能。也就是说,通过目标图神经网络模型输出的是相连的两两元素的最近共同祖先节点的层级位置,之后根据层级位置可以构建出对应的元素结构树。对于如何根据层级位置构建元素结构树属于常规手段,因此在此不做过多赘述。
如图5所示,将基准界面图像输入两级级联的神经网络模型系统100中得到上述参考元素结构树,将待操作界面图像输入两级级联的神经网络模型系统100中得到待匹配元素结构树,该神经网络模型系统100至少包括目标元素检测模型110以及目标图神经网络模型120。之后,通过配置模块在参考元素结构树上配置各节点的语义得到参考元素语义结构树。然后,判断参考元素结构树和待匹配元素结构树的结构是否匹配(即两者是否一致),若一致查找目标元素过程结束,否则由目标元素语义搜索模块来从参考元素语义结构树中搜索得到目标元素在该参考元素语义结构树中的位置。最后,根据该位置信息从待匹配元素结构树上定位出目标元素的位置(具体有图4的目标元素搜索模块的代码来实现),将该位置映射至待操作界面上以使机器人完成针对目标元素的点击或者其他操作。
需要说明的是,图5的两级级联的神经网络模型系统100还可以包括除两个模型之外的其它功能单元,如图4所示。
下面示例阐述通过目标元素检测模型获取目标语义特征的过程。在本申请的一些实施例中,上述将待操作界面的图像输入目标元素检测模型,得到从所述待操作界面的图像中检测到的所有元素的元素属性信息以及目标语义特征示例性包括:通过所述目标元素检测模型包括的主干网络中获取整体图片语义特征,其中,所述主干网络为特征提取网络;从所述整体图片语义特征中抠出与所述所有元素包括的各元素分别对应的局部语义特征,将得到的所有局部语义特征作为所述目标语义特征。本申请的一些实施例通过目标元素检测网络获取的整体图片的语义特征来得到各元素的局部语义特征,采用该特征表征各节点的特征在提升节点特征准确性的基础上还减少了数据处理量,提升数据处理速度。
不难理解的是,本申请的一些实施例图4两级级联的神经网络模型系统100同样采用了串联的方式,先对图像进行元素检测,再根据元素检测结果,利用图神经网络,进行元素结构树的搭建。不过本申请的一些实施例采用的模型数量只有两个,因此与现有技术的多模块方式实现元素定位的技术方案相比可以:降低多模型串联而导致的错误率累成效应;提高了整体的工作速度。另外,由于本申请一些实施例对界面中某些元素的寻找,并不是依赖于OCR给出的语义信息,而是依赖元素的结构关系,因此可以对语言版本或者颜色形状变换等外观信息具有较高的鲁棒性,同时降低模型的训练成本。
例如,在本申请的一些实施例中软件机器人为了执行相关操作需要包括软件机器人获取对应按钮(元素)流程的设计器阶段以及软件机器人获取对应按钮(元素)流程的执行器阶段(由图6的执行器完成该过程)。
在设计器阶段,设计器会通过如图5的目标元素检测模型110以及目标图神经网络模型120对基准界面进行推理,从而生成参考元素结构树。并通过人工配置等配置方式,对参考元素结构树中的每个节点进行配置,配置信息包括语义、功能、坐标等信息,配置后获得参考元素语义结构树。
需要说明的是,在RPA流程的设计器阶段会选定的某个应用程序app包括的某个界面,即基准界面(或称为标准界面),在后续RPA的执行过程中,机器人会无数次重复访问该界面,即待操作界面(或称为界面N)。
在执行器阶段,比如软件机器人在执行到某一步骤,需要在界面N中点击某个按钮X(该按钮即需要定位的目标元素的一种),则执行器的执行器的执行过程包括:
第一步,接收“点击按钮X”的搜索请求。
第二步,针对界面N(即待操作界面)采用图5所示的目标元素检测模型以及目标图神经网络模型得到待匹配元素结构树,同时读取预先根据基准界面、目标元素检测模型和目标图神经网络模型得到的参考元素结构树。
第三步,比较待匹配元素结构树和参考元素结构树结构是否一致,若不一致则从界面N上查找按钮X的过程失败;否则根据配置得到的参考元素语义结构树进行语义搜索,从参考元素结构树上定位到该按钮X对应的目标节点,并从待匹配元素结构树上找到与目标节点对应的节点,并将与目标节点对应的节点的坐标信息返回给软件机器人,并进行后续的RPA的工作,即将该节点位置信息作为按钮X的位置进而从界面N上定位到按钮X。
第四步,完成对按钮X的点击操作。
下面示例性阐述对元素检测模型111进行训练得到上述目标元素检测模型的过程。需要说明的是,本申请的一些实施例的元素检测模型和目标元素检测模型的架构相同,只是元素检测模型的权重值是随机初始化的值,而目标元素检测模型的权重值是训练结束后得到的。本申请一些实施例的元素检测模型可以采用具备界面图像元素提取功能的任意神经网络模型,例如,元素检测模型可以yolov5神经网络模型,该模型采用了卷积神经网络CNN。
在本申请的一些实施例中,在执行S101之前,所述方法还包括对元素检测模型进行训练得到权重文件,并根据权重文件得到目标元素检测模型的过程,作为一个示例该过程包括:
第一步,获取N张原始界面图像。
进行数据采集,将采集到的网页界面图片或软件界面图片作为N张原始界面图像。
第二步,在所述N张原始界面图像包括的各张原始界面图像上均标注每个元素所在的区域以及所述每个元素的类别,得到N张元素标注图像,其中,所述每个元素所在区域采用矩形框标出,所述类别包括:滚动条、可编辑输入框、文本、超链接、有边界的图像、按钮、标记、窗口和弹窗中的至少一种;根据所述N张原始界面图像和所述N张元素标注图像对元素检测模型进行训练,得到所述目标元素检测模型。
也就是说,对第一步采集到的网页界面图片或软件界面图片进行标注(例如,人工标注),形成对应的标注集。例如,对原始界面图像中每个元素标出可以包含其的最小矩形框(作为每个元素所在区域),以及对应类别(即元素类别),类别包括:scrollbar:滚动条;textbox:可编辑输入框;text:文本;link:超链接(有下划线);image:有边界的图像;button:按钮;icon:标记,符号;window:窗口,弹窗;icon_button:既是icon又是button;icon_button_text:既是icon又是button又是text。
第三步,根据所述N张原始界面图像和所述N张元素标注图像对元素检测模型进行训练,得到所述目标元素检测模型。
也就是说,如图6所示,将第一步得到的N张原始界面图像和第二步得到的N张元素标注图像作为输入送入元素检测模型进行监督训练,其对应的标注集作为监督标签,获得训练后的第一模型权重文件,将该权重文件中的系数作为元素检测模型的系数即得到目标元素检测模型。
不难理解的是,本申请的一些实施例通过在每张训练图像上标注元素所在的位置以及元素类别使得训练结束后得到的目标元素检测网络具备预测输入图像上这些信息的功能。
下面结合图8以待操作界面图像为例示例性阐述目标元素检测模型具备的功能,即阐述该模型的输出。
如图8所示,将待操作界面图像输入目标元素检测模型,通过该目标元素检测模型可以得到在该界面上检测出的所有元素的元素坐标(即表征元素在界面上的位置)、元素类别以及界面的整体图片语义特征(例如,由该模型的主干网络获取该整体图片语义特征),之后再由目标区域语义特征获取模块从该整体图片语义特征上抠出各元素所在区域的语义特征得到目标语义特征。
可以理解的是,在应用过程中将目标元素检测模型输出的元素坐标和元素类别,以及目标语义特征输入给下游网络(例如,该下游网络包括距离构图模块和目标图神经网络模型)使用。
下面示例性阐述对图神经网络模型进行训练得到目标图神经网络模型的过程。需要说明的是,对图神经网络的训练过程需要训练数据且对该图神经网络进行训练属于基于标注数据的有监督的训练。本申请的一些实施例的获取训练数据的过程示例性包括:获取输入x以及标注数据y(即N张祖先节点位置标注图像),下面分别示例性阐述获取输入x以及标注数据y的实现过程。
下面首先示例性阐述获取标注数据y的过程,需要说明的是,标注数据y将属于同一父节点下的所有子节点标在一起。需要说明的是,本申请一些实施例构建的元素结构树的叶节点(最底层)是对应界面图像上的真实的元素(控件),而其他往上的一层层节点,只是这些叶节点的聚类,不是真实的界面元素。
为了获取标注数据y在本申请的一些实施例中,所述方法还包括:在所述N张元素标注图像包括的每张元素标注图像上分别标注至少一个聚合区域并标注所述聚合区域在元素结构树中的层级(即在目标检测的标注基础上标注聚合框cluste并标注该聚合框在元素结构树中所处的层级,一个聚合框对应一个聚合区域),得到N张祖先节点位置及层数标注图像,其中,一个聚合区域包括一个或多个元素所在的区域,与所述一个聚合区域对应的是一个共同祖先节点,所述一个聚合区域用于表征所述共同祖先节点所在位置;至少根据所述N张祖先节点位置及层数标注图像对图神经网络进行训练得到所述目标图神经网络模型。本申请的一些实施例通过在N张元素标注图像上进一步标注邻近元素的共同祖先节点的位置信息以及该共同祖先节点在元素结构树中的层级,使得训练得到的目标图神经网络模型具备预测输入图像上节点间共同祖先节点所在位置的功能。
例如,在本申请的一些实施例中,所述在所述N张元素标注图像包括的每张元素标注图像上分别标注至少一个聚合区域并标注所述聚合区域在元素结构树中的层级的过程示例包括:根据预设元素逻辑关系(例如,预设元素逻辑关系为功能相同)以及预设元素空间距离关系对所述每张元素标注图像上的一个或多个元素进行聚合,在被聚合的所有元素所在的区域标注初始聚合区域并对所述初始聚合区域标注第一标识,再根据所述预设逻辑和所述预设元素空间距离关系将至少一个所述初始聚合区域聚合得到第二聚合区域并标注所述第二聚合区域并对所述第二聚合区域标注第二标识,依次类推,直到获得一个包含所述每张元素标注图像上所有元素的第N聚合区域并标注所述第N聚合区域并对所述第N聚合区域标注第N标识,其中,与所述第N聚合区域对应的是树的根节点,所述第N聚合区域包括一个或多个第N-1聚合区域,所述N的取值为大于1的整数,不同标识用于记录对应聚合区域在元素结构树上所处的层级。本申请的一些实施例通过在每张元素标注图上标注多层级的聚合区域并标注各聚合区域所处的层数作为对图神经网络模型进行训练的标注数据,标注的聚合区域可以反应原始界面图像上各元素的从属关系,这样的标注数据使得训练得到的目标图神经网络模型具备挖掘界面图像上各元素从属关系即结构关系的能力。
也就是说,上述过程为对输入x准备对应的标签集作为输入y,进行模型的监督标签。该标签的表达形式为:两个元素之间的最近共同祖先节点的位置(在待构建的元素结构树中的层数),也即代表了节点nodes之间的边edge。比如第一节点node1和第二节点node2的标注为3,则代表了node1和node2所代表的两个元素,在最终元素结构树中,两者的最近共同祖先节点的位置在元素结构树中为第三层,同样模型最终预测node1和node2之间的第一二边edge12(即连接第一节点和第二节点的边)的结果应该为3。需要说明的是,为了得到输入y需要首先根据距离构图模块对目标元素检测模块输出的信息进行构图得到预测初始结构图(构图过程如下文所述,为避免重复在此不做过多赘述),该预测初始结构图包括与各元素对应的节点,但是连接节点之间的边是未设置任何数值的,本申请的一些实施例通过对图神经网络模型进行训练可以使得训练得到的目标图神经网络模型具备识别边上数值的功能,该数值表征了两个节点对应的共同祖先节点在元素结构树中的层数。
下面示例性阐述获取输入x的实现过程。
为了获取输入x需要得到根据距离构图模块得到的预测初始结构图。例如,在本申请的一些实施例中,在所述将所述初始结构图输入目标图神经网络模型之前,所述方法还包括:
第一步,通过所述目标元素检测模型得到与所述N张原始界面图像包括的每张原始界面图像对应的预测结果。
如图8所示,将N张原始界面图像输入如图7所示的目标元素检测模型得到预测结果,该预测结果包括在任一原始界面图像上检测到的所有元素的预测元素属性信息以及第二语义特征,所述预测元素属性信息包括所述元素位置和所述元素类别中的至少一个,所述第二语义特征为在所述任一原始界面图像上检测到的所有元素中各元素的局部语义特征(例如,从所述整体图片语义特征中上抠出与各元素对应的语义特征得到局部语义特征)。
第二步,根据所述预测元素属性信息和距离构图算法得到与所述任一原始界面图像对应的预测初始结构图,其中,所述预测初始结构图上包括多个第二节点。
如图8所述,将预测元素属性信息即元素类别和元素坐标输入距离构图模块(用于执行距离构图算法)得到对应与 各张原始界面图像的预测初始结构图。
也就是说,本申请的一些实施例根据第一步得到的预测结果包括的元素坐标和元素类别利用距离构图算法,进行构图,得到预测初始结构图graph1。其中距离构图算法的定义为:将所有元素定义为预测初始结构图或者初始结构图中节点nodes(一个节点对应检测到一个元素),针对任一节点node N以其为圆心(例如,目标检测结果里的元素坐标是一个矩形,而这里的圆心指的是该矩形的中心点)且以一定距离d为半径,在其所画圆内的其他所有节点组成的nodes S合集,均视作与其相关,从而将其他所有nodes的S合集与该node N进行edge相连,得到预测初始结构图或者得到初始结构图。在预测初始结构图和初始结构图上并未设置与各边对应的数值,这些数值可以通过训练得到的目标图神经网络模型来获取,这些数值用于表征与边对应的两个节点的最近公共祖先节点在构建的元素结构树上的层数。
需要说明的是,将元素类别的信息作为预测初始结构图或者初始结构图上节点的特征,目的就是为了增加每个节点node的特征量,使得构建的元素结构树的构建结果受到每个元素类别的影响。可以理解的是,在本申请的一些实施例中,上述初始结构图和预测初始结构图在构图时也可以仅考虑元素位置(即元素坐标)信息,对应的目标元素检测模块的输出结果可以不包括元素类别,对应的标注数据也可以不用标注元素类别。
第三步,根据所述预测结果得到所述预测初始结构图上每个第二节点的特征,并根据所述特征得到输入特征向量。
下面示例性阐述获取每个第二节点的特征的实施例。
例如,在本申请的一些实施例中,该第三步所述根据所述预测结果得到所述预测初始结构图上每个第二节点的特征的过程示例性包括:将与所述任一第二节点对应的元素位置、元素类别以及局部语义特征作为所述任一第二节点的特征,其中,所述与所述任一第二节点对应的局部语义特征为所述任一第二节点所在区域的语义特征。也就是说,本申请的一些实施例通过元素位置(即元素在对应界面图像上的坐标)、元素类别(例如,滚动条、可编辑输入框、文本、超链接、有边界的图像、按钮、标记、窗口和弹窗中的至少一种)和局部语义特征作为初始结构图上各节点的特征。
例如,在本申请的一些实施例中,该第三步所述根据所述预测结果得到所述预测初始结构图上每个第二节点的特征的过程示例性包括:对与任一第二节点对应的局部语义特征进行降维处理,得到降维局部语义特征,其中,所述与任一第二节点对应的局部语义特征为所述任一第二节点所在区域的语义特征;将与所述任一第二节点对应的元素位置、元素类别以及所述降维局部区域语义特征作为所述任一第二节点的特征。也就是说,本申请一些采用降维后的局部语义特征作为初始结构图上各节点的特征,可以降低训练时的数据处理量,提升训练速度。例如,在本申请的一些实施例中,通过PCA降维算法进行所述降维处理。本申请的一些实施例通过PCA降维算法对局部语义特征进行降维处理。
如图8所示,将与各张原始界面图像对应的整体图片语义特征输入目标区域语义特征获取模块,通过该模块从该整体图片语义特征上提取出与各元素分别对应的局部语义特征。再将各局部语义特征输入降维处理模块(用于执行降维处理算法)得到与各元素对应的降维局部语义特征。然后将该降维局部语义特征输入节点特征构建模块得到各第二节点的特征。
下面采用表达式阐述获取输入x的过程。
首先,对于上述第二语义特征,由于其的表达形式通常为一个m*n的矩阵V,并且m和n的数值通常较大,因而为了使语义特征的长度不要过大,并变得合理,所以采用PCA降维的方式,获得较小空间的特征表达K(即降维局部语义特征采用K来表征)。
其次,根据目标元素检测模型得到的元素的坐标和元素类别以及特征表达K,进行特征构建,获得各第二节点的元素特征,即每个graph1中各第二节点nodes的特征,该特征向量x包含位置坐标、类别、img特征,各第二节点的特征用表达式表征如下:
x = [node.class + node.location + node.img_feature]
其中,node.class 、 node.location 、node.img_feature分别代表相应元素的位置坐标、类别、img特征(特征表达K),并且组合方式为拼接concatenate。
然后,预测初始结构图graph1的每个第二节点node的特征就是上步骤生成的对应位置的第二节点node特征向量x,并根据graph1图的结构构造出特征向量的集合-特征矩阵X;根据graph1图的结构生成邻接矩阵A和度矩阵D,将A、D、X作为输入x0,送入图神经网络进行训练。
其中,图神经网络的核心公式为:
其中,X为nodes的特征向量,A为graph的邻接矩阵,W为可训练权重,W右上角的数字代表第几层的,如W0代表为第0层的可训练权重,ReLU为内激活函数,softmax为输出的激活函数。
需要说明的是,上述根据图结构而构造的A、D、X的方法,为图神经网络里的通用方法,为避免重复在此不做过多赘述。
如图8所示,根据各第二节点的特征通过邻接矩阵和度矩阵构建模块得到相应矩阵。
最后,将输入x和输入y送入图神经网路模型进行训练,获得第二模型权重文件,将该文件的权重系数值作为图神经网络模型的参数值即得到目标图神经网络模型。
如图8所示,将N张祖先节点位置标注图像(对应于输入y)以及第二节点的特征组成矩阵、邻接矩阵以及度矩阵(对应于输入x)输入图神经网络121对其进行训练,得到目标神经网络模型120。
可以理解的是,上述实施例所述的至少根据所述N张祖先节点位置标注图像对图神经网络进行训练得到所述目标图神经网络模型的过程示例性包括:根据所述输入特征向量和所述N张祖先节点位置标注图像对图神经网络进行训练得到所述目标图神经网络。本申请的一些实施例还需要获取输入向量来得到对图神经网络进行训练的训练数据,这些数据与所述N张祖先节点位置标注图像同时输入图神经网络模型才能完成对网络的训练,得到具备构建元素结构树的目标图神经网络模型。
将目标元素检测模型的输出信息输入目标图神经网络模型,可以预测根据距离构图算法得到的图上各节点nodes之间的边edges对应的数值,该数值可以表征两两元素之间最近共同祖先节点的位置信息。不难理解的是,根据目标神经网络模型的输出可以搭建出元素结构树。
请参考图9,图9示出了本申请实施例提供的定位界面上目标元素的装置,应理解,该装置与上述图2方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该定位界面上目标元素的装置包括:元素结构树获取模块801以及定位模块802。
元素结构树获取模块801,被配置为获取待操作界面上至少部分元素之间的结构关系,得到待匹配元素结构树。
定位模块802,被配置为至少根据参考元素结构树和所述待匹配元素结构树从所述待操作界面上确定目标元素的位置,以完成对所述目标元素的操作;其中,所述参考元素结构树用于表征基准界面上至少部分元素之间的结构关系,所述结构关系是通过对相应界面的元素进行结构化解析得到的,所述相应界面包括所述基准界面和所述待操作界面。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述实施例所述定位界面上目标元素的方法包括的任意实施例。
如图10所示,本申请的一些实施例提供一种电子设备900,包括存储器910、处理器920以及存储在所述存储器910上并可在所述处理器920上运行的计算机程序,其中,所述处理器920通过总线930从存储器910读取程序并执行所述程序时可实现如上述定位界面上目标元素的方法包括的任意实施例。
处理器520可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器520可以是微处理器。
存储器510可以用于存储由处理器520执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器520可以用于执行存储器510中的指令以实现图2中所示的方法。存储器510包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种定位界面上目标元素的方法,其特征在于,所述方法包括:
获取待操作界面上至少部分元素之间的结构关系,得到待匹配元素结构树;
至少根据参考元素结构树和所述待匹配元素结构树从所述待操作界面上确定目标元素的位置,以完成对所述目标元素的操作;
其中,所述参考元素结构树用于表征基准界面上至少部分元素之间的结构关系,所述结构关系是通过对相应界面的元素进行结构化解析得到的,所述相应界面包括所述基准界面和所述待操作界面,所述结构化解析是依据元素逻辑关系以及元素空间距离关系对所述至少部分元素的分类结果,所述元素逻辑关系指的是从元素的功能角度来区分不同类元素。
2.如权利要求1所述的方法,其特征在于,
所述参考元素结构树和所述待匹配元素结构树用于表征任意两个节点的目标共同祖先节点。
3.如权利要求2所述的方法,其特征在于,若所述任意两个节点的共同祖先节点的个数为多个时,则所述目标共同祖先节点为多个所述共同祖先节点中距离所述两个节点最近的共同祖先节点。
4.如权利要求1所述的方法,其特征在于,所述获取待操作界面上至少部分元素之间的结构关系,包括:
将所述待操作界面的图像输入目标元素检测模型,得到从所述待操作界面的图像中检测到的所有元素的元素属性信息以及目标语义特征,其中,所述元素属性信息包括:元素位置和元素类别中的至少一个,所述目标语义特征为所述所有元素包括的各元素所在区域的语义特征;
根据距离构图算法和所述所有元素的属性信息构建初始结构图,其中,所述初始结构图包括多个节点,每个节点用于表征一个元素,所述每个节点的特征采用所述元素属性信息进行表征;
将所述初始结构图输入目标图神经网络模型,并根据所述目标图神经网络模型得到所述待匹配元素结构树,其中,所述待匹配元素结构树包括所述多个节点以及与至少部分节点对应的祖先节点。
5.如权利要求4所述的方法,其特征在于,所述将所述待操作界面的图像输入目标元素检测模型,得到从所述待操作界面的图像中检测到的所有元素的元素属性信息以及目标语义特征,包括:
通过所述目标元素检测模型包括的主干网络获取整体图片语义特征,其中,所述主干网络为特征提取网络;
从所述整体图片语义特征中抠出与所述所有元素包括的各元素分别对应的局部语义特征,将得到的所有局部语义特征作为所述目标语义特征。
6.如权利要求4所述的方法,其特征在于,在所述将所述待操作界面的图像输入目标元素检测模型之前,所述方法还包括:
获取N张原始界面图像;
在所述N张原始界面图像包括的各张原始界面图像上均标注每个元素所在的区域以及所述每个元素的类别,得到N张元素标注图像,其中,所述每个元素所在的区域采用矩形框标出,所述类别包括:滚动条、可编辑输入框、文本、超链接、有边界的图像、按钮、标记、窗口和弹窗中的至少一种;
根据所述N张原始界面图像和所述N张元素标注图像对元素检测模型进行训练,得到所述目标元素检测模型。
7.如权利要求6所述的方法,其特征在于,在所述将所述初始结构图输入目标图神经网络模型之前,所述方法还包括:
在所述N张元素标注图像包括的每张元素标注图像上分别标注至少一个聚合区域并标注所述聚合区域在元素结构树中的层级,得到N张祖先节点位置及层数标注图像,其中,一个聚合区域包括一个或多个元素所在的区域,与所述一个聚合区域对应的是一个共同祖先节点,所述一个聚合区域用于表征所述共同祖先节点所在位置;
至少根据所述N张祖先节点位置及层数标注图像对图神经网络进行训练得到所述目标图神经网络模型。
8.如权利要求7所述的方法,其特征在于,所述在所述N张元素标注图像包括的每张元素标注图像上分别标注至少一个聚合区域并标注所述聚合区域在元素结构树中的层级,包括:
根据预设元素逻辑关系以及预设元素空间距离关系对所述每张元素标注图像上的一个或多个元素进行聚合,在被聚合的所有元素所在的区域标注初始聚合区域并对所述初始聚合区域标注第一标识,再根据所述预设元素逻辑关系和所述预设元素空间距离关系将至少一个所述初始聚合区域聚合得到第二聚合区域并标注所述第二聚合区域并对所述第二聚合区域标注第二标识,依次类推,直到获得一个包含所述每张元素标注图像上所有元素的第N聚合区域并标注所述第N聚合区域并对所述第N聚合区域标注第N标识,其中,与所述第N聚合区域对应的是树的根节点,所述第N聚合区域包括一个或多个第N-1聚合区域,所述N的取值为大于1的整数,不同标识用于记录对应聚合区域在元素结构树上所处的层级。
9.如权利要求7-8任一项所述的方法,其特征在于,在所述将所述初始结构图输入目标图神经网络模型之前,所述方法还包括:
通过所述目标元素检测模型得到与所述N张原始界面图像包括的每张原始界面图像对应的预测结果,其中,所述预测结果包括在任一原始界面图像上检测到的所有元素的预测元素属性信息以及第二语义特征,所述预测元素属性信息包括所述元素位置和所述元素类别中的至少一个,所述第二语义特征为在所述任一原始界面图像上检测到的所有元素中各元素的局部语义特征;
根据所述预测元素属性信息和距离构图算法得到与所述任一原始界面图像对应的预测初始结构图,其中,所述预测初始结构图上包括多个第二节点;
根据所述预测结果得到所述预测初始结构图上每个第二节点的特征,并根据所述特征得到输入特征向量;
所述至少根据所述N张祖先节点位置及层数标注图像对图神经网络进行训练得到所述目标图神经网络模型,包括:
根据所述输入特征向量和所述N张祖先节点位置及层数标注图像对图神经网络进行训练得到所述目标图神经网络。
10.如权利要求9所述的方法,其特征在于,所述根据所述预测结果得到所述预测初始结构图上每个第二节点的特征,包括:
将与任一第二节点对应的元素位置、元素类别以及局部语义特征作为所述任一第二节点的特征,其中,与所述任一第二节点对应的局部语义特征为所述任一第二节点所在区域的语义特征。
11.如权利要求9所述的方法,其特征在于,所述根据所述预测结果得到所述预测初始结构图上每个第二节点的特征,包括:
对与任一第二节点对应的局部语义特征进行降维处理,得到降维局部语义特征,其中,所述与任一第二节点对应的局部语义特征为所述任一第二节点所在区域的语义特征;
将与所述任一第二节点对应的元素位置、元素类别以及所述降维局部语义特征作为所述任一第二节点的特征。
12.如权利要求9所述的方法,其特征在于,通过主分量分析降维算法PCA对所述局部语义特征进行降维。
13.如权利要求2所述的方法,其特征在于,
所述至少根据参考元素结构树和所述待匹配元素结构树从所述待操作界面上确定目标元素的位置,包括:
在所述参考元素结构树上标注每个元素的语义,得到参考元素语义树;
确认所述参考元素结构树和所述待匹配元素结构树的结构一致;
从所述参考元素语义树中查找与所述目标元素对应的目标节点;
从所述待匹配元素结构树中查找与所述目标节点对应的节点的元素位置特征值,并根据所述元素位置特征值从所述待操作界面上得到所述目标元素的位置。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现如权利要求1-13中任意一项权利要求所述的方法。
15.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可实现如权利要求1-13中任意一项权利要求所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211205671.2A CN115268719B (zh) | 2022-09-30 | 2022-09-30 | 一种定位界面上目标元素的方法、介质及电子设备 |
PCT/CN2022/138765 WO2024066067A1 (zh) | 2022-09-30 | 2022-12-13 | 一种定位界面上目标元素的方法、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211205671.2A CN115268719B (zh) | 2022-09-30 | 2022-09-30 | 一种定位界面上目标元素的方法、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115268719A CN115268719A (zh) | 2022-11-01 |
CN115268719B true CN115268719B (zh) | 2022-12-20 |
Family
ID=83758128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211205671.2A Active CN115268719B (zh) | 2022-09-30 | 2022-09-30 | 一种定位界面上目标元素的方法、介质及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115268719B (zh) |
WO (1) | WO2024066067A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268719B (zh) * | 2022-09-30 | 2022-12-20 | 北京弘玑信息技术有限公司 | 一种定位界面上目标元素的方法、介质及电子设备 |
CN116051868B (zh) * | 2023-03-31 | 2023-06-13 | 山东大学 | 一种面向windows系统的界面元素识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015405A (zh) * | 2019-05-29 | 2020-12-01 | 腾讯数码(天津)有限公司 | 界面布局文件的生成方法、界面生成方法、装置及设备 |
CN112052005A (zh) * | 2019-06-06 | 2020-12-08 | 阿里巴巴集团控股有限公司 | 界面处理方法、装置、设备及存储介质 |
WO2021184725A1 (zh) * | 2020-03-16 | 2021-09-23 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
CN113934487A (zh) * | 2021-09-18 | 2022-01-14 | 达而观数据(成都)有限公司 | 一种用户界面元素定位方法、系统、计算机设备和存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8127252B2 (en) * | 2003-11-07 | 2012-02-28 | Microsoft Corporation | Method and system for presenting user interface (UI) information |
US7607110B2 (en) * | 2003-10-23 | 2009-10-20 | Microsoft Corporation | Element persistent identification |
US8655913B1 (en) * | 2012-03-26 | 2014-02-18 | Google Inc. | Method for locating web elements comprising of fuzzy matching on attributes and relative location/position of element |
KR101282975B1 (ko) * | 2012-10-26 | 2013-07-08 | (주)밸류팩토리 | 문서 요소를 분리 구조화하여 표준화한 후 웹페이지를 재구성하는 웹화면 크롭 서버 장치 |
CN109324796B (zh) * | 2018-08-01 | 2022-09-09 | 浙江口碑网络技术有限公司 | 界面布局方法及装置 |
CN113015956B (zh) * | 2019-10-14 | 2022-02-18 | 尤帕斯公司 | 用于机器人流程自动化的活动目标选择的系统和方法 |
CN112231034A (zh) * | 2019-12-23 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa和ai的软件界面元素的识别方法与装置 |
US20210349430A1 (en) * | 2020-05-11 | 2021-11-11 | UiPath, Inc. | Graphical element search technique selection, fuzzy logic selection of anchors and targets, and/or hierarchical graphical element identification for robotic process automation |
KR102399907B1 (ko) * | 2020-09-08 | 2022-05-18 | 유아이패스, 인크. | 애플리케이션 특유의 그래픽 요소 검출 |
CN112308069A (zh) * | 2020-10-29 | 2021-02-02 | 恒安嘉新(北京)科技股份公司 | 一种软件界面的点击测试方法、装置、设备及存储介质 |
CN114219934A (zh) * | 2021-12-22 | 2022-03-22 | 国网浙江省电力有限公司双创中心 | 机器人流程自动系统元素定位方法、装置、设备及介质 |
CN114995816A (zh) * | 2022-06-24 | 2022-09-02 | 中电金信软件有限公司 | 业务流程配置方法、装置、电子设备及可读存储介质 |
CN115268719B (zh) * | 2022-09-30 | 2022-12-20 | 北京弘玑信息技术有限公司 | 一种定位界面上目标元素的方法、介质及电子设备 |
-
2022
- 2022-09-30 CN CN202211205671.2A patent/CN115268719B/zh active Active
- 2022-12-13 WO PCT/CN2022/138765 patent/WO2024066067A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015405A (zh) * | 2019-05-29 | 2020-12-01 | 腾讯数码(天津)有限公司 | 界面布局文件的生成方法、界面生成方法、装置及设备 |
CN112052005A (zh) * | 2019-06-06 | 2020-12-08 | 阿里巴巴集团控股有限公司 | 界面处理方法、装置、设备及存储介质 |
WO2021184725A1 (zh) * | 2020-03-16 | 2021-09-23 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
CN113934487A (zh) * | 2021-09-18 | 2022-01-14 | 达而观数据(成都)有限公司 | 一种用户界面元素定位方法、系统、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024066067A1 (zh) | 2024-04-04 |
CN115268719A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245496B (zh) | 一种源代码漏洞检测方法及检测器和其训练方法及系统 | |
CN115268719B (zh) | 一种定位界面上目标元素的方法、介质及电子设备 | |
US20240177007A1 (en) | Software test case maintenance | |
Russell et al. | LabelMe: a database and web-based tool for image annotation | |
CN110363049B (zh) | 图形元素检测识别和类别确定的方法及装置 | |
US20240095247A1 (en) | Computerized information extraction from tables | |
US11036790B1 (en) | Identifying visual portions of visual media files responsive to visual portions of media files submitted as search queries | |
CN111095296A (zh) | 使用机器学习对字符串进行分类 | |
Patnaik et al. | Intelligent and adaptive web data extraction system using convolutional and long short-term memory deep learning networks | |
Li et al. | A geometric reasoning approach to hierarchical representation for B-rep model retrieval | |
CN113254507B (zh) | 一种数据资产目录智能构建盘点方法 | |
CN110599200B (zh) | Ota酒店的虚假地址的检测方法、系统、介质及设备 | |
JP2020512651A (ja) | 検索方法、装置及び非一時的コンピュータ読取可能記憶媒体 | |
CN115546465A (zh) | 一种用于定位界面上元素位置的方法、介质及电子设备 | |
JP7287699B2 (ja) | 機械学習を通じての学習モデルを使った情報提供方法および装置 | |
CN111666766A (zh) | 数据处理方法、装置和设备 | |
CN114139636B (zh) | 异常作业处理方法及装置 | |
Inbarani et al. | Hybrid tolerance rough set based intelligent approaches for social tagging systems | |
CN113688243B (zh) | 语句中实体的标注方法、装置、设备以及存储介质 | |
CN115269107B (zh) | 一种处理界面图像的方法、介质及电子设备 | |
Koenig et al. | NEURAL-UML: Intelligent Recognition System of Structural Elements in UML Class Diagram | |
JP2001325104A (ja) | 言語事例推論方法、言語事例推論装置及び言語事例推論プログラムが記録された記録媒体 | |
Liang | SmartGenerator4UI: A Web Interface Element Recognition and HTML Generation System Based on Deep Learning and Image Processing | |
Tümen et al. | Segmentation and Recognition of Offline Sketch Scenes Using Dynamic Programming | |
Jouili et al. | Comparing graph similarity measures for graphical recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |