一种基于有监督对比学习的多阶段渐进式混合失真图像复原方法

文档序号:30085137发布日期:2022-05-18 05:28阅读:276来源:国知局
一种基于有监督对比学习的多阶段渐进式混合失真图像复原方法

1.本发明方法涉及一种失真图像复原方法,尤其是一种基于有监督对比学习的多阶段渐进式混合失真图像复原方法。


背景技术:

2.在图像采集和传输过程中,原始图像通常会受到采集设备引起的各种失真的污染,如图像噪声、伪影或模糊等。图像噪声是由于异常干扰信号而降低图像的信噪比,影响图像的密度分辨率,使图像呈现斑驳、颗粒状、纹理状或雪花状等各种视觉现象;伪影或模糊是由于设备与所拍摄物体之间的相对运动而产生的,包括拍摄时物体或人体的运动。尤其是对于那些需要使用高精度仪器进行拍摄的生物图像来说,操作不当或者设备不佳都十分容易导致图像失真,使一些组织边界或精细结构难以识别,大大降低图像质量,从而影响研究,故需要对此类图像进行复原。目前,图像复原技术已应用于包括医学图像处理、卫星图像处理、生物研究等许多领域。传统的图像复原方法包括非局部均值、字典学习等,在图像去噪、图像超分辨率、图像去模糊等单一失真图像恢复任务中取得了良好的效果。而后,随着深度学习的迅猛发展,许多基于神经网络的方法也在各种图像恢复任务中都取得了良好的效果。比如使用卷积神经网络(cnn)进行图像超分辨率重建,使用改进的u-net学习低分辨率和高分辨率图像之间的端到端映射,在超分辨率和去噪任务中都是有效的。或是使用生成对抗网络(gan),通过解纠缠表示和对抗域自适应从噪声数据中学习不变表示,同样也取得了良好的性能。然而,这些方法需要在不同的失真图像中进行训练,一次只能去除一种特定的失真,对于包含混合失真的图像来说,复原效果欠佳。另外,现有图像复原方法往往使用自然图像进行训练和测试,因此更适用于自然图像的复原,而对于结构、颜色、风格上与自然图像大相径庭的生物图像来说,复原效果欠佳。


技术实现要素:

3.本发明是为了解决现有技术所存在的上述技术问题,提供一种基于有监督对比学习的多阶段渐进式混合失真图像复原方法。
4.本发明的技术解决方案是:一种基于有监督对比学习的多阶段渐进式混合失真图像复原方法,是将待复原的图像输入网络模型中完成图像复原,所述网络模型依次按照如下步骤建立:步骤1:制作训练集步骤1.1:取m张sidd数据集gt图像,每张图像记为gt_img1,gt_img2,...,gt_imgm;步骤1.2:将图像gt_img1,gt_img2,...,gt_imgm分别切成50个分辨率大小为256
×
256的图像块作为清晰图像块并保留,每个清晰图像块分别记为gt_block1,gt_block2,...,gt_blockn,再取一份与清晰图像块相同图像快,每个图像块依次对应记为
preprocess_block1,preprocess_block2,...,preprocess_blockn;步骤1.3:向图像块preprocess_block1,preprocess_block2,...,preprocess_blockn中分别加入角度θ为10,长度l为10的运动模糊,记为blur_block1,blur_block2,...,blur_blockn;步骤1.4:向图像块blur_block1,blur_block2,...,blur_blockn中分别加入sigma值为25的高斯噪声,记为失真图像块distorted_block1,distorted_block2,...,distorted_blockn;步骤1.5:选取n个清晰图像块和n个失真图像块并按顺序对应为清晰图像和失真图像对,记为,作为训练集;步骤2:训练网络步骤2.1:将训练集,输进网络;步骤2.2:约定清晰图像块为干净样本,失真图像块为失真样本;步骤2.3:将失真样本送入模型的第一阶段;步骤2.3.1:首先将失真样本沿两个邻边的中线,平均切为四块,四个失真样本块分别记为distorted_tl,distorted_tr,distorted_bl,distorted_br;步骤2.3.2:将四个失真样本块送入一个1
×
1卷积和双池化通道注意力块,即先经过一个1
×
1卷积 + relu激活函数 + 1
×
1卷积的组合,然后通过一个并行的平均池化层和最大池化层,再经过一个1
×
1卷积+ relu 激活函数+ 1
×
1卷积的组合,提取出浅层特征,记为feature_shallowtl,feature_shallowtr,feature_shallowbl,feature_shallowbr;步骤2.3.3:将四个浅层特征送入一个编解码器结构中,所述编解码器结构的编码器和解码器分别由3个不同尺度的双池化注意力块组成,不同尺度之间的上下采样操作是通过双线性插值加卷积来完成的,前两个尺度间还存在跳跃连接;具体操作是首先将四个浅层特征送入编码器输出特征,记为feature_encodertl,feature_encodertr,feature_encoderbl,feature_encoderbr,然后将四个特征合并为两个,记为feature_encodertop和feature_encoderbottom,再送入解码器,输出包含上下文信息的特征,记为feature_contexttop,feature_contextbottom;将编码器和解码器输出的特征分别送入一个1
×
1卷积,并进行一个合并操作得到输出特征feature_unettop和feature_unetbottom;步骤2.3.4:将输出特征feature_unettop和feature_unetbottom送入一个监督注意模块中,该模块首先通过1
×
1卷积生成残差图像res_top和res_bottom;然后将输入的四个失真样本块同样合并为两个,记为distorted_top和distorted_bottom,将它们添加到残差图像块中,得到复原图像块restored_top和restored_bottom;步骤2.3.5:对复原图像块restored_top和restored_bottom进行1
×
1卷积,通过sigmoid函数激活生成注意掩码mask_top和mask_bottom;然后将其与输入特征feature_contexttop和feature_contextbottom相结合,生成注意增强特征feature_top和feature_bottom;
步骤2.4:将失真样本送入模型的第二阶段;步骤2.4.1:将失真样本平均切成上下两块,两个失真样本块分别记为distorted_top,distorted_bottom;步骤2.4.2:将两个失真样本块送入与步骤2.3.2相同的结构中,提取出浅层特征,记为feature_shallowtop,feature_shallowbottom;步骤2.4.3:将浅层特征feature_shallowtop和feature_shallowbottom,与上一阶段监督注意模块输出的注意增强特征feature_top和feature_bottom,以及上一阶段输出的编解码器特征feature_unettop和feature_unetbottom在特征空间上进行一步加和操作,得到结合后的特征,记为feature_concattop和feature_concatbottom;步骤2.4.4:接着将特征feature_concattop和feature_concatbottom送入与2.3.3相同的编解码器结构中,首先送入编码器输出特征,记为feature_enctop和feature_encbottom,然后将特征块从两个合并为一个,记为feature_whole,再送入解码器,输出包含上下文信息的特征,记为feature_contextwhole;将编码器和解码器输出的特征分别送入一个1
×
1卷积,并进行一个合并操作得到输出特征feature_unetwhole;步骤2.4.5:接着将输出特征feature_unetwhole送入与步骤2.3.4相同的监督注意模块中,生成残差图像res_whole;然后将输入的两个失真样本块同样合并为一个,记为distorted_whole,将它们添加到残差图像块中,得到复原图像块restored_whole;步骤2.4.6:对复原图像块restored_whole进行1
×
1卷积,通过sigmoid函数激活生成注意掩码mask_whole;然后将其与输入特征feature_contextwhole相结合,生成注意增强特征feature_whole;步骤2.5:将失真样本送入模型的第三阶段;步骤2.5.1:将全分辨率的样本块记为distorted_full,送入与步骤2.3.2相同的结构中,提取出浅层特征,记为feature_full;步骤2.5.2:将浅层特征feature_full,与上一阶段监督注意模块输出的注意增强特征feature_whole,以及上一阶段输出的编解码器特征feature_unetwhole在特征空间上进行一步加和操作,得到结合后的特征,记为feature_concatfull;步骤2.5.3:将合并后的特征送入一个原始分辨率网络中,该网络由多个原始分辨率模块串联而成,其中每个模块又是分别由多个双池化注意力模块加上一个1
×
1卷积层串联而成的,经过该原始分辨率网络后,输出特征feature_originalnet,然后再经由一个1
×
1卷积,输出残差图像res_full;步骤2.5.3:将残差图像res_full与该阶段输入的全分辨率的样本块distorted_full合并,输出全分辨率的复原图像,记为restored_full;步骤3:求取损失函数值并确定网络模型步骤3.1:为每一阶段的输出复原图像与干净样本添加端到端优化损失及拉普拉斯边缘损失;加入对比学习损失,对干净样本、失真样本以及复原图像进行特征空间上的约束;步骤3.2:计算总损失函数值loss;若epoch达到规定的次数,则网络停止训练,保存最后一轮epoch得到的训练模型为网络模型;否则再一次进入步骤2,循环重复训练。
5.本发明通过一个多阶段渐进式的网络结构来逐步学习图像中包含的失真模型并进行恢复。模型由三个阶段组成,利用编码-解码器体系结构来学习上下文特征,并将相邻的两个阶段进行组合,实现早期阶段和晚期阶段之间的信息交换。每个阶段引入逐像素自适应设计,在特征处理块之间增加水平连接,避免信息丢失。此外,采用双池化通道注意块来推断更精细的通道注意,提高网络的表示能力。然后为模型设置正类和负类,构造适当的对比学习损失函数,从而在特征空间中进一步修正输出。该方法能够同时去除图像中的噪声,并恢复原本模糊的细节,从而更好地对包含混合失真的真实图像进行复原。
附图说明
6.图1是本发明实施例用于真实生物混合失真图像的复原结果示意图。
7.图2和图3是本发明实施例用于合成混合失真自然图像的复原结果示意图。
具体实施方式
8.本发明的技术解决方案是:一种基于有监督对比学习的多阶段渐进式混合失真图像复原方法,是将待复原的图像输入网络模型中完成图像复原,所述网络模型依次按照如下步骤建立:步骤1:制作训练集和测试集步骤1.1:取m张sidd数据集gt图像,每张图像记为gt1_img1,gt1_img2,...,gt1_imgm;取x=50张用于验证的div2k自然图像为参考图像,每张图像记为gt2_img1,gt2_img2,...,gt2_imgx;步骤1.2:将图像gt1_img1,gt1_img2,...,gt1_imgm分别切成50个分辨率大小为256
×
256的图像块作为清晰图像块,每个图像块记为gt1_block1,gt1_block2,...,gt1_blockn,并保留,再取一份与gt1_block1,gt1_block2,...,gt1_blockn相同的图像快,每个图像块对应记为preprocess1_block1,preprocess1_block2,...,preprocess1_blockn;将图像gt2_img1,gt2_img2,...,gt2_imgx分别切成12个分辨率大小为256
×
256的图像块作为清晰图像块,每个图像块记为preprocess2_block1,preprocess2_block2,...,preprocess2_blocky;取a=1280个用于验证的sidd自然图像块为参考图像,每个图像块记为preprocess3_block1,preprocess3_block2,...,preprocess3_blocka,与preprocess1_block1,preprocess1_block2,...,preprocess1_blockn合并,每个图像块记为preprocess_block1,preprocess_block2,...,preprocess_blockn+a;步骤1.3:向图像块preprocess_block1,preprocess_block2,...,preprocess_blockn+a和preprocess2_block1,preprocess2_block2,...,preprocess2_blocky中分别加入角度θ为10,长度l为10的运动模糊,记为blur_block1,blur_block2,...,blur_blockn+a和blur2_block1,blur2_block2,...,blur2_blocky;步骤1.4:向图像块blur_block1,blur_block2,...,blur_blockn+a和图像块blur2_block1,blur2_block2,...,blur2_blocky中分别加入sigma值为25的高斯噪声,记为失真图像块distorted_block1,distorted_block2,...,distorted_blockn+a和distorted2_block1,distorted2_block2,...,distorted2_blocky;步骤1.5:选取n个清晰图像块和n个失真图像块并按顺序对应为清晰图像和失真
图像对,记为,作为训练集; y+a张失真图像块为测试集;步骤2:训练网络步骤2.1:将训练集,输进网络;步骤2.2:约定清晰图像块为干净样本,失真图像块为失真样本;步骤2.3:将失真样本送入模型的第一阶段;步骤2.3.1:首先将失真样本沿两个邻边的中线,平均切为四块,四个失真样本块分别记为distorted_tl,distorted_tr,distorted_bl,distorted_br;步骤2.3.2:将四个失真样本块送入一个1
×
1卷积和双池化通道注意力块,即先经过一个1
×
1卷积 + relu激活函数 + 1
×
1卷积的组合,然后通过一个并行的平均池化层和最大池化层,再经过一个1
×
1卷积+ relu 激活函数+ 1
×
1卷积的组合,提取出浅层特征,记为feature_shallowtl,feature_shallowtr,feature_shallowbl,feature_shallowbr;步骤2.3.3:将四个浅层特征送入一个编解码器结构中,所述编解码器结构的编码器和解码器分别由3个不同尺度的双池化注意力块组成,不同尺度之间的上下采样操作是通过双线性插值加卷积来完成的,前两个尺度间还存在跳跃连接;具体操作是首先将四个浅层特征送入编码器输出特征,记为feature_encodertl,feature_encodertr,feature_encoderbl,feature_encoderbr,然后完成一个合并操作,将四个编码器输出特征合并为两个,记为feature_encodertop和feature_encoderbottom,再送入解码器,输出包含上下文信息的特征,记为feature_contexttop,feature_contextbottom;将编码器和解码器输出的特征分别送入一个1
×
1卷积,并进行一个合并操作得到输出特征feature_unettop和feature_unetbottom;步骤2.3.4:将输出特征feature_unettop和feature_unetbottom送入一个监督注意模块中,首先通过1
×
1卷积生成残差图像res_top和res_bottom;然后将输入的四个失真样本块同样合并为两个,记为distorted_top和distorted_bottom,将它们添加到残差图像块中,得到复原图像块restored_top和restored_bottom;步骤2.3.5:对复原图像块restored_top和restored_bottom进行1
×
1卷积,通过sigmoid函数激活生成注意掩码mask_top和mask_bottom;然后将其与输入特征feature_contexttop和feature_contextbottom相结合,生成注意增强特征feature_top和feature_bottom;步骤2.4:将失真样本送入模型的第二阶段;步骤2.4.1:将失真样本平均切成上下两块,两块失真样本块分别记为distorted_top,distorted_bottom;步骤2.4.2:将切割后的两个失真样本块送入与步骤2.3.2相同的结构中,提取出浅层特征,记为feature_shallowtop,feature_shallowbottom;步骤2.4.3:将浅层特征feature_shallowtop和feature_shallowbottom,与上一
阶段监督注意模块输出的注意增强特征feature_top和feature_bottom,以及上一阶段输出的编解码器特征feature_unettop和feature_unetbottom在特征空间上进行一步加和操作,得到结合后的特征,记为feature_concattop和feature_concatbottom;步骤2.4.4:将两个特征feature_concattop和feature_concatbottom送入与2.3.3相同的编解码器结构中,首先送入编码器输出特征,记为feature_enctop和feature_encbottom,然后完成一个合并操作,将特征块从两个合并为一个,记为feature_whole,再送入解码器,输出包含上下文信息的特征,记为feature_contextwhole;将编码器和解码器输出的特征分别送入一个1
×
1卷积,并进行一个合并操作得到输出特征feature_unetwhole;步骤2.4.5:将输出特征feature_unetwhole送入与步骤2.3.4相同的监督注意模块中,生成残差图像res_whole;然后将输入的两个失真样本块同样合并为一个,记为distorted_whole,将它们添加到残差图像块中,得到复原图像块restored_whole;步骤2.4.6:对复原图像块restored_whole进行1
×
1卷积,通过sigmoid函数激活生成注意掩码mask_whole;然后将其与输入特征feature_contextwhole相结合,生成注意增强特征feature_whole;步骤2.5:将失真样本送入模型的第三阶段;步骤2.5.1:将全分辨率的样本块记为distorted_full,送入与步骤2.3.2相同的结构中,提取出浅层特征,记为feature_full;步骤2.5.2:将浅层特征feature_full,与上一阶段监督注意模块输出的注意增强特征feature_whole,以及上一阶段输出的编解码器特征feature_unetwhole在特征空间上进行一步加和操作,得到结合后的特征,记为feature_concatfull;步骤2.5.3:将合并后的特征送入一个原始分辨率网络中,该网络由多个原始分辨率模块串联而成,其中每个模块又是分别由多个双池化注意力模块加上一个1
×
1卷积层串联而成的,经过该原始分辨率网络后,输出特征feature_originalnet,然后再经由一个1
×
1卷积,输出残差图像res_full;步骤2.5.3:将残差图像res_full与该阶段输入的全分辨率的样本块distorted_full合并,输出全分辨率的复原图像,记为restored_full;步骤3:求取损失函数值并确定网络模型步骤3.1:为每一阶段的输出复原图像与干净样本添加端到端优化损失及拉普拉斯边缘损失;加入对比学习损失,对干净样本、失真样本以及复原图像进行特征空间上的约束;步骤3.2:计算总损失函数值loss;若epoch达到规定的80次,则网络停止训练,保存最后一轮epoch得到的训练模型model_latest.pth为网络模型;否则再一次进入步骤2,循环重复训练;实验:按照本发明实施例建立的网络模型对来自互联网下载的30张包含混合失真的真实血液细胞医疗图像进行复原,其中一幅血细胞图像的复原结果如图1所示。
9.测试集中1280(y)个失真图像块按照本发明实施例建立的网络模型进行复原,结
果如图2所示。
10.测试集中的600 (x=50)个失真图像块按照本发明实施例建立的网络模型进行复原,结果如图3所示。
11.计算合成自然混合失真图像的psnr&ssim值并与其他方法的复原结果进行对比,结果下表所示。
12.结果表明:本发明对于真实生物混合失真图像以及合成自然混合失真图像的复原都有着显著的效果,能够同时去除图像中的噪声并恢复原本模糊的细节。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1