基于SGF-IABC 的JPEG 图像下采样因子检测算法

2023-05-24 09:06张玉金张立军
智能计算机与应用 2023年5期
关键词:直方图纹理差分

郭 静,张玉金,张立军,孙 冉

(上海工程技术大学 电子电气工程学院,上海 201620)

0 引言

随着数字时代的快速发展,图像的编辑操作日趋多样化和复杂化,图像的内容安全受到威胁,最常见的是图像拼接篡改[1]。JPEG 图像由于其信息存储方式具有明显优势,成为应用最广泛的信息载体之一,对JPEG 图像拼接区域进行旋转、缩放等操作可以使伪造的图像在视觉上更加逼真,以此来隐藏篡改痕迹,影响图像盲取证的效果,图像重采样检测是图像篡改操作取证的标准工具[2-3],对JPEG 图像的重采样取证研究具有重要的意义和广阔的应用前景。

目前重采样检测算法可以分为基于频谱的方法、基于特征的方法和基于模式的方法3 类。在下采样因子的检测研究中,文献[4]证明了通过JPEG图像重采样信号差分的二阶信号呈现的周期性来估计因子;文献[5]通过在图像的二阶导数图上计算不同角度的拉东变换(Radon Transform)构成序列,并在该序列的自协方差上揭示重采样操作引起的周期性痕迹;文献[6]经过下采样后在频域产生3 种峰,传统光谱分析法在重采样峰值检测时会被无关峰干扰,且受到JPEG 压缩品质因数的影响较大,导致与上述频域分析相关算法的准确性均下降。经过下采样操作后,光谱特征进一步减弱,难以检测;文献[7]提出差分图像相邻极值的方法并结合频谱分析对JPEG 预压缩图像进行下采样因子估计。

为了避免频域无关峰对检测结果造成的干扰,且根据文献[7],差分图像相邻极值之间的间隔服从几何分布且分布直方图具有周期性。未经重采样的JPEG 图像的分布直方图以8 为周期进行变化,而经过下采样后的周期与下采样因子有关。因此,下采样因子可以通过检测经过下采样操作后的差分极值直方图的周期进行估计。

本文分析了JPEG 质量较高且纹理和边缘较丰富的图像存在以下问题:图像丰富的纹理和边缘作为高频信息周期性产生伪周期,干扰了极值直方图的统计,对检测结果影响较大;JPEG 压缩图像的质量越高,压缩块效应越微弱,更是降低了下采样因子检测的准确性。

为减少纹理和边缘对块效应偏移造成的影响,本文首先引入了二次引导滤波对纹理进行平滑,降低了图像纹理产生的影响;其次,使用改进人工蜂群算法弱化图像边缘对直方图统计的影响;最后,选择交叉差分图像的方式进一步凸显JPEG 图像移位的块效应网格特性,来减少最终估计值的误差。本文算法有效的提升了下采样因子检测的准确性,有效削弱图像纹理和图像边缘产生的周期性干扰,具有纹理边缘的双重抵抗性。

1 本文算法基本原理

1.1 JPEG 图像重采样光谱分析

g(n)为二维连续信号g(x)的采样,表示为图像色彩空间中的亮度通道,原始离散序列g0(n)以因子λ进行重采样,经过计算插值信号得到重采样后信号,式(1):

当g0(n)为二阶平稳信号,得到插值信号的方差vh(x),式(2):

其中,

重采样后信号gr(n)的傅里叶变换,式(5):

其幅值如式(6):

1.2 JPEG 图像特征分析

由于JPEG 压缩过程中对图像进行离散余弦变换(DFT)等步骤,在图像的像素域中形成块效应网格(Block Artifact Grid,BAG)。一幅未经JPEG 压缩和重采样的图像,在空间域内差分相邻极值间隔分布直方图(Nf图)呈伯努利分布,如图1(a)所示;对其进行缩放因子为λ的重采样操作,其直方图无周期性出现,如图1(b)所示;由于JPEG 图像块效应的存在,图像经过压缩后导致原来的分布出现周期为8 的峰值,且压缩率越高,图像的质量越低,BAG 越明显如图1(c)所示;经过缩放因子为λ的操作后,图像BAG 发生移位,信号边界周期变为8λ,新的峰值周期由下采样因子决定,如图1(d)所示。

