Skip to main content

Segment Anything Model (SAM) modules combined in the same API (to make life easier).

Project description

xSAM

Segment Anything Model (SAM) variants including:

  • CoralSCOP
  • RepViT-SAM
  • EdgeSAM
  • MobileSAM
  • SAM (original)

combined in the same API (to make life easier).

For more information on different SAM variants, please see the following:

Installation

The code requires python>=3.8, as well as pytorch>=1.7 and torchvision>=0.8. Please follow the instructions here to install both PyTorch and TorchVision dependencies. Installing both PyTorch and TorchVision with CUDA support is strongly recommended.

Install xSAM:

pip install x-segment-anything

Getting Started

The SAM models can be loaded in the following ways:

from x_segment_anything import sam_model_registry, SamPredictor

model_type = "vit_b_coralscop"
model_type = "repvit"
model_type = "edge_sam"
model_type = "vit_t"
model_type = "vit_b"
model_type = "vit_l"
model_type = "vit_h"

sam_checkpoint = "path_to_checkpoints/model_x_weights.pt"

device = "cuda" if torch.cuda.is_available() else "cpu"

x_sam = sam_model_registry[model_type](checkpoint=sam_checkpoint)
x_sam.to(device=device)
x_sam.eval()

predictor = SamPredictor(x_sam)
predictor.set_image(<your_image>)
masks, _, _ = predictor.predict(<input_prompts>)

or generate masks for an entire image:

from x_segment_anything import SamAutomaticMaskGenerator

mask_generator = SamAutomaticMaskGenerator(x_sam)
masks = mask_generator.generate(<your_image>)

Model Checkpoints

For convenience, The following model checkpoints are available in the sam_model_urls dictionary and can be downloaded in python:

import requests
from x_segment_anything.build_sam import sam_model_urls

def download_asset(asset_url, asset_path):
    response = requests.get(asset_url)
    with open(asset_path, 'wb') as f:
        f.write(response.content)

model_path = "vit_b_coral_scop.pt"
model_path = "repvit.pt"
model_path = "edge_sam.pt"
model_path = "edge_sam_3x.pt"
model_path = "vit_t.pt"
model_path = "vit_b.pt"
model_path = "vit_l.pt"
model_path = "vit_h.pt"

model = model_path.split(".")[0]
model_url = sam_model_urls[model]

download_asset(model_url, model_path)

Model Checkpoint URLs:

Acknowledgements:


Disclaimer

This repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.

License

Software code created by U.S. Government employees is not subject to copyright in the United States (17 U.S.C. §105). The United States/Department of Commerce reserve all rights to seek and obtain copyright protection in countries other than the United States for Software authored in its entirety by the Department of Commerce. To this end, the Department of Commerce hereby grants to Recipient a royalty-free, nonexclusive license to use, copy, and create derivative works of the Software outside of the United States.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

x_segment_anything-0.0.8.tar.gz (19.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

x_segment_anything-0.0.8-py2.py3-none-any.whl (50.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file x_segment_anything-0.0.8.tar.gz.

File metadata

  • Download URL: x_segment_anything-0.0.8.tar.gz
  • Upload date:
  • Size: 19.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for x_segment_anything-0.0.8.tar.gz
Algorithm Hash digest
SHA256 bbc36527ccd385f42c4e164323ff3c747c9700951d0412c1fa2aa79de00603ad
MD5 0f219185d86248f1b4389dc47e08921b
BLAKE2b-256 5dcb27353e32d9bddefd006519fb2956135902850b2d50a39d40d02956ae95e3

See more details on using hashes here.

File details

Details for the file x_segment_anything-0.0.8-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for x_segment_anything-0.0.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 43404ecba0d7afa8b20ea88406745418249ab6956ffdd37f9e25880d1fca435f
MD5 8d763a8f2257b093a16efd8f478db373
BLAKE2b-256 e2fdb5abd1b4aabb999ab6d2874942a740eea4968c7547fbafdb7196a9257700

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page