e4exp / paper_manager_abstract

0 stars 0 forks source link

Vision Transformers for Dense Prediction #650

Open e4exp opened 2 years ago

e4exp commented 2 years ago

密な予測タスクのバックボーンとして、畳み込みネットワークの代わりに視覚変換器を活用するアーキテクチャである「密な視覚変換器」を紹介します。 視覚変換器の様々な段階で得られたトークンを様々な解像度の画像のような表現に組み立て、畳み込みデコーダを用いてフル解像度の予測に段階的に結合します。 変換器のバックボーンは、一定の比較的高い解像度で表現を処理し、すべての段階でグローバルな受容野を持っています。 これらの特性により、この高密度ビジョン変換器は、完全な畳み込みネットワークと比較して、よりきめ細かく、よりグローバルに一貫した予測を行うことができます。 我々の実験によると、このアーキテクチャは、特に大量の学習データが利用可能な場合、密な予測タスクにおいて大幅な改善をもたらす。

単眼の深度推定では,最先端の完全畳み込みネットワークと比較して,相対的な性能が最大で28%向上したことが確認された. また、セマンティックセグメンテーションに適用したところ、密度の高いビジョン変換は、ADE20Kにおいて49.02%のmIoUを達成し、新たな技術水準を確立しました。 さらに、NYUv2、KITTI、Pascal Contextなどの小規模なデータセットにおいても、アーキテクチャの微調整が可能であることを示しており、これらのデータセットにおいても新たな技術水準を確立しています。 我々のモデルはこのhttpsのURLから入手可能です。

https://github.com/intel-isl/DPT

e4exp commented 2 years ago

1. はじめに

既存の高密度予測アーキテクチャのほとんどは,畳み込みネットワークをベースにしています [6, 31, 34, 42, 49, 50, 53].密な予測アーキテクチャの設計では,ネットワークをエンコーダとデコーダに論理的に分離するパターンが一般的です. エンコーダは,ImageNetなどの大規模なコーパスで事前に学習された画像分類ネットワーク(バックボーンとも呼ばれる)をベースにしていることが多い[9]. デコーダは,エンコーダからの特徴量を集約し,最終的な密な予測値に変換する. 密な予測に関するアーキテクチャの研究では,デコーダとその集約戦略に焦点が当てられることが多い[6, 7, 50, 53]. しかし,エンコーダで失われた情報をデコーダで回復することは不可能であるため,バックボーンアーキテクチャの選択がモデル全体の性能に大きな影響を与えることは広く知られています. 畳み込みバックボーンは、入力画像を段階的にダウンサンプリングすることで、複数のスケールの特徴を抽出します。 ダウンサンプリングを行うことで、受容野を段階的に拡大し、低レベルの特徴を抽象的な高レベルの特徴にグループ化することができ、同時にネットワークのメモリと計算量を扱いやすく保つことができます。 しかし、ダウンサンプリングには、高密度な予測タスクにおいて特に顕著な欠点があります。 すなわち、モデルの深い段階で特徴の解像度と粒度が失われ、デコーダでの回復が困難になります。 特徴の解像度と粒度は、画像分類などの一部のタスクでは問題にならないかもしれませんが、入力画像の解像度またはそれに近い解像度で特徴を解決できるアーキテクチャが理想的な高密度予測では、非常に重要になります。

特徴の粒度が失われるのを緩和するために、さまざまな手法が提案されている。 例えば,より高い入力解像度での学習(計算量が許せば),ダウンサンプリングせずに受容野を急速に拡大する拡張畳み込み[49],エンコーダの複数のステージからデコーダへの適切な位置でのスキップ接続[31],さらに最近では,ネットワーク全体で複数の解像度の表現を並列に接続する方法[42]などが挙げられる. これらの技術は予測品質を大幅に向上させることができますが,ネットワークの基本的な構成要素である畳み込みがボトルネックになっています. 畳み込みは,非線形性とともに,画像解析ネットワークの基本的な計算単位となっています. 畳み込み演算は、定義上、限られた受容野を持つ線形演算子です。 畳み込みの表現力は限られているため、十分に広い文脈と高い表現力を得るためには、非常に深いアーキテクチャに順次積み重ねていく必要があります。 しかし、そのためには、大量のメモリを必要とする多くの中間表現を生成する必要があります。 既存のコンピュータアーキテクチャで実現可能なレベルのメモリ消費量を維持するためには、中間表現をダウンサンプリングする必要があります。

