文章目录

  • 语义分割简介
  • 转置卷积
  • U-Net架构

语义分割简介

语义分割是比物体检测更狠的图像识别算法,语义分割不满足于仅仅用一个检测框框出图片中的物体,而是将图片中的每个像素都进行划分,标出其属于什么物体,例如下方最右侧的示例,红色标记表示车辆、绿色标记表示道路,紫色标记表示建筑……

下方是个更粗略的语义划分,用于划分车辆、路面和建筑:

可以发现,我们的输出矩阵是与输入矩阵同等大小的,区别在于输入矩阵中的元素是每个像素的颜色,而输出矩阵中是每个像素所属物体的标记。而学习过CNN就知道,随着网络加深,矩阵的高和宽都会缩小,而通道数增加。但对于语义分割问题,我们要求输出矩阵的宽和高与原矩阵一致,这就要求我们实现一种运算,使得输出矩阵比输入矩阵更大,这样才能将“缩水”的矩阵复原。

这种运算就叫做——转置卷积。

转置卷积

为了演示转置卷积,这里以f=3,p=1,s=2f=3,p=1,s=2f=3,p=1,s=2,输入矩阵大小为2×22\times 22×2为例:

我们将输入矩阵的每个元素都拿出来,与过滤器矩阵上的元素相乘,得到一个与过滤器矩阵等大的中间矩阵,将其置于与输入矩阵中元素相应的位置,注意因为我们采用了p=1p=1p=1的填充(虽然但是,我觉得此时应该不叫填充而叫擦除),我们会忽略最外围一圈的计算值:

接下来,我们取右上角的元素111继续运算,因为s=2s=2s=2,所以这次得到的矩阵相较第一个矩阵向右移动了两格,两个中间矩阵重叠的部分元素直接相加:

左下角元素的运算类似,计算出中间矩阵放到向下两格的对应位置:

右下角同理:

将四个中间矩阵放好,重叠元素相加后,我们就得到了输出矩阵:

这显然是一个奇怪的运算,不过在众多输入小矩阵输出大矩阵的运算中,转置卷积能被研究者与工程师们接收,充分说明了其在深度学习与神经网络中是一个有效的运算。总之,通过学习转置卷积过滤器中的参数,我们能得到一个优秀的模型。

U-Net架构


上图展示的就是U-Net的大体架构(可以发现这个结构图呈一个U型),蓝色方块为矩阵规模的粗略展示,竖直方向上为矩阵的高,水平方向上为矩阵的通道数,不同的箭头表示不同的矩阵运算。在前半程,网络的运算与普通的CNN类似,做若干等大卷积后接最大池化,如此反复几次,得到U型最底部的中间矩阵。

而在后半程,除了绿色箭头代表的转置卷积产生更大的矩阵,我们需要注意灰色箭头代表的跳跃连接。跳跃连接将前半程计算出的矩阵(深蓝色)与后半程转置卷积计算出的矩阵(浅蓝色)连接在一起(因为两个矩阵的高和宽是相同的,所以在通道维度上组合在一起)。之后,组合出的矩阵再进行连续卷积接最大池化,重复若干次,最后通过若干个1×11\times 11×1的卷积,得到一个跟初始输入矩阵等大的输出,其通道数与我们想要划分出的种类数相同。我们取所有通道中概率最高的通道,认为该通道对应的语义就是这个像素点属于的语义,这样就完成了语义分割。

跳跃连接的好处在于,它将前半程中偏于具象的图像信息,与后半程处理出来的偏向抽象的特征信息结合在一起,给后面的网络更充分的信息,有利于网络做出正确的划分。

