283 Views
December 26, 24
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2024年度後期輪読会第12回[物体検出] DETR 京都大学 経済学部 1回 大澤 衡正 0
アジェンダ ◼ DETRと他の物体検出手法の違い ◼ 物体検出における集合予測損失 ◼ DETRのアーキテクチャ ◼ 学習 ◼ 実験結果 ◼ 結論 1
アジェンダ ◼ DETRと他の物体検出手法の違い ◼ DETRのアーキテクチャ ◼ Set Prediction ◼ Parallel Decoding ◼ 学習 ◼ 実験結果 ◼ 結論 2
DETR以前のモデル 物体検出はbboxとカテゴリーの組を予測するタスクと言える 従来の手法はこの予測を直接的でない手法によって行ってきた ◼ 物体のありそうな領域を提案し、その後にクラス分類を行う2段階モデル ◼ 事前にアンカーを設定し、そこからのオフセットを予測するアンカー型モデル ◼ Window Centerを用いるモデル 上記のモデルの精度は、 ◼ 近傍に複数個予測されるbboxを統廃合する後処理 ◼ アンカーの設定 ◼ ターゲットとなるbboxをアンカーに割り当てる手法 等の事前知識に基づいて、人手によって調整される部分に大きく影響されてきた ⇒DETRではこれらの要素を排除して、シンプルな物体検出を実現! 3
DETR Transformerを用いて直接bboxとカテゴリーの組を予測する ◼ 物体検出を直接集合予測問題と見做す ←二部マッチング損失関数を用いてend-to-endでの学習を行う ◼ encoder-decoder構成のparallel decodingを行うtransformerを用いる →self-attention機構は重複する予測の削除などの集合予測問題における制約に効果的 ◼ CNNとtransformerという標準的なレイヤーのみで実装することが可能! 4
DETRのアーキテクチャ概要 CNNのバックボーン、transformerのネック、MLPのヘッドで構成される ◼ 予め画像に含まれると想定される物体の個数より十分多いNを設定する(論文では100) ◼ デコーダー層からはN個の予測が一括で出力され、FFNを通して物体検出の解に変換する ◼ 画像内に含まれる物体数はNより少ないので、 余った分はno objectという特別なクラスとして予測される ◼ 学習時にはN個の予測結果と実際のラベルをどう対応付けて損失を計算するかが重要となる 5
アジェンダ ◼ DETRと他の物体検出手法の違い ◼ 物体検出における集合予測損失 ◼ DETRのアーキテクチャ ◼ 学習 ◼ 実験結果 ◼ 結論 6
ハンガリアンアルゴリズムによる予測とラベルの対応付け モデルの出力であるN個の予測と正解ラベルの対応付けは、 二部マッチング問題としてハンガリアンアルゴリズムによって算出されます より具体的には以下のLmatchを最小化する予測y^の置換を求めます ここで、Lmatchは以下の式で表されます = ◼ 右辺の前半部分はクラス予測に対する損失であり後半部分はbbox予測に対する損失です 7
最終的なLOSSの計算 最終的なLossは二部マッチング問題を解いて得られたy^の置換とラベルyによって 以下の式で求められます Lboxの詳細は以下の通りです = ここでは以下の2種類のlossを算出し、ハイパーパラメータであるλを係数として足し合わせます ◼ 一般的に用いられているl1 loss(右辺後半) ◼ generalized IoU loss (右辺前半) ◼ l1 lossはbboxの大小によってスケールが異なるので、スケール不変なG IoU lossで補う形です ◼ 実験ではG IoU lossは非常に重要であり、l1 lossは無くても一定の精度が出ることが示されました ◼ lossの算出ではクラス損失に対数確率を用いている。マッチングコストの計算では、 クラス損失がbbox損失に見合うようにすることで経験的に良い結果が得られたためである 8
アジェンダ ◼ DETRと他の物体検出手法の違い ◼ 物体検出における集合予測損失 ◼ DETRのアーキテクチャ ◼ 学習 ◼ 実験結果 ◼ 結論 9
バックボーン及びヘッドのアーキテクチャ バックボーン ヘッド ◼ バックボーンはResNet50or101 ◼ 入力画像の特徴量マップを求める ◼ 最終的な予測を出力するMLP層 ◼ 畳み込み層により、より小さい次元に縮小 ◼ 正規化されたbboxの中心座標、幅、高さ ◼ bboxのクラス(ラベルにあるクラス+no Objectクラス) Transformerから Transformerへ 10
Transformer部分のアーキテクチャ Transformer部分 ◼ 基本的にはマルチヘッドセルフアテンション、 エンコーダー・デコーダー構成の標準Transformer ◼ Transformerは置換不変なので、 各入力層に位置エンコーディングを加える(Spatial Positional Encoding) ◼ 元々のTransformerと異なるのは、 各デコーダー層で並列に予測を行うこと ←機械翻訳タスクと異なり、デコーダーへの入力を予めN個 用意しておけることによる(Object Queriesという学習パラメータ) ※左記のコードは 実験構成と厳密に一致しない 出典: End-to-End Object Detection with Transformers (DETR) の解説 #物体検出 - Qiita 11
アジェンダ ◼ DETRと他の物体検出手法の違い ◼ 物体検出における集合予測損失 ◼ DETRのアーキテクチャ ◼ 学習 ◼ 実験結果 ◼ 結論 12
学習の概要 ◼ 最適化器:Adamw ◼ 学習係数 ◼ transformer:10e-4 ◼ baseline:10e-5 ◼ 重み減衰:10e-4 ◼ 重み初期化:Xavier ◼ auxiliary losses: 学習時にデコーダーの各層にFFN及びHungarian lossを追加する FFNは追加の層正規化により異なるデコーダー層からの入力を正規化し、共通のパラメータを持つ これにより、特に各クラスのオブジェクト数が正しく出力されるようになる 13
アジェンダ ◼ DETRと他の物体検出手法の違い ◼ 物体検出における集合予測損失 ◼ DETRのアーキテクチャ ◼ 学習 ◼ 実験結果 ◼ 結論 14
Faster R-CNNとの比較 DETRはFaster RCNNに十分対抗可能なモデルであると言える ◼ COCOデータセットにおけるAPの比較 ◼ パラメータ数が同レベルのモデルではDETRはFaster RCNNに十分対抗できている ◼ 特に大きい物体の検出に関してはかなりの優位が見られる ◼ 一方小さい物体の検出では性能改善の余地が残されている 15
各要素の検討(Ablation) エンコーダー・デコーダー層の役割 ◼ ◼ ◼ ◼ ◼ ◼ ◼ ◼ ◼ ◼ エンコーダー層の数を減らすことにより、 APに顕著な現象が見られた 仮説:大局的なシーン推論を用いる エンコーダーがオブジェクトの分離に重要 左図はエンコーダー層のattention mapを可視化したもの この段階でインスタンスの分離が行われており、 デコーダーのオブジェクト抽出とローカライゼーション を単純化していると考えられる 各デコーダー層からの予測結果を評価すると、 最初の層から最後の層にかけて顕著に精度が上がっていた 仮説:集合ベースの損失により、DETRはNMSを必要としない 上記の仮説は、実際に各デコーダー層からの出力に NMSを適用した際に、その効果は層を重ねるごとに減少し、 最終層においては逆に精度を下げたことから裏付けられる 単一のデコーダー層のみでは出力要素間の相互関係を考慮 できないが、第2層以降では自己注意メカニズムにより 重複予測を抑制できる 左図はデコーダー層のattention mapを可視化したもの attention mapはかなり局所的であり、エンコーダー層で 概ねインスタンスの分離ができているので、デコーダー層 ではbboxの境界とクラス予測を行うことに注力するのだろう 16
モデルについての分析(Analysis) ◼ ◼ ◼ ◼ デコーダー出力の各スロットごとに、 そのスロットが検出した物体の特徴をプロットした(下図) 緑が小さい物体, 赤が大きい横長、青が大きい縦長 各スロットが特定のエリア、物体の形状に特化していると考えられる 学習データセットにない傾向の画像を作成し、モデルの汎化性能を評価した 左図は24体のキリンが同一画像に存在する例 全ての対象を検出することに成功しており、 各オブジェクトクエリが特定のクラスに特化していることはないと言える 17
アジェンダ ◼ DETRと他の物体検出手法の違い ◼ 物体検出における集合予測損失 ◼ DETRのアーキテクチャ ◼ 学習 ◼ 実験結果 ◼ 結論 18
結論 ◼ DETRはTransformerと集合予測のための二部マッチング損失に基づく物体検出モデル ◼ DETRはFaster RCNNと比較しても十分高い精度を実現した ◼ DETRのアーキテクチャはシンプルであり、panoptic segmentationという 他のタスクに流用しても高い精度を発揮した ◼ 大きな物体に対しては顕著な性能を示した一方で、小さい物体の検出は苦手だった ◼ DETRは新しいアーキテクチャのモデルであり、 Faster RCNNが幾度の改善を経て精度を上げたように、 DETRも今後の研究で弱点を克服していくことが期待される 19