Image Search

Image search​ アクションステップは、ユーザー定義の画像を検索し、画像が表示されるか、非表示になるまで待機します。また、マウスクリックの相対的なアンカーポイントとして使用することもできます。この場合の画像には、写真だけでなく、レタリングやコントロール要素 (ボタンなど) の視覚的な表現も含まれます。

Image search​ の最も一般的なユースケースには次のようなものがあります。

  • 読み込み時間の計算

    Web ページの読み込み時間やアプリケーションが遠隔サーバーからデータを取り込む時間を計算するには、ウィンドウが表示されるまで待機するだけでは不十分です。そのような場合、コンテンツが表示されたとき、つまり画像が表示されたときにのみ Web ページやアプリケーションが読み込まれたと言えます。

  • リモートアプリケーションからのフィードバックの確認

    測定対象アプリケーションが遠隔システムで実行されていて、ワークフローで Citrix クライアントや VCN のような、ユーザーインターフェースをグラフィカルに表示するが制御を返さないリモート接続ツールを使用する必要がある場合、Image search は、目的のコンテンツが画面上に表示されたことを確認する唯一のツールになります。

  • 画像を基準とする相対的な位置へのマウスの配置

    最後に、画像の位置を使用すると、画像に対して相対的にマウスクリックを配置できます。たとえば、Web ブラウザーのアドレスバーに URL を入力したり、ユーザーおよびパスワード項目にログイン情報を入力したりできます。

Image search​ で実際に行われている作業は、​検索領域​全体に対して記録された​パターン画像​を比較することです。実行時に、​検索領域​のスクリーンショットを撮り、選択した​画像検索​アルゴリズムを適用し、​パターン画像​と比較します。実行するコンピューターと​ワークフロー​が最初に作成されたコンピューターで画面解像度が異なる場合、​検索領域​は自動的に調整されます。また、最低限の共通の色深度設定が使用されるため、たとえば、色深度が 32 ビットの​画像検索​を作成したが、実行するコンピューターの色深度が 16 ビットの場合、元の​パターン画像​はその場で現在のシステムの色深度に合わせて変換されます。これは、ワークフロープロパティ内で調整できます。

