👺论文解读:Detecting and Grounding Multi-Modal Media Manipulation
2023-7-26
| 2023-9-18
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
password
category
Property
Sep 18, 2023 02:13 AM
icon
notion image
梳理模式:
针对哪个领域或者方向的什么问题,目前有哪些挑战,有什么解决方案和方法,创新点是什么,能达到什么效果,还有什么待改进和值得研究的方面。这样逻辑比较清晰点。
另外注意所查找文章的出处。建议按照参考文献的格式,注明文章来源。
论文的问题背景、
对应的数学问题,
采用的模型,
实验数据和结果介绍清楚
一整套流程是怎么来做的写清楚
数据的形式,以及数据的输入
模型中数据与数学公式的联系
模型的详细理解包括什么类型、输出是什么等,以及最后模型的评估指标以及评估方法。 1、用自己的话说说这篇论文干了什么? 2、论文笔记 数据准备 模型理解 训练策略与评估 实验结果 3、创新点 4、想法
 

零. ChatPaper的总结(来自chatwithpaper.org)

Basic Information:

  • Title: Detecting and Grounding Multi-Modal Media Manipulation (多模态媒体伪造的检测与定位)
  • Authors: Rui Shao, Tianxing Wu, Ziwei Liu
  • Affiliation: Rui Shao - School of Computer Science and Technology, Harbin Institute of Technology (Shenzhen)
  • Keywords: Multi-Modal Media Manipulation, DeepFake Detection, Text Fake News Detection, Misinformation Detection

论文简要 :

  • 本研究提出了一个新的多模态媒体伪造检测与定位的问题,旨在同时检测图像和文本模态中的伪造,并定位伪造的内容(图像边界框和文本标记)。为此,研究人员构建了第一个大规模的多模态媒体伪造数据集,并提出了一种名为HAMMER(HierArchical Multimodal Manipulation rEasoning tRansformer)的模型,通过多模态编码器之间的对比学习和多模态聚合器的交叉注意力机制,实现了对伪造的细粒度检测和定位。实验结果表明,该模型在多模态媒体操纵检测与定位任务上具有优越性能。

背景信息:

  • 论文背景: 随着深度生成模型的进步,虚假的媒体内容在网络上广泛传播,包括视觉和文本形式的虚假信息。虚假媒体对社会造成了严重影响,因此需要开发有效的方法来检测和定位这些虚假内容。
  • 过去方案: 过去的方法主要针对单模态的操纵进行二分类的检测,如深度伪造图像的检测和文本虚假新闻的检测。然而,这些方法无法处理多模态媒体伪造的检测与定位问题。
  • 论文的Motivation: 鉴于现有方法无法满足多模态媒体伪造的检测与定位需求,本研究提出了一个新的研究问题,旨在同时检测图像和文本模态中的伪造,并定位伪造的内容。为了解决这一问题,研究人员构建了一个大规模的数据集,并提出了一种新的模型HAMMER,通过对比学习和交叉注意力机制实现了对多模态媒体伪造的细粒度检测和定位。这项研究的目标是提供更全面和深入的解决方案,以应对日益严重的虚假媒体问题。
notion image

方法:

  • a. 理论背景:
    • 本文介绍了一个名为Detecting and Grounding Multi-Modal Media Manipulation (DGM4)的新的研究问题。DGM4的目标是检测和定位人类中心新闻中图像-文本对的操纵。为了支持这个研究问题,作者构建了第一个大规模的DGM4数据集。该数据集包含了通过各种方法进行伪造的图像-文本对,包括人脸交换、人脸属性操纵、文本交换和文本属性操纵。数据集提供了丰富的注释,用于检测和定位各种伪造,包括二进制标签、细粒度操纵类型、伪造图像边界框和伪造文本标记。
  • b. 技术路线:
    • 为了解决DGM4问题,作者提出了一种新颖的HierArchical Multi-modal Manipulation rEasoning tRansformer (HAMMER)方法。HAMMER通过两个单模态编码器之间的操纵感知对比学习来对齐图像和文本嵌入,作为浅层操纵推理。它还通过多模态聚合器的模态感知交叉注意力来聚合多模态嵌入,作为深层操纵推理。基于交互的多模态嵌入,分层地集成了专门的操纵检测和定位头部,用于检测二进制类别、细粒度操纵类型以及定位操纵图像边界框和文本标记。

