[ペーパー ノート] ビデオ インスタンス セグメンテーション CVPR2021 口頭—VisTR: トランスフォーマーを使用したエンド ツー エンドのビデオ インスタンス セグメンテーション

ビデオ インスタンスのセグメンテーション ビデオ インスタンスのセグメンテーションは、vos に基づいて、各インスタンスにラベルを付けます。

インスタンス セグメンテーションは、ターゲット検出 + セマンティック セグメンテーションです. ターゲットは画像内で検出され、ターゲットの各ピクセルにカテゴリ ラベルが割り当てられます。

データセット: Youtube-VIS

前身: Video instance segmentation

画像-20220514164204594

VisTR:トランスフォーマーを使用したエンド ツー エンドのビデオ インスタンス セグメンテーション

解決した問題

VIS は、画像の単一フレーム内のオブジェクトを検出してセグメント化するだけでなく、複数のフレーム内の各オブジェクトの対応関係を見つけます。つまり、それらを関連付けて追跡します。

  • ビデオ自体はシーケンス レベルのデータであり、シーケンス予測タスクとしてモデル化されます. 複数のフレームの入力が与えられた場合、複数のフレームのセグメンテーション マスク シーケンスの出力には、複数のフレームを並列に処理できるモデルが必要です。
  • セグメンテーションとターゲット追跡の 2 つのタスクを統合します.セグメンテーションはピクセル特徴の類似性学習であり、ターゲット追跡はインスタンス特徴の類似性学習です.

動画インスタンス セグメンテーションへのトランスフォーマーの適用

  • シーケンスからシーケンスへのそれ自体
  • Transformer は長いシーケンスのモデリングに優れており、長距離の依存関係を確立し、複数のフレームにわたる時間情報を学習するために使用できます
  • 自己注意は、ペア間の類似性に基づいて特徴を学習および更新でき、フレーム間の相関関係をよりよく学習できます

エンド ツー エンドで、 DETRを参照して、ビデオ全体の時間的および空間的特性を考慮します。

導入

タスク: フレームごとにインスタンスのセグメンテーションを実行し、連続するフレームでインスタンスのデータ関連付けを同時に確立する - トラッキングの追跡

概要: VIS タスクを並列として処理します。順序デコード/予測の問題。複数の画像フレームで構成されるビデオ クリップを入力として指定すると、VisTR はビデオ内の各インスタンスの一連のマスクを直接出力します。各インスタンスの出力シーケンスは、このペーパーではインスタンス シーケンスと呼ばれます。

下の画像では、フレームは形状で区別され、インスタンスは色で区別され、3 つのフレームと 4 つのインスタンスで区別されます。

画像-20220514165143772

  • 最初の段階では、ビデオ フレームのシーケンスが与えられると、標準の CNN モジュールが 1 つの画像フレームの特徴を抽出し、複数の画像特徴をフレーム順に連結して特徴シーケンスを形成します。

    注: 特徴を抽出する段階でのネットワークの選択は、画像の種類に応じて変更できます。

  • 第 2 段階では、トランスフォーマーは一連のセグメント レベルの特徴を入力として受け取り、一連のインスタンス予測を順番に出力します。一連の予測は入力フレームの順序に従いますが、各フレームの予測も同じインスタンスの順序に従います。

課題: シーケンス予測問題としてのモデリング

初期入力では時系列次元で複数フレームの入出力が順序付けられているが、単一フレームの場合、インスタンスのシーケンスは初期状態では順序付けられておらず、インスタンスの追跡関連付けが実現できないため、各フレーム画像が出力するインスタンスの順序を一致させることが必須であり、対応する位置の出力が見つかれば、同じインスタンスの関連付けが自然に実現できます。

  • 出力の順序を維持する方法

    インスタンス シーケンス マッチング戦略: 同じ強度位置でのフィーチャのシーケンス ディメンジョニング

    出力シーケンスとグラウンド トゥルース シーケンスの間で 2 部グラフ マッチングを実行し、シーケンス全体を監視します。

  • 変圧器ネットワークから各インスタンスのマスク シーケンスを取得する方法

    インスタンス シーケンス セグメンテーション モジュール: 自己注意を使用して複数のフレームで各インスタンスのマスク機能を取得し、3D 畳み込みを使用して各インスタンスのマスク シーケンスをセグメント化します。

VisTRの全体構成

マルチフレーム特徴表現を抽出するための CNN バックボーン (ここでは、さまざまなシーンの要件に応じて、さまざまな特徴抽出ネットワークを使用できます。)