プロパティ

  • Compare Precision (比較精度)

    これは、検索アルゴリズムモード ​[Color (色)]​ および ​[Gradient (グラデーション)]​ の追加設定です。これらのモードでは、実際のピクセルの色の値が記録されます。ピクセル値は GPU によって計算されますが、各計算結果のピクセル値は完全には一致しません。比較精度を 98% または 97% に下げることで、最下位ビットの値の変動を許容できます。

  • Edge detection threshold (エッジ検出しきい値)

    エッジの検出につながる色間の違い (距離) のしきい値。しきい値が低いと、隣接するピクセルと比較したときの色の値の違いが小さくてもエッジとして検出されるため、検出されるエッジが多くなります。一方、しきい値が高いと、アルゴリズムで検索される​パターン画像​のエッジが少なくなります。

  • Hide Mouse (マウスを非表示)

    このオプションが有効になっていると、​画像検索​中にデスクトップのマウスポインターが左上隅に移動します。これを有効にすると、アプリケーションや Web サイトのフロート表示効果がトリガーされることを回避できます。 これにより、マウスポインターが部分的に検索される画像に変換されないようになります。その後、マウスポインターは前の位置に戻ります。

  • Image search algorithm (画像検索アルゴリズム)

    使用する​画像検索​アルゴリズム。​[Color (色)]​、​[Gradient (グラデーション)]​、​[Contour (輪郭)]​、​[Contour Plus (輪郭+)]​ オプションを使用できます。

    これらのモードについての詳細は、「​さまざまな検索モード​」を参照してください。

  • Image search type ​Search for picture appear​ (画像検索種別 画像の表示を検索)

    表示されるまで画像を検索します。検出できるようになるとすぐに​画像検索​が成功とみなされます。

  • Image search type ​Search for picture disappear​ (画像検索種別 画像の非表示を検索)

    画像を検出できなくなるとすぐに​画像検索​が成功とみなされます。画像は最初に検出される必要はないため、画像を検出する必要がある場合は、​[Appear (表示)]​ 種別の​画像検索​を最初に実行する必要があります。

  • Original desktop color depth (元のデスクトップの色深度)

    (​プロパティグリッド​のみ): 画像が記録されたときの色深度 (ビット単位)。

  • Original desktop height (元のデスクトップの高さ)

    (​プロパティグリッド​のみ): 画像が記録されたときのデスクトップの高さ (ピクセル単位)。

  • Original desktop width (元のデスクトップの高さ)

    (​プロパティグリッド​のみ): 画像が記録されたときのデスクトップの幅 (ピクセル単位)。

  • Pattern Image​ File Path (パターン画像のファイルパス)

    (​プロパティグリッド​のみ): 記録された画像のファイルの場所。

  • Pattern image​ rect (パターン画像の長方形)

    (​プロパティグリッド​のみ): 検索する画像を囲む、デスクトップ上の長方形領域の元の座標 (左上隅、右下隅)。

  • Percentage required (必要なパーセント)

    画像検索​の許容度 (画像を正常に識別するために必要な最小品質 (パーセント) のしきい値など) を決定します。 値が低いほど許容度が高くなりますが、偽陽性の可能性も高くなります。偽陽性を回避するため、この値を 90% 未満に設定しないでください。

  • Relative To (相対的)

    Mouse Clicks アクションステップ​と同様に​検索領域​を前の​画像検索​に対して相対的にします。

  • Search area​ rect (検索領域の長方形)

    (​プロパティグリッド​のみ): 検索領域​を囲む、デスクトップ上の長方形領域の元の座標 (左上隅、右下隅)。

  • Wait time [ms] (待機時間 (ミリ秒))

    2 つの後続の画像検索間の一時停止 (​[Wait until image is steady (画像が安定するまで待機)]​ がアクティブ化されている場合にのみ使用)。

  • Wait until image is steady (画像が安定するまで待機)

    この機能は、画像の検出後に追加の​待機時間​を取り入れてから 2 番目の​画像検索​を実行する場合に使用されます。この 2 番目の実行の結果と前の実行の結果を比較することで、画像がまだそこにあり、位置が変更されていないことを確認できます。結果が同じ場合、​画像検索​が成功とみなされます。結果が同じでない場合、2 つの後続の画像検索の結果が同じになるか、タイムアウトに達するまで追加の​画像検索​が実行されます。

  • Interrupt time [ms] (中断時間 (ミリ秒))

    主に ​Java​ アプリケーションで使用される: パフォーマンスの悪いアプリケーションに CPU リソースを提供するためにサービスが画像の検索を停止するミリ秒単位の時間 (​[Load Optimizer (負荷オプティマイザー)]​ がアクティブ化されている場合にのみ適用)。

  • Load Optimizer (負荷オプティマイザー)

    有効になっている場合、画面上の画像を検索するために各試行間に ​[Interrupt time (中断時間)]​ 設定で定義された一時停止が実行されます。 シングルコアコンピューターで実行されている場合、この一時停止によって他のプログラムの作業時間を確保できます。

  • Performance Limit (%) (パフォーマンス制限 (%))

    画像検索​でどの程度の CPU パフォーマンスを使用できるのかを定義します (​[Load Optimizer (負荷オプティマイザー)]​ がアクティブ化されている場合にのみ適用)。

変数

  • Find Coordinate (検出座標)

    画像が検出された場所の X および Y 座標。

ウィザード

画像検索ウィザード

  • Start from scratch (最初から開始)

    すべてのステップを使用して設定を開始します。

  • Search area​ (検索領域)

    以前にキャプチャした画像を使用して、​検索領域​のみを再設定します。

  • Pattern Image (パターン画像)

    検索する画像のみを再キャプチャします。

  • Refresh ​Search area​ (検索領域を更新)

    ウィザードの右側にある​検索領域​フレームを現在のデスクトップ状況で更新します。これにより、定義された​検索領域​にまだ画像が含まれているかどうかを確認できます。

  • Show borders (境界線を表示)

    アクティブな場合、​パターン画像​が青い境界線でマークされ、​検索領域​フレームの​検索領域​が赤い境界線でマークされます。

  • Pattern Image (パターン画像)

    検索で使用する記録済みの画像を表示します。

    • Check search (検索をチェック)

      キャプチャされた画像が検出される可能性を評価します。結果は、​パターン画像​フレームの前にあるボックスに表示され、検出された画像の位置や一致精度 (パーセント単位) で構成されます。この機能では、​検索領域​フレームに表示される画像ではなく、現在のデスクトップが使用されます。

  • Search area (検索領域)​ 画面上の画像がキャプチャされたときのデスクトップの状況を表示します。 [Show Borders (境界線を表示)]​ がアクティブな場合、検索画像の境界線が青で表示され、​検索領域​の境界線が赤で表示されます。 [Check search (検索をチェック)]​ を実行して画像が検索可能である場合、その位置が緑の境界線でマークされます。

