时间:2024-05-04
刘心宇,干宗良,刘 峰
(南京邮电大学 通信与信息工程学院,江苏 南京 210003)
为了进一步节约带宽和设备的存储空间,在视觉通信和计算机系统中通常采用有损的图像压缩方式,例如JPEG[1]和HEVC-MSP[2]。不可避免地,有损压缩将引起块效应、振铃效应和模糊等压缩失真。它们通常是由处理图像块时的不连续性,高频分量的粗量化等原因导致的。这些失真不仅会降低视觉的感知质量,而且对很多将压缩图像作为输入的图像处理算法造成不利影响[3]。
早期的算法[4-5]使用滤波的方法来去除简单的失真。随后,基于数据的方法被提出来以避免不准确的压缩降质模型。基于稀疏的图像复原方法[6-11]可以产生锐化的图像,但复原后的图像往往存在模糊的边缘和不自然的平滑区域。文献[12]中, 杨航等在傅里叶
域得到图像的初步估计,再利用结构字典学习的方法得到复原图像。最近,Dong等[3]通过对SRCNN模型的特殊应用[13],将深度学习方法[14]引入到这个问题。虽然这些算法在PSNR上取得了很好的效果,但并没有包含太多特定问题的先验知识[15]。较深的网络以及较小的步长都会导致计算量大大增加[16],这导致深度学习算法在低配置的硬件上往往难以实现。
A+[17]通过改进ANR[18]的线性映射学习来进一步提高性能。当完成字典训练后,A+以相关性为准则,在500万个候选图像特征向量里挑选2 048个相关性最高的特征向量来训练驻点回归模型,极大地改善了图像质量。
文中提出一种基于分级子空间回归的压缩图像复原方法,应用于Webp压缩人脸图像。在训练部分,首先根据压缩人脸图像的边缘方向,将压缩-未压缩图像块对划分到不同的浅层子空间中,其次对每个浅层子空间使用K均值聚类进一步划分其深层子空间。最后,通过将A+回归模型应用到每个深层子空间中,可以获得一组彼此独立的子空间回归映射矩阵。在复原阶段,分析每个压缩图像块的边缘方向,判断它所属的浅层子空间,从而选择合适的深层子空间线性映射来复原压缩图像块。
通过提取压缩人脸图像最明显的特征分布约束信息,该算法克服了特征选择,多尺度特征域以及光照强度的影响,具有良好的鲁棒性。
分别计算压缩人脸图像像素点(x,y)的梯度幅值和梯度方向:
(1)
(2)
其中,GX(x,y)和GY(x,y)分别是像素点(x,y)水平和垂直方向上的梯度;G(x,y)表示该像素点的梯度幅值;α(x,y)表示梯度方向。
将梯度方向划分为M个方向,即将角度划分为M个bin。通过计算每个图像块内像素点分布在不同bin区间的梯度幅值之和,生成M维特征向量。对M维的特征向量标准化,就得到该图像块的HOG特征描述。
众所周知,同一个类别内信号的差异性比一般的差异性要小。Yang等[19]将输入的降质空间划分成足够精确的子空间,并在不同的子空间中学习回归。正如文献[20-21]论述的那样,如果将图像恰当地划分成更小图像块,并根据特征将每个图像块适当地划分成多个子空间,则每个图像子空间都可以学习到压缩图像块到未压缩图像块的有效线性映射。
通过调研压缩人脸图像时发现,位于边缘的像素点梯度分布遵循一定的规律,而且和在压缩自然图像中明显不同。测试从VGGface2数据集[22]提取的人脸图像和通用的自然图像数据集set115来验证是否存在这一规律,结果如图1所示。在图1中发现,位于边缘的像素点在压缩人脸图像中的分布要比自然图像更加对称,而且在45度到135度的范围内,分布的数量明显更多。
这一特征表明,可以通过边缘方向来区分压缩的人脸图像和自然图像,并进一步利用这一特征来复原压缩人脸图像。
图1 人脸图像和自然图像边缘点梯度方向对比
因为矢量方向和它的相反方向可以被认为是同一个方向,所以在1.2节,采用180度的角度区间。同时为了避免式2在计算角度时分母为零的情况,将水平方向设置成一个非常小的值,这样导致90度附近的像素点数量会非常多,直接影响到复原结果。为了更准确有效的计算,把90度作为角度计算的起始点,即把第一象限映射到第三象限来获得闭区间的角度分布,同时基于像素点数目的分布将180度量化成M个区间。这样,对每个位于边缘的图像块,就以它HOG特征描述中的最大值为这个图像块的边缘方向,并赋予相应的索引。
当压缩图像具有较大的噪声时,将相似的压缩图像块聚类到不同的浅层子空间中,这并不能保证它们对应的原始图像块也是相似的。为了进一步提高子空间聚类的准确性和增强算法的抗噪能力,获取一个与目标块ym相同位置中心但具有更大尺寸的图像块yn,以yn的边缘方向作目标块ym浅层子空间划分的标准。
为了进一步加快算法的运行速度并判断目标块ym是否位于图像边缘上,采用Canny算子来提取压缩图像的边缘点,如果yn包含任何边缘点,则计算yn的边缘方向并分配以ym相应的子空间索引。如果未包含任何边缘点,对该子空间分配索引0。
通过这种方式,利用边缘方向信息将图像块聚类到适当的浅层子空间中,每个子空间都由一组具备相似边缘方向的压缩图像块和未压缩图像块对组成。对每个基于边缘方向聚类的浅层子空间,都可以学习到一个压缩图像块到未压缩图像块的有效线性映射矩阵,方便在复原阶段使用。图2为文中算法总框架。
文中压缩图像块由它的特征表示,这些特征是对压缩图像在水平方向和垂直方向的一阶梯度和二阶梯度特征的级联表示。此外,在训练阶段,其目标在于找到一个广义的线性映射PC,它能将所属于浅层子空间C的压缩图像块映射到原始的未压缩版本,如
XC=PCYC
(3)
其中,XC表示处于同一浅层子空间C的原始图像块xi,c的矢量化集合;YC表示对应的压缩块yi,c的矢量化集合。
在每个浅层子空间中使用K均值聚类算法获得每个浅层子空间下的深层子空间,同时得到的K均值聚类中心就作为深层子空间中心的代表。在这个过程中,应用主成分分析(PCA)来减少计算量。虽然同一浅层子空间中的图像块都具备相近的边缘方向,但仍旧存在偏差。这种偏差也反映在每个深层子空间的中心和其他深层子空间中的图像块差异很大,所以当完成深层子空间的划分时,每个深层子空间的中心就作为学习回归时的线性映射核。
对于浅层子空间C中的每个深子空间,都可以看做是l2范数正则化的最小二乘回归[18]。
(4)
可以得到它的最优估计为:
(5)
其中,I是单位矩阵;λ是正则化参数。
根据A+[17]可知,驻点周围的流形和驻点的相关性很大,准确度要优于整个样本集。在这里用深层子空间中心周围的流形来代表整个深层子空间。
(6)
其中,Pdc是对应每个深层子空间中心dc的映射矩阵;Sy,dc是同一浅层子空间中与dc相关性最高的N个压缩图像块;Sx,dC为Sy,dC对应的原始图像块。
使用同一浅层子空间下的压缩-未压缩图像块对,可以通过式3~6学习到相应浅层子空间的广义线性映射模型PC。
在复原阶段,为了复原压缩人脸图像,只需要预先训练完所有深层子空间下的线性映射。
一旦输入压缩人脸图像,首先将其分成一组相同位置中心不同尺度大小的图像块,以分析确定目标块的边缘方向,从而得到对应的浅层子空间索引。其次,通过计算相关性,对每个目标块yj,c搜索同一浅层子空间中距离它最近的线性映射核dc。然后,通过将锚定到dc的线性映射PdC和yj,c相乘得到复原后的图像块xj,c,最后拼接得到完整的复原后的图像。
xj,c=PdCyj,c
(7)
为了公平地比较,使用VGGFace2数据集中不重复的4 000幅图像作为训练集,使用从网络获得的50幅中国明星人脸图像和从VGGface2另外获得的50幅外国人脸图像作为测试的100幅图像。由于人类视觉系统对亮度分量的敏感度高于色度分量,因此将RGB图像转换为YCbCr图像,并且仅在Y通道上进行复原。使用图像质量因子Q=1对训练图像执行WebP编解码,以生成相应的压缩图像。然后将每个压缩图像划分为7×7重叠的图像块ym,并由具有相同中心位置,大小为13×13的图像块yn的边缘方向来进行子空间划分,根据经验将边缘方向量化为16个方向。
将文中算法与去噪算法BM3D[23]和稀疏算法A+进行比较。为了测试算法性能,测试集的平均PNSR和SSIM如表1所示。可以看到,与对比算法相比,文中算法具有更高的平均PSNR和SSIM。由于空间限制,只列出了其中两幅具有代表性的图像,如图3和图4所示。
表1 三种复原算法平均PSNR,SSIM比较
图3 三种复原算法结果对比(VGG14)
图4 三种复原算法结果对比(CN10)
可以看出,BM3D可以降低图3(c)中的模糊程度,但它也忽略了图4(c)中的部分高频信息,这是因为BM3D使用一个统一的sigma参数来处理图像。从图3(d)可以看出,A+在边缘存在锯齿效应,并且在图4(d)中存在一些模糊,主要原因是A+学习的字典过于紧凑,无法从一些不常见的训练图像块中获取细节。而文中算法产生了更清晰的边缘,并且产生了更清晰的纹理,如图3(e)和图4(e)。
提出了一种基于分级子空间回归的压缩图像复原算法。利用人脸图像的先验知识和结构特征,将人脸图像块分类到浅层子空间中,再通过K均值聚类算法分类到合适的深层子空间中,确保邻域选择的快速准确,从而获得更有效的线性映射矩阵。实验结果表明,相对于传统复原方法,该算法提高了图像的峰值信噪比,锐化了图像的纹理和边缘,减少了模糊和锯齿效应,改善了图像视觉效果。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!