计算机视觉应用开发课件:上采样_第1页
计算机视觉应用开发课件:上采样_第2页
计算机视觉应用开发课件:上采样_第3页
计算机视觉应用开发课件:上采样_第4页
计算机视觉应用开发课件:上采样_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上采样上采样的概念01任务上采样的实现方法02任务学习目标认识什么是上采样掌握常见的上采样方法1上采样的概念1上采样概念上采样是一种可以让图像变成更高分辨率的技术。在做图像识别过程中,需要对图像进行像素级别的分类,因此在卷积提取特征后需要通过上采样将featuremap还原到原图中。在语义分割FCN、U-Net等网络结构中,涉及到了上采样。2上采样的实现方法2上采样的实现方法常见的上采样方法有插值,unsample,反卷积,unpooling等。插值常见的插值方式有最近邻插值,双线性插值等。最近邻插值是指将目标图像中的点,对应到源图像后,找到最相邻的整数点作为插值后的输出。用f(x,y)表示目标图像,h(x,y)表示源图像,公式如下:其中

分别为源图像的宽和高,

分别为目标图像的宽和高。2上采样的实现方法举个例子,将一幅3×3的图像放大到4×4,放大后的像素点的值通过计算后如图所示:但是用该方法做放大处理时,在图像中可能会出现明显的块状效应,有点像打了马赛克一样。2上采样的实现方法在讲双线性插值之前,先看一下线性插值,线性插值多项式为:以图中的平面坐标系为例,插值后的值为:2上采样的实现方法对于图像来说,都是二维的,故只需做推广即可。双线性插值就是线性插值在二维的推广,在两个方向上做三次线性插值。具体操作如图所示:令f(x,y)为两个变量的函数,其在单位正方形顶点的值已知。假设希望通过插值得到正方形内任意点的函数值。则可由双线性方程:f(x,y)=ax+by+cxy+d来定义的一个双曲抛物面与四个已知点拟合。首先对上端的两个顶点进行线性插值得:f(x,0)=f(0,0)+x[f(1,0)−f(0,0)]类似地,再对底端的两个顶点进行线性插值有:f(x,1)=f(0,1)+x[f(1,1)−f(0,1)]最后,做垂直方向的线性插值,以确定:f(x,y)=f(x,0)+y[f(x,1)−f(x,0)]整理得:f(x,y)=[f(1,0)−f(0,0)]x+[f(0,1)−f(0,0)]y+[f(1,1)+f(0,0)−f(0,1)−f(1,0)]xy+f(0,0)2上采样的实现方法2.unsample​

图中是unsampling的原理图。直接将内容复制来扩充featuremap。2上采样的实现方法3.反卷积在介绍反卷积之前,需要深入了解一下卷积。假设有一个4×4的矩阵,将在这个矩阵上应用3×3的卷积核,并且不添加任何填充(padding),步进参数(stride)设置为1,就像图中所示,输出为一个2×2的矩阵。2上采样的实现方法

这个卷积操作在输入矩阵和卷积核中,对每个元素的乘积进行相加。因为没有任何填充和使用1为步进,因此只能对这个操作进行4次,因此输出矩阵尺寸为2×2。2上采样的实现方法

这种卷积操作使得输入值和输出值之间存在有位置上的连接关系,一个卷积操作是一个多对一(many-to-one)的映射关系。

现在,假设想要反过来操作,想要将输入矩阵中的一个值映射到输出矩阵的9个值,这将是一个一对多(one-to-many)的映射关系。这个就像是卷积操作的反操作,其核心观点就是用转置卷积。2上采样的实现方法

卷积操作是多对一,而转置卷积操作是一对多,如下图所示,每一个“对”而言,都需要维护一个权值。但是将如何具体操作呢?为了接下来的讨论,需要定义一个卷积矩阵(convolutionmatrix)和相应的转置卷积矩阵(transposedconvolutionmatrix)。卷积矩阵:

可以将一个卷积操作用一个矩阵表示。这个表示很简单,无非就是将卷积核重新排列,可以用普通的矩阵乘法进行矩阵卷积操作。2上采样的实现方法

对这个3×3的卷积核进行重新排列,得到了下面这个4×16的卷积矩阵。

这个便是卷积矩阵了,这个矩阵的每一行都定义了一个卷积操作。每一个卷积矩阵的行都是通过重新排列卷积核的元素,并且添加0补充(zeropadding)进行的。2上采样的实现方法为了将卷积操作表示为卷积矩阵和输入矩阵的向量乘法,将输入矩阵4×4摊平(flatten)为一个列向量,形状为16×1。可以将这个4×16的卷积矩阵和1×16的输入列向量进行矩阵乘法,这样就得到了输出列向量,操作过程如图所示。这个输出的4×1的矩阵可以重新塑性为一个2×2的矩阵,而这个矩阵正是和一开始通过传统的卷积操作得到的一模一样。2上采样的实现方法转置卷积矩阵:

但是想要从4(2×2)到16(4×4),就需要使用了一个16×4的矩阵,但是还有一件事情需要注意,还需要维护一个1到9的映射关系。假设转置这个卷积矩阵C(4×16)变为

(16×4)。可以对

和列向量(4×1)进行矩阵乘法,从而生成一个16×1的输出矩阵。

这个转置矩阵正是将一个元素映射到了9个元素,反卷积计算过程如图所示:2上采样的实现方法

这个输出可以塑形为(4×4)的矩阵,输出矩阵如图所示:

对小矩阵(2×2)进行上采样为一个更大尺寸的矩阵(4×4)。这个转置卷积矩阵维护了一个1个元素到9个元素的映射关系,因为这个关系表现在了其转置卷积元素上。2上采样的实现方法4.unpooling下图表示u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论