Segformer-B4实时语义分割

我要开发同款
匿名用户2024年07月31日
75阅读

技术信息

开源地址
https://modelscope.cn/models/iic/cv_segformer-b4_image_semantic-segmentation_coco-stuff164k
授权协议
Apache License 2.0

作品详情

Segformer-B4语义分割模型介绍

其它相关模型体验Mask2Former-R50全景分割

模型描述

Neurips2021文章SegFormer: Simple ad Efficiet Desig for Sematic Segmetatio with Trasformers在COCOStuff164K数据集上的复现。官方源码暂没有提供COCOStuff164K的相关实现

本模型基于Segformer分割框架所配置训练的语义分割框架。网络模型结构的具体超参数为论文中的B4配置。在CoCo-Stuff-164的数据集上进行了172类的分类

结构图如下:

douts

本模型一共包含B0-B5一共6个不同模型,模型配置细节如下:

douts

B0-B5模型所在链接如下:

模型 链接
SegFormer_B0 https://www.modelscope.c/models/damo/cvsegformer-b0imagesematic-segmetatiococo-stuff164k/summary
SegFormer_B1 https://www.modelscope.c/models/damo/cvsegformer-b1imagesematic-segmetatiococo-stuff164k/summary
SegFormer_B2 https://www.modelscope.c/models/damo/cvsegformer-b2imagesematic-segmetatiococo-stuff164k/summary
SegFormer_B3 https://www.modelscope.c/models/damo/cvsegformer-b3imagesematic-segmetatiococo-stuff164k/summary
SegFormer_B4 https://www.modelscope.c/models/damo/cvsegformer-b4imagesematic-segmetatiococo-stuff164k/summary
SegFormer_B5 https://www.modelscope.c/models/damo/cvsegformer-b5imagesematic-segmetatiococo-stuff164k/summary

期望模型使用方式以及适用范围

本模型适用范围较广,能对图片中包含的大部分类别COCO 172类)进行语义分割。

如何使用

需要umpy版本大于1.20: pip istall umpy >=1.20

在ModelScope框架上,提供输入图片,既可通过简单的Pipelie调用来使用。

代码范例

预测代码

from modelscope.pipelies import pipelie
from modelscope.utils.costat import Tasks

img = 'https://modelscope.oss-c-beijig.aliyucs.com/test/images/image_sematic_segmetatio.jpg'
segmetatio_pipelie = pipelie(Tasks.image_segmetatio, 'damo/cv_segformer-b4_image_sematic-segmetatio_coco-stuff164k')
result = segmetatio_pipelie(img)

prit(f'segmetatio output: {result}.')

训练代码 (训练时间很长)

import tempfile
import os

from modelscope.metaifo import Traiers
from modelscope.msdatasets import MsDataset
from modelscope.traiers import build_traier

tmp_dir = tempfile.TemporaryDirectory().ame
if ot os.path.exists(tmp_dir):
    os.makedirs(tmp_dir)

model = 'damo/cv_segformer-b4_image_sematic-segmetatio_coco-stuff164k'
#注意:本代码和配置仅仅作为示例使用。如果需要复现结果,请结合模型文件中的配置文件,使用8卡并行方式复现

traier_ame = 'easycv'
trai_dataset = MsDataset.load(
    dataset_ame='coco_stuff164k',
    amespace='damo',
    split='trai') 
eval_dataset = MsDataset.load(
    dataset_ame='coco_stuff164k',
    amespace='damo',
    split='validatio') 
kwargs = dict(
    model=model,
    trai_dataset=trai_dataset,
    eval_dataset=eval_dataset,
    work_dir=tmp_dir,
    )

traier = build_traier(traier_ame, kwargs)
traier.trai()

模型局限性以及可能的偏差

  • 部分非常规图片或感兴趣物体占比太小或遮挡严重可能会影响分割结果
  • 对新类别(集外类别)不兼容

训练数据介绍

  • COCO-Stuff 164K: COCO-Stuff augmets the popular COCO dataset with pixel-level stuff aotatios. These aotatios ca be used for scee uderstadig tasks like sematic segmetatio, object detectio ad image captioig.

模型训练流程

  • 使用论文推荐的训练方式,在COCO上使用AdamW优化器,初始学习率为6e-5;

预处理

测试时主要的预处理如下:

  • Resize:先将原始图片的短边Resize到512,等比例缩放。此时如果长边超过了2048,则按照最长边为2048,重新计算Resize的scale进行Resize
  • Normalize:图像归一化,减均值除以标准差
  • Pad:图像高宽补零至32的倍数

数据评估及结果

SegFormer

Sematic segmetatio models traied o CoCo_stuff164k val集合上的性能如下.

Algorithm Params
(backboe/total)
iferece time(V100)
(ms/img)
mIoU
SegFormer_B4 60.8M/64.1M 58.5ms 46.27

引用

如果你觉得这个该模型对有所帮助,请考虑引用下面的相关的论文:

@article{xie2021segformer,
  title={SegFormer: Simple ad efficiet desig for sematic segmetatio with trasformers},
  author={Xie, Eze ad Wag, Wehai ad Yu, Zhidig ad Aadkumar, Aima ad Alvarez, Jose M ad Luo, Pig},
  joural={Advaces i Neural Iformatio Processig Systems},
  volume={34},
  pages={12077--12090},
  year={2021}
}

功能介绍

Segformer-B4语义分割模型介绍 其它相关模型体验Mask2Former-R50全景分割 模型描述 Neurips2021文章SegFormer: Simple and Efficient

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论