本研究では,DPT(dense prediction transformer)を紹介します. DPTは、エンコーダの基本的な計算構成要素として変換器を利用したエンコーダ・デコーダの設計に基づく高密度予測アーキテクチャです。 具体的には,最近提案されたビジョン・トランスフォーマー(ViT)[11]をバックボーン・アーキテクチャとして使用している. ViTが提供する単語の袋表現を,さまざまな解像度の画像のような特徴表現に再構成し,畳み込みデコーダを用いて,特徴表現を段階的に組み合わせて最終的な密な予測を行う. 完全な畳み込みネットワークとは異なり、ビジョン変換器のバックボーンでは、最初の画像埋め込みが計算された後に明示的なダウンサンプリング処理を行わず、すべての処理段階で一定の次元の表現を維持します。 さらに、すべての段階でグローバルな受容野を持っています。 これらの特性は、緻密な予測タスクには特に有利であり、きめ細かく大域的に一貫した予測が可能になることを示します。

本研究では,単眼深度推定とセマンティックセグメンテーションの実験を行った. 大規模な学習データが利用可能な汎用の単眼深度推定[30]のタスクに対して,DPTは,このタスクでトップの性能を持つ完全畳み込みネットワークと比較して,28%以上の性能向上を実現した. また,このアーキテクチャは,NYUv2[35]やKITTI[15]などの小規模な単眼深度予測データセットに対しても微調整が可能であり,ここでも新たな技術水準を確立しています. DPTの性能の高さは、セマンティクスセグメンテーションの実験でも証明されています。 このタスクでは,難易度の高いADE20K [54]およびPascal Context [26]データセットにおいて,DPTは新たな技術水準を確立した. 定性的には、畳み込みネットワークと比較して、よりきめ細かく、よりグローバルに一貫した予測を行うことで、性能が向上したと考えられます。

e4exp commented 2 years ago

3. アーキテクチャ

このセクションでは、高密度ビジョン変換器を紹介します。 過去に密な予測で成功した全体的なエンコーダ-デコーダ構造を維持している。 ビジョン変換器[11]をバックボーンとして活用し、このエンコーダによって生成される表現をどのようにして高密度予測に効果的に変換できるかを示し、この戦略の成功のための直観を提供します。 図1(左)には、完全なアーキテクチャの概要が示されています。

トランスフォーマー・エンコーダー。

Vision Transformer (ViT) [11]は,画像のBag-of-Words表現 [36]に基づいて動作します. 特徴空間に個別に埋め込まれた画像パッチ、あるいは、画像から抽出された深層特徴が、「単語」の役割を果たします。 この作品の残りの部分では、埋め込まれた「単語」をトークンと呼ぶことにします。 トランスフォーマーは、トークンを相互に関連づけて表現を変換する、多頭式自己注意(MHSA)[39]の連続したブロックを用いて、トークンのセットを変換します。 我々のアプリケーションにとって重要なことは,トランスフォーマはすべての計算においてトークンの数を維持することである.

トークンは画像パッチと一対一に対応しているため、ViTエンコーダはすべての変換ステージにおいて、最初の埋め込みの空間解像度を維持していることになります。 さらに、MHSAは本質的にグローバルな処理であり、すべてのトークンが他のすべてのトークンにアテンダンスし、影響を与えることができます。 その結果、最初のエンベッディングの後のすべての段階で、トランスフォーマはグローバルな受容野を持つことになります。 これは、畳み込みネットワークが、特徴が連続した畳み込み層やダウンサンプリング層を通過するたびに、受容野を徐々に増やしていくのとは全く対照的です。 ViTでは、画像からp 2ピクセルの非重複正方形パッチをすべて処理して、パッチ埋め込みを行います。 パッチはベクトルに変換され,線形投影法を用いて個別に埋め込まれます。

また,よりサンプル数の少ないViTでは,画像にResNet50 [16]を適用して埋め込みを行い,得られた特徴マップのピクセル特徴をトークンとして利用しています. 変換器は集合から集合への関数であるため,個々のトークンの空間的な位置の情報を本質的には保持していない. そこで、画像埋め込みに学習可能な位置埋め込みを組み合わせて、表現にこの情報を追加する。 NLPの研究に倣い、ViTはさらに、入力画像に接地していない特別なトークンを追加し、分類に使用される最終的なグローバル画像表現としての役割を果たします。 この特別なトークンを「リードアウト・トークン」と呼びます。 H × W ピクセルの画像に埋め込み手順を適用した結果,t^0 = {t0^0 , ... ... , t^0{N_p} } のセットが得られます. t^0_n∈R^D トークンのセットであり,ここでN_p = HW/ p^2 , t0 は読み出されたトークンを指し,Dは各トークンの特徴次元である.

入力トークンは,L個の変換層を用いて新しい表現t^lに変換されます. Dosovitskiyら[11]は,この基本的なブループリントのいくつかのバリエーションを定義しています. 本研究では、3つのバリエーションを使用します。 ViT-Baseは、パッチベースの埋め込み手順を用い、12の変換層を備えています。 ViT-Largeは、同じ埋め込み手順を用い、24の変換層とより広い特徴量Dを備えています。 そして、ViT-Hybridは、画像埋め込みの計算にResNet50を用い、その後12の変換層を備えています。 すべての実験において,パッチサイズp=16を使用した. これらのアーキテクチャの詳細については,原著[11]を参照されたい.

