JP2022109927A - マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習 - Google Patents

マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習 Download PDF

Info

Publication number
JP2022109927A
JP2022109927A JP2022066133A JP2022066133A JP2022109927A JP 2022109927 A JP2022109927 A JP 2022109927A JP 2022066133 A JP2022066133 A JP 2022066133A JP 2022066133 A JP2022066133 A JP 2022066133A JP 2022109927 A JP2022109927 A JP 2022109927A
Authority
JP
Japan
Prior art keywords
computing device
captured image
elements
geometric
anchor
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
JP2022066133A
Other languages
English (en)
Inventor
コスミン,ヴォイク
Voicu Cosmin
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.)
UiPath Inc
Original Assignee
UiPath Inc
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 UiPath Inc filed Critical UiPath Inc
Publication of JP2022109927A publication Critical patent/JP2022109927A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • 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
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Geometry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ワークフローの生成又はロボットプロセスオートメーション(RPA)のランタイム時のエラーを軽減するコンピューティング装置及び方法を提供する。【解決手段】ユーザインターフェース(UI)内のウィンドウ又はアプリケーション302上の複数のアンカー312、314は、RPA300に利用される。複数のアンカーは、RPAのためのUIのキャプチャ画像内の要素間の関係を決定するために利用される。アンカリングの結果は、機械学習(ML)コンポーネントのトレーニング又は再トレーニングに利用される。【選択図】図3

Description