深度学习:语义分割网络U-Net相关推荐

  1. 【NLP】博士笔记 | 深入理解深度学习语义分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习初学者 引言:最近自动驾驶项目需要学习一些语义分 ...

  2. 笔记 | 深入理解深度学习语义分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉联盟 本文内容概述王博Kings最近的语义分割 ...

  3. 博士笔记 | 深入理解深度学习语义分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习初学者 本文内容概述王博Kings最近的语义分割学 ...

  4. 【深度学习】深度学习语义分割理论与实战指南.pdf

    图像分类.目标检测和图像分割是基于深度学习的计算机视觉三大核心任务.三大任务之间明显存在着一种递进的层级关系,图像分类聚焦于整张图像,目标检测定位于图像具体区域,而图像分割则是细化到每一个像素. 基于 ...

  5. 深度学习语义分割理论与实战指南

    本文来自微信公众号[机器学习实验室] 深度学习语义分割理论与实战指南 1 语义分割概述 2 关键技术组件 2.1 编码器与分类网络 2.2 解码器与上采样 2.2.1 双线性插值(Bilinear I ...

  6. 深度学习语义分割理论与实战指南.pdf

    深度学习语义分割理论与实战指南 V1.0 版本已经完成,主要包括语义分割概述.关键技术组件.数据模块.经典分割网络与架构.PyTorch基本实战方法等五个部分. 获取方式: 扫描关注下方公众号回复 语 ...

  7. 第13届R会演讲 | 深度学习语义分割引导.ppt

    2020年,第13届中国 R 会(北京)将于12月19-20日在中国人民大学召开,本次会议由统计之都,中国人民大学统计学院.中国人民大学应用统计科学研究中心主办,得到 R Studio 赞助支持,将以 ...

  8. 这就是神经网络 11:深度学习-语义分割-DFN、BiSeNet、ExFuse

    前言 本篇介绍三篇旷视在2018年的CVPR及ECCV上的文章.旷视做宣传做的很好,出的论文解读文章很赞,省去了我从头开始理解的痛苦,结合论文基本能很快了解全貌. 语义分割任务同时需要 Spatial ...

  9. 深度学习-语义分割总结

    翻译自qure.ai 什么是语义分割 对图片的每个像素都做分类. 较为重要的语义分割数据集有:VOC2012 以及 MSCOCO . 有哪几种方法 传统机器学习方法:如像素级的决策树分类,参考Text ...

  10. 深度学习语义分割论文笔记(待完善)

    在深度学习这一块儿,我最开始使用Unet进行了冠状动脉血管的分割 再后来,我尝试改进Unet,改进损失函数,让网络能有不错的效果 再后来,看到了注意力机制,读了attention unet, 于是,我 ...

最新文章

  1. TiDB DevCon 2019 报名开启:年度最高规格的 TiDB 技术大会
  2. Spring boot 多数据源
  3. cnpm在ubuntu19.10下面的安装以及vue.js中el的意思
  4. openwrt 3g模块上网
  5. fastapi学习(一):输出hello world与基本运行方法
  6. C语言 VS快速输入main函数
  7. mysqld已删除但仍占用空间的_U盘删除的文件在哪?
  8. 验光黑科技时代!星创视界首创眼镜店医疗验光
  9. php 不返回 数据,php – file_get_contents没有返回任何数据
  10. 用python爬虫抓站的一些技巧
  11. 云计算 third day
  12. 十进制 二进制 十六进制 八进制
  13. AcWing 1123. 铲雪车 题解(欧拉回路)
  14. 计算机组成原理——输入/输出系统(I/O接口外设中断)
  15. 在Qt中使用OpenGL(二)
  16. 线性筛——约数的个数
  17. Dearpygui制作Linux上SSD测试工具集合
  18. 专用来处理图像的工具-Photoshop CS5 中文版提供下载
  19. Docker的退出后进入
  20. Mysql数据库经验总结

热门文章

  1. oracle删除导入库,oracle数据库删除和导入方法
  2. 使用BoobSnail生成任意Excel 4.0 XLM宏文件
  3. 2017-09-26 10:45:51.905 ERROR 9704 --- [nio-8080-exec-5] com.linktrust.aspect.AopLogger :
  4. Codeforce 1600Difficulty Graphs 20 questions
  5. python gui哪个好看_python的GUI选择什么方案比较好?
  6. bay——RAC 表空间时数据文件误放置到本地文件系统-介质恢复.txt
  7. YAML_06 playbook从上往下顺序执行,若报错,不提示,继续往下执行
  8. vue loading组件
  9. sqlalchemy query函数可用参数有哪些?
  10. MVC3开发常常遇到的问题及常常使用到的代码片段