スタブ TinySAM : セグメント何でもモデルの限界を押し上げる - Unite.AI
私達と接続

Artificial Intelligence

TinySAM : セグメント何でもモデルの境界を押し広げる

mm

公開済み

 on

TinySAM : セグメント何でもモデルの境界を押し広げる

オブジェクトのセグメンテーションは、現代のコンピューター ビジョンにおける基礎的かつ非常に重要な分野です。これは、オブジェクトの位置特定や識別など、広範な視覚コンポーネントを必要とするアプリケーションで重要な役割を果たし、リアルタイム、高速、正確なセグメンテーションが求められます。この重要性により、オブジェクト セグメンテーションは常に注目の研究トピックとなっており、インスタンス セグメンテーション、セマンティック セグメンテーション、パノプティック セグメンテーションなどの分野で重要な研究が行われています。

オブジェクト セグメンテーションの進化に伴い、Segment Anything Model (SAM) が注目すべきツールとして台頭し、優れたセグメンテーション能力を示し、さまざまなコンピュータ ビジョン アプリケーションにすぐに採用されました。事前トレーニングされた SAM アーキテクチャを使用するフレームワークは、下流のビジョン タスクで優れたパフォーマンスを達成しました。ただし、セグメンテーション タスクの機能と高精度にもかかわらず、SAM の複雑で重いアーキテクチャはかなりの計算能力を必要とし、計算に制約のあるデバイスでの実装の妨げとなります。

SAM の計算上の課題に対処するために、研究者は、元のフレームワークのゼロショット パフォーマンスを維持しながら、より軽量化した Tiny Segment Anything Model (TinySAM) を開発しました。 TinySAM は、オンラインのハード プロンプトを備えたフルステージの知識蒸留方法を使用して、より効率的な学生モデルを作成します。プロンプト可能なセグメンテーション タスクに適応したトレーニング後の量子化により、計算の必要性がさらに軽減されます。さらに、TinySAM の設計は階層的なセグメンテーションを目的としており、パフォーマンスを損なうことなく推論速度をほぼ 2 倍にします。

この記事では、TinySAM フレームワークについて詳しく説明し、その基本原理、アーキテクチャ、パフォーマンスを他の最先端のセグメンテーション フレームワークと比較して検討します。これらの側面をさらに詳しく見てみましょう。

TinySAM : 効率的なセグメント何でもモデル

Segment Anything Model は、11 万以上の画像と 3 億以上の画像マスクを収容する大規模なセグメンテーション データセットと組み合わせたその優れたセグメンテーション機能により、いくつかのコンピューター ビジョン アプリケーションの急速な進歩に貢献してきました。オブジェクトを任意のカテゴリや形状でセグメント化するタスクで優れたパフォーマンスを発揮するため、画像修復、オブジェクト追跡、XNUMXD ビジョンなどの下流タスクを実行するフレームワークの基盤として機能します。さらに、Segment Anything モデルは注目すべき機能も提供します。 ゼロショットセグメンテーション このパフォーマンスは、医療研究や医療画像業界など、限られた量のデータを扱う機密性の高い業界に恩恵をもたらしてきました。 

幅広い下流のビジョン タスクに対してセグメント エニシング モデルが提供する優れたセグメンテーション機能に疑問の余地はありませんが、複雑なアーキテクチャの過負荷、高い計算要件、および多額の運用コストという点で欠点があります。最新の GPU で実行されているシステムの場合、SAM モデルの推論時間は、2 × 1024 の画像で最大 1024 秒かかることがあります。その結果、計算能力が限られたデバイスに SAM アプリケーションを実装することは非常に困難な作業になります。このハードルを克服するために、MobileSAM や FastSAM などの最近の研究では、より計算効率の高い SAM モデルの開発が試みられています。 MobileSAM フレームワークは、イメージ エンコーダーの重いコンポーネントを TinyViT フレームワークのアーキテクチャに置き換えようとしますが、FastSAM モデルはセグメント タスクを、カテゴリが XNUMX つだけあるインスタンス セグメンテーション タスクに転送します。 ヨロV8 モデル。これらの方法は、計算要件の削減という点ではある程度の成功を収めることができましたが、特に下流のゼロショット タスクではパフォーマンスを維持できませんでした。 

