法律状态公告日
法律状态信息
法律状态
2020-05-29
授权
授权
2018-12-25
实质审查的生效 IPC(主分类):G06T9/00 申请日:20180730
实质审查的生效
2018-11-30
公开
公开
技术领域
本发明图像信号处理、人工智能领域,具体涉及一种JPEG编码压缩图像复原方法。
背景技术
随着多媒体技术的快速发展和广泛的应用,高质量的图像和视频已经成为一种主流的需求。视频数据的质量越高,其分析价值越大。然而,受到有限的信道带宽和存储能力等因素的影响,图像和视频均己压缩形式传输和常态存储。最常见的图像退化因素有下采样和压缩失真。下采样减少了图像的空间分辨率,压缩失真导致图像存在块效应、振铃、以及模糊等问题。因此,针对压缩失真的低分辨率图像,研究多降质因素图像复原技术,具有重要的理论意义和实际应用价值。
图像超分辨率复原方法能够利用单帧或多帧的低分辨率图像恢复出高分辨率图像。在采用针对无压缩图像的超分辨率方法直接对压缩失真的低分辨率图像进行超分辨率复原时,图像分辨率会提高,但严重的块效应失真现象也会放大。
JPEG图像压缩编码技术采用基于8×8像素块的DCT变换,对变换后的DCT系数进行量化处理以消除图像空间的冗余信息,实现对原有图像的压缩存储。由于JPEG的优良的压缩性能以及较低的计算复杂度,这种方法被广泛应用于图像技术相关的各个领域,是世界上应用最为广泛的图像压缩编码技术之一。
但由于JPEG是一种有损压缩方法,通过使用更大的量化步长来实现更高的压缩率,这使得图像在获取较高的压缩率的同时,图像质量产生了较为严重的下降。由于量化操作是一种非线性操作,且图像中所有的像素块量化都是独立的,这使得相邻像素块的边界处会产生明显的灰度跳变,产生块效应,且还会像素块内部形成大量无序分布的模糊以及伪边缘(振铃效应)。这无论是对图像的观看体验还是基于图像的计算机视觉技术的应用都会产生极大的负面影响。
另一方面,随着现代处理器计算能力的高速发展,以及深度学习理论研究的迅速成熟,已经有部分基于深度卷积神经网络的方法被应用于复原JPEG压缩编码的图像。尽管这一类方法可以取得较好的复原效果,但这类方法往往计算量巨大,须占用固定的、较大的内存及计算资源,难以在多任务系统中进行实时的任务调度,这极大的限制了这类方法在实际工程课题中的应用。
发明内容
针对上述存在问题,本发明提供了一种基于可伸缩卷积神经网络的JPEG压缩编码图像的复原方法,以提升图像的视觉效果,同时,通过构建的可伸缩卷积神经网络框架允许卷积神经网络在工作的过程中动态的调整网络的深度,以适应多任务系统的实时调度。
本发明提供的技术方案为:
一种基于可伸缩卷积神经网络的JPEG压缩编码图像的复原方法,包括:
步骤1,采用固定的图像质量因子对高清图像进行JPEG压缩编码得到失真图像,并采用相同随机步长将高清图像和失真图像分割成若干组图像块,构成训练集;
步骤2,构建可伸缩卷积神经网络模型,所述可伸缩卷积神经网络模型包括图像特征编码单元、包括依次连接的n个非线性特征映射单元的映射组以及图像特征解码单元,其中,所述图像特征编码单元编码接收的彩色图像的特征,输出图像特征编码至映射组,所述映射组选择利用相邻的m个非线性特征映射单元对接收的图像特征编码进行m次映射处理,输出映射后的图像特征编码至图像特征解码单元,所述图像特征解码单元解码接收的图像特征编码,并输出解码的彩色图像,其中,m≤n,n=1,2,3,…,N,N为自然数;
步骤3,基于可伸缩卷积神经网络模型构建贪心损失框架,所述贪心损失框架为:在可伸缩卷积神经网络模型的基础上,在每个映非线性特征映射单元后接一个图像特征解码单元,并在每个图像特征解码单元后均连接一个损失计算单元;
步骤4,利用训练集对构建的贪心损失框架进行训练,当训练结束后,确定网络权重参数;
步骤5,应用时,待复原的压缩图像输入至训练好的可伸缩卷积神经网络模型中,该待复原的压缩图像依次经过图像特征编码单元、根据系统运算能力选择的m个非线性特征映射单元以及图像特征解码单元处理,输出复原图像。
本发明提供的复原方法中,利用贪心损失框架局部最优特性,结合深度卷积神经网络强大的泛化能力,实现了在不改变网络模型权值的前提下对网络的深度进行动态的调整,能够适应不通深度卷积神经网络的需求。
优选地,分割时,允许相邻的图像块之间有不超过50%的重合率。
优选地,分割的图像块尺寸为48×48像素,分割时应确保图像块的左上角点在原高清图像和失真图像中的横纵坐标均不是8的整数倍。
其中,所述图像特征编码单元包括依次连接的卷积层CONV_E1、激活层RELU_E1、卷积层CONV_E2以及激活层RELU_E2。
所述非线性特征映射单元包括依次连接的卷积层CONV_M1、激活层RELU_M1、卷积层CONV_M2、放大层AMP_M1,还包括对方大层AMP_M1的输出和卷积层CONV_M1的输入进行融合的融合层CONCAT_M1。
所述图像特征解码单元包括依次连接的卷积层CONV_D1,激活层RELU_D1,卷积层CONV_D2,激活层RELU_D2。
上述所有卷积层的卷积和尺寸和卷积方式相同:卷积核大小为3×3,卷积核个数为256,滑动步长为1,边缘填充为1;
所有激活层的激活函数均为ReLU函数:
所有放大层的放大系数λ均为0.1。
优选地,所述映射组包括依次连接的8个非线性特征映射单元。即在构建的可伸缩卷积神经网络模型中,包括依次连接的图像特征编码层ENCODER,非线性特征映射单元MAPPER_1、MAPPER_2…MAPPER_8,图像特征解码层DECODER。
在训练贪心损失框架前,设置可伸缩卷积神经网络模型的学习优化方法采用Adam优化器,初始学习率设置为0.0001,每经过20000次迭代学习率衰减
训练过程中,失真图像依次经过图像特征编码单元、映射组和图像特征解码单元处理后,计算每个损失计算单元的损失,并对每个损失进行加权叠加得到最终损失,然后利用最终损失反响传播更新网络权重参数。
本发明提供的基于可伸缩卷积神经网络的JPEG压缩编码图像的复原方法的优点在于:
无需针对同一JPEG的编码质量的图像训练多个不同深度的网络,只需要训练一个最大深度的网络就可以获得所有深度不超过当前网络深度的网络。相比于一般的训练多个不同深度的网络的方法,基于贪心损失框架构建的可伸缩卷积网络可以大幅减少网络模型的训练时间,并能快速的评估网络深度对网络性能的影响。同时相对于在实时多任务系统中加载多个网络模型需要占用大量的内存空间以及磁盘I/O,可伸缩卷积神经网络只需要单次加载,可以有效地提升系统的调度效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是实施例提供的基于可伸缩卷积神经网络的JPEG编码压缩图像复原的方法的流程框图;
图2是实施例提供的可伸缩卷积神经网络基线模型的结构示意图;
图3是图2中图像特征编码单元的结构示意图;
图4是图2中图像特征解码单元的结构示意图;
图5是图2中非线性特征映射单元的结构示意图;
图6是对本发明中可伸缩卷积神经网络在使用不同的深度时计算性能的评估结果。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
如图1所示,本实施例提供的基于可伸缩卷积神经网络的JPEG压缩编码图像的复原方法包括以下步骤:
步骤1:构建训练数据
训练本发明提出的可伸缩卷积神经网络模型所使用的数据集是DIV2K数据集。DIV2K数据集包含900张2K分辨率的高清彩色图像。首先将900张图像按照复原目标的JPEG压缩编码质量进行编码,得到900张经过JPEG压缩编码的图像。将这些图像分成两组,其中一组为包含800张图像的训练数据集,另一组为包含100张图像的验证数据集。对于训练数据集,将训练数据集中的图像按照[37,61]的随机切分步长,将原始图像切分成若干48×48的图像块。对于验证数据集,将原始图像平均分成4×4共16个子图像,在每个子图像中随机抠取一个48×48的图像块,得到共计16×100=1600个图像块。
步骤2:搭建可伸缩卷积神经网络模型
利用深度学习框架Keras及后端框架Tensorflow,搭建本发明提出的可伸缩卷积神经网络模型,如图2所示。此模型的基线由一个图像特征编码单元、一个图像特征解码单元和8个非线性特征映射单元组成。
其中,如图3所示,图像特征编码单元由卷积层CONV_E1、CONV_E2,激活层RELU_E1、RELU_E2组成。如图4所示,图像特征解码单元由卷积层CONV_D1、CONV_D2,激活层RELU_D1、RELU_D2组成。如图5所示,非线性特征映射单元由卷基层CONV_M1、CONV_M2,激活层RELU_M1、放大层AMP_M1,融合层CONCAT_M1组成。
除卷积层CONV_D2外的所有卷积层均包含256个卷积滤波器,而卷积层CONV_D2包含3个卷积滤波器。除CONV_D2和CONV_E1外的所有卷积层的卷积核尺寸为3×3,CONV_D2和CONV_E1的卷积核尺寸为5×5。
所有非线性特征单元中的放大层的放大倍数均为0.1。
所有激活层的激活函数均为ReLU函数。
步骤3:训练可伸缩卷积神经网络
在训练网络模型时,输入层的大小为48×48×3;在进行图像复原时,输入层的大小为待复原图像的实际尺寸。如果待复原图像为灰度图,则将灰度图复制2份,与原图像一起组合成一幅3通道图输入网络模型中。
在训练网络模型时,引入贪心损失框架,在每个非线性解码单元的输出后连接同一个图像特征解码单元和一个L2Loss损失层,共计8个L2Loss损失层。每个损失层拥有相同的损失权重,且这些损失权重的和是1,即每个损失层的权重是0.125。
训练模型时采用Adam优化器,初始学习率设置为0.0001,每经过20000次迭代学习率衰减
每批次训练数据包含32个48×48×3的图像块。训练数据前向传播并计算各个L2Loss的加权损失,将损失反向传播并更新模型参数。重复前向传播与反向传播直至模型收敛。在模型训练过程中,每训练5000批次的数据后在验证集上计算验证损失。认定模型收敛的条件是在学习率不再衰减后,验证集的损失值在连续3次都没有下降或者训练批次达到最大迭代次数。
步骤4:使用已训练模型进行JPEG压缩编码图像的复原
首先搭建可伸缩神经网络的基线模型并加载好已训练模型。将图像特征解码单元连接到目标深度的非线性特征映射单元后。将JPEG压缩编码的图像输入网络,得到复原后的图像。
利用BSDS500数据集对本发明提供的模型进行评估:
评估所使用的指标是峰值信噪比(PSNR)和结构相似性(SSIM)。峰值信噪比和结构相似形为越大越好。评估结果如下表1所示,可以看出看出本发明所提出的卷积神经网络模型的性能优越。
更进一步的,在NVIDIA K80 GPU SEVER上对本发明中所述可伸缩卷积神经网络在使用不同的深度时的计算性能进行了评估,评估所使用的指标是每秒中处理的像素数(MCP/S)。该指标越大说明计算速度越快。评估结果如图6所示。
表1
其中,ARCNN为文献“C.Dong,Y.Deng,C.L.Chen et al.:Compression ArtifactsReduction by a Deep Convolutional Network.IEEE Conference on ComputerVision.IEEE,576-584(2016)”中的复原方法;TNRD为文献“Chen,Y.,Yu,W.,Pock,T.:Onlearning optimized reaction diffusion processes for effective imagerestoration.In:Proceedings of the IEEE Conference on Computer Vision andPattern Recognition,pp.5261–5269(2015)”中的复原方法;DDCN为文献“J.Guo,andH.Chao:Building Dual-Domain Representations for Compression ArtifactsReduction.European Conference on Computer Vision.Springer,Cham,628-644(2016)”中的复原方法。
综上所述,本发明所提出的可伸缩卷积神经网络不仅在计算速度上和图像复原结果上较之前的方法均有较大的提升,且本可以在运行的时候动态的调整网络的深度,能够很好的实现图像复原质量与计算效率的动态平衡。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
机译: 编码数据转码方法,涉及基于与基于另一种格式编码的数据有关的量化步骤,获得与JPEG格式兼容的量化表,以及在基于JPEG格式编码的数据中写入表
机译: 基于JPEG的JPEG视频编码方法和基于可量化矩阵的自适应量化方法。
机译: 空间和SNR可伸缩图像压缩和解码以可伸缩空间和SNR编码的图像数据的方法,编码的图像数据的使用,图像空间可伸缩性和SNR的压缩和解压缩设备,图像数据的接收器,Devi VO图像显示,和计算机程序产品