图1 不同图像的NfFig.1 Different images of Nf diagram

由上述分析可知,下采样因子的检测根据直方图的统计特性得到。但图像的周期性纹理和边缘会导致直方图产生伪周期,严重影响最终的检测结果,如图2 所示。差分图像极值直方图后得到的周期被伪周期干扰,导致得到不准确的检测结果。

图2 纹理边缘未去除图像Fig.2 Graph for images without removing textures and edges

2 本文算法步骤

由于图像中存在丰富的纹理噪声和边缘,在块效应网格上产生伪周期,从而干扰在像素域提取图的极值周期,使因子的估计结果准确率下降。本文引入二次引导滤波对JPEG 图像进行预处理,去除图像纹理和无关噪声干扰,同时保留边缘强度特征,提升蜂群算法对滤波后的图像的边缘检测的效率,使用交叉差分图像的方式凸显块效应,具体步骤如下:

(1)读取一幅JPEG 图像;

(2)对图像使用二次引导滤波去除纹理和高频噪声;

(3)将滤波后的图像使用人工蜂群算法进行边缘检测和去除;

(4)使用交叉差分方式差分图像,计算图像相邻极值区间直方图。

结合最大似然估计和光谱分析估计直方图峰值周期,计算重采样因子,结果得到了有效优化,检测结果如图3 所示。

图3 QF80 具有周期性纹理和边缘的图像Fig.3 QF80 images with periodic textures and edges

2.1 基于二次引导滤波(SFG)的图像纹理去除

He[8]等提出引导滤波利用引导图像I与滤波输出图像Q之间的局部线性关系。在窗口内将输出图像与引导图像近似为线性关系,P为输入图像,以像素k为中心,滤波窗口为Wk,ak和bk是当窗口的中心位置为像素k时线性函数的系数,t为中心窗口的领域像素点,采用最小二乘法来拟合线性关系,式(7):

同一个像素点会被许多不同的滤波窗口所包含,将每一个窗口求解出不同的拟合函数系数求均值,式(8):

JPEG 图像纹理和噪声所在的高频区域会在图像重采样时造成伪周期,从而影响本文算法的效果。传统引导滤波有效地去除纹理和噪声信息的能力欠佳,即经过一次引导滤波后,平滑了噪声和纹理所在区域,但仍有大量残余对后续检测产生干扰[9]。本文算法采用二次引导滤波模型(Secondary Guidance Filtering,SGF)来进一步抑制高频信息,二次引导滤波的过程如图4 所示。

图4 二次引导滤波模型Fig.4 Secondary guided filtering model

输入图像和引导图像都为JPEG 图像,经过引导滤波器G1 之后得到输出图像;第二次引导滤波的过程中,窗口设置较小保留更多有用的细节和边缘,待滤波图像不变,引导图像为第一次滤波后的输出图像,经过第二个引导滤波器G2 输出图像Q'。

经过SGF 处理后的JPEG 图像,像素纹理区域得到平滑,周期性减弱,减少了噪声,提高了检测模型的纹理抵抗性,同时保留边缘特性,提升了下一步对边缘移除的效率。

2.2 基于改进人工蜂群算法(IABC)的边缘去除

对图像进行边缘移除能在一定程度上减少图像内容干扰,提高检测精度。在图像中特性不连续点构成了图像的边缘,为了解决传统边缘检测器计算负荷较低、对噪声不敏感、导致破碎的边缘伪影的缺陷,文献[10]提出基于蜂群识别多边的边缘检测算法,在边缘检测中的效果较其他智能算法更精准,具有更大的优势。本文首先引入人工蜂群算法(Improved Artificial Bee Colony algorithm,IABC)提取图像的边缘,流程图如图5 所示。

图5 边缘提取移除流程图Fig.5 Flowchart of edge extraction removal

蜂群主要由雇佣蜂、观察蜂和侦察蜂组成。首先,雇佣蜂分布在食物源上,即图像的像素域,寻找最佳食物来源并记忆;其次,雇佣蜂回到蜂巢将食物信息传递给观察蜂;当食物源被放弃后雇佣蜂成为侦察蜂开始寻找新的食物来源。人工蜂群算法的改进具体步骤如下:

