Transformerが緻密な予測タスクで高精度を達成!
3つの要点
✔️ 緻密な予測タスクのbackboneとしてビジョントランスフォーマーを使用
✔️ 密な予測タスクにおいて、CNN backboneよりも大幅に改善
✔️ いくつかのデータセットNYUv2, KITTI, ADE20K, Pascal ContextでSOTAを達成
Vision Transformers for Dense Prediction
written by René Ranftl, Alexey Bochkovskiy, Vladlen Koltun
(Submitted on 24 Mar 2021)
Comments: Accepted to arXiv.
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:
はじめに
畳み込みニューラルネットワーク(CNN)は、多くのモデルのbackboneとなっています。ほとんどのアーキテクチャは、エンコーダとデコーダの2つのセクションに大別されます。エンコーダは通常、ImageNetのような大規模データセットで事前に学習されたモデルです。CNNエンコーダは、特徴マップを段階的にダウンサンプリングし、異なるスケールの特徴を抽出できるようにする。このダウンサンプリングは、デコーダでの計算のためのメモリコストを削減するが、デコーダでは取り戻すことができない情報の損失を引き起こす。
この論文では、DPT(Dense Prediction Transformer)を紹介します。これは、エンコーダとしてVision Transformer(ViT)を使用するというアイデアに基づいています。緻密な予測は、ViTの1回限りの初期ダウンサンプリングとグローバル受容野から恩恵を受けることが判明しました。この手法を用いて、単眼の深度推定(28%以上の性能向上)とセマンティックセグメンテーションの2つの予測タスクをテストしたところ、新たな技術水準を確立することができました。
提案モデル:DPT
ViTは、オリジナルのトランスフォーマーモデルと非常によく似ています。唯一の違いは、最初の画像処理層にあります。複数のブロックを使用しており、それぞれがmulti-headed self-attention層とフィードフォワード層で構成されています。 画像はいくつかの重ならないパッチに分割され、それらは学習された線形層を使って平坦化され、変換されます。例えば、384×384の画像は、16×16のパッチに分割され、それぞれが24×24=576の寸法に平坦化されます。もう一つの画像処理層では、ResNet-50アーキテクチャを用いて特徴マップを抽出し、これを変換器の特徴として使用します。(詳しくはこちらの記事をご覧ください。)
Transformerは順列不変であるため、位置埋め込みによって入力配列に位置情報を付加する必要があります。さらに、Readout token(上図の赤)と呼ばれる特別なトークンがシーケンスに付加され、その表現が分類に使用されます。入力されたトークンは、L個のtransformer層を用いて変換されます。ViTには、ViT-base、ViT-Large、ViT-Hybridの3種類があります。ViT-baseとVit-Largeはそれぞれ12と24のtransformer層を持ち、平坦化されたパッチをそれぞれ768と1024の次元に変換する。ViT-HybridはResNet-50を利用して画像埋め込みを計算し、入力画像の1/16の解像度で特徴を抽出します。
Convolutional Decoder
このデコーダは,4つの異なる解像度の任意の変換層(ViT-largeでは層{5, 12, 18, 24},ViT-baseでは層{3, 6, 9, 12},ViT-Hybridでは{埋め込みネットワークの1番目と2番目のResNetブロックからのフィーチャ,9, 12})から出力トークンを組み立てます。これらの出力トークンから、簡単な3段階の再構成操作を用いて、画像のような表現を復元します。
ここで、sは入力画像サイズに対する復元表現の出力サイズの比率を表し、D'は出力特徴次元を表します。
真ん中の図にあるように、Np+1個のトークンは、まずNp個のトークンに変換され、画像のような形に連結されます。これには3つの方法があります。読み上げられたトークンを無視するReadignore、読み上げられたトークンを他のすべてのトークンに加えるReadadd、読み上げられたトークンを他のすべてのトークンに連結した後、MLP(線形層+GELU)Readprojを使って元の特徴次元Dに変換する方法です。
トークンは連結され、形状 (H/p)x(W/p)xDから形状 (H/s)x(W/s)xD'にリサンプルされます。1×1畳み込みは、入力表現をD'(256)次元に投影します。s ≧ pの場合は3×3の転置畳み込み、s < pの場合は3×3の畳み込みを行い、それぞれ空間的なアップサンプリング、ダウンサンプリングを行います。
右端の図に示すように、デコーダはRefineNetベースの特徴融合ブロックを使用しています。表現は、最終的な表現のサイズが入力画像サイズの半分になるように、各ステップで徐々にアップサンプルされます。 DPTアーキテクチャは、入力サイズがpで割り切れる限り、様々な入力サイズを扱うことができます。すべての画像について、位置エンベディングを適切なサイズに線形補間することができます。
実験
DPTを、単眼深さ推定とセマンティックセグメンテーションという2つの主要な予測タスクで評価します。単眼深さ推定(MDE)を選択したのは、トランスフォーマがより多くのデータでうまく機能することと、利用可能なMDEデータセットから大量のメタデータを簡単に構築できるためです。
150万枚以上の画像を含むメタデータセット「MIX 6」でDPTモデルを学習します。上の表は、いくつかの未知のMDE例に対するゼロショット転送の結果です。モデルは、MiDaSモデルを含む他のSOTAモデルを凌駕しています。MiDaSは、データセットの大きさだけではなく、MIX 6データセットでも学習を行いましたが、それでもDPTモデルには勝てませんでした。
DPTモデルをより小さなデータセットNYUv2(左)とKITTI(右)でfine-tuningしてみたところ、DPT-Hybridはどちらのデータセットでもかなりの高水準となっています。
上の表は、ADE20Kのセマンティック・セグメンテーション・ベンチマークの結果です。DPTモデルは240エポック学習されました。DPT-Hybridは他のすべてのモデルよりも優れていますが、DPT-Largeはデータセットのサイズが比較的小さかったためか、若干パフォーマンスが低下しています。実験の詳細については,原著論文を参照してください。
まとめ
実験の結果、DPTモデルがdenseタスクに有効であることが明らかになりました。DPTは、いくつかのベンチマークで技術水準を向上させることができ、他のtransformerベースのアーキテクチャと同様に、大規模なデータセットでは性能が向上することが判明しています。今後は、インスタンス・セグメンテーション(COCOベンチマークを使用)のような他のdenseタスクにおけるDPTモデルの性能を評価し、DPTの有効性をより少ないデータのドメインに適用することに取り組む必要もあると思います。
この記事に関するカテゴリー