Li Mu の精読論文: DETR トランスフォーマーを使用したエンドツーエンドのオブジェクト検出

论文: トランスフォーマーを使用したエンドツーエンドの物体検出

コード:公式コード

変形可能な DETR:論文  コード

動画: DETR 論文の集中読解【論文の集中読解】_哔哩哔哩_bilibili

この記事の参考文献:

山の居酒屋ブログ - CSDNブログ

エンドツーエンドの物体検出 DETR

        DETR (DEtection TRansformer) は2020年5月にArxivで公開された論文で、近年のターゲット検出分野におけるマイルストーンとなる著作と言えます。論文のタイトルからもわかるように、DETR にはエンドツーエンド (エンドツーエンド) と Transformer の導入という 2 つの大きな革新があります。

  ターゲット検出のタスクは、画像内のオブジェクトの位置とカテゴリを予測する必要があるため、常に画像分類よりもはるかに複雑でした。以前の主流のターゲット検出方法は、提案ベースの方法 (R-CNN シリーズ)、アンカーベースの方法 (YOLO シリーズ)、または非アンカーベースの方法 (コーナー/中心点の位置決めを使用) に関係なく、エンドツーエンドのターゲット検出ではありません。は大小の予測ボックスを生成し、冗長な bbox (境界ボックス) を削除するには nms (非最大抑制) などの後処理メソッドが必要です。多くの手動介入、事前知識 (アンカー)、および NMS が必要なため、検出フレームワーク全体が非常に複雑で、パラメーターの調整が難しく、最適化が難しく、導入が困難です (すべてのハードウェアが NMS をサポートしているわけではありません。通常のライブラリは、NMS に必要な演算子を必ずしもサポートしているわけではありません)。したがって、エンドツーエンドのターゲット検出は誰もが常に夢見てきたものです。

        DERT は上記の問題を非常にうまく解決し、Transformer のグローバル モデリング機能を使用して、提案アンカーを使用せずにターゲット検出をセット予測の問題として扱いますさらに、Transformer のグローバル モデリング機能により、DETR は冗長なバウンディング ボックスをあまり多く出力せず、出力は後処理用の nms を使用せずに最終 bbox に直接対応するため、モデルのトレーニングとデプロイが大幅に簡素化されます。

まとめ      

DETRには2つの革新があります

  • 1 つは新しい目的関数で、2 部グラフ マッチングによってモデルが各オブジェクトに対して 1 つの予測フレームのみを生成するように強制されます。
  • 2 つ目は、Transformer のエンコーダ/デコーダ アーキテクチャを使用することです。
    • アンカーを生成するメカニズムは、学習可能なオブジェクト クエリによって置き換えられます。DETR は、学習されたオブジェクト クエリをグローバル画像情報と組み合わせることができ、継続的なアテンション操作を通じて、モデルは最終的な予測フレームを直接出力できます。
    • ボックスを並列に予測します並列出力では、イメージ内のオブジェクトに依存関係がないため、処理が高速になります。

        DETRの主な利点は、非常にシンプルであり、パフォーマンスも優れていることです。COCO データセットでは、精度、メモリ、速度の点で Faster RCNN ベースライン ネットワークと同等です。さらに、DETR は他のタスクにも簡単に拡張できます。

1 はじめに

端から端まで

        端的に言えば、ターゲット検出は集合予測問題ですが、現在では提案法 (Faster R-CNN、Mask R-CNN、Cascade R-CNN)、アンカー法 (YOLO、Focal loss)、アンカーベースの方法(オブジェクトの中心点を使用するセンターネット、FCOS)はありません。これらの方法では冗長フレームが生成され、nms が使用され、パフォーマンスは nms の動作によって大きく制限されます。

        DETR は、Transformer のグローバル モデリング機能を使用して、ターゲット検出をセットの予測問題として直接扱い (つまり、与えられた画像で、画像内の対象オブジェクトのセットを予測します)、以前は学習できなかったもの (アンカー、NMS) を何かになるように変換します。学習できるようになると、事前知識に依存する部分が削除され、シンプルで効果的なエンドツーエンドのネットワークが得られます。したがって、DETR では、アンカーを入念に設計する必要がなく、NMS の後処理も必要なく、調整するハイパーパラメータもそれほど多くなく、複雑な演算子も必要ありません。

