CN114461122B - Rpa元素拾取同屏切换方法及*** - Google Patents
Rpa元素拾取同屏切换方法及*** Download PDFInfo
- Publication number
- CN114461122B CN114461122B CN202210376523.0A CN202210376523A CN114461122B CN 114461122 B CN114461122 B CN 114461122B CN 202210376523 A CN202210376523 A CN 202210376523A CN 114461122 B CN114461122 B CN 114461122B
- Authority
- CN
- China
- Prior art keywords
- interface
- module
- picking
- algorithm
- user
- 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/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/04845—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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03543—Mice or pucks
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明属于RPA元素识别技术领域,具体涉及RPA元素拾取同屏切换方法及***。方法包括S1,选择元素拾取方式;S2,将鼠标移至特定的软件界面;S3,获取界面相关信息和界面截图,并进行传送和解析;S4,对界面截图进行转发,并判断是否超过指定的时间T;S5,对界面截图算法解析处理,获得算法解析结果;S6,将算法解析结果封装,在软件界面上展示;S7,判断用户的操作模式;S8,用户选中对应元素后,再次高亮展示所拾取的元素,用户确认无误后完成拾取。本发明结合服务分片机制、操作模式区分和浮窗展示的前后端处理策略,具有拾取效果更出色、适用范围更广泛的特点。
Description
技术领域
本发明属于RPA元素识别技术领域,具体涉及RPA元素拾取同屏切换方法及***。
背景技术
RPA(机器人流程自动化,Robotic Process Automation)是一种当前快速发展的计算机软件自动化技术。元素拾取是RPA的重要组成功能,包括元素检测与识别。
现有的元素拾取技术基本分为三种:借助操作***指令和源码解析方式的传统元素拾取、采用图像匹配或模板匹配方式的匹配类元素拾取、以及基于深度学习模型的CV拾取。其中传统元素拾取基本成为一种必备的方法,而基于图像的匹配类拾取技术和基于深度学习模型的CV拾取技术大致各占RPA元素拾取技术的一半。
基于图像匹配的元素拾取技术的方案思路是,将要拾取的界面元素分为图标、文字两类,如果是文字类元素,现有技术方法采用OCR技术进行提取,如果是图标类元素则一般以截取元素小图标的方式进行提取;在自动化流程执行时,拾取阶段界面获取的文字类元素使用其位置信息和文字内容与待匹配的目标界面各元素进行匹配,而图标类元素则采用图像特征(如像素点、灰度分布、边缘特征、角点特征等)的方式进行匹配,最终在目标界面上找到各个元素,完成相应操作。图像匹配是现在广泛应用的一种元素拾取技术,其优势是简单易实现,但也存在拾取和匹配不准的固有问题。
在图像匹配的基础上,现有技术提出了采用CV领域的目标检测技术来做元素拾取的方法。基于深度学习模型的CV拾取技术,是将待拾取界面上的每个图标、文字等元素视为目标检测中的物体目标,通过标注大量类似界面上每个元素的位置、类别等,选用深度神经网络模型来训练、学习得到一个检测器。该检测器可以对新来的软件界面预测每个元素的位置和类别,而在流程运行阶段采用相同方法进行元素提取,并将两个阶段分别获得元素进行匹配,实现RPA元素的拾取和匹配功能。
基于深度学习框架的目标检测模型,能够更精准地检测到界面中的各个元素,尤其是一些小目标元素,并且在运行阶段能够获得更稳定的匹配效果;但是问题在于模型的计算量都比较大,单次推理的浮点数运算次数都在亿级以上,因此如果不对模型进行精细地裁剪和量化,这种量级的计算通常只能放在GPU上;不加优化和处理的同个模型在GPU和普通CPU上的运行速度差异可能达到数倍甚至十数倍。
与上述两种技术相关的,现有的整体元素拾取交互上一般采用基于作用域的方案。这种方案的设计是:首先选定一个软件界面或截取一块屏幕区域作为后续操作的作用域,将该作用域的图像、源码(如有)等信息传递给元素拾取服务,后台的算法程序会通过源码解析、模板匹配、CV拾取等多种方式对该作用域进行内容分析,并返回作用域中各个元素所在的位置、元素的类别等结果,位置和类别可以通过画图的方式在屏幕中展现出来,用户便可以在设计器上针对返回结果,选择需要拾取和后续操作的元素,最终完成设计阶段的元素拾取工作;而在执行阶段,会同样在目标界面上先匹配作用域,再匹配对应的元素。
基于作用域的元素拾取技术能够将对元素的各类拾取、匹配等操作都限定在事先划定的作用域范围内,确保拾取和运行阶段的界面一致性,而在作用域之外的屏幕其他元素则不在此次可操作的范围内。这种设计能够解决一部分问题,但在实际使用过程中操作比较复杂,对于不同分辨率的情况,更存在着无法匹配的问题。
无论是采用基于图像匹配的元素拾取,还是依赖GPU的深度模型CV拾取技术,实际上都没有摆脱“作用域”这个概念。当前RPA领域基于作用域的元素拾取方案,对于同一屏幕打开多个软件界面,在选定一个软件作为作用域需要切换到另一软件界面;或者在进入拾取状态需要唤起原先最小化的软件界面时,都会出现问题。对于前一种情况,需要重新再进行作用域选择,操作非常麻烦;对于后一种情况则完全不支持同步的操作;这种体验上的不佳和支持范围的局限性,违背了RPA概念本身推崇的自动、简单、高效的原则。
因此,设计一种结合服务分片机制、操作模式区分和浮窗展示的前后端处理策略,且拾取效果更出色、适用范围更广泛的RPA元素拾取同屏切换方法及***,就显得十分重要。
例如,申请号为CN202110944521.2的中国专利文献描述的一种RPA元素智能融合拾取的方法与***,通过将基于深度神经网络的CV元素拾取技术和传统元素拾取技术相结合,并在RPA软件后台根据用户所要操作的软件界面的不同,为用户自动选择更精准、更合适的元素拾取方式(当然也支持用户手动进行拾取方式切换),同时在操作过程中能够实现拾取方式的自动、无感切换。另外,在各个元素实现定位的基础上,提供界面元素的内容解析能力,实现元素的类别、属性、位置、层次等的有序输出,从而支持更多样化的元素操作能力。虽然通过上述功能,可以为用户提供更流畅的使用体验,提高RPA软件可用性和支持范围;并减少用户使用成本,降低用户编辑开发RPA流程的时间,但是其缺点在于,模型的计算量都比较大,单次推理的浮点数运算次数都在亿级以上,运行速度慢。
发明内容
本发明是为了克服现有技术中,现有基于作用域的元素拾取方案不支持同屏应用切换,且在拾取状态下无法唤起软件应用以及基于图像匹配拾取方式精度低和匹配效果差的问题,提供了一种结合服务分片机制、操作模式区分和浮窗展示的前后端处理策略,且拾取效果更出色、适用范围更广泛的RPA元素拾取同屏切换方法及***。
为了达到上述发明目的,本发明采用以下技术方案:
RPA元素拾取同屏切换方法,包括如下步骤;
S1,用户根据提示选择元素拾取方式;
S2,用户将鼠标移至特定的软件界面;
S3,通过窗口句柄的方式获取界面相关信息和界面截图,并将界面相关信息和界面截图进行传送和解析;
S4,对界面截图进行转发,并判断是否超过指定的时间T;若不超时则继续等待算法结果返回;若超时则返回步骤S2并给用户对应提示进行重新选择;
S5,界面截图由经过优化的深度学习目标检测模型进行算法解析处理,获得算法解析结果;
S6,将获得的算法解析结果经过封装后,以蒙层的方式在软件界面上展示,供用户选择要拾取的元素;
S7,判断用户的操作模式,若是热键+鼠标点击,则表示用户要选中对应元素,并进行下一步骤;若否,则表示用户仅正常操作页面并返回步骤S2;
S8,用户选中对应元素后,再次高亮展示所拾取的元素,用户确认无误后完成拾取。
作为优选,所述元素拾取方式包括普通拾取和智能拾取;
所述普通拾取为基于操作***指令和源码解析的拾取方式;
所述智能拾取为基于深度学习的CV拾取方式。
作为优选,步骤S3包括如下步骤:
S31,根据鼠标移动的位置,获取当前用户所要进一步操作的软件界面,并通过当前软件界面的窗口句柄,映射到具体窗体对象,获得窗体的详细信息;
其中,所述窗体的详细信息包括窗***置、图标和菜单;
S32,对当前软件界面进行截图,并获取界面截图图像,传递界面截图图像并返回算法解析结果。
作为优选,步骤S4包括如下步骤:
S41,获取并转发界面截图,并判断转发时间是否超过指定的时间T;若超时,则丢弃当前界面截图并重新计时;若不超过,则对界面截图进行算法解析计算。
作为优选,步骤S5包括如下步骤:
S51,判断对界面截图进行算法解析计算的时间是否超过指定的时间T;若超时,则丢弃当前算法解析计算结果并重新计时;若不超过,则返回算法解析计算结果。
作为优选,步骤S5中,所述深度学习目标检测模型采用二阶段或一阶段目标检测网络;所述深度学习目标检测模型的优化具体为:
将大计算量的深度神经网络架构进行重新调整或使用轻量级的网络进行结果拟合,并对网络中的浮点型操作转化为整数型操作。
本发明还提供了RPA元素拾取同屏切换***,包括;
前端展示模块,用于作为切换元素拾取方法的展示载体;用于对当前软件界面进行截图;用于对算法解析后的结果在当前软件界面进行展示;。
后端处理模块,用于通过窗口句柄的方式获取界面相关信息和界面截图;用于将整个持续的元素拾取过程,分片为长度为T的小段;用于将获得的算法解析结果经过封装后,以蒙层的方式在软件界面上展示;用于判断用户是正常操作页面还是拾取元素;用于完成算法服务初始化和模型鉴权功能;
算法推理模块,用于对深度学习目标检测模型进行优化;用于对软件界面截图实现转发,并对软件界面截图进行解析,将获得算法解析结果发送给后端处理模块;用于完成校验功能。
作为优选,所述前端展示模块包括:
浮窗选择器,用于作为切换元素拾取方法的展示载体;
窗口界面截图模块,用于对当前软件界面进行截图;
解析结果蒙层绘制模块,用于对算法解析后的结果在当前软件界面进行展示。
作为优选,所述后端处理模块包括:
窗口句柄获取模块,用于通过窗口句柄的方式获取界面相关信息和界面截图;
服务分配器模块,用于将整个持续的元素拾取过程,分片为长度为T的小段;
解析结果封装模块,用于将获得的算法解析结果经过封装后,以蒙层的方式在软件界面上展示
操作模式适配器模块,用于判断用户是正常操作页面还是拾取元素;
算法调起和服务鉴权模块,用于完成算法服务初始化和模型鉴权功能。
作为优选,所述算法推理模块包括:
裁剪后的元素拾取模型模块,用于对深度学习目标检测模型进行优化以及对CPU和GPU在计算架构上的差异进行优化;
算法对外接口模块,用于对软件界面截图实现转发,并对软件界面截图进行解析,将获得算法解析结果发送给后端处理模块
模型鉴权服务模块,用于完成本地算法模型和RPA软件版本的一致性和用户权限的校验功能。
本发明与现有技术相比,有益效果是:(1)本发明结合服务分片等待+操作模式区分+浮窗展示的方案,实现在同屏展示的多个软件应用之间,实时、流畅地切换,随着用户鼠标的移动可以实时、自动地获取软件界面,并调用深度CV拾取模型进行解析,同时完成解析结果的展示;(2)本发明在用户操作RPA编辑器进入元素拾取状态时,能够同时完成元素拾取和正常的界面唤起、按钮点击、文本输入和界面滚动等操作,保证进一步地实现任意软件、任意时刻、所见即所得的拾取,而不干扰用户对业务流程的正常操作;(3)本发明进一步将依赖于GPU环境的深度CV模型进行了裁剪等优化,确保在普通无GPU的计算机环境下也能获得快速的模型推理,而不再需要将软件界面等大量数据通过网络传输到远端服务器进行解析,提高了元素拾取的效率和稳定性;(4)本发明具有用户体验更友好、拾取效果更出色、适用范围更广泛的特点。
附图说明
图1为本发明中RPA元素拾取同屏切换***的一种功能结构示意图;
图2为本发明中浮窗选择器的一种样式示意图;
图3为本发明中服务分配器模块的一种处理流程图;
图4为本发明中操作模式适配器模块的一种处理流程图;
图5为本发明实施例所提供的RPA元素拾取同屏切换方法的一种流程图。
具体实施方式
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
实施例1:
如图5所示的RPA元素拾取同屏切换方法,进入拾取流程的操作:用户在设计和编辑RPA自动化流程时,首先需要打开RPA流程编辑器,选择元素拾取相关的组件例如「元素点击」;将其拖动到编辑窗口和画布中,然后点击该组件中的拾取入口,进入到元素拾取状态,此时RPA流程编辑器会最小化,并将屏幕界面切换到打开流程编辑器之前的状态和界面中。
S1,开始拾取之后,用户先根据浮窗选择器的提示选择元素拾取方式,浮窗选择器的样式示例如图2所示,其中普通拾取对应传统的基于操作***指令和源码解析的拾取方式,智能拾取对应基于深度学习的CV拾取方式;
S2,用户将鼠标移至特定的软件界面,此软件界面即为后续自动化流程要操作的界面,例如某电商ERP软件,用于查询相关信息;
S3,此时在用户无感知的情况下,通过窗口句柄的方式获取界面相关信息和界面截图,并将其传给RPA软件引擎中的后端处理模块进行解析;
步骤S3具体包括如下步骤:
S31,根据鼠标移动的位置,获取当前用户所要进一步操作的软件界面,并通过当前软件界面的窗口句柄,映射到具体窗体对象,获得窗体的详细信息;
其中,所述窗体的详细信息包括窗***置、图标和菜单;
S32,对当前软件界面进行截图,并获取界面截图图像,传递界面截图图像并返回算法解析结果。
S4,对界面截图进行转发,并判断是否超过指定的时间T;若不超时则继续等待算法结果返回;若超时则返回步骤S2并给用户对应提示进行重新选择;
在实际实施中,T的选择一般为毫秒级别,因此在一个服务分片内只要能够返回算法解析结果,对用户来说感觉就像鼠标一移到软件界面,就返回了可拾取的所有元素位置;
步骤S4具体包括如下步骤:
S41,获取并转发界面截图,并判断转发时间是否超过指定的时间T;若超时,则丢弃当前界面截图并重新计时;若不超过,则对界面截图进行算法解析计算。
S5,界面截图图片由经过优化的深度学习目标检测模型进行处理,该目标检测模型可以使用当前效果较好的二阶段或一阶段目标检测网络,例如RCNN系列或者YOLO系列,并对其基础网络进行一定的裁剪和优化,以满足S4步骤和前述所说的,即使在无GPU的普通计算机环境上,也能在规定的时间T之内返回推理结果;
步骤S5具体包括如下步骤:
S51,判断对界面截图进行算法解析计算的时间是否超过指定的时间T;若超时,则丢弃当前算法解析计算结果并重新计时;若不超过,则返回算法解析计算结果。
S6,由算法解析得到的结果经过封装后,将以蒙层的方式在软件界面上展示,例如某个按钮可以被拾取,则会返回该按钮的位置、长、宽、类型等,这样用户要拾取该按钮时,将鼠标移动到按钮上,按钮会高亮显示其图标区域,并以文字形式展示元素类型;
S7,此时判断用户的操作模式,如果是热键+鼠标点击,例如在实施中可以是Ctrl键+鼠标点击的方式,则表示用户要选中该元素;否则如果只是单纯的鼠标左键单击、右键单击、左键双击、滚轮滚动等,则表示用户只是想正常操作页面,例如单击「查询」按钮,只是想执行查询动作,而Ctrl+鼠标单击则表示要拾取「查询」按钮;
S8,用户选择对应元素后,RPA软件提供校验功能,即再次高亮展示所拾取的元素,用户确认无误后完成拾取。
完成拾取之后,RPA软件会自动唤起流程编辑器界面,此时可以看到当前步骤已被选择的界面元素,之后用户可以继续进行下一步的设计。
如图1所示,本发明还提供了RPA元素拾取同屏切换***,包括;
前端展示模块,用于作为切换元素拾取方法的展示载体;用于对当前软件界面进行截图;用于对算法解析后的结果在当前软件界面进行展示;。
后端处理模块,用于通过窗口句柄的方式获取界面相关信息和界面截图;用于将整个持续的元素拾取过程,分片为长度为T的小段;用于将获得的算法解析结果经过封装后,以蒙层的方式在软件界面上展示;用于判断用户是正常操作页面还是拾取元素;用于完成算法服务初始化和模型鉴权功能;
算法推理模块,用于对深度学习目标检测模型进行优化;用于对软件界面截图实现转发,并对软件界面截图进行解析,将获得算法解析结果发送给后端处理模块;用于完成校验功能。
进一步的,所述前端展示模块包括:
浮窗选择器,用于作为切换元素拾取方法的展示载体;
窗口界面截图模块,用于对当前软件界面进行截图;
解析结果蒙层绘制模块,用于对算法解析后的结果在当前软件界面进行展示
浮窗选择器作为RPA前端界面用于切换元素拾取方法的展示载体,样式如图2所示。用户可以在浮窗选择器上看到当前鼠标位置、界面类型和拾取方式,也能看到如何切换拾取方式的提示。由于本发明设计了一种操作模式的区分机制来支持用户在拾取状态下也能顺利唤起软件和运行界面点击,因此在浮窗选择器上也展现了进行拾取操作的热键组合。
窗口界面截图模块根据后端窗口句柄获取模块的请求,对当前软件界面进行截图,这种截图是自动化的,不需要像现有技术一样由用户手动截图,并且会根据鼠标移动到不同的软件界面上,自动切换截取不同软件界面图片。
解析结果蒙层绘制模块是将算法解析后的结果,包括元素坐标和类型等在当前界面进行展示,元素轮廓周围以红色边框高亮展示,元素类型则以文本样式悬浮于界面上。
进一步的,所述后端处理模块包括:
窗口句柄获取模块,用于通过窗口句柄的方式获取界面相关信息和界面截图;
服务分配器模块,用于将整个持续的元素拾取过程,分片为长度为T的小段;
解析结果封装模块,用于将获得的算法解析结果经过封装后,以蒙层的方式在软件界面上展示
操作模式适配器模块,用于判断用户是正常操作页面还是拾取元素;
算法调起和服务鉴权模块,用于完成算法服务初始化和模型鉴权功能。
窗口句柄获取模块会根据鼠标移动的位置,获取当前处于激活状态,也就是用户所要进一步操作的界面,此时模块拿到该窗口句柄,映射到具体窗体对象,并进一步引用得到窗体详细信息,如窗***置、图标、菜单等,在前端截图获取界面图像,由于图像获取是实时的,能够保证及时响应用户鼠标动作,传递界面图像并返回算法解析结果,确保了操作体验的流畅。
服务分配器模块用于解决用户过于频繁切换软件界面的问题。具体来说:本发明设定了一个服务响应时间阈值T,将每次服务调用和返回的时间限定在长度为T的分片之内;在时间T之内要求完成界面截图、图片传输、算法解析和结果返回的过程;如果在时间T之内用户仍切换了多次软件界面,则不会进行窗口响应和截图获取,从而保证一定时间内传递界面和返回结果的一致。实际实施中,时间T的选择一般比较小,这样绝大部分的情况用户的感知是鼠标移动到软件界面A上立刻返回了解析结果,并能够选择要拾取的元素。服务分配器模块是将整个持续的拾取服务过程,分片为长度为T的小段,既保证及时响应又避免极端情况下频繁切换带来的冗余计算开销,服务分配器模块的流程逻辑如图3所示。
解析结果封装模块获取算法服务对界面的解析结果,并按照指定的格式进行封装,内容包括各个元素的坐标、类型、图片、内容等,封装后的解析结果一方面可以和传统元素拾取方式得到的信息进行整合,另一方面方便在软件界面上进行展示和绘制。
操作模式适配器模块,实现了本发明提出的操作模式区分的机制,该适配器中以配置热键组合的方式区分在拾取的状态下哪些操作是正常界面点击、输入操作,哪些操作是拾取选择元素的操作。具体来说:现有技术一般不做这种区分,带来的问题是拾取状态下界面上增加了一个蒙层,用户在点击一个图标的时候就难以区分是确实要点击按钮完成提交和跳转等动作,还是要拾取元素作为自动化流程的一个配置步骤。因此在本发明中用热键+鼠标点击结合的方式来完成元素拾取,而其他单纯的鼠标左键、右键的单双击和滚轮滚动则仍然执行软件操作,这样保证即使在拾取状态下,也能正常地唤起界面、点击按钮等而不会互相混淆,操作模式区分的流程逻辑如图4所示,在同一屏幕上根据操作模式不同而使得多种操作可以共存。
算法调起和服务鉴权模块是RPA中完成算法服务初始化和模型鉴权的功能模块。在本发明中,由于算法模型经过优化后可以支持普通计算机的本地运行,因此将算法模型和RPA编辑器一起安装到本地,这样在通过RPA调用本地算法服务的时候,需要将用户权限信息传递给算法服务,保证算法模型和RPA软件的版本一致;另外在用户进行元素拾取时也需要通过后端处理模块来初始、调用和关闭本地的深度CV拾取模型,实现统一的服务管理。
进一步的,所述算法推理模块包括:
裁剪后的元素拾取模型模块,用于对深度学习目标检测模型进行优化以及对CPU和GPU在计算架构上的差异进行优化;
算法对外接口模块,用于对软件界面截图实现转发,并对软件界面截图进行解析,将获得算法解析结果发送给后端处理模块
模型鉴权服务模块,用于完成本地算法模型和RPA软件版本的一致性和用户权限的校验功能。
裁剪后的元素拾取模型模块是将原先大计算量的深度神经网络架构进行重新调整或使用更轻量级的网络进行结果拟合,并对其中的浮点型操作转化为更快的整数型操作;同时针对CPU和GPU在计算架构上的差异也进行了优化。这种优化能在保证模型精度的情况下使得模型的推理速度更快,在本发明中表现为原先在GPU和CPU上速度相差数倍甚至十数倍的深度学习模型,可以在普通的无GPU的计算机环境下以更接近GPU环境的速度运行,从而使离线的、普通的计算机环境上,也能使用深度CV拾取模型。经过裁剪后的模型和RPA软件一起安装在本地机器上。
算法对外接口模块实现软件界面图片的转发,并调用元素拾取模型进行解析,相关的计算结果经过初步封装后发送给RPA后端处理模块。另在算法接口中还实现超时设置、地址适配等操作。
模型鉴权服务模块和后端处理模块的对应功能一起,完成本地算法模型和RPA软件版本的一致性、用户权限等校验,确保不会因版本更新等带来接口不一致的问题。
综上,本发明通过前端展示模块、后端处理模块和算法推理模块3个部分的配合,实现了一种RPA元素拾取的同屏切换方法及***,这种方法和***不同于现有的基于作用域的元素拾取范式,而是一种全新的RPA元素拾取模式。在该模式中,用户可以实现同一屏幕不同应用间的无缝切换,也能够在同个屏幕下互不冲突地完成元素拾取和软件操作。
本发明通过结合服务分片机制、操作模式区分、浮窗展示等方案,使得用户不需要在拾取元素之前指定作用域,造成每次拾取的变动都必须从作用域范围进行改动;同时,本发明采用了经过优化的深度学习模型来提供界面解析和元素匹配能力,使得整个方案不需要借助图像匹配方法,也无需GPU环境,即能在普通的计算机环境下使用深度学习CV拾取模型来提高拾取的精度和匹配的稳定性。本发明方案的优势在于:所支持的元素拾取同屏切换,以及在拾取状态也能支持软件唤起和正常界面操作的方式,为用户提供了一种体验更友好、操作更简便的方案;同时可以本地化、无GPU环境调用深度学习模型使得RPA元素拾取方案的拾取效果更出色、适用范围更广泛。
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。
Claims (7)
1.RPA元素拾取同屏切换方法,其特征在于,包括如下步骤;
S1,用户根据提示选择元素拾取方式;
S2,用户将鼠标移至特定的软件界面;
S3,通过窗口句柄的方式获取界面相关信息和界面截图,并将界面相关信息和界面截图进行传送和解析;
S4,对界面截图进行转发,并判断是否超过指定的时间T;若不超时则继续等待算法结果返回;若超时则返回步骤S2并给用户对应提示进行重新选择;
S5,界面截图由经过优化的深度学习目标检测模型进行算法解析处理,获得算法解析结果;
S6,将获得的算法解析结果经过封装后,以蒙层的方式在软件界面上展示,供用户选择要拾取的元素;
S7,判断用户的操作模式,若是热键+鼠标点击,则表示用户要选中对应元素,并进行下一步骤;若否,则表示用户仅正常操作页面并返回步骤S2;
S8,用户选中对应元素后,再次高亮展示所拾取的元素,用户确认无误后完成拾取;
步骤S4包括如下步骤:
S41,获取并转发界面截图,并判断转发时间是否超过指定的时间T;若超时,则丢弃当前界面截图并重新计时;若不超过,则对界面截图进行算法解析计算;
步骤S5包括如下步骤:
S51,判断对界面截图进行算法解析计算的时间是否超过指定的时间T;若超时,则丢弃当前算法解析计算结果并重新计时;若不超过,则返回算法解析计算结果;
步骤S5中,所述深度学习目标检测模型采用二阶段或一阶段目标检测网络;所述深度学习目标检测模型的优化具体为:
将大计算量的深度神经网络架构进行重新调整或使用轻量级的网络进行结果拟合,并对网络中的浮点型操作转化为整数型操作。
2.根据权利要求1所述的RPA元素拾取同屏切换方法,其特征在于,步骤S1中,所述元素拾取方式包括普通拾取和智能拾取;
所述普通拾取为基于操作***指令和源码解析的拾取方式;
所述智能拾取为基于深度学习的CV拾取方式。
3.根据权利要求1所述的RPA元素拾取同屏切换方法,其特征在于,步骤S3包括如下步骤:
S31,根据鼠标移动的位置,获取当前用户所要进一步操作的软件界面,并通过当前软件界面的窗口句柄,映射到具体窗体对象,获得窗体的详细信息;
其中,所述窗体的详细信息包括窗***置、图标和菜单;
S32,对当前软件界面进行截图,并获取界面截图图像,传递界面截图图像并返回算法解析结果。
4.RPA元素拾取同屏切换***,用于实现权利要求1-3任一项所述的RPA元素拾取同屏切换方法,其特征在于,所述RPA元素拾取同屏切换***包括;
前端展示模块,用于作为切换元素拾取方法的展示载体;用于对当前软件界面进行截图;用于对算法解析后的结果在当前软件界面进行展示;
后端处理模块,用于通过窗口句柄的方式获取界面相关信息和界面截图;用于将整个持续的元素拾取过程,分片为长度为T的小段;用于将获得的算法解析结果经过封装后,以蒙层的方式在软件界面上展示;用于判断用户是正常操作页面还是拾取元素;用于完成算法服务初始化和模型鉴权功能;
算法推理模块,用于对深度学习目标检测模型进行优化;用于对软件界面截图实现转发,并对软件界面截图进行解析,将获得算法解析结果发送给后端处理模块;用于完成校验功能。
5.根据权利要求4所述的RPA元素拾取同屏切换***,其特征在于,所述前端展示模块包括:
浮窗选择器,用于作为切换元素拾取方法的展示载体;
窗口界面截图模块,用于对当前软件界面进行截图;
解析结果蒙层绘制模块,用于对算法解析后的结果在当前软件界面进行展示。
6.根据权利要求4所述的RPA元素拾取同屏切换***,其特征在于,所述后端处理模块包括:
窗口句柄获取模块,用于通过窗口句柄的方式获取界面相关信息和界面截图;
服务分配器模块,用于将整个持续的元素拾取过程,分片为长度为T的小段;
解析结果封装模块,用于将获得的算法解析结果经过封装后,以蒙层的方式在软件界面上展示
操作模式适配器模块,用于判断用户是正常操作页面还是拾取元素;
算法调起和服务鉴权模块,用于完成算法服务初始化和模型鉴权功能。
7.根据权利要求4所述的RPA元素拾取同屏切换***,其特征在于,所述算法推理模块包括:
裁剪后的元素拾取模型模块,用于对深度学习目标检测模型进行优化以及对CPU和GPU在计算架构上的差异进行优化;
算法对外接口模块,用于对软件界面截图实现转发,并对软件界面截图进行解析,将获得算法解析结果发送给后端处理模块
模型鉴权服务模块,用于完成本地算法模型和RPA软件版本的一致性和用户权限的校验功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376523.0A CN114461122B (zh) | 2022-04-12 | 2022-04-12 | Rpa元素拾取同屏切换方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376523.0A CN114461122B (zh) | 2022-04-12 | 2022-04-12 | Rpa元素拾取同屏切换方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114461122A CN114461122A (zh) | 2022-05-10 |
CN114461122B true CN114461122B (zh) | 2022-07-19 |
Family
ID=81417635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210376523.0A Active CN114461122B (zh) | 2022-04-12 | 2022-04-12 | Rpa元素拾取同屏切换方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461122B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174866A (zh) * | 2022-07-18 | 2022-10-11 | 珠海金智维信息科技有限公司 | 基于rpa的供水泵房视频监控***、方法和存储介质 |
CN115061679B (zh) * | 2022-08-08 | 2022-11-11 | 杭州实在智能科技有限公司 | 离线rpa元素拾取方法及*** |
CN115964027B (zh) * | 2023-03-16 | 2023-06-30 | 杭州实在智能科技有限公司 | 基于人工智能的桌面嵌入式rpa流程配置***及方法 |
CN116168405B (zh) * | 2023-04-23 | 2023-08-01 | 杭州实在智能科技有限公司 | 通用型rpa复选框操作组件的构建方法及*** |
CN116403199B (zh) * | 2023-06-07 | 2023-09-08 | 杭州实在智能科技有限公司 | 基于深度学习的屏幕图标语义识别方法及*** |
CN116630990B (zh) * | 2023-07-21 | 2023-10-10 | 杭州实在智能科技有限公司 | Rpa流程元素路径智能修复方法及*** |
CN117130717B (zh) * | 2023-10-27 | 2024-02-13 | 杭州实在智能科技有限公司 | RPA场景下HTMLayout应用程序的元素定位方法及*** |
CN117573006B (zh) * | 2024-01-17 | 2024-05-10 | 杭州实在智能科技有限公司 | 用于rpa屏幕界面元素批量拾取的方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880897A (zh) * | 2020-07-24 | 2020-11-03 | 哈尔滨工业大学(威海) | 一种Windows窗体应用程序行为模拟机器人及其工作方法 |
CN112101357A (zh) * | 2020-11-03 | 2020-12-18 | 杭州实在智能科技有限公司 | 一种rpa机器人智能元素定位拾取方法及*** |
CN112182468A (zh) * | 2020-10-14 | 2021-01-05 | 北京新纽科技有限公司 | 一种兼容客户端界面元素与网页页面元素的定位和解析方法 |
CN112930537A (zh) * | 2020-05-01 | 2021-06-08 | 尤帕斯公司 | 文本检测、***符号追踪以及活动元素检测 |
CN113282215A (zh) * | 2021-05-24 | 2021-08-20 | 湖南大学 | 一种rpa***中基于目标检测技术的ui元素拾取方法和*** |
CN113391871A (zh) * | 2021-08-17 | 2021-09-14 | 杭州实在智能科技有限公司 | 一种rpa元素智能融合拾取的方法与*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663793B (zh) * | 2012-03-27 | 2015-11-11 | 上海量明科技发展有限公司 | 一种截图载入文档的方法、客户端及*** |
US10936351B2 (en) * | 2019-07-19 | 2021-03-02 | UiPath, Inc. | Multi-anchor based extraction, recognition, and machine learning of user interface (UI) |
US11748069B2 (en) * | 2020-07-07 | 2023-09-05 | UiPath, Inc. | User interface (UI) descriptors, UI object libraries, UI object repositories, and UI object browsers for robotic process automation |
-
2022
- 2022-04-12 CN CN202210376523.0A patent/CN114461122B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112930537A (zh) * | 2020-05-01 | 2021-06-08 | 尤帕斯公司 | 文本检测、***符号追踪以及活动元素检测 |
CN111880897A (zh) * | 2020-07-24 | 2020-11-03 | 哈尔滨工业大学(威海) | 一种Windows窗体应用程序行为模拟机器人及其工作方法 |
CN112182468A (zh) * | 2020-10-14 | 2021-01-05 | 北京新纽科技有限公司 | 一种兼容客户端界面元素与网页页面元素的定位和解析方法 |
CN112101357A (zh) * | 2020-11-03 | 2020-12-18 | 杭州实在智能科技有限公司 | 一种rpa机器人智能元素定位拾取方法及*** |
CN113282215A (zh) * | 2021-05-24 | 2021-08-20 | 湖南大学 | 一种rpa***中基于目标检测技术的ui元素拾取方法和*** |
CN113391871A (zh) * | 2021-08-17 | 2021-09-14 | 杭州实在智能科技有限公司 | 一种rpa元素智能融合拾取的方法与*** |
Non-Patent Citations (2)
Title |
---|
Intelligent document processing based on RPA and machine learning;Xufeng Ling et al.;《2020 Chinese Automation Congress (CAC)》;20210129;1349-1353 * |
面向对象的交互显示和拾取模型研究;龚堰珏 等;《***仿真学报》;20030131;第15卷(第1期);29-31 * |
Also Published As
Publication number | Publication date |
---|---|
CN114461122A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114461122B (zh) | Rpa元素拾取同屏切换方法及*** | |
CN112101357B (zh) | 一种rpa机器人智能元素定位拾取方法及*** | |
US11694461B2 (en) | Optical character recognition method and apparatus, electronic device and storage medium | |
AU2013287381A1 (en) | Method and apparatus for controlling application by handwriting image recognition | |
US10067667B2 (en) | Method and apparatus for touch gestures | |
US20140325482A1 (en) | Method for creating a label | |
US20110078593A1 (en) | Web browser transmission server and method of controlling operation of same | |
CN114637662B (zh) | 一种rpa流程自动化录制控制方法及*** | |
US20190384460A1 (en) | Surfacing application functionality for an object | |
CN113171605A (zh) | 虚拟资源获取方法、计算机可读存储介质和电子设备 | |
US20230013569A1 (en) | Combined local and server context menus | |
CN113703634A (zh) | 界面显示方法和装置 | |
CN112463272A (zh) | 一种界面布局加载显示方法、***、电子设备及存储介质 | |
CN113552977A (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN111598128A (zh) | 用户界面的控件状态识别、控制方法、装置、设备及介质 | |
CN108984097B (zh) | 触控操作方法、装置、存储介质及电子设备 | |
CN103744573A (zh) | 一种基于图形设备接口的数据快速查看和分析*** | |
CN115079887B (zh) | 一种桌面***上安卓应用键盘映射辅助提示的显示方法 | |
CN111324262A (zh) | 一种应用界面控制方法、装置、终端及介质 | |
CN115546824B (zh) | 禁忌图片识别方法、设备及存储介质 | |
US20180143747A1 (en) | User interface device and method for displaying screen of user interface device | |
US20100318900A1 (en) | Method and device for attributing text in text graphics | |
WO2021185098A1 (zh) | 基于字符识别的字符选择方法、装置和终端设备 | |
CN111796736B (zh) | 应用程序的分享方法、装置和电子设备 | |
CN103543824A (zh) | 手势输入***及方法 |
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 |