CN112241581A - 重新训练机器人视觉模型以用于机器人过程自动化 - Google Patents

重新训练机器人视觉模型以用于机器人过程自动化 Download PDF

Info

Publication number
CN112241581A
CN112241581A CN202010691245.9A CN202010691245A CN112241581A CN 112241581 A CN112241581 A CN 112241581A CN 202010691245 A CN202010691245 A CN 202010691245A CN 112241581 A CN112241581 A CN 112241581A
Authority
CN
China
Prior art keywords
image
graphical component
model
computing system
representative data
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.)
Pending
Application number
CN202010691245.9A
Other languages
English (en)
Inventor
C·沃伊库
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yupas Co
Original Assignee
Yupas Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yupas Co filed Critical Yupas Co
Publication of CN112241581A publication Critical patent/CN112241581A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开的实施例涉及重新训练机器人视觉模型以用于机器人过程自动化。可以重新训练由机器学习(ML)系统所生成的计算机视觉(CV)模型,以便在机器人过程自动化(RPA)中进行更准确的计算机图像分析。设计器应用可以从用户接收在图像中的经错误标识图形部件或未被标识图形部件的选择,确定包括该选择的图像的区域的代表数据,并且将代表数据和图像传输到图像数据库。审查者可以执行CV模型,或使得CV模型被执行以确认误差存在,并且如果存在误差,则将图像和正确标签发送到ML系统,以进行重新训练。在CV模型被重新训练时,备选图像识别模型可以被使用,以标识经错误标识图形部件或未被标识图形部件。

Description

