深度学习:语义分割网络U-Net
文章目录
- 语义分割简介
- 转置卷积
- 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相关推荐
- 【NLP】博士笔记 | 深入理解深度学习语义分割
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习初学者 引言:最近自动驾驶项目需要学习一些语义分 ...
- 笔记 | 深入理解深度学习语义分割
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉联盟 本文内容概述王博Kings最近的语义分割 ...
- 博士笔记 | 深入理解深度学习语义分割
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习初学者 本文内容概述王博Kings最近的语义分割学 ...
- 【深度学习】深度学习语义分割理论与实战指南.pdf
图像分类.目标检测和图像分割是基于深度学习的计算机视觉三大核心任务.三大任务之间明显存在着一种递进的层级关系,图像分类聚焦于整张图像,目标检测定位于图像具体区域,而图像分割则是细化到每一个像素. 基于 ...
- 深度学习语义分割理论与实战指南
本文来自微信公众号[机器学习实验室] 深度学习语义分割理论与实战指南 1 语义分割概述 2 关键技术组件 2.1 编码器与分类网络 2.2 解码器与上采样 2.2.1 双线性插值(Bilinear I ...
- 深度学习语义分割理论与实战指南.pdf
深度学习语义分割理论与实战指南 V1.0 版本已经完成,主要包括语义分割概述.关键技术组件.数据模块.经典分割网络与架构.PyTorch基本实战方法等五个部分. 获取方式: 扫描关注下方公众号回复 语 ...
- 第13届R会演讲 | 深度学习语义分割引导.ppt
2020年,第13届中国 R 会(北京)将于12月19-20日在中国人民大学召开,本次会议由统计之都,中国人民大学统计学院.中国人民大学应用统计科学研究中心主办,得到 R Studio 赞助支持,将以 ...
- 这就是神经网络 11:深度学习-语义分割-DFN、BiSeNet、ExFuse
前言 本篇介绍三篇旷视在2018年的CVPR及ECCV上的文章.旷视做宣传做的很好,出的论文解读文章很赞,省去了我从头开始理解的痛苦,结合论文基本能很快了解全貌. 语义分割任务同时需要 Spatial ...
- 深度学习-语义分割总结
翻译自qure.ai 什么是语义分割 对图片的每个像素都做分类. 较为重要的语义分割数据集有:VOC2012 以及 MSCOCO . 有哪几种方法 传统机器学习方法:如像素级的决策树分类,参考Text ...
- 深度学习语义分割论文笔记(待完善)
在深度学习这一块儿,我最开始使用Unet进行了冠状动脉血管的分割 再后来,我尝试改进Unet,改进损失函数,让网络能有不错的效果 再后来,看到了注意力机制,读了attention unet, 于是,我 ...
最新文章
- TiDB DevCon 2019 报名开启:年度最高规格的 TiDB 技术大会
- Spring boot 多数据源
- cnpm在ubuntu19.10下面的安装以及vue.js中el的意思
- openwrt 3g模块上网
- fastapi学习(一):输出hello world与基本运行方法
- C语言 VS快速输入main函数
- mysqld已删除但仍占用空间的_U盘删除的文件在哪?
- 验光黑科技时代!星创视界首创眼镜店医疗验光
- php 不返回 数据,php – file_get_contents没有返回任何数据
- 用python爬虫抓站的一些技巧
- 云计算 third day
- 十进制 二进制 十六进制 八进制
- AcWing 1123. 铲雪车 题解(欧拉回路)
- 计算机组成原理——输入/输出系统(I/O接口外设中断)
- 在Qt中使用OpenGL(二)
- 线性筛——约数的个数
- Dearpygui制作Linux上SSD测试工具集合
- 专用来处理图像的工具-Photoshop CS5 中文版提供下载
- Docker的退出后进入
- Mysql数据库经验总结
热门文章
- oracle删除导入库,oracle数据库删除和导入方法
- 使用BoobSnail生成任意Excel 4.0 XLM宏文件
- 2017-09-26 10:45:51.905 ERROR 9704 --- [nio-8080-exec-5] com.linktrust.aspect.AopLogger :
- Codeforce 1600Difficulty Graphs 20 questions
- python gui哪个好看_python的GUI选择什么方案比较好?
- bay——RAC 表空间时数据文件误放置到本地文件系统-介质恢复.txt
- YAML_06 playbook从上往下顺序执行,若报错,不提示,继续往下执行
- vue loading组件
- sqlalchemy query函数可用参数有哪些?
- MVC3开发常常遇到的问题及常常使用到的代码片段