也不知道实现得怎么样。。行不行
语义分割作为计算机视觉中一项基础任务,同时在自动驾驶/视频编辑等领域中有重要的应用,因此一直受到学术界和工业界的广泛关注。在近几年的会议中,语义分割的论文层出不穷,但是市面上一直缺乏一款能够相对公平比较各种方法的框架。为了方便研究员和工程师们,我们开源了一套基于 PyTorch 实现的标准统一的语义分割框架:MMSegmentation。
open-mmlab/mmsegmentation在 MMSeg 下,我们复现和比较了很多语义分割的算法,并对训练测试的超参进行了优化和统一,在精度,速度,稳定性等方面都超过目前开源的其他代码库。
作为MM系列的新成员,MMSegmentation 保持了 MM 系列一贯的风格,拥有灵活的模块化设计和全面的高性能model zoo。目前我们支持18种算法,大部分算法都提供了多种 setting 以及在 Cityscapes,ADE20K,Pascal VOC 2012上的训练结果(目前应该是语义分割中最大的 模型库),之后会有其他的数据集以及轻量的模型陆续放出(也欢迎大家贡献更多的方法)。目前我们支持下列18种 EncoderDecoder 类型的方法:
MMSeg 作为全新的语义分割框架,和其他的框架相比,它提供了更强更快的主流算法,统一超参的公平比较,附带丰富的配置文件和五花八门的 tricks,而且非常灵活易于拓展。
MMSeg 目前发布的0.5.0版本主要支持的为 EncoderDecoder 类型的模型(以后会支持更多,欢迎大家提需求),复现了 PSPNet,DeepLab 系列等经典算法,并且精度更高,比如我们的 DeepLabV3+ 在 Cityscapes/ADE20K 验证集上单尺度测试 mIoU 可分别达到 80.98 和45.47。
在众多开源的语义分割代码库中,几乎找不到两个完全一样超参设定的代码库,而且代码库所支持方法的交集又十分有限,无法做到严格的对比实验和公平比较,甚至有时候会推导出“因为 A+B+C > D 所以 A 比 D 更好”这样的结论。
因此在 MMSeg 中,所有支持的方法中,除去其自身的结构特性,所有的超参(和 trick)都保持了统一,而且清晰的配置文件使得对比更加容易。
如图所示,所有方法的配置文件都继承了相同的数据预处理流程和学习率下降策略。
MMSeg 提供非常丰富的配置文件,这些配置文件整合了各种比较常见的训练 setting,以PSPNet 在 Cityscapes 数据集为例,我们提供了8种不同配置的 PSPNet,报告了速度,显存占用,单尺度/多尺度精度等指标,并提供模型以及实验记录供用户直接下载使用
语义分割中一般剪切出固定大小的图片进行训练,在 Cityscapes 数据集上,主流的有769x769 和 512x1024 两种(Cityscapes 数据集所有图片大小均为1024x2048)。用户在训练的时候无论用那种设定,都可以找到合理的 baseline。
五花八门的 tricks
在所有的提供的模型和配置文件,我们没有增加额外的训练 tricks,只选取了最朴素的训练方式,但是这不妨碍我们支持各种各样有趣(也可能有用的)的特性,如
灵活的设计可以大大降低开发人员实现新算法的门槛,MMSeg 使得模型的编码器和解码器可以自由组合,同时我们尽可能避免任何形式的 hardcode,所以大部分模型的内部结构都可以通过配置文件来调节。
以 PSPNet 的 decode head 为例,
所有超参的接口都可以通过我们的配置文件灵活的进行调整,比如通道数,损失函数权重,池化尺度等。
我们希望开源能够帮助学界走得更远,业界做得更扎实。接下来我们在长期维护 MMSeg 的同时,也会去支持更多的不同类型的方法和数据集,使 MMSeg 成为一个更加全面的先进的语义分割框架,也欢迎大家多多提需求和意见(直接上 PR 更好)。我们希望通过统一的开源标准,帮助大家把精力(和 GPU)更多的投入到方法本身的创新上。
陈恺:OpenMMLab 重磅升级:百花齐放春满园陈恺:MMDetection V2.0:更快更强的通用目标检测平台包小张:MMDetection3D:新一代通用3D目标检测平台RookieRui:MMEditing: 图像视频编辑工具箱
原文:https://www.cnblogs.com/cx2016/p/13827104.html
11 条评论
太好了,妈妈再也不担心,我的segmentation学不好了。
听起来非常棒,我都急着想去体验了,希望是个中意的框架
瑞神太强了
你好,有用DANet训练自己的数据集的教程吗
请问checkpoint在哪儿里下载