首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

图像卷积与反卷积

卷积神经网络最常见的,也是最为人所知的那就是卷积神经网络。但是其实卷积神经网络分为卷积和反卷积。今天就给大家重新介绍一下卷积和反卷积网络的原理和构成。

一、图像卷积类型

在2维图像卷积计算中,大致分为full、same和valid这三类。

  1、valid卷积操作

图1 valid卷积操作

valid卷积的图像大小计算公式为:滑动步长为S,图片大小为N1xN1,卷积核大小为N2xN2,卷积后图像大小:((N1-N2)/S+1)x( (N1-N2)/S+1)

如图1,滑动步长为1,图片大小为5x5,卷积核大小为3x3,卷积后图像大小:3x3

  2、same卷积操作

图2 same卷积操作

.same卷积的图像大小计算公式为: 滑动步长为1,图片大小为N1xN1,卷积核大小为N2xN2,卷积后图像大小:N1xN1

same卷积会自动补全图像,使得输入输出图像保证相同大小的输出。

3、full卷积操作

图3 same卷积操作

valid卷积的图像大小计算公式为:滑动步长为S,图片大小为N1xN1,卷积核大小为N2xN2,卷积后图像大小:(N1-N2)/S+1 x (N1-N2)/S+1

如图3,滑动步长为1,图片大小为5x5,卷积核大小为3x3,卷积后图像大小:3x3

二、反卷积

图4 反卷积

假设原图是3X3,首先使用上采样让图像变成7X7,可以看到图像多了很多空白的像素点。使用一个3X3的卷积核对图像进行滑动步长为1的valid卷积,得到一个5X5的图像,我们知道的是使用上采样扩大图片,使用反卷积填充图像内容,使得图像内容变得丰富,这也是CNN输出end to end结果的一种方法。

目前使用得最多的deconvolution有2种,上文都已经介绍。

方法1:full卷积, 完整的卷积可以使得原来的定义域变大

方法2:记录pooling index,然后扩大空间,再用卷积填充

图像的deconvolution过程如下,

输入:2x2, 卷积核:4x4, 滑动步长:3, 输出:7x7

即输入为2x2的图片经过4x4的卷积核进行步长为3的反卷积的过程

1.输入图片每个像素进行一次full卷积,根据full卷积大小计算可以知道每个像素的卷积后大小为 1+4-1=4, 即4x4大小的特征图,输入有4个像素所以4个4x4的特征图

2.将4个特征图进行步长为3的fusion(即相加); 例如红色的特征图仍然是在原来输入位置(左上角),绿色还是在原来的位置(右上角),步长为3是指每隔3个像素进行fusion,重叠部分进行相加,即输出的第1行第4列是由红色特阵图的第一行第四列与绿色特征图的第一行第一列相加得到,其他如此类推。

可以看出翻卷积的大小是由卷积核大小与滑动步长决定, in是输入大小, k是卷积核大小, s是滑动步长, out是输出大小

得到 out = (in - 1) * s + k

上图过程就是, (2 - 1) * 3 + 4 = 7

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190119G06UE100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券