For the complete documentation index, see llms.txt. This page is also available as Markdown.

フレーム遅延

同じ動画ストリームの前のフレーム(N-k、過去)から値を参照します。

あるフレームで生成された値を参照します 以前の 同じビデオストリームのフレーム。ワークフローの任意の出力(検出結果、数値、文字列、画像、...)をこのブロックに接続し、負の オフセットを設定すると、このブロックはその値を当時のまま返します |オフセット| フレーム前です。

過去(非正)のオフセットのみがサポートされています。真の未来先読みを行うには、ワークフロー全体の出力を遅延させる必要がありますが、同期型ランタイム(WebRTC/webexec、単一画像HTTP)ではそれは不可能なため、ここでは意図的に提供していません。

このブロックの仕組み

  1. 読み取ります video_metadata 接続された image から取得します video_identifier (ストリームごとの状態を分離して保持するために使用)と単調な フレーム番号 (N).

  2. 入力された データ 値を、フレーム番号をキーとする動画ごとのリングバッファに保存します。

  3. 解決します target_frame = N + offsetoffset <= 0data[target_frame] バッファにあれば返し、そうでなければ default_value.

  4. 報告します 利用可能かどうか (対象フレームがバッファされていたかどうか)と 参照フレーム番号 (常に現在のフレーム N).

一般的な使用例

  • 現在のフレームを過去のフレーム(-1, -5)と比較して、変化/傾向を検出します。

  • 遅延した遅い信号を、それが属するフレームに合わせます。

  • Nフレーム前の値を記憶します(例:10フレーム前の支配色)。

要件と制限

  • オフセット<= 0。正のオフセットは拒否されます。

  • |オフセット| 256を超えてはなりません。バッファされた各フレームはメモリに保持されるため、大きなオフセットで画像ストリームを遅延させるのは高コストです(1080pで1フレームあたり約6 MB、4Kで約25 MB)。可能であれば、フル画像ではなく小さな派生値を遅延させることを推奨します。

  • 過去方向のオフセットはすべての実行コンテキストで機能し、出力遅延は発生しません。

  • 状態はプロセスメモリ内に video_identifierをキーとして保持されます。ステートレス/マルチレプリカのリモートHTTPランタイムでは性能が低下します。

  • 同時に追跡されるストリームは最大16本で、それを超えると最も最近見られた時刻が古いストリームのバッファが破棄されます。

  • 〜を持つストリームは フレーム番号 再起動すると(例:再接続時)、そのバッファはクリアされます。

  • 状態はワークフローの存続期間中保持され、再起動時にリセットされます。

  • 値は利用できず(返り値は default_value)要求された |オフセット| 深さに達するまでです。

  • 次の場合、 オフセット がランタイムセレクタに接続されている場合、バッファサイズはこれまでストリーム上で見られた最大の |オフセット| ものに合わせられるため、浅いオフセットと深いオフセットを交互に使っても、深い履歴は利用可能なまま維持されます。ストリームの途中でオフセットを増やすと、さらに深いフレームが利用可能になるのは、十分な新しいフレームがバッファされてからです。

型識別子

ステップで次の識別子を使用してください "type" フィールド: roboflow_core/frame_delay@v1 ワークフローにこのブロックをステップとして追加するには。

プロパティ

名前

説明

参照

name

str

このステップの一意の識別子を入力してください。

オフセット

整数

過去方向の相対フレームオフセット。0以下である必要があります。例:-1は1つ前のフレーム、-10は10フレーム前、0は現在のフレームです。バッファされた各フレームはメモリに保持されるため、-256までに制限されています。

default_value

Optional[bool, float, int, str]

要求されたフレームがバッファで(まだ)利用できない場合に返される値。

この 参照 列は、で利用可能な動的値を使ってプロパティをパラメータ化できる可能性を示します ワークフロー 実行時。参照 バインディング 詳細は。

ランタイム互換性

soft - ランタイム hosted_serverless, dedicated_deployment;実行 リモート; 入力 動画 このブロックは、プロセスメモリ内に動画ごとの状態を保持します(video_metadata.video_identifier をキーとする)。ステートレスまたは複数レプリカのHTTPランタイムでリモートステップ実行を行うと、連続するリクエストが別々のワーカープロセスによって処理される可能性があるため、呼び出し間で状態がリセットされ、追跡/カウント/集計には意味のない出力になります。安定したフレーム間結果を得るには、永続的な WebRTC セッションでローカルステップ実行を使用してください。

soft - 入力 image このブロックは、動画または繰り返しフレームのワークフローからの時間的コンテキストに依存します。静止画像/写真では、追跡、比較、集計、可視化に使える意味のある履歴がないため、このブロックの利点はほとんど、またはまったくありません。

入力と出力のバインディング

利用可能な接続は、そのバインディング種別によって異なります。どのバインディング種別が フレーム遅延 のバージョン v1 あるか確認してください。

入力と出力のバインディング
  • 入力

    • image (image):バッファのインデックスに使用される動画メタデータ(フレーム番号とストリーム識別子)を提供する画像/動画フレーム。

    • データ (Union[list_of_values, image, instance_segmentation_prediction, *, keypoint_detection_prediction, object_detection_prediction]):遅延させる値。検出結果、数値、文字列、画像、またはその他のワークフロー出力にできます。

    • オフセット (整数過去方向の相対フレームオフセット。0以下である必要があります。例:-1は1つ前のフレーム、-10は10フレーム前、0は現在のフレームです。バッファされた各フレームはメモリに保持されるため、-256までに制限されています。

  • 出力

    • 出力 (*):任意の要素に相当します。

    • 利用可能かどうか (boolean) : ブールフラグ。

    • 参照フレーム番号 (整数):整数値。

JSON 定義の例

最終更新

役に立ちましたか?