DETR

Carion 2020 · 論文

一行要約 — 物体検出を、二部マッチング損失で解かれるTransformerエンコーダ・デコーダによる直接的な集合予測問題として捉え、アンカー、NMS、手作業で設計された検出パイプラインを排除する。

問題

Faster R-CNNやYOLOのような古典的検出器は真にエンドツーエンドではない:それらはアンカー生成、非最大値抑制(NMS)、多段階の提案パイプラインといった、検出タスクに関する事前知識を明示的に符号化した手作業で設計された構成要素に依存しており、それぞれチューニングが必要である。これらが存在するのは、ネットワークが後から重複除去しなければならない多数のほぼ重複した候補ボックスを生成するためである。DETRは検出をクリーンな集合予測問題として定式化できるかを問う:1枚の画像を入力し、1つのネットワークが1つの損失で学習された(ボックス, クラス)ペアの集合を出力し、重複は後処理ではなく学習目的そのものによって抑制される。

手法とアーキテクチャ

順に3つの構成要素がある:CNNバックボーン(ResNet-50/101)が特徴マップを抽出し、それはフラット化され固定された位置エンコーディングが付加される;Transformerエンコーダ(ベースモデルでは6層、幅256、8ヘッド)が全空間位置に対して大域的自己注意を適用する;TransformerデコーダNN個の学習された埋め込み——オブジェクトクエリ——を自己注意とエンコーダ・デコーダ間クロス注意を通じて変換し、NN個の物体を全て並列に(自己回帰的ではなく)デコードする;最後に共有のフィードフォワードネットワークが各出力埋め込みを正規化されたボックス座標b[0,1]4b \in [0,1]^4とクラスラベルにマッピングし、特別な「物体なし」クラス\varnothingを含む。NNは固定されており、典型的な物体数よりもはるかに大きい。各デコーダ層の後の補助的なHungarian損失が学習を助ける。

二部マッチング。 学習ではまず、NN個の予測とパディングされた正解集合との間で最低コストの一対一割り当てを見つける:

σ^=argminσSNiNLmatch(yi,y^σ(i)),\hat{\sigma} = \arg\min_{\sigma \in \mathfrak{S}_N} \sum_{i}^{N} \mathcal{L}_{\text{match}}\big(y_i, \hat{y}_{\sigma(i)}\big),

これはHungarianアルゴリズムで計算され、yi=(ci,bi)y_i = (c_i, b_i)に対してマッチングコストは1{ci}p^σ(i)(ci)+1{ci}Lbox(bi,b^σ(i))-\mathbf{1}_{\{c_i \neq \varnothing\}}\, \hat{p}_{\sigma(i)}(c_i) + \mathbf{1}_{\{c_i \neq \varnothing\}}\, \mathcal{L}_{\text{box}}\big(b_i, \hat{b}_{\sigma(i)}\big)である。

Hungarian損失。 最適な割り当てが与えられると、損失はクラス予測に対する負の対数尤度とマッチされたペアに対するボックス損失の和になる:

LHungarian(y,y^)=i=1N[logp^σ^(i)(ci)+1{ci}Lbox(bi,b^σ^(i))],\mathcal{L}_{\text{Hungarian}}(y, \hat{y}) = \sum_{i=1}^{N} \Big[ -\log \hat{p}_{\hat{\sigma}(i)}(c_i) + \mathbf{1}_{\{c_i \neq \varnothing\}}\, \mathcal{L}_{\text{box}}\big(b_i, \hat{b}_{\hat{\sigma}(i)}\big) \Big],

クラス不均衡のため\varnothingの対数確率は係数10で重みが下げられる。ボックスは(アンカーに対するデルタとしてではなく)直接予測されるため、純粋な1\ell_1損失はスケールが悪くなる。そのためボックス損失は1\ell_1とスケール不変な一般化IoUを混合する:Lbox=λiouLiou(bi,b^σ(i))+λL1bib^σ(i)1\mathcal{L}_{\text{box}} = \lambda_{\text{iou}}\, \mathcal{L}_{\text{iou}}\big(b_i, \hat{b}_{\sigma(i)}\big) + \lambda_{\text{L1}}\, \lVert b_i - \hat{b}_{\sigma(i)} \rVert_1。一対一マッチングにより、学習中は重複予測がコストの高いものになる——そのため推論時にはNMSが不要である。

パノプティック拡張。 デコーダ出力にマスクヘッドを追加し、マスクスコアに対する画素単位のargmaxを取ることで、重複ヒューリスティックなしに「thing」と「stuff」を統一したパノプティックセグメンテーションが得られる。

実験結果

SLAMにおける意義

DETRは物体検出におけるTransformerの席巻を開始し、その後継(RT-DETR、DINO、Grounding DINO)は現代のセマンティックおよびオブジェクトレベルのSLAMシステムが基盤とする検出器である。その二部マッチングの発想は、キーポイント、セグメント、オブジェクトランドマークといった、あらゆる集合対集合の予測問題に一般化でき、学習型SLAMフロントエンドに繰り返し現れる。SLAMシステムがセマンティックマッピング、動的物体フィルタリング、シーングラフのために物体検出を必要とするとき、その検出器は非常に多くの場合DETRファミリーのモデルである。

関連ノート