TinySAM または Tiny Segment Anything Model は、ゼロショット ダウンストリーム タスクのパフォーマンスを妨げることなく、現在の SAM モデルの計算要件を削減する試みです。さらに、TinySAM フレームワークは、コンパクトな学生ネットワークの能力を向上させることを目的として、そのアーキテクチャに全段階の知識蒸留方法を実装することを提案しています。 TinySAM フレームワークは、さまざまな段階からの教師ネットワークの監督下で、エンドツーエンドの方法で生徒ネットワークを抽出します。パフォーマンスをさらに向上させるために、このフレームワークでは追加のオンライン ハード プロンプト サンプリング戦略を実装することで、蒸留プロセスがより困難な例に注意を払うことができるようになります。さらに、計算コストをさらに削減するために、TinySAM フレームワークは、トレーニング後の量子化コンポーネントにプロンプ​​ト可能なセグメンテーション タスクを公開します。 

何でもセグメント モデルの計算要件の主な部分は、モデルがグリッド プロンプト ポイントから大規模なマスクを生成して、画像内のすべてをセグメント化するためです。このセグメンテーション戦略の計算要件を克服するために、TinySAM フレームワークは、パフォーマンスを低下させることなく推論速度をほぼ 2 倍にする階層的なセグメントすべて戦略を採用しています。 TinySAM フレームワークは、アーキテクチャにこれらのメソッドが採用されているため、計算要件が大幅に削減され、効率的なセグメント何でもタスクに新しい制限が設定されます。 

TinySAM : アーキテクチャと方法論

TinySAM フレームワークのアーキテクチャと方法論について話す前に、まずその前身である SAM フレームワークを確認することが重要です。導入以来、Segment Anything Model は、下流のビジョンおよびオブジェクト セグメンテーション タスクの範囲にわたって、優れたパフォーマンス、多用途性、一般化機能を実証してきました。 

SAM モデルの中核は、プロンプト エンコーダー、イメージ エンコーダー、マスク デコーダーの 3 つのサブネットワークで構成されます。プロンプト エンコーダの主な目的は、任意の形状のマスク、入力ポイントとボックス、および位置情報を含む自由形式のテキストをエンコードすることです。画像エンコーダは、入力画像を抽出して埋め込みにする、ヘビー ViT またはビジョン トランスフォーマ ベースのネットワークです。モデルは、異なるネットワークを使用して、幾何学的プロンプトとテキスト プロンプトを処理します。最後に、マスク デコーダーには、プロンプトの出力と画像エンコーダーの出力を受信して​​最終的なマスク予測を生成する双方向トランスフォーマーが含まれています。データセットを使用すると、SAM フレームワークは、オブジェクトの形状やカテゴリに関係なく、オブジェクトの驚くべき高品質のセグメンテーション機能を実証します。さらに、 あらゆるモデルのセグメント化 オブジェクトの提案、エッジ検出、テキストからマスクへの予測、インスタンスのセグメンテーションなど、ゼロショットのダウンストリーム ビジョン タスク全体にわたって優れたパフォーマンスと効率性を実証します。 SAM フレームワークは、高品質のセグメンテーション機能と柔軟なプロンプト機能により、ビジョン アプリケーションの基盤を形成します。そうは言っても、多数のパラメータを伴う従来の SAM アーキテクチャの高度な計算要件を無視することはできず、開発者がリソースに制約のあるデバイスに SAM ベースのアプリケーションを展開することはほぼ不可能です。 

知識蒸留

