CN114549314A - 一种提高图像分辨率的方法 - Google Patents
一种提高图像分辨率的方法 Download PDFInfo
- Publication number
- CN114549314A CN114549314A CN202210154779.7A CN202210154779A CN114549314A CN 114549314 A CN114549314 A CN 114549314A CN 202210154779 A CN202210154779 A CN 202210154779A CN 114549314 A CN114549314 A CN 114549314A
- Authority
- CN
- China
- Prior art keywords
- image
- resolution
- dimension
- super
- convolution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 125
- 238000012549 training Methods 0.000 claims abstract description 29
- 238000000605 extraction Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 42
- 238000010586 diagram Methods 0.000 claims description 31
- 238000013527 convolutional neural network Methods 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 18
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 11
- 230000006798 recombination Effects 0.000 claims description 9
- 238000005215 recombination Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 2
- 238000010606 normalization Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种提高图像分辨率的方法,包括:使用DIV2K数据集训练图像超分辨率模型;在训练完成得到最终的图像超分辨率模型之后,把需要测试的图像裁剪成96*96大小的图像块,然后依次将每个图像块输入到图像超分辨率模型中;输入图像块经过卷积神经网络浅层特征提取、Transformer块深层特征提取以及像素重组图像重建得到高分辨率输出图像块;将得到的一系列高分辨率输出图像块按照它们在输入图片中的顺序拼接起来,形成最终的高分辨率输出图像。相较现有技术,本发明中提出来的图像超分辨率模型包含更少的参数量,并且可以实现更好的图像重建效果。
Description
技术领域
本发明涉及一种图像优化方法,特别是一种提高图像分辨率的方法。
背景技术
近几年,随着深度学习的迅猛发展,计算机视觉任务取得了非常好的效果。当前互联网上产生了大量图片,在社交媒体、新闻网页、电商购物网站等场所都存在着海量图片,图片已经成为我们每个人生活中不可或缺的角色。然而,由于各种原因,包括原始拍摄分辨率比较低、经过多次传输后质量变低等,互联网上图片的分辨率往往是非常低的,这不仅使得我们观看的视觉体验不好,甚至可能有一些关键信息无法准备判断。所以提高图片的分辨率具有非常重要的意义。
传统的提高图片分辨率的手段包括使用photoshop等软件编辑图片来提高图片分辨率。然而这些软件需要使用者具有一定的专业技能才能熟练使用,而且人工P图需要耗费很多时间和精力,往往效率不高。这种情况下使用机器去自动提高图像的分辨率就可以有效提高工作效率,而且,通过合适的深度学习算法,机器处理过的低分辨率图像,往往可以达到非常好的视觉效果。使用深度学习技术,只需要提前训练好一个图像超分辨率模型,这个模型体积很小,实际运行时资源占用适中,把低分辨率图像输入到训练好的模型中,就能得到更好分辨率的图像,高分辨图像有着更好的观感,能有效提升观看体验。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种提高图像分辨率的方法。
为了解决上述技术问题,本发明公开了一种提高图像分辨率的方法,包括以下步骤:
步骤1,使用DIV2K数据集训练图像超分辨率模型,图像超分辨率即为提高图像分辨率,从DIV2K数据集中的图片上随机裁剪48*48大小的图像块作为训练数据;
步骤2,使用卷积神经网络对所述图像块进行浅层特征提取,得到特征图;
步骤3,使用Transformer块对特征图进行深层特征提取,得到新的特征图;
步骤4,使用像素重组方法对步骤3中得到的特征图进行图像重建,得到输出图像O;
步骤5,使用最小绝对值偏差损失函数计算输出图像O和高分辨率图像HR之间的差异,并使用Adam优化器进行梯度下降;重复步骤1到步骤5共50万个轮次,得到最终的图像超分辨率模型;
步骤6,测试时,把低分辨率图像分成若干个96*96大小的图像块;
步骤7,将步骤6中的图形块依次输入到步骤5中所述图像超分辨率模型中,得到高分辨率的图像块;将得到的高分辨率图像块按照其在低分辨率图像中的顺序依次拼接起来,得到最终的高分辨率图像。
本发明中,步骤1包括:
所述训练数据集采用DIV2K数据集,该数据集包括高分辨率图像HR和低分辨率图像LR;其中,高分辨率图像数量800张,x2倍低分辨率图像、x3倍低分辨率图像和x4倍低分辨率图像各800张;
根据不同任务将高分辨率图像和低分辨率图像组成图像对;
其中,2倍图像超分辨率任务中,高分辨率图像HR和x2倍低分辨率图像LR图像组成图像对;
3倍图像超分辨率任务中,高分辨率图像HR和x3倍低分辨率图像LR图像组成图像对;
4倍图像超分辨率任务中,高分辨率图像HR和x4倍低分辨率图像LR图像组成图像对;
训练批量大小batch size设为32,即图像超分辨率模型训练过程中一次性处理32张图像块。
本发明中,所述步骤2包括:
训练过程中的图像块的长和宽设为48,则输入的图像数据X的维度为[32,3,48,48],其中3代表图像的通道数是3,即RGB3个通道;
对于输入的图像数据X,使用卷积神经网络进行浅层特征提取,得到特征图F1,F1的维度为[32,180,48,48];该过程如下:
F1=CNN(X)
其中,该过程的卷积神经网络CNN包含一个3x3的卷积,其输入维度为3,输出维度为180,卷积核大小为3,边缘填充像素个数为1,步长为1。
本发明中,所述步骤3包括:
将步骤2得到的特征图F1输入到Transformer块进行深层特征提取,输出为一个新的特征图F2,其维度为[32,180,48,48];该过程包括以下步骤:
步骤3-1,输入特征图F1的维度为[32,180,48,48],使用flatten操作将其维度转换为[32,180,2304];使用transpose操作将其维度转换为[32,2304,180],操作完成之后,得到矩阵X0,该过程如下:
X0=F1.flatten(-2).transpose(-1,-2)
其中,flatten操作是把矩阵展平,transpose操作是矩阵转置;
步骤3-2,将X0输入位置编码卷积神经网络PosCNN来计算X0的位置编码,位置编码卷积神经网络使用3x3的卷积实现,该卷积的输入维度为180,输出维度为180,卷积核大小为3,边缘填充像素个数为1,步长为1,组数为180;使用位置编码卷积神经网络得到X0的位置编码pos,位置编码pos的维度也是[32,2304,180],然后将位置编码pos和X0相加,得到矩阵X1,该过程表示如下:
pos=PosCNN(X0)
X1=X0+pos;
步骤3-3,把X1输入到Transformer块中,Transformer块一共包含36个Transformer层结构,每个Transformer层结构由2部分组成,第一部分是多头注意力方法MSA或者高效全局多头注意力方法EWMSA,第二部分是多层感知机方法MLP;按照每个Transformer Layer的序号(1,2…,36),如果是奇数,则第一部分是MSA,如果是偶数,则第一部分是EWMSA;每个Transformer层结构的计算过程如下:
X2=MSA(LN(X1))+X1…(1)或者X2=EWMSA(LN(X1))+X1…(2)
F2=MLP(LN(X2))+X2…(3)
其中,MSA表示Multi-head Self-Attention方法,即多头注意力方法;EWMSA表示Effective Wide-area Multi-head Self-Attention方法,即高效全局多头注意力方法;LN代表LayerNorm操作,即层归一化操作;MLP代表Multi-Layer Perceptron方法,即多层感知机方法;经过Transformer块方法处理得到的新的特征图F2的维度为[32,180,48,48];
步骤3-4,把特征图F1和F2通过残差连接相加到一起,融合特征图F1和F2的特征,得到特征图F3,该过程表示如下:
F3=F1+conv(F2)
其中,该过程中的conv表示卷积操作,该卷积的输入维度为180,输出维度为180,卷积核大小为3,边缘填充像素个数为1,步长为1。
本发明中,所述步骤4包括:
将步骤3中得到的特征图F3采用像素重组方法进行上采样;该过程具体包括三个操作,分别是conv_before_upsample处理,upsample处理,conv_last处理;其中conv_before_upsample是一个卷积操作,upsample是上采样操作,conv_last也是一个卷积操作。特征图F3的维度为[32,180,48,48],经过像素重组方法处理之后,得到的输出图像O的维度为[32,180,96,96],其对应的高分辨率图像的维度为[32,180,96,96];该过程表示如下:
F4=conv_before_upsample(F3)
F5=upsample(F4)
O=conv_last(F5)
其中,F4和F5都表示计算中间步骤得到的特征图。
本发明中,所述步骤5包括如下步骤:
步骤5-1,使用最小绝对值偏差损失函数L1计算输出图像O和其对应的高分辨率图像HR之间的差异loss;该过程表示如下:
loss=L1(O,HR)。
本发明中,所述步骤5包括如下步骤:
步骤5-2,使用Adam优化器来更新网络参数,其中Adam优化器的参数设置如下:
learn rate=0.0002;weight decay=0;milestones=[250000,400000,450000,475000,500000];gamma=0.5。
本发明中,所述步骤5包括如下步骤:
步骤5-3,重复步骤1到步骤5共50万轮次,训练完成之后,得到最终的图像超分辨率模型M。
本发明中,所述步骤6包括:
准备低分辨率图像LR,测试时,低分辨率图像LR的分辨率是任意大小;将低分辨率图像LR划分成若干个大小为96*96的图像块,设最后得到n个大小为96*96的图像块,设这些图像块为Xi,i=1,2…n,n是一个自然数。
本发明中,所述步骤7包括如下步骤:
步骤7-1,将步骤6得到的图像块依次输入到步骤5中得到的图像超分辨率模型M中;得到n个大小为192*192的图像块;设这些图像块为Yi;方法如下:
其中,表示第i个图像块经过卷积CNN处理之后得到的特征图,表示把特征图经过矩阵展平和矩阵转置操作之后得到的矩阵,表示矩阵加上为止编码之后得到的矩阵,表示经过MLP方法处理之后得到的特征图,表示特征图和特征图残差连接之后得到的特征图,表示经过cony_before_upsample操作处理之后得到的特征图,表示经过上采样操作之后得到的特征图,O表示经过conv_last操作之后得到的最终输出图像块;
其中,Transformer块方法中交替使用MSA和EWMSA;即,奇数层使用的是奇数层公式(1)计算,偶数层使用的是偶数层公式(2);
步骤7-2,步骤7-1得到n个高分辨率的图像块Yi,将这n个高分辨率的图像块按照图像块Xi在低分辨率图像LR中的顺序拼接在一起,得到最终的高分辨率图像Y。
有益效果:
采用深度学习技术训练图像超分辨率模型,一旦训练完成得到最终的模型,就可以让机器自动处理低分辨率图片,得到高分辨率图片,使得图片的画质更高,观看体验更好,这可以极大提高处理效率。本发明中提出来的图像超分辨率模型包含更少的参数量,并且可以实现更好的图像重建效果。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明实施例部分提供的一种提高图像分辨率的方法中训练和测试的工作流程示意图。
图2是本发明实施例部分提供的一种提高图像分辨率的方法中采用的DIV2K数据集结构示意图。
图3是本发明实施例部分提供的一种提高图像分辨率的方法中DIV2K数据集低分辨率LR图像示意图。
图4是本发明实施例部分提供的一种提高图像分辨率的方法中DIV2K数据集高分辨率HR图像示意图。
图5是本发明实施例部分提供的一种提高图像分辨率的方法中测试时输入的低分辨率图片示意图。
图6是本发明实施例部分提供的一种提高图像分辨率的方法中测试时模型输出的高分辨率图片示意图。
图7是本发明实施例部分提供的一种提高图像分辨率的方法中测试时模型输出的高分辨率图片的部分细节示意图。
具体实施方式
本发明公开了一种提高图像分辨率的方法,本方法应用于需要采用自动化手段提高图片的分辨率,使其视觉效果更好的场景。
本发明提供一种提高图像分辨率的方法,包括以下步骤:
步骤1,使用DIV2K数据集(DIV2K数据集为一个图像超分辨率数据集)训练图像超分辨率模型(图像超分辨率指的是提高图像分辨率),从DIV2K数据集中的图片上随机裁剪48*48大小的图像块作为训练数据;
步骤2,使用卷积神经网络对所述图像块进行浅层特征提取,得到特征图;
步骤3,使用Transformer块对特征图进行深层特征提取,得到新的特征图;其中,Transformer为一种深度学习网络结构;
步骤4,使用像素重组方法对上一步得到的特征图进行图像重建,得到输出图像O;
步骤5,使用最小绝对值偏差损失函数L1计算输出图像O和高分辨率图像HR之间的差异loss,并使用Adam优化器(Adam优化器为一种深度学习中常用的优化器)进行梯度下降。重复步骤1到步骤5共50万个轮次,得到最终的图像超分辨率模型M;
步骤6,把低分辨率图像分成若干个96*96大小的图像块,将这些图形块依次输入到上面得到的图像超分辨率模型中;
步骤7,上述图像块依次经过卷积神经网络浅层特征提取、Transformer块深层特征提取和像素重组图像重建后,得到高分辨率的图像块;将得到的高分辨率图像块按照它们在低分辨率图像中的顺序依次拼接起来,得到最终的高分辨率图像。
下面结合附图及实施例对本发明做进一步说明。
本发明的一个实施例中,如图1所示,本发明方法所构建的提高图像分辨率的工作流程大致分为两大阶段:
第一阶段,训练图像超分辨率模型,包括准备DIV2K数据集,如图2所示,每次从DIV2K数据集中选取32张低分辨率LR图片,其中每张LR图像如图3所示。然后分别从每张图片随机裁剪出大小为48*48的图像块,把这32个图像块作为一个batch进行训练。准备好训练数据之后,把batch输入到图像超分辨率模型中,依次经过卷积神经网络浅层特征提取、Transformer块深层特征提取和像素重组图像重建得到输出O。然后使用最小绝对值偏差损失函数L1计算输出图像O和高分辨率图像HR之间的差异,其中高分辨率图像如图4所示。最后使用Adam优化器对整个网络的参数进行优化。上述过程需要重复50万次方可结束,训练完成之后得到最终的图像超分辨率模型M。
第二阶段,使用第一阶段得到的图像超分辨率模型对输入图像进行处理,包括先把输入的低分辨率图像裁剪成若干个96*96大小的图像块,输入的低分辨率图像如图5所示。然后依次将这些图像块输入到图像超分辨率模型M中,这些图像块依次经过卷积神经网络浅层特征提取、Transformer块深层特征提取和像素重组图像重建后可以得到若干个大小为192*192大小的图像块。然后将这些大小为192*192的图像块按照它们在输入图像中的顺序拼接在一起,就可以得到分辨率更高的输出图像,如图6所示。通过放大输出图像的部分区域,如图7所示,我们可以看到其相比输入的低分辨率图像的相同区域更加清晰。
本实施例所述的一种提高图像分辨率的方法中,所述步骤1包括:
所述训练数据集采用DIV2K数据集,所述DIV2K数据集包括高分辨率图像高分辨率和低分辨率图像LR,其中,高分辨率图像数量为800张,x2倍、x3倍、x4倍低分辨率图像各800张。以2倍图像超分辨率任务为例,高分辨率图像HR和x2倍LR图像组成图像对。训练批大小batch size设为32,即图像超分辨率模型训练过程中一次性处理32张图像块。
本实施例所述的一种提高图像分辨率的方法中,所述步骤2包括:
训练过程中的batch size设为32,patch size设为48,其中batchsize是模型一次性处理的图像块的个数,图像块大小patch size是图像块的长和宽。那么,输入的图像数据X的维度为[32,3,48,48],其中3代表图像的通道数是3,即RGB3个通道。对于输入数据X,首先使用卷积神经网络对X进行浅层特征提取,得到特征图F1,F1的维度为[32,180,48,48]。该过程可表示为如下公式:
F1=CNN(X)
该过程中的卷积神经网络方法CNN包含一个3x3的卷积,其输入维度为3,输出维度为180,卷积核大小为3,边缘填充像素个数为1,步长为1。
本实施例所述的一种提高图像分辨率的方法中,所述步骤3包括如下步骤:
将步骤2得到的特征图F1输入到Transformer块进行深层特征提取,经过该方法处理之后,输出为一个新的特征图F2,其维度为[32,180,48,48]。该过程具体包括以下步骤:
步骤3-1,输入特征图F1的维度为[32,180,48,48],首先使用flatten操作将其维度转换为[32,180,2304],然后再使用transpose操作将其维度转换为[32,2304,180]。该过程可表示为如下公式:
X0=F1.flatten(-2).transpose(-1,-2)
其中,flatten操作是把矩阵展平,transpose操作是矩阵转置。
步骤3-2,将X0输入位置编码卷积神经网络PosCNN来计算X0的位置编码,PosCNN方法是使用3x3的卷积来实现的,该卷积的输入维度为180,输出维度为180,卷积核大小为3,边缘填充像素个数为1,步长为1,组数为180。使用PosCNN得到X0的位置编码pos,pos的维度也是[32,2304,180],然后将pos和X0相加,得到X1,该过程可表示为如下公式:
pos=PosCNN(X0)
X1=X0+pos
步骤3-3,把X1输入到Transformer块方法中,Transformer块方法一共包含36个Transformer Layer结构,每个Transformer Layer由2部分组成,第一部分是MSA或者EWMSA,第二部分是MLP。按照每个Transformer Layer的序号(1,2…,36),如果是奇数,则第一部分是MSA,如果是偶数,则第一部分是EWMSA。每个Transformer Layer的计算过程可由如下公式表示:
X2=MSA(LN(X1))+X1…(1)或者X2=EWMSA(LN(X1))+X1…(2)
F2=MLP(LN(X2))+X2…(3)
其中,公式中的MSA表示Multi-head Self-Attention,即多头注意力机制方法,EWMSA表示Effective Wide-area Multi-head Self-Attention,即高效全局多头注意力机制方法,LN代表LayerNorm操作,MLP代表Multi-Layer Perceptron,即多层感知机。经过Transformer块处理得到的F2的维度为[32,180,48,48]。
步骤3-4,把特征图F1和F2通过残差连接相加到一起,融合F1和F2的特征,该过程可表示为如下公式:
F3=F1+conv(F2)
其中,该过程中的conv的输入维度为180,输出维度为180,卷积核大小为3,边缘填充像素个数为1,步长为1。
本实施例所述的一种提高图像分辨率的方法中,所述步骤4包括:
将步骤3中得到的F3输入像素重组方法进行上采样。该过程具体包括三个操作,分别是conv_before_upsample处理,upsample处理,conv_last处理。F3的维度为[32,180,48,48],经过像素重组方法处理之后,得到的输出O的维度为[32,180,96,96],其对应的高分辨率图像的维度为[32,180,96,96]。该过程可表示为如下公式:
F4=conv_before_upsample(F3)
F5=upsample(F4)
O=conv_last(F5)
本实施例所述的一种提高图像分辨率的方法中,所述步骤5包括如下步骤:
步骤5-1,使用最小绝对值偏差损失函数计算输出O和其对应的高分辨率图像HR之间的差异loss。该过程可表示为如下公式:
loss=L1(O,HR)
步骤5-2,使用Adam优化器来更新网络参数,其中Adam优化器的一些主要参数设置如下所示:
learn rate=0.0002;weight decay=0;milestones=[250000,400000,450000,475000,500000];gamma=0.5;
步骤5-3,重复步骤1到步骤5共50万轮次,训练完成之后,得到最终的图像超分辨率模型M。
本实施例所述的一种提高图像分辨率的方法中,所述步骤6包括如下步骤:
准备好低分辨率图像LR,测试时,LR的分辨率是任意大小。将LR划分成若干个大小为96*96的图像块,假设最后得到n个大小为96*96的图像块,设这些图像块为Xi(i=1,2…n)。
本实施例所述的一种提高图像分辨率的方法中,所述步骤7包括如下步骤:
步骤7-1,将步骤6得到的图像块依次输入到步骤5中得到的图像超分辨率模型M中。该步骤将得到n个大小为192*192的图像块。设这些图像块为Yi(i=1,2…n)。具体来说,该步骤可由以下公式表示:
Transformer块方法中交替使用MSA和EWMSA。即,奇数层使用的是公式(1)和公式(3)计算,偶数层使用的是公式(2)和公式(3)。该步骤中符号的含义和步骤3中一样。
步骤7-2,上述步骤得到n个高分辨率的图像块,分别为Yi(i=1,2…n),将这n个高分辨率的图像块按照Xi(i=1,2…n)在LR中的顺序拼接在一起,得到最后的高分辨率图像Y,相比最开始的低分辨率图像LR,Y有着更高的分辨率,更清晰的画面。
在互联网上存在大量的图片,然后由于各种原因,很多图片的分辨率都比较低,这导致我们的观看体验不好,甚至有一些图片不能看清楚关键信息。所以提高图片分辨率有着很重要的意义。传统的方法如使用Photoshop等软件处理图片往往需要操作人掌握比较专业的技能,且费时费力。而且得到的高分辨率图像的画质也不一样让人满意。采用深度学习技术训练图像超分辨率模型,一旦训练完成得到最终的模型,就可以让机器自动处理低分辨率图片,得到高分辨率图片,使得图片的画质更高,观看体验更好,这可以极大提高处理效率。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的一种提高图片分辨率的方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。以上所述的本发明实施方式并不构成对本发明保护范围的限定。
本发明提供了一种提高图像分辨率的方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (10)
1.一种提高图像分辨率的方法,其特征在于,包括以下步骤:
步骤1,使用DIV2K数据集训练图像超分辨率模型,从DIV2K数据集中的图片上随机裁剪48*48大小的图像块作为训练数据;
步骤2,使用卷积神经网络对所述图像块进行浅层特征提取,得到特征图;
步骤3,使用Transformer块对特征图进行深层特征提取,得到新的特征图;
步骤4,使用像素重组方法对步骤3中得到的特征图进行图像重建,得到输出图像O;
步骤5,使用最小绝对值偏差损失函数计算输出图像O和高分辨率图像HR之间的差异,并使用Adam优化器进行梯度下降;重复步骤1到步骤5共50万个轮次,得到最终的图像超分辨率模型;
步骤6,测试时,把低分辨率图像分成若干个96*96大小的图像块;
步骤7,将步骤6中的图形块依次输入到步骤5中所述图像超分辨率模型中,得到高分辨率的图像块;将得到的高分辨率图像块按照其在低分辨率图像中的顺序依次拼接起来,得到最终的高分辨率图像。
2.根据权利要求1所述的一种提高图像分辨率的方法,其特征在于,步骤1包括:
所述训练数据集采用DIV2K数据集,该数据集包括高分辨率图像HR和低分辨率图像LR;其中,高分辨率图像数量800张,x2倍低分辨率图像、x3倍低分辨率图像和x4倍低分辨率图像各800张;
根据不同任务将高分辨率图像和低分辨率图像组成图像对;
其中,2倍图像超分辨率任务中,高分辨率图像HR和x2倍低分辨率图像LR图像组成图像对;
3倍图像超分辨率任务中,高分辨率图像HR和x3倍低分辨率图像LR图像组成图像对;
4倍图像超分辨率任务中,高分辨率图像HR和x4倍低分辨率图像LR图像组成图像对;
训练批量大小batch size设为32,即图像超分辨率模型训练过程中一次性处理32张图像块。
3.根据权利要求2所述的一种提高图像分辨率的方法,其特征在于,所述步骤2包括:
训练过程中的图像块的长和宽设为48,则输入的图像数据x的维度为[32,3,48,48],其中3代表图像的通道数是3,即RGB3个通道;
对于输入的图像数据X,使用卷积神经网络进行浅层特征提取,得到特征图F1,F1的维度为[32,180,48,48];该过程如下:
F1=CNN(X)
其中,该过程的卷积神经网络CNN包含一个3x3的卷积,其输入维度为3,输出维度为180,卷积核大小为3,边缘填充像素个数为1,步长为1。
4.根据权利要求3所述的一种提高图像分辨率的方法,其特征在于,所述步骤3包括:
将步骤2得到的特征图F1输入到Transformer块进行深层特征提取,输出为一个新的特征图F2,其维度为[32,180,48,48];该过程包括以下步骤:
步骤3-1,输入特征图F1的维度为[32,180,48,48],使用flatten操作将其维度转换为[32,180,2304];使用transpose操作将其维度转换为[32,2304,180],操作完成之后,得到矩阵X0,该过程如下:
X0=F1.flatten(-2).transpose(-1,-2)
其中,flatten操作是把矩阵展平,transpose操作是矩阵转置;
步骤3-2,将X0输入位置编码卷积神经网络PosCNN来计算X0的位置编码,位置编码卷积神经网络使用3x3的卷积实现,该卷积的输入维度为180,输出维度为180,卷积核大小为3,边缘填充像素个数为1,步长为1,组数为180;使用位置编码卷积神经网络得到X0的位置编码pos,位置编码pos的维度也是[32,2304,180],然后将位置编码pos和X0相加,得到矩阵X1,该过程表示如下:
pos=PosCNN(X0)
X1=X0+pos;
步骤3-3,把X1输入到Transformer块中,Transformer块一共包含36个Transformer层结构,每个Transformer层结构由2部分组成,第一部分是多头注意力方法MSA或者高效全局多头注意力方法EWMSA,第二部分是多层感知机方法MLP;按照每个Transformer Layer的序号(1,2...,36),如果是奇数,则第一部分是MSA,如果是偶数,则第一部分是EWMSA;每个Transformer层结构的计算过程如下:
X2=MSA(LN(X1))+X1...(1)或者X2=EWMSA(LN(X1))+X1...(2)
F2=MLP(LN(X2))+X2...(3)
其中,MSA表示Multi-head Self-Attention方法,即多头注意力方法;EWMSA表示Effective Wide-area Multi-head Self-Attention方法,即高效全局多头注意力方法;LN代表LayerNorm操作,即层归一化操作;MLP代表Multi-Layer Perceptron方法,即多层感知机方法;经过Transformer块方法处理得到的新的特征图F2的维度为[32,180,48,48];
步骤3-4,把特征图F1和F2通过残差连接相加到一起,融合特征图F1和F2的特征,得到特征图F3,该过程表示如下:
F3=F1+conv(F2)
其中,该过程中的conv表示卷积操作,该卷积的输入维度为180,输出维度为180,卷积核大小为3,边缘填充像素个数为1,步长为1。
5.根据权利要求4所述的一种提高图像分辨率的方法,其特征在于,所述步骤4包括:
将步骤3中得到的特征图F3采用像素重组方法进行上采样;该过程具体包括三个操作,分别是conv_before_upsample处理,upsample处理,conv_last处理;其中conv_before_upsample是一个卷积操作,upsample是上采样操作,conv_last也是一个卷积操作;特征图F3的维度为[32,180,48,48],经过像素重组方法处理之后,得到的输出图像O的维度为[32,180,96,96],其对应的高分辨率图像的维度为[32,180,96,96];该过程表示如下:
F4=conv_before_upsample(F3)
F5=upsample(F4)
O=conv_last(F5)
其中,F4和F5都表示计算中间步骤得到的特征图。
6.根据权利要求5所述的一种提高图像分辨率的方法,其特征在于,所述步骤5包括如下步骤:
步骤5-1,使用最小绝对值偏差损失函数L1计算输出图像O和其对应的高分辨率图像HR之间的差异loss;该过程表示如下:
loss=L1(O,HR)。
7.根据权利要求6所述的一种提高图像分辨率的方法,其特征在于,所述步骤5包括如下步骤:
步骤5-2,使用Adam优化器来更新网络参数,其中Adam优化器的参数设置如下:
learn rate=0.0002;weight decay=0;milestones=[250000,400000,450000,475000,500000];gamma=0.5。
8.根据权利要求7所述的一种提高图像分辨率的方法,其特征在于,所述步骤5包括如下步骤:
步骤5-3,重复步骤1到步骤5共50万轮次,训练完成之后,得到最终的图像超分辨率模型M。
9.根据权利要求8所述的一种提高图像分辨率的方法,其特征在于,所述步骤6包括:
准备低分辨率图像LR,测试时,低分辨率图像LR的分辨率是任意大小;将低分辨率图像LR划分成若干个大小为96*96的图像块,设最后得到n个大小为96*96的图像块,设这些图像块为Xi,i=1,2...n,n是一个自然数。
10.根据权利要求9所述的一种提高图像分辨率的方法,其特征在于,所述步骤7包括如下步骤:
步骤7-1,将步骤6得到的图像块依次输入到步骤5中得到的图像超分辨率模型M中;得到n个大小为192*192的图像块;设这些图像块为Yi,i=1,2...n,n是一个自然数;该过程具体如下:
其中,表示第i个图像块经过卷积CNN处理之后得到的特征图,表示把特征图经过矩阵展平和矩阵转置操作之后得到的矩阵,表示矩晤加上为止编码之后得到的矩阵,表示经过MLP方法处理之后得到的特征图,表示特征图和特征图残差连接之后得到的特征图,表示经过conv_before_upsample操作处理之后得到的特征图,表示经过上采样操作之后得到的特征图,O表示经过conv_last操作之后得到的最终输出图像块;
其中,Transformer块方法中交替使用MSA和EWMSA;即,奇数层使用的是奇数层公式(1)计算,偶数层使用的是偶数层公式(2);
步骤7-2,步骤7-1得到n个高分辨率的图像块Yi,将这n个高分辨率的图像块按照图像块Xi在低分辨率图像LR中的顺序拼接在一起,得到最终的高分辨率图像Y。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210154779.7A CN114549314A (zh) | 2022-02-21 | 2022-02-21 | 一种提高图像分辨率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210154779.7A CN114549314A (zh) | 2022-02-21 | 2022-02-21 | 一种提高图像分辨率的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114549314A true CN114549314A (zh) | 2022-05-27 |
Family
ID=81675191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210154779.7A Pending CN114549314A (zh) | 2022-02-21 | 2022-02-21 | 一种提高图像分辨率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114549314A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740414A (zh) * | 2023-05-15 | 2023-09-12 | 中国科学院自动化研究所 | 图像识别方法、装置、电子设备和存储介质 |
-
2022
- 2022-02-21 CN CN202210154779.7A patent/CN114549314A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740414A (zh) * | 2023-05-15 | 2023-09-12 | 中国科学院自动化研究所 | 图像识别方法、装置、电子设备和存储介质 |
CN116740414B (zh) * | 2023-05-15 | 2024-03-01 | 中国科学院自动化研究所 | 图像识别方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113240580B (zh) | 一种基于多维度知识蒸馏的轻量级图像超分辨率重建方法 | |
CN111127346A (zh) | 基于部分到整体注意力机制的多层次图像修复方法 | |
CN108961186A (zh) | 一种基于深度学习的老旧影片修复重制方法 | |
CN111429347A (zh) | 图像超分辨率重建方法、装置及计算机可读存储介质 | |
CN105488776B (zh) | 超分辨率图像重建方法和装置 | |
CN110717868B (zh) | 视频高动态范围反色调映射模型构建、映射方法及装置 | |
CN110349087B (zh) | 基于适应性卷积的rgb-d图像高质量网格生成方法 | |
CN111667410B (zh) | 图像分辨率提升方法、装置及电子设备 | |
CN113469906B (zh) | 一种用于图像修复的跨层全局和局部感知网络的方法 | |
CN111861886B (zh) | 一种基于多尺度反馈网络的图像超分辨率重建方法 | |
CN113793286B (zh) | 一种基于多阶注意力神经网络的媒体图像水印移除方法 | |
US11887218B2 (en) | Image optimization method, apparatus, device and storage medium | |
CN107767357A (zh) | 一种基于多方向字典的深度图像超分辨率方法 | |
CN115272437A (zh) | 一种基于全局与局部特征的图像深度估计方法及装置 | |
CN114549314A (zh) | 一种提高图像分辨率的方法 | |
CN115661530A (zh) | 一种图像数据增强方法、系统及电子设备 | |
Mahajan et al. | Image in painting techniques: A survey | |
Liu et al. | Facial image inpainting using multi-level generative network | |
Zhang et al. | Image extrapolation based on multi-column convolutional attention network | |
CN115908205B (zh) | 图像修复方法、装置、电子设备和存储介质 | |
CN116630131A (zh) | 屏幕隐形水印的编码、解码系统及方法 | |
CN116402721A (zh) | 基于对比感知损失的水下图像增强方法 | |
CN115423697A (zh) | 图像修复方法、终端及计算机存储介质 | |
CN112734655B (zh) | 一种基于卷积神经网络图像对crm增强的低光图像增强方法 | |
Tong et al. | Lightweight refined networks for single image super-resolution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |