最新AI論文をキャッチアップ

ついに、ViTがビデオ認識の分野にやってきた!

ついに、ViTがビデオ認識の分野にやってきた!

Transformer

3つの要点
✔️ 初めてTransformerのみを用いたVideo Classificationモデルを提案し、ViTをVideoバージョンを目指した。
✔️ 計算効率を上げるために、4種類のアーキテクチャを提案して詳細なアブレーション実験を行った。
✔️ 5つのベンチマークにおいて、SOTAを達成

ViViT: A Video Vision Transformer
written by Anurag ArnabMostafa DehghaniGeorg HeigoldChen SunMario LučićCordelia Schmid
(Submitted on 29 Mar 2021 (v1), last revised 1 Nov 2021 (this version, v2))
Comments:
ICCV 2021
Subjects: Computer Vision and Pattern Recognition (cs.CV)

code:  

本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。  

はじめに

Transformerは自然言語処理にて次々のタスクでSOTAパフォーマンスを達してきました。さらにViT(Vision Transformer)[次のステージへ、新たな画像認識モデルVision Transformer]をきっかけに画像処理の分野にも進出して、今や機械学習分野のスーパースターとなっています。一方で、系列入力のペア間の関係性を計算するアルゴリズムであるため、計算量が大きいことが問題とされています。この計算量問題を解決する手法が大量に研究されており、今後のTransformerがさらなる分野における活躍に期待しています。

本記事では、TransformerをVideo Classificationに拡張したViViT(A Video Vision Transformer)について紹介します。Transformerを3D CNNと組み合わせたVideo Classificationの先行研究とは異なり、ViViTはTransformerのみを用いるモデルです。また前述したTransformerの計算量問題がVideo Classificationではさらに顕在化するため、本論文では計算量の問題に対して工夫を取り入れた4種類のモデルを提案しました。また豊富なアブレーション実験を行い、提案手法ViViTを分析した後、5つの有名なベンチマークにおいてViViTがSOTAを達成したことを示しました。

Video Vision Transformers

この章ではVision Transformers(ViT)の全体像を説明してからVideoから情報の抽出方法について紹介します。最後にVideo Classificationに向けた提案手法について解説します。またFigure 1.は提案するアーキテクチャの概要図を示しました。

Overview of Vision Transformers(ViT)

ViTはTransformerアーキテクチャの変更を最小限に抑えて2D画像に適応した手法です。 2D画像をNつのパッチx_iに分割して変換器Eを経て1次元のz_iを得ます。分類トークン(z_cls)、位置情報を表現したP、およびN個のz_iからTransformer Encoderの入力系列z(式1)を用意できます。

系列zをL層のTransformerに入力します。また各層が式(2)と(3)のようにMulti-Head Self-Attention(MSA)、Layer Normalisation(LN)とMLPから構成されます。

最終層の分類トークン(z_cls)を用いてタスクに合わせて分類を行う仕組みとなっています。

Embedding video clips

ここでは2次元の画像より一次元多いVideo から、Transformer Encoderの入力トークンzを構成するパッチxの取得する方法について2種類を紹介します。

・Uniform frame sampling

Figure 2.に示した最もシンプルなUniform frame samplingです。各時刻においてViTのようにパッチxを分割し、時刻順にxを並べたものです.

・Tubelet embedding

Figure 3.は時空間軸にタブレットを抽出したものを示しています。

Transformer Models for Video

ここでは本研究で提案する4種類のアーキテクチャを順番に説明する。

まずはもっとシンプルに時空間情報を捉えたトークン系列をTransformerに入力するものを説明します。

次に3種類の工夫によって時系列情報及び’空間情報をそれぞれ捉える構造を導入します。具体的には、Encoder、Self-AttentionおよびAttentionの内積計算の3つの部分で改良を行います。

・Model 1:Spatio-temporal attention

Model 1は時空間情報を含むトークンzをビデオから抽出したのち、Transformer Encoderに入力します。MSAレイヤーにおいてペアワイズなインタラクションを行うことにより情報を交換することになります。しかしビデオにおいては計算量が大きいことが問題となっています。

・Model 2:Factorised encoder

Figure 4. に示すModel 2は因数分解されたエンコーダ(Factorised Encoder)、すなわち二つそれぞれ異なる役割のEncoderを持ちます。

一つ目は、空間情報を捉えるエンコーダ(Spatial Transformer Encoder)です。同時刻のフレームからトークンを抽出して相互作用を行います。ある時刻におけるフレームの表現はL層のTransformerを通った後の分類トークン(z_cls)です。分類トークン(z_cls)は事前に用意されているか全体の平均となっているかです。各時刻の表現(z_cls)を連結したものを、二つ目の時系列エンコーダ(Temporal Transformer Encoder)に入力します。時系列エンコーダの出力する分類トークン(z_cls)は最後の分類器に用います。