重新训练机器人视觉模型以用于机器人过程自动化
技术领域
本发明总体涉及机器人过程自动化(RPA),并且更具体地涉及标识经错误标识图形部件或未被标识图形部件,以及重新训练由机器学习(ML)系统所生成的用于RPA的计算机视觉(CV)模型,以进行更准确的计算机图像分析。
背景技术
当前,通过生成合成数据并且收集各种软件应用(无论是来自实时应用还是互联网)的实际用户接口的屏幕截图(即,数字图像),获得了训练数据,该训练数据使得用于识别图像特征的、由ML生成的用于RPA的CV模型算法自动化。合成数据是以训练ML模型的特定目的而产生的数据。这与“真实”数据或“有机”数据不同,“真实”数据或“有机”数据是已存在的数据,并且仅需要被收集和标记。在这种情况下,有机数据包括通过各种机制收集、并且标记的屏幕截图。
另一训练数据源是用户想要自动化的应用的屏幕截图。在这种方法中,如果由CV模型未检测到接口的图形元素(例如,复选框、单选按钮、文本框等),则用户(例如,客户)可以选择未被标识的元素,创建选择的屏幕截图,然后将具有选择的坐标的图像发送给服务提供商。然而,这种方法需要用户花费大量精力,来发送作为反馈的图像并且报告误差。实际上,大多数用户都不这样做。
此外,通过现有技术捕获的数据在实现后可能会变得不理想或不相关。例如,客户在运行时所使用的应用的实际用户接口可能不同于在设计时间期间用于训练数据的用户接口。这使CV模型不了解实际用户接口,并且潜在地不适合实际用户接口,因此CV模型可能需要重新训练才能有效操作。因而,一种重新训练CV模型的经改善的方法可以是有益的。
发明内容
本发明的某些实施例可以提供针对本领域的问题和需求的解决方案,这些问题和需求尚未由现有CV模型技术完全标识、理解或解决。例如,本发明的一些实施例涉及标识经错误标识图形部件或未被标识图形部件,以及重新训练由ML系统生成的用于RPA的CV模型,以进行更准确的计算机图像分析。
在实施例中,提供了一种计算机程序被包含在非暂时性计算机可读介质上。该程序被配置为使得至少一个处理器从CV模型的执行,接收在图像内的图形部件的标识,并且在视觉显示器上显示图像,该图像具有由CV模型标识的经标识图形部件。计算机程序还被配置为使得至少一个处理器接收在图像中的经错误标识图形部件或未被标识图形部件的选择,确定包括选择的图像的区域的代表数据,并且将代表数据和图像传输到图像数据库。
在另一实施例中,提供了一种计算系统,包括:存储器,存储机器可读计算机程序指令;以及至少一个处理器,被配置为执行计算机程序指令。指令被配置为使得至少一个处理器接收在图像中的经错误标识图形部件或未被标识图形部件的选择,确定包括选择的图像的区域的代表数据,并且将代表数据和图像传输给图像数据库,以重新训练CV模型。指令还被配置为,使得至少一个处理器从经重新训练的CV模型的执行,接收在图像内的图形部件的标识,并且在视觉显示器上显示图像,该图像具有由经重新训练的CV模型标识的经标识图形部件。
在又一实施例中,提供了一种计算机实现方法,包括:通过计算系统,接收在图像中经错误标识图形部件或未被标识图形部件的选择,并且通过计算系统,确定包括选择的图像的区域的代表数据。计算机实现方法还包括:通过计算系统,将代表数据和图像传输给图像数据库,并且通过计算系统,将图像和备选图像处理逻辑嵌入工作流中,以在CV模型被重新训练时,标识经错误标识图形部件或未被标识图形部件。
附图说明
为了使本发明的某些实施例的优点更易于理解,通过参考在附图中图示的特定实施例来对上文所简要描述的本发明进行更具体的描述。虽然应当理解的是,这些附图仅描绘了本发明的典型实施例,并且因此不应被认为是对本发明范围的限制,但是通过使用附图,对本发明的附加特征和细节进行了描述和说明,其中
图1是图示了根据本发明的实施例的RPA系统的架构图。
图2是图示了根据本发明的实施例的部署的RPA系统的架构图。
图3是图示了根据本发明的实施例的在设计器、活动和驱动器之间的关系的架构图。
图4是图示了根据本发明的实施例的RPA系统的架构图。
图5A图示了根据本发明的实施例的在运行时针对虚拟机(VM)系统采用CV的RPA实现方式。
图5B图示了根据本发明的实施例的图5A的RPA实现方式,其中图形部件在设计时间未被标识或错误标识。
图6A是图示了在用户尝试在屏幕上选择图形部件之前的针对VM的远程桌面连接窗口的屏幕截图。
图6B是图示了在用户尝试在屏幕上选择图形部件之后的针对VM的远程桌面连接窗口的屏幕截图。
图7A是图示了根据本发明的实施例的在已经运行了CV/OCR、并且已经经由设计器将结果显示给用户之后的、选择器工具窗口和远程桌面连接窗口的屏幕截图。
图7B是图示了根据本发明的实施例的在用户已经将图形部件选择为未被正确标识或被错误标识之后的、选择器工具窗口和远程桌面连接窗口的屏幕截图。
图7C是图示了根据本发明的实施例的在重新训练CV模型之后的远程桌面连接窗口的屏幕截图。
图8是图示了根据本发明的实施例的在已经运行了CV/OCR、并且已经经由设计器将结果显示给用户之后的、锚指定窗口和远程桌面连接窗口的屏幕截图。
图9A-图9C图示了根据本发明实施例的多锚匹配算法的示例。
图10是图示了根据本发明的实施例的在已经运行CV/OCR、并且已经经由设计器将结果显示给用户之后的、锚指定窗口和远程桌面连接窗口的屏幕截图。
图11是图示了根据本发明的实施例的用于重新训练CV模型的过程的流程图。
图12是图示了根据本发明的实施例的被配置为重新训练CV模型的计算系统的架构图。
具体实施方式
一些实施例涉及标识经错误标识图形部件或未被标识图形部件,以及重新训练由ML系统生成的用于RPA的CV模型,以进行更准确的计算机图像分析。可以捕获视觉显示器的屏幕截图图像,包括将被自动化的应用的图形用户接口(GUI)。在虚拟机(VM)实施例中(诸如
Figure BDA0002589455370000041
远程桌面等)、或在某些Flash、Silverlight或PDF文档中,仅可以针对给定应用展示图像。在不背离本发明的范围的情况下,图像可以包括窗口、文档、财务收据、发票、和/或任何其他图形元素。虽然在一些实施例中,图像可以包括非结构化数据,但是在某些实施例中,数据是结构化的。
然后,可以在屏幕截图图像上执行CV模型(潜在地与来自OCR的文本识别模型结合),并且可以向设计器提供在图像中标识的特定图形部件,该设计器接受屏幕截图图像和标识来自CV/OCR的部件的数据作为输入,并且然后在视觉显示器(例如,计算机显示器、膝上式计算机屏幕、智能电话、虚拟现实或增强现实显示设备等)上针对用户,显示经标识图形部件的指示。在视觉显示器上存在一个或多个经错误标识图形部件或未被标识图形部件(例如,复选框、文本框、单选按钮、常规按钮等)的情况下,用户可以在他/她的屏幕上做出涵盖这些图形部件的选择。在一些实施例中,向用户提供工作备选方案(例如,向用户提供针对经错误标识图形部件或未被标识图形部件使用图像匹配算法的能力)可以激励用户做出选择。应当指出的是,在一些实施例中,图形部件可以包括通过CV模型可标识的视觉显示元素,以及通过OCR可标识的视觉显示元素,和/或需要CV模型和OCR两者进行标识的视觉显示元素(例如,包括至少一些文字的文本字段)。从(多个)选择,设计器可以确定由用户所选择的视觉显示器的(多个)区域的代表数据。
在一些实施例中,该代表信息包括限定具有区域的形状的坐标、线段、或两者。在某些实施例中,在不背离本发明的范围的情况下,选择可以是矩形、圆形、椭圆形、正方形、六边形、自由形式、和/或任何其他合适的形状。在一些实施例中,用户可以能够在多种类型的形状之间进行选择,这些形状可以最好地适配每个感兴趣图形部件。例如,矩形可以最适配文本框,而圆形可以最适配单选按钮。在某些实施例中,计算系统可以尝试推断、并且完成未完全闭合的自由形式的形状。
应当指出的是,在一些实施例中,如果使用适当硬件,则该形状可以是具有体积的三维形状(即,体素而非像素),其中对代表信息进行相关调整。例如,可以使用增强现实头戴设备,其检测用户手指的位置,具有嵌入式传感器的指示器设备可以提供三维位置等。例如,这样的系统可以限定盒或球,而非矩形或圆形。
然后,设计器将屏幕截图图像和代表数据传输给图像数据库,然后审查者从图像数据库接收该信息。该传输可以自动发生,或者可以以用户的命令发生。在一些实施例中,传输自动发生而无需用户的附加动作具有新颖性。实际上,在一些实施例中,用户可以标识经错误标识图形部件和/或未被标识图形部件,而无需了解已经发起了重新训练过程或者他/她在其中扮演了角色。审查者经由他/她的计算系统审查屏幕截图图像,和通过用户使用他/她的设计器应用所选择的区域,并且确认误差存在。例如,随后人类审查者可以审查由用户对误报做出的选择,以确保实际上出现了(多个)未被标识和/或(多个)错误标识。例如,人类审查者可以验证用户尚未将用于窗口的最大化/最小化图标选择为未被标识。如果是,则审查者将屏幕截图图像和代表数据提交给ML系统进行重新训练。在一些实施例中,重新训练与已经被标识的其他问题一起批量进行。在一些实施例中,在图像数据库中的来自设计时间的其他图像被用于增强重新训练。在某些实施例中,ML系统是用于训练CV模型的相同ML系统,但是基于屏幕截图图像和代表数据被更新(并且可能根据以上所述在一些实施例中解决其他误差)。然后,ML系统重新训练CV模型,从而产生经重新训练的CV模型,经重新训练的CV模型更准确地标识(多个)经错误标识图形部件和/或(多个)未被标识图形部件。然后,经重新训练的CV模型被发送到运行该CV模型的计算系统(例如,分隔的服务器、用户的计算系统等),并且经重新训练的CV模型被用于正确标识所有非文本图形部件,包括(多个)经错误标识图形部件和/或(多个)未被标识图形部件。
可以采用一个或多个深度学习神经网络(DLNN)重新训练CV模型。例如,可以使用Tensor
Figure BDA0002589455370000061
Py
Figure BDA0002589455370000062
等。然而,基于DLNN的重新训练可能需要几天或几周来完成。因而,在一些实施例中,可以由用户采用备选图像识别技术,以识别经错误标识图形部件或未被标识图形部件。例如,可以在由用户选择的屏幕的(多个)区域上采用图像匹配算法,以尝试标识其中的(多个)图形部件。设计器可以将该逻辑嵌入工作流中,以用于在将来处理,直到经重新训练的CV模型被准备好并且被部署为止。虽然图像匹配通常不如在本文中所讨论的多锚技术准确,但是它可以提供了权宜之计,允许在重新训练CV模型时,以至少一定的准确度来标识经错误标识图形部件或未被标识图形部件。由于图像匹配提供了立即的临时解决方案,因此这进一步激励了用户选择经错误标识图形部件和/或未被标识图形部件。
在一些实施例中,当图形部件未被标识或错误标识时,用户选择使用较不准确算法的选项。然而,在某些实施例中,当用户做出选择时,可能不会意识到在幕后发生了任何事情,并且设计器可以在工作流中,自动将备选图像识别模型嵌入到丢失的部件或经错误标识部件中。因此,例如,做出选择并且单击“OK”按钮可以是用户知道的他们与系统的唯一交互。
使用RPA(诸如
Figure BDA0002589455370000071
Figure BDA0002589455370000072
远程桌面的虚拟桌面基础结构(VDI)环境)已经难以可靠地完成自动化。在本机计算系统的通常RPA实现方式中,使用选择器,选择器使用用户接口(UI)的元素的基础特性工作,以标识应用元素(例如,按钮、文本字段等)。然而,当在VDI环境中尝试自动化相同软件时,该技术失效。失效的原因是VDI环境以与视频流服务类似的方式、流式地传输远程桌面的图像。在“视频”的图像(即,“帧”)中根本没有将被标识的选择器。已经尝试使用光学字符识别(OCR)和图像匹配来解决这一挑战。然而,已经证明这些技术不够可靠,并且会导致维护问题,这是由于即使在UI中的微小改变,也趋于破坏自动化。
然而,使用CV模型(诸如由
Figure BDA0002589455370000073
所采用的模型),提供了使用深度学习来自动化基于图像的环境的能力。在一些实施例中,设计器(以及后文的机器人)可以使得使用人工智能(AI)、CV、OCR、文本模糊匹配、以及新颖锚系统(其可以是单锚或多锚)的混合能够对用户接口进行仿人识别。这允许这样的设计器/机器人“查看”屏幕、并且视觉地标识其图形部件,而不依赖于其隐藏特性、标识符和其他元数据。应当指出的是,在一些实施例中,这种基于CV的方法不限于VDI环境。某些实施例还可以识别传统UI自动化技术难以解决的、跨广泛范围的情况的视觉图形部件,包括但不限于SAP、Flash、Silverlight、PDF、各种格式的图像(例如,JPG、PNG、BMP等)等。
与传统图像自动化不同,一些实施例不依赖于针对初级CV模型的图像匹配。作为结果,这样的实施例可以对包括但不限于颜色、字体、大小、分辨率改变等的接口改变(这将破坏该接口的图像匹配模型)具有很强的适应能力。一些实施例的CV模型可以能够一次处理所有这些改变,并且仍然找到预期图形部件。
一些实施例针对诸如瘦客户端架构的VM架构可以特别有益。然而,可以使用任何适当功率和功能的客户端计算系统(例如,独立台式机和膝上式计算系统、智能电话等)执行虚拟化。例如,在瘦客户端架构中,客户端计算系统是轻型计算机,其与服务器或无论本地定位的服务器网络还是本地分布的服务器网络(例如,云计算架构)建立远程连接。通常,在一台服务器上执行客户端VM会话。
服务器执行常规个人计算机的大多数任务(即,启动软件应用和存储数据),并且向客户端计算系统发送屏幕图像。客户端计算系统跟踪用户在与图像进行交互的位置的键击和鼠标单击(或在触觉接口上的触摸),并且将该信息发送到服务器。然后,服务器将该信息提供给在服务器上执行的对应应用,用户在寻求与该对应应用交互。然后,屏幕图像会相应地更新,并且发送到用户,更新的屏幕图像通常会模仿该应用,如同它在在用户的计算系统上被执行一样。通常,屏幕更新会实时、或近实时地发送到瘦客户端。
由于使用了图像,所以根据以上所述,一些实施例可以非常适合用于VM系统。CV模型尝试标识在图像内包含的图形部件。这可以使用寻求标识在图像中的文本的文本识别模块来增强,该文本识别模块可以被包括在图形部件(例如,文本框、文本字段等)内。
图1是图示了根据本发明的实施例的RPA系统100的架构图。RPA系统100包括设计器110,允许开发者设计和实现工作流。设计器110可以提供解决方案,用于应用集成以及自动化第三方应用、管理信息技术(IT)任务、以及业务IT过程。设计器110可以促进自动化项目的开发,该自动化项目是业务过程的图形表示。简而言之,设计器110促进工作流和机器人的开发与部署。
自动化项目使得通过给予开发者对执行次序和在工作流中开发的自定义步骤集合(本文中限定为“活动”)之间的关系的控制,能够自动化基于规则的过程。设计器110的实施例的一个商业示例是UiPath StudioTM。每个活动可以包括动作(诸如单击按钮、读取文件、写入日志面板等)。在一些实施例中,可以嵌套或嵌入工作流。
一些类型的工作流可以包括,但不限于:序列、流程图、有限状态机(FSM)、和/或全局异常处理器。序列可以特别适合于线性流程,使得能够从一个活动流到另一活动而不会堵塞工作流。流程图可以特别适合于更复杂的业务逻辑,使得能够通过多个分支逻辑运算符,以更多样化的方式集成决策并且连接活动。FSM可以特别适合大型工作流。在FSM的执行中,FSM可以使用有限数目的状态,这些状态由条件(即,瞬变)或活动触发。全局异常处理器可以特别适合于在遇到执行误差时,确定工作流行为,以及用于调试过程。
一旦在设计器110中开发了工作流,则由引导器120编排业务过程的执行,该引导器120编排一个或多个机器人130,一个或多个机器人130执行在设计器110中开发的工作流。引导器120的实施例的一个商业示例是UiPath OrchestratorTM。引导器120促进了在环境中的资源的创建、监测和部署的管理。引导器120可以充当与第三方解决方案和应用的集成点。
引导器120可以管理机器人130的机群,从集中点连接与执行机器人130。可以被管理的机器人130的类型包括,但不限于:有人值守机器人132、无人值守机器人134、开发机器人(类似于无人值守机器人134,但用于开发和测试目的),以及非生产机器人(类似于有人值守机器人132,但用于开发和测试目的)。有人值守机器人132由用户事件触发,并且与人类在相同计算系统上一起操作。有人值守机器人132可以与引导器120一起使用,用于进行集中过程部署和登录介质。有人值守机器人132可以帮助人类用户完成各种任务,并且可以由用户事件触发。在一些实施例中,过程不能从在这种类型的机器人上的引导器120开始,和/或它们不能在锁定屏幕下运行。在某些实施例中,只能从机器人托盘或命令提示符启动有人值守机器人132。在一些实施例中,有人值守机器人132应当在人类的监督下运行。
无人值守机器人134在虚拟环境中无人值守地运行,并且可以自动化许多过程。无人值守机器人134可以负责远程执行、监测、调度,以及针对工作排队提供支持。在一些实施例中,可以在设计器110中运行针对所有机器人类型的调试。有人值守机器人和无人值守机器人二者都可以自动化各种系统和应用,包括但不限于:大型机、web应用、VM、企业应用(例如,由
Figure BDA0002589455370000102
Sales
Figure BDA0002589455370000101
等所产生的应用),以及计算系统应用(例如,桌上计算机和膝上型计算机应用、移动设备应用、可穿戴式计算机应用等)。
引导器120可以具有各种能力,包括但不限于:提供、部署、配置、排队、监测、登录,和/或提供互连性。提供可以包括在机器人130与引导器120(例如,web应用)之间创建和维护连接。部署可以包括确保将程序包版本正确交付给指定的机器人130,以便执行。配置可以包括维护和交付机器人环境与过程配置。排队可以包括提供排队和排队项的管理。监测可以包括保持跟踪机器人标识数据,并且维护用户权限。登录可以包括将日志和索引存储到数据库(例如,SQL数据库)和/或另一存储机制(例如,Elastic
Figure BDA0002589455370000103
提供存储和快速查询大型数据集的能力)。通过充当第三方解决方案和/或应用的通信的集中点,引导器120可以1提供互连。
机器人130是运行在设计器110中内置的工作流的执行代理。(多个)机器人130的一些实施例的一个商业示例是UiPath Robots。在一些实施例中,机器人130默认安装Microsoft
Figure BDA0002589455370000106
服务控制管理器(SCM)管理的服务。作为结果,这样的机器人130可以在本地系统帐户下打开交互式
Figure BDA0002589455370000104
会话,并且具有
Figure BDA0002589455370000105
服务的权利。
在一些实施例中,机器人130可以在用户模式中被安装。针对这样的机器人130,这意味着它们与已经在其下安装了给定机器人130的用户具有相同的权利。该特征还可以用于高密度(HD)机器人,其确保每台机器在其最大潜力下得到充分利用。在一些实施例中,在HD环境中可以配置任何类型的机器人130。
在一些实施例中,机器人130被分成数个部件,每个部件专用于特定自动化任务。在一些实施例中,机器人部件包括但不限于:SCM管理的机器人服务、用户模式机器人服务、执行器、代理、以及命令行。SCM管理的机器人服务管理和监测
Figure BDA0002589455370000111
会话,并且充当在引导器120与执行主机(即,在其上执行机器人130的计算系统)之间的代理。这些服务受机器人130信任,并且管理机器人130的凭据。由SCM在本地系统下启动控制台应用。
在一些实施例中,用户模式机器人服务管理和监测
Figure BDA0002589455370000112
会话,并且充当在引导器120与执行主机之间的代理。用户模式机器人服务可以受机器人130信任,并且管理机器人130的凭据。如果未安装SCM管理的机器人服务,则可以自动启动
Figure BDA0002589455370000113
应用。
执行器可以在
Figure BDA0002589455370000114
会话下运行给定作业(即,他们可以执行工作流)。执行器可以知道每监测器的每英寸点数(DPI)设置。代理可以是
Figure BDA0002589455370000115
呈现基础(WPF)应用,在系统托盘窗口中显示可用作业。代理可以是服务的客户端。代理可以请求启动或停止作业,以及改变设置。命令行是服务的客户端。命令行是控制台应用,可以请求以启动作业,并且等待其输出。
如上所述,使机器人130的部件分开有助于开发者、支持用户以及计算系统更容易地运行、标识和跟踪每个部件在执行什么。可以通过这种方式为每个部件配置特殊行为,诸如针对执行器和服务设置不同的防火墙规则。在一些实施例中,执行器可能始终知道每个监测器的DPI设置。作为结果,工作流可以在任何DPI处被执行,而不管在工作流被创建的计算系统上的配置如何。在一些实施例中,来自设计器110的项目还可以独立于浏览器缩放等级。在一些实施例中,针对不知道DPI或有意标记为不知道的应用,可以禁用DPI。
图2是图示了根据本发明的实施例的部署的RPA系统200的架构图。在一些实施例中,RPA系统200可以是图1的RPA系统100、或可以是图1的RPA系统100的一部分。应当指出的是,在不背离本发明的范围的情况下,客户端侧、服务器侧或两者可以包括任何期望数目的计算系统。在客户端侧上,机器人应用210包括执行器212、代理214和设计器216。然而,在一些实施例中,设计器216可以不在计算系统210上运行。执行器212在运行过程。如在图2中示出的,数个业务项目可以同时运行。在该实施例中,代理214(例如,
Figure BDA0002589455370000123
服务)是所有执行器212的单个接触点。在该实施例中,所有消息都被登录到引导器230中,该引导器230经由数据库服务器240、索引器服务器250或两者对所有消息进行进一步处理。如在上文关于图1所讨论的,执行器212可以是机器人部件。
在一些实施例中,机器人表示在机器名与用户名之间的关联。机器人可以同时管理多个执行器。在支持同时运行多个交互式会话的计算系统上(例如,
Figure BDA0002589455370000121
服务器2012),多个机器人可以同时运行,在分隔的
Figure BDA0002589455370000122
会话中每个机器人都使用唯一用户名运行。这在上文被称为HD机器人。
代理214还负责发送机器人的状态(例如,周期性地发送指示机器人仍在运行的“心跳”消息),并且下载将被执行的程序包的所需版本。在一些实施例中,在代理214与引导器230之间的通信总是由代理214发起。在通知场景中,代理214可以打开WebSocket通道,该WebSocket通道随后由引导器230使用,以向机器人发送命令(例如,开始、停止等)。
在服务器侧上,包括:表现层(web应用232、开放数据协议(OData)代表状态传送(REST)应用编程接口(API)端点234、以及通知和监测236)、服务层(API实现方式)/业务逻辑238)和持久层(数据库服务器240和索引器服务器250)。引导器230包括web应用232、OData REST API端点234、通知和监测236,以及API实现实现方式/业务逻辑238。在一些实施例中,通过调用各种API,执行用户在引导器220的接口(例如,经由浏览器220)中执行的大多数动作。在不背离本发明的范围的情况下,这种动作可以包括但不限于:在机器人上开始作业、在排队中添加/移除数据、调度作业以无人值守地运行等。web应用232是服务器平台的视觉层。在该实施例中,web应用232使用超文本标记语言(HTML)和JavaScript(JS)。然而,在不背离本发明的范围的情况下,可以使用任何期望的标记语言、脚本语言或任何其他格式。在该实施例中,用户经由浏览器220与来自web应用232的网页进行交互,以便执行控制引导器230的各种动作。例如,用户可以创建机器人组,为机器人指派程序包、分析每个机器人和/或每个过程的日志、开始和停止机器人等。
除了web应用232之外,引导器230还包括暴露OData REST API端点234的服务层。然而,在不背离本发明的范围的情况下,可以包括其他端点。REST API由web应用232和代理214两者使用。在该实施例中,代理214是客户端计算机上的一个或多个机器人的监督器。
该实施例中,REST API涵盖配置、登录、监测和排队功能。在一些实施例中,配置端点可以被使用,以限定和配置应用用户、权限、机器人、资产、释放、以及环境。例如,登录REST端点可以被使用,以登录不同的信息,诸如误差、由机器人所发送的显式消息,以及其他环境特定信息。如果在引导器230中使用了开始作业命令,则部署REST端点可以由机器人使用,以查询应当被执行的程序包版本。排队REST端点可以负责排队和排队项管理,诸如将数据添加到排队、从排队获得交易、设置交易的状态等。
监测REST端点监测web应用232和代理214。通知和监测API236可以是REST端点,用于注册代理214、向代理214交付配置设置,以及用于从服务器和代理214发送/接收通知。在一些实施例中,通知和监测API 236还可以使用WebSocket通信。
在该实施例中,持久性层包括一对服务器,即,数据库服务器240(例如,SQL服务器)和索引器服务器250。在该实施例中,数据库服务器240存储机器人、机器人组、相关过程、用户、角色、调度等的配置。在一些实施例中,通过web应用232来管理该信息。数据库服务器240可以管理排队和排队项。在一些实施例中,数据库服务器240可以存储由机器人(附加于或代替索引器服务器250)登录的消息。
索引器服务器250(在一些实施例中是可选的)存储并且索引由机器人所登录的信息。在某些实施例中,可以通过配置设置来禁用索引器服务器250。在一些实施例中,索引器服务器250使用Elastic
Figure BDA0002589455370000141
其是开源项目全文搜索引擎。由机器人所记录的消息(例如,使用如日志消息或写入线之类的活动)可以通过(多个)登录REST端点发送到索引器服务器250,在此处对消息进行索引以供未来利用。
图3是图示了根据本发明的实施例的在设计器310、活动320、330和驱动器340之间的关系300的架构图。根据以上内容,开发者使用设计器310来开发由机器人所执行的工作流。工作流可以包括用户限定活动320和UI自动化活动330。一些CV活动可以包括但不限于:单击、键入、获取文本、悬停、元素存在、刷新范围、突出显示等。在一些实施例中,单击例如使用CV、OCR、模糊文本匹配和多锚标识元素,然后单击元素。键入可以使用上述内容标识元素,并且可以在该元素中键入。获取文本可以标识特定文本的位置,并且使用OCR对其进行扫描。悬停可以标识元素并且悬停于其上。元素存在可以使用上文所描述的技术,检查在屏幕上是否存在元素。在一些实施例中,可以在设计器310中实现数百甚至数千个活动。然而,在不背离本发明的范围的情况下,可以使用任何数目和/或类型的活动。
UI自动化活动330是以较低等级代码写入的特定的较低等级活动(例如,CV活动)的子集,并且促进与屏幕的交互。经由驱动器340,UI自动化活动促进这些交互,驱动器340允许机器人与所需软件进行交互。例如,驱动器340可以包括OS驱动器342、浏览器驱动器344、VM驱动器346、企业应用驱动器348等。
驱动器340可以与OS进行低等级交互,以寻找挂接件、监测键等。它们可以促进与
Figure BDA0002589455370000142
等集成。例如,经由驱动器340,“单击”活动在这些不同的应用中扮演相同的角色。
图4是图示了根据本发明的实施例的RPA系统400的架构图。在一些实施例中,RPA系统400可以是图1和/或图2的RPA系统100和/或200,或包括图1和/或图2的RPA系统100和/或200。RPA系统400包括运行机器人的多个客户端计算系统410。计算系统410能够经由在其上运行的web应用,与引导器计算系统420进行通信。引导器计算系统420又能够与数据库服务器430和可选的索引器服务器440进行通信。
关于图2和图4,应当指出的是,虽然在这些实施例中使用了web应用,但是在不背离本发明的范围的情况下,可以使用任何合适的客户端/服务器软件。例如,引导器可以运行服务器侧应用,该服务器侧应用与在客户端计算系统上的、非基于web的客户端软件应用进行通信。
图5A图示了根据本发明的实施例的在运行时针对VM系统采用CV的RPA实现方式500。VM服务器510产生一系列图像520,一系列图像520被发送到客户端计算系统530。图像520可以由在计算系统530上运行的应用显示。备选地,图像520可以被显示为计算系统530本身的屏幕。
来自VM服务器510的图像520被发送给机器人532,机器人532从在CV服务器540上执行的CV模型接收图形部件的标识,以及从OCR服务器550接收OCR数据(例如,由
Figure BDA0002589455370000151
等所提供的数据)。在一些实施例中,CV模型和OCR可以在相同的服务器上执行。在某些实施例中,CV模型和OCR中的一个或两个可以在计算系统530上被执行。在一些实施例中,只要机器人532具有到图像520的访问以及到来自CV服务器540和OCR服务器550的数据的访问,机器人532可以驻留在不同的计算系统上。机器人532处理从CV模型和OCR接收的信息,并且使用该信息来识别在图像中的图形部件。然后,机器人执行期望活动(例如,填入信息、单击按钮、与第三方软件接口等)。
图5B图示了根据本发明的实施例的RPA实现方式500,其中在设计时,图形部件被错误标识或未被标识。在该实施例中,计算系统530不运行机器人532,而是运行设计器534。还应当指出的是,虽然计算系统530在图5B中被示出为是相同的计算系统。在这种情况下,用户绘制了边界形状522,边界形状522涵盖图形部件被错误标识或未被标识的图像520的一段。
设计器534接收边界形状522的代表数据,并且将该信息与图像520一起发送到图像数据库560。图像数据库560又将代表数据和图像提供给审查者的计算系统570。使用审查者计算系统570的人类审查者可以是软件工程师或是一些其他个人,具有确定图形部件是否确实是未被标识图形部件或错误标识图形部件的能力。然后,人类审查者经由CV服务器540,通过CV模型运行图像,并且检查结果。如果由设计器534所提交的图像和代表数据确实指示了这种误差,则审查者经由审查者计算系统570正确地标记经错误标识图形部件或未被标识图形部件,并且利用适当标签,将图像520发送到ML系统580(例如,一个或多个服务器、分布式计算系统或云计算系统、超级计算机、量子计算系统等)以进行重新训练。然后,ML系统580针对CV模型开始深度学习重新训练过程。根据以上内容,在一些实施例中,由于DLNN系统重新训练CV模型可能花费相对较长的时间,所以可以在接收到其他误差之后,分批进行该重新训练。
在一些实施例中,在CV的正常操作期间,以下三种类型的信息被存储在图像数据库540中,并且可以被用于重新训练:(1)设计时间图像;(2)报告的问题;以及(3)图像匹配区域。在一些实施例中,设计时间图像是屏幕截图,该屏幕截图是在用户向应用指示他/她想要自动化时捕获的。在一些实施例中,这样的屏幕截图可以是没有附加数据的完整UI。这样可以使得审查者可以查看屏幕截图及其检测结果,并且检查是否已经正确检测到所有内容。如果是,则可以丢弃屏幕截图。然而,如果注意到任何(多个)误差,则审查者可以相应地标记(多个)误差,并且将(多个)误差发送给ML系统580(例如,ML训练服务器)。
关于报告的问题,在一些实施例中,例如当元素未被检测到或被错误标识时,用户可以单击“报告的问题”按钮,做出选择(例如,经由绘制框)以指示该误差存在的区域,并且单击提交按钮。然后,该屏幕截图图像和突出显示的区域被发送给审查者。审查者检查是否确实存在误差,利用(多个)适当标签来标记(多个)元素,然后将图像和(多个)正确标签发送到ML系统580,以进行重新训练。
在一些实施例中,图像匹配区域可以遵循与报告的问题相同的总体流程。完整UI和图像匹配区域的坐标可以被发送到图像数据库540。然后,审查者检查所有内容,如果存在(多个)误差,则将数据发送到ML系统560,以进行重新训练。
一旦重新训练了CV模型,ML系统580就将经重新训练的CV模型发送到CV服务器540。然后,经重新训练的CV模型被使用,以在图像520的未来版本上执行CV分析。
根据上述内容,一些实施例能够在SAP、Flash、Silverlight、PDF、各种格式(例如,JPG、PNG、BMP等)的图像等上执行CV和OCR。在SAP的情况下,SAP服务器可以代替VM服务器510。在一些实施例中,多种服务器类型(例如,VM服务器、SAP服务器等)可以同时与客户端计算系统530通信。如上文所讨论的,在某些实施例中,附加于或代替上文所讨论的(多个)远程服务器,可以在客户端计算系统530上显示Flash、Silverlight、PDF、图像等的本地实例,并且机器人532可以处理它们的图像。
图6A和图6B图示了在用户已经尝试选择在屏幕上的图形部件之前(图6A)和之后(图6B)的、针对VM的远程桌面连接窗口600。可以看出的是,当用户寻求选择在“银行内求偿支票(On Us Check)”旁边的字段时,整个窗口会被突出显示。这是因为远程桌面连接窗口600仅是图像。
图7A是图示了根据本发明的实施例的在已经运行了CV/OCR、并且已经经由设计器将结果显示给用户之后的、选择器工具窗口710和远程桌面连接窗口700的屏幕截图。可以看出的是,文本字段702现在被标识并且可选择,这是窗口600所不具有的情况。然而,CV模型并不能总是正确标识所有图形部件,和/或可能错过一个或多个图形部件。例如,假设CV模型未标识“现金数(Cash Count)”按钮。在这种情况下,用户可以使用选择器工具窗口700,选择器工具窗口700允许用户做出选择704。参见图7B。在该实施例中,与选择有关的结果在选择器窗口710中被示出。然后,用户可以选择在屏幕上发生错误标识或未标识的区域,从而创建选择的区域706。应当指出的是,根据上述内容,在不背离本发明范围的情况下,可以限定和/或使用任何合适的形状。
在一些实施例中,图像和代表数据被存储在自动化文件(工作流)中,并且将在运行时使用,以便在机器人自主执行工作流逻辑时,定位该特定屏幕元素并且对该元素进行操作(例如,单击该元素)。在某些实施例中,在幕后,与由用户所指示的选择有关的图像和代表数据被发送到图像数据库,以便由审查者进行审查,并且可能用于重新训练。根据上述内容,这可以在用户不知情的情况下发生。
在对CV模型进行重新训练之后,可以再次运行CV模型,并且由设计器使用该CV模型,以向用户示出其中标识的图形部件。现在,如由在图7C中的阴影所指示的,在窗口700中的所有图形部件都应当被正确标识。现在,识别现金计数按钮708。一旦用户确信工作流在正确操作并且所有图形部件被适当标识,工作流可以由机器人自主执行。
在一些实施例中,采用多锚匹配算法来唯一地识别在图像中的图形部件。CV模型可以标识在屏幕上的特定图形部件。图8是图示了根据本发明的实施例的在已经运行了CV/OCR、并且已经经由设计器将结果显示给用户之后的、锚指定窗口810和远程桌面连接窗口800的屏幕截图。此处,用户将现金计数按钮802标识为目标。然后,用户将其左侧的文本字段804标识为锚。在这种情况下,现金计数按钮802左侧的文本字段804的存在足以唯一地标识现金计数按钮802。
然而,这可能不足以在所有情况下唯一地标识图形部件(例如,在两个不同文本字段左侧存在两个文本标签“名称”)。在这种情况下,可能会要求用户添加一个或多个唯一鉴别器锚,以唯一地标识图形部件。与锚和目标有关的位置信息、尺寸信息、方位信息等可以被使用,以限定几何形状或图形结构(例如,图形“星形”,诸如外星(out-star)但不具有方向(向量)、以各种方式连接的多个线段等)。然后,该形状或结构可以被用于唯一地确定目标图形部件。
通过非限制性示例,考虑上文所提及的情况,其中在名称文本字段(例如,“名称”)的左侧找到了某个文本标签。然而,假设图像还包括第二文本字段,其左侧具有相同的标签文本。仅该标签的存在本身并不能区分两个文本字段。
然而,可能存在以下情况:另一图形元素的位置关系允许一个文本字段相对于另一文本字段被唯一标识。例如,按钮可以位于屏幕上的某个位置。通过分析在一个文本字段、文本字段左侧的标签以及按钮之间的三角形的特点(例如,顶点坐标),对另一文本字段、另一文本字段左侧的标签以及按钮之间的三角形的特点,可以唯一地区分两者。这种唯一标识允许执行工作流的机器人随后正确标识两个文本字段,并且利用适当的相应信息填充它们。
图9A至图9C图示了这样的示例。窗口900包括具有复制标签和文本字段的形式。可以使用OCR识别标签,并且可以使用CV模型识别文本字段。在这种情况下,窗口900包括名文本字段910、920和名标签912、922。
例如,如在图9B所见的,文本字段左侧的“名(First Name)”标签不足以唯一地区分名文本字段910和名文本字段920。例如,当用户选择名标签912作为锚,以将名文本字段910标识为目标时,系统识别出这还将标识名文本字段920。因此,系统会使名文本字段920和名标签922变暗,以使用户知道将名标签912独自作为锚将行不通。因此,用户认识到需要另一锚,选择出货标签914作为第二锚。系统认识到这允许以这种形式唯一地标识名文本字段910。
还应当记住的是,每个图形部件的相对位置可以从一个图像到另一图像(例如,考虑扫描的收据的情况)地改变。然而,通过限定相应形状关系(尽管在不背离本发明的范围情况下,可以使用任何期望位置,但是在这种情况下,在窗口900中的坐标针对于目标910和每个锚912、914、以及它们的边缘之间的线段),并且查看段长度和角度,可以确定哪个文本字段是哪个文本字段。虽然本文中使用从目标910到每个锚912、914的线段,但是在不背离本发明范围的情况下,可以使用任何期望数目的锚和任何(多个)期望形状。实际上,在不背离本发明范围的情况下,可以使用任何几何形状(例如,三角形、矩形等)或非几何形状(例如,诸如所示出的结构的基于非闭合线段的结构)。
在一些实施例中,由多锚匹配算法所限定的形状的角度和段长度可以在公差内具有弹性,以在UI中适应尺度、DPI、颜色变化、字体、视频帧速率、阴影等的改变。在一些实施例中,弹性针对来自VM的视频流或图像可以特别有益。然而,在某些实施例中,该算法可以相对或完全无弹性,从而在前一种情况下采用有限公差,而在后一种情况下采用无公差。这可以分别帮助寻找紧密匹配或精确匹配。
在一些实施例中,可以使用文本模糊匹配逻辑,来补偿在OCR引擎(诸如
Figure BDA0002589455370000202
云OCR、
Figure BDA0002589455370000201
OCR、
Figure BDA0002589455370000203
OCR等)中的不准确性或误差。作为示例,利用文本模糊匹配,检测“NAM”或“NME”可以与“NAME”逻辑地相关联或匹配。
在本文中所给出的示例中,具有阈值化的几何匹配(诸如用于与锚相关联的相对距离)可以被用于UI的RPA。作为示例,在UI的图像中的每个元素可以与置信等级相关。针对匹配,可以丢弃低于阈值的元素的可能匹配。通过非限制性示例的方式,可以丢弃检测到的CI低于60%的元素。
在一些实施例中,由多个锚和目标限定的几何形状的至少一部分,可以以针对几何阈值化较小的公差被水平和/或竖直捕捉。阈值化可以如上文所述地发生,但是具有更紧密的公差。在图形部件彼此之间的位置很可能是被固定的情况下,可以这样做。
在某些实施例中,可以从CV模型返回针对每个图形元素的概率列表。当元素被错误标识时,其他元素可以被用作锚,以做出确定。例如,考虑单选按钮被错误标识为复选框的情况为概率最大的匹配。参见图10的屏幕截图1000和选择器窗口1010,例如,第二最可能匹配或第三最可能匹配往往是实际匹配。添加另一锚(诸如附近的单选按钮)有助于从概率列表中标识给定部件是哪个元素。
考虑另一示例,其中CV模型将道路中间的物体标识为最有可能是自行车。然而,物体实际上是一架无人机,而自行车在概率列表中的位置较低。把骑手作为“锚”可以允许CV模型正确地将物体标识为自行车。
图11是图示了根据本发明的实施例的用于重新训练CV模型的过程1100的流程图。过程1100在1105处开始,此处,过程在包括图形部件的图像上执行CV模型和OCR,以标识在图像内的图形部件。在一些实施例中,该图像来自虚拟机(VM)。然后,在1110处,设计器应用从执行CV模型和OCR,接收图形部件和文本的标识。在1115处,设计器将图像与由CV模型标识的经标识图形部件一起显示在视觉显示器上。然后,在1120处,设计器接收在图像中的经错误标识图形部件或未被标识图形部件的选择。在1125处,基于该选择,机器人确定包括该选择的图像的区域的代表数据,并且在1130处,机器人将要与备选图像处理逻辑(例如,图像匹配逻辑)一起使用的图像嵌入工作流中。然后,在1135处,代表数据和图像被传输到图像数据库。
在一些实施例中,代表信息包括限定具有区域的形状的坐标、线段或两者。在某些实施例中,正在其上运行设计器的、计算系统的用户手动做出了经错误标识图形部件或未被标识图形部件的选择,并且设计器不向用户提供代表数据和图像在被提交以重新训练CV模型的指示。在一些实施例中,CV模型采用多锚匹配算法,该多锚匹配算法使用通过在图像中的目标图形部件和至少两个锚图形部件所限定的形状特点,来确定目标图形部件的类型。在某些实施例中,针对目标图形部件和每个锚图形部件的坐标集合被用作形状的端点,并且限定在几何形状中的线段和角度,并且几何形状的线段的角度和长度在公差内具有弹性,以适应在尺度、DPI、颜色变化、字体、视频帧速率、阴影或其任何组合的改变。
在1140处,在由图像数据库接收之后,图像被传输到审查者计算系统。操作审查者计算系统的审查者(或审查者计算系统本身自主地)在图像上执行CV模型或导致CV模型被执行。如果在1145处,审查者不认为存在误差,则过程结束,并且在一些实施例中,可以从图像数据库删除图像。然而,如果在1145处审查者确认误差,则在1150处,图像和经错误标识部件或未被标识部件的正确标签被发送到ML系统,以进行重新训练。在ML系统重新训练CV模型之后,经重新训练的CV模型例如由CV服务器或用户计算系统接收,然后经重新训练的CV模型被使用以代替旧CV模型。
图12是图示了根据本发明的实施例的被配置为重新训练CV模型的计算系统1200的架构图。在一些实施例中,计算系统1200可以是图1至图5B的计算系统中的一个或多个计算系统。计算系统1200包括总线1205或其他通信机制,用于传达信息;以及耦合到总线1205的(多个)处理器1210,用于处理信息。(多个)处理器1210可以是任何类型的通用处理器或专用处理器,包括:中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、其多个实例、和/或其任何组合。(多个)处理器1210还可以具有多个处理核,并且核中的至少一些核可以被配置为执行特定功能。在一些实施例中,可以使用多并行处理。在某些实施例中,(多个)处理器1210中的至少一个处理器可以是神经形态电路,包括模仿生物神经元的处理元件。在一些实施例中,神经形态电路可以不需要冯·诺依曼(Von Neumann)计算架构的典型部件。
计算系统1200还包括存储器1215,用于存储要由(多个)处理器1210执行的信息和指令。存储器1215可以由以下项组成:随机存取存储器(RAM)、只读存储器(ROM)、闪存、高速缓存、静态存储装置(诸如磁盘或光盘)或任何其他类型的非暂时性计算机可读介质、或其组合的任何组合。非暂时性计算机可读介质可以是可以由(多个)处理器1210访问的任何可用介质,并且非暂时性计算机可读介质可以包括:易失性介质、非易失性介质或两者。介质还可以是可移除的、不可移除的或两者。
附加地,计算系统1200包括通信设备1220,诸如收发器,以经由无线连接和/或有线连接提供对通信网络的访问。在一些实施例中,通信设备1220可以被配置为,在不背离本发明范围的情况下,使用:频分多址(FDMA)、单载波FDMA(SC-FDMA)、时分多址(TDMA)、码分多址(CDMA)、正交频分复用(OFDM)、正交频分多址(OFDMA)、全球移动系统(GSM)通信、通用分组无线服务(GPRS)、通用移动电信系统(UMTS)、cdma2000、宽带CDMA(W-CDMA)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、高速分组接入(HSPA)、长期演进(LTE)、LTE高级(LTE-A)、802.11x、Wi-Fi、Zigbee、超宽带(UWB)、802.16x、802.15、家庭节点B(HnB)、蓝牙、射频识别(RFID)、红外数据协会(IrDA)、近场通信(NFC)、第五代(5G)、新无线电(NR)、它们的任何组合、和/或任何其他现有或未来实现的通信标准和/或协议。在一些实施例中,通信设备1220可以包括一个或多个天线,在不背离本发明范围的情况下,这些天线是单个式、阵列式、相控式、切换式、波束成形式、波束转向式、其组合、和/或任何其他天线配置。
(多个)处理器1210还经由总线1205耦合到显示器1225,诸如:等离子体显示器、液晶显示器(LCD)、发光二极管(LED)显示器、场发射显示器(FED)、有机发光二极管(OLED)显示器、柔性OLED显示器、柔性基板显示器、投影显示器、4K显示器、高清显示器、
Figure BDA0002589455370000231
显示器、平面内切换(IPS)显示器、或用于向用户显示信息的任何其他合适显示器。显示器1225可以被配置为使用:电阻性、电容性、表面声波(SAW)电容性、红外、光学成像、色散信号技术、声脉冲识别、受抑全内反射等的,触摸(触觉)显示器、三维(3D)触摸显示器、多输入触摸显示器、多触摸显示器等。在不背离本发明范围的情况下,可以使用任何合适的显示设备和触觉I/O。
键盘1230和光标控制设备1235(诸如计算机鼠标、触摸板等)还被耦合到总线1205,以使得用户能够与计算系统接口。然而,在某些实施例中,可能不存在物理键盘和鼠标,并且用户可以仅通过显示器1225和/或触摸板(未示出)与设备交互。任何类型的输入设备和组合都可以被用作设计选择的主题。在某些实施例中,不存在物理输入设备和/或显示器。例如,用户可以经由与之通信的另一计算系统与计算系统1200远程交互,或者计算系统1200可以自主操作。
在由(多个)处理器1210执行时,存储器1215存储提供功能性的软件模块。模块包括用于计算系统1200的操作系统1240。模块还包括CV模型重新训练模块1245,其被配置为执行本文中所描述的过程或其衍生物的全部或部分。例如,计算系统1200可以是客户端计算系统、引导器服务器、数据库服务器、索引器服务器、执行OCR和/或CV的计算系统、审查者计算系统、执行全部或部分ML过程的计算系统等。然而,应当指出的是,在某些实施例中,诸如在使用GPU的情况下,CV模型重新训练模块代码可以被存储在该部件上的本地存储器中。计算系统1200可以包括一个或多个附加功能模块1250,一个或多个附加功能模块1250包括附加功能性。
本领域技术人员将领会的是,在不背离本发明的范围的情况下,“系统”可以被包含服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、蜂窝电话、平板计算设备、量子计算系统、或任何其他合适的计算设备、或设备的组合。将上述功能呈现为由“系统”执行并不旨在以任何方式限制本发明的范围,而是旨在提供本发明的许多实施例的一个示例。实际上,本文中所公开的方法、系统和装置可以以与包括云计算系统的计算技术一致的本地化形式和分布式形式来实现。
应当指出,在本说明书中描述的系统特征中的一些系统特征已经作为模块呈现,以便更具体地强调它们的实现方式独立性。例如,模块可以被实现为硬件电路,包括:自定义超大规模集成(VLSI)电路或门阵列,诸如逻辑芯片、晶体管或其他分立部件的现成半导体。模块还可以被实现为可编程硬件设备,诸如:现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等。
模块还可以被至少部分地实现为由各种类型的处理器执行的软件。例如,经标识可执行代码单元可以包括计算机指令的一个或多个物理或逻辑块,其可以例如作为对象、过程或函数来组织。然而,经标识模块的可执行文件在物理上未必是在一起的,而是可以包括被存储在不同位置中的不同指令,当在逻辑上结合时,这些指令包括模块,并且实现针对模块所规定的目的。另外,模块可以被存储在计算机可读介质上,在不背离本发明的范围的情况下,该计算机可读介质可以是例如:硬盘驱动器、闪存设备、RAM、磁带和/或任何其他这样的非暂时性计算机可读介质。
实际上,可执行代码模块可以是单个指令或者众多指令,甚至可以分布于数个不同的码段、不同的程序中间以及跨越数个存储器设备。同样,本文中可以在模块内标识和图示操作数据、可以以任何合适的形式来包含操作数据、并且在任何适当类型的数据结构内组织操作数据。操作数据可以作为单个数据集来收集,或可以被分布在包括不同存储设备的不同位置上,并且可以(至少部分地)仅仅作为在系统或网络上的电子信号而存在。
根据本发明的实施例,由计算机程序可以执行在图11中执行的过程步骤,从而对(多个)处理器的指令进行编码,以执行在图11中所描述的过程的至少部分。该计算机程序可以被包含在非暂时性计算机可读介质上。计算机可读介质可以是,但不限于:硬盘驱动器、闪存设备、RAM、磁带、和/或任何其他这样的介质或用于存储数据的介质的组合。计算机程序可以包括编码的指令,用于控制(多个)处理器1200,以实现在图11中所描述的全部或部分过程步骤,这些编码的指令也可以存储在计算机可读介质上。
可以以硬件、软件或混合实现方式来实现计算机程序。计算机程序可以由彼此操作通信、并且被设计为传递信息或指令以显示的模块组成。计算机程序可以被配置为在通用计算机、ASIC或任何其他合适设备上操作。
应当容易理解的是,如在本文中的附图中所总体地描述和图示的,本发明的各个实施例的部件可以以广泛不同的配置来布置和设计。因此,如附图所表示的,本发明的实施例的详细描述并非旨在限制所要求保护的本发明的范围,而仅表示本发明的所选择的实施例。
在整个说明书中所描述的本发明的特征、结构或特点可以在一个或多个实施例中以任何合适的方式组合。例如,在整个说明书中对“某些实施例”、“一些实施例”或类似语言的引用意味着结合该实施例所描述的特定特征、结构或特点被包括在本发明的至少一个实施例中。因此,在整个本说明书的短语“在某些实施例中”、“在一些实施例中”、“在其他实施例中”或类似语言的出现不一定全都是指相同的一组实施例,并且所描述的特征、结构或特点可以在一个或多个实施例中以任何合适的方式来组合。
应当指出的是,在整个说明书中对特征、优点或类似语言的引用并不暗示可以使用本发明实现的所有特征和优点应当是本发明的任何单个实施例,或在本发明的任何单个实施例中。相反,提及特征和优点的语言应当理解为意指结合实施例所描述的特定特征、优点或特点被包括在本发明的至少一个实施例中。因此,在整个说明书中对特征和优点的讨论以及类似语言可以,但不一定是指相同实施例。
另外,在一个或多个实施例中,本发明的所描述的特征、优点和特点可以以任何合适的方式来组合。相关领域的技术人员应当认识到,可以在没有特定实施例的一个或多个特定特征或优点的情况下实施本发明。在其他实例中,在某些实施例中可以认识到附加特征和优点可能并非存在于本发明的所有实施例中。
本领域普通技术人员应当容易理解的是,可以以不同次序的步骤和/或以与所公开的配置不同的配置的硬件元件来实践上文所讨论的本发明。因此,尽管已经基于这些优选实施例对本发明进行了描述,但是针对本领域技术人员而言,显而易见的是,仍然在本发明的精神和范围的情况下,某些修改、变型和备选构造将是显而易见的。因此,为了确定本发明的界限,应当参考所附权利要求。

