インタラクティブ・セグメンテーションが、ヒューマン・イン・ザ・ループ方式のプロンプトを用いてオブジェクトを抽出し、分離する仕組みについて学びましょう。Ultralytics Ultralytics タスクを実行する方法をご紹介します。
インタラクティブセグメンテーションとは、 コンピュータビジョンにおける高度に協調的なアプローチであり、 人間のユーザーがクリック、バウンディングボックス、テキストプロンプトなどの 連続的または単発的な入力を提供することで、AIモデルが画像内の特定の オブジェクトを抽出するよう誘導するものです。 完全自動化された手法とは異なり、この「ヒューマン・イン・ザ・ループ」手法では、ユーザーが セグメンテーションの対象を正確に定義できるため、曖昧な視覚データ、 重なり合う物体、または未知のクラスを扱う際に特に有用です。ここ数年、ファウンデーションモデルの導入により、 このプロセスの速度と精度が劇的に向上し、データアノテーションや精密画像処理において不可欠なツールへと 進化しました。
このワークフローの中核となるのは、 プロンプトによる概念セグメンテーションであり、モデルはユーザーの指示を解釈して、ピクセル単位で正確なマスクを生成します。ユーザーは、 選択したい前景のオブジェクトを「ポジティブ」クリックし、除外したい背景の 領域を「ネガティブ」クリックします。 「Segment Anything Model(SAM)」やその後継モデルである 「MetaSAM 」のような高度なモデルは、 多様なジェスチャー[1]、バウンディングボックス、さらにはテキスト による説明を受け入れることで、視覚検索の精度をさらに高めています。モデルはこれらのプロンプトに基づいて最適な境界を算出し、 ユーザーは希望する精度が得られるまで、追加のクリックによってマスクを反復的に微調整することができます。
インタラクティブなセグメンテーションは、人間の専門知識とAIの効率性を融合させることで、数多くの業界におけるワークフローを変革しています。
どちらの概念もオブジェクトをピクセル単位で分離することを含みますが、その運用上の目的は異なります。 インスタンスセグメンテーションは通常、 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()
このコードスニペットは、シンプルな空間プロンプトがモデルを直接誘導して対象領域を特定し、 最小限のコードで複雑な画像セグメンテーション作業を 効率化する方法を示しています。
未来の機械学習で、新たな一歩を踏み出しましょう。