一种基于频域差分统计特征的JPEG图像重压缩检测方法与流程

文档序号:15115897发布日期:2018-08-07 20:08阅读:285来源:国知局

本发明涉及数字图像取证技术领域,更具体地,涉及一种基于频域差分统计特征的jpeg图像重压缩检测方法。



背景技术:

随着互联网的发展,数字图像已经变成了一种非常重要的信息载体,在信息传播中发挥着重大的作用。但随着数字图像编辑软件的快速发展,数字图像的篡改变得越来越容易,篡改后的图像越来越接近真实图像,而在许多场合,如司法、医学、新闻媒体、科学研究等领域中,数字图像的真实性对结果起着非常重要的影响,这无疑对数字图像的真实性提出了确切的要求,使得数字图像取证技术变得日益急切。

jpeg图像重压缩检测是数字图像取证技术的一个重要分支,目的是检测一张图像是否经过了两次jpeg压缩。当jpeg图像进行篡改后,为了达到不被人察觉的目的,一般会再次保存为jpeg格式,这样,篡改图像就会经历两次jpeg压缩,即jpeg重压缩过程。对图像进行jpeg重压缩检测是进行其他篡改操作检测的基础,可以作为各种jpeg图像篡改检测的预判断。

现有的jpeg重压缩检测技术主要分为两种:一种是基于dct系数统计分布,这种方法主要是根据单次jpeg压缩图像的dct系数分布与jpeg重压缩图像的dct系数分布的差异,对测试图像的dct系数分布进行判断,从而得出测试图像是否经过jpeg重压缩操作;另一种方法是基于dct系数差分统计特征,这种方法利用jpeg压缩量化损失原理,计算空域上相邻dct系数的差分统计特征,并利用机器学习方法对图像进行学习和分类。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于频域差分统计特征的jpeg图像重压缩检测方法,能够有效地检测图像是否经过jpeg重压缩操作,结合jpeg压缩原理,利用图像频率域的块内差分统计特征作为分类特征,具有较好的检测效果。

为解决上述问题,本发明提供的技术方案为:一种基于频域差分统计特征的jpeg图像重压缩检测方法,其中,包括以下步骤:

s1.选取图像训练集:训练集由各种质量因子qf1压缩得到的单次jpeg压缩图像和由质量因子qf1、qf2压缩得到的jpeg重压缩图像构成,其中,

qf1∈{50,55,60,65,70,75,80,85,90,95},

qf2∈{50,55,60,65,70,75,80,85,90,95},且qf1≠qf2。

s2.对训练图像y通道的dct系数矩阵进行重排列:提取训练图像y通道量化后的dct系数矩阵,对得到的dct系数矩阵按照从左到右,从上到下的顺序,依次对每个dct块按zigzag顺序进行重排列;将每个dct块重排成一个大小为64维的行向量,对所有dct块进行重排后,最终得到一个大小为m×64的重排矩阵,其中,m为dct块的总数量,在这个重排矩阵中,相邻频域的dct系数会排在相邻的位置;同样地,按照反zigzag顺序对图像进行相同的重排操作,得到一个大小为m×64的重排矩阵,最终得到两个m×64的重排矩阵。

s3.提取markov特征:

s31.依据如下公式对步骤s2得到的两个重排矩阵计算水平方向的二阶差分矩阵:

d1h(u,v)=f(u,v)-f(u,v+1)

d2h(u,v)=d1h(u,v)-d1h(u,v+1)

其中,f表示重排矩阵,(u,v)表示图像中第u行第v列的位置,f(u,v)表示(u,v)对应的dct系数,d1h表示重排矩阵在水平方向的一阶差分矩阵,d2h表示重排矩阵在水平方向的二阶差分矩阵;

s32.对每个差分矩阵的系数,使用阈值t进行截断操作,大于t的系数全部替换为t,小于-t的系数全部替换为-t;

s33.分别根据如下公式计算s32步骤中得到的差分矩阵水平方向的三阶markov转移概率矩阵:

其中,m3h表示水平方向的三阶markov转移概率矩阵,r表示二阶差分矩阵的行数,c表示二阶差分矩阵的列数,u和v表示二阶差分矩阵中的位置,i,j,x,y∈-t,-t+1,…,-1,0,1,…,t-1,t},表示二阶差分矩阵的各种可能取值,并且:

s34.依次按照如下公式对原图像量化后的dct系数矩阵计算斜对角方向的二阶差分矩阵:

d1d(u,v)=d(u,v)-d(u+1,v+1)

d2d(u,v)=d1d(u,v)-d1d(u+1,v+1)

其中,d表示原图量化后的dct系数矩阵,(u,v)表示图像中第u行第v列的位置,d(u,v)表示(u,v)对应的dct系数,d1d表示dct系数矩阵在斜对角方向的一阶差分矩阵,d2d表示dct系数矩阵在斜对角方向的二阶差分矩阵;

s35.对s34得到的二阶差分矩阵,使用阈值t进行截断操作,大于t的系数全部替换为t,小于-t的系数全部替换为-t,也就是进行s32操作;

s36.分别根据如下公式计算s35步骤中得到的差分矩阵的水平、垂直方向的三阶markov转移概率矩阵:

其中,m3h、m3v分别表示水平方向和垂直方向的三阶markov转移概率矩阵,r表示二阶差分矩阵的行数,c表示二阶差分矩阵的列数,u和v表示二阶差分矩阵中的位置,i,j,x,y∈{-t,-t+1,…,-1,0,1,…,t-1,t},表示二阶差分矩阵的各种可能取值,并且:

s37.将s33步骤得到的三阶markov转移概率矩阵和s36步骤得到的三阶markov转移概率矩阵连在一起,得到该图像频率域的块内特征向量;

s38.对训练集的所有图像进行s31至s37步骤的操作,得到一个特征矩阵,其中,每一行的特征向量代表每一张图像的三阶markov特征向量,行数即为训练集中的图像总数。

s4.训练特征准备:对所有训练集中的图像进行s3操作后,可以得到训练集中所有图像的特征向量,再将单次jpeg压缩图像的特征向量标识为1,将重压缩图像的特征向量标识为-1,并将标识好的特征集作为svm的特征训练集,输入svm分类模型中进行学习。

s5:svm-rfe降维:使用基于支持向量机的回归特征消除方法svm-rfe对特征训练集进行排序,使有效的特征排在特征训练集前面,得到重排后的特征列表后,选择特征列表的前n个特征值构成新的特征向量,所有图像的n个特征组成一个新的特征向量集。

s6.寻找最优的c,g参数:对s5得到的特征向量集和对应的标识集使用径向基内核的svm进行训练,使用网格搜索的方法搜索最优的惩罚参数c和核参数g,得到分类器模型。

s7.测试图像提取特征:先对测试图像进行s2中的重排列,然后提取重排矩阵的水平差分矩阵的水平方向的markov特征向量,并提取dct系数矩阵的斜对角差分矩阵的水平、垂直的markov特征,即进行s3的操作,然后按照s5操作,取重排后的特征排序列表的前n个特征值,组成测试图像的特征向量。

s8.分类预测:将s7得到的测试图像的特征向量输入到s6得到的svm分类模型中,得到测试图像的预测结果;其中,1代表测试图像为单次jpeg压缩图像,-1代表测试图像为jpeg重压缩图像。

与现有技术相比,有益效果是:本发明针对jpeg压缩原理,利用了dct变换后,dct块内的dct系数的相关性在频域方向增强的现象,对图像的dct系数矩阵进行了重排列,使得相邻频域的dct系数在重排矩阵中相邻,然后提取重排矩阵水平差分的markov特征,另外,dct块内的频域沿左上角到右下角方向增大,斜对角方向的差分统计特征可以很好地利用dct块内的频域差分统计特征,结合重排矩阵水平差分的markov特征和dct系数矩阵的斜对角差分矩阵的markov特征,得到块内频域差分统计特征,该特征很好地利用了块内频率域的差分信息,能够得到有效的分类器,有效提高了检测的准确率。

附图说明

图1为本发明的方法流程图。

图2为本发明实施例中jpeg图像重压缩检测在相同质量因子qf2和qf1下的平均准确率说明图。