(1)初始化:设置参数空间维度D =2,种群大小NP即像素的大小,雇佣蜂数量SN =

(2)雇佣蜂阶段:每个雇佣蜂被分配到图像像素中,根据适合度值搜索像素位置周围的局部区域,寻求最佳方案并将其存储,根据公式(9)移动:

其中,vij、xij为新、旧像素位置;φij为[-1,1]之间的随机数;xkj为随机选择的像素;j∈{1,…,D},i,k∈{1,2,…,SN},且k≠i,将新旧解进行比较,只保留高适应度解。

(3)计算新位置的概率:由于花蜜量越大适应度越高,能吸引更多的蜜蜂,每个雇佣蜂在移动过程中的行动概率如公式(10)所示。本文使用改进的导数计算方法,为减少由于单个噪点的像素值太高,被检测为边缘像素的机会也越高的容错率,除考虑像素值之差外还考虑了边缘的线性,因此计算并比较了单个像素与其相邻的4 个位置像素点的平均值,选出最大值,并将其值作为食物来源的花蜜量,以此来得到适应度值fiti。

其中,i∈{1,2,…,SN},fiti是第i个解的适应度。

(4)观察蜂阶段:使用公式(9)为围观蜂分配像素位置,将雇佣蜂的像素位置作为旧解以概率如公式(10)所示的方式移动,每个观察蜂都以雇佣蜂阶段的相同方式搜索邻域并记忆。

(5)侦察蜂阶段:若放弃食物源,则雇佣蜂成为侦察蜂寻找更好的食物来源,此时要为侦察蜂分配新的食物源。

(6)选择最佳食物源:根据适应度值选择一定数量的解并标记为边缘像素。

得到的边缘提取二值图像如图6 所示,对于图像中的周期性边缘来说,会影响到最后的检测结果,因此将提取到边缘后的图像与原始图像进行反向相乘,达到移除边缘的效果,此步骤可以有效去除处于JPEG 块效应区域的边缘像素,减少了对块效应网格提取的干扰,提高了检测模型的边缘抵抗性。

图6 边缘检测Fig.6 Edge detection image

最后对图像进行交叉差分,凸显块效应,得到差分图像I',选择交叉差分能够跳出网格提取方法的局限性,压缩质量越小,JPEG 网格越明显,在不同质量因子下使用交叉差分方式可以更有效地凸显块效应[11]。

图像I'(x,y)的交叉差分公式如式(11)所示,设I为输入图像,大小为M × N,I(x,y)为像素点(x,y)的强度值:

得到了差分图像后对差分图像的相邻极值区间直方图进行估计,求出下采样因子。

(1)差分图像极值直方图计算

以I'x(x,y)来表示x方向的差分,极值点为:{(x,y)|I'x(x,y)|>|I'x(x +ε,y)|,ε >1},计算极值点的相邻极值直方图Nf(i),i∈N。

(2)峰值周期估计

移位的块效应网格的周期8λ,代表图像峰值周期性间隔T,故估计的重采样因子为:

为了从直方图中获得准确的估计值,直方图的相邻极值区间间隔必须为整数,本文将光谱法和最大似然估计法相结合来估计最终的下采样因子值。

3 实验结果与分析

为了评估算法性能,本文使用Dresden image database 中的200 张未经过压缩的图像。为了避免相机内部CFA 插值可能产生的干扰,将每个图像使用最近邻插值核函数,下采样2 倍。对选取的未经压缩的图像以不同的质量因子{50,60,70,80,90} 进行压缩,从图像中截取128×128 的中心区域,再用给定的下采样因子进行下采样,生成待检测图像库。为了呈现更简明清晰的算法性能,本文采用绝对误差(Mean Absolute Error,MAE)评估算法性能。

