一大波PyTorch图像分割模型来袭,俄罗斯程序员出品新model zoo

2019 年 5 月 3 日 量子位
鱼羊 发自 凹非寺
量子位 报道 | 公众号 QbitAI

一个新的图像分割model zoo来啦!

一大波基于PyTorch的图像分割模型整理好了就等你来用~

这个新集合由俄罗斯的程序员小哥Pavel Yakubovskiy一手打造,包含四种模型架构和30种预训练骨干模型(backbone),官方文档列举了四条主要特点:

  • 高级API(两行代码构建神经网络)

  • 4种模型架构:Unet,Linknet,FPN,PSPNet

  • 每个架构有30种可用的编码器

  • 所有编码器都具有预先训练的权重,可实现更快、更好的收敛

授人以鱼不如授人以渔,放出了model zoo还不算,小哥还贴心地提供了如何使用CamVid数据集进行训练的示例。

效果怎么样

CamVid数据集是计算机视觉领域常用的一个数据集,通常用来进行街景分割。

俄罗斯小哥用这个数据集训练了一个能识别出图片中汽车的新模型。无论这辆车是隐藏在暗夜之中还是只有黄豆大小,都逃不出图像分割模型的手掌心。

构建模型时他选择了传奇的Unet架构,并使用了se_resnext50_32x4d这个预训练骨干模型。

听上去好像很厉害的样子,但群众都相信眼见为实,不看看模型训练效果如何,心里难免有一丢丢怀疑。

嗯,看来不管是昏天黑地还是目标只有一丁点大,新模型的预测结果都挺不错。

再加大难度呢?

量子位表示眼已瞎,模型是真强。

Pavel Yakubovskiy小哥还在Colab上放了用Catalyst(PyTorch上的高级框架)训练模型的代码,感兴趣的话可以直接在浏览器上跑一下。

入园指南

model zoo已开源,免票入场,快来围观。

先来了解一下都有哪些预训练模型可以用:

以及它们的权重:

pip一下:

$ pip install segmentation-models-pytorch

$ pip install git+https://github.com/qubvel/segmentation_models.pytorch

python库安装完成,就可以轻松地创建模型啦:

1import segmentation_models_pytorch as smp
2model = smp.Unet()


根据训练任务的不同,可以通过调整骨干模型来改变网络结构,并且使用预训练权重来进行初始化:


1model = smp.Unet('resnet34', encoder_weights='imagenet')

也可以改变模型的输出类型:

1model = smp.Unet('resnet34', classes=3, activation='softmax')

所有的模型都有预训练编码器,因此准备数据的方法必须与进行权重训练时一致:

1from segmentation_models_pytorch.encoders import get_preprocessing_fn
2preprocess_input = get_preprocessing_fn(‘renset18’, pretrained=’imagenet’)

One More Thing

其实Pavel Yakubovskiy小哥早在去年就发布了一个基于Keras的图像分割model zoo,一经推出就颇受欢迎。

一样的配方,一样的味道,简单易用,一脉相承。麻麻再也不用担心我找不到合适的预训练模型。

不过基于Keras的版本预训练模型要少一些,小哥也没有放出对应的示例,效果如何,就需要自己去检验啦~

传送门

PyTorch版Github地址:
https://github.com/qubvel/segmentation_models.pytorch

Keras版Github地址:
https://github.com/qubvel/segmentation_models

Colab上手:
https://colab.research.google.com/gist/Scitator/e3fd90eec05162e16b476de832500576/cars-segmentation-camvid.ipynb#scrollTo=A40deTWg-WJ1

订阅AI内参,获取AI行业资讯

加入社群

量子位AI社群开始招募啦,量子位社群分:AI讨论群、AI+行业群、AI技术群;


欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“微信群”,获取入群方式。(技术群与AI+行业群需经过审核,审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「好看」吧 !



登录查看更多
5

相关内容

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。 所谓图像分割指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
还在修改博士论文?这份《博士论文写作技巧》为你指南
专知会员服务
73+阅读 · 2020年5月21日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
223+阅读 · 2020年3月22日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【模型泛化教程】标签平滑与Keras, TensorFlow,和深度学习
专知会员服务
20+阅读 · 2019年12月31日
谷歌机器学习速成课程中文版pdf
专知会员服务
143+阅读 · 2019年12月4日
下载 | 最全中文文本分类模型库,上手即用
机器学习算法与Python学习
30+阅读 · 2019年10月17日
盘一盘 Python 系列 8 - Sklearn
平均机器
5+阅读 · 2019年5月30日
用PyTorch做物体检测和追踪
AI研习社
12+阅读 · 2019年1月6日
手把手教你用Python库Keras做预测(附代码)
数据派THU
14+阅读 · 2018年5月30日
keras系列︱深度学习五款常用的已训练模型
数据挖掘入门与实战
10+阅读 · 2018年3月27日
Revisiting CycleGAN for semi-supervised segmentation
Arxiv
3+阅读 · 2019年8月30日
Augmentation for small object detection
Arxiv
11+阅读 · 2019年2月19日
Conditional BERT Contextual Augmentation
Arxiv
8+阅读 · 2018年12月17日
Arxiv
8+阅读 · 2018年11月21日
Arxiv
4+阅读 · 2018年9月25日
Arxiv
6+阅读 · 2018年2月6日
VIP会员
相关资讯
下载 | 最全中文文本分类模型库,上手即用
机器学习算法与Python学习
30+阅读 · 2019年10月17日
盘一盘 Python 系列 8 - Sklearn
平均机器
5+阅读 · 2019年5月30日
用PyTorch做物体检测和追踪
AI研习社
12+阅读 · 2019年1月6日
手把手教你用Python库Keras做预测(附代码)
数据派THU
14+阅读 · 2018年5月30日
keras系列︱深度学习五款常用的已训练模型
数据挖掘入门与实战
10+阅读 · 2018年3月27日
相关论文
Top
微信扫码咨询专知VIP会员