发明内容
为克服上述现有技术的不足,本发明提出了结合通道注意力的多尺度图像压缩感知重构方法及系统,通过图像初始重建和深度重建,在提取深度特征的同时也考虑了浅层特征对重构的影响,使得重构效果好。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:结合通道注意力的多尺度图像压缩感知重构方法,包括:
将原始图像转换为灰度图像,对灰度图像进行多尺度分块采样得到采样值,对所述采样值通过第一通道注意力模块计算输出特征的多通道融合矩阵,将所述多通道融合矩阵与采样值运算处理得到初始重建图像;
将初始重建图像经过特征提取后依次经过第二通道注意力模块、多尺寸残差模型进行特征的多尺度融合,得到深度重建图像;其中,所述第一通道注意力模块与所述第二通道注意力模块相同;
将所述初始重建图像和深度重建图像进行结合,得到重构图像。
本发明的第二个方面提供结合通道注意力的多尺度图像压缩感知重构系统,包括:
初始重建模块:将原始图像转换为灰度图像,对灰度图像进行多尺度分块采样得到采样值,对所述采样值通过第一通道注意力模块计算输出特征的多通道融合矩阵,将所述多通道融合矩阵与采样值运算处理得到初始重建图像;
深度重建模块:将初始重建图像经过特征提取后通过多尺寸残差模型进行特征的多尺度融合,得到深度重建图像;
重构模块:将所述初始重建图像和深度重建图像进行结合,得到重构图像。
以上一个或多个技术方案存在以下有益效果:
在本发明中,通过图像初始重建和深度重建,在提取深度特征的同时也考虑了浅层特征对重构的影响,使得重构效果好。
在本发明中,多尺度分块采样中利用不同大小的卷积核对图像进行分解和采样,从而捕获多个尺度上不同级别的空间特征,解决采样时特征提取不足的问题。
在本发明中,引入通道注意力来计算多通道采样和重建图像的每个通道信息权重,从而解决所有通道一视同仁,不同通道特征缺乏区分学习的缺点。多尺度残差模型中使用局部残差学习可以很好地解决随着网络深度的增加所引发的梯度消失和网络退化等问题。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
实施例一
如图1所示,本实施例公开了结合通道注意力的多尺度图像压缩感知重构方法,包括:
将原始图像转换为灰度图像,对灰度图像进行多尺度分块采样得到采样值,对所述采样值通过第一通道注意力模块计算输出特征的多通道融合矩阵,将所述多通道融合矩阵与采样值运算处理得到初始重建图像;
将初始重建图像经过特征提取后依次经过第二通道注意力模块、多尺寸残差模型进行特征的多尺度融合,得到深度重建图像;其中,所述第一通道注意力模块与所述第二通道注意力模块相同;
将所述初始重建图像和深度重建图像进行结合,得到重构图像。
如图2所示,在本实施例中,结合通道注意力的多尺度图像压缩感知重构方法具体包括:
步骤1:获取原始图像进行处理,具体为:
步骤1-1:获取BSD500公开的数据集,选择其中400张图像作为训练集,同时对训练集进行预处理;
步骤1-2:对训练集的预处理为:将训练集数据裁剪成96×96的图像,对图像进行水平和垂直翻转,其中被翻转的概率p=0.5,将图像转换为灰度图像。
步骤2:对步骤1得到的图像进行多尺度分块采样,获得采样值;如图3所示,具体包括:
步骤2-1:多尺度分块采样中,B为分块大小,本实施例中设置B的大小为8。在采样前分别采用三个卷积层对灰度图像进行分解,三个卷积层分别是:两个5×5的卷积层和一个3×3的卷积层。其中,每个卷积层分别对灰度图像提取特征后每个卷积层的输出通道数为n
B,通道维度为:
,/>
本实施例中均用来表示通道维度,N代表每次处理图像数,n
B代表通道数、/>
代表图像高度、/>
代表图像宽度,n
B=B×B×subrate,subrate代表采样率。
步骤2-2:将步骤2-1中每个卷积层的输出使用torch.cat()函数将特征进行拼接,拼接后得到的特征通道维度为
,N代表每次处理图像数,n
B代表通道数、
代表图像高度、/>
代表图像宽度,然后再使用1×1的卷积进行降维操作。
步骤2-3:将步骤2-2所得到的降维后的特征进行采样得到采样值
,其中,N代表每次处理图像数,C代表采样点数,/>
代表图像的行被划分的图像块数量、/>
代表图像的列被划分的图像块数量。
具体的,分别利用卷积和平均池化运算进行采样,并将卷积和平均池化的结果相加作为采样值
,此处卷积的卷积核和步长均设置为8,池化的窗口和步长均设置为8。
需要说明的是,C是步骤2-2中使用1×1的卷积进行降维的结果再进行采样后得到的采样点数,C=B×B×subrate,B为分块大小,subrate代表采样率。
如图5所示,步骤3:对采样值
引入第一通道注意力模块,此处第一通道注意力设置的通道数为B×B×subrate,B为分块大小,subrate为采样率可根据实验或具体要求设置,比如0.1、0.2等。
具体的:步骤3-1:通过采样值
计算通道注意矩阵
,其中,/>
代表批量大小即每次处理图像数、/>
代表采样点数、/>
代表图像的行被划分的图像块数量、/>
代表图像的列被划分的图像块数量。
具体的:将采样值
整形为第一整形矩阵/>
和第二整形矩阵/>
,其中,/>
,/>
代表批量大小即每次处理图像数、
代表采样点数、/>
代表图像的行被划分的图像块数量、/>
代表图像的列被划分的图像块数量。
将第一整形矩阵a和第二整形矩阵
进行矩阵乘法得到矩阵/>
,/>
代表批量大小即每次处理图像数、/>
代表采样点数。将矩阵/>
送入/>
层即归一化层,获得通道注意力矩阵/>
,计算公式表示为:
其中,
为通道注意力矩阵/>
的第i行第j列的值,表示第/>
个通道对第/>
个通道的影响;公式中忽略批量大小,默认为1;/>
为第/>
个通道采样值,/>
为第/>
个通道的采样值,exp以自然常数e为底的指数函数。
步骤3-2:利用torch中的view函数将采样值
整形为第三整形矩阵/>
,/>
和/>
执行矩阵乘法得到/>
, 并将结果/>
整形为/>
,其中/>
,/>
代表批量大小即每次处理图像数、/>
代表采样点数、/>
代表图像的行被划分的图像块数量、/>
代表图像的列被划分的图像块数量。此步骤可描述为:使用torch.bmm(Z, d).view(batch_size, -1, H
2,W
2),其中,batch_size表示批量大小。
最后用
乘以尺度参数/>
并与采样值/>
执行逐元素求和运算获得最终的输出/>
,/>
代表批量大小即每次处理图像数、
代表采样点数、/>
代表图像的行被划分的图像块数量、/>
代表图像的列被划分的图像块数量。
表示的是对整个图像采样后的维度,/>
中第j个值的计算公式表示为:
其中,
为/>
的第j个值,尺度参数/>
表示从0开始逐步学习的一个权重,最终输出的每个通道的特征是所有含有权重的通道特征和原始特征的一个加权和,/>
为第/>
个通道的采样值,/>
表示第/>
个通道对第/>
个通道的影响,/>
为第/>
个通道采样值,/>
代表采样点数。
如图4所示,设置一个卷积层对
完成上采样操作,其中卷积层输入通道数:B×B×subrate,输出通道数:B×B,卷积核大小:1×1×n
B,卷积核数量B
2,步长1×1。其中,B为分块大小,subrate代表采样率,n
B为步骤2-1中的所描述的通道数。
步骤5:对步骤4上采样的结果进行整形和拼接,实现图像初始重建。
由于步骤4是对于每个图像块经过采样后输出的是1×1×nB的向量,然后经过上采样操作后得到的是1×1×B2的向量。其中,1×1×nB描述的是一张图像中每个分块采样后的维度。为了完成图像初始重建,对执行上采样后的每个图像块执行整形和拼接操作。
具体的,整形是指将每个1×1×B2的向量重新整形为一个B×B×1的块,拼接是指将所有整形的块进行拼接,从而得到初始重建图像,这个过程可以表示为:
其中,
、/>
分别表示图像的行、列被划分的图像块数量;/>
表示上采样操作;/>
表示一幅图像分块后第/>
行第/>
列的块执行步骤4的上采样操作后得到的1×1×B
2的向量;/>
表示一幅图像分块后第/>
行第/>
列的块执行步骤4的上采样操作后得到的1×1×B
2的向量;/>
表示一幅图像分块后第1行第/>
列的块执行步骤4的上采样操作后得到的1×1×B
2的向量;/>
表示一幅图像分块后第/>
行第1列的块执行步骤4的上采样操作后得到的1×1×B
2的向量;/>
是整形函数;/>
是拼接函数,/>
是初始重建图像。
步骤6:将初始重建图像输入至卷积层进行特征提取,将卷积层的输出再输入至第二通道注意力模块。
具体的,步骤6中的卷积层的输入通道数:1,输出通道数:64,卷积核大小:3×3,步长:1,填充:1,并将所得结果输入至第二通道注意力模块中。此处的第二通道注意力模块输入是初始重建图像经过卷积层进行特征提取后的结果,输出是该输入执行通道注意力后的结果。第二通道注意力模块与步骤3中的第一通道注意力模块相同。
步骤7:将步骤6得到的结果基于多尺度残差模型进行图像深度重建,具体包括:
步骤7-1:多尺度残差模型包括八个串联的多尺度残差块即第一多尺度残差块~第八多尺度残差块,每个多尺度残差块由多尺度特征融合和局部残差学习构成。
如图6所示,对于多尺度特征融合:构建一个五旁路网络,其中右边三个旁路使用3×3、5×5、7×7的卷积层提取浅层图像特征,直接进行最后特征的融合。另外两个旁路使用3×3、5×5的卷积层提取深一层的图像细节,每个旁路的输出分别与下一层的旁路相连,其中的下一层的旁路为两个,分别是Concat层即连接层和3×3卷积层、Concat层即连接层和5×5卷积层。最后使用Concat层即连接层和一个1×1卷积层连接上面5个旁路,除最后一个1×1卷积层外,五旁路网络的其他卷积层后均跟有relu函数。
局部残差学习:
,其中,/>
代表/>
的上一层的输出;/>
代表每个多尺度残差块学习到的残差值,即经过多尺度残差块最后的Concat层即连接层和1×1卷积层后输出的结果。
需要说明的是,由于本实施例使用了八个多尺度残差块,因此对于第一个多尺度残差块来说,此时的
是步骤6中第二通道注意力模块的输出,/>
则为第一个多尺度残差块的输出;第二个多尺度残差块及往后的多尺度残差块的输入都是上一个多尺度残差块的输出。
如图7所示,将每个多尺度残差块都作为特征融合的一部分直接与后面的融合层Z连接,组合成多尺度残差模型。此处的融合层是由torch的cat函数实现的,目的是将图7中经过步骤6中的第二通道注意力模块的输出M0和步骤7中每个多尺度残差块的输出M1,M2,……,Mn-1,Mn进行拼接,以防止随着网络深度的增加而丢失部分特征。
步骤7-2:基于融合层维数过高,采用两个卷积层进行降维,第一个卷积层将维度降为64,第二个卷积层将维度降为1。融合层的输出为第一卷积层的输入,第一个卷积层的输出为第二个卷积层的输入。
具体的,第一个卷积层为:输入通道数:576;输出通道数:64;卷积核大小:1×1;卷积核数量64;步长:1×1;第二个卷积层为:输入通道数:64;输出通道数:1;卷积核大小:3×3。
步骤7-3:将步骤7-2得到的最终结果与步骤5得到初始重建图像进行相加得到最终重建图像。
表1、表2、表3和表4分别是本实施例中的方法与其他方法的对比情况,结果充分表明本实施例中的方法图像重构任务上的优越性。
如下表1在不同采样率的数据集Set5上,对不同代表性的CS算法进行了平均PSNR和SSIM比较:
如下表2在不同采样率的数据集Set11上,对不同代表性的CS算法进行了平均PSNR和SSIM比较:
如下表3在不同采样率的数据集Set14上,对不同代表性的CS算法进行了平均PSNR和SSIM比较:
如下表4在不同采样率的数据集BSD100上,对不同代表性的CS算法进行了平均PSNR和SSIM比较:
实施例二
本实施例提供结合通道注意力的多尺度图像压缩感知重构系统,包括:
初始重建模块:将原始图像转换为灰度图像,对灰度图像进行多尺度分块采样得到采样值,对所述采样值通过第一通道注意力模块计算输出特征的多通道融合矩阵,将所述多通道融合矩阵与采样值运算处理得到初始重建图像;
深度重建模块:将初始重建图像经过特征提取后依次经过第二通道注意力模块、多尺寸残差模型进行特征的多尺度融合,得到深度重建图像;其中,所述第一通道注意力模块与所述第二通道注意力模块相同;
重构模块:将所述初始重建图像和深度重建图像进行结合,得到重构图像。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。