ピクセル レベルとインスタンス レベルの特徴の類似性をモデル化するためのエンコーダー デコーダー トランスフォーマー

シーケンスマッチングモジュールの例

インスタンス シーケンス セグメンテーション モジュール
全体構造

背骨

初期入力: T フレーム * チャネル数 3 * H' * W'

出力特徴行列 (各フレームを連結): T * C * H * W

変圧器エンコーダ

点と点の間の類似性を学習し、出力はピクセル特徴の密なシーケンスです

まず、バックボーンによって抽出された特徴が 1*1 畳み込みによって削減されます: T * C * H * W => T * d * H * W

平坦化: 変換器の入力は 2 次元である必要があるため、空間 (H, W) と時間 (T) を平坦化します (T * d * H * W => d * (T * H * W))。

平坦化の理解: d はチャネルに似ており、T * H * W は、このシーケンスのすべての T フレームのすべてのピクセルです。

時間と空間での位置エンコーディング

時間的および空間的な位置エンコーディング。

最終位置コードの次元はd

Transformer の結果は入力シーケンスとは無関係であり、インスタンス セグメンテーション タスクには正確な位置情報が必要です。そのため、特徴は、3 次元 (時間、空間 - H、W) の位置を含む固定位置エンコード情報で補足されます。セグメント情報。バックボーンによって抽出された特徴情報とともにエンコーダに送信されます。

元のトランスでは位置情報が一次元なのでiiiは 1 次元から d 次元までなので、2k 2k0 から d まで2 k 、 wk w_kwk1から徐々に0に限りなく近づく
写真の説明を追加してください
写真の説明を追加してください

次に、最後の t 位置のベクトルも d 次元です:
pt = [ sin ( w 1 . t ) cos ( w 1 . t ) sin ( w 2 . t ) cos ( w 2 . t ) sin ( wd / 2 . t ) cos ( wd / 2 . t ) ] d p_t = \left[ \begin{matrix} sin(w_1 .t)\\ cos(w_1 .t)\\ sin(w_2 .t)\\ cos(w_2 .t) \\ \\ \\ sin(w_{d/2}.t)\\ cos(w_{d/2}.t)\\ \end{行列} \right] _dpt=s i n ( w1. t )c o s ( w1. t )s i n ( w2. t )c o s ( w2. t )s i n ( wd / 2. t )c o s ( wd / 2. t )d
この記事で考慮する必要があるのは、H、W、T の 3 次元の位置です。つまり、ピクセル ポイントの場合、その座標には 3 つの値があるため、3 次元の場合は d / 3 d/ を個別に生成します。3d / 3次元の位置ベクトル

各次元の座標について、正弦関数と余弦関数を個別に使用すると、d/3 d/3が得られます。d / 3次元

ポスポスp o sは座標を表します (h , w , th, w, th w t ),iii は次元を表し、hhh,则 i i 私は1 からd/3 d/3d / 3次元、同時にwk w_kwk値は 0 から 1 の間なので、ここではwk w_kwk元のトランスフォーマーと同じではありません。

画像-20220515153825709

画像-20220518133305019

H 次元の最終的な位置ベクトルは次のように表されます
/ 6 . t ) cos ( wd / 6 . t ) ] d / 3 PE(pos)_H = \left[ \begin{matrix} sin(w_1 .t)\\ cos(w_1 .t)\\ sin(w_2 .t) \\ cos(w_2 .t)\\ \\ \\ sin(w_{d/6}.t)\\ cos(w_{d/6}.t)\\ \\end{matrix} \右] _{d/3}PE ポス _ _ _H=s i n ( w1. t )c o s ( w1. t )s i n ( w2. t )c o s ( w2. t )s i n ( w/ 6. t )c o s ( w/ 6. t )/ 3

次に、バックボーンによって抽出された特徴とともに、位置コード (d * H * W * T) をエンコーダーに入力します。

トランスデコーダー

エンコーダーによって出力された高密度ピクセル特徴シーケンスを疎インスタンス特徴シーケンスにデコードします

説明: DETR に触発され、各フレームに n 個のインスタンスがあり、各フレームにインスタンスの特性を抽出するために使用される固定数の入力埋め込みがあり、インスタンス クエリという名前が付けられている場合、T フレームのインスタンス クエリには N = n* があります。 t。学習可能で、ピクセルの特徴と同じ次元を持つ

インスタンス クエリ: 高密度の入力フィーチャ シーケンスでアテンション操作を実行し、各インスタンスを表すことができるフィーチャを選択するために使用されます

入力: E + インスタンス クエリ