在不同的质量因子和不同采样因子下,采用双三次(Bicubic)和函数对篡改JPEG 图像进行下采样因子估计时的性能如图7 所示。由图7(a)可知Padín 等人光谱分析对于下采样因子的检测性能较差,由于下采样后谱峰较微弱、难以提取,易受到JPEG 峰值干扰,使篡改图像的下采样因子检测准确率更低;其次,JPEG 压缩产生的块效应网格越微弱,越容易受到图像噪声、纹理及边缘等产生的伪周期的干扰,Liu 等人的算法性能急剧下降;由图7(b)可知,随着下采样因子增加,Padín 等人和Liu 等人检测性能均不及本文,本文采用二次引导滤波去除图像纹理后,再使用改进人工蜂群算法对其进行边缘检测和移除,进一步消除了图像边缘的干扰。实验对比分析说明本文算法能够更有效地减轻图像纹理和边缘等噪声对重采样估计的影响。

图7 插值核为Bicubic 时的下采样因子估计性能Fig.7 The downscaling factor estimation performance with Bicubic interpolation kernel

为了更直观清晰地展示算法性能,本文在不同的压缩质量因子下,使用两种不同插值核函数时,双三次(Bicubic)、双线性(Bilinear)函数JPEG 图像的下采样因子检测误差,实验结果见表1 和表2。通过对比可进一步得知:

表1 不同质量因子下的JPEG 图像在核函数为Bicubic 时的不同下采样因子估计性能Tab.1 The performance MAE of JPEG images with different quality factors is estimated by different downscaling factors when the kernel function is Bicubic

表2 不同质量因子下的JPEG 图像在核函数为Bilinear 时的不同下采样因子估计性能Tab.2 The performance MAE of JPEG images with different quality factors is estimated by different downscaling factors when the kernel function is Bilinear

(1)在不同压缩质量因子下的JPEG 图像经过重采样后,本文算法对下采样因子评估的准确性整体得到提高,当重采样因子为时,文献[7]和本文的检测结果较高,而当因子为时,本文算法有更好的性能,因为经过重采样的JPEG 图像在空间域引起的移位的块效应的周期近似于8,使得此区间的直方图的提取更容易受到图像纹理和边缘噪声的干扰,本文算法在此区间优势明显,经过二次引导滤波之后对图像使用了改进人工蜂群算法,对图像的边缘进行了更为精准的提取和去除,进一步削弱了图像边缘造成的伪周期的影响,提高了检测结果的准确性。

(2)以不同的插值方式进行下采样操作时,对不同的质量因子下的JPEG 图像进行检测估计,传统的基于频谱分析的检测误差较大,文献[6]明显没有优势,经过下采样后在频谱图上引起的峰值很微弱,且JPEG 压缩产生额外的干扰峰值,下采样因子的估计过于依赖频谱峰值。

(3)随着质量因子的递增,JPEG 压缩的块效应越来越微弱,直方图的提取越困难。图像的纹理分布属性具有规律性,边缘影响了图像直方图的提取。本文利用二次引导滤波进一步削弱了图像纹理,改进人工蜂群算法检测图像边缘并移除,减轻了边缘对其造成的伪周期的影响,利用交叉差分图像来凸显块效应,进一步提高了算法的检测性能,对于JPEG 压缩图像来说具有更好的鲁棒性,准确率更好。

4 结束语

针对直方图的提取受到图像周期纹理和边缘的干扰,本文提出的JPEG 图像下采样因子估计算法具有对纹理和边缘的双重抵抗,在传统引导滤波的基础上,利用二次引导滤波去除图像的纹理和高频噪声,同时保留JPEG 图像原来的边缘特性,使用改进人工蜂群算法进行边缘提取和移除,有效地抑制图像中高频纹理和边缘对直方图周期性的干扰;使用交叉差分图像的方式来凸显块效应,更精确地提取直方图,减少重采样中下采样估计的误差,提高了算法性能,增强算法鲁棒性。

猜你喜欢
直方图纹理差分
符合差分隐私的流数据统计直方图发布
数列与差分
基于BM3D的复杂纹理区域图像去噪
用直方图控制画面影调
使用纹理叠加添加艺术画特效
TEXTURE ON TEXTURE质地上的纹理
基于空间变换和直方图均衡的彩色图像增强方法
消除凹凸纹理有妙招!
基于直方图平移和互补嵌入的可逆水印方案
基于差分隐私的大数据隐私保护