深入理解——亚像素 / sub-pixel、亚像素卷积
时间:2023-01-21 01:00:01
目录
1.1 亚像素理解
1.2 亚像素是什么?
1.3 亚像素精度是多少?
摘要:
2 在图像处理中sub-pixel这是什么意思?
3 PixelShuffle(像素重组)
1.1 亚像素理解
在相机成像过程中,获得的图像数据是离散图像。由于光敏元件本身能力的限制,成像表面上的每个像素只代表附近的颜色。例如,两个感官原件上的像素之间有4个.5um宏观上,它们是连在一起的,微观上,它们之间有无数微小的东西,两个实际物理像素之间存在的这些像素被称为亚像素。
亚像素实际上应该存在,只是缺少更小的传感器来检测它,所以它只能在软件上计算出来。
如下图所示,每四个红点围成的矩形区域为实际原始像素点,黑点为亚像素点:
亚像素的精度可以根据相邻两个像素之间的插值进行调整,如四分之一,即每个像素从水平和垂直上作为四个像素点。也就是说,上图中的红点之间有三个黑点。从小矩形到大矩形的映射可以通过亚像素插值实现,从而提高分辨率。
由于这种操作,在图像超分辨任务中使用pixel shuffle获取高分辨率图像的方式(例如ESPCN)。在一般的反卷积中会有大量的补0区域,这可能对结果有害。pixel shuffle从低分辨图到高分辨图的重构是通过亚像素卷积实现的,如下所示,通过多通道feature单个像素组合成一个feature每个单位都可以feature上像素相当于新的feature上的亚像素了。
1.2 亚像素是什么?
面阵摄像机的成像面以像素为最小单位。例如,摄像机芯片的像素间距为5.2微米。相机拍摄时,对物理世界中的连续图像进行离散处理(即现实世界是连接的,但机器无法实现,因此将小块周围的颜色作为应有的颜色,相当于对连续图像进行离散处理)。到成像面上每个像素点只代表附近的颜色。至于附近到什么程度?很难解释。两个像素之间有5个。.从宏观上看,2微米的距离可以看作是连接在一起的。但在微观上,它们之间有无限的小东西。我们称之为亚像素。事实上,亚像素应该存在,但硬件上没有细微的传感器来检测。所以软件几乎计算出来。
为了最大限度地利用图像信息来提高分辨率,有人提出了Sub-Pixel概念。这意味着两个物理像素之间有像素,称为Sub-Pixel。
若原始图像为n行m列,希望做k细分Sub-Pixel,这样就有了新的行N和列M,有
N = kn
M = km
原来相邻的四个像素现在已经成为(k 1)(k 1)区域;填满这个(k 1)(k 1)区域,从小正方形反射到大正方形。
1.3 亚像素精度是多少?
亚像素精度是指相邻两个像素之间的细分。输入值通常是两分之一、三分之一或四分之一。这意味着每个像素将被划分为一个较小的单元,以实现插值算法。例如,如果选择四分之一,则相当于每个像素在水平和垂直算为四个像素。
从上图可以看出,检测结果是插值后图像处理的结果。由于图像分辨率翻了一番,用于表示小圆直径的像素数量也翻了一番,这是一级亚像素元技术。我们在每两个像素之间插值一个像素,这样本来是120万像素的图像,插值后的实际处理图像就是240万像素了,相当于把一个像素拆分为1/2,同理依次有1/3拆分、1/4拆分等,一些优秀的算法甚至可以达到1/100拆分,同时还能保证处理速度。
摘要:
Sub-pixel convolution巧妙的图像和特征图upscale方法,法pixel shuffle(像素洗牌)。众所周知,如果你用深度学习来处理图像,你经常会特征图需要放大。常见的方法有直接采样,双线插值,反卷积等等。本文主要介绍一种在超分辨率中经常使用的upscale方法——sub-pixel convolution。
2 在图像处理中sub-pixel这是什么意思?
亚像素卷积是一种简化正常卷积的形式,并增加了强烈的假设。因此,去除了大量的卷积操作。亚像素卷积的结果通常是一张更大的图片,可用作超分辨率。
一个正常的反 / 逆 / 转置卷积长这样:
把一个3x3的小图片变成5X5大图片。白色虚线区全填0。
提出sub-pixel作者认为,这些白色填充0区域无效,甚至对梯度优化有害。显然,信息可以直接从原始图片中获得,为什么要填写0。
第一个白色矩阵图片是输入层。 第二,第三个白张是正常卷积,步长为1。 第四张彩色图片,通过子像素卷积,得到最后一张彩色图片。
3 PixelShuffle(像素重组)
PixelShuffle是一种上采样方法,能有效放大缩小后的特征图。
实现相应倍数的方法可以替代插值或解卷积upscale。
PixelShuffle(像素重组)主要功能是高分辨率的特征图通过卷积和多通道重组获得。这种方法最初是为了解决图像超分辨率问题而提出的,称为Sub-Pixel Convolutional Neural Network的方法成为上采样的有效手段
- 第一个白色矩阵图片是输入层。
- 第二个、第三个白色张量是隐藏层,做步长为1的正常卷积。
- 第四个彩色图片,经过子像素卷积,得到最后一张斑斓的大图。
要把一张低分辨输入转变为高分辨输出,论文ESPCN中提出用基于特征抽取和亚像素卷积的方法来扩大特征图,将特征图从低分辨空间转换到高分辨空间中去。
上图中左侧第一部分是用于对图像的特征进行抽取。而后在倒数第二层生成 r*r 个通道特征图,这里 r 就是希望上采样的倍数。
pixelshuffle的主要功能就是将这 r*r 个通道的特征图组合为新的 w*r,h*r 的上采样结果。具体来说,就是将原来一个低分辨的像素划分为r*r个更小的格子,利用r*r个特征图对应位置的值按照一定的规则来填充这些小格子。按照同样的规则将每个低分辨像素划分出的小格子填满就完成了重组过程。在这一过程中模型可以调整 r*r 个shuffle通道权重 不断优化生成的结果。
主要实现了这样的功能:N * (C * r * r) * W * H ——>> N * C * (H * r) * (W * r)
利用这些方法可以来改进特征图上采样过程中出现的问题,特别是在图像超分辨和图像增强的算法中需要对特征图进行上下采样的过程,可以解决插值和解卷积的一些人工痕迹问题。
最上面一排是输入的模糊图像x。
中间是超分辨后的图片f(x)
最下面是对照样例y
深入理解——亚像素 / sub-pixel、亚像素卷积 | 码农家园
Sub-pixel Convolution(子像素卷积)_木盏-CSDN博客
图像处理中的subpixel是什么意思? - 知乎