人工知能
TinySAM : セグメントアニシングモデルの境界を押し広げる

オブジェクトセグメンテーションは、現代のコンピュータビジョンで基礎的な重要な分野です。オブジェクトのローカリゼーションや識別などの視覚コンポーネントを必要とするアプリケーションで重要な役割を果たします。リアルタイムで高速に正確なセグメンテーションが求められます。この重要性により、オブジェクトセグメンテーションは一貫してホットな研究トピックとなり、インスタンスセグメンテーション、セマンティックセグメンテーション、パノプティックセグメンテーションなどの分野で重要な研究が行われています。
オブジェクトセグメンテーションの進化に伴い、セグメントアニシングモデル(SAM)が優れたツールとして登場し、優れたセグメンテーション能力を示し、さまざまなコンピュータビジョンアプリケーションで採用されています。事前トレーニングされたSAMアーキテクチャを使用するフレームワークは、ダウンストリームのビジョンタスクで優れたパフォーマンスを達成しています。ただし、SAMの複雑で重いアーキテクチャは大量の計算能力を必要とし、計算リソースが制約されたデバイスでの実装を妨げています。
SAMの計算上の課題に対処するために、研究者はTiny Segment Anything Model(TinySAM)を開発しました。これは、元のフレームワークのゼロショットパフォーマンスを維持しながら、より軽量なモデルです。TinySAMは、オンラインハードプロンプトを使用したフルステージの知識蒸留方法を使用して、より効率的な学生モデルを作成します。プロンプト可能なセグメンテーションタスクに適応したポストトレーニング量子化により、計算コストがさらに削減されます。さらに、TinySAMの設計は階層的なセグメンテーションを目的としており、パフォーマンスを損なうことなく推論速度をほぼ2倍にします。
この記事では、TinySAMフレームワークについて、その基礎原理、構造、他の最先端のセグメンテーションフレームワークとの比較を詳しく調べてみましょう。
TinySAM : 効率的なセグメントアニシングモデル
セグメントアニシングモデルは、11百万以上の画像と10億以上の画像マスクを含む大量のセグメンテーションデータセットを備え、数多くのコンピュータビジョンアプリケーションの急速な進歩に貢献しています。任意のカテゴリと形状のオブジェクトをセグメント化するタスクで優れたパフォーマンスを発揮し、画像インペイント、オブジェクトトラッキング、3Dビジョンなどのダウンストリームタスクを実行するフレームワークの基礎となります。さらに、セグメントアニシングモデルは、ゼロショットセグメンテーションの優れたパフォーマンスを提供し、医療研究や医療画像処理などのデータが限られている感度の高い業界に利益をもたらしています。
セグメントアニシングモデルの優れたセグメンテーション能力については疑問の余地がありませんが、複雑なアーキテクチャ、計算リソースの高さ、運用コストの高さなどの欠点があります。現代のGPUで動作するSAMモデルの推論時間は、1024×1024の画像で最大2秒になります。したがって、計算リソースが制約されたデバイスでSAMアプリケーションを実装することは非常に困難です。この課題を克服するために、MobileSAMやFastSAMなどの最近の研究では、計算効率の高いSAMモデルを開発しようとしました。MobileSAMフレームワークは、画像エンコーダーの重いコンポーネントをTinyViTフレームワークのアーキテクチャに置き換えようとします。一方、FastSAMモデルは、YoloV8モデルを使用して、セグメンテーションタスクを1つのカテゴリのみのインスタンスセグメンテーションタスクに変換します。ただし、これらの方法は計算リソースの削減に一定の成功を収めたものの、特にゼロショットダウンストリームタスクでのパフォーマンスを維持することができませんでした。
TinySAMまたはTinyセグメントアニシングモデルは、SAMモデルの計算リソースの要件を削減することなく、パフォーマンスを維持することを目的としたものです。さらに、TinySAMフレームワークは、コンパクトな学生ネットワークの能力を向上させることを目的として、フルステージの知識蒸留方法を提案します。TinySAMフレームワークは、教師ネットワークの指導の下で、エンドツーエンドの方法で学生ネットワークを蒸留します。さらに、蒸留プロセスを強化するために、フレームワークはオンラインハードプロンプトサンプリング戦略を実装します。さらに、計算コストを削減するために、TinySAMフレームワークは、プロンプト可能なセグメンテーションタスクにポストトレーニング量子化を適用します。
セグメントアニシングモデルの主要な計算リソースの要件は、グリッドプロンプトポイントから画像内のすべてをセグメント化するために大量のマスクを生成することです。このセグメンテーション戦略の計算リソースの要件を克服するために、TinySAMフレームワークは階層的なセグメンテーション戦略を使用し、推論速度をほぼ2倍にします。TinySAMフレームワークは、これらの方法を使用して、計算リソースの要件を大幅に削減し、効率的なセグメンテーションタスクの新しい境界を設定します。
TinySAM : アーキテクチャと方法論
TinySAMフレームワークのアーキテクチャと方法論について説明する前に、まずその前身であるSAMフレームワークを見てみましょう。セグメントアニシングモデルは、導入以来、さまざまなダウンストリームビジョンタスクとオブジェクトセグメンテーションタスクで優れたパフォーマンス、汎用性、一般化能力を示しています。
セグメントアニシングモデルの核心は、3つのサブネットワークで構成されています。プロンプトエンコーダー、画像エンコーダー、そしてマスクデコーダーです。プロンプトエンコーダーの主な目的は、任意の形状のマスク、入力ポイント、ボックス、自由形式テキストを位置情報とともにエンコードすることです。画像エンコーダーは、重いViTまたはビジョントランスフォーマーベースのネットワークで、入力画像をエンベッディングに変換します。モデルは、幾何学的プロンプトとテキストプロンプトを処理するために異なるネットワークを使用します。最後に、マスクデコーダーには、プロンプトエンコーダーと画像エンコーダーの出力を受け取って最終的なマスク予測を生成する2ウェイトランスフォーマーが含まれます。データセットを使用して、セグメントアニシングモデルの優れたセグメンテーション能力が、形状やカテゴリに関係なくオブジェクトに対して実証されます。さらに、セグメントアニシングモデルは、ゼロショットダウンストリームビジョンタスクで優れたパフォーマンスと効率を示しています。オブジェクト提案、エッジ検出、テキストからマスク予測、インスタンスセグメンテーションなどのタスクが含まれます。セグメンテーション能力の高さと、柔軟なプロンプト提供により、SAMフレームワークはビジョンアプリケーションの基礎となります。ただし、伝統的なSAMアーキテクチャの計算リソースの高さは、開発者がSAMベースのアプリケーションを計算リソースが制約されたデバイスで展開することを非常に困難にします。
知識蒸留
知識蒸留は、トレーニング中にコンパクトなネットワークのパフォーマンスを向上させるための重要なアプローチです。知識蒸留方法は、教師ネットワークの出力を使用して、軽量な学生ネットワークのトレーニングを指導します。知識蒸留方法は、Intermediate特徴の蒸留とネットワーク出力の蒸留の2つのサブカテゴリに分けることができますが、多くの研究は画像分類タスクに焦点を当てています。
以下の図は、TinySAMフレームワークのジェネリックアーキテクチャとゼロショットインスタンスセグメンテーションタスクのパフォーマンスの概要を示しています。

