Coder Social home page Coder Social logo

osam's Introduction

logo

Osam

Get up and running with segment-anything models locally.




Osam (/oʊˈsɑm/) is a tool to run open-source segment-anything models locally (inspired by Ollama).

Osam provides:

  • Segment-Anything Models - original SAM, Efficient-SAM;
  • Local APIs - CLI & Python & HTTP interface;
  • Customization - Host custom vision models.

Installation

Pip

pip install osam

Quickstart

To run with Efficient-SAM:

osam run efficient-sam --image <image_file>

Model library

Here are models that can be downloaded:

Model Parameters Size Download
SAM 91M 91M 100MB osam run sam:91m
SAM 308M 308M 320MB osam run sam:308m
SAM 636M 636M 630MB osam run sam
Efficient-SAM 10M 10M 40MB osam run efficient-sam:10m
Efficient-SAM 25M 25M 100MB osam run efficient-sam

PS. sam, efficient-sam is equivalent to sam:latest, efficient-sam:latest.

Usage

CLI

# Run a model with an image
osam run efficient-sam --image examples/_images/dogs.jpg > output.png

# Get a JSON output
osam run efficient-sam --image examples/_images/dogs.jpg --json
# {"model": "efficient-sam", "mask": "..."}

# Give a prompt
osam run efficient-sam --image examples/_images/dogs.jpg \
  --prompt '{"points": [[1439, 504], [1439, 1289]], "point_labels": [1, 1]}' > output.png


Input and output images ('dogs.jpg', 'output.png').

Python

import osam.apis
import osam.types

request = osam.types.GenerateRequest(
    model="efficient-sam",
    image=np.asarray(PIL.Image.open("examples/_images/dogs.jpg")),
    prompt=osam.types.Prompt(points=[[1439, 504], [1439, 1289]], point_labels=[1, 1]),
)
response = osam.apis.generate(request=request)
PIL.Image.fromarray(response.mask).save("mask.png")


Input and output images ('dogs.jpg', 'mask.png').

HTTP

# Get up the server
osam serve

# POST request
curl 127.0.0.1:11368/api/generate -X POST \
  -H "Content-Type: application/json" \
  -d "{\"model\": \"efficient-sam\", \"image\": \"$(cat examples/_images/dogs.jpg | base64)\"}" \
  | jq -r .mask | base64 --decode > mask.png

License

MIT

osam's People

Contributors

wkentaro avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.