🚀 OneFormer
OneFormer是一個在COCO數據集上訓練的模型(大尺寸版本,採用Swin骨幹網絡)。它能夠有效解決圖像分割問題,為語義、實例和全景分割任務提供了統一的解決方案,提升了圖像分割的效率和準確性。
🚀 快速開始
OneFormer模型可用於語義、實例和全景分割任務。你可以參考以下使用示例對該模型進行調用。若需查找在其他數據集上微調的版本,請訪問模型中心。
✨ 主要特性
- OneFormer是首個多任務通用圖像分割框架。僅需使用單一通用架構、單一模型,並在單一數據集上進行一次訓練,就能在語義、實例和全景分割任務中超越現有的專門模型。
- OneFormer使用任務令牌來使模型專注於當前任務,使架構在訓練時具有任務導向性,在推理時具有任務動態性,且所有操作都基於單一模型完成。
💻 使用示例
基礎用法
from transformers import OneFormerProcessor, OneFormerForUniversalSegmentation
from PIL import Image
import requests
url = "https://huggingface.co/datasets/shi-labs/oneformer_demo/blob/main/coco.jpeg"
image = Image.open(requests.get(url, stream=True).raw)
processor = OneFormerProcessor.from_pretrained("shi-labs/oneformer_coco_swin_large")
model = OneFormerForUniversalSegmentation.from_pretrained("shi-labs/oneformer_coco_swin_large")
semantic_inputs = processor(images=image, task_inputs=["semantic"], return_tensors="pt")
semantic_outputs = model(**semantic_inputs)
predicted_semantic_map = processor.post_process_semantic_segmentation(outputs, target_sizes=[image.size[::-1]])[0]
instance_inputs = processor(images=image, task_inputs=["instance"], return_tensors="pt")
instance_outputs = model(**instance_inputs)
predicted_instance_map = processor.post_process_instance_segmentation(outputs, target_sizes=[image.size[::-1]])[0]["segmentation"]
panoptic_inputs = processor(images=image, task_inputs=["panoptic"], return_tensors="pt")
panoptic_outputs = model(**panoptic_inputs)
predicted_semantic_map = processor.post_process_panoptic_segmentation(outputs, target_sizes=[image.size[::-1]])[0]["segmentation"]
更多示例請參考文檔。
📚 詳細文檔
預期用途和限制
你可以使用此特定檢查點進行語義、實例和全景分割。若需查找在其他數據集上微調的版本,請訪問模型中心。
引用
@article{jain2022oneformer,
title={{OneFormer: One Transformer to Rule Universal Image Segmentation}},
author={Jitesh Jain and Jiachen Li and MangTik Chiu and Ali Hassani and Nikita Orlov and Humphrey Shi},
journal={arXiv},
year={2022}
}
📄 許可證
本項目採用MIT許可證。
信息表格
屬性 |
詳情 |
模型類型 |
用於圖像分割的Transformer模型 |
訓練數據 |
ydshieh/coco_dataset_script |
模型示例展示

交互小部件示例