Grounding DINO : 任意の物体を検出できる物体検出モデル
任意の物体を検出できる物体検出モデルであるGrounding DINOのご紹介です。検出したい物体をテキストで指定すると、指定した物体のBounding Boxを取得可能です。
Grounding DINOの概要
Grounding DINOは、任意の物体を検出できる物体検出モデルです。画像に対して、テキストで検知したい物体を入力すると、その物体のBounding Boxを取得可能です。
Grounding DINOのアーキテクチャ
CLIPの物体検出バージョンとして、GLIPが提案されています。GLIPは、Visual Encoderで物体の候補領域とEmbeddingを、Text EncoderでテキストのEmbeddingを計算し、その内積でWord-Region Alignment Scoreを計算します。これにより、任意のテキストでの物体検出を実現しています。
また、Transformerを使用した物体検出器としてDINOが提案されています。DINOは、DETRからNMS(Non Max Suppression)などの固定的なアルゴリズムを除去し、End2Endで最適化を行えるようにしたアルゴリズムです。
Grounding DINOは、GLIPの物体検出部分をDINOにしたモデルアーキテクチャとなります。
テキストのトークナイズには、GLIPと同様のBERT-baseを使用しています。
Grounding DINOの使用方法
ailia SDKでGroundind DINOを使用するには、下記のコマンドを使用します。入力画像と、検知したい物体のラベルを指定します。
python3 groundingdino.py -i input.jpg --caption "Horse. Clouds. Grasses. Sky. Hill."
Grounding DINOの使用例
Deticのサンプル画像に対して、検出をしてみます。どの物体も、指定した通りに取得可能できました。
blue bottle
red cup
web camera
ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。