JP2022109927A - マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習 - Google Patents
マルチアンカーを用いたユーザインターフェース(ui)の抽出、認識および機械学習 Download PDFInfo
- 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
Links
- 238000010801 machine learning Methods 0.000 title abstract description 16
- 238000000605 extraction Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 20
- 230000000694 effects Effects 0.000 claims description 15
- 238000012015 optical character recognition Methods 0.000 claims description 14
- 238000004873 anchoring Methods 0.000 abstract description 20
- 238000012549 training Methods 0.000 abstract description 10
- 238000004801 process automation Methods 0.000 abstract description 5
- 238000011161 development Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 239000004020 conductor Substances 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000007790 scraping Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- 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
-
- 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
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/048—Fuzzy inferencing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character 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上で構成され、エラーを減らし、パフォーマンスを向上させ得る。
より詳細な理解は、図中の類似の参照数字が類似の要素を示す、添付の図面との関連で例示的に与えられた以下の説明から得られ得る。
以下に記載されている方法およびプロセスでは、記載されているステップは任意の順序で実行され、明示的に記載または表示されていないサブステップが実行され得る。また、「結合されている」または「操作的に結合されている」とは、オブジェクトが連結されていることを意味してもよいが、連結されているオブジェクトの間にゼロまたはそれ以上の中間オブジェクトを有してもよい。また、開示された特徴/要素の任意の組み合わせが、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)およびフィールド3044との間の幾何学的角度(θ)関係1を測定することによって、ウィンドウまたはアプリケーション302内の要素検出のために利用され得る。アンカーX(312)およびアンカーY(314)を介したマルチアンカリングは、ウィンドウまたはアプリケーション302内の要素が実質的に異なるか、または自動化開発中のものと異なる場合に、ランタイム時にロボットまたはワークフローのクラッシュを防止し得る。これは、ロボット206および/もしくはCVモジュール、エンジン、またはコンポーネント202による複数のアンカーを使用して、他の画面要素とのその関係、インターフェース内のその位置、関連するテキストラベルなどに基づいて、画面要素を一意に識別するために達成され得る。
アンカーX(312)は、ボタン2(308)およびフィールド3044の間の距離316の関係2を決定するために利用され得る。ボタン2(308)およびフィールド3044の間の距離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)、フィールド4043およびフィールド4044の間に三角形の関係を形成することにより、UI内のウィンドウまたはアプリケーション402内の要素検出のために利用され得る。三角形の関係は、ボタン1(406)、フィールド4043、およびフィールド4044の角度、位置、または距離に基づくジオメトリを決定することによって達成または実行され得る。三角形の関係は、ワークフロー、アクティビティなどのランタイムまたは実行中に、ロボット生成または再生のためのOCR結果用いて使用されるCVモジュール、エンジン、またはコンポーネント202によって決定または利用され得る。
図4Aは、RPA420用のUIのマルチアンカリングの別の説明図である。キャプチャUIのデポジットトランザクション422を有するアプリケーションにおいて、複数のアンカー4261~4264は、要素4242を識別するための関係428を作成するように構成され得る。関係428は、複数のアンカー4261~4264に基づいて、形成された要素4242に対する幾何学的形状または計算された距離に基づいて決定され得る。特定の実施形態では、関係428は、自動化生産、ランタイム時、実行時などの間に、要素4242を要素4241および4243と区別するために利用され得る。特定の実施形態では、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)
- ユーザインターフェース(UI)を表示するように構成されたディスプレイ装置と、
クラウドマシン環境でアクティビティを自動化するためにロボットを操作するように構成されたプロセッサであって、前記ロボットは前記UIのキャプチャ画像内の2つ以上のアンカーを利用するプロセッサと、
前記2つ以上のアンカーを有する前記キャプチャ画像をコンピュータビジョン(CV)エンジンに送信し、前記キャプチャ画像を光学的文字認識(OCR)エンジンに送信するように構成されたトランシーバと、
前記OCRエンジンからの結果と、前記キャプチャ画像の領域内の前記2つ以上のアンカーおよびターゲット要素に関連したラベルおよびテキストフィールド要素の幾何学的一致に基づいて前記CVエンジンによって決定された関係を受信するように構成された前記トランシーバであって、前記幾何学的一致が信頼区間(CI)に関連付けられているトランシーバと、を備え、
前記ロボットは、前記関係に基づいて、前記UI内の前記ターゲット要素に対して前記アクティビティを実行する、コンピューティング装置。 - 前記関係が、アンカーボタンおよび前記ラベルまたは前記テキストフィールドの間の幾何学的位置を定義する、請求項1に記載のコンピューティング装置。
- 前記キャプチャ画像が、前記クラウドマシン環境のビデオストリームからのものである、請求項1に記載のコンピューティング装置。
- 前記幾何学的一致が、前記UIの前記キャプチャ画像内の1または複数の要素間の角度または三角形の配置を含む、請求項1に記載のコンピューティング装置。
- 前記幾何学的一致が、MLモデルに基づいている、請求項1に記載のコンピューティング装置。
- 再トレーニングが、前記UIのキャプチャ画像から検出された欠落した要素に基づいて実行される、請求項1に記載のコンピューティング装置。
- 前記幾何学的一致が、前記UIの前記キャプチャ画像内の要素の弾性的または非弾性的な幾何学的関係に基づいている、請求項1に記載のコンピューティング装置。
- 前記複数のアンカーのうちの第1アンカーが第1ボタンに配置され、前記複数のアンカーのうちの第2アンカーが第2ボタンに配置されている、請求項1に記載のコンピューティング装置。
- コンピューティング装置によって行われる方法であって、
前記コンピューティング装置によって、ユーザインターフェース(UI)を表示することと、
前記コンピューティング装置によって、クラウドマシン環境でアクティビティを自動化するためにロボットを操作することであって、前記ロボットは前記UIのキャプチャ画像内の2つ以上のアンカーを利用することと、
前記コンピューティング装置によって、前記2つ以上のアンカーを有する前記キャプチャ画像をコンピュータビジョン(CV)エンジンに送信し、前記コンピューティング装置によって、前記キャプチャ画像を光学的文字認識(OCR)エンジンに送信することと、
前記コンピューティング装置によって、前記OCRエンジンからの結果と、前記キャプチャ画像の領域内の前記2つ以上のアンカーおよびターゲット要素に関連したラベルおよびテキストフィールド要素の幾何学的一致に基づいて前記CVエンジンによって決定された関係を受信することであって、前記幾何学的一致が信頼区間(CI)に関連付けられていること、を含み、
前記ロボットは、前記関係に基づいて、前記UI内の前記ターゲット要素に対して前記アクティビティを実行する、方法。 - 前記関係が、アンカーボタンおよび前記ラベルまたは前記テキストフィールドの間の幾何学的位置を定義する、請求項9に記載の方法。
- 前記キャプチャ画像が、前記クラウドマシン環境のビデオストリームからのものである、請求項9に記載の方法。
- 前記幾何学的一致が、前記UIの前記キャプチャ画像内の1または複数の要素間の角度または三角形の配置を含む、請求項9に記載の方法。
- 前記幾何学的一致が、MLモデルに基づいている、請求項9に記載の方法。
- 再トレーニングが、前記UIのキャプチャ画像から検出された欠落した要素に基づいて実行される、請求項9に記載の方法。
- 前記幾何学的一致が、前記UIの前記キャプチャ画像内の要素の弾性的または非弾性的な幾何学的関係に基づいている、請求項9に記載の方法。
- 前記複数のアンカーのうちの第1アンカーが第1ボタンに配置され、前記複数のアンカーのうちの第2アンカーが第2ボタンに配置されている、請求項9に記載の方法。
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)
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)
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) |
-
2019
- 2019-07-19 US US16/516,998 patent/US10936351B2/en active Active
-
2020
- 2020-07-17 CN CN202210305333.XA patent/CN114661400B/zh active Active
- 2020-07-17 JP JP2020122536A patent/JP7104107B2/ja active Active
- 2020-07-17 KR KR1020200088891A patent/KR102356950B1/ko active IP Right Grant
- 2020-07-17 CN CN202010693723.XA patent/CN112241302B/zh active Active
- 2020-07-17 EP EP20186561.5A patent/EP3767449B1/en active Active
-
2021
- 2021-02-26 US US17/187,166 patent/US11487563B2/en active Active
-
2022
- 2022-01-20 KR KR1020220008654A patent/KR20220013450A/ko active IP Right Grant
- 2022-04-13 JP JP2022066133A patent/JP2022109927A/ja active Pending
- 2022-10-31 US US17/977,771 patent/US11983379B2/en active Active
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 |