DETRトレーニングプロセス

  • CNN ネットワークを使用して画像の特徴を抽出する
  • グローバル特徴の学習: 画像特徴は 1 次元に引き込まれ、グローバル モデリングのために Transformer Encoder に入力され、セルフ アテンションを通じてグローバル特徴をさらに学習します。
    • Transformer Encoder のセルフ アテンション メカニズムにより、画像内の各ポイント (フィーチャ) が画像内の他のすべてのフィーチャと相互作用できるため、モデルはどの領域がオブジェクトでどの領域が別のオブジェクトであるかを大まかに知ることができます。各オブジェクトが予測フレームを 1 つだけ持つようにすることも可能です。したがって、このグローバル機能は、冗長なフレームを削除するのに非常に役立ちます。
  • 予測ボックスを生成します。学習されたオブジェクト クエリと連携し、Transformer デコーダーを使用してボックス予測の N 予測フレーム セットを生成します (デフォルトでは N=100、つまり、固定画像で 100 個の予測フレームが生成されます)。
  • 予測されたボックスを GT ボックス (真のボックス) と照合します。二部マッチング損失 (二部マッチング損失) を計算し、一致したフレームでターゲット検出の損失を実行します。
    • 各オブジェクトに最もよく一致する予測ボックスは、2 部グラフ マッチング アルゴリズムを通じて選択されます。たとえば、上の画像に 2 つのオブジェクトがある場合、それらと最も一致するフレームは 2 つだけであり、それらは前景として分類され、残りの 98 フレームは背景 (オブジェクトなし) としてマークされます。最後に、前のオブジェクト検出アルゴリズムと同様に、これら 2 つのボックスの分類損失と回帰損失が計算されます。

  推論する場合、最初の 3 つのステップは同じです。デコーダによって N 個の予測フレームが生成された後、最終的な予測フレームを取得するためのフィルタリングのために信頼度のしきい値が設定されます。たとえば、しきい値が 0.7 に設定されている場合、信頼レベルが 0.7 より大きい予測フレームのみが出力され、残りは背景フレームとして使用されることを意味します。

アドバンテージ

  • シンプルさ: フレームワークがシンプルでエンドツーエンドの検出が可能であるだけでなく、ハードウェアが CNN と Transformer をサポートしている限り DETR もサポートできます。
  • COCO データセットのパフォーマンスは、メモリ、速度、精度に関係なく、トレーニングされた Faster R-CNN ベースラインと同様です。
  • 優れた移行性: DETR フレームワークは、パノラマ セグメンテーションに対する効果が非常に優れている (セグメンテーション ヘッドを追加するだけ) など、他のタスクに簡単に拡張できます。

制限

  • DETR は、大きなオブジェクトに対しては特にうまく機能しますが、小さなオブジェクトに対してはうまく機能しません (実験 4.1 を参照)。

      前者は、大きなオブジェクトを検出するときにアンカーのサイズによって制限されるアンカーベースの方法とは異なり、トランスフォーマーがグローバルモデリングを実行できるため、オブジェクトがどれほど大きくても検出できるという事実に起因すると考えられます。後者は、著者が単純な構造のみを使用しており、マルチスケール機能やターゲット検出ヘッドなど、ターゲット検出のためのターゲットを絞った設計の多くが使用されていないためです。

  • トレーニングが遅すぎる。

        良好な結果を達成するために、一般的なモデルでは数十のエポックをトレーニングするのに対し、著者は COCO で 500 エポックをトレーニングしました。