ロボティック・プロセス・オートメーション(RPA)は、エンタープライズプラットフォーム、仮想マシン(VM)構成、リモートデスクトップ、クラウドコンピューティング、デスクトップ・アプリケーションなどの反復的な操作、機能、またはワークフローを自動化し得る。自動化、アンカーまたは基準点のためのユーザインターフェース(UI)のキャプチャ、抽出、スクレイピングまたは実行は、UIの画像のターゲット領域内の1または複数の要素を識別するために、コンピュータビジョン(CV)またはマシンビジョン(MV)で利用され得る。しかし、単一のアンカーまたは基準点を利用する構成は、望ましくない重複、エラー、偽陽性、欠落した要素などの影響を受けやすい可能性がある。
RPAデザインまたはワークフローの実行では、DPI(ドットパーインチ)、サイジング、スケーリング、ビデオフレームレート、シェーディングなどに基づくエラーが発生し得る。これらのエラーは、仮想マシンまたはリモートマシンの構成でより顕著になる可能性がある。また、CVを使用したRPAでは、UI内のボタンの形状やチェックボックスがエラーになり得る。改良されたアンカリングを使用して、ワークフローの生成またはRPAのランタイム時のエラーを軽減することが望ましい。
1または複数のワークフローのロボットプロセスオートメーション(RPA)のためのユーザインターフェース(UI)にマルチアンカリングを利用するための方法および装置が開示されている。ロボットの開発中またはランタイム中のUI上のマルチアンカリング解析は、自動化のための1または複数のワークフローのために、抽出されたまたはスクレイプされた画像上の要素検出またはトレーニングのために利用され得る。また、マルチアンカリング解析は、デスクトップ・アプリケーション、Webアプリケーション、および仮想マシンまたはリモートマシンの構成のためのUI上で構成され、エラーを減らし、パフォーマンスを向上させ得る。
より詳細な理解は、図中の類似の参照数字が類似の要素を示す、添付の図面との関連で例示的に与えられた以下の説明から得られ得る。
ロボットプロセスオートメーション(RPA)の開発、設計、運用、または実行の説明図である。
RPAの開発、設計、運用、または実行の別の説明図である。
コンピューティングシステムまたは環境の説明図である。
RPAのフィードバックループを利用した再トレーニングの説明図である。
RPAのユーザインターフェース(UI)のマルチアンカリングの説明図である。
RPA用のUIのマルチアンカリングの別の説明図である。
RPA用のUIのマルチアンカリングの別の説明図である。
RPA用UIのマルチアンカリングを利用した処理の説明図である。
以下に記載されている方法およびプロセスでは、記載されているステップは任意の順序で実行され、明示的に記載または表示されていないサブステップが実行され得る。また、「結合されている」または「操作的に結合されている」とは、オブジェクトが連結されていることを意味してもよいが、連結されているオブジェクトの間にゼロまたはそれ以上の中間オブジェクトを有してもよい。また、開示された特徴/要素の任意の組み合わせが、1または複数の実施形態で使用されてもよい。「AまたはB」を参照して使用する場合は、A、B、またはAおよびBを含む場合があり、より長いリストと同様に拡張され得る。表記X/Yを使用する場合、XまたはYを含み得る。あるいは、表記X/Yを使用する場合、XおよびYを含み得る。X/Y表記は、同じ説明されたロジックを有するより長いリストと同様に拡張され得る。
図1Aは、ロボットプロセスオートメーション(RPA)の開発、設計、運用、または実行100の説明図である。デザイナー102は、スタジオ、開発プラットフォーム、開発環境などとして時々参照され、ロボットが1または複数のワークフローを実行または自動化するためのコード、命令、コマンドなどを生成するように構成され得る。コンピューティングシステムがロボットに提供し得る選択(複数可)から、ロボットは、ユーザまたはオペレータによって選択されたビジュアルディスプレイの領域(複数可)の代表的なデータを決定し得る。RPAの一環として、コンピュータビジョン(CV)操作または機械学習(ML)モデルに関連して、四角、直方体、円、多角形、自由形などの多次元の形状をUIロボットの開発およびランタイムに利用され得る。
ワークフローによって達成され得る操作の非限定的な例としては、1または複数のログインの実行、フォームへの入力、情報技術(IT)管理などが挙げられる。UI自動化のためのワークフローを実行するために、ロボットは、アプリケーションのアクセスまたはアプリケーションの開発に関係なく、ボタン、チェックボックス、テキストフィールド、ラベルなどの特定の画面要素を一意に識別する必要があり得る。アプリケーションアクセスの例としては、ローカル、仮想、リモート、クラウド、Citrix(登録商標)、VMWare(登録商標)、VNC(登録商標)、Windows(登録商標)リモートデスクトップ、仮想デスクトップインフラストラクチャ(VDI)などがあり得る。アプリケーション開発の例としては、win32、Java、Flash、ハイパーテキストマークアップ言語((HTML)、HTML5、拡張可能なマークアップ言語(XML)、Javascript、C#、C++、Silverlightなどであり得る。
ワークフローには、タスクシーケンス、フローチャート、有限状態マシン(FSM)、グローバル例外ハンドラなどが含まれ得るが、これらに限定されない。タスクシーケンスは、1または複数のアプリケーションまたはウィンドウ間の線形タスクを処理するための線形プロセスであり得る。フローチャートは、複雑なビジネスロジックを扱うように構成され得、複数の分岐ロジックオペレータを介して、より多様な方法で意思決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフロー用に構成され得る。FSMは、条件、遷移、アクティビティなどによってトリガされ得る有限数の状態を実行中に使用し得る。グローバル例外ハンドラは、プロセスのデバッグプロセスのために、実行エラーが発生したときのワークフローの動作を判断するように構成され得る。
ロボットは、アプリケーション、アプレット、スクリプトなどであり得、基盤となるオペレーティングシステム(OS)またはハードウェアから透過的なUIを自動化し得る。展開時には、1または複数のロボットは、コンダクター104(オーケストレータと呼ばれることもある)によって管理、制御などされ得る。コンダクター104は、メインフレーム、ウェブ、仮想マシン、リモートマシン、仮想デスクトップ、エンタープライズプラットフォーム、デスクトップアプリ(複数可)、ブラウザ、またはそのようなクライアント、アプリケーション、もしくはプログラムにおいてワークフローを実行または監視するようにロボットまたは自動化実行装置106に指示または命令し得る。コンダクター104は、コンピューティングプラットフォームを自動化するために複数のロボットを指示または命令するための中央または半中央点として機能し得る。
特定の構成では、コンダクター104は、プロビジョニング、デプロイメント、構成、キューイング、監視、ロギング、および/または相互接続性を提供するように構成され得る。プロビジョニングは、ロボット(複数可)または自動化コンダクター106とコンダクター104との間の接続または通信の作製および維持を含み得る。デプロイメントは、実行のために割り当てられたロボットへのパッケージバージョンの配信を保証することを含み得る。構成は、ロボット環境およびプロセス構成のメンテナンスおよび配信を含み得る。キューイングは、キューおよびキュー項目の管理を提供することを含み得る。監視は、ロボットの識別データを追跡し、ユーザの権限を維持することを含み得る。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージメカニズム(例えば、大規模なデータセットを保存し、迅速にクエリを実行する機能を提供するElasticSearch(登録商標)へのログの保存およびインデックス作成を含み得る。コンダクター104は、サードパーティのソリューションおよび/またはアプリケーションのための通信の集中点として機能することにより、相互接続性を提供し得る。
ロボット(複数可)または自動化実行装置106は、無人108または有人110として構成され得る。無人108操作の場合、自動化は、サードパーティの入力または制御なしで実行され得る。有人110操作については、サードパーティのコンポーネントからの入力、指令、指示、指導などを受けて自動化が行われ得る。
ロボット(複数可)または自動化実行装置106は、デザイナー102内に構築されたワークフローを実行する実行エージェントであり得る。UIまたはソフトウェアの自動化のためのロボット(複数可)の商業的な例としては、UiPath Robots(商標)がある。いくつかの実施形態では、ロボット(複数可)または自動化実行装置106は、Microsoft Windows(登録商標) Service Control Manager(SCM)管理サービスをデフォルトでインストールし得る。その結果、そのようなロボットは、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開くことができ、Windows(登録商標)サービスの権利を持ち得る。
いくつかの実施形態では、ロボット(複数可)または自動化実行装置106は、ユーザモードでインストールされ得る。これらのロボットは、所定のロボットが設置されているユーザと同じ権利を持ち得る。また、高密度(HD)環境など、各機械を最大限に活用するHDロボットにも対応し得る。
特定の実施形態では、ロボット(複数可)または自動化実行装置106は、それぞれが特定の自動化タスクまたはアクティビティに特化したいくつかのコンポーネントに分割、分散などされ得る。ロボットコンポーネントには、SCM管理ロボットサービス、ユーザモードロボットサービス、実行装置、エージェント、コマンドラインなどが含まれ得る。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理または監視し、コンダクター104と実行ホスト(すなわち、ロボットまたは自動化実行装置106が実行されるコンピューティングシステム)との間のプロキシとして機能し得る。これらのサービスは、ロボット(複数可)または自動化実行装置106のための資格情報を信頼して管理し得る。
ユーザモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクター104と実行ホストとの間のプロキシとして機能し得る。ユーザモードのロボットサービスは、ロボット130の資格情報を信頼して管理し得る。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動され得る。
実行装置は、Windows(登録商標)セッションの下で与えられたジョブを実行し得る(つまり、ワークフローを実行し得る)。実行装置は、モニタ毎のドットパーインチ(DPI)設定を意識し得る。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標) Presentation Foundation(WPF)アプリケーションであり得る。エージェントはサービスのクライアントとなり得る。エージェントは、ジョブの開始または停止、設定の変更を依頼し得る。コマンドラインはサービスのクライアントであり得る。コマンドラインは、ジョブの開始を要求し、その出力を待つことができるコンソールアプリケーションである。
上で説明したように、ロボットまたは自動化実行装置106のコンポーネントが分割される構成では、開発者、サポートユーザ、およびコンピューティングシステムが、各コンポーネントによる実行、識別、および追跡をより容易に実行するのに役立つ。この方法では、実行装置とサービスに異なるファイアウォールルールを設定するなど、コンポーネントごとに特別な動作を設定し得る。実行装置は、いくつかの実施形態では、モニタごとのDPI設定を認識し得る。その結果、ワークフローは、作成されたコンピューティングシステムの構成に関係なく、任意のDPIで実行し得る。また、デザイナー102からのプロジェクトは、ブラウザのズームレベルに依存しないようにし得る。DPIを認識していないまたは意図的に認識していないとマークされているアプリケーションの場合、いくつかの実施形態ではDPIを無効にし得る。
図1Bは、RPAの開発、設計、運用、または実行120の別の説明図である。スタジオコンポーネントまたはモジュール122は、ロボットが1または複数のアクティビティ124を実行するためのコード、命令、コマンドなどを生成するように構成され得る。ユーザインターフェース(UI)自動化126は、1または複数のドライバコンポーネント128を使用して、クライアント上のロボットによって実行され得る。ロボットは、コンピュータビジョン(CV)アクティビティモジュールまたはエンジン130を使用してアクティビティを行い得る。他のドライバ132は、UIの要素を得るためにロボットによるUI自動化のために利用され得る。それらには、OSドライバ、ブラウザドライバ、仮想マシンドライバ、エンタープライズドライバなどが含まれ得る。特定の構成では、CVアクティビティモジュールまたはエンジン130は、UI自動化のために使用されるドライバであり得る。
図1Cは、情報またはデータを通信するためのバス142または他の通信機構と、処理のためにバス142に結合された1または複数のプロセッサ144とを含むことができるコンピューティングシステムまたは環境140の説明図である。1または複数のプロセッサ144は、中央処理装置(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックス処理装置(GPU)、コントローラ、マルチコア処理装置、3次元プロセッサ、量子コンピューティング装置、またはそれらの任意の組み合わせを含む、任意のタイプの一般的または特定用途プロセッサであり得る。1または複数のプロセッサ144はまた、複数の処理コアを有してもよく、コアの少なくとも一部は、特定の機能を実行するように構成され得る。また、マルチパラレル処理が構成され得る。さらに、少なくとも1または複数のプロセッサ144は、生物学的ニューロンを模倣する処理要素を含むニューロモーフィック回路であり得る。
メモリ146は、プロセッサ(複数可)144によって実行または処理される情報、命令、コマンド、またはデータを記憶するように構成され得る。メモリ146は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、ソリッドステートメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的記憶装置、または他のタイプの非一過性のコンピュータ可読媒体、あるいはそれらの組み合わせの任意の組み合わせで構成され得る。非一過性のコンピュータ可読媒体は、プロセッサ(複数可)144によってアクセス可能な任意の媒体であってもよく、揮発性媒体、不揮発性媒体などを含み得る。また、媒体は、取り外し可能なものであってもよいし、取り外し不可能なものであってもよい。
通信装置148は、周波数分割多重アクセス(FDMA)、シングルキャリアFDMA(SC-FDMA)、時分割多重アクセス(TDMA)、符号分割多重アクセス(CDMA)、直交周波数分割多重アクセス(OFDM)、直交周波数分割多重アクセス(OFDMA)、GSM(Global System for Mobile)通信、GPRS(General Packet Radio Service)、UMTS(Universal Mobile telecommunications System)、cdma2000、広帯域CDMA(W-CDMA)、高速下りパケットアクセス(HSDPA)、高速上りパケットアクセス(HSUPA)、高速パケットアクセス(HSPA)、長期進化(LTE)、LTE Advanced(LTE-A)、802.11x、Wi-Fi、Zigbee、Ultra-WideBand(UWB)、802.16x、802.15、home Node-B(HnB)、Bluetooth、無線周波数識別(RFID)、赤外線データアソシエーション(IrDA)、近距離無線通信(NFC)、第5世代(5G)、新無線(NR)、または1もしくは複数のアンテナを介した通信のための他の任意の無線または有線装置/トランシーバとして構成され得る。
アンテナは、単数形、アレイ型、フェーズド型、スイッチ型、ビームフォーミング型、ビームステア型などであり得る。
1または複数のプロセッサ144は、バス142を介して、プラズマ、液晶ディスプレイ(LCD)、発光ダイオード(LED)、フィールドエミッションディスプレイ(FED)、有機発光ダイオード(OLED)、フレキシブルOLED、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高精細(HD)ディスプレイ、Retina(著作権)ディスプレイ、面内スイッチング(IPS)またはそのようなベースのディスプレイなどのディスプレイ装置150にさらに結合され得る。ディスプレイ装置150は、入力/出力(I/O)のために、当業者に理解されるように、抵抗性、静電容量性、表面音響波(SAW)静電容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを使用して、タッチ、3次元(3D)タッチ、マルチ入力タッチ、またはマルチタッチディスプレイとして構成され得る。
キーボード152およびコンピュータマウス、タッチパッドなどの制御装置154は、コンピューティングシステムまたは環境140への入力のためにバス142にさらに結合され得る。さらに、入力は、それと通信している別のコンピューティングシステムを介してリモートでコンピューティングシステムまたは環境140に提供されてもよいし、コンピューティングシステムまたは環境140が自律的に動作してもよい。
メモリ146は、1または複数のプロセッサ144によって実行または処理されたときに機能を提供するソフトウェアコンポーネント、モジュール、エンジンなどを格納してもよい。これは、コンピューティングシステムまたは環境140のためのOS156を含み得る。モジュールは、アプリケーション固有のプロセスまたはその派生物を実行するためのカスタムモジュール158をさらに含み得る。コンピューティングシステムまたは環境140は、付加的な機能を含む1または複数の付加的な機能モジュール160を含み得る。
コンピューティングシステムまたは環境140は、サーバ、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティング装置、量子コンピューティング装置、クラウドコンピューティング装置、モバイル装置、固定型モバイル装置、スマートディスプレイ、ウェアラブルコンピュータなどとして実行するように適合または構成され得る。
本明細書に記載された例では、モジュールは、カスタムの非常に大規模な集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他のディスクリート構成要素のような既製の半導体を含むハードウェア回路として実装され得る。また、モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジック装置、グラフィックス処理ユニットなどのプログラマブルハードウェア装置に実装され得る。
モジュールは、様々なタイプのプロセッサによって実行されるためのソフトウェアに少なくとも部分的に実装され得る。識別された実行可能コードの単位は、例えば、オブジェクト、プロシージャ、ルーチン、サブルーチン、または関数として編成されていてもよいコンピュータ命令の1または複数の物理的または論理的なブロックを含み得る。識別されたモジュールの実行ファイルは、論理的に結合されるとモジュールを構成するように、異なる場所に共に配置されたり、格納されたりする。
実行可能なコードのモジュールは、単一の命令、1または複数のデータ構造、1または複数のデータセット、複数の命令などであり、複数の異なるコードセグメント、異なるプログラム間、複数のメモリ装置間などに分散され得る。操作データまたは機能データは、モジュール内で識別され、ここで示されてもよく、任意の適切なタイプのデータ構造内で適切な形態で具現化され、組織化され得る。
本明細書で与えられた例では、コンピュータプログラムは、ハードウェア、ソフトウェア、またはハイブリッドな実施形態で構成され得る。コンピュータプログラムは、互いに操作可能な通信を行い、情報または指示を渡すためのモジュールで構成され得る。
図2は、RPAのフィードバックループを利用した再トレーニングの説明図である。CVモジュール、エンジン、またはコンポーネント202、および光学的文字認識(OCR)モジュールまたはエンジン204は、対応する座標およびタイプ情報とともに、キャプチャ画像内に見出された要素、ボタン、チェックボックスをロボット206から受信し得る。キャプチャ画像は、自動化のために開発中、ランタイム中などに作成されたクライアント上のUIのターゲットとなるビジュアル部分およびテキスト部分のスクリーンショットであり得る。画像は、ウィンドウ、文書、報告書、領収書、請求書、アプリケーションなどの一部または一部分であり得る。画像は、構造化されたデータまたは構造化されていないデータのいずれかを含み得る。UIの画像は、自動化されるアプリケーションのGUI(Graphical User Interface)を含み得る。
ロボット206は、CVモジュール、エンジン、またはコンポーネント202に対するUIの画像中のターゲットまたは要素の2つ以上のアンカーポイント、参照ポイントなどを特定し得る。特定の構成では、第1アンカーが自動的に選択されてもよく、ターゲット領域内の要素が一意でない場合には、1または複数の追加の識別アンカーに対してユーザ入力が要求され得る。一例として、2つ以上のアンカーポイントは、エディットボックスおよびチェックボックスの関係を決定するのに役立ち得る。特定の構成では、関係は、CVモジュール、エンジン、またはコンポーネント202が、チェックボックスを編集ボックスまたはラジオボタンと誤認し、MLモデルにおける要素サイズまたはフォーマットのためなどに誤ってそれを廃棄することを防止し得る。
ロボット206はまた、キャプチャUI画像またはスクリーンの関係を決定するための支援のために、当業者によって理解されるように、テキストまたはテキストフィールドを検出するために、ターゲット領域のキャプチャ画像またはスクリーンショットをOCRモジュールまたはエンジン204に送信し得る。テキストフィールドは、1または複数のテキストトークンで構成され得る。テキストトークンは、空白文字、句読点文字、特殊文字などのような、あらかじめ決められた区切り文字のセットの間に見出される1または複数の文字を含み得る。テキストトークンには、番号、日付、電子メールアドレス、統一リソース識別子(URI)、郵便番号などを含め得る。
RPA200のためのUIのマルチアンカリングにおいて、UI画像内の1または複数のアンカーまたは参照点は、要素の識別、可視化、開発、生成、生産、再生、トレーニング、再トレーニングなどのために、幾何学的、場所的、位置的、座標ベースの関連付けまたは関係をペアリングまたは作成するために利用され得る。特定の構成では、マルチアンカリングは、UIの一次キャプチャに対するエラーチェックの追加または二次レイヤーとして、RPAシステムによって利用され得る。
自動化のためのUIのアンカーとして定義されているラベルおよびテキストフィールドは、関係によって接続されていたり、関係を形成したりし得る。例では、テキストフィールドはターゲット、ラベルはアンカーとし得る。例として、第1名前フィールドおよびラベルがあるUI内の要素の左側に関係があり得、ラベルはアンカーされ、第1名前フィールドの上にアンカーされた第2名前フィールドがある。RPA開発時には、アクティビティまたはワークフローに必要な1または複数の要素に対してアンカーのセットを定義し得る。特定の構成では、ターゲット要素とともに、要素およびアンカーは、ランタイム時などの自動化のための後続の実行時に同じ要素を識別するために使用され得る論理的なフィンガープリントとして動作し得る。
図3は、RPA300用のUIのマルチアンカリングの別の説明図である。例として、UI内のウィンドウまたはアプリケーション302は、フィールド3041~4、ボタン1(306)、ボタン2(308)、および最小化/最大化/閉鎖コントロール310のためのラベル1~4を含み得る。ウィンドウまたはアプリケーション302は、ウィンドウまたはアプリケーション302の実質的な前方に配向または配置され得る。特定の構成では、RPA300のためのUIのマルチアンカリングは、仮想マシン環境、リモートデスクトップなどを表し得る。しかしながら、RPA300のためのUIのマルチアンカリングは、当業者によって理解されるように、他のコンピューティング環境またはアプリケーションを表すものであってもよい。例えば、マルチアンカー構成は、ポータブルドキュメントフォーマット(PDF)、Silverlight、Flashなどを含むアクティビティに適用され得る。
アンカーX(312)は、ボタン2(308)の寸法との関係で座標(x、y、幅、高さ)を含み得る。特定の構成では、座標は、UIの領域に保存された要素の画面座標であってもよく、ランタイム時には、ロボット206によって自動的にすべての要素間の相対関係が推論されてもよい。さらに、ランタイム時の相対関係の使用は、CVモジュール、エンジン、またはコンポーネント202の有無にかかわらず実行され得る。
特定の実施形態では、座標(x、y、幅、および高さ)は、バウンディングボックスを定義し得る。パラメータxおよびyは頂点の座標、wおよびhは幅および高さであり得る。ターゲットおよびアンカーの間の関係は、UIまたはアプリケーション領域におけるスケール、DPIなどの変化または分散に対する許容範囲または閾値の範囲内で弾性的であり得る。イメージマッチングまたはセレクタベースの構成では、CVを使用するロボットは、ワークフローまたはアクティビティを自動化するために開発中に特定された要素を配置するために同一の構造を必要とし得るため、変更または差異は望ましくないし、問題となる可能性がある。自動化開発中にアプリケーションが異なる場合、ロボットまたはワークフローがランタイム時にクラッシュすることがあり得る。
ウィンドウサイズに基づいてコンテンツをリフローするウェブページなど、動的または「流動的」なレイアウトを有するアプリケーションには、弾性が特に望ましい場合がある。弾性は、仮想マシン、リモートマシン、または仮想デスクトップ環境のビデオストリームまたは出力にも有益であり得る。特定の実施形態では、幾何学的アンカーまたは参照座標または角度が非弾性であることが望ましい場合がある。
アンカーY(314)は、ボタン1(306)およびフィールド304との間の幾何学的角度(θ)関係1を測定することによって、ウィンドウまたはアプリケーション302内の要素検出のために利用され得る。アンカーX(312)およびアンカーY(314)を介したマルチアンカリングは、ウィンドウまたはアプリケーション302内の要素が実質的に異なるか、または自動化開発中のものと異なる場合に、ランタイム時にロボットまたはワークフローのクラッシュを防止し得る。これは、ロボット206および/もしくはCVモジュール、エンジン、またはコンポーネント202による複数のアンカーを使用して、他の画面要素とのその関係、インターフェース内のその位置、関連するテキストラベルなどに基づいて、画面要素を一意に識別するために達成され得る。
アンカーX(312)は、ボタン2(308)およびフィールド3044の間の距離316の関係2を決定するために利用され得る。ボタン2(308)およびフィールド304の間の距離316は、相対的であっても、絶対的であってもよい。関係1および関係2は、ワークフロー、アクティビティなどのランタイム実行中に、ロボット生成または再生のためのOCR結果を有するCVモジュール、エンジン、またはコンポーネント202によって利用され得る。本明細書で説明したように、検出された要素の実質的にすべてまたはサブセットの結果は、エラーを低減し、自動化のための性能を向上させるために、各要素の信頼度をロボット206に備えられ得る。
関係1または関係2は、トレーニングまたは再トレーニングのためのMLトレーニングモジュール、エンジン、またはコンポーネント210によってモデルを更新するために画像データベース208を更新するのにも利用され得る。関係1および関係2に加えて、テキストフィールドは、ロボットによる固有の識別のためのエディットボックスとの関係を形成するためのボックスのアンカーまたは参照であり得る。2つの名前ラベルフィールドを有する構成では、1つのテキストボックスに2つのアンカーを使用し得る。
図4は、RPA400用のUIのマルチアンカリングの別の説明図である。例として、UI内のウィンドウまたはアプリケーション402は、フィールド4041~4、ボタン1(406)およびボタン2(408)のラベル1~4を含み得る。アンカーX(410)は、ボタン2(408)の寸法との関係で座標(x、y、幅、高さ)を有し得、UIの縮尺、DPIなどの変化に対して弾性的であり得る。パラメータxおよびyは頂点の座標であり、wおよびhは例えばボタン1(406)またはボタン2(408)の幅および高さであり得る。特定の実施形態では、本明細書で説明したように、幾何学的アンカーまたは参照座標または角度が弾性または非弾性であることが望ましい場合がある。
アンカーY(412)およびアンカーX(410)は、ボタン1(406)、フィールド404およびフィールド404の間に三角形の関係を形成することにより、UI内のウィンドウまたはアプリケーション402内の要素検出のために利用され得る。三角形の関係は、ボタン1(406)、フィールド404、およびフィールド404の角度、位置、または距離に基づくジオメトリを決定することによって達成または実行され得る。三角形の関係は、ワークフロー、アクティビティなどのランタイムまたは実行中に、ロボット生成または再生のためのOCR結果用いて使用されるCVモジュール、エンジン、またはコンポーネント202によって決定または利用され得る。
図4Aは、RPA420用のUIのマルチアンカリングの別の説明図である。キャプチャUIのデポジットトランザクション422を有するアプリケーションにおいて、複数のアンカー426~426は、要素424を識別するための関係428を作成するように構成され得る。関係428は、複数のアンカー426~426に基づいて、形成された要素424に対する幾何学的形状または計算された距離に基づいて決定され得る。特定の実施形態では、関係428は、自動化生産、ランタイム時、実行時などの間に、要素424を要素424および424と区別するために利用され得る。特定の実施形態では、CVモジュール、エンジン、またはコンポーネント202が関係428を決定する間、アンカーは、クライアントに設定されてもよいし、またはクライアントで利用されてもよい。
マルチアンカリングの他の構成では、三角形の関係について本明細書で説明した分析を使用して、正方形、長方形、任意のN辺多角形、または任意の他の所望の形状などの他の形状を使用して関係を形成してもよい。また、各要素間の角度が弾性を有するようにN辺多角形を形成し、すべてのアンカーを連結する辺で形成されたN辺多角形を縮尺してもよい。特定の構成では、テキストフィールドは、ロボットによる識別のためのエディットボックスとの関係を形成するためのボックスのアンカーまたは参照であり得る。さらに、任意の関係は、ランタイム時または実行時に要素を見つけたり識別したりするために、指紋、印象、テンプレートなどとして機能し得る。
再び図2を参照すると、CVモジュール、エンジン、またはコンポーネント202は、アンカーまたは基準点情報、幾何学などを含む返された結果を処理して、検出された要素の実質的にすべてまたはサブセットのデータまたは情報を画像データベース208に提供し得る。画像データベース208は、サーバ、スタジオコンポーネント、デザインコンポーネントなどによって利用されてもよく、キャプチャ画像または画像(複数可)内の要素のサブセットをラベル付けまたは分類し、それを固有の識別およびモデリング、トレーニング、再トレーニング、ディープラーニング、ニューラルネットワーク操作などのためにMLトレーニングモジュール、エンジン、またはコンポーネント210に提供する。モデル更新212は、重複を減らし、エラーを減らし、偽陽性を減らし、またはRPA自動化性能を向上させるために、設計またはランタイム動作のための解析のために、CVモジュール、エンジン、またはコンポーネント202に提供され得る。
ファジーマッチングまたはロジックは、テキストフィールド、テキストなどのGoogle(商標)クラウドOCR、Microsoft(商標)OCR、Tessoract OCR(商標)などのOCRエンジンによるエラーを補填するために、RPA 200のためのマルチアンカリングで利用され得る。画像または画像の一部は、OCRモジュールまたはエンジン204およびCVモジュール、エンジン、またはコンポーネント202に送られ、UIビューの再生のために検出されたタイプまたは要素を有するロボット206にフィードバックが送られ得る。一例として、ファジーマッチングでは、ラベル1~4がそれぞれ名前のリストに割り当てられ得る。ファジーマッチングでは、「NAM」または「NME」を検出すると、「NAME」と論理的に関連づけられたり、マッチングされ得る。同様に、図3ではフィールド3041~4は、それぞれエディットボックスのリストに割り当てられ得る。可能な要素のリストは、関係を確立するために、CVモジュール、エンジン、またはコンポーネント202によってロボット206に提供され得る。
本明細書に記載されている例では、アンカーに関連する相対距離のような閾値を持つ幾何学的マッチングが、UIのRPAに利用され得る。一例として、UIの画像内の各要素は、信頼度、閾値、マッチング閾値、許容度などと関連し得る。閾値以下の要素に一致する可能性のあるものは、マッチングなどのために破棄され得る。複数のアンカーを使用して、要素のための可能な関係適合は、1または複数の要素の偽陽性が減少するような信頼区間(CI)を利用し得る。
一例として、例えば、50%、60%、98%、または任意のパラメータのCI未満の検出された要素は、破棄され得る。CI、信頼度閾値、許容閾値などは、トレーニングまたは再トレーニングされ得るMLまたは深層学習モデルに基づく。異なるCI、信頼度閾値、許容閾値、またはそのようなレベルもしくは範囲は、オーケストレータによるロボットまたは複数のロボットの開発またはランタイム中に、UI内の要素をマッチングするために利用され得る。
両方が一致する閾値を満たす2つの要素の間で選択する必要があり得るロボットのために、複数のアンカリングを有する要素、タイプ、または信頼度のリストが利用され得る。複数の一致を有する特定の構成では、UI内の複数のアンカーは、解析中に要素を一意に識別するためのステンシルまたは形状として作用し得る。マルチアンカリングを使用した特定の構成では、ワークフローの設計または開発中に、最も信頼度の高い選択されたUI要素がCV結果に表示され、ランタイム中には、ロボットによるワークフローの実行のために、UI内のすべての要素の可能性がCVによってチェックされ得る。
本明細書で与えられた例では、複数のアンカーの幾何学的閾値は、幾何学的閾値のためのより小さい許容範囲で、水平方向または垂直方向にスナップし得る。別の要素で水平または垂直にスナップするアンカーは、別の扱いをされ得る。例えば、方向がスナップ軸に対して垂直に移動できる距離については、より小さい許容誤差が許容され得る。ボタンがテキストフィールド、テキスト、ラベル、またはそのような要素のアンカーとして使用される場合、ランタイムは、その要素に接続が行われたときに、他のより低い確率の要素がそれぞれの位置または座標で接続されるように層化され得る。
図5は、RPA500用UIのマルチアンカリングを利用した処理の説明図である。なお、図5では、操作を順番外で行ってもよいし、図示しないサブステップを行ってもよい。UIの領域の画像は、RPAのためのロボットによってキャプチャされ得る(502)。画像を解析して表示した後、キャプチャ画像およびアンカーは、CVコンポーネントおよびOCRエンジンによって使用され得る(504)。特定の構成では、システムは、選択された要素と、ワークフローに格納されている1または複数のアンカーとの入力を受信し得る。キャプチャ画像内のUIのアンカーを含む要素間の幾何学的関係が計算され得る(506)。選択された要素が識別されない場合、本明細書で説明したように、バウンディングボックスを使用した選択が要素検出のために使用されてもよく、モデルは、MLのための幾何学的関係を使用して再トレーニングされてもよい(508)。RPAロボットによるUIは、ワークフローまたはアクティビティの実行のために、OCR結果と幾何学的関係(510)を用いて再生され得る。
再びMLを参照すると、CVモデルの結果には、キャプチャ画像、分析された画像、スクレイプされた画像、または保存された画像ごとに、画像中の1または複数の要素の可能性のリストと、精度を向上させ、誤検出を防ぎ、自動化の性能などを向上させるために関連するMLで決定された確率が含まれ得る。これは、トレーニングモジュール、エンジン、またはコンポーネント210による機械トレーニングまたは再トレーニングのために、CVモジュール、エンジン、またはコンポーネント202が画像データベース208を送信することによって実行され得る。
UIの要素がターゲット領域の周りに境界ボックスを描画することによって不適切に識別された場合、ユーザが介入し得る。キャプチャ画像は、ランタイム中に検索するために自動化ファイルに保存され得る。さらに、特定の構成では、ユーザの介入がモデルが要素を逃したことを示したりまたは信号を送ったりすることがあるため、キャプチャ画像はCVモデルの再トレーニングに利用され得る。
さらに、CVモジュール、エンジン、またはコンポーネント202が欠落したボタンまたは要素のサブセットを検出した場合、欠落した要素のレポートが自動的に画像データベース208に送信され、MLトレーニングモジュール、エンジン、またはコンポーネント210による機械トレーニングまたは再トレーニングが行われる。MLモデルが要素を識別できなかったことにより要素が欠落し得る。この操作はロボット206に対して透過的であり得る。
要素の識別のために、可能な要素のリストには、類似の代替要素が含まれ得る。もたらされ得る各結果は、MLまたはディープラーニングモデルに関連付けられて得る統計CIに関連付けられ得る。これは、UIでオブジェクトを選択しているときに、または何も選択せずに実行され得る。クリック、ユーザ入力、画像の歪みなどにより、要素が誤って識別された場合、マルチアンカーアルゴリズムは1または複数のアンカーを使用して、目的のターゲット要素を正しく決定し得る。例えば、MLエンジンが少なくとも1つの要素がラジオボタンであると信じている場合でも、アンカーXおよびアンカーYを使用して、チェックボックスであるすべての要素を検索し得る。
要素が誤って識別された場合、他の要素が分析のアンカーとして使用され得る。例えば、ラジオボタンは、最も可能性の高い一致としてチェックボックスとして誤って識別され得る。確率付きのランク付きリストでは、2番目または3番目に一致する可能性が高いのは、実際の一致または正しい一致であり得る。別の近くにあるラジオボタンなど、別のアンカーを追加すると、特定のコンポーネントが確率のリストからどの要素であるかを識別するのに役立ち得る。
また、本明細書に記載されている自律走行車コンピューティングコンテキストの動作の他の例として、CVを用いて道路上のオブジェクトを検出しながら、オブジェクトが自転車であると誤認されないように、「自転車に人が乗っていなければそれは自転車ではない」というような基準やルールを設けてもよい。オブジェクトは自転車であってもよく、人や道路はアンカーや基準点であってもよい。似たようなUIのコンテキストでは、フィールドはターゲットとボタンとフィールドラベルのアンカーであり得る。
特徴および要素は、特定の組み合わせで上に記載されているが、各特徴または要素は、単独で、または他の特徴および要素と任意の組み合わせで使用することができることが、当業者には理解されるであろう。さらに、本明細書に記載された方法は、コンピュータまたはプロセッサによって実行されるために、コンピュータ可読媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアに実装され得る。コンピュータ可読媒体の例としては、電子信号(有線または無線接続を介して送信される)およびコンピュータ可読記憶媒体が挙げられる。コンピュータ可読記憶媒体の例としては、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体記憶装置、内部ハードディスクおよびリムーバブルディスクなどの磁気媒体、磁気光学媒体、ならびにCD-ROMディスクおよびデジタル多目的ディスク(DVD)などの光学媒体が挙げられるが、これらに限定されない。

Claims (16)

  1. ユーザインターフェース(UI)を表示するように構成されたディスプレイ装置と、
    クラウドマシン環境でアクティビティを自動化するためにロボットを操作するように構成されたプロセッサであって、前記ロボットは前記UIのキャプチャ画像内の2つ以上のアンカーを利用するプロセッサと、
    前記2つ以上のアンカーを有する前記キャプチャ画像をコンピュータビジョン(CV)エンジンに送信し、前記キャプチャ画像を光学的文字認識(OCR)エンジンに送信するように構成されたトランシーバと、
    前記OCRエンジンからの結果と、前記キャプチャ画像の領域内の前記2つ以上のアンカーおよびターゲット要素に関連したラベルおよびテキストフィールド要素の幾何学的一致に基づいて前記CVエンジンによって決定された関係を受信するように構成された前記トランシーバであって、前記幾何学的一致が信頼区間(CI)に関連付けられているトランシーバと、を備え、
    前記ロボットは、前記関係に基づいて、前記UI内の前記ターゲット要素に対して前記アクティビティを実行する、コンピューティング装置。
  2. 前記関係が、アンカーボタンおよび前記ラベルまたは前記テキストフィールドの間の幾何学的位置を定義する、請求項1に記載のコンピューティング装置。
  3. 前記キャプチャ画像が、前記クラウドマシン環境のビデオストリームからのものである、請求項1に記載のコンピューティング装置。
  4. 前記幾何学的一致が、前記UIの前記キャプチャ画像内の1または複数の要素間の角度または三角形の配置を含む、請求項1に記載のコンピューティング装置。
  5. 前記幾何学的一致が、MLモデルに基づいている、請求項1に記載のコンピューティング装置。
  6. 再トレーニングが、前記UIのキャプチャ画像から検出された欠落した要素に基づいて実行される、請求項1に記載のコンピューティング装置。
  7. 前記幾何学的一致が、前記UIの前記キャプチャ画像内の要素の弾性的または非弾性的な幾何学的関係に基づいている、請求項1に記載のコンピューティング装置。
  8. 前記複数のアンカーのうちの第1アンカーが第1ボタンに配置され、前記複数のアンカーのうちの第2アンカーが第2ボタンに配置されている、請求項1に記載のコンピューティング装置。
  9. コンピューティング装置によって行われる方法であって、
    前記コンピューティング装置によって、ユーザインターフェース(UI)を表示することと、
    前記コンピューティング装置によって、クラウドマシン環境でアクティビティを自動化するためにロボットを操作することであって、前記ロボットは前記UIのキャプチャ画像内の2つ以上のアンカーを利用することと、
    前記コンピューティング装置によって、前記2つ以上のアンカーを有する前記キャプチャ画像をコンピュータビジョン(CV)エンジンに送信し、前記コンピューティング装置によって、前記キャプチャ画像を光学的文字認識(OCR)エンジンに送信することと、
    前記コンピューティング装置によって、前記OCRエンジンからの結果と、前記キャプチャ画像の領域内の前記2つ以上のアンカーおよびターゲット要素に関連したラベルおよびテキストフィールド要素の幾何学的一致に基づいて前記CVエンジンによって決定された関係を受信することであって、前記幾何学的一致が信頼区間(CI)に関連付けられていること、を含み、
    前記ロボットは、前記関係に基づいて、前記UI内の前記ターゲット要素に対して前記アクティビティを実行する、方法。
  10. 前記関係が、アンカーボタンおよび前記ラベルまたは前記テキストフィールドの間の幾何学的位置を定義する、請求項9に記載の方法。
  11. 前記キャプチャ画像が、前記クラウドマシン環境のビデオストリームからのものである、請求項9に記載の方法。
  12. 前記幾何学的一致が、前記UIの前記キャプチャ画像内の1または複数の要素間の角度または三角形の配置を含む、請求項9に記載の方法。
  13. 前記幾何学的一致が、MLモデルに基づいている、請求項9に記載の方法。
  14. 再トレーニングが、前記UIのキャプチャ画像から検出された欠落した要素に基づいて実行される、請求項9に記載の方法。
  15. 前記幾何学的一致が、前記UIの前記キャプチャ画像内の要素の弾性的または非弾性的な幾何学的関係に基づいている、請求項9に記載の方法。
  16. 前記複数のアンカーのうちの第1アンカーが第1ボタンに配置され、前記複数のアンカーのうちの第2アンカーが第2ボタンに配置されている、請求項9に記載の方法。

JP2022066133A 2019-07-19 2022-04-13 マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習 Pending JP2022109927A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/516,998 US10936351B2 (en) 2019-07-19 2019-07-19 Multi-anchor based extraction, recognition, and machine learning of user interface (UI)
US16/516,998 2019-07-19
JP2020122536A JP7104107B2 (ja) 2019-07-19 2020-07-17 マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020122536A Division JP7104107B2 (ja) 2019-07-19 2020-07-17 マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習

Publications (1)

Publication Number Publication Date
JP2022109927A true JP2022109927A (ja) 2022-07-28

Family

ID=71670169

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020122536A Active JP7104107B2 (ja) 2019-07-19 2020-07-17 マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習
JP2022066133A Pending JP2022109927A (ja) 2019-07-19 2022-04-13 マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020122536A Active JP7104107B2 (ja) 2019-07-19 2020-07-17 マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習

Country Status (5)

Country Link
US (3) US10936351B2 (ja)
EP (1) EP3767449B1 (ja)
JP (2) JP7104107B2 (ja)
KR (2) KR102356950B1 (ja)
CN (2) CN114661400B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11830605B2 (en) * 2013-04-24 2023-11-28 Koninklijke Philips N.V. Image visualization of medical imaging studies between separate and distinct computing system using a template
US10936351B2 (en) * 2019-07-19 2021-03-02 UiPath, Inc. Multi-anchor based extraction, recognition, and machine learning of user interface (UI)
US11074063B2 (en) * 2019-09-10 2021-07-27 International Business Machines Corporation Automatic upgrade of robotic process automation using a computer
US11054960B1 (en) * 2019-12-30 2021-07-06 UiPath Inc. Fuzzy target selection for robotic process automation
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
US11543930B2 (en) * 2020-11-10 2023-01-03 RealFar Ltd Augmenting web applications with optimized workflows supporting user interaction
US20220237404A1 (en) * 2021-01-25 2022-07-28 Sap Se Surface automation in black box environments
GB2609947A (en) * 2021-08-18 2023-02-22 Blue Prism Ltd Systems and methods for determining GUI in interaction information for an end user device
CN113495775B (zh) * 2021-09-07 2021-12-03 长沙博为软件技术股份有限公司 Rpa定位控件元素的组合定位系统、方法、设备及介质
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
US20230107316A1 (en) 2021-10-05 2023-04-06 UiPath, Inc. Automatic data transfer between a source and a target using semantic artificial intelligence for robotic process automation
CN114035726B (zh) * 2021-10-19 2023-12-22 四川新网银行股份有限公司 一种机器人流程自动化页面要素识别过程的方法及系统
CN114461122B (zh) * 2022-04-12 2022-07-19 杭州实在智能科技有限公司 Rpa元素拾取同屏切换方法及系统
CN115495055B (zh) * 2022-11-03 2023-09-08 杭州实在智能科技有限公司 基于界面区域识别技术的rpa元素匹配方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070172130A1 (en) * 2006-01-25 2007-07-26 Konstantin Zuev Structural description of a document, a method of describing the structure of graphical objects and methods of object recognition.
US8126907B2 (en) * 2004-08-03 2012-02-28 Nextengine, Inc. Commercial shape search engine
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
US9245043B2 (en) * 2009-12-23 2016-01-26 Fuji Xerox Co., Ltd. Embedded media markers and systems and methods for generating and using them
WO2012154159A1 (en) 2011-05-06 2012-11-15 Hewlett-Packard Development Company, L.P. Image-based automation systems and methods
US9274742B2 (en) 2012-10-25 2016-03-01 PixiOnCloud, Inc. Visual-symbolic control of remote devices having display-based user interfaces
US20140285519A1 (en) * 2013-03-22 2014-09-25 Nokia Corporation Method and apparatus for providing local synchronization of information for augmented reality objects
US9075918B1 (en) * 2014-02-25 2015-07-07 International Business Machines Corporation System and method for creating change-resilient scripts
AU2014277851A1 (en) 2014-12-22 2016-07-07 Canon Kabushiki Kaisha Detecting a gap between text columns from text line fragments
US9870623B2 (en) * 2016-05-14 2018-01-16 Google Llc Segmenting content displayed on a computing device into regions based on pixels of a screenshot image that captures the content
US20180157386A1 (en) 2016-12-05 2018-06-07 Jiawen Su System and Method for detection, exploration, and interaction of graphic application interface
US10409712B2 (en) * 2016-12-30 2019-09-10 Accenture Global Solutions Limited Device based visual test automation
CN110168476B (zh) * 2017-01-09 2022-11-04 斯纳普公司 增强现实对象操纵
JP6939105B2 (ja) 2017-06-09 2021-09-22 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10235192B2 (en) 2017-06-23 2019-03-19 Accenture Global Solutions Limited Self-learning robotic process automation
US10600205B2 (en) * 2018-01-08 2020-03-24 Htc Corporation Anchor recognition in reality system
CN109492583A (zh) * 2018-11-09 2019-03-19 安徽大学 一种基于深度学习的车辆重识别方法
US10936351B2 (en) * 2019-07-19 2021-03-02 UiPath, Inc. Multi-anchor based extraction, recognition, and machine learning of user interface (UI)

Also Published As

Publication number Publication date
US11983379B2 (en) 2024-05-14
EP3767449A1 (en) 2021-01-20
US20210182089A1 (en) 2021-06-17
CN114661400A (zh) 2022-06-24
US10936351B2 (en) 2021-03-02
JP7104107B2 (ja) 2022-07-20
CN112241302B (zh) 2022-04-12
US11487563B2 (en) 2022-11-01
KR102356950B1 (ko) 2022-02-07
EP3767449B1 (en) 2023-08-02
CN112241302A (zh) 2021-01-19
CN114661400B (zh) 2023-12-01
US20230051443A1 (en) 2023-02-16
KR20220013450A (ko) 2022-02-04
KR20210010833A (ko) 2021-01-28
JP2021018820A (ja) 2021-02-15
US20210019157A1 (en) 2021-01-21

Similar Documents

Publication Publication Date Title
JP7104107B2 (ja) マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習
JP7034217B2 (ja) ロボティックプロセスオートメーション用のコンピュータビジョンモデルの再訓練
US11599775B2 (en) Detecting user interface elements in robotic process automation using convolutional neural networks
KR20220079834A (ko) 로봇 프로세스 자동화를 위한 인공 지능 계층 기반 프로세스 추출
KR20220083976A (ko) 액션 센터, 인공 지능(ai)/머신 학습(ml) 모델 재트레이닝 하드웨어 제어, 및 ai/ml 모델 설정 관리를 통한 ai/ml 모델들의 보충
JP2022549979A (ja) スクリーンショットイメージを用いたシーケンス抽出
JP2023504146A (ja) ロボティックプロセスオートメーションのための光学式文字検出および認識モデルの訓練
CN118057367A (zh) 在浏览器内的目标应用的自动增强

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230711