当前位置: 首页 > news >正文

基于解压缩模块的JPEG同步重压缩检测论文学习

一、论文基本信息:

论文题目:基于解压缩模块的JPEG同步重压缩检测

作者:王金伟1 ,胡冰涛1 ,张家伟1 ,马 宾2 ,罗向阳3

(1.南京信息工程大学计算机学院、网络空间安全学院,江苏南京 210044;2.齐鲁工业大学山东省计算机网络重点实验室,山东济 南 250353;3.数学工程与高级计算国家重点实验室,河南郑州 450001)

来源刊物:电子学报

时间:2023年4月第四期

二、论文背景

        JPEG(Joint Photographic Experts Group)作为一种广泛应用的图像压缩标准,因其高效性与普适性而受到广泛的关注。然而,连续对同一图像进行多次JPEG压缩可能会导致可检测的重压缩痕迹,在数字图像取证等敏感领域具有重要的实际意义,可以判断图像是否被篡改。

        传统的方法过于依赖于人工提取的截断和舍入误差,无法实现端到端,这种方式存在一定的信息损失的风险,会导致JPEG图像的特征不能被充分挖掘,可能会对后续的图像分析和取证造成一定的困扰。在此背景下,本文章提出了一种基于解压缩模块的JPEG同步重压缩检测方法,通过卷积操作模拟JPEG的解压缩过程,利用卷积网络的自动优化去寻找解压缩过程的最优解,同时解除对JPEG同步重压缩问题的性能限制,充分挖掘出JPEG图像的特征,提高对同步重压缩问题的检测性能。

三、论文研究方法

基于解压缩模块的JPEG同步重压缩检测模型如下图所示:

a81f67986bb1453e97a24fd4ded83d50.png

解压缩模块:利用IDCT变换矩阵实现 IDCT

        本文利用矩阵乘法实现了IDCT,将反量化后得到的每个8*8图像块拉伸成长度为64的一维列向量,从而得到一个64*256大小的新矩阵。新矩阵左乘一个IDCT变换矩阵,实现对原图的IDCT变换。变换过程如图1所示。

 73a6848cdcd1445892d6cef84c4d688d.png

图 1 利用IDCT变换矩阵实现IDCT的方式

特征提取模块:

        文章的特征提取模块设计为双流的结构,分为亮度通道和色度通道两种,对亮度和色度先进行提取,然后将提取到的特征信息进行聚合。如下图所示:

27c714ceb76847b7968c48f41e4ba6d8.png

 

        亮度通道流由一个BN层,四个卷积层和一个池化层组成。其中,BN层进行数据归一化操作,防止过拟合。池化窗口的大小为2*2,步长为2*2。卷积层的卷积核大小为3*3,并且卷积核数量依次递增,分别为16,32,64,128。

        色度通道较亮度通道,BN层和池化层的设计相同而卷积层少一层。卷积层的卷积核大小为5*5,卷积核个数也依次增加,分别为16,32,64,128。这样的结构设计是因为压缩过程对色度信息损失严重,使用多的卷积层可能会导致特征冗余,但使用太少的卷积层有可能会导致不能提取到有效信息,使精度下降。

统计层

        选择传统的均值和方差作为分类依据,通过将提取到的特征转换为统计特征,引导模型关注图像像素值的变化,从而更好地提取重压缩特征。

消融实验验证了解压缩模块和统计层的有效性。

        通过实验,探究解压缩模块的影响。分别测试包含解压缩模块和去除解压缩模块的方法在JPEG重压缩检测问题上的性能,对比两个测试的结果,与去除解压缩模块的模型相比,含有解压缩模块的检测模型整体精度平均提升了3.01%。最终证明出解压缩模块能有效提取出特征,减少信息损失。

        通过实验,探究统计层的影响。分别测试包含统计层的模型和去除统计层模型的方法在 JPEG 重压缩检测问题上的性能,对比测试结果,得出包含统计层的检测模型相比去除统计层的模型,整体精度平均提升了1.53%。同时也验证了统计特征中的均值和方差在JPEG重压缩检测问题中具有重要作用。

对比实验

        在多个数据集上,与其他两种最新的基于深度学习的 JPEG 同步重压缩检测方法进行的对比实验显示,所提出的方法在大多数实验组中表现出优势。这充分说明了本文章提出的基于解压缩模块的JPEG重压缩检测方法在解决JPEG同步重压缩问题上的有效性。

四、论文研究结果

  1. 完成解压缩模块的设计与实现,利用卷积操作模拟JPEG的解压缩过程,并通过对比实验得出该方法较两种。
  2. 提出一个端到端的基于解压缩模块的JPEG同步重压缩检测模型,并通过实验验证压缩模块和统计层的有效性。
  3. 贡献了一个数据集。现有的JPEG公开的数据库时间都比较长远,实验团队自行拍摄、收集、制作了新的数据集Nuist-v1,方便验证实验的有效性。

五、总结与展望

         通过学习这篇论文,我学到在JPEG解压缩的过程中会产生截断和舍入误差,特征过于依赖于此,造成只能通过人工的方法在预处理阶段提取特征,这同时也导致无法实现端到端。并且现有的解压缩是根据经验设计的,模型的精度方面还有很大的进步空间。而本文章提出的基于解压缩模块的JPEG重压缩检测方法可以利用卷积操作模拟JPEG的解压缩过程,成功实现端到端,省去了预处理步骤,并且利用深度学习自动调整参数,找到最优解问题,减少因为人工操作而造成的信息损失。该方法不仅在实验中表现出色,而且为数字图像取证和图像完整性验证等领域提供了一种更为有效的解决方案。其次,本文章的实验方法中还使用了卷积操作,利用深度学习的特性进行研究,这也启示我,深度学习可以涉及的领域很广泛,它的优势也是非常鲜明的,未来也要加深这方面的学习。同时,我也注意到对比实验中在质量因子为60和70时性能略有下降的情况,可能是因为空域特征的提升有限,还在一定程度上造成了一定的冗余,这可能需要进一步的改进,才能得到更好的结果。

 

相关文章:

基于解压缩模块的JPEG同步重压缩检测论文学习

一、论文基本信息: 论文题目:基于解压缩模块的JPEG同步重压缩检测 作者:王金伟1 ,胡冰涛1 ,张家伟1 ,马 宾2 ,罗向阳3 (1.南京信息工程大学计算机学院、网络空间安全学院&#xf…...

音视频入门基础:FLV专题(7)——Tag header简介

一、引言 从《音视频入门基础:FLV专题(3)——FLV header简介》中可以知道, 在FLV header之后,FLV文件剩下的部分应由PreviousTagSize和Tag组成。FLV文件 FLV header PreviousTagSize0 Tag1 PreviousTagSize1 Ta…...

【Linux 报错】“make: ‘xxxx‘ is up to date.” 解决办法

一、报错原因 我们使用 make 命令,想要将 text.c 文件编译形成 可执行文件 text 时,报错如下 make: test is up to date. 中文含义:test 文件已经达到最新状态 意思是: test.c 文件里面的 所有源代码都没有修改过,你…...

【FPGA开发】Xilinx FPGA差分输入时钟的使用方法

正文 以前在使用ZYNQ的领航者ZYNQ7020进行FPGA学习时,它们使用的单端50M的输入时钟,在verlog代码编写上比较简单,而现在使用Alinx的AXU3EG开发板时,发现它使用的是200M的差分输入时钟,哪这个时候,输入时钟要…...

面试扩展知识点

1.C语言中分为下面几个存储区 栈(stack): 由编译器自动分配释放堆(heap): 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收全局区(静态区): 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域&#…...

【经验分享】MyCAT 中间件

学习了一下数据量过大的解决方案,使用 MyCAT 中间件。 MyCAT 可以解决分布式事务、读写分离、主从、分片等一系列MySQL集群和分布式问题。 整体过程可以概括为拦截 - 分发 - 响应 例如设置 MyCAT 分片规则为每500万条数据就换一个数据库存储。 分库分表的中心思想都是将数据…...

Kotlin:1.8.0 的新特性

一、概述 Kotlin 1.8.0版本英语官方文档 Kotlin 1.8.0 中文官方文档 The Kotlin 1.8.0 release is out and here are some of its biggest highlights: Kotlin 1.8.0发布了,下面是它的一些亮点: JVM 平台新增实验性函数:递归复制或删除目录内容改进了 …...

深度学习之开发环境(CUDA、Conda、Pytorch)准备(4)

目录 1.CUDA 介绍 1.1 CUDA 的基本概念 1.2 CUDA 的工作原理 1.3 CUDA 的应用领域 2. 安装CUDA 2.1 查看GPU版本 2.2 升级驱动(可选) 2.3 查看CUDA版本驱动对应的支持的CUDA ToolKit工具包 2.4 下载Toolkit 2.5 安装(省略&#xff0…...

10月2日笔记(内网资源探测篇)

内网资源探测 在内网渗透中,测试人员往往需要通过各种内网扫描技术来探测内网资源的情况,为后续的横向渗透做准备,通常需要发现内网存活的主机,并探测主机的操作系统、主机开放了哪些端口、端口上运行了哪些服务、服务的当前版本…...

SpringCloud-基于Docker和Docker-Compose的项目部署

一、初始化环境 1. 卸载旧版本 首先,卸载可能已存在的旧版本 Docker。如果您不确定是否安装过,可以直接执行以下命令: sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logro…...

Linux下的基本指令/命令(一)

目录 基本命令 1. Is命令/指令: 罗列当前目录下指定的文件或者目录. 2. pwd命令: 查看当前工作的路径 3. cd命令: 切换到指定路径下。 只能切换到目录中 4. tree命令: 树状显式目录 使用前要输入命令 yum install -y tree ,用来安装一个…...

从零开始Ubuntu24.04上Docker构建自动化部署(四)Docker安装gitlab

你会发现所有gitlab都无法拉取到的情况下,经查找极狐下的gitlab还可以下载,具体如下: 建议保存地址: https://packages.gitlab.cn/#browse/searchkeyword%3Dgitlab 最新版本: sudo docker pull registry.gitlab.cn…...

No module named ‘_ssl‘

目录 背景具体报错检验升级过程步骤一:升级ssl。步骤二:重新编译安装python 背景 换了台服务器按照之前centos升级python版本升级python正常编译安装成功,但是当使用时又出现了奇怪的报错,估计是机器太老了 具体报错 这个报错也…...

Linux —— Socket编程(三)

一、本章重点 1. tcp服务器实现思路,进一步了解和总结相关的接口 2. 了解日志和守护进程 二、tcp服务器核心思路 tcp版的服务器与udp的不同在于,udp是面向数据报传输数据,在数据传输中不需要建立与客户端的链接,直接用recvfrom…...

5G N2 N3 N6 NB口

在5G架构中,N2、N3和N6是三种关键的接口,每个接口都有其特定的功能和应用场景。 N2接口: N2接口是5G无线接入网(RAN)与5G核心网(5GC)之间的控制面接口。它主要负责传递控制平面消息&#xff0c…...

【数据结构】堆(Heap)详解

在深入了解堆这一重要的数据结构之前,不妨先回顾一下我之前的作品 ——“二叉树详解”。 上篇文章👉剖析二叉树(Binary Tree) 二叉树作为一种基础的数据结构,为我们理解堆以及其他更复杂的数据结构奠定了坚实的基础。它…...

《Linux从小白到高手》理论篇(四):Linux用户和组相关的命令

List item 本篇介绍Linux用户和组相关的命令,看完本文,有关Linux用户和组相关的常用命令你就掌握了99%了。Linux用户和组相关的命令可以分为以下六类: 一.用户和用户组相关查询操作命令: Id id命令用于显示用户的身份标识。常见…...

OpenGL ES 之EGL(6)

OpenGL ES 之EGL(6) 简述 EGL是OpenGL ES的封装,目的是跨设备跨平台,隔离不同平台对窗口不同的实现。上一节我们基本没有使用到EGL,因为GLSurfaceView帮助我们处理了相关的逻辑,我们这一节来看一下EGL的一些概念以及接口的使用。…...

kotlin 委托

一、类委托 interface DB{fun insert() } class SqliteDB : DB {override fun insert() {println(" SqliteDB insert")} }class MySql : DB{override fun insert() {println(" MySql insert")} }class OracleDB : DB{override fun insert() {println(&quo…...

Stream流的中间方法

一.Stream流的中间方法 注意1:中间方法,返回新的Stream流,原来的Stream流只能使用一次,建议使用链式编程 注意2:修改Stream流中的数据,不会影响原来集合或者数组中的数据 二.filter filter的主要用法是…...

【车载开发系列】ParaSoft单元测试环境配置(四)

【车载开发系列】ParaSoft单元测试环境配置(四) 【车载开发系列】ParaSoft单元测试环境配置(四) 【车载开发系列】ParaSoft单元测试环境配置(四)一. 如何设置过滤二. 如何设置静态扫描的规则三. 如何设置单…...

IDEA 设置自动定位文件

一、场景分析 IDEA 在使用的过程中,发现有时候,打开一个类,它并不能自动帮我们在左侧 Project 树中定位出文件,需要自己手动点击 瞄准 图标。很不方便。 二、解决方法 1、点击 瞄准 图标旁边的 竖三点 2、将 Alwasy Select Opene…...

Nature Machine Intelligence 基于强化学习的扑翼无人机机翼应变飞行控制

尽管无人机技术发展迅速,但复制生物飞行的动态控制和风力感应能力,仍然遥不可及。生物学研究表明,昆虫翅膀上有机械感受器,即钟形感受器campaniform sensilla,探测飞行敏捷性至关重要的复杂气动载荷。 近日&#xff0…...

[Web安全 网络安全]-XXE 外部实体注入攻击XML

文章目录: 一:前言 1.定义 1.1 XXE 1.2 XML可扩展标记语言 2.DDT文档类型定义 2.1 分类 2.2 元素element DTD元素 DTD属性 2.3 实体entity DTD实体类别 DTD实体声明引用 声明:内部 外部 参数实体 公共实体 引用:…...

8--苍穹外卖-SpringBoot项目中套餐管理 详解(二)

目录 删除套餐 需求分析和设计 代码开发 根据id查询套餐 mapper层 Service层 ServiceImpl层 Mapper层 批量删除套餐 mapper层 Service层 ServiceImpl层 Mapper层 SetmealMapper.xml 修改套餐 需求分析和设计 代码开发 起售停售套餐 需求分析和设计 代码开发…...

测试面试题:pytest断言时,数据是符点类型,如何断言?

在使用 Pytest 进行断言时,如果数据是浮点类型,可以使用以下方法进行断言: 一、使用pytest.approx pytest.approx可以用来比较两个浮点数是否近似相等。例如: import pytestdef test_float_assertion():result 3.14159expecte…...

Python与MongoDB交互

一、基本概念 MongoDB: 一个面向文档的数据库系统,使用BSON(Binary JSON)作为存储格式。集合(Collection): 类似于关系型数据库中的表,是文档的集合。文档(Document): MongoDB中的基…...

安卓AI虚拟女友项目开发的Android开发环境搭建

第五章:Android开发环境搭建与基础入门 5-1 项目讲解思路说明 本文是安卓AI数字虚拟人项目实战的第五章,开发安卓AI安卓版数字虚拟人的Android基础部分。 在本章中,我们将详细介绍如何搭建Android开发环境,包括Android Studio的…...

基于SpringBoot+Vue+MySQL的智能垃圾分类系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着城市化进程的加速,垃圾问题日益凸显,不仅对环境造成污染,也给城市管理带来了巨大挑战。传统的垃圾分类方式不仅费时费力,而且手工操作容易出现错误,导致垃圾分类效…...

你的个人文件管理助手:AI驱动的本地文件整理工具

🌐 引言 在数字化时代,我们经常面临文件管理的挑战。电脑中的文件杂乱无章,寻找特定文件变得既费时又费力。幸运的是,现在有了一款名为本地文件整理器的神器,它利用AI技术帮助你快速、智能地整理文件,同时…...

动画设计实训报告/seo刷关键词排名优化

定义和用法 <audio> 标签定义声音&#xff0c;比如音乐或其他音频流。 实例 一段简单的 HTML 5 音频&#xff1a; <audio src"someaudio.wav"> 您的浏览器不支持 audio 标签。 </audio> 提示和注释 提示&#xff1a;可以在开始标签和结束标签之间放…...

专门做化妆品的网站/优化工作流程

2.1 问题 如图配置IPv6地址和OSPFv3区域 查看OSPFv3邻居和数据库LSA 确保 R1 和 R3 可以互相访问2.2 方案 搭建实验环境&#xff0c;如图-2所示。 图-2 2.3 步骤 实现此案例需要按照如下步骤进行。 1&#xff09;配置R1 地址&#xff0c;并启用 OSPFv3 <Huawei>und…...

sketch做网站/网络优化工程师工作内容

2019独角兽企业重金招聘Python工程师标准>>> 前言~ 今天莫名的接到一个任务&#xff0c;需要使用oracle定时任务和oracle存储过程来每日创建一个日志表&#xff0c;由于小编呢尚未接触过存储过程和定时任务&#xff0c;所以今天学习了一番&#xff0c;特定来总结一下…...

大学 英文网站建设/湖南关键词优化快速

在页面上显示SWF是要等到目标完全被加载完才会渲染出来。当加载的SWF文件比较大时&#xff0c;页面会处于空白状态&#xff0c;用户体验不好。较好的做法是做一个文件大小较小的loading动画来加载目标SWF&#xff0c;但对于单独的项目来说并不是最好的做法&#xff0c;因为这样…...

怎么看一个网站有没有做百度推广/营销网站建设培训学校

在Vue单页应用中&#xff0c;如果在某一个具体路由的具体页面下点击刷新&#xff0c;那么刷新后&#xff0c;页面的状态信息可能就会丢失掉。这时候应该怎么处理呢&#xff1f;如果你也有这个疑惑&#xff0c;这篇文章或许能够帮助到你一、问题现在产品上有个需求&#xff1a;单…...

wordpress模板免费下载/百度助手手机下载

SAS中format和informat是用来控制输入和输出的数据类型的。 其中format表示设置输入数据格式&#xff1b; informat设置输出数据格式...