キャプチャプロセスの開始

ウィザードを使用して​画像検索​の設定を開始する手順は、次のとおりです。

  1. [Start from scratch (最初から作成)]​ をクリックします。

  2. 検索する画像が含まれるデスクトップセクションに青い選択フレームをドラッグします。

    「Select pattern image (パターン画像を選択)」 ダイアログ

    この選択フレームは常にデスクトップビューの一番上に表示されるため、見失うことなく画像が含まれる任意のデスクトップセクションに切り替えることができます。

  3. コンテンツに合わせて選択フレームのサイズを調整します。

    選択フレームを関連するコンテンツに絞り込むには、エッジをドラッグしてサイズを変更します。キーボードの矢印キーを押してフレームを調整することもできます。矢印キーを押すとフレームが 1 ピクセルずつ移動し、​Ctrl​ + 矢印キーを押すと 5 ピクセルずつ移動します。 Shift​ + 矢印キーを押すと、フレームが 1 ピクセルずつサイズ変更されます。

安定した​ワークフロー​を作成するには、正しいパターンを選択してキャプチャすることが不可欠です。​ワークフロー​の実行で使用されるすべての画面解像度で最初に表示され、(理想的には) 位置があまり変わらない不変の一意のパターンを選択する必要があります。

デスクトップの一時停止

短時間または特定の条件でしか表示されない​パターン画像​をキャプチャする場合、現在の状態のままデスクトップを一時停止して、​パターン画像​を選択できます。デスクトップを一時停止するには、キーボードの ​Pause​ キーを押します。​[Hover or click here to freeze Desktop (デスクトップを一時停止するには、ここにマウスポインターを置くかクリックしてください)]​ というバーをクリックして、タイマーを開始することもできます。 その後、キャプチャするデスクトップの状況を作成するための時間 (5 秒) が確保されます。一時停止機能を使用して、マウスの直接入力 (フロート表示効果など) でのみ表示される画像をキャプチャします。

デスクトップが一時停止すると、選択フレームに大きな ​[Unfreeze (一時停止解除)]​ ボタンが表示されます。このボタンをクリックすると、一時停止が再度解除されます。

小さい選択部分でのズームビューの使用

画面の非常に小さい部分をキャプチャする必要がある場合 (どのような場合でも、この部分が識別に使用するのに十分に一意である方が良い)、​パターン画像​コンテンツの拡張ビューが必要になる可能性があります。青いフレームの ​[Show Zoom View for small selections (選択部分が小さい場合にズームビューを表示)]​ チェックボックスを有効にすると、ズームビューウィンドウが画面上に表示されます。このウィンドウは選択部分が小さい場合にのみ表示され、選択部分が大きすぎる場合は非表示になります。

画像のキャプチャ

100% の確度で画面の目的の部分を識別するには、必要な数の輪郭が画像に含まれていることを確認してください。小さい画像の方がすばやく検索でき、CPU パフォーマンスを必要としないため、画像はできる限り小さくしてください。画像の周囲の空白スペースが多くなりすぎないようにしてください。選択内容に問題がなければ、​F10​ を押すか、​[Capture (キャプチャ)]​ をクリックするか、フレームの任意の場所をダブルクリックして、選択した領域を​パターン画像​として保存します。

適切で安定した検索パフォーマンスを得るために、​パターン画像​のサイズは常に「必要なだけ大きく、できる限り小さく」のルールに従う必要があります。

検索領域のキャプチャ

パターン画像​をキャプチャすると、検索領域を定義する赤いフレームが表示されます。

検索領域のキャプチャの例

