其它相关模型体验Mask2Former-R50全景分割
Neurips2021文章SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers在COCO_Stuff164K数据集上的复现。官方源码暂没有提供COCO_Stuff164K的相关实现
本模型基于Segformer分割框架所配置训练的实时语义分割框架。使用了一个GPU上实时运行的配置结构。在CoCo-Stuff-164的数据集上进行了172类的分类
结构图如下:
本模型一共包含B0-B5一共6个不同模型,模型配置细节如下:
B0-B5模型所在链接如下:
本模型适用范围较广,能对图片中包含的大部分类别COCO 172类)进行语义分割。
需要numpy版本大于1.20: pip install numpy >=1.20
在ModelScope框架上,提供输入图片,既可通过简单的Pipeline调用来使用。
预测代码
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
img = 'https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/image_semantic_segmentation.jpg'
segmentation_pipeline = pipeline(Tasks.image_segmentation, 'damo/cv_segformer-b0_image_semantic-segmentation_coco-stuff164k')
result = segmentation_pipeline(img)
print(f'segmentation output: {result}.')
训练代码 (训练时间很长)
import tempfile
import os
from modelscope.metainfo import Trainers
from modelscope.msdatasets import MsDataset
from modelscope.trainers import build_trainer
tmp_dir = tempfile.TemporaryDirectory().name
if not os.path.exists(tmp_dir):
os.makedirs(tmp_dir)
model = 'damo/cv_segformer-b0_image_semantic-segmentation_coco-stuff164k'
#注意:本代码和配置仅仅作为示例使用。如果需要复现结果,请结合模型文件中的配置文件,使用8卡并行方式复现
trainer_name = 'easycv'
train_dataset = MsDataset.load(
dataset_name='coco_stuff164k',
namespace='damo',
split='train')
eval_dataset = MsDataset.load(
dataset_name='coco_stuff164k',
namespace='damo',
split='validation')
kwargs = dict(
model=model,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
work_dir=tmp_dir,
)
trainer = build_trainer(trainer_name, kwargs)
trainer.train()
测试时主要的预处理如下:
Semantic segmentation models trained on CoCo_stuff164k val集合上的性能如下.
Algorithm | Params (backbone/total) |
inference time(V100) (ms/img) |
mIoU |
---|---|---|---|
SegFormer_B0 | 3.3M/3.8M | 47.2ms | 35.91 |
如果你觉得这个该模型对有所帮助,请考虑引用下面的相关的论文:
@article{xie2021segformer,
title={SegFormer: Simple and efficient design for semantic segmentation with transformers},
author={Xie, Enze and Wang, Wenhai and Yu, Zhiding and Anandkumar, Anima and Alvarez, Jose M and Luo, Ping},
journal={Advances in Neural Information Processing Systems},
volume={34},
pages={12077--12090},
year={2021}
}