向上

  DETR の精度はわずか 44 AP で、当時の SOTA モデルよりも 10 ポイント近く劣っていますが、アイデアは非常に優れており、ターゲット検出における多くの問題点を解決しているため、影響は依然として大きいです。それ自体は単純なモデルにすぎず、改善できる点はたくさんあります。たとえば、半年後に提案された Deformable-DETR は、マルチスケール機能を組み込んで、小さな物体の検出が不十分であるという問題を解決し、学習が遅いという問題も解決しました。

  さらに、DETR はターゲット検出方法であるだけでなく、拡張性の高いフレームワークでもあります。その設計理論は、より複雑なタスクに適用してシンプルにし、さらにはフレームワークを使用してすべての問題を解決することです。実際、これに基づいて、Omni-DETR、up-DETR、PnP-DETR、SMAC-DETR、DAB-DETR、SAM-DETR、DN-DETR、OW-DETR、OV-DETR などの一連の改善作業が行われています。 DETR は、ターゲット追跡、ビデオ分野での姿勢予測、セマンティック セグメンテーションなどの複数の視覚タスクに適用されています。  

2.関連作品

この記事では次の 3 つの部分を紹介します。

  • 過去のアンサンブル予測作品のご紹介
  • Parallel Decoding を使用して Transformer に並列予測をさせる方法
  • 物体検出研究の現状

        現在、研究は検出の初期予測に基づいており、2 段階法は提案に基づいており、信号段階法はアンカー (物体の中心点) に基づいています。

        以前は、NMS を必要とせず、オブジェクトごとに 1 つの予測フレームだけを実現できる一括予測の方法もありました。ただし、これらのメソッドのパフォーマンスは低いか、パフォーマンスを向上させるために多くの手動介入が追加されるため、複雑になります。

        以前はエンコーダ・デコーダによる検出も行われていましたが、17年前に行われたもので、RNNの構造を利用しており、効果も性能も良くありませんでした(RNNは自己回帰的で効率が遅い)。

  したがって、以前の研究と比較すると、DETR がうまく機能する主な理由は Transformer の使用であることがわかります。たとえば、上記の 2 点は、バックボーンの特性が十分ではないため、モデルのパフォーマンスが良くないため、多くの手動介入が必要になるためです。したがって、DETR の成功は依然として Transformer の成功です。

3.DETR法

3.1 アンサンブル予測に基づく目的関数

二部グラフマッチング

        detr モデルの最終出力は固定セットであり、画像が何であっても、最終的には n 個の出力が存在します (この記事では n=100)。

        質問: detr は毎回 100 個の出力を出力しますが、実際には、ピクチャに対して少数の GT バウンディング ボックスしか存在しない可能性があります。どの予測ボックスがどの GT ボックスに対応するかをどのようにして知ることができますか?

        解決策: 2 部グラフのマッチング

        作業者が 3 人、タスクが 4 つあるとすると、各作業者は専門性が異なるため、作業にかかる時間(コスト)も異なります。ハンガリアン アルゴリズムは、より複雑さを抑えてこの問題を解決できる唯一の最適な解決策です。

  scipyライブラリではハンガリアンアルゴリズムがカプセル化されており、コスト行列を入力するだけで最適な配置が得られます。DETR の公式コードでは、この関数はマッチングのためにも呼び出されます (scipy.optimize import linear_sum_assignment から)。入力はコスト マトリックス、出力は最適解です。           

        実際、私たちが現在直面している「N 個の予測ボックスから GT に対応する M 個のボックスを選択する」という問題も、二部グラフ マッチング問題とみなすことができます。ここでいう「コスト」とは、各フレームとGTフレーム間のロスのことです。

