paper: https://arxiv.org/pdf/2108.12947.pdf
code:https://github.com/mjkwon2021/CAT-Net
摘要
检测和定位图像篡改是对抗恶意使用图像编辑技术的必要手段。因此,有必要通过分析图像中的固有统计来区分真实区域和篡改区域。我们专注于图像采集和编辑过程中留下的JPEG压缩伪影。我们提出了一种卷积神经网络(CNN),它使用离散余弦变换(DCT)系数来定位图像操作,其中压缩伪影仍然存在。标准cnn无法学习到DCT系数的分布,因为卷积丢掉了DCT系数所必需的空间坐标。我们演示了如何设计和训练一个可以学习DCT系数分布的神经网络。此外,我们还介绍了压缩伪迹跟踪网络(CATNet),该网络将图像采集伪迹和压缩伪迹结合使用。它在检测和定位篡改区域方面明显优于传统的基于深度神经网络的方法。
关键词:图像取证·多媒体取证·图像处理检测·双JPEG检测·图像处理
1 Introduction
随着移动设备和图像编辑软件的进步,图像编辑变得简单和流行。加上社交网络服务,编辑后的图片可以迅速传播。这些变化使人们能够创造更美丽的自拍,减少相机抖动,将无人陪伴的朋友放在合影中,删除不需要的物体,并与他人分享这些编辑过的照片。然而,当编辑后的图像被用作虚假证据或假新闻时,这些进步会引发社会问题。被移除的物体的监控摄像头图像可能会错误地确认罪犯不在犯罪现场,反之亦然。一张伪造的照片暗示名人的丑闻可能会损害名人的声誉。因此,为了防止恶意的图像篡改,检测和定位伪造区域是至关重要的。
在许多图像处理类型中,复制-移动、拼接是最受欢迎和直接的编辑技术之一。因为这些操作应用于局部区域,分析它们比分析应用于全局区域的基于核或像素级的操作(例如色调修改、模糊、对比度增强或亮度调整)更具挑战性。此外,拼接和复制移动可能不会给人眼留下可见的视觉线索,因为人眼要考虑原始图像和待粘贴对象之间的和谐(图1(a)和1(b))。因此,在过去十年中,已经提出了许多法医方法来检测和定位图像操作(Verdoliva, 2020;《美韩自由贸易协定》,2017)。
操纵区域检测和定位的一个基本假设是,操纵区域的图像采集伪像(Lukas et al ., 2006)或JPEG压缩伪像(Wang and Zhang, 2016)与原始区域具有不同的统计特性。从数码相机获得的图像要经过固有的内部处理。因此,在每个设备和拍摄设置的数字图像中保留了固有的统计特性。此外,为了提高存储效率,大多数配备相机的设备对数字图像应用有损压缩(通常是JPEG),从而在图像中留下压缩伪影。如果不发生操作,则在媒体数据中始终保持图像采集和压缩伪影的特征。此外,当应用操作时,这些伪影的统计特征可以改变。图像取证的目的是将具有不同统计指纹的操纵区域与原始区域进行分类,因此了解图像采集和JPEG压缩的详细过程至关重要。
首先,图像采集伪影是指从拍摄场景中创建数字图像时应用的过程中的痕迹。代表性图像采集伪影的类型如下:镜头像差(Yerushalmy and hell - or, 2011)、传感器模式噪声(Lukas et al, 2006)、彩色滤波器阵列(CFA)的插值痕迹(Bammey et al, 2020)以及由色彩校正、白平衡调整和伽马校正引起的后处理伪影(Swaminathan et al, 2008)。这些伪影是设备和伴随图像采集过程的依赖于设置的指纹,难以用人眼识别。在多媒体取证领域,已经研究了基于规则、基于手工制作的特征和数据驱动的方法来捕获每个采集伪影的统计属性的变化(Verdoliva, 2020)。这些方法旨在通过揭示精细采集伪影中的不一致性来检测和暴露被操纵的区域。
其次,JPEG是最常用的压缩格式标准,能减少存储空间而留下细微而不显眼的痕迹。基于量化的压缩导致的模糊伪影应用于离散余弦变换(DCT)域(Barni et al, 2017)。在图像法医研究中,正在积极研究(Wang and Zhang, 2016;Park et al, 2018;Verma et al, 2020)重JPEG检测,即确定JPEG图像是否被压缩过一两次。此任务有助于对操作区域进行定位。与真实区域相比,粘贴到另一张图像上的区域可能具有统计学上不同的y通道DCT系数分布(图2(b)和2(c))。真实区域被双重压缩,首先在相机中,然后作为伪造的一部分,在直方图中留下周期性的模式。根据二次量化表(第2.2节和Popescu and Farid(2004)),被操纵区域遵循单一压缩分布。因此,挖掘这些压缩伪影有助于推断和定位被操纵的区域。然而,我们观察到的是两个直方图的和(图2(d)),这很难提前知道哪个区域被篡改了。
基于对被操纵图像中留下的两种类型的伪影的观察,我们使用RGB和DCT域信息来检测和定位图像操纵。我们提出了一种基于端到端可训练神经网络的图像处理检测器,称为压缩伪影跟踪网络(CAT-Net)。它精确地跟踪图像采集和JPEG压缩伪影。RGB域使网络能够探索和学习细粒度的视觉伪影,如传感器模式噪声、块伪影和其他获取伪影。DCT域用于探索压缩伪影。
然而,直接向卷积神经网络(CNN)提供DCT系数是不够的,因为卷积丢掉了空间坐标,而空间坐标对DCT系数至关重要。最近,Yousfi和Fridrich(2020)尝试在隐写分析分类任务中使用DCT体积表示来解决这个问题。我们在网络中采用这种表示来学习DCT系数的分布。我们证明这种表示也适用于篡改定位任务。此外,所设计的网络只包含特定选择的网络组件来学习图像压缩伪影。此外,我们提出了一种新的使用双JPEG检测的预训练方法。
本文扩展了我们之前的研究(Kwon et al ., 2021),该研究引入了用于图像拼接检测的JPEG压缩伪影跟踪方法。以往的研究仅针对拼接伪造,本文还研究了复制-移动伪造。添加了新的自定义数据集以进一步提高性能。本文采用了十种比较方法进行了更广泛的实验,而在先前的研究中只使用了两种方法。结果报告了各种指标和新添加的热力图。最后,我们在https://github.com/mjkwon2021/CAT-Net公开发布了我们的代码和训练的权重。
我们的主要贡献总结如下:
•我们提出了基于DCT体积表示学习压缩伪影的CAT-Net。这种方法在检测双重JPEG压缩方面优于以前使用直方图表示的最先进的网络。此外,我们成功地将这些权重转移到图像处理检测和定位中。
•CAT-Net在不丢失空间信息的情况下学习DCT系数的分布,以精细地定位篡改区域。相比之下,以前的直方图方法只在分类时失去了空间信息和功能。CAT-Net是第一个接受DCT系数直接进入分割网络的神经网络。
•CAT-Net首次结合RGB和DCT域对被操纵区域进行了定位。该网络捕获RGB域中的图像采集伪影和DCT域中的压缩伪影。对不同基准数据集的广泛实验表明,CAT-Net明显优于最先进的操作检测器。
本文的其余部分组织如下。第二节解释了法医学线索并回顾了前人的相关研究。第3节提出了我们的法医方法。第4节解释了双JPEG预训练方案,并从学习压缩伪影的角度评估了CAT-Net。第5节介绍了主要实验,图像处理检测和定位,并演示了CAT-Net的性能。第六部分对全文进行总结。
2 Related Work
在本节中,我们将回顾包括图像采集伪影和JPEG压缩伪影在内的取证线索。然后,我们介绍了与本研究相关的以前的法医方法。两种不可避免的伪影(图像采集伪影和压缩伪影)存在于未经处理的数字图像中,这些伪影是重要的法医线索,因为它们的内在属性在操纵过程前后不同。
2.1 Image Acquisition Artifacts 图形采集伪影
图像采集伪影表示当配备相机的设备获得数字图像时生成的精细伪影。我们可以通过区分真实区域和篡改区域来检测被操纵的区域。因此,我们应该将图像划分为同一图像的区域。因此,了解由图像采集过程引起的相机特定和捕获设置伪影是有利的。
图3说明了从数码相机获取图像的详细过程。箭头括号中的术语指的是从特定获取过程生成的采集伪影。在拍摄场景的光线到达数码相机上的传感器之前,它要经过镜头、抗混叠滤波器(即光学低通滤波器)和CFA。由于透镜在制造过程中的微小缺陷,透镜会产生几种图像变形:球面像差、视场曲率、透镜径向畸变和色差。对于源相机识别(Choi等人,2006)和伪造检测(Yerushalmy和hell - or, 2011),这些镜头像差可以用作法医指纹。通过透镜的光通过一个抗混叠滤波器,减少混叠和云纹图案。然后,光在到达传感器之前通过CFA。CFA是彩色滤光片的马赛克,它阻挡了光谱的特定部分,诱导每个像素只检测红、绿、蓝中的一种特定颜色(Piva, 2013)。
传感器由最小的可寻址元件组成,可收集光子并将其转换为电信号,是数码相机的关键部件。通过成像传感器上的模数转换器,可以将电压采样为数字信号(Lukas et al, 2006)。这两种传感器类型包括电荷耦合器件(CCD)和互补金属氧化物半导体(CMOS),它们都会留下传感器模式噪声的细微痕迹(Piva, 2013)。传感器模式噪声主要是由成像传感器制造过程中的缺陷引起的。传感器模式噪声主要有固定模式和光响应非均匀性(PRNU)。由于模式噪声是依赖于特定相机模型的固有属性,因此它作为一种独特的特征被积极用于图像取证(Lukas等人,2006;Chierchia等,2014;Korus and Huang, 2016)。
对于基于CFA的传感器(例如,CCD或CMOS),数字化传感器输出被插值,利用颜色插值过程(即去马赛克)来获得三色层的缺失像素值(Piva, 2013)。在此过程中,将CFA插值伪影应用于图像,这些痕迹可用于检测图像伪造(Bammey et al, 2020;Choi et al ., 2013)。然后,输出信号在后处理的基础上做进一步处理,如色彩校正、白平衡调整和伽马校正。这些后处理过程是对感知质量的精细校正,在此期间,采集伪影被添加到数字图像中。
最后,以用户选择的图像格式将所述数字图像写入所述相机存储设备。JPEG是一种典型的有损压缩技术,用于减轻或消除数字图像的高频成分。本文使用压缩来表示有损压缩(而不是无损压缩,这与压缩伪影无关)。下一小节将介绍JPEG压缩的细节。
2.2 JPEG Compression Artifacts
在本小节中,我们回顾JPEG压缩过程,并观察在DCT域中留下的双量化伪影。将输入图像划分为不重叠的8 × 8块,每个块分别使用DCT进行变换。在本文中,我们只考虑y通道DCT系数,因为色度通道(即Cb和Cr)对取证不太有用。然后使用单个8×8量化矩阵对DCT系数进行量化。量化是一种元素级操作,描述如下:
式中,q1为量化步长,u为DCT域中的一个值,[·]为舍入算子。量化系数和量化表(而不是空间域像素)保存在JPEG文件中。在打开图像文件时(即JPEG解码过程中)对系数进行去量化:
式中v为量化后的DCT系数。Qq1在数学上不是可逆的,所以信息的丢失就发生在这里。双量化可以描述为:
其中q1为初级量化步骤,q2为次级量化步骤。
然后,我们研究了初始DCT系数直方图和双重压缩直方图之间的关系。假设前者的第u1个bin中的一个DCT系数被重新定位到后者的第u2个bin中,即Qq1,q2(u1) = u2。则双量化直方图中对bin u2有贡献的原始直方图bins n(u2)的个数可以表示为(Lin et al ., 2009):
其中,是向下取整,
是向上取整。根据Eq. (4), n(u)是周期为q1/gcd(q1, q2)的周期,其中gcd是最大公约数。因此,双压缩区域在量化DCT系数的直方图中具有周期性模式。例如,图2显示了质量因子为70和90的双压缩图像,以及频率为(1,1)的双量化效果。那么,q1 = T70(1,1) = 7, q2 = T90(1,1) = 2,其中Tx(i, j)是质量因子为x的量化表中(i, j)分量的值,其中i, j = 0,…7。因此,根据式(4),n(7k) = 7, n(7k+1) = 0, n(7k+2) = 0, n(7k+3) = 7, n(7k+4) = 7, n(7k+ 5) = 0, n(7k+ 6) = 0,其中k为整数。该值与图2(b)中特定bins为空的观察结果一致。这种周期性模式是许多双重压缩效应的一个例子(详见第2.4节)。
上述推理假设量子化使用四舍五入到最接近的整数,并在正无穷处打破平局。然而,根据相机制造商或图像编辑软件的不同,可以使用不同的操作,例如向零舍入(Agarwal和Farid, 2018;布托拉和弗里德里希,2020)。此外,在应用反向DCT并截断到合适的图像像素范围[0,255]后,在解码过程中会发生舍入导致的信息丢失[0,255]。DCT变换的精度也会影响系数的分布(Luk ' a ' s和Fridrich, 2003)。因此,实际实现中的量化伪影是多种多样的,应该小心处理。
篡改部分和真实部分在DCT直方图中表现出不同的统计分布。真实区域被压缩两次,被篡改的区域被视为单一压缩,因为在第二次压缩中使用的8 × 8网格可能与主要压缩网格不对齐(概率为63 /64)。即使当两个网格对齐时,包含粘贴对象边界的块也具有真实像素和篡改像素,因此这些块不遵循双重压缩规则(Wang and Zhang, 2016)。
2.3 Image Forensics Using Image Acquisition Artifacts
图像取证旨在通过检测和探索操纵伪影来验证媒体内容的真实性。定位和检测应用于局部区域的操作(如拼接或复制移动)具有挑战性,相关研究正在稳步进展。表1总结了历史上的图像取证方法。每种方法使用的取证线索主要分为图像采集和JPEG压缩伪影。本节回顾了以前的研究,探索图像采集的痕迹。这些研究要么直接使用采集伪影作为取证特征,要么探索低级特征来检测由图像处理引起的采集伪影的统计变化。
Mahdian and Saic(2009)提出了一种基于平铺高通小波系数进行匹配的采用局部噪声标准偏差估计的篡改定位方法。Amerini等人(2011)使用尺度不变特征变换(SIFT)来检测复制-移动伪造,使用聚类算法选择原始区域和操纵区域之间的SIFT描述子对。Ferrara等人(2012)执行基于块的伪造检测,探索去马赛克伪影,在伪造过程中应用于原始CFA模式的细微变形。Lyu et al .(2014)将盲噪声估计作为一个优化问题,通过检测局部噪声不一致性来定位伪造区域。
受到采用cnn后取得重大进展的计算机视觉任务的启发,cnn被积极用于图像取证,以定位伪造区域和检测细粒度的操纵线索(Verdoliva, 2020;Nam et al, 2020;Yu et al, 2020)。Bayar和Stamm(2018)提出了一种基于约束层的网络,该网络共同抑制给定图像的内容,并自适应地从图像处理产生的类噪声信号中学习特征。Zhou等人(2018)将SRM内核(Fridrich and Kodovsky, 2012)作为预处理层,并使用Faster R-CNN (Ren等人,2015)架构以对象级为单位检测被操纵区域。Boroumand等人(2018)在网络的早期部分放置了未池层,以提取低级信号的丰富特征,并展示了良好的隐写分析性能。Huh等人(2018)提出了一种自我监督的方法来训练模型,并探讨了EXIF元数据的不一致性。他们的研究在定位操作方面表现出色,但需要大量的计算来计算每个补丁对的一致性。Bi等人(2019)把帧操作定位作为分割问题。他们设计了一个基于U-Net的神经网络(Ronneberger et al, 2015),并通过提供RGB像素图像作为网络输入来分析传统的语义属性。
Wu等人(2019)设计了一个ManTra-Net,它使用SRM内核和约束层提取特征进行预处理,并执行逐像素的异常检测。他们的研究成功地区分了各种类型的操纵。然而,伪造定位的性能对JPEG压缩并不鲁棒,因为它使用压缩作为一种操作类型。Kniaz等人(2019)提出了一种基于生成对抗网络的框架,用于训练判别分割模型以定位被操纵区域。Cozzolino和Verdoliva(2019)提出了一种提取相机模型固有噪声(即Noiseprint)的方法,其中给定图像的内容被抑制,采集伪影被增强。他们的研究探索了相对于定位被操纵部件的主要原始模型的异常。
Bammey等人(2020)利用无监督CNN学习探索CFA插值伪影的潜在模式,并通过识别局部马赛克不一致性来检测可疑区域。Marra等人(2020)提出了一个由三个阶段组成的框架——补丁级特征提取、图像级特征聚合和全局决策——能够使用从整个图像中以全分辨率收集的丰富特征。Hu等人(2020)提出了一种基于局部自关注块的CNN,该CNN在多个尺度上建模并建立块之间的空间关系,以捕获伪造定位中的法医指纹。Liu和Pun(2020)提出了一种融合网络,该网络专注于学习低级特征,并探索了诸如噪声和JPEG差异等法医假设。
2.4 Image Forensics Using JPEG Compression Artifacts
在本小节中,我们回顾以前利用JPEG压缩引起的取证线索的取证方法。Lam和Goodman(2000)从数学上说明了JPEG DCT系数的直方图遵循拉普拉斯分布。图像编辑通常涉及额外的压缩并破坏分布,在图像中留下压缩痕迹。因此,JPEG压缩伪影在图像取证中被用作重要的指纹。
Lukas和Fridrich(2003)观察到当图像被伪造时,DCT域中留下了一个基本特征。伪造图像的粘贴部分可能显示出单次压缩的痕迹,而真实图像的其余部分则显示出两次压缩的痕迹。研究人员提出了DCT系数直方图中缺失值和双峰的特性,用于检测双重压缩和估计初级量化表。Fu et al(2007)观察到DCT系数的第一位数字的分布遵循Benford定律,如果图像被双重压缩,则违反该定律。该定律用于Q因子估计和双JPEG检测。Ye等人(2007)使用JPEG阻塞伪影的不一致性来检测伪造。基于估计的量化表,利用DCT系数直方图的功率谱计算出一个块伪影度。Lin等人(2009)利用JPEG双量化效果,如DCT直方图中的周期性峰谷,在8 × 8块的尺度上自动检测图像伪造。由直方图计算的块后验概率图被阈值化以区分篡改区域和真实区域。Bianchi and Piva(2012)设计一个统一的统计模型表征DCT共对齐和非对齐双JPEG压缩的效率。该模型用于计算表示每个DCT块被双重压缩的概率的似然图。Iakovidou等人(2018)使用JPEG网格对齐异常进行伪造检测。该方法使用拟合函数评估多个网格位置,其中较低的贡献区域被识别为网格不连续点。Nikoukhah等人(2019)通过确定最可能包含最多零系数的JPEG块来执行全局网格检测,以检测拼接引起的网格不对齐。
在深度学习时代,利用DCT直方图生成神经网络特征的双JPEG检测也有后续的研究。Wang和Zhang(2016)是第一个使用直方图特征作为CNN输入进行双JPEG检测的人。他们还通过使用8像素的重叠步幅集成图像级分类结果来实现伪造定位。Barni等人(2017)将直方图计算集成为CNN的一部分,允许GPU并行构建直方图特征。他们还使用二维(2D)卷积来改进CNN的结构,而不是一维(1D)卷积。Park等人(2018)通过在完全连接的层中附加一个重塑的量化表来提高分类性能。
基于cnn的DCT直方图方法局限于图像级分类,主要是因为使用DCT直方图需要固定大小的输入,并去除用于定位的空间信息。以前,使用DCT直方图是强制性的,因为cnn无法从原始DCT系数中学习,因为它们主要是去相关的和局部异构的性质。本研究首次使用了基于DCT系数的分割模型,这是由于DCT体积取代了DCT直方图和精心设计的网络组件。此外,我们在双JPEG检测任务中预训练我们的网络,为学习DCT系数中留下的压缩伪影产生丰富的初始化。
3 Proposed Method
我们描述了如何提取DCT系数上的特征,以使用标准CNN分量来学习它们的分布。因此,我们提出了一个JPEG伪影学习模块(图4),可以放置在CNN的起点。此外,我们提出CAT-Net,一个完整的端到端图像处理检测网络。CAT-Net包括RGB流、DCT流和融合阶段(图5和图6)。它接受RGB像素、DCT系数和量化表作为网络输入,并输出每个像素被篡改的概率图。我们首先描述了使CNN能够学习DCT系数分布的四个关键点:DCT体积表示、频率级操作、网格对齐裁剪和双JPEG检测的迁移学习。然后详细描述了网络架构。最后,我们描述了CAT-Net如何处理非jpeg图像。
3.1 DCT Volume Representation
如章节1所述,cnn不能从原始DCT系数中自动学习压缩伪影,因为卷积假设平移不变性并设置每个系数相同。然而,空间坐标是DCT系数的关键。因此,我们使用变换f: ZH×W→{0,1}(T +1)×H×W将DCT系数的输入数组M转换为二进制体积(Youfi和Fridrich, 2020),这样
其中clip(·)按元素将数组剪辑为区间[−T, T],而abs(·)取元素的绝对值。DCT系数记录在通道指数0或1中。
clip(·)函数是由于内存限制。较大的T可以捕获更大范围的直方图bins(图2),但需要更多的GPU内存。我们实验选择T = 20。abs(·)函数是由于DCT直方图的对称性,如Eq. 4所示。由恒等式,得到n(−u) = n(u)。因此,取绝对值造成的信息损失可以忽略不计,但特征图的大小几乎变成了一半。
对于JPEG图像中的操作定位,DCT体积表示比DCT直方图更准确,可以检测双重JPEG压缩(Wang and Zhang, 2016;Barni et al, 2017;Park et al, 2018)。尽管DCT直方图将信息按补丁合并并失去其视觉表示,但DCT体积保持适合像素级预测的图像分辨率。然而,与DCT直方图相比,提取统计信息的能力是一种改进(第4节)。
DCT直方图是对DCT体积应用全局平均池化的结果。因此,在丢失位置信息之前,DCT体积是一个特征。此外,在这个表示上应用卷积产生了更丰富的统计特征,如共现。例如,考虑一个3×3的核K∈R(T +1)×3×3,其中K中除K[m, 1,1] = 1, K[n, 1,2] = 1(m, n∈{0,1,…, t})外的所有元素都为零。如果将使用核K的卷积应用于DCT体积,并遵循全局平均池化,则计算系数对(m, n)的水平共现。与JPEG图像隐写分析相比,它评估整个图像操作的概率,我们的目标是局部操作。因此,我们的目标是在不同的DCT块中提取特征,并使用扩展为8的卷积,从而实现频率级操作。
3.2 Frequency-wise Operations
与RGB像素相反,DCT系数根据它们的位置表示不同的频率。(x, y)处的DCT系数表示图像子块的频率(x%8,y%8)。传统的卷积(步幅为1)混合了这些频率分量。所有的操作都应该基于频率来执行,以避免这种情况。也就是说,这些包括扩展为8的8 × 8卷积、1 × 1卷积、量化表乘法和频率成分分离(图4)。膨胀为8的8×8卷积在相同的频率上运行,因为DCT系数由8×8块组成。1×1卷积也是有效的,因为它不混合频率成分。量化表用于帮助网络学习压缩历史。
Park等人(2018)是第一个在全连接层中使用量化表的人。然而,由于我们的网络是完全卷积的,我们不能遵循他们的方法。我们通过模拟JPEG解码过程来解决这个问题。量化表按元素与特征映射相乘。这种方法使用量化表的作用来对量化系数进行去量化(Eq. 2)。我们的模块中都使用了量化和去量化的特征映射。
频率成分分离g: RC×H×W→R64C×是一个索引改变映射,可以仅使用重塑和排列实现:
c, i, j从0开始。频率成分分离后,特征映射无需特别注意即可使用,即可以遵循常规的3 × 3卷积。
3.3 Grid-aligned Cropping
深度神经网络在训练时采用相同固定大小的输入图像来构建批处理。传统的计算机视觉网络使用调整大小或随机裁剪来满足这一约束。对于DCT系数,这两种方法都不能使用,因为它们会破坏位置信息。我们提出了一种新的可用于DCT系数的裁剪方法。图像应该以网格对齐的方式裁剪,以使这些组件能够正确运行。给定输入图像M,裁剪尺寸为h × w,则常规裁剪图像h(M)可表示为:
其中使用NumPy索引切片。网格对齐裁剪要求h, w, i, j是8的倍数。这种简单的补救措施使第3.2节中描述的神经网络组件能够发挥作用。通过网格对齐裁剪,每个特征映射通道在频率成分分离后代表一个频率。例如,第一个通道对应于频率(0,0),第二个通道对应于频率(0,1),以此类推。如果使用传统的随机裁剪,频率分量将分布在所有通道上,而随后的卷积则不能区分频率。
3.4 Pretraining on Double JPEG Detection
在深度学习文献中,使用类似任务的预训练权重开始训练是很常见的做法。人们经常使用来自图像分类的预训练权值进行语义分割,特别是来自ImageNet (Krizhevsky et al ., 2012)。我们还初始化了在ImageNet上预训练的RGB流,以便更有效地提取视觉线索。然而,作为第一个使用DCT系数作为分割网络输入的研究,没有“常见的做法”来预训练DCT流。针对双JPEG检测任务,提出了一种新的预训练方案,对单压缩和双压缩JPEG图像进行分类。
DCT流在双JPEG检测任务上使用各种量化表进行预训练,以学习处理真实世界的压缩伪影。将预训练的权重传递给图像处理检测任务。获得具有各种压缩参数的数据集用于双JPEG检测比获得具有GT的伪造图像要容易得多。消融研究表明,这种预训练方案有助于网络训练更快,实现更高的检测性能(章节5.5)。
3.5 Network Architecture
本小节描述了我们如何设计CAT-Net结构。CAT-Net由RGB流、DCT流、融合阶段组成。RGB流取RGB图像作为输入并学习图像采集伪影,如传感器模式噪声,EXIF元数据,块伪影,或视觉内容本身。DCT流采用从JPEG头获得的原始DCT系数和量化表作为输入,并学习压缩伪影。该网络建立在HRNet之上(Wang et al ., 2020)。RGB流的结构是HRNet本身。DCT流是HRNet的三分辨率变体,用我们的JPEG伪影学习模块取代了第一阶段。
我们首次在法医任务中采用HRNet,因为它在整个过程中保持高分辨率表示,使我们能够在不丢失法医调查所必需的精细伪影的情况下捕获整体图像。CAT-Net以HRNet为骨干,可以获取细粒度的取证线索,学习不同区域之间的相关性。此外,HRNet特征映射大小非常适合跟踪JPEG伪影。由于DCT应用于8 × 8块,因此DCT流可以预测的最小分辨率为8 × 8,是输入大小的1 / 8(如图5中黄色特征图所示)。该分辨率可以通过与RGB流中的第二个分辨率连接起来很容易。此外,HRNet使用stride-2卷积对特征图进行下采样,而不使用池化层。最近的研究表明,对于需要微妙信号的任务,池化是不可取的,因为池化强化了内容并抑制了类噪声信号(Boroumand等人,2018)。虽然这种行为对于计算机视觉任务来说是理想的,但对于取证任务来说是不合适的,因为类噪声的低级特征是一个重要的线索。
3.6 Processing Non-JPEG Images
尽管JPEG是用于存储图像数据的最广泛使用的格式之一,但通常还使用许多其他格式。非jpeg图像可能不包含DCT流所需的DCT系数或量化表。CAT-Net允许这些图像(假设它们是未压缩的,例如PNG)作为其输入。在这种情况下,CAT-Net通过将DCT应用于RGB像素值来计算DCT系数,并假设量化表中充满了DCT。这种简单的方法可以通过在没有色度子采样的情况下以JPEG质量100对图像进行初始压缩来实现。因此,CAT-Net也可以处理非jpeg图像。
具有未压缩图像格式的伪造图像并不意味着原始图像是未压缩的。它只意味着最终的伪造图像被保存而不进行压缩。因此,在图像采集过程中可能存在压缩伪影,因此分析DCT系数可能是有利的。然而,由于使用DCT系数和量化表,DCT流不适合分析具有其他压缩格式(例如HEIC)的图像中的取证线索。在这种情况下,CAT-Net必须依赖RGB流。
4 Double JPEG Detection
双JPEG检测是一种二元分类任务,用于确定给定的JPEG图像是经过一次JPEG压缩还是两次JPEG压缩。这项任务需要能够分析图像中的压缩伪影。因此,对CAT-Net的子网络DCT流进行预训练,以捕获丰富的压缩伪影。本任务的主要目的是更有效地初始化图像处理检测网络。末端附加分类头,将分割网络转换为分类网络(图7)。
4.1 Datasets
我们使用Park等人(2018)提供的105.4万张单压缩和双压缩JPEG图像。他们使用1120个不同的量化表压缩原始图像(Gloe和B¨ohme, 2010;Bas等人,2011;Dang-Nguyen等人,2015),其中包括51个标准表(Q50-Q100)和从以其公共法医web服务中请求的图像获得的额外自定义表。因此,他们的数据集紧密地代表了现实世界的压缩参数。我们使用了21000张图像进行测试,其余的用于训练。
4.2 Evaluation Metrics
由于这是一个二元分类任务,因此测量准确率(Acc)、真阳性率(TPR)和真阴性率(TNR)。我们把双重压缩的图像看作是正面的。
4.3 Results
表2显示了双重JPEG检测结果。第一行展示了四种以RGB像素作为输入的方法。两种通用的计算机视觉网络ResNet (He et al ., 2016)和HRNet (Wang et al ., 2020)根本无法学习压缩伪影。ManTra-Net (Wu et al, 2019)特征提取器部分(图像处理跟踪特征提取器)也不能学习,正如研究人员所报告的那样(图3)。SRNet (Boroumand等人,2018)是一个隐写分析网络,旨在跟踪微小信号,但它也不能学习。RGB域不适合检测JPEG双压缩。下一行揭示了两个通用网络不能学习压缩伪影,支持我们之前的说法,即当原始DCT系数直接提供给cnn时,cnn不能学习压缩伪影。
第三行和最后一行分别是使用DCT直方图和DCT体积的方法。结果显示,DCT直方图确实是表示DCT分布的合适特征系数。DCT体积也是一个非常有效的压缩伪影的直观表示。没有量化表的DCT的流(DCT流 w/o QT)不同于正常的DCT流,其中去除了图4中的量化表路径和级联。无QT的DCT流(52.6M)比HRNet (75.4M)的参数少30%,但精度更高。所提出的DCT流在所有方法中取得了最高的性能。结果还表明,向网络中添加量化表可以提高分析压缩伪影的能力。完整的结果证实DCT流设计得很好,可以捕获JPEG压缩伪影。
4.4 Implementation Details
表2的第三行来自数据集提供者Park等人(2018)。我们做了所有其他的实验。我们使用Nesterov动量(0.9)和权重衰减(10−4)随机梯度下降优化器。学习率从0.05开始,每10次以0.1的倍数下降。我们训练到30个epoch,并报告表现最好的epoch的测试结果。
5 Image Manipulation Detection
本节演示图像处理检测和定位的实验。在使用ImageNet分类和双JPEG检测初始化CAT-Net后,它以监督的方式使用真实和篡改的图像开始端到端训练。首先,我们描述了用于训练和测试的数据集。然后介绍了详细的训练方法、基线方法和定位评价指标。然后我们给出了定量和定性的定位结果。最后介绍了消融研究、压缩质量的影响以及附加压缩的鲁棒性测试。
5.1 Datasets
表3总结了实验中使用的数据集。我们收集了9个公开的数据集。CASIA v2 (Dong et al ., 2013)是一个流行的复制-移动和拼接伪造数据集,从多个来源收集图像。我们使用第三方用户提供的mask(Pham et al, 2019),因为GT没有正式提供。Fantastic Reality(Kniaz等人,2019)包括许多不同场景的拼接图像以及GT。虽然真实图像有多种(153)量化表,但篡改图像只有一个量化表。IMD2020 (Novozamsky等人,2020)包括现实生活中的操纵图像和手动创建的GT。这个数据集包含了最多样化的量化表,因为图像是从互联网上收集的,因此反映了现实世界的压缩方案。NC16 SP (Guan et al ., 2019)是美国国家标准与技术研究院(NIST)提供的NC16的一个子集。NC16包含高分辨率和具有挑战性的操纵图像。虽然有几种伪造类型,但我们只使用拼接伪造。Carvalho (De Carvalho et al, 2013) DSO-1包含人物图像。伪造图像通过将一张图像中的一个或多个个体添加到另一张图像中,并进行后期处理来增加照片真实感。当放大时,块伪影很明显,这表明虽然图像最终没有保存为JPEG格式,但源图像是JPEG压缩的,留下了压缩伪影。Columbia (Ng et al ., 2004)是一个用于操纵检测的历史数据集。通过计算真实图像和伪造图像之间的差异,然后进行后处理,获得GT。该数据集中的图像没有在相机中压缩,因此它们没有留下压缩伪影。GRIP (Cozzolino等人,2015)包含逼真的复制-移动伪造图像。在该数据集中,GT不仅包含篡改对象区域,还包含源对象区域。因此,我们手动删除源对象区域,使掩码与其他数据集中的掩码一致。CoMoFoD (Tralic等人,2013)包含精心设计的复制-移动伪造,使伪造检测具有挑战性。原始图像以未压缩格式获得。伪造的图像经过大量的后处理,包括JPEG压缩、添加噪声、图像模糊、亮度变化、颜色降低和对比度调整,以隐藏篡改痕迹。在此数据集上还进行了源目标区域的手动掩码去除。COVERAGE (Wen等人,2016)包含复制-移动图像,旨在对抗基于相似性的复制-移动伪造检测器。故意将相似但真实的物体包括在内,给这些探测器带来了许多误报。
我们区分训练数据集和测试数据集来测量对现实世界数据进行泛化的能力,即没有将相同的数据集分成训练和测试部分。我们使用六个最小的数据集进行测试,剩下的三个数据集用于训练。这三个数据集包含有限数量的图像和种类有限的量化表,不足以代表真实世界的图像分布和压缩伪影。因此,我们创建了五个自定义数据集和使用它们进行训练(图8)。SP COCO使用COCO 2017数据集(Lin等,2014)来创建。类似于Wu et al(2018)和Zhou et al .(2018),拼接图像在一个图像中选择一个或多个任意对象并将它们粘贴到另一张图像的随机位置,随机旋转和调整大小。然后对这些图像进行压缩。在本段中,压缩是指在随机质量因子60-100范围内的JPEG压缩。我们没有应用额外的后处理,比如模糊拼接的边界,因为这可能会误导网络充当模糊检测器。CM COCO的构造类似,但复制的对象来自同一图像。CM RAISE使用RAISE (Dang-Nguyen et al ., 2015)作为图像源,COCO作为对象掩模构建。首先,对RAISE图像进行压缩。然后利用COCO的不相关随机多边形标注选择任意区域;然后将该区域粘贴到同一图像中,最后对整个图像进行压缩。当选择背景区域并复制粘贴时,此过程通常会产生类似删除的伪造。CM- jpeg RAISE通过简单地对CM RAISE进行额外的压缩来构建。这种方法模拟了通过SNS发送伪造图像的场景,引发了更多的压缩。JPEG RAISE是一个真实的数据集,通过简单地压缩RAISE创建。
5.2 Implementation Details
我们通过对ImageNet (Krizhevsky et al ., 2012)的RGB流分类和DCT流的双JPEG分类(第4节)进行预训练来初始化CAT-Net权重。该网络使用真实和篡改的图像数据进行端到端训练。我们在每个数据集中对平衡数量的图像进行采样,以构建一个epoch,并有效地管理各种数据集大小。因此,每个epoch并不包括所有的训练图像,而只是其中的一个子集。训练图像被裁剪成与8×8网格对齐的512 × 512块(章节3.3)。使用全分辨率图像进行测试,这是可能的,因为所提出的网络是完全卷积的。该网络是在PyTorch (Paszke等人,2019)中使用动量为0.9的随机梯度下降优化器实现的。批量大小为22。我们训练了200次。学习率从0.005开始,最后呈指数衰减至0。我们的目标是最小化像素级二进制交叉熵损失,在篡改类上增加五倍的权重。实验使用两张NVIDIA TITAN RTX显卡进行。
我们将我们的模型性能与其他十种方法进行了比较。7种传统方法的代码来自MKLab (Zampoglou等人,2017):DBA (Ye等人,2007)、NOI1 (Mahdian和Saic, 2009)、ADQ (Lin等人,2009)、NADQ (Bianchi和Piva, 2012)、CFA (Ferrara等人,2012)、NOI2 (Lyu等人,2014)和CAGI (Iakovidou等人,2018)。我们将[0,255]范围内的输出映射转换为[0,1]范围内的概率映射。三个深度神经网络的代码和训练好的权重从官方公共存储库中获得:EXIFSC (Huh等人,2018)、ManTra-Net (Wu等人,2019)和Noiseprint (Cozzolino和Verdoliva, 2019)。对于EXIF-SC,使用mean-shift进行输出聚合。由于GPU内存限制(24GB), ManTra-Net无法推断一些全分辨率的超大NC16 SP图像。我们将这268张图像及其对应的GT裁剪到2560×1440 (QHD)以测试ManTra-Net。
5.3 Evaluation Metrics
我们的任务是二值分割,将输入图像中的每个像素标记为篡改(正,1)或真实(负,0)。因此,每个输出像素可以标记为真正(G:1, P:1),真负(G:0, P:0),假正(G:0, P:1)或假负(G:1, P:0),其中G是GT,P是预测输出。G和P是与输入图像大小相同的二维二进制数组。
我们使用准确性(Acc)、F1分数和平均精度(AP)来评估网络性能。其精度定义为:
然而,取证中的准确性问题是,在GT中,负(真实)像素比正(篡改)像素要多得多。因此,输出所有像素为负产生高精度。F1分数用于强调正类-它是精度和召回率的调和平均值:
准确性和F1分数仅衡量具有固定阈值的二元决策图。虽然固定阈值确实是必要的,但我们也使用平均精度来衡量不受阈值影响的性能。平均精度是准确度-召回率曲线下的面积,它衡量所有阈值之间的平均性能。
对于伪造定位任务,有时两个分段中的哪一个被篡改是不明确的。因此,基于Huh等人(2018),我们也使用排列指标进行评估,定义为:
其中C否定(翻转)预测。排列度量衡量模型区分真实区域和篡改区域的能力,而不是它识别哪个是哪个的能力。一些研究使用排列指标,而没有明确指定“p-”(Cozzolino和Verdoliva, 2019),或者根据GT(Wu等人,2019)或预测(Huh等人,2018)使用类似的翻转策略。此外,一些论文对每张图像使用不同的阈值并报告最佳值,从而导致更高的值(Cozzolino和Verdoliva, 2019;Huh et al, 2018)。作者声称使用可变阈值来衡量性能,而不需要阈值选择能力。但是,由于该性能是通过AP测量的,因此我们选择使用固定阈值(0.5)来衡量准确性和F1分数,以严格衡量检测性能。每个度量根据每个图像计算的,并在一个数据集上取平均值。
5.4 Results
表4给出了11种方法的性能比较:7种传统方法,3种最先进的深度神经网络和我们的CAT-Net。结果描述了六个独立的数据集:三个拼接数据集和三个复制移动数据集。在训练期间,所有的测试数据集都是完全不可见的,即不是测试分割,以衡量真实世界伪造的一般性能。我们还报告了每个数据集中真实图像的准确性(如果提供的话),以观察未篡改图像的假阳性率。图9展示了六种性能最高的方法的一些预测输出。
在11种方法中,CAT-Net在p-F1和p-AP方面对6个伪造数据集中的5个实现了最高的定位性能。特别是,GRIP的CAT-Net结果令人惊讶(表4)。CAT-Net实现了76.45%的p-F1和91.87%的pAP,而第二好的方法是10.98%的p-F1 (Noiseprint)和15.12%的p-AP (CAGI)。与CATNet不同的是,其他10种方法无法定位伪造,而CATNet的表现明显优于这些方法。尽管GRIP创建者尽量不留下任何伪造痕迹,但获取级压缩伪影仍然存在,并且这些伪影被我们的检测器检测到。然而,CAT-Net在CoMo FoD (14.01% p-F1, 21.46% p-AP)中不能很好地检测伪造,而ManTraNet (19.28% p-F1, 22.06% p-AP)则优于CAT-Net。该结果是由于没有初始压缩造成的,这表明DCT流找不到痕迹。相比之下,虽然Columbia也不包含初始压缩痕迹,但由于RGB流,CAT-Net实现了出色的性能。CAT-Net获得93.97%的p-F1和95.87%的p-AP,而第二高的EXIF-SC方法获得78.05%的p-F1和94.50%的p-AP。他们的方法适用于Columbia,因为该数据集被声明为未压缩的,因此EXIF元数据不会受到损害。
真实图像的排列准确性表明DBA对未篡改图像的误报率最低。然而,由于该方法在很多情况下对篡改图像的定位性能较低,我们得出结论,该方法预测篡改区域的频率相对较低。CAT-Net在真实图像和篡改图像方面都取得了很高的分数,这意味着它可以用于图像完整性验证。CAT-Net在图像处理检测和定位方面达到了最先进的性能。
5.5 Ablation Studies
表5和图10给出了消融研究结果。使用相同的训练设置分别训练两个子流,以观察每个流的贡献。在某些情况下,DCT流优于RGB流,而在其他情况下,则相反——这取决于压缩伪影的存在。如果存在压缩伪影,DCT流的性能优于RGB流,反之亦然,如果DCT流不能跟踪有意义的压缩跟踪。对于没有初始压缩的数据集,由于DCT流产生无用的特征,有时会降低联合性能,从而对整个网络产生负面影响。尽管如此,完整的CAT-Net在使用两种流的情况下表现出最高的整体性能。
表5的最后一行说明了双JPEG预训练的作用。CAT-Net w/o D.P表示对于DCT流,CAT-Net从随机初始化开始训练,而不是来自预训练的使用双重JPEG检测的权重。对于具有压缩痕迹的数据集,在双JPEG检测的预训练上显著提高了定位性能。例如,GRIP中,CAT-Net w/o D.P达到24.60%的p-F1,43.43% 的p-AP。从双JPEG初始化开始,性能提高到76.45%的p-F1,91.87%的p-AP。此外,图11显示了双JPEG预训练的训练速度更快。这些结果很可能是由于双JPEG预训练中使用的各种量化表(1120种类型)。对于不同的量化表,获取伪造图像和GT对是一个挑战。相比之下,由于我们可以获得原始图像并对其进行一次或两次压缩,因此很容易获得具有不同量化表的单压缩和双压缩图像。因此,我们建议在未来的研究中使用双JPEG预训练。
然而,当在没有有用压缩痕迹的数据集上进行测试时,预训练后的整体性能会下降。例如,Columbia的CAT-Net w/o p的p-F1和p-AP分别为95.15%和98.21%,而从双JPEG预训练开始,p-F1和p-AP分别为93.97%和95.87%。当我们使用预训练时,DCT流在训练过程中产生更准确的预测,使整个网络更多地关注DCT流而不是RGB流。在评估没有压缩痕迹的图像时,此流会更频繁地尝试使用不可用的压缩痕迹,从而降低性能。因此,我们得出结论,使用双JPEG检测预训练DCT流可以在压缩伪影保留的情况下对伪造定位任务进行丰富的初始化。
5.6 Effect of Compression Quality
本小节分析了第一次和第二次压缩质量的影响。我们创建了类似于图1(b)的伪造图像,但具有不同的JPEG压缩质量。回想一下,伪造的图像包含复制的对象(樱花树)和拼接的对象(标志)。首先使用JPEG质量Q1对真实图像(图1(a))进行压缩,然后使用JPEG质量70对另一真实图像(符号)进行压缩。然后应用复制移动和拼接操作,然后使用JPEG质量Q2进行第二次压缩。
图12描述了具有不同压缩质量的CAT-Net定位结果。Q1越小,Q2越大,定位性能越高。从左上角到右下角的对角线图像说明了当Q1 = Q2时的特殊情况。在这些情况下,CAT-Net检测到复制移动对象的机会较低,因为相同的量化产生的压缩伪影要少得多。相比之下,即使在第一次和第二次压缩中使用相同的量化(Q2 = 70),也能准确地检测到拼接后的物体。这主要是因为拼接的对象来自不同的图像,不像复制移动的对象。RGB流检测到该对象与其他区域具有不同的采集伪影,因此CAT-Net可以将该标记定位为篡改。此外,对于低二次压缩质量(Q2≤60)的图像,这两个目标都很难被检测到,因为强最终压缩严重破坏了法医线索。
5.7 Robustness Tests on Additional Compression
图13展示了再次对图像进行JPEG压缩时的定位性能。额外的JPEG压缩通常发生在经过处理的图像通过互联网传输时,比如在社交媒体上发布或通过信使发送。这些服务通常使用JPEG压缩来减少存储空间或带宽。因此,检测器应该通过额外的JPEG压缩来保持其性能。
在p-F1得分方面,CAT-Net在24个设置中的16个达到最高性能,在p-AP得分方面,在24个设置中的23个达到最高性能。因此,与其他神经网络方法相比,CAT-Net对各种质量因素的额外JPEG压缩具有鲁棒性,并且适合检测真实世界的伪造。
6 Conclusion
我们提出了一种使用图像压缩伪影来检测和定位图像操作的新方法。本研究首次将DCT系数直接输入到分割网络中,这是由于DCT体积表示和特殊选择的神经网络组件。我们还介绍了一种新的使用双JPEG检测的预训练方法。我们的神经网络方法是第一个使用RGB和DCT域信息进行伪造定位的方法。提出的CAT-Net明显优于最先进的伪造探测器。本研究是在基于深度学习的图像取证中使用压缩伪影的起点。我们希望未来的许多研究将以这个想法为基础。