metaseg


Namemetaseg JSON
Version 0.7.8 PyPI version JSON
download
home_pagehttps://github.com/kadirnar/segment-anything-video
SummaryMetaSeg: Packaged version of the Segment Anything repository
upload_time2023-06-29 14:40:00
maintainerKadir Nar
docs_urlNone
authorKadir Nar
requires_python>=3.8.1,<3.12.0
licenseApache-2.0
keywords pytorch segment-anything-video metaseg
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
<h2>
     MetaSeg: Packaged version of the Segment Anything repository
</h2>
<div>
    <img width="1000" alt="teaser" src="https://github.com/kadirnar/segment-anything-pip/releases/download/v0.2.2/metaseg_demo.gif">
</div>
    <a href="https://pepy.tech/project/metaseg"><img src="https://pepy.tech/badge/metaseg" alt="downloads"></a>
    <a href="https://huggingface.co/spaces/ArtGAN/metaseg-webui"><img src="https://huggingface.co/datasets/huggingface/badges/raw/main/open-in-hf-spaces-sm.svg" alt="HuggingFace Spaces"></a>
</div>


<p align="center">
<a href="https://pypi.org/project/metaseg" target="_blank">
    <img src="https://img.shields.io/pypi/v/metaseg?color=%2334D058&label=pypi%20package" alt="Package version">
</a>
<a href="https://pypi.org/project/metaseg" target="_blank">
    <img src="https://img.shields.io/pypi/dm/metaseg?color=red" alt="Download Count">
</a>
<a href="https://pypi.org/project/metaseg" target="_blank">
    <img src="https://img.shields.io/pypi/pyversions/metaseg.svg?color=%2334D058" alt="Supported Python versions">
</a>
<a href="https://pypi.org/project/metaseg" target="_blank">
    <img src="https://img.shields.io/pypi/status/metaseg?color=orange" alt="Project Status">
</a>
<a href="https://results.pre-commit.ci/latest/github/kadirnar/segment-anything-video/main" target="_blank">
    <img src="https://results.pre-commit.ci/badge/github/kadirnar/segment-anything-video/main.svg" alt="pre-commit.ci">
</a>
</p>