出力: 各インスタンスの予測シーケンス O。後続のプロセスは、単一インスタンスのすべてのフレームの予測シーケンスを全体と見なし、元のビデオ フレーム シーケンスの順序で出力します。これは、n * T インスタンス ベクトルです。

インスタンス シーケンス マッチング

デコーダーの出力は、フレームの順序で n * T の予測シーケンスですが、各フレームの n インスタンスの順序は不明です

このモジュールの機能は、異なるフレームで同じインスタンスを予測するために相対位置を変更しないことです。

各インスタンスの予測されたシーケンスを、ラベル付けされたデータ内の各インスタンスの GT シーケンスとバイナリ マッチングし、ハンガリアン マッチング法を使用して、予測ごとに最も近いラベル付けされたデータを見つけます。

補足 FFN: 実際、それは MLP 多層パーセプトロンであり、FC+GeLU+FC です。

Transformer では、MSA の後に 2 つの FC レイヤーを含む FFN (フィードフォワード ネットワーク) が続きます。最初の FC は特徴を次元 D から 4D に変換し、2 番目の FC は特徴を次元 4D から D に復元し、中央の非線形活性化関数はすべて GeLU (Gaussian Error Linear Unit、Gaussian Error Linear Unit) を使用します - これは基本的に MLP です (多層パーセプトロンは線形モデルに似ていますが、違いは MLP が FC に対して層の数を増やし、非導入を導入することです) -FC + GeLU + FC などの線形活性化関数)

主に、異なる画像で同じインスタンスの予測の相対的な位置を維持するため

インスタンス シーケンスのセグメンテーション

タスク: 対応するフレーム内の各インスタンスのマスクを計算する

O はデコーダーの出力、E はエンコーダーの出力、B は CNN によって抽出された特徴です

インスタンス セグメンテーションの本質は、ピクセルの類似度の学習です.各フレームについて、まず予測画像 O と符号化特徴 E を自己注意に送信し、類似度を計算し、その結果をインスタンスのフレームの初期マスクとして使用します。フレームのインスタンスの最終的なマスクの特徴を取得するために、最初のバックボーンの特徴とエンコードの特徴 E が融合されます。タイミング情報をより有効に活用するために、このインスタンスのマルチフレーム マスク連結はマスク シーケンスを生成し、それがセグメンテーションのために 3D 畳み込みモジュールに送信されます。

この方法は、複数のフレームの同じインスタンスの特性を使用してタイミングを利用することにより、単一のフレームのセグメンテーションを強化します。

理由: オブジェクトがモーション ブラー、カバーなどのチャレンジ状態にある場合、他のフレームから情報を学習することでセグメンテーションを支援できます。つまり、複数のフレームからの同じインスタンスの特徴は、ネットワークの改善に役立ちます。オブジェクトを識別します。

フレーム t のインスタンス i のマスク機能 g(i, t) を 1 * a * H'/4 * W'/4 (a はチャネル番号) と仮定すると、T フレームの機能を連結してすべてのインスタンスを取得します。フレーム 1*a*T*H'/4*W'/4 のマスク

ここに 4 があるのは、例に 4 つのインスタンスがあるためです。

画像-20220515160846905

アブレーション実験

ビデオ シーケンスの長さ

18 から 36 で効果が向上し、より多くの時間情報が結果を改善するのに役立ちます
ここに画像の説明を挿入

ビデオ シーケンスの順序

画像-20220515162424531

ロケーションコード

ビデオ シーケンス内の相対位置

位置エンコーディングなしの最初の行の効果は、シーケンス監視の順序付けられた形式とトランスフォーマーの入力および出力順序との間の対応が、相対位置情報の一部を意味することです。

画像-20220515162527332

学習可能なインスタンス クエリの埋め込み

デフォルトの予測レベル: 1 つの埋め込みが 1 つの予測を担当し、合計 n * T

ビデオ レベル: 1 つの埋め込みのみ、再利用 n * T 回

フレーム レベル: フレームごとに 1 つの埋め込み、つまり T 個の埋め込みを使用し、埋め込みごとに n 回繰り返します。

インスタンス レベル: 各インスタンスに対して、1 つの埋め込み、つまり n 個の埋め込みを使用し、T 回繰り返します。

インスタンスのクエリは共有でき、速度を向上させるために使用できます

画像-20220515162914171

実験結果

データセット: YouTube-VIS

おかげで高速: 並列デコード

視覚化の結果: (a) 重複するインスタンス、(b) インスタンス間の相対位置の変化、© 同じカテゴリのインスタンスが互いに接近している場合の混乱、(d) さまざまなポーズのインスタンス。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/xqh_Jolene/article/details/124784226