Claims (20)

1.一种计算机程序,被包含在非暂时性计算机可读介质上,所述程序被配置为使得至少一个处理器:
从计算机视觉CV模型的执行,接收在图像内的图形部件的标识;
在视觉显示器上显示所述图像,所述图像具有由所述CV模型标识的经标识图形部件;
接收在所述图像中的经错误标识图形部件或未被标识图形部件的选择;
确定包括所述选择的所述图像的区域的代表数据;以及
将所述代表数据和所述图像传输到图像数据库。
2.根据权利要求1所述的计算机程序,其中所述程序还被配置为使得所述至少一个处理器:
从所述图像接收文本信息,所述图像由光学字符识别OCR应用提供。
3.根据权利要求1所述的计算机程序,其中所述程序还被配置为导致所述至少一个处理器:
将所述图像和备选图像处理逻辑嵌入工作流中,以在所述CV模型被重新训练时,标识所述经错误标识图形部件或未被标识图形部件。
4.根据权利要求3所述的计算机程序,其中所述备选图像处理逻辑包括图像匹配算法。
5.根据权利要求1所述的计算机程序,其中所述计算机程序还被配置为使得所述至少一个处理器:
确定包括所述选择的所述图像的所述区域的所述代表数据;以及
在不向用户提供指示的情况下,传输所述图像和所述选择。
6.根据权利要求1所述的计算机程序,其中所述图像数据库将屏幕截图存储为设计时间图像、报告的问题以及图像匹配区域选择。
7.根据权利要求1所述的计算机程序,其中所述图像来自虚拟机VM。
8.根据权利要求1所述的计算机程序,其中所述代表数据包括限定具有区域的形状的坐标、线段、或两者。
9.一种计算系统,包括:
存储器,存储机器可读的计算机程序指令;以及
至少一个处理器,被配置为执行所述计算机程序指令,所述指令被配置为使得所述至少一个处理器:
接收在图像中的经错误标识图形部件或未被标识图形部件的选择;
确定包括所述选择的所述图像的区域的代表数据;
将所述代表数据和所述图像传输到图像数据库,以便重新训练计算机视觉CV模型;
从经重新训练的CV模型的执行,接收在所述图像内的图形部件的标识;以及
在视觉显示器上显示所述图像,所述图像具有由所述经重新训练的CV模型标识的所述经标识图形部件。
10.根据权利要求9所述的计算系统,其中所述指令还被配置为使得所述至少一个处理器:
将所述图像和所述备选图像处理逻辑嵌入工作流中,以在所述CV模型被重新训练时,标识所述经错误标识图形部件或未被标识图形部件。
11.根据权利要求10所述的计算系统,其中所述备选图像处理逻辑包括图像匹配算法。
12.根据权利要求9所述的计算系统,其中所述指令被配置为,使得所述至少一个处理器:确定包括所述选择的所述图像的所述区域的所述代表数据;以及在不向用户提供指示的情况下,传输所述图像和所述选择。
13.根据权利要求9所述的计算系统,其中所述图像数据库将屏幕截图存储为设计时间图像、报告的问题以及图像匹配区域选择。
14.根据权利要求9所述的计算系统,其中所述代表数据包括限定具有区域的形状的坐标、线段、或两者。
15.一种计算机实现的方法,包括:
通过计算系统,接收在图像中的经错误标识图形部件或未被标识图形部件的选择;
通过所述计算系统,确定包括所述选择的所述图像的区域的代表数据;
通过所述计算系统,将所述代表数据和所述图像传输到图像数据库;以及
通过所述计算系统,将所述图像和备选图像处理逻辑嵌入工作流中,以在所述CV模型被重新训练时,标识所述经错误标识图形部件或未被标识图形部件。
16.根据权利要求15所述的计算机实现的方法,还包括:
通过所述计算系统,从经重新训练的CV模型的执行,接收在所述图像内的图形部件的标识;以及
通过所述计算系统,在视觉显示器上显示所述图像,所述图像具有由所述经重新训练的CV模型标识的所述经标识图形部件。
17.根据权利要求15所述的计算机实现的方法,其中所述备选图像处理逻辑包括图像匹配算法。
18.根据权利要求15所述的计算机实现的方法,其中所述计算系统被配置为:确定包括所述选择的所述图像的所述区域的所述代表数据;以及在不向用户提供指示的情况下,传输所述图像和所述选择。
19.根据权利要求15所述的计算机实现的方法,其中所述图像数据库将屏幕截图存储为设计时间图像、报告的问题以及图像匹配区域选择。
20.根据权利要求15所述的计算机实现的方法,其中所述代表数据包括限定具有区域的形状的坐标、线段、或两者。
CN202010691245.9A 2019-07-19 2020-07-17 重新训练机器人视觉模型以用于机器人过程自动化 Pending CN112241581A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/517,225 US11487973B2 (en) 2019-07-19 2019-07-19 Retraining a computer vision model for robotic process automation
US16/517,225 2019-07-19