最初のステージでは、TinySAMフレームワークはSAMフレームワーク用に設計された知識蒸留を実装し、蒸留プロセスをさらに活性化するために、オンラインハードプロンプトサンプリング戦略を使用して、教師ネットワークから学生ネットワークにハードな知識をマイニングします。2番目のステージでは、TinySAMフレームワークは、プロンプト可能なセグメンテーションタスクにポストトレーニング量子化を適用し、軽量な学生ネットワークに実装します。最後に、モデルは、セグメンテーションタスク用に設計された階層的なセグメンテーション推論モードを実装し、推論速度をほぼ2倍にします。
フルステージ知識蒸留
前述のように、セグメントアニシングモデルは、プロンプトエンコーダー、画像エンコーダー、そしてマスクデコーダーの3つのサブネットワークで構成されています。画像エンコーダーコンポーネントは、ビジョントランスフォーマーに基づいており、計算リソースの要件が高くなります。この問題に対処するために、MobileSAMフレームワークは、ビジョントランスフォーマーをTinyViTまたはTinyビジョントランスフォーマーに置き換えましたが、置き換えは有効ではありませんでした。パフォーマンスの低下が大きかったためです。パフォーマンスの低下を避けるために、TinySAMフレームワークは、軽量な画像エンコーダーを学習レベルから複数の知識レベルまで導くフルステージ知識蒸留方法を実装します。伝統的な損失と予測結果の間の損失に加えて、TinySAMフレームワークは、異なるステージで複数の蒸留損失を導入します。以下の図は、以下の通りです。

