🎃

Deformable DETRの解説

2023/07/20に公開

概要

DETRには以下の弱点がある。

  1. 高解像度の画像を扱うことができない。
  2. 収束に非常に長い時間がかかる。like 10x ~20x slower than Faster R-CNN.

高解像度画像を扱うことができないのは計算量が O(H^2W^2)であるためであり、収束に非常に長い時間がかかるのは、画像全体を注目するように初期化されたAttention Mapを意味のあるスパースなPixelのみに注目するように学習するコストが高いからであると考えられる。

この2つの課題を緩和するためにDeformable DETR = 画像の一部にのみ注目するTransformerを提案する。

Method


Deformable ConvolutionにInspireされ、画像のスパースな一部の点まわりからのみ情報を受け取るDeformable Attention Moduleを提案。

Deformable Attention Module


このModuleはK個の可変な位置p_q + \Delta p_{mqk}の特徴を入力として利用する。p_q + \Delta p_{mqk}は小数なのでDeformable Convolutionと同じくbilinear interpolationで補間する。
\Delta p_{mqk}A_{mqk}z_qからの線形変換で得られるので、この線形変換を計算することで適切な位置の特徴のみにフォーカスすることができる。

具体的には図の上部にあるようにz_qをLinear Projectionによって3MKのベクトルに変換する。2MK次元が\Delta p_{mqk}を決定しMK次元はSoftmaxをとってAttention Weightに使う。

z_q \in \mathbb{R}^{N \times F}はクエリ、x \in \mathbb{R}^{HW \times F}は入力画像なのは今まで通り。

Multi Scaleへの拡張

マルチスケールな情報を使うことは近年のObject Detectionで基本になっている。Deformable Attentionも自然にマルチスケールへ拡張することができる。lを各スケールを表す添え字とすると

のようにしてMulti-Scale Deformable Attention Moduleを定義できる。

Deformable Convolutionとの違い

L=1, K=1, W'_m = IのときMSDeformAttnはDeformable Convolutionになる。
つまりDeformable Convolutionはシングルスケールの入力画像に対してAttention Headあたり1つのReference Pointを持つDeformable DETRと考えることができる。

評価

定性的評価


図では出力を画像で微分した値が大きい点を赤く塗ったものである。モデルはBounding Boxの中心x, yとその大きさw, hおよびオブジェクトの種類の分類確率cを出力する。勾配に注目するとxwはオブジェクトの左右端、y, hはオブジェクトの上下端、cはオブジェクト全体によって決定されていることがわかる。

定量的評価



DETRと比べて同等以上。速度はFaster R-CNNとDETRの間。学習Epochsが1/10になっている点にも注目。

まとめ

End2EndなObject DetectionモデルであるDETRの弱点を克服し、推論も学習の収束も早く性能も改善したDeformableなTransformerが誕生した。MMDetectionを使えばこんな感じで簡単に実装もできるよう。

参考

Discussion