- 印刷する
VisionのChange Detectorを使って、視覚的な変化やイベントをリアルタイムで監視しましょう。
この記事では以下のことを学びます:
- チェンジディテクターのセットアップ方法
- アプリでChange Detectorを使用する
- チェンジディテクターの設定を調整する方法
この記事を読む前に、Visionの機能性と要件を理解し、カメラのセットアップ方法を説明するために、Visionを使い始めるを確認してください。
チェンジディテクターの概要
チェンジディテクタを使用すると、カメラのストリーム上の事前に定義した領域を監視して、リアルタイムで発生する変化を検出できます。これらの変更またはイベントを使用して、アプリ内でロジックを構築できます。
チェンジディテクターの設定
カメラ設定のセットアップが完了すると、ステーションのビデオストリームが以下のように表示されます:
{height="" width=""}のようになります。
変更検出器をセットアップするには、変更を監視したい地域を選択します。これを行うには、マウスをクリックしてドラッグし、リージョンを定義します:
{height="" width=""} とします。
それから、リージョンに名前をつける。
次に、このリージョンの中に手を入れるなどして、このリージョンに変化を与えよう。
{高さ="" 幅=""}。
上で見たように、変化検出リージョンは色が変わり、検出器が変化として記録したことを示す。
この領域はBegin changes threshold に基づいて緑色に変わる。このしきい値が50%であれば、色が赤から緑に変わるためには、少なくともリージョンの50%で検出された変更がなければならない。この時点で、このカメラ設定を使用しているアプリでイベントがトリガーされます。
手が領域内にあるときに領域が緑色になるように、Begin changes thresholdと領域のサイズを調整してみてください。
アプリでチェンジディテクタを使う
アプリのエディタに切り替え、新しいデバイス出力トリガーを作成します。
すべての Camera Configuration がSpecific device のサブリストに表示されます。ドロップダウンからカメラ設定を選択します。
Specific Device(特定のデバイス)セクションでは同じアプリで複数のカメラを使用できます。このアプリを実行するステーションには、カメラに選択した特定のカメラ設定が必要です。そうでない場合、アプリの実行時に警告が表示されます。
トリガを実行する様々なイベントのドロップダウンが表示されます:
この例では、イベントリストから "**Changes Began "**を選択します。
次に、Change Detectorがイベントを検出した時に、トリガーアクションを "Show Message "に追加します。Device Outputデータは、あなたがリージョンにつけた名前を保持します:
トリガーを保存します。アプリを実行する前に、アプリ内からカメラ構成のビデオストリームを表示するために、Vision Camera Widgetを追加しましょう。
これを行うには、[Camera]、[Vision Camera]の順に選択します:
クリックしてドラッグし、ウィジェットのサイズと配置を調整します。
右側のパネルでカメラ構成を選択します。
The Show Overlay option allows you to disable showing the regions on top of the video. Keep this enabled for now.
いよいよアプリを実行します。カメラ構成を割り当てたステーションで実行してください。
プレーヤーでVision Camera Widgetを使用してステップを開くと、カメラのビデオストリームが表示されます:
リージョン内で手を動かすと、リージョンが緑色に変わり、リージョン名のメッセージが表示されます:
検出リージョン設定の変更
あなたのユースケースに適した結果を得るために、リージョンの設定を調整する必要があるでしょう。リージョンの設定を編集するには、カメラ設定をクリックし、調整したいリージョンを選択します。
以下の設定が可能です:
{高さ="" 幅=""}」を選択します。
変更開始しきい値
これは、"**Changes Began"(変更開始)**イベントが発生するために必要な、リージョン領域の変更の割合です。例えば、リージョンが小さく、手がリージョンを完全にカバーすると予想される場合、この値を70%など高い値に設定することができます。
上限しきい値と下限しきい値
これは、監視したい深さの範囲を定義します。
{高さ="" 幅="350"}。
Surfaceは、深度カメラがRegionの内部をキャプチャしたものです。上のサンプル画像では、黄色のビンです。上限しきい値と下限しきい値は、どちらもこのサーフェスに対して相対的に設定されます。
上限しきい値よりもカメラに近いオブジェクトは、変化検出器によって無視されます。(例:オペレータの腕がこの領域の上を移動している場合、イベントはトリガされません)。
同様に、カメラから下限しきい値より遠い物体、およびより重要なノイズも無視されます。技術的な制限により、デプスカメラが報告するデータにはノイズがあります。リージョンがカメラから遠ければ遠いほど、ノイズは高くなります。リージョンにちらつきが見られる場合は、下限しきい値を大きくしてください。
適応速度
適応速度は、リージョンがノイズや、Changes Beganイベントをトリガするには小さすぎる変化に適応する速さです。No adaptationの設定では、ノイズと小さな変化は時間とともに蓄積されることに注意。
変化終了時にリセット
有効にすると、Changes Endedイベントが発生した後でも、リージョンの内容が変更されたままである場合に、その後の変更の検出をより強固にする。
リセット時間
リージョンがリセットされるまでの時間。リセットの進行中は、Changes Beganイベントは発生しない。
さらに読む
お探しのものは見つかりましたか?
community.tulip.coに質問を投稿したり、他の人が同じような質問に直面していないか確認することもできます!