Yolo 深圳
深セン
今すぐ参加
用語集

インタラクティブなセグメンテーション

インタラクティブ・セグメンテーションが、ヒューマン・イン・ザ・ループ方式のプロンプトを用いてオブジェクトを抽出し、分離する仕組みについて学びましょう。Ultralytics Ultralytics タスクを実行する方法をご紹介します。

インタラクティブセグメンテーションとは、 コンピュータビジョンにおける高度に協調的なアプローチであり、 人間のユーザーがクリック、バウンディングボックス、テキストプロンプトなどの 連続的または単発的な入力を提供することで、AIモデルが画像内の特定の オブジェクトを抽出するよう誘導するものです。 完全自動化された手法とは異なり、この「ヒューマン・イン・ザ・ループ」手法では、ユーザーが セグメンテーションの対象を正確に定義できるため、曖昧な視覚データ、 重なり合う物体、または未知のクラスを扱う際に特に有用です。ここ数年、ファウンデーションモデルの導入により、 このプロセスの速度と精度が劇的に向上し、データアノテーションや精密画像処理において不可欠なツールへと 進化しました。

インタラクティブ・セグメンテーションの仕組み

このワークフローの中核となるのは、 プロンプトによる概念セグメンテーションであり、モデルはユーザーの指示を解釈して、ピクセル単位で正確なマスクを生成します。ユーザーは、 選択したい前景のオブジェクトを「ポジティブ」クリックし、除外したい背景の 領域を「ネガティブ」クリックします。 「Segment Anything Model(SAM)」やその後継モデルである 「MetaSAM 」のような高度なモデルは、 多様なジェスチャー[1]、バウンディングボックス、さらにはテキスト による説明を受け入れることで、視覚検索の精度をさらに高めています。モデルはこれらのプロンプトに基づいて最適な境界を算出し、 ユーザーは希望する精度が得られるまで、追加のクリックによってマスクを反復的に微調整することができます。

実際のアプリケーション

インタラクティブなセグメンテーションは、人間の専門知識とAIの効率性を融合させることで、数多くの業界におけるワークフローを変革しています。

  • 医療画像: 医療分野におけるAIでは、医師や放射線科医が インタラクティブなツールを用いて、MRIやCTスキャン上の腫瘍、病変、あるいは特定の臓器を特定しています。医療画像の 空間モデリングに関する研究[2]によると、 インタラクティブなクリック操作により、医療従事者はAIの予測を迅速に修正することができ、患者の診断に求められる厳密な精度を 確保できることが示されています。
  • 地理空間および衛星マッピング:都市計画者や環境科学者は、インタラクティブな モデルを活用して、 GISフィーチャの抽出を効率化している [3]。複雑な海岸線や農地の境界、新たなインフラを手作業でトレースする代わりに、アナリストは 数回クリックするだけで、正確な地理的ポリゴンを即座に生成することができる。
  • 産業用欠陥検出: 製造分野における AIの活用において、品質管理 エンジニアは対話型プロンプトを使用して、生産ライン上の微細な欠陥を特定することができます。これにより、モデル全体を再学習させることなく、 新しい種類の欠陥にシステムを動的に適応させることが可能です。

インタラクティブセグメンテーションとインスタンスセグメンテーション

どちらの概念もオブジェクトをピクセル単位で分離することを含みますが、その運用上の目的は異なります。 インスタンスセグメンテーションは通常、 Ultralytics のようなモデルが、 ユーザーの介入なしに、あらかじめ定義されたクラス(例:「車」、「人」、「犬」)を検出し、輪郭を描画する 完全自動化されたプロセスです。その仕組みの詳細については、 インスタンスセグメンテーションに関するガイドをご覧ください。

一方、インタラクティブセグメンテーションは、あらかじめ定義されたクラスに厳密に依存するものではありません。これはクラスに依存しない方式であり、 ユーザーが指し示したものを何でもセグメント化するため、Ultralytics ツールを使用して、 未知のオブジェクトを迅速にアノテーションし、カスタムデータセットに追加する必要がある アクティブラーニングのパイプラインに最適です。

Ultralyticsの使用例

以下の方法を使えば、ご自身のプロジェクトでインタラクティブなセグメンテーションを簡単に実装できます PyTorch そして ultralytics Python 。この 例では、 FastSAM バウンディングボックスのプロンプトを指定して、 segment 特定のsegment します。

from ultralytics import FastSAM

# Load a pretrained FastSAM model
model = FastSAM("FastSAM-s.pt")

# Perform interactive segmentation using a bounding box prompt [x1, y1, x2, y2]
results = model("path/to/image.jpg", bboxes=[100, 100, 300, 300])

# Display the segmented result on screen
results[0].show()

このコードスニペットは、シンプルな空間プロンプトがモデルを直接誘導して対象領域を特定し、 最小限のコードで複雑な画像セグメンテーション作業を 効率化する方法を示しています。

一緒にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。