/a/オープンソース
Published on

「Segment Anything」のインストール・使い方

2053文字4分で読めます–––
閲覧数
Authors
  • avatar
    Name
    章 有坂
    short bio
    オープンソースソフトウェアのトレンドを追いかけてます。

Segment Anythingは、Facebook Researchが開発したオープンソースプロジェクトで、Segment Anywhere Model (SAM)を利用して任意の画像から高品質なオブジェクトマスクを生成することができます。このモデルは、点やボックスなどの入力プロンプトからマスクを生成し、全ての画像のオブジェクトに対してマスクを生成することが可能です。大規模なデータセット(11百万画像と11億個のマスク)で訓練され、多種のセグメンテーションタスクに対して強力なゼロショットパフォーマンスを示していますSource 0

※ NordVPNにこちらから新規登録すると、最大73%オフの割引になります。

インストール・導入方法

Segment Anythingを使用するためには、Python 3.8以上、PyTorch 1.7以上、TorchVision 0.8以上が必要です。また、オプショナルな依存関係として、マスクの後処理、COCO形式でのマスクの保存、例のノートブック、およびONNX形式でのモデルのエクスポートに必要なopencv-python、pycocotools、matplotlib、onnxruntime、onnxがあります。これらは次のコマンドでインストールできます:

pip install opencv-python pycocotools matplotlib onnxruntime onnx

Segment Anythingのコードは、次のコマンドでインストールできます:

pip install git+https://github.com/facebookresearch/segment-anything.git

または

git clone git@github.com:facebookresearch/segment-anything.git
cd segment-anything; pip install -e .

使い方

まず、モデルチェックポイントをダウンロードします。その後、指定したプロンプトからマスクを取得するために、以下のようなコードを使用します:

from segment_anything import SamPredictor, sam_model_registry
sam = sam_model_registry["<model_type>"](checkpoint="<path/to/checkpoint>")
predictor = SamPredictor(sam)
predictor.set_image(<your_image>)
masks, _, _ = predictor.predict(<input_prompts>)

また、自動的にマスクを生成するためには、以下のようなコードを使用します:

from segment_anything import SamAutomaticMaskGenerator, sam_model_registry
sam = sam_model_registry["<model_type>"](checkpoint="<path/to/checkpoint>")
mask_generator = SamAutomaticMaskGenerator(sam)
masks = mask_generator.generate(<your_image>)

コマンドラインから画像のマスクを生成することも可能です:

python scripts/amg.py --checkpoint <path/to/checkpoint> --model-type <model_type> --input <image_or_folder> --output <path/to/output>

また、SAMの軽量なマスクデコーダーをONNX形式にエクスポートして、任意の環境で実行できるようにすることも可能です。これは、ブラウザでの実行を示すデモで使用されています:

python scripts/export_onnx_model.py --checkpoint <path/to/checkpoint> --model-type <model_type> --output <path/to/output>

詳細な使用例やサンプルコードは、リポジトリの例のノートブックを参照してくださいSource 0

※ NordVPNにこちらから新規登録すると、最大73%オフの割引になります。
avatar

章 有坂

オープンソースソフトウェアのプロ / ベテランのソフトウェア技術者 / Github専門家
オープンソースソフトウェアが好きな編集部が、GithubやGitlabなどの新着リポジトリやトレンドのプロジェクトを分かりやすく紹介。