njPlanck/PRNU---Effects-of-Compression-on-Source-Camera-Identification

GitHub: njPlanck/PRNU---Effects-of-Compression-on-Source-Camera-Identification

研究不同图像压缩标准对基于 PRNU 光响应非均匀性的源相机识别精度的影响,并验证 Sigma 滤波器在高压缩场景下的鲁棒性优势。

Stars: 0 | Forks: 0

# 压缩对基于 PRNU(光响应非均匀性)的相机识别的影响 本项目研究了光响应非均匀性(Photo Response Non-Uniformity, PRNU)在源相机识别中的应用,特别关注了图像压缩带来的挑战。通过分析各种压缩格式和比特率,我们评估了在不同的降噪滤波器(特别是 Sigma 和 Gaussian 滤波器)下,图像退化如何影响源归因。 首先,PRNU 模式被定义为相机传感器在图像采集过程中引入的固定模式噪声。这些几乎不可见的伪影充当了独特的“相机指纹”,使得特定的图像或视频能够被追溯到其源设备。换言之,如果使用两台不同的相机/传感器拍摄照片/视频,它们都会留下仅归因于源相机的独特噪声。 ## 动机 到目前为止,现有文献认为图像压缩是对基于 PRNU 的归因的一种重大攻击。然而,本研究探讨了这种退化是否在所有提取滤波器中都是一致的,以及压缩攻击到底有多大影响。我们旨在确定这些“指纹”的丢失是否是压缩的必然结果,或者残留物的保留是否取决于用于提取场景信息的特定压缩方案和滤波方法。通过这项工作,我们希望进一步突出基于 PRNU 的识别方法在源相机识别中的持续相关性和可靠性,特别是在应用了适当场景信息移除的情况下。 随着技术的日益普及,这变得尤为必要。每天在人员、网络和设备之间共享和传输的多媒体数据量都在迅速增加。一旦图像/视频被共享或传输,就很难识别出它们是在哪个源设备上拍摄的。这是多媒体取证中的一个重大问题,因为经常需要检查数据篡改和其他滥用行为(如非法图像/视频的泄露)。特别是当这些多媒体数据在捕获、上传和/或从一个设备/网络传输到另一个设备时,通常会经历各种形式和级别的压缩。 ## 构建相机指纹或残留物 为了构建相机指纹或残留物,首先需要从该相机拍摄的图像中提取 PRNU 模式。这通过使用选定的滤波器对单张图像进行滤波处理来完成。然后将滤波后的图像从其原始图像中减去。其基本假设是,相机传感器在捕获的场景图像上留下了独特的、不相关的噪声模式。因此,通过滤波,我们将这些噪声模式从实际场景信息中隔离或提取出来。这样,来自同一相机传感器的大量图像噪声模式的加权平均值将近似于该相机独有的相机指纹或参考模式。 ### 数学公式 噪声残留物的提取和相机参考模式的生成定义如下: $$ F_i = I_i - W(I_i) $$ $$ R = \frac{1}{n} \sum_{i=1}^{n} F_i $$ **其中:** * **$I_i$**:训练集中的第 $i$ 张原始图像。 * **$W(\cdot)$**:降噪算子(Sigma 或 Gaussian 滤波器)。 * **$F_i$**:图像 $i$ 提取的噪声残留物(指纹)。 * **$R$**:计算得出的相机参考模式(平均 PRNU)。 ## 滤波器的选择 本项目选择了 Sigma 和 Gaussian 滤波器。这些滤波器是数字滤波器两大分类中极具代表性的先进示例。Sigma 滤波器具有非常好的边缘保持特性,而另一方面,Gaussian 滤波器则具有很强的自然模糊能力,能够抑制高频信息,使其成为非边缘保持滤波器类的最佳代表之一。 高斯和 sigma 滤波器的指纹提取高斯和 sigma 滤波器的指纹提取 ## 数据概述 本项目使用的图像来自 Jianfeng Lu、Caijin Li、Xiangye Huang、Chen Cui 和 Mahmoud Emam 为其 2024 年论文使用的数据集:"Source Camera Identification Algorithm Based On Multi-Scale Feature Fusion". 然而,为了避免双重压缩,在进行 JPEG、JP2、JXR 和 JXL 压缩时,仅考虑了 PNG 格式的图像。这些选定图像在压缩前的平均大小约为 20MB。各种方案下的压缩目标大小分别为 3MB、500KB 和 100KB,以提供统一的 7:1、40:1 和 200:1 压缩率。 总共从 5 台不同的相机中抽取了 80 张图像,分别标记为 D36、D37、D38、D39、D40。在训练阶段,使用了 60 张图像来构建参考 PRNU 模式。这被分为 5 个类别(每台相机设备 12 张)。剩下的 20 张图像用于与参考模式进行相关性计算。它们也被分为 5 个类别(每台相机设备 4 张)。 ## 识别源相机 为了识别图像的源相机,我们只需计算提取自图像的 PRNU 模式与上述计算的选定相机的参考模式之间的相关性,以进行匹配。具有最高相关性值的相机即为源匹配结果。但为了在我们的案例中优化速度,我们使用了快速归一化相关性来将提取的 PRNU 与选定相机的计算参考模式进行匹配。 ## 分析与结果 ### 各种压缩级别下的 JPEG 压缩结果。 Fingerprint extraction from gaussian and sigma filters ### 压缩前、在 3MB 和 100KB 压缩级别下 JPEG 和 JXL 的相关性分数及混淆矩阵。 高斯和 sigma 滤波器的指纹提取 高斯和 sigma 滤波器的指纹提取 ### 匹配准确度结果下表比较了 Sigma 与 Gaussian 滤波器在不同压缩级别下的识别准确度。 | 压缩方案 | 压缩前 | 3MB(轻度) | 500KB(中度) | 100KB(重度) | | :--- | :---: | :---: | :---: | :---: | | | **Sigma / Gaussian** | **Sigma / Gaussian** | **Sigma / Gaussian** | **Sigma / Gaussian** | | **JPEG** | 100% / 100% | 100% / 100% | 100% / 95% | 100% / 65% | | **JP2000 (JP2)** | 100% / 100% | 100% / 95% | 100% / 20% | 100% / 55% | | **JXR** | 100% / 100% | 100% / 100% | 100% / 95% | 100% / 35% | | **JXL** | 100% / 100% | 100% / 90% | 100% / 50% | 100% / 35% | ### 不同标准和压缩比下 Sigma 滤波器与 Gaussian 滤波器的相关性值 sigma 的相关性值 gaussian 的相关性值 ### 质量指标 Correlation values for sigma ### 结果分析 Sigma 滤波器的鲁棒性: * 从结果可以看出,使用 Sigma 滤波器进行源识别的匹配准确度在不同压缩比和方案下保持稳定。事实上,在较高的压缩比下,我们开始看到用于匹配正确相机的相关性数值有所增加。这与理论一致,因为压缩往往会移除场景信息。但相关性数值的增加也表明,随着场景被压缩逐渐移除,剩下的部分变得更接近残留物或传感器噪声。 * 人们已经确定,像 JPEG 这样的压缩算法利用冗余来进行数据缩减。从上面附带的 JPEG 压缩样本中,我们可以注意到,在图像被过度压缩时,块状伪影开始出现在图像的低频、均匀区域,而高频的边缘结构仍然得以保留。因此,压缩过程中对高频的抑制可能并不是 SCI 系统在压缩攻击下失效的全部原因。这是因为 Sigma 滤波器从本质上捕捉的是非线性高频噪声。而压缩带来的纯粹低通效应本应降低而不是提高其鲁棒性,正如我们所看到的那样。 Gaussian 滤波器的局限性: * 虽然 Gaussian 滤波器在轻度压缩(3MB)下取得了良好的源识别效果,但在更强的压缩下其准确度急剧下降。这与压缩图像质量的下降一致。在某些情况下(例如,100KB 的 JP2 或 JXL),准确度降至 50% 以下。即使相关性数值在强压缩下有轻微改善,情况也是如此,这表明虽然压缩后剩下的内容更接近参考模式,但这并不一定会提高匹配准确度。 * 相反,准确度的下降可以归因于 Gaussian 滤波的平滑强度。该滤波器允许大量场景信息在过程中污染 PRNU 模式。随着压缩过程中场景信息被更多地移除并被压缩伪影取代(正如我们在压缩图像中看到的那样),滤波器开始从场景中捕获更多这些伪影。这解释了为什么准确度没有随着相关性的轻微增加而提高。在这种情况下,相关性是建立在压缩伪影之上的,而不是 PRNU 模式。 压缩图像的质量指标: * 除了取证性能外,我们还计算了不同的质量指标(用于参考质量指标的 PSNR 和 SSIM,以及用于无参考质量指标的 BRISQUE),以更好地理解视觉保真度与相机指纹保留之间的关系。我们观察到,随着图像逐渐退化,Gaussian 滤波器的分类准确度有所降低,而 Sigma 滤波器的结果保持稳定。即使是在这三种指标和压缩级别中提供了最差质量结果的 JPEG 压缩也是如此。 ### 结论 我们的结果表明,虽然随着图像被过度压缩,相关性数值可能会有所增加,但 Sigma 滤波器的匹配准确度保持了稳定。这在 Gaussian 滤波器在高压缩级别下的表现并不相同。这引发了对基于 PRNU 模式的 SCI 中压缩攻击有效性的质疑。特别是,它们表明这种有效性更多取决于提取滤波器的选择,而不是压缩强度或编码方案。 ### 如何运行 #### 1. 克隆仓库 git clone https://github.com/njPlanck/PRNU---Effects-of-Compression-on-Source-Camera-Identification.git cd PRNU---Effects-of-Compression-on-Source-Camera-Identification #### 2. 创建环境 python -m venv venv source venv/bin/activate # 或在 Windows 上使用 .\venv\Scripts\activate #### 3. 安装依赖 pip install -r requirements.txt #### 4. 运行压缩脚本提取 python src_code/compression.py #### 5. 运行 PRNU 提取 python src_code/prnu.py --input data/train #### 6. 运行评估 python src_code/analysis.py #### 预期结构 ``` project_root/ ├── data/ │ ├── train/ │ └── test/ ├── src_code/ └── README.md ``` ## 参考文献 1. M. S. Behare, A. S. Bhalchandra, and R. Kumar, "Source Camera Identification using Photo Response Noise Uniformity," in Proc. 3rd Int. Conf. on Electronics Communication and Aerospace Technology (ICECA), Coimbatore, India, Jun. 2019. 2. J. Lu, C. Li, X. Huang, C. Cui, and M. Emam, "Source camera identification algorithm based on multi-scale feature fusion," Forensic Science International: Digital Investigation, published online Aug. 15, 2024. 3. I. Amerini, R. Caldelli, A. Del Mastio, A. Di Fuccia, C. Molinari, and A. P. Rizzo, "Dealing with video source identification in social networks," Signal Processing: Image Communication, vol. 56, pp. 23–31, Apr. 2017. 4. S. Chakraborty, "Effect of JPEG compression on Sensor-based Image Forensics," 2021 4th International Conference on Information and Computer Technologies (ICICT), HI, USA, 2021, pp. 104-109, doi: 10.1109/ICICT52872.2021.00025. keywords: {Location awareness;Q-factor;Image forensics;Image coding;Correlation;Digital images;Transform coding;Digital Image Forensics;Photo Response Non-Uniformity;sensor noise;camera identification;manipulation localization},
标签:JPEG, JPEG 2000, JPEG XL, JXR, PRNU, Sigma滤波器, 传感器噪声, 信号处理, 信息溯源, 光响应非均匀性, 反溯源, 取证鲁棒性, 固定模式噪声, 图像分析, 图像压缩, 图像取证, 图像指纹, 图像质量退化, 图像降噪, 多媒体取证, 数字取证, 机器视觉, 比特率, 源相机识别, 相机指纹, 自动化脚本, 逆向工具, 高斯滤波器