損失を計算する

        コスト損失行列は、分類損失と境界ボックス損失で構成されます。たった今:

        すべての予測ボックスを調べ、GT ボックスを使用して 2 つの損失を計算します。実際、最適な一致を見つける方法は、予測と提案またはアンカーを一致させる以前の方法と似ていますが、ここでは制約がより強力であり、必要なのは「1 対 1」の対応です。オブジェクトごとに 1 つのフレームが強制されるため、NMS による後処理は必要ありません。

一致を見つけるこの手順は、最新の検出器で提案またはアンカーをグラウンド トゥルース オブジェクトに一致させるために使用されるヒューリスティック割り当てルールと同じ役割を果たします。主な違いは、重複のない直接セット予測では 1 対 1 の一致を見つける必要があることです。

        生成された 100 フレームのうちどれが GT フレームに対応するかを決定した後、従来のターゲット検出方法に従って損失関数が計算されます。

        損失関数に関しては、DETR に 2 つの小さな変更があります。

        1 つは、分類損失のログを削除することです。分類損失 (最初の項目) については、通常、ターゲット検出方法では損失を計算するときに対数を追加する必要がありますが、DETR では、2 つの損失の数値範囲が近く、最適化が容易であることを保証するために、対数が選択されます。削除される;

        2 つ目は、回帰損失が L1 損失 + GIOU であることです。フレーム回帰損失 (後者の項目) については、通常の方法では L1 損失 (予測フレームと実際のフレーム座標の L1 損失) のみを計算しますが、DETR の Transformer によって抽出されたグローバル特徴は、大きなオブジェクトに対してよりフレンドリーです。いくつかの大きなフレームが頻繁に生成され、大きなフレームの L1 損失は非常に大きくなり、最適化に役立たないため、作成者はフレーム サイズとは関係のない一般化された IoU 損失も追加しました。

        全体の手順は次のとおりです。

  • すべての予測ボックスと GT ボックスを走査し、その損失を計算します。
  • 損失をコスト行列として構築し、scipy の Linear_sum_assignment を使用して最適解を見つけます。つまり、各 GT ボックスに最もよく一致する予測ボックスを見つけます。
  • 最適予測ボックスとGTボックスの損失を計算する
  • 勾配リターンを行う

3.2 DETR モデルのアーキテクチャ

        画像入力サイズ 3×800×1066

  • バックボーン部分は、CNN (ResNet-50) を使用して画像の特徴を抽出し、2048×25×34 (縦横が 1/32 になります) のサイズの特徴マップを取得し、その後、チャネル数を削減します。 1x1 Conv、フィーチャ サイズは 256×25×34
  • 同じサイズの位置コードを CNN 特徴量 (固定、サイズは 256×25×34) に追加し、850×256 に直線化し、Transformer Encoder に送信し、850×256 の特徴量を出力します。
  • 取得したグローバル画像特徴を Transformer Decoder に送信します。もう 1 つの入力は学習済みオブジェクト クエリです。サイズは 100×256、256 は特徴サイズに対応し、100 はフレーム外に出す数です。デコード中、学習されたオブジェクト クエリとグローバル画像特徴は常に注目を超えて実行され、最終的な特徴サイズは 100×256 になります。
    • ここでのオブジェクト クエリは、前のアンカー/提案と同等であり、最終的に 100 個の出力のみを取得するようにモデルに指示する厳しい条件です。
    • 学習されたオブジェクト クエリは学習可能な位置埋め込みであり、モデル パラメーターとともに勾配に従って更新されます。
  • 100 個の出力が検出ヘッド (ターゲット検出で一般的に使用される完全接続層 FFN) を通過し、100 個の予測ボックス (xcenter、ycenter、w、h) と対応するカテゴリを出力します。

