🚀 MaskFormer
MaskFormer是一个在ADE20k语义分割数据集上训练的模型(大型版本,采用Swin骨干网络)。该模型解决了实例、语义和全景分割问题,为图像分割领域提供了高效的解决方案。
🚀 快速开始
你可以使用此特定检查点进行语义分割。若想寻找针对其他感兴趣任务的微调版本,可查看模型中心。
from transformers import MaskFormerImageProcessor, MaskFormerForInstanceSegmentation
from PIL import Image
import requests
url = "https://huggingface.co/datasets/hf-internal-testing/fixtures_ade20k/resolve/main/ADE_val_00000001.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = MaskFormerImageProcessor.from_pretrained("facebook/maskformer-swin-large-ade")
inputs = processor(images=image, return_tensors="pt")
model = MaskFormerForInstanceSegmentation.from_pretrained("facebook/maskformer-swin-large-ade")
outputs = model(**inputs)
class_queries_logits = outputs.class_queries_logits
masks_queries_logits = outputs.masks_queries_logits
predicted_semantic_map = processor.post_process_semantic_segmentation(outputs, target_sizes=[image.size[::-1]])[0]
更多代码示例请参考文档。
✨ 主要特性
MaskFormer通过预测一组掩码和相应的标签,以相同的范式处理实例、语义和全景分割问题。因此,所有这3个任务都被视为实例分割任务。

💻 使用示例
基础用法
from transformers import MaskFormerImageProcessor, MaskFormerForInstanceSegmentation
from PIL import Image
import requests
url = "https://huggingface.co/datasets/hf-internal-testing/fixtures_ade20k/resolve/main/ADE_val_00000001.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = MaskFormerImageProcessor.from_pretrained("facebook/maskformer-swin-large-ade")
inputs = processor(images=image, return_tensors="pt")
model = MaskFormerForInstanceSegmentation.from_pretrained("facebook/maskformer-swin-large-ade")
outputs = model(**inputs)
class_queries_logits = outputs.class_queries_logits
masks_queries_logits = outputs.masks_queries_logits
predicted_semantic_map = processor.post_process_semantic_segmentation(outputs, target_sizes=[image.size[::-1]])[0]
高级用法
如需更多高级使用场景,请参考文档中的代码示例。
📚 详细文档
MaskFormer模型在论文 Per-Pixel Classification is Not All You Need for Semantic Segmentation 中被提出,并首次在 此仓库 中发布。
需注意,发布MaskFormer的团队并未为此模型编写模型卡片,此模型卡片由Hugging Face团队编写。
📄 许可证
许可证类型:other