- DETR #まとめ編
Index
DETR
2020 年に Facebook から発表された Transformer を利用した Object Detection のアルゴリズム.
- Attention を用いた Object Detection #まとめ編
従来の物体検出との違い
Non Maximum Suppression (NMS) や Anchor Base のような人での設定が必要となるような処理を撤廃.
NMS
Anchor Base
Transformer の利点
シーケンシャルなデータからの特徴抽出を行うことができる.
Object Detection でシーケンシャルな入力単位とはなにか.
- Language では、単語 / token
- Vision では、分割画像 / patch であったが、
- Detection では、物体 / Object Query となる.
Object Detection への適用 / Direct Set Prediction Problem
このアルゴリズムでは、Object Detection を「直接集合予測問題 / Direct Set Prediction Problem」と
みなすことでタスクを解いている.
予測 BB とラベル GT とのマッチング
Bipartite Matching / 2 部マッチングの考えを利用して損失を設計する.
- 割当・マッチング問題 / Assignment・Matching
Architecture / Design
Direct Set Prediction Problem を解くために、いくかの重要な要素がある.
- Loss Design
- Network Architecture
Loss
Loss の定義の前に諸定義.
- : 推測する物体の集合の要素数
- : あるインデックス の予測された物体 の集合
- : あるインデックス のラベリングされた (GT) 物体 の集合
- : クラス情報 と座標情報 で構成されている
- : 座標情報は 4 次元で、各要素は、 を満たす
- : あるインデックス のラベリングされた (GT) 物体に対応している予測された物体のクラスの予測確率 / 確信度
- : 該当物体なし / No Object を表す
- : 「ラベリングされたある物体 」 に対応する「予測された物体」へマッピングする関数
- : 関数の集合
まず 2 つの損失について考える.
- : Generalized Intersection over Union
- : L1 Loss
- Generalized Intersection over Union / GIoU
- について
- [2019]
- arxiv.org
Bounding Box Loss
2 つ Box の距離を表現.
Matching Cost / Loss
ラベリングされた物体と対応している予測した物体のマッチングの感度・精度を表現.
そのマッチング関数 の中でもコストを最小化するマッチング関数 を取得.
Hungarian Loss
上で決定したマッチング関数 を利用して、ハンガリアンアルゴリズムにおける損失・評価を計算する.
- Hungarian Algorithm
Auxiliary Decoding Loss
- Character-Level Language Modeling with Deeper Self-Attention
- Auxiliary Decoding Loss について
- [2018]
- arxiv.org
Network Architecture
上の図でも出したが、DETR は、大きく分けると 3 つの要素から構成されている.
- Backbone
- Transformer
- Encoder
- Decoder
- Head
Backbone
処理の内容を確認する前の諸定義.
- : 3 次元の入力画像
- : 入力画像の高さ
- : 入力画像の幅
CNN を利用して特徴マップ を取得する.
Transformer
Encoder
Encoder で行われる処理は、以下のよう.
- 次元削減のための Resize
- Positional Encoding
- Encoding
中間特徴マップ を の 畳み込み演算で、圧縮し、
中間特徴マップ を取得する.
Encoder への入力は、シーケンシャルなデータを想定しるため、中間特徴マップ を
のベクトルが、 個ある状態にする.
Transformer / Vision Transformer でも行われる Positional Encoding を施すことで、位置情報を与える.
その後、Encodingを実施し 個の のベクトルを得る.
Decoder
Decoder の入力は、サイズ の Object Query が 個となる.
Object Query も Encoder 同様に、Positional Encoding が施される.
その後、Decoding され、サイズ の 個のベクトルが出力される.
Head
最終的な予測は、3 層の MLP と活性化関数からなる FFN から最終的な予測が出力される.
Parallel Decoder
- Parallel Decoding
参考
End-to-End Object Detection with Transformers
End-to-end object detection with Transformers
- ai.facebook.com
- Facebook の公式ブログ
Web サイト
Transformerを採用した最新の物体検出手法「DETR」
Transformerを使った初めての物体検出「DETR」
物体検出DETR (DEtection TRansformer)
Transformer を物体検出に採用!話題のDETRを詳細解説!