This repo is a packaged version of the [segment-anything](https://github.com/facebookresearch/segment-anything) model.

### Installation
```bash
pip install metaseg
```

### Usage
```python
from metaseg import SegAutoMaskPredictor, SegManualMaskPredictor

# If gpu memory is not enough, reduce the points_per_side and points_per_batch.

# For image
results = SegAutoMaskPredictor().image_predict(
    source="image.jpg",
    model_type="vit_l", # vit_l, vit_h, vit_b
    points_per_side=16,
    points_per_batch=64,
    min_area=0,
    output_path="output.jpg",
    show=True,
    save=False,
)

# For video
results = SegAutoMaskPredictor().video_predict(
    source="video.mp4",
    model_type="vit_l", # vit_l, vit_h, vit_b
    points_per_side=16,
    points_per_batch=64,
    min_area=1000,
    output_path="output.mp4",
)

# For manuel box and point selection

# For image
results = SegManualMaskPredictor().image_predict(
    source="image.jpg",
    model_type="vit_l", # vit_l, vit_h, vit_b
    input_point=[[100, 100], [200, 200]],
    input_label=[0, 1],
    input_box=[100, 100, 200, 200], # or [[100, 100, 200, 200], [100, 100, 200, 200]]
    multimask_output=False,
    random_color=False,
    show=True,
    save=False,
)

# For video

results = SegManualMaskPredictor().video_predict(
    source="video.mp4",
    model_type="vit_l", # vit_l, vit_h, vit_b
    input_point=[0, 0, 100, 100],
    input_label=[0, 1],
    input_box=None,
    multimask_output=False,
    random_color=False,
    output_path="output.mp4",
)
```

### [SAHI](https://github.com/obss/sahi) + Segment Anything

```bash
pip install sahi metaseg
```

```python
from metaseg.sahi_predict import SahiAutoSegmentation, sahi_sliced_predict

image_path = "image.jpg"
boxes = sahi_sliced_predict(
    image_path=image_path,
    detection_model_type="yolov5",  # yolov8, detectron2, mmdetection, torchvision
    detection_model_path="yolov5l6.pt",
    conf_th=0.25,
    image_size=1280,
    slice_height=256,
    slice_width=256,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)

SahiAutoSegmentation().image_predict(
    source=image_path,
    model_type="vit_b",
    input_box=boxes,
    multimask_output=False,
    random_color=False,
    show=True,
    save=False,
)
```
<img width="700" alt="teaser" src="https://github.com/kadirnar/segment-anything-pip/releases/download/v0.5.0/sahi_autoseg.png">

### [FalAI(Cloud GPU)](https://docs.fal.ai/fal-serverless/quickstart) + Segment Anything
```bash
pip install metaseg fal_serverless
fal-serverless auth login
```

```python
# For Auto Mask
from metaseg import falai_automask_image

image = falai_automask_image(
    image_path="image.jpg",
    model_type="vit_b",
    points_per_side=16,
    points_per_batch=32,
    min_area=0,
)
image.show() # Show image
image.save("output.jpg") # Save image

# For Manual Mask
from metaseg import falai_manuelmask_image

image = falai_manualmask_image(
    image_path="image.jpg",
    model_type="vit_b",
    input_point=[[100, 100], [200, 200]],
    input_label=[0, 1],
    input_box=[100, 100, 200, 200], # or [[100, 100, 200, 200], [100, 100, 200, 200]],
    multimask_output=False,
    random_color=False,
)
image.show() # Show image
image.save("output.jpg") # Save image
```
# Extra Features

- [x] Support for Yolov5/8, Detectron2, Mmdetection, Torchvision models
- [x] Support for video and web application(Huggingface Spaces)
- [x] Support for manual single multi box and point selection
- [x] Support for pip installation
- [x] Support for SAHI library
- [x] Support for FalAI


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kadirnar/segment-anything-video",
    "name": "metaseg",
    "maintainer": "Kadir Nar",
    "docs_url": null,
    "requires_python": ">=3.8.1,<3.12.0",
    "maintainer_email": "kadir.nar@hotmail.com",
    "keywords": "pytorch,segment-anything-video,metaseg",
    "author": "Kadir Nar",
    "author_email": "kadir.nar@hotmail.com",
    "download_url": "https://files.pythonhosted.org/packages/39/94/65bc228f518bcc4839e8432802c6d53431a44c4bd771b270bc090eabf663/metaseg-0.7.8.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n<h2>\n     MetaSeg: Packaged version of the Segment Anything repository\n</h2>\n<div>\n    <img width=\"1000\" alt=\"teaser\" src=\"https://github.com/kadirnar/segment-anything-pip/releases/download/v0.2.2/metaseg_demo.gif\">\n</div>\n    <a href=\"https://pepy.tech/project/metaseg\"><img src=\"https://pepy.tech/badge/metaseg\" alt=\"downloads\"></a>\n    <a href=\"https://huggingface.co/spaces/ArtGAN/metaseg-webui\"><img src=\"https://huggingface.co/datasets/huggingface/badges/raw/main/open-in-hf-spaces-sm.svg\" alt=\"HuggingFace Spaces\"></a>\n</div>\n\n\n<p align=\"center\">\n<a href=\"https://pypi.org/project/metaseg\" target=\"_blank\">\n    <img src=\"https://img.shields.io/pypi/v/metaseg?color=%2334D058&label=pypi%20package\" alt=\"Package version\">\n</a>\n<a href=\"https://pypi.org/project/metaseg\" target=\"_blank\">\n    <img src=\"https://img.shields.io/pypi/dm/metaseg?color=red\" alt=\"Download Count\">\n</a>\n<a href=\"https://pypi.org/project/metaseg\" target=\"_blank\">\n    <img src=\"https://img.shields.io/pypi/pyversions/metaseg.svg?color=%2334D058\" alt=\"Supported Python versions\">\n</a>\n<a href=\"https://pypi.org/project/metaseg\" target=\"_blank\">\n    <img src=\"https://img.shields.io/pypi/status/metaseg?color=orange\" alt=\"Project Status\">\n</a>\n<a href=\"https://results.pre-commit.ci/latest/github/kadirnar/segment-anything-video/main\" target=\"_blank\">\n    <img src=\"https://results.pre-commit.ci/badge/github/kadirnar/segment-anything-video/main.svg\" alt=\"pre-commit.ci\">\n</a>\n</p>\n\n\nThis repo is a packaged version of the [segment-anything](https://github.com/facebookresearch/segment-anything) model.\n\n### Installation\n```bash\npip install metaseg\n```\n\n### Usage\n```python\nfrom metaseg import SegAutoMaskPredictor, SegManualMaskPredictor\n\n# If gpu memory is not enough, reduce the points_per_side and points_per_batch.\n\n# For image\nresults = SegAutoMaskPredictor().image_predict(\n    source=\"image.jpg\",\n    model_type=\"vit_l\", # vit_l, vit_h, vit_b\n    points_per_side=16,\n    points_per_batch=64,\n    min_area=0,\n    output_path=\"output.jpg\",\n    show=True,\n    save=False,\n)\n\n# For video\nresults = SegAutoMaskPredictor().video_predict(\n    source=\"video.mp4\",\n    model_type=\"vit_l\", # vit_l, vit_h, vit_b\n    points_per_side=16,\n    points_per_batch=64,\n    min_area=1000,\n    output_path=\"output.mp4\",\n)\n\n# For manuel box and point selection\n\n# For image\nresults = SegManualMaskPredictor().image_predict(\n    source=\"image.jpg\",\n    model_type=\"vit_l\", # vit_l, vit_h, vit_b\n    input_point=[[100, 100], [200, 200]],\n    input_label=[0, 1],\n    input_box=[100, 100, 200, 200], # or [[100, 100, 200, 200], [100, 100, 200, 200]]\n    multimask_output=False,\n    random_color=False,\n    show=True,\n    save=False,\n)\n\n# For video\n\nresults = SegManualMaskPredictor().video_predict(\n    source=\"video.mp4\",\n    model_type=\"vit_l\", # vit_l, vit_h, vit_b\n    input_point=[0, 0, 100, 100],\n    input_label=[0, 1],\n    input_box=None,\n    multimask_output=False,\n    random_color=False,\n    output_path=\"output.mp4\",\n)\n```\n\n### [SAHI](https://github.com/obss/sahi) + Segment Anything\n\n```bash\npip install sahi metaseg\n```\n\n```python\nfrom metaseg.sahi_predict import SahiAutoSegmentation, sahi_sliced_predict\n\nimage_path = \"image.jpg\"\nboxes = sahi_sliced_predict(\n    image_path=image_path,\n    detection_model_type=\"yolov5\",  # yolov8, detectron2, mmdetection, torchvision\n    detection_model_path=\"yolov5l6.pt\",\n    conf_th=0.25,\n    image_size=1280,\n    slice_height=256,\n    slice_width=256,\n    overlap_height_ratio=0.2,\n    overlap_width_ratio=0.2,\n)\n\nSahiAutoSegmentation().image_predict(\n    source=image_path,\n    model_type=\"vit_b\",\n    input_box=boxes,\n    multimask_output=False,\n    random_color=False,\n    show=True,\n    save=False,\n)\n```\n<img width=\"700\" alt=\"teaser\" src=\"https://github.com/kadirnar/segment-anything-pip/releases/download/v0.5.0/sahi_autoseg.png\">\n\n### [FalAI(Cloud GPU)](https://docs.fal.ai/fal-serverless/quickstart) + Segment Anything\n```bash\npip install metaseg fal_serverless\nfal-serverless auth login\n```\n\n```python\n# For Auto Mask\nfrom metaseg import falai_automask_image\n\nimage = falai_automask_image(\n    image_path=\"image.jpg\",\n    model_type=\"vit_b\",\n    points_per_side=16,\n    points_per_batch=32,\n    min_area=0,\n)\nimage.show() # Show image\nimage.save(\"output.jpg\") # Save image\n\n# For Manual Mask\nfrom metaseg import falai_manuelmask_image\n\nimage = falai_manualmask_image(\n    image_path=\"image.jpg\",\n    model_type=\"vit_b\",\n    input_point=[[100, 100], [200, 200]],\n    input_label=[0, 1],\n    input_box=[100, 100, 200, 200], # or [[100, 100, 200, 200], [100, 100, 200, 200]],\n    multimask_output=False,\n    random_color=False,\n)\nimage.show() # Show image\nimage.save(\"output.jpg\") # Save image\n```\n# Extra Features\n\n- [x] Support for Yolov5/8, Detectron2, Mmdetection, Torchvision models\n- [x] Support for video and web application(Huggingface Spaces)\n- [x] Support for manual single multi box and point selection\n- [x] Support for pip installation\n- [x] Support for SAHI library\n- [x] Support for FalAI\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "MetaSeg: Packaged version of the Segment Anything repository",
    "version": "0.7.8",
    "project_urls": {
        "Documentation": "https://github.com/kadirnar/segment-anything-video/blob/main/README.md",
        "Homepage": "https://github.com/kadirnar/segment-anything-video",
        "Repository": "https://github.com/kadirnar/segment-anything-video"
    },
    "split_keywords": [
        "pytorch",
        "segment-anything-video",
        "metaseg"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bcdb1f9944d64793d1aab9aa279fb833be2669ee3a5ec9233fd8349858e2bcd7",
                "md5": "07fff9002e9318162ffd381fd3c5e2b3",
                "sha256": "d3706d5936952a64a144baaf900c275f630b9c6f05222fa50087f7ede32a2989"
            },
            "downloads": -1,
            "filename": "metaseg-0.7.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "07fff9002e9318162ffd381fd3c5e2b3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8.1,<3.12.0",
            "size": 47904,
            "upload_time": "2023-06-29T14:39:58",
            "upload_time_iso_8601": "2023-06-29T14:39:58.830186Z",
            "url": "https://files.pythonhosted.org/packages/bc/db/1f9944d64793d1aab9aa279fb833be2669ee3a5ec9233fd8349858e2bcd7/metaseg-0.7.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "399465bc228f518bcc4839e8432802c6d53431a44c4bd771b270bc090eabf663",
                "md5": "2bae95f50f87a9fa3565ea7e58ed55a1",
                "sha256": "d36c7638439cbfd92fafa0649cc77735be1799e1fa1c74497e23e9e3d7011ad2"
            },
            "downloads": -1,
            "filename": "metaseg-0.7.8.tar.gz",
            "has_sig": false,
            "md5_digest": "2bae95f50f87a9fa3565ea7e58ed55a1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8.1,<3.12.0",
            "size": 39151,
            "upload_time": "2023-06-29T14:40:00",
            "upload_time_iso_8601": "2023-06-29T14:40:00.590046Z",
            "url": "https://files.pythonhosted.org/packages/39/94/65bc228f518bcc4839e8432802c6d53431a44c4bd771b270bc090eabf663/metaseg-0.7.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-29 14:40:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kadirnar",
    "github_project": "segment-anything-video",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "metaseg"
}
        
Elapsed time: 0.08272s