具体实施方式

如图1所示,一种基于频域差分统计特征的jpeg图像重压缩检测方法,其中,包括以下步骤:

步骤1.选取图像训练集:训练集由各种质量因子qf1压缩的单次jpeg压缩图像和由质量因子qf1、qf2压缩得到的jpeg重压缩图像构成,其中,

qf1∈{50,55,60,65,70,75,80,85,90,95},

qf2∈{50,55,60,65,70,75,80,85,90,95},且qf1≠qf2;

s11.本实例中使用的数据集由thenottinghamtrentuniversity提供的ucid数据库和usdanaturalresourcesconservationservice提供的nrcs数据库中的图像制成,包含了3000张大小为384×512的未压缩图像;

s12.按照质量因子qf1对这3000张未压缩图像进行jpeg压缩,得到每一种qf1下对应的3000张单次jpeg压缩图像,然后对每种qf1的单次jpeg压缩图像,用qf2(qf2≠qf1)进行第二次jpeg压缩,得到最终的jpeg重压缩图像;

s13.本实例中,每一种qf1对应的单次jpeg压缩图像有3000张,每一对qf1,qf2(qf1≠qf2),有3000张jpeg重压缩图像,按照训练图像和测试图像5:1的比例,随机从每一种情况中选取2500张作为训练图像,剩下的500张作为待测图像;

本实例中,当用质量因子qf1=q压缩得到的单次jpeg压缩图像为正样本时,其对应的负样本是先用某一个不为q的质量因子压缩得到的单次jpeg图像,再用qf2=q压缩得到的jpeg重压缩图像,例如,当正样本是质量因子qf1=60的单次jpeg压缩图像时,其对应的jpeg重压缩图像负样本有qf1∈50,55,65,70,75,80,85,90,95},qf2=60九种情况,分别对这九种情况进行实验,然后对不同的q(q∈{50,55,60,65,70,75,80,85,90,95})的情况也分别进行实验。

步骤2.对训练图像y通道的dct系数矩阵进行重排列:提取训练图像y通道量化后的dct系数矩阵,对得到的dct系数矩阵按照从左到右,从上到下的顺序,依次对每个dct块按zigzag顺序进行重排列;将每个dct块重排成一个大小为64维的行向量,对所有dct块进行重排后,最终得到一个大小为m×64的重排矩阵,其中,m为dct块的总数量,在这个重排矩阵中,相邻频域的dct系数会排在相邻的位置;同样地,按照反zigzag顺序对图像进行相同的重排操作,得到一个大小为m×64的重排矩阵,最终得到两个m×64的重排矩阵。

步骤3.提取markov特征:

s31.依据如下公式对步骤s2得到的两个重排矩阵计算水平方向的二阶差分矩阵:

d1h(u,v)=f(u,v)-f(u,v+1)

d2h(u,v)=d1h(u,v)-d1h(u,v+1)

其中,f表示重排矩阵,(u,v)表示图像中第u行第v列的位置,f(u,v)表示(u,v)对应的dct系数,d1h表示重排矩阵在水平方向的一阶差分矩阵,d2h表示重排矩阵在水平方向的二阶差分矩阵;

s32.对每个差分矩阵的系数,使用阈值t进行截断操作,大于t的系数全部替换为t,小于-t的系数全部替换为-t,本实例中,取t=3;

s33.分别根据如下公式计算s32步骤中得到的差分矩阵水平方向的三阶markov转移概率矩阵:

其中,m3h表示水平方向的三阶markov转移概率矩阵,r表示二阶差分矩阵的行数,c表示二阶差分矩阵的列数,u和v表示二阶差分矩阵中的位置,i,j,x,y∈-t,-t+1,…,-1,0,1,…,t-1,t},表示二阶差分矩阵的各种可能取值,并且:

s34.依次按照如下公式对原图像量化后的dct系数矩阵计算斜对角方向的二阶差分矩阵:

d1d(u,v)=d(u,v)-d(u+1,v+1)

d2d(u,v)=d1d(u,v)-d1d(u+1,v+1)

