CN103067713B - 一种位图jpeg压缩检测的方法及*** - Google Patents
一种位图jpeg压缩检测的方法及*** Download PDFInfo
- Publication number
- CN103067713B CN103067713B CN201310003334.XA CN201310003334A CN103067713B CN 103067713 B CN103067713 B CN 103067713B CN 201310003334 A CN201310003334 A CN 201310003334A CN 103067713 B CN103067713 B CN 103067713B
- Authority
- CN
- China
- Prior art keywords
- bitmap
- factor
- jpeg compression
- detected
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明公开了一种位图JPEG压缩检测的方法及***,所述方法包括:对待检测的位图数据进行分块并计算对应的DCT系数矩阵,将所述DCT系数矩阵转换为对应的整型矩阵,得出一个表示所述整型矩阵中各正因数分别出现的次数的因数直方图;分析所述因数直方图的单调性获得一个度量值;判断所述度量值是否大于预先选定的阀值,当是时,则判定所述待检测的位图经过JPEG压缩,当否时,判定所述待检测的位图未经JPEG压缩。本发明通过提出的因数直方图,可准确判断出位图是否经过JPEG压缩,计算复杂度低,辨别能力强。
Description
技术领域
本发明涉及图像取证领域,尤其涉及的是一种位图JPEG压缩检测的方法及***。
背景技术
JPEG是在图像摄取设备中广泛应用的有损压缩技术,其能够有效去除图像的冗余信息(如视觉冗余,频率冗余等),具有较高的文件压缩率和细节保真度,且通过选择不同的压缩质量因子提供了在二者间权衡的机制(质量因子100对应最高的细节保真度,质量因子1对应最低的细节保真度,常用质量因子取50~100)。
随图像编辑技术的发展,JPEG图像的内容有可能被恶意篡改而用于不法目的,并在篡改后以位图(Bitmap)形式重新保存。这些篡改后的位图如果不能被正确辨别,可能会造成严重的社会危害:如见于新闻报道可能会误导公众舆论,用作法庭证据可能导致假案错案。仅靠人眼从海量位图中辨别哪些经过篡改既效率低下,也不切实际,可行的解决方案是发展一种计算机自动检测篡改的技术。现有技术通常通过获知待检测位图整幅乃至各个局部的压缩历史信息,即获知位图是否经过JPEG压缩以检测是否存在篡改。其中,JPEG压缩位图检测方法及***能否做到精细准确,直接影响着具体的篡改检测方法和***的性能。另外,还可根据位图的压缩历史信息识别图像来源,如识别拍摄该位图的相机品牌和型号等。
JPEG压缩是基于分块的图像压缩方案。图像如果具有多个通道,则分别对每个通道进行压缩。以亮度通道为例,JPEG压缩时,首先将输入图像的亮度值矩阵分割成互不重叠的8×8分块。对每一个分块,进行离散余弦变换(Discrete Cosine Transform, DCT)后得到8×8的DCT系数矩阵,然后根据一个8×8的量化步长矩阵(也称为量化表,每个量化表对应一个质量因子)对DCT系数矩阵进行量化,最后将所得的量化DCT系数进行编码,写成JPEG文件。由于是对8×8分块进行DCT,因此变换后可得到1个直流(DC)频率和63个交流(AC)频率。
JPEG解压时,首先从JPEG文件头读取量化表,并对文件码流进行解码,得到量化DCT系数矩阵。根据量化表对量化DCT系数进行反量化、逆向离散余弦变换(InverseDiscrete Cosine Transform, IDCT)并取整后,还原出亮度值矩阵。
在整个JPEG压缩和解压缩过程中,DCT与IDCT,编码与解码是两对无损操作,图像信息的丢失主要由量化导致。换言之,量化操作会在JPEG图像上留下量化效应。经JPEG压缩的图像存在量化效应,而未经JPEG压缩的图像则不存在。因此,通过检测量化效应,可鉴别一幅图像(包括位图)是否经过JPEG压缩。
现有技术1:在“Identification of Bitmap Compression History: JPEGDetection and Quantizer Estimation”(IEEE Transactions on Image Processing,vol. 12, no. 2, pp. 230–235, Feb. 2003)一文中,提出了一种通过度量位图块效应来判断位图是否经过JPEG压缩的方法。未压缩的位图没有经过分块DCT变换和量化,不存在8×8分块边界处的周期性跃变,而经过JPEG压缩的位图则存在周期性边界跃变而表现出块效应。据此,其作者提出了一种度量块效应的方法,并通过一个合适的阈值进行二类判决,即如果待检测位图的块效应度量大于预设阈值,则判决为经过JPEG压缩;否则,判决为未经JPEG压缩。该方法的缺点是:块效应度量容易受位图自身纹理的影响。如果位图本身具有丰富纹理,那么该位图即便没有经过JPEG压缩,其块效应度量仍可能大于阈值而导致错判;另外,该方法需要收集大量8×8分块才能较准确地度量位图的块效应,因此对小尺寸位图的检测效果不理想。
现有技术2:在“A generalized Benford’s law for JPEG coefficients andits applications in image forensics”(in Proc. SPIE Electronic Imaging,Security, Steganography, and Watermarking of Multimedia Contents, San Jose,CA, 2007, vol. 6505m p. 65051L)一文中,提出了一种利用位图分块DCT系数的首位数字(如12的首位数字是1,214的首位数字是2)特性进行JPEG压缩检测的方法。未经压缩的位图的分块DCT系数的首位数字分布服从广义Benford律(本福特定律:指所有自然随机变量,只要样本空间足够大,每一样本首位数字为1至9各数字的概率在一定范围内具有稳定性),而经过JPEG压缩的位图的首位数字分布则会违背这一统计规律,据此可判别待检测位图是否经过JPEG压缩。其作者提出的方法为:首先计算分块DCT系数的首位数字直方图,直接将该直方图的值作为特征向量(共9个特征,对应于首位数字1~9),最后通过SVM(supportvector machine 支持向量机)对所提取到的特征向量进行分类判决。该方法的不足之处是:需要收集大量的DCT系数才能形成稳定的首位数字直方图,才能进行准确的判决,因此当位图尺寸较小而无法提供充足统计数据时,性能不佳。
现有技术3:在申请号为200910193718.6 的中国专利:“一种对数字图像JPEG压缩的判别方法”中,提出了一种利用JPEG压缩过程中的误差特性来检测位图是否经过JPEG压缩的方法。如果一幅位图经过JPEG压缩,那么该位图的分块DCT交流频率系数将不再服从拉普拉斯分布,且系数值落在区间(-2,-1)∪(1, 2)的数量与系数值落在区间(-1, 1)的数量的比值接近于0;如果未经JPEG压缩,那么这两个区间的系数数量的比值接近于1。发明人使用这一比值作为区分性特征,通过选取一个合适的阈值对待检测位图进行判决,即如果待检测位图的这一比值大于所述阈值,则判决为未经JPEG压缩;否则,判决为经过JPEG压缩。但该方法的不足之处是:对经高质量因子JPEG压缩的位图的判决能力欠佳。
可见,现有技术需要对大量的图像分块进行分析统计,复杂度较高,对小尺寸图像块的检测准确率较低;且由于高质量因子的JPEG压缩只在位图上留下轻微的量化效应,现有的技术方案容易将经高质量因子JPEG压缩的位图错判为未压缩位图。比如现有数码相机输出的JPEG图像通常只进行轻微的JPEG压缩,因此现有技术进行位图JPEG压缩检测时的辨别能力有限,进而导致位图来源识别效果欠佳。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种位图JPEG压缩检测的方法及***,旨在提供一种计算复杂度低,辨别能力强的位图JPEG压缩检测的方案。
本发明解决技术问题所采用的技术方案如下:
一种位图JPEG压缩检测的方法,其中,包括步骤:
A、对待检测的位图数据进行分块并计算每个分块各自对应的DCT系数矩阵,将所述DCT系数矩阵转换为对应的整型矩阵,并统计所述整型矩阵中的各正因数分别出现的次数,得出一个表示所述整型矩阵中各正因数分别出现的次数的图像特征统计量,记为因数直方图;
B、分析所述待检测的位图对应的所述因数直方图的单调性,获得一个表示所述因数直方图的单调性的度量值;
C、判断所述待检测的位图对应的所述度量值是否大于一预先选定的阀值,当是时,则判定所述待检测的位图为经过JPEG压缩的位图,当否时,判定所述待检测的位图为未经JPEG压缩的位图。
所述的位图JPEG压缩检测的方法,其中,所述步骤A之前还包括步骤:
H、建立由若干未经JPEG压缩的位图形成的图像库,并根据所述图像库得出一个用于判决待检测的位图是否经过JPEG压缩的阈值。
所述的位图JPEG压缩检测的方法,其中,所述步骤A包括:
A1、将待检测的位图像素矩阵划分成8×8的互不重叠的像素分块;
A2、对每一个所述分块分别进行离散余弦变换,得到对应的8×8的浮点型DCT系数矩阵;
A3、对所述的浮点型DCT系数矩阵进行最近邻取整,得到对应的整型矩阵,提取所述整型矩阵中非零的且表示交流频率的DCT系数构成一序列,记为序列C;
A4、对所述序列C中每一个元素进行因数分解,提取分解得到的所有正因数构成另一序列,记为序列F;
A5、统计所述序列F中各元素出现的次数,得出一个可表示所述序列F中各元素分别出现的次数的统计量,记为因数直方图h:
,
其中,M为所述序列F的长度,为单位冲击函数,i的取值为1,2,…, M,K为设定的参数。
所述的位图JPEG压缩检测的方法,其中,所述步骤B包括:
B1、计算得出所述因数直方图的一阶差分序列,记为序列D:
,,其中,max(F)为序列F中的最大值;
B2、获取所述序列D中的最大值,将其作为表示所述因数直方图单调性的度量值,记为:。
所述的位图JPEG压缩检测的方法,其中,所述步骤H包括:
H1、建立由若干未经JPEG压缩的位图形成的图像库;
H2、分别计算所述图像库中的各个位图各自对应的所述因数直方图,以及所述因数直方图各自的单调性的度量值,得到未经JPEG压缩的若干位图的单调性度量值样本集合,记为集合U;
H3、对所述图像库中的各个位图分别进行JPEG压缩和解压;分别计算解压后的各个位图各自对应的所述因数直方图及所述因数直方图各自的单调性的度量值,得到经过JPEG压缩的若干位图的单调性度量值样本集合,记为集合V;
H4、根据所述集合U及集合V,计算对应的判决准确率,记为Acc:
其中,w为所述图像库中位图的数量,t为区间[0,1]上的离散取值;
H5、获取其中最高准确率Acc对应的t,生成用于判决待检测的位图是否经过JPEG压缩的阈值,记为T:
。
一种采用所述位图JPEG压缩检测的方法的***,其中,包括:
因数直方图生成模块,用于对待检测的位图数据进行分块并计算每个分块各自对应的DCT系数矩阵,将所述DCT系数矩阵转换为对应的整型矩阵,并统计所述整型矩阵中的各正因数分别出现的次数,得出一个表示所述整型矩阵中各正因数分别出现的次数的图像特征统计量,记为因数直方图;
单调性度量模块,用于分析所述待检测的位图对应的所述因数直方图的单调性,获得一个表示所述因数直方图的单调性的度量值;
判决模块,用于判断所述待检测的位图对应的所述度量值是否大于预先选定的阀值,当是时,则判定所述待检测的位图经过JPEG压缩,当否时,判定所述待检测的位图未经JPEG压缩。
所述的***,其中,所述判决模块包括:
阀值训练单元,用于建立由若干未经JPEG压缩的位图形成的图像库,并根据所述图像库预先得出一个用于判决待检测的位图是否经过JPEG压缩的阈值;
判决单元,用于当所述度量值大于所述阀值时,判定所述待检测的位图为经过JPEG压缩的位图,当所述度量值小于等于所述阀值时,判定所述待检测的位图为未经JPEG压缩的位图。
所述的***,其中,所述因数直方图生成模块包括:
分块单元,用于将待检测的位图像素矩阵划分成8×8的互不重叠的像素分块;
DCT单元,用于对每一个所述分块分别进行离散余弦变换,得到对应的8×8的浮点型DCT系数矩阵;
取整单元,用于对所述的浮点型DCT系数矩阵进行最近邻取整,得到对应的整型矩阵,提取所述整型矩阵中非零的且表示交流频率的DCT系数构成一序列,记为序列C;
分解单元,用于对所述序列C中每一个元素进行因数分解,提取分解得到的所有正因数构成另一序列,记为序列F;
因数统计单元,用于统计所述序列F中各元素出现的次数,得出一个可表示所述序列F中各元素分别出现的次数的统计量,记为因数直方图h:
,
其中,M为所述序列F的长度,为单位冲击函数,i的取值为1,2,.., M,K为设定的参数。
所述的***,其中,所述单调性度量模块包括:
第一度量单元,用于计算得出所述因数直方图的一阶差分序列,记为序列D:
,,所述max(F)为序列F中的最大值;
第二度量单元,用于获取所述序列D中的最大值,将其作为表示所述因数直方图的单调性的度量值,记为:。
所述的***,其中,所述阀值训练单元还包括:
图像库建立子单元,用于建立由若干未经JPEG压缩的位图形成的图像库;
第一计算子单元,用于分别计算所述图像库中的各个位图各自对应的所述因数直方图,以及所述因数直方图各自的单调性的度量值,得到未经JPEG压缩的若干位图的单调性度量值样本集合,记为集合U;
第二计算子单元,用于对所述图像库中的各个位图分别进行JPEG压缩和解压;分别计算解压后的各个位图各自对应的所述因数直方图及所述因数直方图各自的单调性的度量值,得到经过JPEG压缩的若干位图的单调性度量值样本集合,记为集合V;
准确率统计子单元,用于根据所述集合U及集合V,计算得出对应的判决准确率,记为Acc:
,
其中,w为所述图像库中位图的数量,t为区间[0,1]上的离散取值;
阈值获取子单元、用于获取其中最高准确率Acc对应的t,生成用于判决待检测的位图是否经过JPEG压缩的阈值,记为T:
。
本发明所提供的一种位图JPEG压缩检测的方法及***,其提出了一种新的图像特征的统计量:因数直方图,由于未经JPEG压缩的位图,其因数直方图呈单调下降;而经过JPEG压缩的位图,其所述因数直方图在压缩参数相关的位置上会出现局部峰值,从而不再单调下降。因此,通过度量待检测位图的所述因数直方图的单调性,可准确判断出其是否经过JPEG压缩。本发明计算复杂度低,辨别能力强;同时,通过本发明还可进一步用于位图的篡改检测和来源识别。
附图说明
图1是本发明一种位图JPEG压缩检测的方法的实施例的流程图。
图2是本发明的因数直方图的生成流程图。
图3是本发明的计算因数直方图的单调性的度量值的流程图。
图4是本发明的判决阀值的生成的流程图。
图5是本发明一种***的实施例原理框图。
图6是本发明一种***的实施例的因数直方图生成模块原理框图。
图7是本发明一种***的实施例的单调性度量模块原理框图。
图8是本发明一种***的实施例的判决模块原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的一种位图JPEG压缩检测的方法,提出了一种新的图像特征的统计量:因数直方图,由于未经JPEG压缩的位图和经过JPEG压缩的位图,其对应的所述因数直方图所具有的特性存在明显不同,因此,通过度量待检测位图的所述因数直方图,可判断出待检测位图是否经过JPEG压缩。
请参见图1,图1是本发明一种位图JPEG压缩检测的方法的实施例的流程图。本实施例中,所述的位图JPEG压缩检测的方法包括以下步骤:
步骤S110、对待检测的位图数据进行分块并计算每个分块各自对应的DCT系数矩阵,将所述DCT系数矩阵转换为对应的整型矩阵,并统计所述整型矩阵中的各正因数分别出现的次数,得出一个表示所述整型矩阵中各正因数分别出现的次数的图像特征统计量,记为因数直方图。
步骤S120、分析所述待检测的位图对应的所述因数直方图的单调性,获得一个表示所述因数直方图的单调性的度量值。
步骤S130、判断所述待检测的位图对应的所述度量值是否大于预先选定的阀值,当是时,则判定所述待检测的位图经过JPEG压缩,当否时,判定所述待检测的位图未经JPEG压缩。
较佳的,所述S110之前还包括获取所述预先选定的阀值的步骤,本实施例中建立由若干未经JPEG压缩的位图形成的图像库,并根据所述图像库得出一个用于判决待检测的位图是否经过JPEG压缩的阈值。可根据不同尺寸位图建立对应的所述图像库。
具体地实施例中,根据输入的位图数据生成对应的因数直方图的具体步骤包括:
21、将输入的位图像素矩阵划分成8×8的互不重叠的像素分块;
22、对每一个所述分块分别进行离散余弦变换,得到对应的8×8的浮点型DCT系数矩阵;
23、对所述的浮点型DCT系数矩阵进行最近邻取整,得到对应的整型DCT系数矩阵,提取其中非零的整型交流频率的DCT系数构成序列C;
24、对所述序列C中每一个元素进行因数分解,提取分解得到的所有正因数构成另一序列F,记所述序列F的长度为M;
25、统计所述序列F中各元素出现的次数,得出因数直方图h,所述因数直方图h为可表示所述序列F中各元素分别出现的次数的统计量。较佳的,本实施例中,所述因数直方图h具体为:
,
其中,M为所述序列F的长度,i的取值为1,2,…,M,F(i)表示序列F中的不同元素,为单位冲击函数,即当且仅当,K为设定的参数。
进一步的,分析所述待检测位图的所述因数直方图的特性,本实施例中即分析所述因数直方图的单调性,具体步骤为:
31、计算得出所述因数直方图的一阶差分序列D:
,
32、获取所述序列D中的最大值,将其作为所述因数直方图单调性的度量值S:。
进一步的,判断所述待检测位图的所述因数直方图的度量值S否大于预先选定的阀值,当是时,则判定所述待检测的位图经过JPEG压缩,否则,判定所述待检测的位图未经JPEG压缩。
其中,所述阀值的选取对JPEG压缩检测的判断准确性的影响较大。本实施例中,根据所述由若干未经JPEG压缩的位图形成的训练图像数据库,生成一个最优的阀值,以保证本发明所述位图JPEG压缩检测的方法的准确度。本实施例中,如图4所示,所述阀值的具体生成过程为:
41、收集大量未经JPEG压缩的位图形成图像库(或称训练图像库),记所述训练图像库中位图数量为w;
42、分别计算所述图像库中的各个位图各自对应的所述因数直方图,以及所述因数直方图各自的单调性的度量值,得到未经JPEG压缩的若干位图的单调性度量值样本集合U。具体计算方法如图2和图3及其实施例所述;
43、对所述训练图像库中的各个位图分别进行JPEG压缩后再解压;
44、分别计算解压后的各个位图各自对应的因数直方图及各因数直方图对应的单调性的度量值,得到经过JPEG压缩的w个位图的单调性度量值样本集合V;具体计算方法同样如图2和图3及其实施例所述;
45、根据所述集合U及集合V,计算对所述图像库中的w个位图的判决准确率Acc:
,
其中,令t在区间[0,1]上离散取值,对t的每一个取值,计算对应的判决准确率Acc;最高准确率Acc对应的t就是最优的阈值,即获取其中最高准确率Acc对应的t,生成用于判决待检测的位图是否经过JPEG压缩的阈值T:
。
由上可见,所述步骤S130中判断待检测位图是否经过JPEG压缩时,将所述待检测位图对应的所述因数直方图的单调性度量值S与所述预先生成的阈值T进行比较,当所述度量值S小于等于所述阀值T时,则判定所述待检测位图未经JPEG压缩,否则,判定所述待检测位图经过JPEG压缩。
较佳的,结合所述现有技术1、2和3,下面对本发明所述位图JPEG压缩检测的方法进行对比测试。设定所述参数K=90,所述图像库的大小为2500幅,即w=2500。对所述图像库的每一幅未经JPEG压缩的位图,从中间裁剪出大小分别为256×256,128×128,64×64,32×32,16×16,8×8共6个尺寸的位图,各尺寸的位图数量皆为2500幅,即实际形成6个对应的子图像库,每个子图像库中均有相同尺寸的2500幅未经JPEG压缩的位图。 在此条件下,本实施例进行了两组测试。
第一组
首先是生成所述阀值,具体为:
对各子图像库中的每一幅未经JPEG压缩的位图,按上述实施例的方法计算各自对应的因数直方图及所述因数直方图的单调性的度量值,得到不同尺寸的、未经JPEG压缩的位图的单调性度量值集合,,,,,(下标表示位图的尺寸大小)。然后对各子图像库中的每一幅未经JPEG压缩的位图,随机从[50,99]中选取一个作为所述质量因子,对所述位图进行JPEG压缩后解压,按模块1和2所述步骤计算该压缩位图的因数直方图的单调性度量,按上述实施例的方法计算解压后的所述位图各自对应的因数直方图及所述因数直方图的单调性度量值,得到不同尺寸大小的、经过JPEG压缩的位图的单调性度量值集合,,,,,。然后,按图4及其实施例所述的方法计算各尺寸的位图对应的最优的阈值。
得到所述阀值后,根据所述阀值检测位图是否经过JPEG压缩。得到的检测准确率数据如表1所示,其中,单位:%,质量因子范围[50,99]。
表1
256×256 | 128×128 | 64×64 | 32×32 | 16×16 | 8×8 | |
现有技术1 | 89.54 | 79.68 | 65.70 | 54.44 | 50.34 | 50.00 |
现有技术2 | 98.44 | 98.84 | 98.06 | 94.06 | 87.68 | 79.64 |
现有技术3 | 98.02 | 97.80 | 97.54 | 97.20 | 96.74 | 94.06 |
本发明 | 99.70 | 99.52 | 99.26 | 98.10 | 94.04 | 86.62 |
由表1可知,本发明的所述位图JPEG压缩检测的方法在位图尺寸不小于32×32时,检测效果最好;当尺寸小于32×32时,其准确率也高于所述现有技术1和2,由于本发明采用的是单一阀值判决的方法,因此若选用SVM等更有效的判决方法,其准确率还将更高。
第二组
为检验对高质量因子的JPEG压缩位图的检测能力,对未经JPEG压缩的位图进行压缩时,质量因子从[90,99]中随机选取,其余处理过程与第一组测试相同,得到的检测准确率数据如表2所示。其中,单位:%,质量因子范围[90,99]。
表2
256×256 | 128×128 | 64×64 | 32×32 | 16×16 | 8×8 | |
现有技术1 | 74.32 | 63.88 | 54.06 | 52.12 | 50.24 | 50.00 |
现有技术2 | 98.88 | 94.28 | 95.50 | 93.36 | 88.64 | 77.52 |
现有技术3 | 91.48 | 90.58 | 90.32 | 92.14 | 93.12 | 89.92 |
本发明 | 99.32 | 98.70 | 97.34 | 94.86 | 88.02 | 78.44 |
由表2可知,所述现有技术1、2和3对高质量因子JPEG压缩的位图进行检测时,准确率较表1都有显著下降。而本发明所述位图JPEG压缩检测的方法在位图尺寸不小于64×64时,准确率仍高于97%。可见本发明所述位图JPEG压缩检测的方法对高质量因子的压缩位图的检测效果更好。
较佳的,本实施例中提出的因数直方图,其核心思想是统计所述整型系数矩阵中的各正因数分别出现的频次。基于该核心思想,所述因数直方图的具体形式不限于本实施例的,,还可以为其他等价的形式。
较佳的,本实施例中通过度量所述因数直方图的单调性来判决位图是否经过JPEG压缩。除此之外,还可通过度量所述因数直方图的其它特性(如平滑性,二阶差分特性等)获得近似的检测效果。
另外,本实施例中基于未经JPEG压缩位图和经过JPEG压缩的位图在所述因数直方图上表现出的特性差异进行判决的思想,采用了通过预先生成单一阈值进行判决的方式,除此之外,基于所述判断思想,也可提取位图的所述因数直方图上的多维特征,通过机器学习的方法构造分类器进行判决。而不应局限于本实施例的具体方式。
由上可见,本发明上述实施例的位图JPEG压缩检测的方法,通过计算待测位图的所述因数直方图,由所述因数直方图的特性检测待测位图是否经过JPEG压缩。由于计算所述因数直方图时,只需要至少1个8×8分块,因此,本发明的位图JPEG压缩检测的方法能检测8×8位图块是否经过JPEG压缩,较现有技术1中的16×16位图块更加精细;另外,本发明所述因数直方图本质上描述的是位图的DCT系数的量化效应,因此很大程度上避免了位图块自身纹理特性的影响,因此在准确率上有大幅度的提升。并且,针对经过高质量因子JPEG压缩的位图检测,本发明的所述检测方法的准确率较现有技术也有较大的提高,对检测商用数码相机输出的图像是否经过JPEG压缩尤其关键,因为商用数码相机采用的正是高质量因子的JPEG压缩。
基于上述实施例,本发明还提供了一种采用上述所述位图JPEG压缩检测的方法的***,如图5所示,本实施例的***包括:
因数直方图生成模块510,用于对待检测的位图数据进行分块并计算每个分块各自对应的DCT系数矩阵,将所述DCT系数矩阵转换为对应的整型矩阵,并统计所述整型矩阵中的各正因数分别出现的次数,得出一个表示所述整型矩阵中各正因数分别出现的次数的图像特征统计量,记为因数直方图。
单调性度量模块520,用于分析所述待检测的位图对应的所述因数直方图的单调性,获得一个表示所述因数直方图的单调性的度量值。
判决模块530,用于判断所述待检测的位图对应的所述度量值是否大于预先选定的阀值,当是时,则判定所述待检测的位图经过JPEG压缩,当否时,判定所述待检测的位图未经JPEG压缩。
较佳地,如图6所示,所述因数直方图生成模块510包括:
分块单元511,用于将待检测的位图像素矩阵划分成8×8的互不重叠的像素分块;具体如上述图2的实施例所述。
DCT单元512,用于对每一个所述分块分别进行离散余弦变换,得到对应的8×8的浮点型DCT系数矩阵;具体如上述图2的实施例所述。
取整单元513,用于对所述的浮点型DCT系数矩阵进行最近邻取整,得到对应的整型矩阵,提取所述整型矩阵中非零的且表示交流频率的DCT系数构成一序列,记为序列C;具体如上述图2的实施例所述。
分解单元514,用于对所述序列C中每一个元素进行因数分解,提取分解得到的所有正因数构成另一序列,记为序列F;具体如上述图2的实施例所述。
因数统计单元515,用于统计所述序列F中各元素出现的次数,得出一个可表示所述序列F中各元素分别出现的次数的统计量,记为因数直方图h:
,
其中,M为所述序列F的长度,i的取值为1,2,…, M,为单位冲击函数,K为设定的参数;具体如上述图2的实施例所述。
较佳地,如图7所示,单调性度量模块520包括:
第一度量单元521,用于计算所述因数直方图的一阶差分序列,记为序列D:
,。具体如上述图3的实施例所述。
第二度量单元522,用于统计得出所述序列D中的最大值,将其作为表示所述因数直方图的单调性的度量值,记为;具体如上述图3的实施例所述。
较佳的,如图8所示,所述判决模块530还包括:
阀值训练单元531,用于建立由若干未经JPEG压缩的位图形成的图像库,并根据所述图像库预先得出一个用于判决待检测的位图是否经过JPEG压缩的阈值;
判决单元532,用于当所述度量值大于所述阀值时,判定所述待检测的位图为经过JPEG压缩的位图,当所述度量值小于等于所述阀值时,判定所述待检测的位图为未经JPEG压缩的位图。
较佳的,其中,所述阀值训练单元531具体包括:
图像库建立子单元101,用于建立由若干未经JPEG压缩的位图形成的图像库;具体如上述图4的实施例所述。
第一计算子单元102,用于分别计算所述图像库中的各个位图各自对应的所述因数直方图,以及各个位图各自对应的所述因数直方图的单调性度量值,得到一个未经JPEG压缩的若干位图的单调性度量值样本集合,记为集合U,具体如上述图4的实施例所述。
第二计算子单元103,用于对所述图像库中的各个位图分别进行JPEG压缩和解压;分别计算解压后的各个位图各自对应的所述因数直方图及对应的单调性度量值,得到一个经过JPEG压缩的若干位图的单调性度量值样本集合,记为集合V;具体如上述图4的实施例所述。
准确率统计子单元104,用于根据所述集合U及集合V,计算对所述图像库中的所述位图的判决准确率Acc:
,
其中,w为所述图像库中位图的数量,t为区间[0,1]上的离散取值;具体如上述图4的实施例所述。
阈值获取子单元105、用于获取其中最高准确率Acc对应的t,作为用于判决位图是否经过JPEG压缩的所述阈值,记为T:
,具体如上述图4的实施例所述。
综上所述,本发明所提供的一种位图JPEG压缩检测的方法及***,其提出了一种新的图像特征的统计量:因数直方图,由于未经JPEG压缩的位图,其因数直方图呈单调下降;而经过JPEG压缩的位图,其所述因数直方图在压缩参数相关的位置上会出现局部峰值,从而不再单调下降。因此,通过度量待检测位图的所述因数直方图的单调性,可准确判断出其是否经过JPEG压缩。本发明计算复杂度低,辨别能力强;同时,通过本发明还可进一步用于位图的篡改检测和来源识别。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种位图JPEG压缩检测的方法,其特征在于,包括步骤:
A、对待检测的位图数据进行分块并计算每个分块各自对应的DCT系数矩阵,将所述DCT系数矩阵转换为对应的整型矩阵,并统计根据所述整型矩阵提取分解得到的各正因数分别出现的次数,得出一个表示所述整型矩阵中各正因数分别出现的次数的图像特征统计量,记为因数直方图;
B、分析所述待检测的位图对应的所述因数直方图的单调性,获得一个表示所述因数直方图的单调性的度量值;
C、判断所述待检测的位图对应的所述度量值是否大于一预先选定的阀值,当是时,则判定所述待检测的位图为经过JPEG压缩的位图,当否时,判定所述待检测的位图为未经JPEG压缩的位图。
2.根据权利要求1所述的位图JPEG压缩检测的方法,其特征在于,所述步骤A之前还包括步骤:
H、建立由若干未经JPEG压缩的位图形成的图像库,并根据所述图像库得出一个用于判决待检测的位图是否经过JPEG压缩的阈值。
3.根据权利要求1所述的位图JPEG压缩检测的方法,其特征在于,所述步骤A包括:
A1、将待检测的位图像素矩阵划分成8×8的互不重叠的像素分块;
A2、对每一个所述分块分别进行离散余弦变换,得到对应的8×8的浮点型DCT系数矩阵;
A3、对所述的浮点型DCT系数矩阵进行最近邻取整,得到对应的整型矩阵,提取所述整型矩阵中非零的且表示交流频率的DCT系数构成一序列,记为序列C;
A4、对所述序列C中每一个元素进行因数分解,提取分解得到的所有正因数构成另一序列,记为序列F;
A5、统计所述序列F中各元素出现的次数,得出一个可表示所述序列F中各元素分别出现的次数的统计量,记为因数直方图h:
,
其中,M为所述序列F的长度,为单位冲击函数,i的取值为1,2,…, M,K为设定的参数,表示序列F中的不同元素。
4.根据权利要求1所述的位图JPEG压缩检测的方法,其特征在于,所述步骤B包括:
B1、计算得出所述因数直方图的一阶差分序列,记为序列D:
,,其中,max(F)为序列F中的最大值;
B2、获取所述序列D中的最大值,将其作为表示所述因数直方图单调性的度量值,记为:。
5.根据权利要求2所述的位图JPEG压缩检测的方法,其特征在于,所述步骤H包括:
H1、建立由若干未经JPEG压缩的位图形成的图像库;
H2、分别计算所述图像库中的各个位图各自对应的所述因数直方图,以及所述因数直方图各自的单调性的度量值,得到未经JPEG压缩的若干位图的单调性度量值样本集合,记为集合U;
H3、对所述图像库中的各个位图分别进行JPEG压缩和解压;分别计算解压后的各个位图各自对应的所述因数直方图及所述因数直方图各自的单调性的度量值,得到经过JPEG压缩的若干位图的单调性度量值样本集合,记为集合V;
H4、根据所述集合U及集合V,计算对应的判决准确率,记为Acc:
其中,w为所述图像库中位图的数量,t为区间[0,1]上的离散取值;
H5、获取其中最高准确率Acc对应的t,生成用于判决待检测的位图是否经过JPEG压缩的阈值,记为T:
。
6.一种采用权利要求1所述位图JPEG压缩检测的方法的***,其特征在于,包括:
因数直方图生成模块,用于对待检测的位图数据进行分块并计算每个分块各自对应的DCT系数矩阵,将所述DCT系数矩阵转换为对应的整型矩阵,并统计根据所述整型矩阵提取分解得到的各正因数分别出现的次数,得出一个表示所述整型矩阵中各正因数分别出现的次数的图像特征统计量,记为因数直方图;
单调性度量模块,用于分析所述待检测的位图对应的所述因数直方图的单调性,获得一个表示所述因数直方图的单调性的度量值;
判决模块,用于判断所述待检测的位图对应的所述度量值是否大于预先选定的阀值,当是时,则判定所述待检测的位图经过JPEG压缩,当否时,判定所述待检测的位图未经JPEG压缩。
7.根据权利要求6所述的***,其特征在于,所述判决模块包括:
阀值训练单元,用于建立由若干未经JPEG压缩的位图形成的图像库,并根据所述图像库预先得出一个用于判决待检测的位图是否经过JPEG压缩的阈值;
判决单元,用于当所述度量值大于所述阀值时,判定所述待检测的位图为经过JPEG压缩的位图,当所述度量值小于等于所述阀值时,判定所述待检测的位图为未经JPEG压缩的位图。
8.根据权利要求6所述的***,其特征在于,所述因数直方图生成模块包括:
分块单元,用于将待检测的位图像素矩阵划分成8×8的互不重叠的像素分块;
DCT单元,用于对每一个所述分块分别进行离散余弦变换,得到对应的8×8的浮点型DCT系数矩阵;
取整单元,用于对所述的浮点型DCT系数矩阵进行最近邻取整,得到对应的整型矩阵,提取所述整型矩阵中非零的且表示交流频率的DCT系数构成一序列,记为序列C;
分解单元,用于对所述序列C中每一个元素进行因数分解,提取分解得到的所有正因数构成另一序列,记为序列F;
因数统计单元,用于统计所述序列F中各元素出现的次数,得出一个可表示所述序列F中各元素分别出现的次数的统计量,记为因数直方图h:
,
其中,M为所述序列F的长度,为单位冲击函数,i的取值为1,2, …, M,K为设定的参数,表示序列F中的不同元素。
9.根据权利要求6所述的***,其特征在于,所述单调性度量模块包括:
第一度量单元,用于计算得出所述因数直方图的一阶差分序列,记为序列D:
,,所述max(F)为序列F中的最大值;
第二度量单元,用于获取所述序列D中的最大值,将其作为表示所述因数直方图的单调性的度量值,记为:。
10.根据权利要求7所述的***,其特征在于,所述阀值训练单元还包括:
图像库建立子单元,用于建立由若干未经JPEG压缩的位图形成的图像库;
第一计算子单元,用于分别计算所述图像库中的各个位图各自对应的所述因数直方图,以及所述因数直方图各自的单调性的度量值,得到未经JPEG压缩的若干位图的单调性度量值样本集合,记为集合U;
第二计算子单元,用于对所述图像库中的各个位图分别进行JPEG压缩和解压;分别计算解压后的各个位图各自对应的所述因数直方图及所述因数直方图各自的单调性的度量值,得到经过JPEG压缩的若干位图的单调性度量值样本集合,记为集合V;
准确率统计子单元,用于根据所述集合U及集合V,计算得出对应的判决准确率,记为Acc:
,
其中,w为所述图像库中位图的数量,t为区间[0,1]上的离散取值;
阈值获取子单元、用于获取其中最高准确率Acc对应的t,生成用于判决待检测的位图是否经过JPEG压缩的阈值,记为T: 。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310003334.XA CN103067713B (zh) | 2013-01-06 | 2013-01-06 | 一种位图jpeg压缩检测的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310003334.XA CN103067713B (zh) | 2013-01-06 | 2013-01-06 | 一种位图jpeg压缩检测的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103067713A CN103067713A (zh) | 2013-04-24 |
CN103067713B true CN103067713B (zh) | 2017-04-12 |
Family
ID=48110152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310003334.XA Active CN103067713B (zh) | 2013-01-06 | 2013-01-06 | 一种位图jpeg压缩检测的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103067713B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104715257B (zh) * | 2013-12-11 | 2017-11-10 | 中国科学院深圳先进技术研究院 | 一种图像中值滤波检测方法及装置 |
CN103796017B (zh) * | 2014-01-23 | 2017-01-11 | 深圳大学 | 一种图像判别装置及其判别方法 |
CN105049867A (zh) * | 2015-08-19 | 2015-11-11 | 广东财经大学 | 一种识别位图是否经过jpeg压缩的方法 |
CN106488250B (zh) * | 2015-08-26 | 2019-05-07 | 中国科学院深圳先进技术研究院 | 一种估计jpeg双重压缩图像首压量化步长的方法和装置 |
CN106485738B (zh) * | 2015-08-26 | 2019-04-05 | 中国科学院深圳先进技术研究院 | 一种估计位图的jpeg压缩量化步长的方法和装置 |
CN107464237A (zh) * | 2017-08-04 | 2017-12-12 | 平安科技(深圳)有限公司 | 图像篡改检测方法、电子装置及可读存储介质 |
CN107908379B (zh) * | 2017-10-27 | 2020-08-14 | 长安大学 | 一种显示超大页面数字出版原图的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008005950A2 (en) * | 2006-06-30 | 2008-01-10 | New Jersey Institute Of Technology | An apparatus and method for a generalized benford's law for analysis of dct and jpeg coefficients |
CN101674389A (zh) * | 2009-09-30 | 2010-03-17 | 大连理工大学 | 一种基于图像信息损失量的bmp图像压缩历史检测方法 |
CN102413328A (zh) * | 2011-11-11 | 2012-04-11 | 中国科学院深圳先进技术研究院 | Jpeg图像双重压缩检测方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7439989B2 (en) * | 2006-02-17 | 2008-10-21 | Microsoft Corporation | Detecting doctored JPEG images |
-
2013
- 2013-01-06 CN CN201310003334.XA patent/CN103067713B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008005950A2 (en) * | 2006-06-30 | 2008-01-10 | New Jersey Institute Of Technology | An apparatus and method for a generalized benford's law for analysis of dct and jpeg coefficients |
CN101674389A (zh) * | 2009-09-30 | 2010-03-17 | 大连理工大学 | 一种基于图像信息损失量的bmp图像压缩历史检测方法 |
CN102413328A (zh) * | 2011-11-11 | 2012-04-11 | 中国科学院深圳先进技术研究院 | Jpeg图像双重压缩检测方法及*** |
Non-Patent Citations (1)
Title |
---|
DETECTION OF NON-ALIGNED DOUBLE JPEG COMPRESSIONWITH ESTIMATION OF;Tiziano Bianchi等;《2011 18th IEEE International Conference on Image Processing》;20110914;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103067713A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103067713B (zh) | 一种位图jpeg压缩检测的方法及*** | |
CN102413328B (zh) | Jpeg图像双重压缩检测方法及*** | |
Fu et al. | A generalized Benford’s law for JPEG coefficients and its applications in image forensics | |
Kharrazi et al. | Cover selection for steganographic embedding | |
CN102611823B (zh) | 一种基于图片内容选择压缩算法的方法和设备 | |
CN104661037B (zh) | 压缩图像量化表篡改的检测方法和*** | |
CN101605272B (zh) | 一种部分参考型图像客观质量评价方法 | |
CN103037212B (zh) | 基于视觉感知的自适应块压缩传感图像编码方法 | |
US20090257656A1 (en) | Detecting Double JPEG Compression in Images | |
CN104282310B (zh) | 一种针对MP3Stego隐写后的音频的隐写检测方法 | |
WO2008005950A2 (en) | An apparatus and method for a generalized benford's law for analysis of dct and jpeg coefficients | |
CN102521606B (zh) | 一种对jpeg图像的像素块分类方法及基于此的图像篡改检测和被篡改区域定位方法 | |
CN102156955A (zh) | 基于直方图邻域的鲁棒可逆水印嵌入与提取方法 | |
Kumar et al. | Near lossless image compression using parallel fractal texture identification | |
CN105120294A (zh) | 一种jpeg格式图像来源鉴别方法 | |
CN104392207A (zh) | 一种用于数字图像内容识别的特征编码方法 | |
CN108366295A (zh) | 视频分类特征提取方法、转码重压缩检测方法及存储介质 | |
CN103533377B (zh) | 一种基于h.264/avc视频的删帧篡改检测方法 | |
Mandelli et al. | Multiple JPEG compression detection through task-driven non-negative matrix factorization | |
Zhang et al. | Detecting multiple H. 264/AVC compressions with the same quantisation parameters | |
Li et al. | Passive detection of copy-paste forgery between JPEG images | |
CN105072444B (zh) | 一种不同量化参数下的hevc视频二次压缩检测方法 | |
CN102547371B (zh) | 一种基于h.264/avc视频二次压缩检测方法 | |
CN104102861A (zh) | 一种基于文件头和压缩参数的jpeg图片原始性检测方法 | |
Yang et al. | Detecting doubly compressed JPEG images by factor histogram |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |