チェンジディテクターの使用
  • 26 Mar 2024
  • 1 読む分
  • 寄稿者

チェンジディテクターの使用


Article Summary

VisionのChange Detectorを使って、視覚的な変化やイベントをリアルタイムで監視しましょう。

この記事では以下のことを学びます:

  • チェンジディテクターのセットアップ方法
  • アプリでChange Detectorを使用する
  • チェンジディテクターの設定を調整する方法

この記事を読む前に、Visionの機能と要件を理解し、カメラをセットアップする方法について説明するために、Visionを始めるをご覧ください。

チェンジディテクターの概要

チェンジディテクタを使用すると、カメラのストリーム上のあらかじめ定義された領域を監視して、リアルタイムで発生する変化を検出できます。これらの変更またはイベントを使用して、アプリ内でロジックを構築できます。

チェンジディテクターの設定

カメラ設定のセットアップが完了すると、このようにステーションのビデオ・ストリームが表示されます:

image.png

変更検出器をセットアップするには、変更を監視したい地域を選択します。これを行うには、マウスをクリックしてドラッグし、領域を定義します:

image.png

次に、その地域に名前を付けます。

次に、この領域に手を入れるなどして、変更を加えます。

image.png

上図のように、変化検出リージョンの色が変わり、検出器が変化として記録したことを示します。

この領域は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]の順に選択します:

クリックしてドラッグし、ウィジェットのサイズと配置を調整します。

右側のパネルでカメラ構成を選択します。

::: (情報) (注意)オーバーレイを表示オプションは、ビデオの上にリージョンを表示しないようにすることができます。今のところ、これを有効にしておいてください:

いよいよアプリを実行します。カメラ構成を割り当てたステーションで実行します。

プレーヤーでVision Camera Widgetのあるステップを開くと、カメラのビデオストリームが表示されます:

リージョン内で手を動かすと、リージョンが緑色に変わり、リージョン名のメッセージが表示されます:

検出リージョン設定の変更

あなたのユースケースに適した結果を得るために、リージョンの設定を調整する必要があるでしょう。リージョンの設定を編集するには、カメラ設定をクリックし、調整したいリージョンを選択します。

以下の設定が可能です:

image.png

変更開始しきい値

これは、Changes Beganイベントが発生するために変更する必要のあるリージョン領域のパーセンテージです。例えば、リージョンが小さく、手がリージョンを完全にカバーすることが予想される場合、この値を70%など高い値に設定することができます。

上限しきい値と下限しきい値

監視する深度範囲を定義します。

Surfaceは深度カメラがRegionの内部をキャプチャしたものです。上のサンプル画像では黄色のビンです。上限しきい値と下限しきい値はどちらもこのサーフェスに対して相対的に設定されます。

上限しきい値よりもカメラに近いオブジェクトは、変化検出器によって無視されます。(例: オペレータの腕がこの領域の上を移動している場合、イベントはトリガされません)。

同様に、カメラから下限しきい値より遠い物体、そしてより重要なノイズも無視されます。技術的な制限により、デプスカメラが報告するデータにはノイズがあります。リージョンがカメラから遠ければ遠いほど、ノイズは高くなります。リージョンにちらつきが見られる場合は、下限しきい値を大きくしてください。

適応速度

適応速度は、リージョンがノイズや、Changes Beganイベントをトリガするには小さすぎる変化に適応する速さです。No adaptationの設定では、ノイズと小さな変化は時間とともに蓄積されることに注意。

変化終了時にリセット

有効にすると、Changes Endedイベントが発生した後でも、リージョンの内容が変更されたままである場合に、その後の変更の検出をより強固にする。

リセット時間

リージョンがリセットされるまでの時間。リセットの進行中は、Changes Beganイベントは発生しない。

さらに読む


お探しのものは見つかりましたか?

community.tulip.coに質問を投稿したり、他の人が同じような質問に直面していないか確認することもできます!


この記事は役に立ちましたか?