実際にModel 2はModel 1より多くのTransformer Layersを用いるが、 空間情報と時間情報を分離させて計算するため、より少ない計算量(FLOPs)で済みます。

・Model 3:Factorised self-attention

Model 3. は Model 2がEncoderレベルで行った時空間情報の分離をSelf-Attention機構に対して行います。具体的には、Self-Attentionレイヤーにおいて時間および空間情報を捉えた全てのトークンで行うModel 1に対して、Model 3は空間情報を捉えたトークンのみでAttention計算を行った後空間情報のみに対してAttention計算を行います。式(4)(5)(6)のように定式化することができます。

Model 3.のアーキテクチャはFigure 5.に示しており、Model 2.と同等程度な計算量になります。

・Model 4:Factorised dot-product attention

最後のModel 4はAttentionの内積計算において時空間の計算を分離することで、Model 2およびModel 3と同等な計算量を達成しています。

Figure 6. に示したように内積を計算する部分において半分のヘッドは空間情報のトークンで行い、残りの半部は時間情報を捉えたトークンで行います。

実験

ここでは、アブレーション実験および5つのデータセットにおける評価について説明を行います。ただし、実験および実装の詳細に関しては原論文を参照してください。 

アブレーション実験

まずは、2.2で紹介したビデオからパッチxをサンプリング方法について調べます。Table 1.の結果から、Tubelet embeddingのCentral frame形式が最も精度が良いことがわかり、以降の実験ではCentral frame形式を用います。

ここでいうCentral frameは、Tubelet embedding時に用いた3D filterの初期化方法の一種です。Filter inflation(式8.)の3Dの全時刻において2D filterの値を用いるに対して、Central frame(式9.)は中央の位置に2D filterの初期値を適応した形になります。

次にTable 2.には4種類のモデルをK400およびEKデータセットにおける結果を示します。

結果からK400においてModel 1.が最も精度が良いが、EKにおいてはModel 2.の方が優っています。これはModel 1がより小さいデータセットEKに対してオーバーフィットしていることを表します。

またModel 2に対して時間情報を捉えるTransformer Layerを無くし、フレームレベルの表現を直接分類に用いるBaselineを追加しました。これらの結果によって、(特にEK)時間情報が重要な役割を示しました。

さらに、ViViTにはCNNアーキテクチャでよく用いられる正則化手法やデータオーギュメンテーション手法を適応しており、それらを徐々に加えていた結果をTable 4 に示しています。

最後にTubelet embeddingの際に用いるタブレットサイズは小さいほど精度が高いことがFigure 8.からわかります。

SOTAとの比較

以上のアブレーション実験より、Model 2. Factorised encoder(FE)を用いて比較実験を行いました。5つのデータセットにおいてSOTAを達成したことがTable 6.から分かります。

Table 6.(a)と(b)はKinetics 400&600の結果を示します。ViViTはCNNベースの既存手法より少ない圧倒的に少ないフレームviewsで良い精度を達したことが分かります。また学習済みモデルViTの学習データがJFTであれば精度がさらに向上することが分かります。

Table 6.(c)よりMoments in TimeデータセットにおいてViViTがSOTAを達成したことが分かります。Moments in Timeデータセットがその他のデータセットより精度が低いのは、ノイズが多く含んでいることだと考えられます。

Table 6.(d)に示した通りEpic Kitchens 100データセットにおいて既存手法を大きく超えた結果となります。特にVerbやNounといった異なる種類の予測に対して2つの予測Headを用意するだけで、それぞれ専用の損失関数を利用せずに済みます。

最後にTable 6.(e)にはSomething-Something v2の結果を示しています。ここでは同様に純粋なTransformerベースの手法TimeSformer-HRを大きく超えています。TimeSformer-HRでは時空間情報を分解したエンコーダおよびTable 4.に示した制限を考慮していないため、提案手法の有効性がわかる結果となります。

まとめ

本記事ではVideo ClassificationにおいてTransformer構造のみを用いた手法ViViTを紹介しました。ViTを利用してVideoにおける時間情報を扱うためにいくつか工夫を行い、4種類のモデルを提案しました。また詳細なアブレーション実験を通じて精度および計算量の視点からバランスの取れたモデルFactorised Encoderを選んで、先行研究と比較実験を行いました。

5つのデータセットにおいていずれSOTAを達成したことで、純粋なTransformer構造でもVideoの時空間情報を効率的に扱うことができることを示しました。本研究により動画を扱った研究も画像処理と同様な注目を集めることに期待しています。

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする