https://www.toutiao.com/i6715692120516067847/

这是专栏《图像分割模型》的第2篇文章。在这个专栏里,我们将共同探索解决分割问题的主流网络结构和设计思想。

上篇文章我们学习了分割网络鼻祖FCN,今天我们来看看用解码器踢馆的SegNet。

作者 | 孙叔桥

编辑 | 言有三

1 编解码结构

分割任务中的编码器encode与解码器decode就像是玩“你来比划我来猜”的双方:比划的人想把看到的东西用一种方式描述出来,猜的人根据比划的人提供的信息猜出答案。

其中,“比划的人”叫做编码器,“猜的人”就是解码器

具体来说,编码器的任务是在给定输入图像后,通过神经网络学习得到输入图像的特征图谱;而解码器则在编码器提供特征图后,逐步实现每个像素的类别标注,也就是分割。

通常,分割任务中的编码器结构比较类似,大多来源于用于分类任务的网络结构,比如VGG。这样做有一个好处,就是可以借用在大数据库下训练得到的分类网络的权重参数,通过迁移学习实现更好的效果。因此,解码器的不同在很大程度上决定了一个基于编解码结构的分割网络的效果。

SegNet就讨论了这种不同,并在道路和室内两个场景下比较了不同解码器下,各个算法的表现。

CamVid数据库:《Semantic object classes in video: A high-definition ground truth database》

SUN RGB-D数据库:《SUN RGB-D: A RGB-D scene understanding benchmark suite》

2 SegNet

SegNet的编码器结构与解码器结构是一一对应的,即一个decoder具有与其对应的encoder相同的空间尺寸和通道数。对于基础SegNet结构,二者各有13个卷积层,其中编码器的卷积层就对应了VGG16网络结构中的前13个卷积层。

下图是SegNet的网络结构,其中蓝色代表卷积+Batch Normalization+ReLU,绿色代表max-pooling,红色代表上采样,黄色是Softmax。

SegNet与FCN的对应结构相比,体量要小很多。这主要得益于SegNet中为了权衡计算量而采取的操作:用记录的池化过程的位置信息替代直接的反卷积操作。具体如下图所示。

图中左侧是SegNet使用的解码方式,右侧是FCN对应的解码方式。可以看到,SegNet的做法是先根据位置信息生成稀疏的特征图,再利用后续的卷积计算恢复稠密特征图。而FCN则直接利用反卷积操作求得上采样后的特征图,再将其与编码器特征图相加。

3 解码器变体

前文已经提到,编解码结构中,解码器的效果和复杂程度对于整个分割网络的影响是非常大的。这里我们就一起来看一下不同解码器结构和它们的效果。

SegNet中一共尝试了8种不同的解码结构,先上结果:

这些变体共用相同的编码器结构,只是在解码器结构上有所不同。比如,将解码器的结构单纯减少层数,改变解码器最后一层通道数,改变编解码器对应结构之间的连接方式(只连接池化信息、保留特征层内信息或全部保留),改变采样方式等。

除上面几种变体外,论文中还尝试了改变上采样方法,或取消池化和下采样过程,但是这些改变都没有带来更好的结果。

4 总结与思考

关于变体的分析,可以总结为以下三点:

  • 保留编码器所有特征图所实现的效果最好,在这一点上语义分割边缘轮廓描述度量(BF)体现最为明显。
  • 当推理过程的内存受限时,可以使用编码器特征图的压缩形式(比如缩小维度、使用池化信息等),但需要搭配合适的解码器形式(比如SegNet类型的)来提升表现。
  • 在给定编码器时,越大的解码器效果越好。

今天的图像分割模型到此结束,下期再见。

「图像分割模型」编解码结构SegNet相关推荐

  1. 【图像分割模型】编解码结构SegNet

    这是专栏<图像分割模型>的第2篇文章.在这个专栏里,我们将共同探索解决分割问题的主流网络结构和设计思想. 上篇文章我们学习了分割网络鼻祖FCN,今天我们来看看用解码器踢馆的SegNet. ...

  2. 「图像分割模型」全景分割是什么?

    https://www.toutiao.com/a6717219520286556679/ 这是专栏<图像分割模型>的第12篇文章.在这里,我们将共同探索解决分割问题的主流网络结构和设计思 ...

  3. python编写赛车_「世界模型」实现,一步步让机器掌握赛车和躲避火球的技能

    前段时间,由谷歌大脑研究科学家 David Ha 与瑞士 AI 实验室 IDSIA 负责人 Jürgen Schmidhuber(他也是 LSTM 的提出者)共同提出的「世界模型」让人工智能在「梦境」 ...

  4. 标准编解码结构的局限性

    理解卷积神经网络中的自注意力机制_AI公园-CSDN博客点击上方"AI公园",关注公众号,选择加"星标"或"置顶"作者:Shuchen Du ...

  5. 如果用「上瘾模型」打开「创造营2021」,会发现什么玄机?

    随着「青春有你3」和「创造营4」的热播,两档偶像综艺的爆火让更多人看到了国内偶像市场的潜力,一时间掀起了选秀热潮,一瞬间仿佛大家都是秀粉. 国内偶像经济行业的春天已经到来,偶像是经纪公司精心包装过的商 ...

  6. 谷歌Jeff Dean团队发文,探讨「学习模型」如何替代传统索引结构

    原文来源:arxiv-vanity 作者:Tim Kraska.Alex Beutel.Ed H. Chi.Jeffrey Dean.Neoklis Polyzotis 「雷克世界」编译:嗯~阿童木呀 ...

  7. 「RISC-V Arch」RISC-V 规范结构

    日期:20230228 规范分类 根据 RISC-V 设计哲学,其规范文档也是高度模块化的: ISA 规范(2 篇) 非特权规范 特权规范 非 ISA 规范(6篇) Trace规范 ABI 规范 外部 ...

  8. Percy Liang、李飞飞等百余位学者联名发布:「基础模型」的机遇与挑战

    撰文:赵言,秦红川,程晨 校对:贾伟 随着BERT.GPT-3.DALL-e等超大模型的兴起,自监督学习+预训练模型微调适配方案,逐渐成为主流.这种范式会先在超大规模海量数据上进行自监督的模型预训练, ...

  9. AI版「盗梦空间」?谷歌大脑「世界模型」可实现在其梦境中对智能体进行训练

    图源:pixabay 原文来源:arXiv 原文链接:https://arxiv.org/pdf/1803.10122.pdf 作者:David Ha.Jurgen Schmidhuber 「雷克世界 ...

最新文章

  1. Google首席执行官:AI就像火和电,有用而又危险
  2. String长度有限制吗?是多少?还好我看过
  3. 我的VIM配置及说明【K-VIM】
  4. Kebernetes 学习总结(9)认证-授权-RBAC
  5. Javascript面向对象编程:构造函数的继承
  6. python作用域链_具有动态特性的Python嵌套作用域
  7. centos 中查找文件、目录、内容
  8. SAP CRM系统订单模型的设计与实现 1
  9. python输出语句格式 f_Python基础之输出格式和If判断
  10. 黑莓9810JAVA,黑莓9810 中文刷机包
  11. android 第三方键盘,6款Android平台第三方输入法横评
  12. 2022年了,微信透明头像怎么设置?不多说,安排(2)
  13. 网页的短信与邮箱注册
  14. 特殊字符--百度百科
  15. centos7通过startx后进入图形界面,使用eog命令提示unable to open display
  16. [技术脑洞] 如果把14亿中国人拉到一个微信群里技术上能实现吗?
  17. 史上最详细:word文档怎么在第三页插入页码,只要7步
  18. 《雍正皇帝》文化专有词泰译研究(选题缘由)
  19. Python 爬虫 批量下载论坛图片
  20. Cisco服务器http显示内容,IOS HTTP服务器的AAA控制

热门文章

  1. pairplot 中参数hue的作用就是在图像中将输出的散点图按照hue指定的特征或标签的类别的颜色种类进行区分
  2. android子线程没有运行完,android假如主线程依赖子线程A的执行结果,如何让A执行完成,之后主线程再往下执行呢?...
  3. 纪念机器翻译概念的诞生:重新认识瓦伦·韦弗先生
  4. UIUC翟成祥教授:用文本透镜拓展人类智能
  5. C++逆流而上,Java 惨不忍睹 | 9月编程语言排行
  6. 26岁创造UNIX,退休后却成为一名飞行员,这位编程界大佬不走寻常路
  7. 基于VTKITK的Qt应用程序开发
  8. 不需编程/无需写代码的中文英文文本分析教程,免费傻瓜式,多图预警
  9. 年终收藏!一文看尽2020年度最出圈AI论文合集
  10. DeepMind最新发现!神经网络的性能竟然优于神经符号模型