结果:

  • a. 详细的实验设置:
    • 作者还建立了一个全面的基准来评估HAMMER的性能。该基准包括严格的评估协议和指标。进行了大量的定量和定性实验,以证明HAMMER在检测和定位多模态媒体操纵方面的优越性。
  • b. 详细的实验结果:
    • LPAA(Local Positional Attention Alignment)的有效性与使用[CLS]标记进行操纵边界框定位的效果进行了比较。结果显示,LPAA在所有指标上优于[CLS]标记,证明了其有效性。根据多标签分类器的输出,绘制了每种操纵类型的分类性能。发现文本操纵检测比图像模态更困难,其中TA(Text Addition)是最困难的情况。提供了伪造检测和定位的可视化结果,显示了准确的伪造边界框定位和正确的伪造类型检测。使用Grad-CAM可视化了注意力图,证明模型能够捕捉图像和文本之间的语义不一致,以解决DGM4(检测和定位多模态伪造)问题。
 

一. 论文简介

摘要

本文提出了多模态媒体操作检测和定位问题,并介绍了一种用于检测多模态假媒体的新型数据集。文中提出了一种新的HierArchical Multi-modal Manipulation rEasoning tRansformer(HAMMER)模型,它通过两个单模态编码器之间的操作感知对比学习来对齐图像和文本嵌入,并通过多模态聚合器的模态感知交叉注意力来汇总多模态嵌入来执行深度操作推理。文中还通过广泛的实验和基准测试对所提出的模型进行了深入分析,证明了HAMMER的优越性。通过推理图像和文本之间的语义对齐,可以发现操纵痕迹并提供多模态操作检测和定位的线索。技术上,HAMMER充分利用两种模态的语义相关性,并使用操作感知对比学习来强调由操作引起的语义不一致性,同时使用多模态聚合器来汇总深层信息以进行操纵分析和推理。

数据集介绍:

提出了DGM 4 ,一个用于研究机器生成的多模态媒体操作的大规模数据集。考虑到其巨大的公众影响力,该数据集特别关注以人为中心的新闻。基于 VisualNews 数据集开发数据集,共形成 230k 个新闻样本,包括 77,426 个原始图像文本对和 152,574 个操纵对。操纵的对包含:
  • 56,411 Face Attribute Manipulations (FA) (based on HFGI and StyleCLIP)
  • 18,588 Text Attribute Manipulations (TA) (based on B-GST)
其中 1/3 的处理图像和 1/2 的处理文本组合在一起形成 32,693 个混合操作对。
notion image
notion image
数据集中的每个图像-文本样本都提供了丰富的注释。例如,具有混合操作类型 (FA + TA) 的虚假媒体示例的注释在 json 文件中可能如下所示:
其中 id 是 VisualNews 存储库中的原始 news-id,image是操纵图像的相对路径,text是操纵文本的标题,fake_cls指示操作类型,fake_image_box是操纵的 bbox,fake_text_pos是 text 字符串中操纵token的索引(在本例中, 对应于“celebrate”、“event”和“won”), mtcnn_boxes 是 MTCNN 人脸检测器返回的 bbox。请注意,在训练和推理中都没有使用 mtcnn_boxes ,只是保留了这个注释以备将来使用。

二. 复现指南

参照github主页的README即可,每句话都很重要
MultiModal-DeepFake
rshaojimmyUpdated Feb 27, 2024

环境准备

数据准备

下载数据集时若一下子下完非常慢,可尝试分开下载。
文件组织参照github的readme即可,注意文件需要按照作者给出的架构组织,下载的ALBEF_4M.pth放在指定位置:
由于实验室存放数据集一般都会有指定的文件夹,不直接放在用户目录下,故datasets可以不用跟code同级,我的数据集放在如下位置:
notion image

代码修改

由于换了数据集路径,需要改一下代码中各个用到的路径;实验室服务器是2张 3090,与作者的环境不太一样,故需要修改GPU数量,指定使用的GPU
configs修改:
  • configs/test.yaml中修改数据集路径:
  • configs/train.yaml中修改数据集路径:
dataset修改:
  • 修改dataset.py中的根目录
训练和测试文件修改:
  • train.py中指定GPU:os.environ['CUDA_VISIBLE_DEVICES']='0,1’
  • train.sh中修改NUM_GPU=2
  • test.sh中修改NUM_GPU=1
 

结果

notion image
每次运行都会有一个日志文件存储在results文件夹下,results_all.txt文件内容如下:
notion image
对比作者给出的结果图,可以发现还是有一点差距

三、代码解读

train.py中:

setlogger 函数:

  • 该函数设置了一个带有两个处理器:FileHandler 和 StreamHandler 的日志记录器。日志记录器被设置为 INFO 级别。此函数还向日志记录器实例添加了一个名为 epochInfo 的方法,该方法在训练机器学习模型期间记录一个周期的信息。epochInfo 方法记录了集合(训练或测试)、周期索引、损失和准确性。

text_input_adjust 函数:

  1. 移除 input_ids 中的最后一个元素(可能是特殊的分隔符 SEP),并对其进行填充,使所有 input_ids 的长度都等于最长的 input_ids 的长度。
  1. 对 attention_mask 做了和 input_ids 相同的处理。
  1. 对 fake_word_pos 进行处理,将其转换为 fake_token_pos。这个过程中,首先找到 fake_word_pos 中为 1 的位置,然后根据这些位置找到对应的子词位置,最后将这些子词位置添加到 fake_token_pos 中。
 

训练函数train:

  1. 设置模型为训练模式。
  1. 创建一个 MetricLogger 对象,用于记录学习率和各种损失的值。
  1. 对数据加载器中的每个批次进行迭代,对每个批次的数据进行以下处理:
      • 调整学习率(如果使用的是余弦退火调度器)。
      • 将图像数据移动到指定的设备。
      • 使用分词器对文本数据进行处理,并调整处理后的数据。
      • 计算各种损失。
      • 计算总损失,进行反向传播,并更新模型的参数。
      • 更新 MetricLogger 中的值。
      • 如果在预热阶段,每隔一定步数就调整学习率(如果没有使用余弦退火调度器)。
      • 如果启用了日志记录,将学习率和各种损失的值写入 TensorBoard。
  1. 在所有进程之间同步 MetricLogger 的状态。
  1. 如果启用了日志记录,打印平均统计信息。
 

评估函数evaluation :

  1. 设置模型为评估模式。
  1. 创建一个 MetricLogger 对象,用于记录各种指标的值。
  1. 对数据加载器中的每个批次进行迭代,对每个批次的数据进行以下处理:
      • 将图像数据移动到指定的设备。
      • 使用分词器对文本数据进行处理,并调整处理后的数据。
      • 使用模型进行预测,并计算各种指标的值。
  1. 计算各种指标的平均值。
 

main_worker 函数:

这段代码定义了一个名为 main_worker 的函数,该函数用于训练和评估一个名为 HAMMER 的模型。以下是该函数的主要步骤:
  1. 初始化分布式环境。
  1. 创建日志目录和日志文件,然后将配置信息保存到 YAML 文件中。
  1. 创建一个 SummaryWriter 对象,用于将数据写入 TensorBoard。
  1. 设置设备(CPU 或 GPU)和随机种子,以确保结果的可重复性。
  1. 创建训练和验证数据集和数据加载器。
  1. 创建模型、优化器和学习率调度器。
  1. 如果提供了检查点文件,那么从检查点文件中加载模型、优化器和学习率调度器的状态。
  1. 如果使用了分布式训练,那么将模型包装在 DistributedDataParallel 中。
  1. 进行训练和评估,然后将结果写入日志文件和 TensorBoard。
  1. 如果当前的评估结果优于之前的最佳结果,那么保存当前的模型状态。
  1. 在每个训练周期结束后,更新学习率。
  1. 在所有训练周期结束后,保存最后的模型状态,并记录总的训练时间。
 
 
  • AI
  • DeepLearning
  • ML
  • Datawhale AI 夏令营 NLP赛事实践—基于论文摘要的文本分类与关键词抽取挑战赛Datawhale AI 夏令营 CV 赛事实践(一)基于logistic回归的脑PET图像分析和疾病预测-baseline
    Loading...
    目录