知識の蒸留は、トレーニング段階でコンパクト ネットワークのパフォーマンスを向上させる重要なアプローチです。教師ネットワークの出力を使用して軽量の生徒ネットワークのトレーニングを監督する知識蒸留方法。知識蒸留手法は、中間特徴の蒸留とネットワーク出力の蒸留の 2 つのサブカテゴリーに分けることができ、知識蒸留に関する研究作業の大部分は画像分類タスクに焦点を当てています。 

そうは言っても、次の図は、TinySAM フレームワークの一般的なアーキテクチャと、ゼロショット インスタンス セグメンテーション タスクのパフォーマンスの概要を示しています。 

最初の段階では、TinySAM フレームワークは、SAM フレームワーク用に特別に設計された知識の蒸留を実装します。蒸留プロセスをさらに活性化するために、モデルはオンラインのハード プロンプト サンプリングを使用して、教師のネットワークから生徒のネットワークにハード ナレッジをマイニングします。第 2 段階では、TinySAM フレームワークがトレーニング後の量子化手法をプロンプト可能なセグメンテーション タスクに適応させ、軽量の学生ネットワークに実装します。最後に、このモデルはセグメンテーション タスク用に設計された階層セグメントすべて推論モードを実装しており、その結果、精度の損失は無視できる程度で推論速度が 2 倍になります。 

フルステージの知識の蒸留

前述したように、セグメント エニシング モデルは、プロンプト エンコーダー、イメージ エンコーダー、マスク デコーダーという 3 つのサブネットワークでコアが構成されており、イメージ エンコーダー コンポーネントはビジョン トランスフォーマー上に構築されており、高い計算要件を備えています。この問題に取り組むために、MobileSAM フレームワークはビジョン トランスフォーマーを TinyViT または Tiny Vision Transformer に置き換えましたが、パフォーマンスが大幅に低下するため、この置き換えは効果的ではありませんでした。パフォーマンスの低下を確実に防ぐために、TinySAM フレームワークは、軽量画像エンコーダーを学習レベルから複数の知識レベルに導くフルステージの知識蒸留メソッドを実装しています。グラウンド トゥルース ラベルと予測結果の間の従来の損失に加えて、TinySAM フレームワークでは、次の図に示すように、さまざまな段階で多数の蒸留損失が発生します。 

量子化

モデル量子化は、コンピューター ビジョン フレームワークで一般的なアプローチであり、出力品質を大幅に低下させることなく計算の複雑さとストレージ要件を軽減するために、重みまたはアクティベーションを高い帯域幅から低い帯域幅に量子化することによってモデルを圧縮するために使用されます。 

TinySAM における量子化の主な目的は、スケーリング係数を最適化するために重要な役割を果たす行列の乗算と量子化行列の間の距離を測定するためのメトリックを持つスケーリング係数を使用して、浮動小数点テンソルをビット整数テンソルに射影することです。 

階層セグメント何でも

Segment Anything モデルは、点をグリッドとしてサンプリングする自動マスク ジェネレーターを使用して、画像内のすべてをセグメント化することを提案します。ただし、高密度のポイント グリッドを使用すると、粒度が細かすぎるセグメンテーション出力が生成され、そのプロセスには大量の計算要件が必要となり、高い運用コストが発生することが示されています。さらに、一方の端では、完全なオブジェクトに対するサンプリング ポイントが多すぎると、オブジェクトのさまざまなセクションが別々のマスクとして誤ってセグメント化される可能性がありますが、他方の端では、Everything モード推論の時間コストは主に次の理由によるものです。画像エンコーダは大幅に縮小されました。 Everything モードの運用コストを削減するために、TinySAM フレームワークは階層マスク生成アプローチを使用します。次の図に示すように、元の SAM フレームワークとの戦略の違いがあります。 