量子化
モデル量子化は、コンピュータビジョンフレームワークで一般的なアプローチであり、浮動小数点テンソルをより低い帯域幅の整数テンソルに量子化することで、計算の複雑さとストレージの要件を削減することを目的としています。
TinySAMでの量子化の主な目的は、スケーリングファクターを使用して浮動小数点テンソルを整数テンソルに投影することです。行列乗算と量子化行列の間の距離を測るメトリックは、スケーリングファクターを最適化する上で重要な役割を果たします。
階層的なセグメンテーション
セグメントアニシングモデルは、画像内のすべてをセグメント化するために、自動マスクジェネレーターを使用してグリッドポイントをサンプリングすることを提案します。ただし、密なポイントグリッドを使用すると、セグメンテーション出力が細かすぎることと、プロセスが大量の計算リソースを必要とすること、そして高額な運用コストが発生することが示されています。さらに、オブジェクトのセグメンテーションに多くのサンプリングポイントが必要な場合、オブジェクトの異なる部分が別々のマスクとしてセグメント化される可能性があります。一方、すべてモードの推論時間は、画像エンコーダーが大きく縮小されたことによるものです。すべてモードの運用コストを削減するために、TinySAMフレームワークは、階層的なマスク生成アプローチを使用します。以下の図は、元のSAMフレームワークとの戦略の違いを示しています。

元のSAMフレームワークとは異なり、TinySAMモデルは、各辺に25%のポイントのみを使用し、元の設定のポイントの1/16のみを使用します。モデルは、これらのプロンプトでマスクデコーダーとプロンプトエンコーダーを推論し、出力を取得します。モデルは、あるしきい値を超える信頼度のマスクをフィルタリングし、対応するロケーションを潜在的な最終予測の領域としてマスクします。モデルは、これらの領域を、信頼度の高いインスタンスのセグメンテーション結果として扱い、ポイントプロンプトを生成する必要はありません。この戦略は、オブジェクトの細かすぎるセグメンテーションを防ぎ、運用コストと計算リソースの要件を大幅に削減するのに役立ちます。フレームワークは、結果をマージしてポストプロセスし、最終的なマスクを取得します。
TinySAM : 実験と結果
蒸留プロセスを加速するために、TinySAMフレームワークは、教師ネットワークからの画像埋め込みを事前に計算して保存します。したがって、トレーニング中に教師ネットワークの重い画像エンコーダーを繰り返し計算する必要はなくなります。ポストトレーニング量子化の場合、TinySAMフレームワークは、すべての行列乗算層、畳み込み層、逆畳み込み層、線形層を量子化します。モデルは、畳み込み層と逆畳み込み層の両方にチャネルごとのスケーリングファクターを使用します。行列乗算層の場合、モデルはヘッドごとのスケーリングファクターを実装し、線形層の場合、モデルは線形スケーリングファクターを実装します。モデルは、ゼロショットダウンストリームタスクの評価も実行します。
ゼロショットインスタンスセグメンテーションタスクの場合、TinySAMフレームワークは、インスタンスセグメンテーションのために、Vision Transformer Det-HまたはVitDet-Hフレームワークのオブジェクト検出結果を使用します。以下の図は、TinySAMフレームワークがインスタンスセグメンテーションの精度とFLOPSスコアで既存の方法を上回っていることを示しています。

さらに、TinySAMモデルの定性的パフォーマンスは、ゼロショットインスタンスセグメンテーションで、緑のボックスがボックスプロンプトを表す以下の図に示されています。

ゼロショットポイント有効マスク評価の場合、TinySAMモデルは、さまざまなデータセットでMobileSAMフレームワークを大幅に上回り、フレームワークが利用するポイント数が少ない場合に、さらに優れた結果を達成します。

さらに、以下の表は、階層的なすべてモード戦略によって達成された加速と計算リソースの削減の結果を要約しています。モデルは、さまざまな戦略で同じ安定性スコアとしきい値を適用し、結果を以下に示します。

最終的な考え
この記事では、セグメンテーションタスクの境界を押し広げることを目的としたTinySAMフレームワークについて説明しました。TinySAMまたはTinyセグメントアニシングモデルは、元のフレームワークのゼロショットパフォーマンスを維持しながら、計算リソースの要件を削減します。TinySAMフレームワークは、オンラインハードプロンプトを使用したフルステージの知識蒸留方法を最初に実装し、プロンプト可能なセグメンテーションタスクにポストトレーニング量子化を適応させます。さらに、フレームワークは、推論速度をほぼ2倍にし、パフォーマンスを損なうことなく、階層的なセグメンテーションを目的としています。TinySAMフレームワークは、これらの方法を使用して、計算リソースの要件を大幅に削減し、効率的なセグメンテーションタスクの新しい境界を設定します。