これは、後で​パターン画像​が検索される画面の領域です。繰り返しになりますが、この選択部分は「必要なだけ大きく、できる限り小さく」する必要があります。常に​パターン画像​が含まれる十分な大きさが必要ですが、検索時の CPU 負荷を低減するためにできる限り小さくする必要があります。​検索領域​が大きくなるほど、CPU 負荷が高くなり、応答時間が長くなります。ただし、識別される​パターン画像​のデスクトップ上の表示位置は異なる可能性があるため、​検索領域​を絞り込みすぎないようにしてください。

検索領域​は​パターン画像​と同じ方法で保存できます。

パターン画像​を選択して​検索領域​を選択したら、RPA Builder は、定義された画像の現在の検索精度を評価します。

画像検索の精度の例

新しく記録された画像検索は、常に 100% の精度で検索されます。

さまざまな検索モード

Image Search​ アクションステップでは次の検索モードがサポートされます。

  • Color (色)
    最も単純で高速な検索アルゴリズム。デフォルト設定では、検索される画像の色が記録された画像の色と完全に一致している必要があります。ただし、画像の色の値は​ワークフロー​が実行されるマシンで (使用されるグラフィックスハードウェアによって) 異なる可能性があるため、画像検索を安定化するために ​[Compare Precision (比較精度)]​ 設定をダウンスケールする場合があります。色の一致精度は、100% (完全一致) から 88% (色の値の最下位 4 ビットを無視) までダウンスケールできます。

    ワークフロー​が実行されるハードウェアと、ワークフローが作成されたハードウェアが同じ場合にのみ ​[Color (色)]​ 検索アルゴリズムを使用します。

  • Gradient (グラデーション)
    エッジを使用して​パターン画像​を検出しますが、実際のエッジ検索が実行される前に濃淡値をチェックします。そのため、同様の精度を使用する [contour (輪郭)] モードよりも高速に画像の有無を検出できます。濃淡値を使用すると、色のバリエーションに関する耐性が [contour (輪郭)] モードよりも低くなるという副作用があります。また、同じ濃淡値になる色は区別できません。

  • Contour (輪郭)
    デフォルトの推奨検索アルゴリズム。これは色のバリエーションに関して非常に安定性が高く、色深度の変化やさまざまなデスクトップ解像度を処理できます。すべての色を減らして黒い領域にすることで (エッジは白いラインになる)、​パターン画像​の異なる色の値間の変化に基づいて輪郭検索画像を作成します。

  • Contour Plus (輪郭+)
    この検索アルゴリズムは、文字と文書を識別することに特化して作成されました。​[Contour (輪郭)]​ モードと同じ手法が使用されますが、フォントスムージングの補正が追加されています。

[Contour (輪郭)] および [Contour Plus (輪郭+)] モードのしきい値の調整

いずれかの輪郭モードを使用する場合、黒/白のしきい値を調整できます。デフォルト値は 10 で、一般的に高コントラストの画像の最適な設定です。特にテキストを検索する場合は、調整する必要はありません。ただし、低コントラストの​パターン画像​や実際の画像を検索する場合は、輪郭が明確になるまでスライダーを調整することが必要になる場合があります。

輪郭の検出を調整するための白と黒のしきい値スライダー

たとえば、次の画像の 2 人の人物を ​[Contour (輪郭)]​ モードの​パターン画像​として使用するとします。

2 人の人物と Max the Mule が表示されている画像の例

画像を記録すると、デフォルトのしきい値によって次の​パターン画像​が生成されます。

輪郭があまりはっきりしないパターンの例

この画像では、多数の微妙な色のバリエーションにより輪郭画像のエッジが作成されたことを確認できます。

黒/白のしきい値を増加すると、画像検索では微妙な色のバリエーションが無視され、輪郭が明確になるため、画像検出の信頼性を高めることができます。

しきい値設定を高くしたことで輪郭が明確になったパターンの例

トラブルシューティング

異なるマシンの同じ画像を検索するときに問題が発生した場合、これらのシステムのシステムパラメーターがすべて同じであることを確認します。

問題を解決できない場合は、必要な一致精度を減らすことができます。ただしこれは慎重に行ってください。必要なパーセントが低すぎると、Image Search アクションステップでは、存在しない​パターン画像​が検出される可能性があります。

画像検索の一致精度設定
偽陽性を回避するため、一致精度を 90% 未満に設定しないでください。