Publications (1)

Publication Number Publication Date
CN112241581A true CN112241581A (zh) 2021-01-19

Family

ID=71670084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010691245.9A Pending CN112241581A (zh) 2019-07-19 2020-07-17 重新训练机器人视觉模型以用于机器人过程自动化

Country Status (5)

Country Link
US (2) US11487973B2 (zh)
EP (1) EP3767528A1 (zh)
JP (1) JP7034217B2 (zh)
KR (1) KR102580080B1 (zh)
CN (1) CN112241581A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114529782A (zh) * 2022-01-12 2022-05-24 南方电网深圳数字电网研究院有限公司 基于电网的模型训练方法及装置

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11086751B2 (en) 2016-03-16 2021-08-10 Asg Technologies Group, Inc. Intelligent metadata management and data lineage tracing
US11847040B2 (en) 2016-03-16 2023-12-19 Asg Technologies Group, Inc. Systems and methods for detecting data alteration from source to target
US11057500B2 (en) 2017-11-20 2021-07-06 Asg Technologies Group, Inc. Publication of applications using server-side virtual screen change capture
US11611633B2 (en) 2017-12-29 2023-03-21 Asg Technologies Group, Inc. Systems and methods for platform-independent application publishing to a front-end interface
US10812611B2 (en) 2017-12-29 2020-10-20 Asg Technologies Group, Inc. Platform-independent application publishing to a personalized front-end interface by encapsulating published content into a container
US10877740B2 (en) 2017-12-29 2020-12-29 Asg Technologies Group, Inc. Dynamically deploying a component in an application
US10866997B2 (en) * 2018-03-26 2020-12-15 Kapow Technologies, Inc. Determining functional and descriptive elements of application images for intelligent screen automation
US11762634B2 (en) 2019-06-28 2023-09-19 Asg Technologies Group, Inc. Systems and methods for seamlessly integrating multiple products by using a common visual modeler
US11055067B2 (en) 2019-10-18 2021-07-06 Asg Technologies Group, Inc. Unified digital automation platform
US11269660B2 (en) 2019-10-18 2022-03-08 Asg Technologies Group, Inc. Methods and systems for integrated development environment editor support with a single code base
US11941137B2 (en) 2019-10-18 2024-03-26 Asg Technologies Group, Inc. Use of multi-faceted trust scores for decision making, action triggering, and data analysis and interpretation
US11693982B2 (en) 2019-10-18 2023-07-04 Asg Technologies Group, Inc. Systems for secure enterprise-wide fine-grained role-based access control of organizational assets
US11886397B2 (en) 2019-10-18 2024-01-30 Asg Technologies Group, Inc. Multi-faceted trust system
US11232170B1 (en) 2020-09-08 2022-01-25 UiPath, Inc. Application-specific graphical element detection
US11507259B2 (en) * 2020-09-08 2022-11-22 UiPath, Inc. Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both
USD942472S1 (en) * 2020-09-08 2022-02-01 UiPath, Inc. Display screen with a graphical user interface
US11385777B2 (en) * 2020-09-14 2022-07-12 UiPath, Inc. User interface (UI) mapper for robotic process automation
US11849330B2 (en) 2020-10-13 2023-12-19 Asg Technologies Group, Inc. Geolocation-based policy rules
US11200073B1 (en) 2020-11-20 2021-12-14 UiPath, Inc. Automatic anchor determination and target graphical element identification in user interface automation
CN114868109B (zh) * 2020-11-20 2023-06-02 尤帕斯公司 用户界面自动化中的自动锚点确定和目标图形元素标识
US11410316B1 (en) * 2021-01-27 2022-08-09 UiPath, Inc. System and computer-implemented method for validation of label data
CN112968736B (zh) * 2021-02-02 2022-08-02 浙江大学 基于自监督深度学习的端到端ofdm水下高速无线光通信系统及方法
CN113486858B (zh) * 2021-08-03 2024-01-23 济南博观智能科技有限公司 一种人脸识别模型训练方法、装置、电子设备及存储介质
US20230108015A1 (en) * 2021-10-05 2023-04-06 UiPath, Inc. Semantic matching between a source screen or source data and a target screen using semantic artificial intelligence
CN114926830B (zh) * 2022-05-30 2023-09-12 南京数睿数据科技有限公司 屏幕图像识别方法、装置、设备和计算机可读介质
CN116168405B (zh) * 2023-04-23 2023-08-01 杭州实在智能科技有限公司 通用型rpa复选框操作组件的构建方法及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0561845A (ja) * 1991-08-07 1993-03-12 Fujitsu Ltd 適応型データ処理装置の自己学習処理方式
JPH0561845U (ja) 1992-01-24 1993-08-13 日本電気ホームエレクトロニクス株式会社 ディスク装置
JPH11252450A (ja) 1998-03-06 1999-09-17 Canon Inc 画像処理装置及びコンピュータ読み取り可能な記憶媒体
US20090063946A1 (en) 2007-08-29 2009-03-05 International Business Machines Corporation Anchor store for transmitting multiple dynamic anchors
US20100138775A1 (en) 2008-11-28 2010-06-03 Sharon Kohen Method, device and system, for extracting dynamic content from a running computer application
US8918739B2 (en) 2009-08-24 2014-12-23 Kryon Systems Ltd. Display-independent recognition of graphical user interface control
JP5333080B2 (ja) * 2009-09-07 2013-11-06 株式会社日本自動車部品総合研究所 画像認識システム
US8943468B2 (en) 2012-08-29 2015-01-27 Kamesh Sivaraman Balasubramanian Wireframe recognition and analysis engine
US9740925B2 (en) * 2012-11-19 2017-08-22 Imds America Inc. Method and system for the spotting of arbitrary words in handwritten documents
CA2953959C (en) 2014-06-30 2021-02-02 Amazon Technologies, Inc. Feature processing recipes for machine learning
AU2014277851A1 (en) 2014-12-22 2016-07-07 Canon Kabushiki Kaisha Detecting a gap between text columns from text line fragments
EP3206170A1 (en) 2016-02-09 2017-08-16 Wipro Limited System and methods for creating on-demand robotic process automation
DE112017001311T5 (de) 2016-03-17 2018-11-29 Avigilon Corporation System und Verfahren zum Trainieren eines Objektklassifikators durch maschinelles Lernen
US20180157386A1 (en) 2016-12-05 2018-06-07 Jiawen Su System and Method for detection, exploration, and interaction of graphic application interface
US10007269B1 (en) 2017-06-23 2018-06-26 Uber Technologies, Inc. Collision-avoidance system for autonomous-capable vehicle
US10235192B2 (en) 2017-06-23 2019-03-19 Accenture Global Solutions Limited Self-learning robotic process automation
US20190126463A1 (en) * 2017-10-31 2019-05-02 Bank Of America Corporation Robotic assisted action template generation based on profile
US11194596B2 (en) 2017-11-30 2021-12-07 Lendingclub Corporation Simulating human interface interaction resilient to user interface changes
US20190205363A1 (en) 2018-01-02 2019-07-04 Go Daddy Operating Company, LLC Method for creating html layouts based on visual input
US10878270B1 (en) * 2018-06-26 2020-12-29 Amazon Technologies, Inc. Keypoint-based multi-label word segmentation and localization
US11227176B2 (en) * 2019-05-16 2022-01-18 Bank Of Montreal Deep-learning-based system and process for image recognition

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114529782A (zh) * 2022-01-12 2022-05-24 南方电网深圳数字电网研究院有限公司 基于电网的模型训练方法及装置