元の SAM フレームワークで実装されたアプローチとは異なり、TinySAM モデルは各側で 25% のポイントのみを使用するため、元の設定で利用可能なポイントの 1/16 のみを利用します。次にモデルは、これらのプロンプトを使用してマスク デコーダーとプロンプト エンコーダーを推論し、出力を取得します。次にモデルは、特定のしきい値を超える信頼性を持って一部のマスクをフィルターし、対応する位置を潜在的な最終予測の領域としてマスクします。モデルはこれらの領域をインスタンスのセグメンテーション結果として高い信頼度で扱うため、ポイント プロンプトを生成する必要はありません。この戦略は、オブジェクトの過度の細分化を防ぐだけでなく、運用コストと計算要件を大幅に削減するのにも役立ちます。次に、フレームワークはこれら XNUMX つのラウンドの結果をマージおよび後処理して、最終的なマスクを取得します。 

TinySAM : 実験と結果

蒸留プロセスを高速化するために、TinySAM フレームワークは教師ネットワークからの画像埋め込みを事前に計算して保存します。これにより、トレーニング段階でモデルが教師ネットワークの重い画像エンコーダーを繰り返し計算する必要がなくなりました。トレーニング後の量子化では、TinySAM フレームワークは、畳み込み層と逆畳み込み層の両方にチャネルごとのスケーリング係数を使用してモデルを使用して、すべての行列乗算層、畳み込み層、デコンボリューション層、および線形層を量子化します。行列乗算レイヤーの場合、モデルはヘッド方向のスケーリング係数を実装しますが、線形レイヤーの場合、モデルは線形方向のスケーリング係数を実装します。このモデルは、ゼロショットの下流タスクの評価も行います。 

ゼロショット設定でのインスタンス セグメンテーション タスクの場合、TinySAM フレームワークは、その前任者である Segment Anything Model の実験設定に従い、インスタンス セグメンテーションに Vision Transformer Det-H または VitDet-H フレームワークのオブジェクト検出結果を使用します。次の図に示されているように、TinySAM フレームワークは、インスタンスのセグメンテーションの精度と FLOP スコアの点で既存の方法よりも優れています。 

さらに、TinySAM モデルの定性的パフォーマンスは、ボックス プロンプトを表す緑色のボックスを使用したゼロショット インスタンス セグメンテーションの次の画像で実証されています。 

ゼロショット ポイントの有効なマスク評価に関して、TinySAM モデルはさまざまなデータセットで MobileSAM フレームワークよりも大幅に優れており、フレームワークによるプロンプトとして使用されるポイントの数が少ない場合に、大幅に優れた結果が得られます。 

さらに、次の表は、階層型エブリシング モード戦略の結果として達成された計算要件の加速と減少の結果をまとめたものです。このモデルは、公平な比較を行うために、同じ安定性スコアとしきい値を異なる戦略で適用します。結果は以下に要約されています。 

最終的な考え

この記事では、あらゆるタスクのセグメント化の限界を押し広げ、元の SAM フレームワークと同等の計算要件と精度で効率的なモデル アーキテクチャを取得する、提案されたフレームワークである TinySAM について説明しました。 TinySAM または元のフレームワークのゼロショット パフォーマンスを維持し提供する Tiny Segment Anything Model。 TinySAM フレームワークは、まず、オンラインのハード プロンプトを使用して軽量の学生モデルを抽出する、フルステージの知識抽出メソッドを実装します。 TinySAM フレームワークは、トレーニング後の量子化をプロンプト可能なセグメンテーション タスクに適応させ、計算要件の削減にさらに役立ちます。さらに、このフレームワークは、すべてを階層的にセグメント化し、パフォーマンスに影響を与えることなく推論速度をほぼ 2 倍にすることも目指しています。 

「職業はエンジニア、心は作家」。 Kunal は、AI と ML に対する深い愛情と理解を備えたテクニカル ライターであり、魅力的で有益なドキュメントを通じてこれらの分野の複雑な概念を簡素化することに専念しています。