最終的な予測は、ReLU 活性化関数と隠れ次元 d を備えた 3 層パーセプトロンと線形投影層によって計算されます。FFN は、入力画像に対するボックスの正規化された中心座標、高さ、幅を予測し、線形層はソフトマックス関数を使用してクラス ラベルを予測します。

  • 二部グラフ マッチング手法を使用して最終予測フレームを出力し、予測フレームと実際のフレームの損失を計算し、勾配リターンによってネットワークを更新します。

        さらに、いくつかの詳細があります。

  • トランスフォーマーエンコード/デコーダーには6つのレイヤーがあります
  • 最初のレイヤーを除いて、Transformer エンコーダーの各レイヤーは、主に冗長なフレームを削除するために、最初にオブジェクト クエリのセルフ アテンションを計算します。これらのクエリが相互作用すると、おそらく各クエリがどのような種類のフレームを生成するかがわかり、それらが互いに繰り返されなくなります (実験を参照)。
  • デコーダは補助損失、つまり 6 層デコーダを追加し、各層の 100×256 出力が FFN に送信されて出力が取得され、損失が計算されるため、モデルはより速く収束します。FFN の各層はパラメータを共有します

各デコーダ層の後に予測 FFN とハンガリー損失を追加します。すべての予測 FFN はパラメーターを共有します。追加の共有レイヤーノルムを使用して、さまざまなデコーダーレイヤーからの予測 FFN への入力を正規化します。

コード

エンドツーエンドの DETR フレームワークの単純さを説明するために、著者は論文の最後に DETR モデルの定義と推論コードを合計 50 行未満で示しています。もちろん、このバージョンには詳細が欠けていますが、DETR のプロセスを完全に示すことができます。このバージョンはトレーニングに直接使用され、最終的に AP は 40 に達しますが、これは DERT ベースライン モデルよりも 2 AP 悪い値です。

import torch
from torch import nn
from torchvision.models import resnet50