Also Published As

Publication number Publication date
US11487973B2 (en) 2022-11-01
US11688192B2 (en) 2023-06-27
KR20210010388A (ko) 2021-01-27
US20230059729A1 (en) 2023-02-23
JP2021018816A (ja) 2021-02-15
JP7034217B2 (ja) 2022-03-11
US20210019574A1 (en) 2021-01-21
EP3767528A1 (en) 2021-01-20
KR102580080B1 (ko) 2023-09-18

Similar Documents

Publication Publication Date Title
KR102580080B1 (ko) 로봇 프로세스 자동화를 위한 컴퓨터 비전 모델의 리트레이닝
CN113011828B (zh) 更新或重新训练并更新动态人工智能/机器学习模型
CN114661400B (zh) 基于多锚点的用户界面的提取、识别与机器学习
US11200073B1 (en) Automatic anchor determination and target graphical element identification in user interface automation
CN114600141A (zh) 使用人工智能来选择和链接用于机器人流程自动化的模型
US20210103798A1 (en) Detecting user interface elements in robotic process automation using convolutional neural networks
US20230093280A1 (en) Artificial intelligence layer-based process extraction for robotic process automation
US11782733B2 (en) Training an artificial intelligence / machine learning model to recognize applications, screens, and user interface elements using computer vision
CN116324831A (zh) 经由人工智能/机器学习的机器人过程自动化异常检测和自我修复
EP4276709A1 (en) Building and managing artificial intelligence flows using long-running workflows for robotic process automation
KR20220079838A (ko) 로봇 프로세스 자동화의 강화 학습
CN116529032A (zh) 用于机器人流程自动化(rpa)的支持机器人的任务自动化
JP2023552666A (ja) アクションセンターを介した人工知能(ai)/機械学習(ml)モデルの補足、ai/mlモデル再訓練ハードウェア制御、およびai/mlモデル設定管理
CN114868109B (zh) 用户界面自动化中的自动锚点确定和目标图形元素标识
CN113748436A (zh) 用于机器人流程自动化的机器学习模型再训练流水线
JP2023523374A (ja) ロボティックプロセスオートメーションのための機械学習モデル再訓練パイプライン
CN118057367A (zh) 在浏览器内的目标应用的自动增强
CN117950649A (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