ViT-BaseとViT-Largeの埋め込み手順では、フラット化されたパッチをそれぞれD = 768とD = 1024の次元に投影します。 どちらの次元も入力パッチのピクセル数よりも大きいため、タスクに有益な情報であれば、埋め込み手順は情報を保持することを学習できることになる。 入力パッチの特徴は、原理的にはピクセルレベルの精度で解決できる。 同様に、ViT-Hybridアーキテクチャは、入力解像度の1/16倍の解像度で特徴を抽出します。 これは、コンボリューショナルバックボーンで一般的に使用されている最低解像度の特徴の2倍にあたります。

畳み込みデコーダ。

デコーダは,トークンの集合をさまざまな解像度の画像のような特徴表現に組み立てる. これらの特徴表現は段階的に融合され、最終的に緻密な予測が行われます。 畳み込みエンコーダの任意の層の出力トークンから、画像のような表現を復元するために、簡単な3段階の再組み立て操作を提案する。

image

ここで、sは入力画像に対する復元表現の出力サイズ比を表し、Dˆは出力特徴次元を表す。まず、Np + 1個のトークンをNp個のトークンの集合にマッピングし、空間的に連結して画像のような表現にします。

image

この操作は、基本的にリードアウト・トークンを適切に処理する役割を担っています。 読み出しトークンは、密な予測というタスクには明確な目的を持っていませんが、グローバルな情報を取得して配布するには有用である可能性があるため、このマッピングの3つの異なるバリエーションを評価します。

image

読み出したトークンを単に無視するだけです。

image

表記を追加することで、読み出されたトークンの情報を他のすべてのトークンに渡す

image

線形層に続いてGELU非線形性を用いて表現を元の特徴次元Dに投影する前に,読み取った情報を他のすべてのトークンに連結して情報を渡します[17]。 Readブロックの後,結果として得られたNp個のトークンは,画像内の初期パッチの位置に応じて各トークンを配置することで,画像のような表現に再形成することができます. 形式的には,空間的な連結操作を行い,サイズがH/ p × W /pの特徴マップをD channels になる

image

最後に、この表現を空間リサンプリング層に渡し、ピクセルあたりDˆ個の特徴を持つH s × W sのサイズに表現を拡大します。

image

この操作は、まず1×1畳み込みで入力表現をDˆに射影し、次にs≧pの場合は(歪んだ)3×3畳み込み、s<pの場合は歪んだ3×3転置畳み込みで、それぞれ空間的なダウンサンプリング、アップサンプリングを行うことで実現しています。 変換器のバックボーンにかかわらず,4つの異なるステージと4つの異なる解像度で特徴を再構成します。 変圧器の深い層の特徴は低い解像度で組み立て、初期の層の特徴は高い解像度で組み立てます。 ViT-Largeでは層l = {5, 12, 18, 24}のトークンを再構成し、ViT-Baseでは層l = {3, 6, 9, 12}を使用します。 ViT-Hybridでは,埋め込みネットワークの1番目と2番目のResNetブロックの特徴量と,ステージl = {9, 12}を使用します. デフォルトのアーキテクチャでは,読み出し操作として射影を用い,Dˆ=256次元の特徴マップを生成する. これらのアーキテクチャを,それぞれDPT-Base,DPT-Large,DPTHybridと呼ぶことにする.

最後に,RefineNetベースの特徴融合ブロック[23, 45]を用いて,連続したステージで抽出された特徴マップを結合し(図1(右)参照),各融合ステージで表現を2倍にアップサンプルしていく. 最終的な表現サイズは,入力画像の半分の解像度になります. 最終的な予測を行うために、タスク固有の出力ヘッドを取り付けます。 図1は、このシステムの概要を示したものです。

image

さまざまな画像サイズに対応。

DPTは、完全な畳み込みネットワークと同様に、さまざまな画像サイズを扱うことができます。 画像サイズがpで割り切れる限り、埋め込み手順を適用することができ、さまざまな数の画像トークンNpが生成されます。

セット・ツー・セット・アーキテクチャとして、トランスフォーマ・エンコーダは、様々な数のトークンを自明のこととして扱うことができます。 しかし,位置埋め込みでは,入力画像内のパッチの位置を符号化するため,画像サイズに依存することになる. ここでは,[11]で提案されている手法を用いて,位置エンベッディングを適切なサイズに線形補間する. この作業は,すべての画像に対してオンザフライで行うことができます. 埋め込み手順と変換器の段階を経て,再集合モジュールと融合モジュールは,入力画像が畳み込みデコーダのストライド(32ピクセル)に合わせられていれば,様々な数のトークンを自明に扱うことができます.