---
title: 【物体検出】DETR
tags: 
author: [京都大学人工知能研究会KaiRA](https://www.docswell.com/user/kyoto-kaira)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4EZK18D4E3.jpg?width=480
description: 【物体検出】DETR by 京都大学人工知能研究会KaiRA
published: December 26, 24
canonical: https://www.docswell.com/s/kyoto-kaira/K7RNDV-2024-12-26-203549
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4EZK18D4E3.jpg)

2024年度後期輪読会第12回[物体検出]
DETR
京都大学 経済学部 1回
大澤 衡正
0


# Page. 2

![Page Image](https://bcdn.docswell.com/page/Y76QLP1G7V.jpg)

アジェンダ
◼ DETRと他の物体検出手法の違い
◼ 物体検出における集合予測損失
◼ DETRのアーキテクチャ
◼ 学習
◼ 実験結果
◼ 結論
1


# Page. 3

![Page Image](https://bcdn.docswell.com/page/G75R1K4XE4.jpg)

アジェンダ
◼ DETRと他の物体検出手法の違い
◼ DETRのアーキテクチャ
◼ Set Prediction
◼ Parallel Decoding
◼ 学習
◼ 実験結果
◼ 結論
2


# Page. 4

![Page Image](https://bcdn.docswell.com/page/9J2D1WVQJR.jpg)

DETR以前のモデル
物体検出はbboxとカテゴリーの組を予測するタスクと言える
従来の手法はこの予測を直接的でない手法によって行ってきた
◼ 物体のありそうな領域を提案し、その後にクラス分類を行う２段階モデル
◼ 事前にアンカーを設定し、そこからのオフセットを予測するアンカー型モデル
◼ Window Centerを用いるモデル
上記のモデルの精度は、
◼ 近傍に複数個予測されるbboxを統廃合する後処理
◼ アンカーの設定
◼ ターゲットとなるbboxをアンカーに割り当てる手法
等の事前知識に基づいて、人手によって調整される部分に大きく影響されてきた
⇒DETRではこれらの要素を排除して、シンプルな物体検出を実現！
3


# Page. 5

![Page Image](https://bcdn.docswell.com/page/DEY2ZL3YEM.jpg)

DETR
Transformerを用いて直接bboxとカテゴリーの組を予測する
◼ 物体検出を直接集合予測問題と見做す
←二部マッチング損失関数を用いてend-to-endでの学習を行う
◼ encoder-decoder構成のparallel decodingを行うtransformerを用いる
→self-attention機構は重複する予測の削除などの集合予測問題における制約に効果的
◼ CNNとtransformerという標準的なレイヤーのみで実装することが可能！
4


# Page. 6

![Page Image](https://bcdn.docswell.com/page/VJN834VR78.jpg)

DETRのアーキテクチャ概要
CNNのバックボーン、transformerのネック、MLPのヘッドで構成される
◼ 予め画像に含まれると想定される物体の個数より十分多いNを設定する（論文では100）
◼ デコーダー層からはN個の予測が一括で出力され、FFNを通して物体検出の解に変換する
◼ 画像内に含まれる物体数はNより少ないので、
余った分はno objectという特別なクラスとして予測される
◼ 学習時にはN個の予測結果と実際のラベルをどう対応付けて損失を計算するかが重要となる
5


# Page. 7

![Page Image](https://bcdn.docswell.com/page/YE9K9Q6ZE3.jpg)

アジェンダ
◼ DETRと他の物体検出手法の違い
◼ 物体検出における集合予測損失
◼ DETRのアーキテクチャ
◼ 学習
◼ 実験結果
◼ 結論
6


# Page. 8

![Page Image](https://bcdn.docswell.com/page/GE8R9GPYJD.jpg)

ハンガリアンアルゴリズムによる予測とラベルの対応付け
モデルの出力であるN個の予測と正解ラベルの対応付けは、
二部マッチング問題としてハンガリアンアルゴリズムによって算出されます
より具体的には以下のLmatchを最小化する予測y^の置換を求めます
ここで、Lmatchは以下の式で表されます
＝
◼ 右辺の前半部分はクラス予測に対する損失であり後半部分はbbox予測に対する損失です
7


# Page. 9

![Page Image](https://bcdn.docswell.com/page/LELKWG19JR.jpg)

最終的なLOSSの計算
最終的なLossは二部マッチング問題を解いて得られたy^の置換とラベルyによって
以下の式で求められます
Lboxの詳細は以下の通りです
＝
ここでは以下の２種類のlossを算出し、ハイパーパラメータであるλを係数として足し合わせます
◼ 一般的に用いられているl1 loss（右辺後半）
◼ generalized IoU loss （右辺前半）
◼ l1 lossはbboxの大小によってスケールが異なるので、スケール不変なG IoU lossで補う形です
◼ 実験ではG IoU lossは非常に重要であり、l1 lossは無くても一定の精度が出ることが示されました
◼ lossの算出ではクラス損失に対数確率を用いている。マッチングコストの計算では、
クラス損失がbbox損失に見合うようにすることで経験的に良い結果が得られたためである
8


# Page. 10

![Page Image](https://bcdn.docswell.com/page/4JM29QWVJW.jpg)

アジェンダ
◼ DETRと他の物体検出手法の違い
◼ 物体検出における集合予測損失
◼ DETRのアーキテクチャ
◼ 学習
◼ 実験結果
◼ 結論
9


# Page. 11

![Page Image](https://bcdn.docswell.com/page/PJRMG8YWE9.jpg)

バックボーン及びヘッドのアーキテクチャ
バックボーン
ヘッド
◼ バックボーンはResNet50or101
◼ 入力画像の特徴量マップを求める
◼ 最終的な予測を出力するMLP層
◼ 畳み込み層により、より小さい次元に縮小
◼ 正規化されたbboxの中心座標、幅、高さ
◼ bboxのクラス（ラベルにあるクラス＋no Objectクラス）
Transformerから
Transformerへ
10


# Page. 12

![Page Image](https://bcdn.docswell.com/page/PEXVX8GV7X.jpg)

Transformer部分のアーキテクチャ
Transformer部分
◼ 基本的にはマルチヘッドセルフアテンション、
エンコーダー・デコーダー構成の標準Transformer
◼ Transformerは置換不変なので、
各入力層に位置エンコーディングを加える(Spatial Positional Encoding)
◼ 元々のTransformerと異なるのは、
各デコーダー層で並列に予測を行うこと
←機械翻訳タスクと異なり、デコーダーへの入力を予めN個
用意しておけることによる(Object Queriesという学習パラメータ)
※左記のコードは
実験構成と厳密に一致しない
出典：
End-to-End Object Detection with Transformers (DETR) の解説 #物体検出 - Qiita
11


# Page. 13

![Page Image](https://bcdn.docswell.com/page/3EKQWK45ED.jpg)

アジェンダ
◼ DETRと他の物体検出手法の違い
◼ 物体検出における集合予測損失
◼ DETRのアーキテクチャ
◼ 学習
◼ 実験結果
◼ 結論
12


# Page. 14

![Page Image](https://bcdn.docswell.com/page/L73P1ZL1E5.jpg)

学習の概要
◼ 最適化器：Adamw
◼ 学習係数
◼ transformer：10e-4
◼ baseline：10e-5
◼ 重み減衰：10e-4
◼ 重み初期化：Xavier
◼ auxiliary losses：
学習時にデコーダーの各層にFFN及びHungarian lossを追加する
FFNは追加の層正規化により異なるデコーダー層からの入力を正規化し、共通のパラメータを持つ
これにより、特に各クラスのオブジェクト数が正しく出力されるようになる
13


# Page. 15

![Page Image](https://bcdn.docswell.com/page/87DLXRNKEG.jpg)

アジェンダ
◼ DETRと他の物体検出手法の違い
◼ 物体検出における集合予測損失
◼ DETRのアーキテクチャ
◼ 学習
◼ 実験結果
◼ 結論
14


# Page. 16

![Page Image](https://bcdn.docswell.com/page/VJP2PW53J8.jpg)

Faster R-CNNとの比較
DETRはFaster RCNNに十分対抗可能なモデルであると言える
◼ COCOデータセットにおけるAPの比較
◼ パラメータ数が同レベルのモデルではDETRはFaster RCNNに十分対抗できている
◼ 特に大きい物体の検出に関してはかなりの優位が見られる
◼ 一方小さい物体の検出では性能改善の余地が残されている
15


# Page. 17

![Page Image](https://bcdn.docswell.com/page/2EVD28PNEQ.jpg)

各要素の検討(Ablation)
エンコーダー・デコーダー層の役割
◼
◼
◼
◼
◼
◼
◼
◼
◼
◼
エンコーダー層の数を減らすことにより、
APに顕著な現象が見られた
仮説：大局的なシーン推論を用いる
エンコーダーがオブジェクトの分離に重要
左図はエンコーダー層のattention mapを可視化したもの
この段階でインスタンスの分離が行われており、
デコーダーのオブジェクト抽出とローカライゼーション
を単純化していると考えられる
各デコーダー層からの予測結果を評価すると、
最初の層から最後の層にかけて顕著に精度が上がっていた
仮説：集合ベースの損失により、DETRはNMSを必要としない
上記の仮説は、実際に各デコーダー層からの出力に
NMSを適用した際に、その効果は層を重ねるごとに減少し、
最終層においては逆に精度を下げたことから裏付けられる
単一のデコーダー層のみでは出力要素間の相互関係を考慮
できないが、第２層以降では自己注意メカニズムにより
重複予測を抑制できる
左図はデコーダー層のattention mapを可視化したもの
attention mapはかなり局所的であり、エンコーダー層で
概ねインスタンスの分離ができているので、デコーダー層
ではbboxの境界とクラス予測を行うことに注力するのだろう
16


# Page. 18

![Page Image](https://bcdn.docswell.com/page/57GYR5P57L.jpg)

モデルについての分析(Analysis)
◼
◼
◼
◼
デコーダー出力の各スロットごとに、
そのスロットが検出した物体の特徴をプロットした（下図）
緑が小さい物体, 赤が大きい横長、青が大きい縦長
各スロットが特定のエリア、物体の形状に特化していると考えられる
学習データセットにない傾向の画像を作成し、モデルの汎化性能を評価した
左図は24体のキリンが同一画像に存在する例
全ての対象を検出することに成功しており、
各オブジェクトクエリが特定のクラスに特化していることはないと言える
17


# Page. 19

![Page Image](https://bcdn.docswell.com/page/4EQMVZ2LJP.jpg)

アジェンダ
◼ DETRと他の物体検出手法の違い
◼ 物体検出における集合予測損失
◼ DETRのアーキテクチャ
◼ 学習
◼ 実験結果
◼ 結論
18


# Page. 20

![Page Image](https://bcdn.docswell.com/page/KJ4VM3L5E1.jpg)

結論
◼
DETRはTransformerと集合予測のための二部マッチング損失に基づく物体検出モデル
◼
DETRはFaster RCNNと比較しても十分高い精度を実現した
◼
DETRのアーキテクチャはシンプルであり、panoptic segmentationという
他のタスクに流用しても高い精度を発揮した
◼
大きな物体に対しては顕著な性能を示した一方で、小さい物体の検出は苦手だった
◼
DETRは新しいアーキテクチャのモデルであり、
Faster RCNNが幾度の改善を経て精度を上げたように、
DETRも今後の研究で弱点を克服していくことが期待される
19


