李飞宇,杨俊,桑高丽
1.嘉兴大学信息科学与工程学院,嘉兴 314001;2.浙江理工大学信息科学与工程学院,杭州 310018
半色调方法使用黑白二值表示连续色调图像,由于其较低资源需求已广泛使用在数字图像打印、出版社和显示应用中(Mulligan 和Ahumada,1992)。常用的半色调方法包括误差扩散(Floyd,1976;Eschbach 和Knox,1991)、点扩散(Knuth,1987)、有序抖动(Bayer,1973)和直接折半查找法(Seldowitz 等,1987)。相比连续色调图像,半色调图像只有二种值,能够节省大量的存储空间和网络带宽,因此是一种可行和重要的图像压缩方法。图1展示了原始连续色调灰度图像、对应的半色调图像和逆半色调图像。
图1 半色调和逆半色调图像Fig.1 The halftone and inverse halftone images((a)gray image;(b)halftone image;(c)inverse halftone image)
图像逆半色调是一个经典的图像重建任务,从相应的半色调图像中重建出连续色调图像,即将{0,1}H×W空间的二值图像转换为RH×W空间的连续色调图像,其中H和W分别代表图像的高和宽。因为图像在半色调处理过程中丢失了大量的细节信息,所以逆半色调是一个具有挑战性的病态问题。在过去几十年中,许多方法被提出以提高逆半色调性能(Wong,1995;Analoui和Allebach,1992;Kite等,2000;Mese和Vaidyanathan,2001;Liu等,2011)。
随着深度卷积神经网络(deep convolutional neural network,DCNN)在视觉任务中的成功应用,以CNN 为基础的图像恢复方法取得了惊人的性能,基于深度学习的逆半色调方法的恢复效果也获得显著提升(Hou 和Qiu,2017;Xiao 等,2017;Xia 和Wong,2019;Yuan 等,2020)。这些方法主要基于经典的UNet 架构搭建CNN 模型。UNet 架构是一个多层级的设计,通过图像的上下采样能够提取多尺度图像的不同特征,其作为骨干网络广泛使用在多种视觉模型中。尽管现有的大多数逆半色调方法使用UNet 架构,但其模块设计没有充分利用多尺度图像信息,无法高效地提取不同尺度图像特征,不能有效地重建图像纹理和细节特征,在图像的细节重建上仍有提升空间。
为解决上述问题,本文提出一个有效的多尺度渐进式残差学习网络架构(multiscale progressively residual learning network,MSPRL)。该模型接收不同尺度输入图像并使用浅层特征提取模块提取多尺度图像的注意力特征,同时编码器和解码器都由多个残差块组成,然后使用特征聚合模块聚合不同层级编码器的输出并将其作为解码器的输入,最终通过渐进式学习输出连续色调图像。
本文的主要贡献如下:1)提出的MSPRL 包含编码器和解码器。编码器主要恢复图像信息和擦除影响图像质量的半色调噪声。解码器负责恢复编码器阶段中的不同特征的纹理细节,并且输出连续色调图像。为了探索本文方法的性能,对比了不同激活函数、特征通道数和残差块数的性能差异;同时还比较编码器和解码器中3 种不同特征提取块的重建性能。2)提出一个计算成本较低的浅层特征提取模块以提取不同尺度图像的注意力信息,从而恢复图像内容特征表达;采用一个特征聚合模块以聚合不同层级编码器的特征信息,强化解码器特征学习,进而重建连续色调图像。3)不同于仅聚焦模型架构的设计,还深入研究训练策略的优化,将提出的MSPRL与渐进式残差学习网络(progressively residual learning network,PRL)进行对比,研究不同的训练策略对模型性能的影响。实验表明,经本文优化训练后的PRL 在多个数据集上性能获得显著提升,并且优化后的训练策略同样适用其他方法,优化训练后的方法相比未优化训练的性能均有提高。
在过去几十年中,研究者提出许多用于图像逆半色调的方法。一些简单的方法使用低通滤波擦除半色调噪声(Wong,1995;Catté 等,1992),尽管这些方法能够擦除大多数的半色调噪声,但也消除了图像的高频边缘信息。因此,Kite 等人(2000)提出基于梯度的空间变化滤波用于逆半色调,以恢复更佳的图像高频细节;Analoui 和Allebach(1992),Unal和Cetin(2001)提出用于逆半色调的凸集投影方法(projection onto the convex sets,POCS)。Liu 等 人(2011)基于贝叶斯方法建立相邻点之间的相关性图用于逆半色调。基于字典的学习也成功地应用于逆半色调(Zhang 等,2018a)。Son 和Choo(2014)提出一种面向边缘的局部学习字典(local learned dictionaries,LLD)方法增强恢复图像的边缘细节。考虑到计算效率,Mese 和Vaidyanathan(2001)、Guo 等人(2013)进一步提出一个预先计算的查找表(look-up table,LUT),以提高性能和利用效率。Huang 等人(2008)使用混合神经网络方法用于图像半色调和逆半色调。传统的逆半色调方法通常基于模型学习擦除半色调噪声,但设计的模型无法学习深层图像特征并且在大数据集上计算效率不高,重建质量的图像仍不能满足需要。
深度卷积神经网络已成为解决各种图像重建问题的主要方法,在多种视觉任务中实现最佳性能。Dong 等人(2014)提出SRCNN(super-resolution convolutional neural network),首次将CNN 应用到图像超分辨率任务中,该任务从相应的低分辨率图像中重建高分辨率细节,与传统图像超分辨率方法相比获得了优越的性能。He 等人(2016)提出ResNet(residual learning network),在模型中引入残差连接,减轻深度神经网络模型的退化,允许网络学习更深层次的特征表示。VDSR(image super-resolution using very deep convolutional network)(Kim 等,2016)在图像超分辨率中使用残差学习,实现良好的恢复效果。Lim 等人(2017)使用残差块构建一个更宽的网络EDSR(enhanced deep super-resolution network)用于图像超分辨率。Zhang 等人(2017)提出DnCNN(denoising convolutional neural network)擦除图像的高斯白噪声。卢贝和盖杉(2022)基于多尺度渐进式网络通过3 个改进的空洞残差子网络逐步重建去雨图像。MIMOUNet(multi-input multioutput UNet)(Cho 等,2021)基于UNet 恢复模糊图像,设计模型为左编码器和右解码器,在编码器的输入端设计多尺度输入以提供更多的图像信息,在中间状态设计两个非对称特征聚合模块聚集多层级编码器特征,同时在解码器的输出端计算多尺度混合损失函数,实现了高效的去模糊效果。基于UNet的Restormer(restoration Transformer)(Zamir等,2022)设计Transformer 特征模块用于多种图像恢复任务,Chen 等人(2022)基于UNet 提出NAFNet(nonlinear activation free network)处理多种图像恢复问题,使用乘法替代激活函数,简化模型设计,降低模型复杂度。
图像逆半色调是一种图像恢复任务,因此,Hou和Qiu(2017)以及Xiao等人(2017)以UNet网络为骨干网络,将CNN 用于逆半色调。Xia 和Wong(2019)提出一种渐进式残差学习网络(PRL),包括两个主要阶段:内容聚合阶段恢复图像内容特征;细节增强阶段恢复提取的纹理和细节。Yuan 等人(2020)提出梯度引导残差学习网络(gradient-guided residual learning,GGRL)用于逆半色调。GGRL使用两个相同的子网络结构,一个从输入半色调图像中学习不同Sobel方向的梯度图;另一个输出连续色调图像的粗略图。Shao 等人(2021)利用残差通道注意力块(residual channel attention block,RCAB)(Zhang 等,2018b)构建注意力模型用于逆半色调。Xia 等人(2021)和Yen 等人(2021)将逆半色调与图像着色方法相结合,从半色调图像中恢复出具有更好视觉质量的彩色连续色调图像。
尽管基于深度学习的逆半色调方法取得了较好的成果,但该领域仍存在一些值得解决的问题。早期用于逆半色调的UNet模型设计较为简单,模型特征学习能力不足,导致效果不佳;PRL 和GGRL 分别设计不同的子网络提取图像特征,增加模型复杂性。相比以上方法,本文使用UNet 作为骨干网络,聚焦多尺度图像信息设计不同的特征模块加强特征学习,避免模型特征学习能力弱和复杂性高。值得注意的是,以上逆半色调方法更关注模型设计,而忽略训练策略的重要性。
好的训练策略可以提高模型性能,减少训练时间(Goyal 等,2018;He 等,2019;Qian 等,2022;Lin等,2022)。数据增强是提高神经网络性能的重要策略之一,通过提供更多的学习样本提高模型的学习能力和泛化性(Cubuk 等,2020)。许多研究人员使用余弦退火衰减算法(Loshchilov 和Hutter,2017)优化学习率以提高模型性能,同时在早期训练阶段,使用预热方法(warm-up)(Goyal 等,2018;He 等,2019)缓解模型初期训练的不稳定。在许多视觉任务中,如图像超分辨率和图像去模糊(Lim 等,2017;Wang等,2019),移除批处理归一化层(batch normalization,BN)可以提高性能降低计算复杂度。Zhao 等人(2017)展示了L1损失比L2损失具有更好的收敛效果和图像感知质量。
如图2所示,输入半色调图像X∈{0,1}H×W×1通过多个特征提取模块,从左到右逐步学习不同尺度信息,进而恢复清晰的连续色调图像Y∈RH×W×1。模型分为左编码器(encoder,EC)阶段和右解码器(decoder,DC)阶段,从上到下划分为3个层级。
图2 MSPRL 模型架构Fig.2 The model architecture of MSPR
2.1.1 模型概述
在编码器阶段,首先使用3×3卷积层来获得浅层特征F1∈RH×W×C,其中H×W代表空间维度,C是特征通道数,k代表第k层级;然后通过由8个残差块(residual block,RB)组成的编码器块(encoder block,EB),将F1转换为层级为1 的深度特征;然后通过下采样模块从得到下采样输出特征∈RH/2×W/2×2C,其中特征图像的通道数翻倍,大小减半,下采样和上采样模块分别应用pixelunshuffle 和pixel-shuffle 操作(Shi等,2016)。为提取多尺度图像的注意力信息,分别在第2、3 层级中使用浅层特征提取模块(shallow feature extraction,SFE)提取的注意力特征,输出融合注意力特征,k-1表示输入图像的层级,然后通过EB获得深层特征。左编码阶段过程定义为
式中,Xk是不同k层级输入图像,Conv3表示3×3 卷积层,EBk和SFEk分别表示第k层级的EB和SFE。
在MSPRL 中,解码器将编码器特征作为输入,并逐步恢复连续色调图像表示。首先,特征融合模块(feature fusion module,FF)聚合不同层级编码器的特征,并输出聚合的特征代表编码特征经过上采样模块得到的特征;然后通过解码器块(decoder block,DB)来重建图像细节,其中DB 也由8 个RB 组成。经过一系列的编码和解码得到深层特征;最后应用一个3×3 卷积和残差连接来获得连续色调图像Y。右侧解码阶段定义为
式中,X和Y分别是输入和输出图像,DBk和FFk分别表示第k=1,2层级的DB和FF输出。
2.1.2 浅层特征提取和特征融合模块
式中,k=2,3,Convstack、Conv1和⊗分别表示多个堆叠的卷积层、1×1卷积层和逐元素乘法。
特征融合模块(FF)如图3(b)所示,FF使用Concat和一个卷积层聚合的特征,具体为
图3 SFE和FF子模块结构Fig.3 The structures of submodules:SFE and FF((a)shallow feature extraction module;(b)feature fusion module)
式中,k=1,2。
2.1.3 渐进式学习
输入的半色调图像以不同尺度特征在模型中通过编码器和解码器,整个过程是渐进式学习,使得网络充分利用不同尺度图像的语义信息学习图像的局部和全局特征,并且大大减少在小图像块中的运算时间,提高模型计算效率。不同阶段的特征图如图4所示。
图4 Lena图像不同阶段的特征图Fig.4 The feature maps of the Lena image in different stages((a)EBk=2;(b)DBk=2;(c)EBk=3)
尽管PRL 使用L1损失、MSE(mean squared error)损失和感知损失(perceptual loss),但在感知损失中添加了非常大的惩罚系数,对模型收敛影响甚微,并且MSE 损失函数具有平滑效果。本文仅使用L1损失,具体为
即计算真实灰度图像Xgt和重建图像Y之间的L1距离。此外,本文添加快速傅里叶变换(fast Fourier transform,FFT)损失函数来加强高频细节提取,具体为
式中,FFT(·)表示将图像信号转换为频域的快速傅里叶变换。训练模型的最终损失函数为
式中,本文实验设置λ=0.1。
表1 展示了常用的训练策略配置以及本文方法与PRL 选用策略的比较,训练策略集中在以下几个方面。
表1 PRL 和 MSPRL 训练策略的比较Table 1 Comparison of training strategies between PRL and MSPRL
1)数据增强。本文发现其他研究人员将图像缩放到256×256 像素进行训练,然而,缩放操作会丢失原始图像的许多细节和纹理信息。本文在训练期间对数据使用随机裁剪,以便模型可以学习不同区域的图像信息。数据增强使模型能够学习更丰富的特征表示,并提高模型的泛化能力。
2)更大的批量大小。PRL使用的最小批量大小为1,较小的批量会使模型训练不稳定,并影响收敛速度,本文使用的批量大小为16。
3)优化器和学习率。与PRL 不同,本文使用AdamW 优化器(Loshchilov 和Hutter,2019)而非Adam 优化器(Kingma 和Ba,2017),其中优化动量为(β1=0.9,β2=0.999)。学习率衰减使用余弦退火衰减(Loshchilov和Hutter,2017)而非线性衰减。
3.1.1 数据集与评价指标
本文使用VOC2012(the pascal visual object classes challenge 2012)数据集(Everingham 等,2015)作为训练集,该数据集包括17 000多幅图像。本文随机选择13 841 幅图像进行训练,3 000幅非重叠图像进行验证,剔除其中小于256×256 像素的图像;此外测试集中加入Kodak 数据集和Place365小型数据集(Zhou 等,2018),其中Place365 包含5 000 幅256×256 像素的图像;本文还添加9 幅经典图像到测试数据集中,如Lena、Barbara 和Baboon等;另外测试5 个标准的图像超分辨率的测试数据集,包括Set5(Bevilacqua 等,2012)、Set14(Zeyde 等,2012)、BSD100(Berkeley segmentation dataset 100)(Martin 等,2001)、Urban100(Huang 等,2015)和Manga109(Matsui等,2017),其中部分图像被适当地裁剪以适应PRL 模型。在实验中,所有数据集的半色调图像均通过Floyd-Steinberg 误差扩散算法生成,并且使用峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似性度量(structural similarity,SSIM)作为图像质量评估度量。本文的预训练模型和代码公布在https://github.com/FeiyuLi-cs/MSPRL。
3.1.2 训练细节
在训练过程中,批量大小设置为16,随机裁剪采样图像为128×128 像素,对于数据增强,每幅图像以0.5 的概率水平翻转。此外使用迭代次数而不是迭代轮次表示训练长度,模型由AdamW 优化器(β1=0.9,β2=0.999)训练300 K 次迭代。初始学习率设置为0.000 2,使用余弦退火算法将初始学习率逐渐衰减到10-6。模型在一张Nvidia RTX 3090 GPU上训练时间约为18 h。
使用MSPRL 进行消融实验,以展示不同模块、激活函数和特征块的效果。MSPRL 在每个编码器和解码器中使用8个残差块。首先评估SFE和FF对MSPRL 的有效性,实验结果如表2 所示。与Kodak数据集中的SFE 相比,FF 将PSNR 提高0.02 dB,将FF 与SFE 相结合时,性能增益进一步提高0.05 dB。结果表明,聚合MSPRL 中不同编码器的特征比仅计算注意力特征更为有效。
表2 SFE和FF的消融研究Table 2 Ablation study of SFE and FF
视觉网络大多采用ReLU(rectified linear unit)(Nair 和Hinton,2010)或LeakyReLU(leaky rectified linear unit)(Maas 等,2013)作为激活函数。GELU(gaussian error linear unit)(Hendrycks 和Gimpel,2023)逐渐成为首选的激活函数。本文测试这3 个激活函数,以探索提出模型的最佳性能,实验结果如表3 所示。结果展示了不同激活函数对模型性能的影响。ReLU 在多个数据集上总体表现更好;Leaky-ReLU 和GELU 的性能接近ReLU,但都增加了训练时间。因此,本文选择ReLU 作为模型的激活函数。
表3 不同激活函数的性能比较Table 3 Performance comparison of different activation functions
本文还比较了3个常见的特征块的PSNR 性能:残差块(RB)、残差通道注意力块(RCAB)和残差的残差稠密块(residual-in-residual dense block,RRDB)(Wang 等,2019),以探索MSPRL 编码器和解码器的性能。特征块的参数和性能如表4所示。其中RCAB和RRDB 都会增加模型的计算复杂度,并且RRDB会大大增加模型参数,而RB将模型性能稳定在较低的计算复杂度和参数之间。最后还在表5 中测试MSPRL不同特征通道和残差块数量的性能差异。
表4 不同特征块的PSNR性能比较Table 4 Comparison of PSNR performance between different feature blocks/dB
表5 不同通道数和残差块(RBs)的性能比较Table 5 Performance comparison of different channel numbers and residual blocks(RBs)
为了探索训练策略的影响,本文分别使用PRL和MSPRL 模型对不同图像尺寸和损失函数进行多次实验。发现使用较小的128×128 像素尺寸图像训练模型不仅能够缩短大约65%的训练时间,而且模型性能与训练256×256 像素尺寸的图像相当。本文推断并验证这种现象是由于数据扩充、随机采样和更多迭代造成的,这使得模型在小图像尺寸上学习的特征信息与从大图像尺寸学习的特征信息相当。对于不同的损失函数,本文加入最小化频域中的快速傅里叶变换损失,与仅使用单个L1损失函数相比,可以在图像细节方面进一步优化和改进。本文将不同训练策略下重训练的PRL 命名为PRL-dt。在不同训练设置下的实验结果如表6 所示,L1表示仅使用单独的L1损失函数。相比于PRL,PRL-dt 性能平均提高约为1.44 dB。
表6 不同训练设置下的性能比较Table 6 Performance comparison under different training setting
此外,PRL-dt 和MSPRL 在3 000 幅验证集上的PSNR 性能曲线如图5 所示,图中dim 为dimension,即图像特征维度。
图5 不同训练设置下验证集的性能曲线Fig.5 Validation curves of different training setting
将MSPRL 与其他逆半色调方法和相关视觉任务的CNN 模型进行比较,如DnCNN(Zhang 等,2017)、VDSR(Kim等,2016)和EDSR(Lim等,2017)。EDSR 的单基线模型包含16 个残差块和64 个卷积内核通道,本文移除了数据预处理/后处理和上采样层用于逆半色调任务。由于GGRL(Yuan 等,2020)预训练模型未公布,并且训练数据集大小是本文数据集的8 倍,因此只使用GGRL 架构并重新训练一个GGRL 模型,导致其性能与原始论文相比存在差距。由于UNet 骨干网络广泛使用在图像恢复任务中,为了区别架构相似的模型,重新训练MIMOUNet(Cho 等,2021)用于逆半色调。为了进行公平比较,这些方法均采用本文的训练策略,表7 展示了不同方法在7 个数据集上的结果。实验结果表明,MSPRL 在7 个数据集上获得最佳的性能,相比PRLdt 增益均为0.2 dB。尤其是在Urban100 数据集上,MSPRL 比MIMOUNet 高0.69 dB,注意到其他模型应用本文的训练策略后,其性能均优于PRL,如DnCNN、VDSR 和EDSR 采用本文的训练策略,它们的结果高于Xia和Wong(2019)相应模型的值,验证了本文训练策略的有效性。此外本文仅使用PRL基线模型,改用本文的训练策略进行优化重训练,最终PRL-dt的性能比PRL有较大提升,PRL-dt在多个数据集上相比PRL的PSNR 平均提高约1.44 dB。从表7 可以看出,MSPRL在所有数据集上也优于PRL-dt。
表7 不同逆半色调方法的性能比较Table 7 Performance comparison of different inverse halftoning methods
图6 展示了不同逆半色调方法的视觉比较。相比其他方法,MSPRL 可以获得更明显的纹理和结构信息,有效地恢复图像的细节。MSPRL 在建筑和线条中的还原视觉效果更为流畅和细致,避免弯曲和重叠;图6 中的图像Kodim24 和TetsuSan,其他模型
图6 本文方法MSPRL与其他方法在不同图像的质量对比Fig.6 The quality comparison between the MSPRL and other methods in the different images
图7 中,MSPRL 可以较好地恢复Lena 图像的帽子纹理,更接近原始真实图像;在Barbara 图像中,其他模型恢复的布料纹理呈现出更多的弯曲现象;此外MSPRL 对文字的恢复更加平滑,视觉效果更佳。与其他模型相比,尽管半色调图像的网络信息无法恢复图像中密集的圆形和点状,显示出不同方向的线型,而MSPRL 可以避免这个问题并能够较为准确地还原点状图像。损失非常严重,但MSPRL 仍然能够恢复主要细节。
图7 本文方法MSPRL与其他方法在不同图像的质量对比Fig.7 The quality comparison between the MSPRL and other methods in the different images
本文还对比了一些经典图像的恢复性能,实验结果展示在表8 中,其中图像为512×512 像素。本文方法MSPRL 的性能明显优于其他逆半色调方法。
表8 不同逆半色调方法在9幅经典图像的性能比较(PSNR)Table 8 Performance comparison of different inverse halftoning methods on 9 classic images(PSNR)/dB
本文提出一种用于逆半色调任务的多尺度渐进式残差学习架构网络(MSPRL)。其中编码器从不同尺度的图像中恢复内容信息,解码器收集编码器特征以提取深层特征,逐步学习整个模型特征。提出的MSPRL 模型简单高效,通过不同层级图像分辨率,从左到右逐步学习不同尺度图像的信息。与基于CNN 的逆半色调方法相比,本文通过提出的浅层特征提取模块和特征融合模块实现高效的重建性能,并且使用优化后的训练策略训练模型,性能得到进一步提升,此外还探讨了模型在不同的通道维数、特征块和激活函数之间的性能。实验结果验证了本文方法的有效性,同时本文方法MSPRL 在7 个数据集上实现最佳性能,获得显著的视觉重建质量。
尽管本文方法在多个数据集上获得了最佳性能,但核心的编码器解码器使用的残差块仍有改进空间,其参数量依旧存在冗余且计算效率仍可以进一步优化。最近许多研究人员在逆半色调灰度图像中添加着色任务,本文将进行后续研究,以恢复更好视觉感知的彩色连续色调图像。