class DETR(nn.Module):
    def __init__(self, num_classes, hidden_dim, nheads,
        num_encoder_layers, num_decoder_layers):
        super().__init__()       
        self.backbone = nn.Sequential(*list(resnet50(pretrained=True).children())[:-2])  # We take only convolutional layers from ResNet-50 model
        self.conv = nn.Conv2d(2048, hidden_dim, 1) # 1×1卷积层将2048维特征降到256维
        self.transformer = nn.Transformer(hidden_dim, nheads, num_encoder_layers, num_decoder_layers)  # 输出100×256
        self.linear_class = nn.Linear(hidden_dim, num_classes + 1) # 类别FFN
        self.linear_bbox = nn.Linear(hidden_dim, 4)                # 回归FFN
        self.query_pos = nn.Parameter(torch.rand(100, hidden_dim)) # object query
        # 下面两个是位置编码
        self.row_embed = nn.Parameter(torch.rand(50, hidden_dim // 2))
        self.col_embed = nn.Parameter(torch.rand(50, hidden_dim // 2))

    def forward(self, inputs):
        x = self.backbone(inputs)
        h = self.conv(x)
        H, W = h.shape[-2:]
        pos = torch.cat([self.col_embed[:W].unsqueeze(0).repeat(H, 1, 1),
                         self.row_embed[:H].unsqueeze(1).repeat(1, W, 1),
                         ], dim=-1).flatten(0, 1).unsqueeze(1) # 位置编码                                           
        h = self.transformer(pos + h.flatten(2).permute(2, 0, 1), self.query_pos.unsqueeze(1)) 
        return self.linear_class(h), self.linear_bbox(h).sigmoid()


detr = DETR(num_classes=91, hidden_dim=256, nheads=8, num_encoder_layers=6, num_decoder_layers=6)
detr.eval()
inputs = torch.randn(1, 3, 800, 1200)
logits, bboxes = detr(inputs)

        予測されたカテゴリに +1 を付ける理由:

N 個の境界ボックスの固定サイズのセットを予測するため (N は通常、画像内の対象オブジェクトの実際の数よりもはるかに大きい)、追加の特殊クラス ラベル ∅ を使用して、スロット内でオブジェクトが検出されないことを表します。このクラスは、標準のオブジェクト検出アプローチにおける「バックグラウンド」クラスと同様の役割を果たします。

4. 実験部分

性能比較

        次の表は、DETR とベースライン Faster RCNN の定量的なパフォーマンスの比較を示しています。

        上部の Faster RCNN のパフォーマンス結果は Detection2 の実装です。Faster RCNN が 2 つの部分に分かれている理由は、GIoU 損失、より強力なデータ拡張戦略など、近年 DETR で多くの新しいトレーニング トリックが使用されているためです。 、トレーニング時間が長くなるため、著者のチームは公平な比較のために Faster RCNN を再トレーニングするためにこれらの戦略を追加しました。

  • 近年の新しいトレーニング戦略により、ターゲット検出モデルが大幅に改善されました。

        表の最初の部分と 2 番目の部分を比較すると、再トレーニングされたモデルは + で表されますが、より適切なトレーニング戦略を使用すると、基本的に安定して 2 ポイント増加する可能性があります。

  • このモデルは Faster RCNN よりもわずかに正確で、メインの大きなオブジェクトの検出は優れています。

        表の最後の 3 列は、それぞれ小、中、大のオブジェクトの検出パフォーマンスです。大きなオブジェクトの検出では DETR の方が優れていることがわかります (6 AP 増加)、小さなオブジェクトの検出はさらに優れていますFaster RCNN より劣ります (AP が 4 程度減少)。

  • 著者は、Transformer 構造のグローバル モデリング機能のおかげで、プリセットの固定アンカーの制限がないため、予測フレームを必要なだけ大きくすることができ、大きなオブジェクトに対してより使いやすいと考えています
  • この記事の DETR モデルはまだ比較的単純なモデルであり、小さな物体やマルチスケール用の FPN 設計など、ターゲット検出用に最適化された設計があまりないため、DETR は小さな物体ではうまく機能しません。
  • パラメータの量、計算量、推論の速度の間には必ずしも関係はありません。

        #params、GFLOPS、FPSはそれぞれモデルパラメータ量、計算量、推論速度を表します。DETRモデルのパラメータの量とGFLOPS は小さくなりますが、推論は遅くなります。これは、構造の違いによるハードウェアの最適化の程度の違いが原因である可能性があります。現時点では、同じネットワーク規模またはさらに大きなネットワーク規模では、CNN は Transformer よりも推論速度が速くなります。

エンコーダ/デコーダ層アブレーション テスト

結果的にレイヤーは多ければ多いほど効果が高くなりますが、計算量を考慮して筆者は最終的に6レイヤーを選択しました。実は3階もほぼ同じです

視覚化

エンコーダセルフアテンションマップの視覚化

        以下の図は、一連の参照ポイント (図の赤い点) に対するエンコーダー アテンション ヒート マップの視覚化を示しています。つまり、参照ポイントと画像内の他のすべてのポイントのセルフ アテンション値のサイズを計算しています。

        Transformer Encoder は基本的に各オブジェクトを非常に明確に区別でき、ヒート マップさえも既にセグメンテーションなどのマスク マップの意味を持っていることがわかります。特定の咬合(左側の 2 頭の牛)の場合も、どちらがどちらであるかを明確に分けることができます。

        この効果は、Transformer Encoder のグローバル モデリング機能によってもたらされます。各位置は画像内の他のすべての位置を認識できるため、画像内の異なるオブジェクトを区別できます。これに基づいて、予測フレームは 1 つだけ非常に単純になり、効果が良くなります。

デコーダ アテンション マップの視覚化

        前の視覚化を通じて、エンコーダーがグローバルな特徴を学習し、基本的に画像内のさまざまなオブジェクトを区別できることがわかりました。ただし、ターゲットの検出には、オブジェクトの正確な境界ボックス座標も必要であり、この部分は Decoder によって実行されます。

        以下の図は、Decoder 機能におけるさまざまなオブジェクトの注意を視覚化したものです。たとえば、左の図の 2 頭の象は、それぞれ青とオレンジで表されています。Decoder ネットワーク内の各オブジェクトの注意が、ゾウの鼻、尾、ゾウの脚などのオブジェクトの境界位置に集中していることが観察できます。DETR は依然として各シマウマの輪郭を区別して学習できます。各ターゲットのストライプ。著者は、これは、デコーダがさまざまなオブジェクトの境界の極点 (端) を区別しているためであると考えています。エンコーダは、オブジェクトをできるだけ分離するために大域的な特徴を学習します。デコーダは、境界の特定の位置に注意を払います。さまざまなオブジェクトの境界ボックスの位置を最終的に正確に予測します。

オブジェクトクエリの視覚化

        上の図は、学習済みオブジェクト クエリに関する COCO2017 検証セット内のすべての予測ボックスを視覚化したものです。オペレータは 100 個のオブジェクト クエリのうち 20 個を取り出します。各四角形はオブジェクト クエリを表し、各点は予測フレームの正規化された中心座標を表します。各オブジェクト クエリは質問する人に相当します。緑の点は小さなボックスを表し、赤の点は大きな水平ボックスを表し、青の点は大きな垂直ボックスを表します。

        学習された各オブジェクト クエリが実際にオブジェクトを「クエリ」するモードを学習していることがわかります。たとえば、以下の最初のクエリは、画像の左下隅に小さなオブジェクトがあるかどうか、および中央に大きな水平オブジェクトがあるかどうかをクエリする役割を果たし、2 番目のクエリは、小さなオブジェクトがあるかどうかをクエリする役割を果たします。右側のオブジェクト、100 個の異なるオブジェクト クエリのクエリ後に完了します。その後、ターゲットの検出が完了します。この視覚化実験から、学習されたオブジェクトのクエリが行うことはアンカーと似ており、特定の位置に特定のオブジェクトがあるかどうかを確認しますが、アンカーは事前に手動で設定する必要があり、クエリはネットワークに接続され、エンドツーエンドで学習します。

        上の図から、各画像の中央に赤い縦線があることもわかります。これは、各クエリが画像の中央に大きな水平オブジェクトがあるかどうかを検出することを示しています。これは、COCO データセットの画像の中心に大きなオブジェクトが存在することが多く、クエリがこのパターン、つまり分布を学習しているためです。

5。結論

  • DETR は、アンカー設定を学習されたオブジェクト クエリに置き換え、NMS 後処理を 2 部グラフ マッチング手法に置き換え、以前は学習できなかったステップを学習可能なコンテンツに置き換えることにより、エンドツーエンドのターゲット検出ネットワークを実現します。
  • Transformer のグローバル機能インタラクション機能を使用すると、各オブジェクトの信頼できる予測結果を「1 対 1」で直接出力できます。
  • これは、COCO データセットの Faster R-CNN ベースライン モデルと同等であり、パノプティック セグメンテーション タスクでより良い結果を達成します。
  • DETR は大きなオブジェクトに対して非常にうまく機能します
  • 主な利点はシンプルさであり、他のタスクに適用できる大きな可能性があります。
  • 短所: Transformer を使用するため推論時間が少し長く、最適化が容易ではなく、小さなオブジェクトのパフォーマンスも劣ります。その後、Deformable DETR によって、推論時間と小さなオブジェクトの検出が不十分であるという欠点が解決されました。

        DETR 自体の検出性能は優れているわけではありませんが、実際にはターゲット検出分野の問題点をいくつか解決したため、新しいエンドツーエンド検出フレームワークが提案され、一連のフォローアップ作業により性能が向上しました。

        後続動作:omni-DETR ; up-DETR ; PnP-DETR ; SMAC-DETR ; Deformer-DETR ; DAB-DETR ; SAM-DETR ; DN-DETR ; OW-DETR ; OV-DETR

おすすめ

転載: blog.csdn.net/iwill323/article/details/128450164