其中,d表示原图量化后的dct系数矩阵,(u,v)表示图像中第u行第v列的位置,d(u,v)表示(u,v)对应的dct系数,d1d表示dct系数矩阵在斜对角方向的一阶差分矩阵,d2d表示dct系数矩阵在斜对角方向的二阶差分矩阵;

s35.对s34得到的二阶差分矩阵,使用阈值t进行截断操作,大于t的系数全部替换为t,小于-t的系数全部替换为-t,也就是进行s32操作;

s36.分别根据如下公式计算s35步骤中得到的差分矩阵的水平、垂直方向的三阶markov转移概率矩阵:

其中,m3h、m3v分别表示水平方向和垂直方向的三阶markov转移概率矩阵,r表示二阶差分矩阵的行数,c表示二阶差分矩阵的列数,u和v表示二阶差分矩阵中的位置,i,j,x,y∈{-t,-t+1,…,-1,0,1,…,t-1,t},表示二阶差分矩阵的各种可能取值,并且:

s37.将s33步骤得到的三阶markov转移概率矩阵和s36步骤得到的三阶markov转移概率矩阵连在一起,得到该图像频率域的块内特征向量;

s38.对训练集的所有图像进行s31至s37步骤的操作,得到一个特征矩阵,其中,每一行的特征向量代表每一张图像的三阶markov特征向量,行数即为训练集中的图像总数。

步骤4.训练特征准备:对所有训练集中的图像进行步骤3操作后,可以得到训练集中所有图像的特征向量,再将单次jpeg压缩图像的特征向量标识为1,将重压缩图像的特征向量标识为-1,并将标识好的特征集作为svm的特征训练集,输入svm分类模型中进行学习。本实例中,对应每种qf1=q压缩得到的单次jpeg图像的训练集是一个大小为2500×9604的矩阵,每种qf1≠q,qf2=q对应下的jpeg重压缩图像训练集是一个大小为2500×9604的矩阵。

步骤5:svm-rfe降维:使用基于支持向量机的回归特征消除方法svm-rfe对特征训练集进行排序,使有效的特征排在特征训练集前面,得到重排后的特征列表后,选择特征列表的前n个特征值构成新的特征向量,所有图像的n个特征组成一个新的特征向量集;本实例中,n=300,所以,降维后得到的单次jpeg压缩图像的特征向量矩阵大小是2500×300,而降维后得到的jpeg重压缩图像特征矩阵大小为2500×300。

步骤6.寻找最优的c,g参数:对步骤5得到的特征向量集和对应的标识集使用径向基内核的svm进行训练,使用网格搜索的方法搜索最优的惩罚参数c和核参数g,得到分类器模型;本实例中,最终得到最优参数c=5.656854,g=0.02。

步骤7.测试图像提取特征:先对测试图像进行步骤2中的重排列,得到两个m×64的重排矩阵,然后计算重排矩阵的水平差分矩阵,提取水平方向的markov特征,并结合dct系数矩阵的斜对角差分矩阵的markov特征,得到特征向量,即进行步骤3的操作,然后按照步骤5操作,取重排后的特征排序列表的前300个特征值,组成测试图像的特征向量。本实例中,对每种qf1压缩的单次jpeg图像,都可以得到一个大小是500×300的特征向量矩阵,对每一对qf1,qf2,都可以得到一个大小是500×300的特征向量矩阵。

步骤8.分类预测:将步骤7得到的测试图像的特征向量输入到步骤6得到的svm分类模型中,得到测试图像的预测结果;其中,1代表测试图像为单次jpeg压缩图像,-1代表测试图像为jpeg重压缩图像。本实例中,对训练图像和测试图像进行10次随机选择,并对10次的测试结果的求平均值,得到的预测结果如图2所示,图2(a)表示保持jpeg重压缩图像(测试负样本图像)qf2相同的情况下,九种不同qf1压缩情况下检测的平均准确率,图2(b)表示保持jpeg重压缩图像(测试负样本图像)qf1相同的情况下,九种不同qf2压缩情况下检测的平均准确率,从图2(a)中可以看出,图像预测的准确率都在93%以上,图2(b)的准确率在qf1<95时,准确率高达97%,在qf1=95时,准确率在87%左右。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1