DETRを理解する:トランスフォーマーによるエンドツーエンドのオブジェクト検出
DETR(DEtection TRansformer)は、変換器を用いたエンドツーエンドの物体検出のためのディープラーニングモデルである。
シリーズ全体を読む
- 交差エントロピー損失:機械学習におけるその役割を解明する
- バッチとレイヤーの正規化 - ニューラルネットワークの効率性を引き出す
- ベクトル・データベースによるAIと機械学習の強化
- ラングチェーンツール先進のツールセットでAI開発に革命を起こす
- ベクターデータベース検索テクノロジーの未来を再定義する
- ローカル感度ハッシング (L.S.H.):包括的ガイド
- AIの最適化:安定した普及と効率的なキャッシュ戦略への手引き
- ネモ・ガードレールAIの安全性と信頼性を高める
- ベクトル・データベースに最適化されたデータ・モデリング技法
- カラーヒストグラムの謎を解く:画像処理と解析の手引き
- BGE-M3を探る:Milvusによる情報検索の未来
- BM25を使いこなす:Milvusにおけるアルゴリズムとその応用を深く掘り下げる
- TF-IDF - NLPにおける項頻度-逆文書頻度の理解
- ニューラルネットワークにおける正則化を理解する
- 初心者のためのヴィジョン・トランスフォーマー(ViT)理解ガイド
- DETRを理解する:トランスフォーマーによるエンドツーエンドのオブジェクト検出
- ベクトル・データベース vs グラフ・データベース
- コンピュータ・ビジョンとは?
- 画像認識のための深層残差学習
- トランスフォーマーモデルの解読:そのアーキテクチャと基本原理の研究
- 物体検出とは?総合ガイド
- マルチエージェントシステムの進化:初期のニューラルネットワークから現代の分散学習まで(アルゴリズム編)
- マルチエージェントシステムの進化:初期のニューラルネットワークから現代の分散学習まで(方法論編)
- CoCaを理解する:コントラスト・キャプションによる画像テキスト・ファウンデーション・モデルの進歩
- フローレンスマイクロソフトによるコンピュータビジョンの高度な基礎モデル
- トランスフォーマーの後継者候補マンバ
- ALIGNの説明ノイジー・テキスト教師による視覚・視覚言語表現学習のスケールアップ
2020年にFacebook AI Researchによって発表されたDETR(DEtection TRansformer)は、トランスフォーマーを用いたエンドツーエンドのオブジェクト検出のためのディープラーニングモデルである。トランスフォーマー](https://zilliz.com/learn/NLP-essentials-understanding-transformers-in-AI)は、その優れた性能から、機械翻訳や言語モデリングなどの自然言語処理(NLP)タスクにおける逐次データのモデリングに広く使用されている。トランスフォーマーの自己注意メカニズムは、特徴学習にとってより重要な入力データの特定の部分に焦点を当てることを可能にする。このメカニズムにより、DETRモデルはより効果的に推論することもできる。同様に、DETRはコンピュータ・ビジョンにおける物体検出にトランスフォーマ・アーキテクチャの利点を活用している。DETRは、最初に領域提案を生成し、その後に分類を行う多段パイプラインの必要性を排除し、代わりにタスクを単一段階のアプローチとして扱う。
このブログでは、DETRのコンセプト、アーキテクチャ、長所、性能について説明する。また、DETRモデルとMilvusのようなベクトルデータベースを組み合わせて、画像検索システムやマルチモーダル検索ソリューションのような高度なデータ検索アプリケーションを実現する方法についても紹介する。
オブジェクト検出とは?
DETRの概念に入る前に、まず物体検出について理解しよう。
オブジェクト検出は、画像やビデオフレーム内のオブジェクトを識別し、位置を特定するためのコンピュータビジョン技術です。オブジェクト検出とは、例えば、物事を見つけるのが得意な友人がいるとします。友人に写真を見せると、彼らは写真に写っているものをすべて指さして名前を挙げる。"あれ、犬がいる、木がある、あそこに人がいる!"といった具合だ。この "賢い友人 "こそが、コンピュータのアルゴリズムとモデルを使った物体検出技術なのだ。
物体検出は、主に2つのタスクを組み合わせている:
1.オブジェクトの分類:画像内にどのようなオブジェクトが存在するかを識別する。
2.オブジェクトの位置特定:通常、オブジェクトの周囲にバウンディングボックスを描画することで、各オブジェクトが画像内のどの位置にあるかを決定します。
画像内の物体を検出・識別することにより、物体検出は、自動タグ付け、自動車の安全性、小売、セキュリティなど、さまざまな分野で視覚情報の意味を理解するのに役立ちます。
DETR (DEtection TRansformer)とは?
DETRは、画像のバウンディングボックスとクラスラベルを予測するためにトランスフォーマーを活用する、物体検出のためのディープラーニングモデルです。トランスフォーマーとはニューラルネットワークのことで、自己アテンション機構を持つエンコーダー・デコーダーアーキテクチャで構成されている。トランスフォーマーを利用することで、DETRは画像内のオブジェクト間の大域的なコンテキストと関係を捉えることができ、より正確な検出につながる。
YOLO(You Only Look Once)やR-CNN(Region Convolutional Neural Network)のような従来の物体検出アプローチは、多くの領域プロポーザルやアンカーボックスを生成し、NMS(Non-Maximum Suppression)を用いてフィルタリングする。このアプローチはアーキテクチャを複雑にし、学習効率を悪くする。
対照的に、DETRは物体検出を直接集合予測問題とする。その目的は、画像中の全てのオブジェクトを集合とみなし、それらのバウンディングボックスとクラスを1回のパスで予測することである。この新しいアプローチにより、特に多くの物体が互いに接近している場合の検出精度が向上する。
より高速なR-CNN(領域畳み込みニューラルネットワーク)とDETRのパイプラインの違い(出典)](https://assets.zilliz.com/Figure_1_Difference_between_pipelines_of_Faster_R_CNN_Region_Convolutional_Neural_Network_and_DETR_Source_d90889cd4f.png)
図1: Faster R-CNN (Region Convolutional Neural Network)とDETRのパイプラインの違い(Source)_。
DETRはどのように機能するのか?
DETRのアーキテクチャ
DETRアーキテクチャの主な構成要素は、畳み込みニューラルネットワーク(CNN)バックボーン、変換エンコーダとデコーダ、予測ヘッドである。DETRのアーキテクチャは下図のようになっている:
DETRアーキテクチャ](https://assets.zilliz.com/DETR_architecture_Source_a74e1aafa0.png)
DETRアーキテクチャ (出典)
1)CNNバックボーン:画像はまずCNNバックボーンに渡され、CNNバックボーンは画像の特徴表現を高いレベルで出力する。一般的なCNNバックボーンの例としては、VGG(Visual Geometry Group)やResNetがある。これらの特徴には、画像内のオブジェクトに関する空間情報が含まれており、これが変換エンコーダの入力として渡される。
2)トランスフォーマ・エンコーダー:トランスフォーマ・エンコーダーは、これらの特徴量を特徴ベクトルのシーケンスにエンコードします。このエンコーダはマルチヘッドの自己アテンションブロックを含むため、画像の異なる部分間の長距離依存関係を通じてコンテキスト情報をキャプチャすることができます。この段階で、パイプラインのもう一つの重要な要素は、CNNの出力に位置エンコーディングを加えることである。変換器にはもともと空間的な理解がないため、この位置エンコーディングによって、画像内のオブジェクトの相対的な位置を知ることができる。
DETRで使われている変換器アーキテクチャ](https://assets.zilliz.com/Transformer_architecture_used_in_DETR_Source_b1b3d7232d.png)
DETRで使われているトランスフォーマーアーキテクチャ (出典)
3)変換器デコーダ:変換器デコーダはCNNで符号化された特徴量と学習可能なオブジェクトクエリとの間の関係を学習する。通常、自然言語処理では、自己注意を計算するために、クエリ、キー、値を必要とする。従って、コンピュータビジョンにおいて、DETRはオブジェクトクエリという概念を導入し、これはモデルが予測する必要のあるオブジェクトの学習可能な表現を指す。オブジェクトクエリの数はあらかじめ決められており、固定されたままである。キーは画像内の空間的位置を表し、値は特徴に関する情報を含む。
4)**予測ヘッドは検出されたオブジェクトのバウンディングボックスとクラスを出力する。これらは、検出されたオブジェクトのバウンディングボックスとクラスを予測するフィードフォワードネットワークヘッドか、検出されなかった場合の「オブジェクトなし」クラスを予測するフィードフォワードネットワークヘッドで構成される。さらにDETRは、予測されたバウンディングボックスがグラウンドトゥルースのオブジェクトに関連することを保証するために、二分割マッチングの技術を採用している。この手法もまた、モデル学習を洗練させるのに役立つ。
トレーニングロス
トレーニングパイプラインの主なコンポーネントの1つがトレーニングロスです。学習損失は、モデルがバウンディングボックスとクラスを予測する際に、分類損失と回帰損失を組み合わせます。
1)セット予測損失: DETRは、オブジェクトの予測されたクラスの精度を測定するためにセット予測損失を使用します。予測されたオブジェクト・クラスと地上真実のオブジェクト・クラスの差を計算することで、欠落しているオブジェクト・クラスについて知ることができる。
2)バウンディングボックス損失: DETRはバウンディングボックス損失を使用し、バウンディングボックスの予測座標と地上真理座標のずれを測定する。この損失は、画像内のオブジェクトの位置を正確に特定するのに役立つ。
DETRの長所と短所
長所
1)シンプルなアーキテクチャ: DETRは、バウンディングボックスとクラス予測を一度に実行することで、多段パイプラインの必要性を排除します。エンドツーエンドのアプローチにより、物体検出のパイプラインを効率化します。
2)グローバルコンテキストの認識:変換器は自己注意メカニズムを使用するため、DETRは画像内の他のオブジェクトの位置と関係を見ることによってグローバルコンテキストを捉えることができます。
3)**リカレントニューラルネットワークのような従来のアーキテクチャは、予測を逐次的に行っていたため、処理速度が遅く、効率も悪かった。しかし、セットベースのアプローチでは、DETRは並列に最終的な予測セットを作成するため、学習パイプラインがよりシンプルで効率的になります。
デメリット
1)計算資源:* DETRは変換器ベースのモデルであるため、特に高解像度画像やバックボーンモデルが大きく、データサイズが巨大な場合、学習に高い計算資源を必要とする。
2)**DETRはあらかじめ決まったオブジェクトクエリ数を提示する必要があるため、予測するオブジェクト数が変動するシーンを限定してしまう可能性がある。異なるオブジェクト数を動的に処理するためにモデルを調整することは課題である。
3)推論速度: DETRは学習パイプラインを簡素化する一方で、変換器アーキテクチャの複雑さにより、推論速度は従来の方法よりも遅くなる可能性があり、リアルタイムのユースケースには不向きである。
DETRの実験と結果
DETRは教師ありディープラーニングモデルである。COCO物体検出データセットやPascal VOCなどの大規模データセットを用いて学習される。フリップ、トリミング、ズームインとズームアウト、ランダムジッタリングなどのデータ増強技術は、モデルがより良い汎化を達成するのに役立つ。実験では、4つの異なるDETRモデルが検討された:
ResNet-50バックボーンで構築された基本DETR
ResNet-101バックボーンを用いたDETR
と「DC5」で示される2つのモデルが拡張C5ステージを構成する。
DC5'モデルはCNNの最終段階で特徴マップの解像度を2倍向上させ、より小さな対象物に対してより良い予測を導く。
DETR論文の主な目的は、COCO 2017物体検出データセットで、競争力のあるFaster R-CNNベースラインに対してDETRを評価することであった。最初のリリースでは、DETRはFaster R-CNNベースラインを上回ったが、Faster R-CNN ResNet50 FPN V2は現在DETRモデルよりも優れた性能を発揮している。
以下の表は、論文に示されているように、DETRのバリエーションと異なるFaster RCNNベースラインの結果を比較したものです。
DETR変種とFaster R-CNN変種の結果比較](https://assets.zilliz.com/Comparison_of_results_of_DETR_variants_with_Faster_R_CNN_variants_97e009964f.png)
DETR変種とFaster R-CNN変種の結果比較 (ソース)
その結果、DETRモデルはFaster R-CNNモデルと同等の性能を達成した。最も高性能なモデルはDETR-DC5-R101モデルで、mAPスコアは44.9である。加えて、DETRモデルは小さなオブジェクトよりも大きなオブジェクトに対して著しく優れた性能を示していることは注目に値する。
DETRの実験と性能比較結果を再現するには、GitHubの the code and pre-trained models を参照。
画像検索とマルチモーダル検索のためのDETRとベクトルデータベースの統合
DETRは最先端のオブジェクト検出モデルであり、変換器を用いて画像内のオブジェクトを正確に識別・位置特定し、オブジェクトの視覚的特徴をカプセル化した高次元特徴ベクトルを生成する。一方、MilvusやZilliz Cloud(フルマネージドMilvus)のようなベクトルデータベースは、高次元ベクトルの効率的なベクトル類似検索を管理・実行するために設計された特別な保存・検索システムです。
DETRを活用して画像から特徴ベクトルを抽出し、ベクトルデータベースに格納することで、高度な画像検索システム、マルチモーダル検索ソリューション、その他コンピュータビジョンやデータ検索における多くのアプリケーションを構築することができます。
例えば、電子商取引のアプリケーションでは、DETRは商品画像を分析して特徴ベクトルを生成し、それをMilvusのようなベクトルデータベースに格納することができる。ユーザが新しい画像でクエリを実行すると、システムはクエリの特徴ベクトルと保存されているベクトルを比較することにより、類似商品を素早く検索することができ、正確で効率的な画像検索機能を提供します。
さらに、ベクトルデータベースは、マルチモーダル検索のために、DETRによって抽出された画像ベクトルと共に、テキスト、オーディオ、ビデオなどの異なるデータタイプのベクトルを保存し、インデックスを付けることができる。このアプローチにより、ユーザーは複数のデータタイプを組み合わせた複雑な検索を行うことができます。例えば、ユーザーが商品画像をアップロードし、テキストの説明を提供すると、システムは視覚的およびテキスト的な条件に一致する関連商品を返します。
この技術の組み合わせにより、自動在庫管理からマルチメディア検索の強化まで、さまざまな領域で洗練されたソリューションが可能になり、さまざまなモダリティにわたるデータ検索の精度と効率の両方が向上する。
結論
DETRは、変換器を用いた物体検出のための革新的なアプローチを提示する。RCNNやFaster R-CNNのような従来の多段階モデルとは異なり、エンド・ツー・エンドのモデルにより、物体検出と分類が1パスで実行される。直接集合予測アプローチは並列処理を可能にし、アーキテクチャをよりシンプルにする。DETRはその長所にもかかわらず、計算資源の消費量や推論速度が高いという課題に直面している。現在進行中の研究は、これらの限界に対処し、モデルの性能をさらに向上させることを目指している。さらに、変換器を用いることで、自然言語処理とコンピュータビジョンを含むバイモーダルなタスクを解決する統一的な方法を提示する。従って、DETRは物体検出とバイモーダルタスクへのアプローチ方法を再構築する可能性のある有望な手法である。
ベクトルデータベースとDETR技術を組み合わせることで、画像検索システムやマルチモーダル検索ソリューションなど、様々なコンピュータビジョンやデータ検索アプリケーションを大幅に構築・強化することができる。
その他のリソース
DETRのオリジナル論文トランスフォーマーによるエンド・ツー・エンド物体検出
HuggingFaceによるDETRに関するコードチュートリアル](https://huggingface.co/docs/transformers/en/model_doc/detr)
ニューラルネットワークの正則化と主要な正則化テクニックを理解する](https://zilliz.com/learn/understanding-regularization-in-nueral-networks)
クロスエントロピー損失:機械学習におけるその役割を解明する](https://zilliz.com/learn/Cross-Entropy-Loss-Unraveling-its-Role-in-Machine-Learning)
カラーヒストグラムの謎解き:画像処理と解析の手引き](https://zilliz.com/learn/demystifying-color-histograms)
検索拡張生成(RAG)とは](https://zilliz.com/learn/Retrieval-Augmented-Generation)
ベクターデータベースとは何か、どのように機能するのか](https://zilliz.com/learn/what-is-vector-database)
生成AIリソースハブ|Zilliz](https://zilliz.com/learn/generative-ai)