一、图像数据增强库综述
10个强大图像增强工具对比与分析
在深度学习和计算机视觉领域,数据增强已成为提高模型性能和泛化能力的关键技术。本文旨在全面介绍当前广泛使用的图像数据增强库,分析其特点和适用场景,以辅助研究人员和开发者选择最适合其需求的工具。
数据增强的重要性
数据增强在深度学习模型训练中扮演着至关重要的角色,其重要性主要体现在以下几个方面:
- 增加数据多样性:通过对现有数据集进行变换,可以创造出更多样化的训练样本,使模型能够学习到更广泛的特征表示。
- 提高模型泛化能力:接触到更多样的数据变体,模型能够更好地应对实际应用中可能遇到的各种情况,从而提高其在未见数据上的表现。
- 缓解过拟合:增强后的数据集相当于增加了训练样本的数量,有助于减少模型对特定训练数据的过度拟合。
- 平衡数据集:对于类别不平衡的数据集,可以通过对少数类进行更多的增强来平衡各类别的样本数量。
- 模拟真实世界的变化:某些增强技术(如添加噪声、改变亮度等)可以模拟实际应用中可能遇到的各种情况,提高模型的鲁棒性。
在某些情况下,数据增强甚至可以成为训练流程中不可或缺的一部分。例如,在自监督学习方法中,如DinoV2视觉基础模型,数据增强被用作生成不同视角的正样本对,这是模型学习视觉表示的关键。
本文将详细介绍10个强大的图像数据增强库。这些库在不同的深度学习框架中被广泛使用,各具特色和优势。我们将逐一分析它们的功能、特点和适用场景,以帮助读者更好地理解和选择适合自己需求的工具。
1、Albumentations
Albumentations是一个高效的图像增强库,专为计算机视觉任务设计。它的主要特点包括:
- 高性能:经过优化的实现,保证了快速的图像处理速度。
- 丰富的转换选项:提供了大量的图像变换方法,包括几何变换、像素级操作和高级技术如弹性变换。
- 灵活性:支持自定义增强流程,可以根据具体需求组合不同的转换。
- 广泛的兼容性:可以与PyTorch、TensorFlow、Keras等主流深度学习框架无缝集成。
- 多任务支持:适用于图像分类、语义分割、目标检测等多种计算机视觉任务。
Albumentations的这些特性使其成为研究和生产环境中的理想选择。它能够有效地增加数据集的多样性,同时保持高效的处理速度,这对于大规模数据集的处理尤为重要。
这个库我是极力推荐的,因为它非常方便,并且对于目标检测的目标框和分割掩码也可以同时进行增强处理。
2. Imgaug
Imgaug是另一个功能强大的图像增强库,特别适合用于研究环境。它的主要特点如下:
- 多样化的转换:提供了广泛的图像变换方法,包括几何变换、颜色空间变换、天气效果模拟等。
- 多类型标签支持:不仅支持图像增强,还能同时处理关键点(landmarks)、边界框和热图等多种类型的标注数据。
- 随机化和确定性:支持随机增强和可重现的确定性增强,便于实验对比和调试。
- 可视化工具:提供了便捷的可视化功能,有助于直观理解增强效果。
Imgaug的这些特性使其特别适合多任务学习和辅助学习场景,在这些场景中需要同时处理图像和多种类型的标注数据。它的灵活性使研究人员能够轻松尝试各种增强策略,从而找到最适合特定问题的方法。
3、Augmentor
Augmentor是一个设计用于提供基于管道的数据增强方法的库。其主要特点包括:
- 管道式处理:允许用户创建一系列顺序的增强操作,形成一个完整的处理管道。
- 磁盘操作:能够直接在磁盘上生成增强后的图像,适合处理大型数据集。
- 简单API:提供了直观易用的接口,降低了使用门槛。
- 基础转换:支持常见的图像变换,如旋转、翻转、缩放等。
Augmentor的设计理念使其特别适合那些需要快速设置简单增强流程的用户。然而,相比于一些更高级的库,它在可用的增强种类上相对有限。
4、 Kornia
Kornia是一个专为PyTorch设计的计算机视觉库,其在数据增强方面有以下特点:
- GPU加速:直接与PyTorch张量集成,支持GPU加速的增强操作。
- 可微分操作:所有操作都是可微分的,可以作为模型的一部分参与反向传播。
- 广泛的功能:除了基本的图像增强,还包括几何变换、滤波器等高级计算机视觉操作。
- PyTorch原生:完全集成到PyTorch生态系统中,使用方便。
Kornia的这些特性使其在需要高性能和可微分增强操作的场景中特别有用,例如在对抗训练或需要端到端优化的任务中。
5、Torchvision Transforms
Torchvision Transforms是PyTorch官方提供的图像处理和增强模块,具有以下特点:
- PyTorch集成:作为PyTorch生态系统的一部分,与其他PyTorch组件无缝协作。
- 基础功能:提供了常见的图像增强操作,如随机裁剪、翻转、颜色抖动等。
- 易用性:API简单直观,易于在PyTorch项目中快速实现。
- 实时增强:支持在数据加载过程中动态应用增强。
尽管Torchvision Transforms的功能相对基础,但它的简单性和与PyTorch的紧密集成使其成为许多PyTorch用户的首选工具。随着版本更新,其功能也在不断扩展。
6、AugLy
AugLy是由Meta(原Facebook)开发的多模态数据增强库,其特点包括:
- 多模态支持:不仅支持图像,还包括音频、视频和文本的增强。
- 社交媒体模拟:提供了模拟社交媒体常见效果的独特转换,如添加表情符号、应用滤镜等。
- 可定制性:允许用户自定义增强操作和参数。
- 跨平台:支持多种编程语言和环境。
AugLy的这些特性使其特别适合于处理社交媒体数据或需要多模态数据增强的项目。它能够帮助模型更好地适应真实世界的数据变化。
7、OpenCV
OpenCV虽然不是专门的数据增强库,但作为一个综合性的计算机视觉库,它提供了丰富的图像处理功能:
- 全面的图像处理:支持广泛的图像处理操作,包括几何变换、滤波、色彩空间转换等。
- 高度可定制:允许用户精确控制每个操作的参数。
- 跨平台支持:可在多种操作系统和编程环境中使用。
- 高性能:C++核心保证了高效的处理速度。
OpenCV的优势在于其灵活性和强大的功能集。对于需要精细控制图像处理过程或有特殊增强需求的项目,OpenCV是一个理想的选择。然而,相比于专门的增强库,使用OpenCV构建高效的数据增强管道可能需要更多的编程工作。
8、Nvidia DALI (Data Loading Library)
Nvidia DALI是一个专为GPU加速设计的数据加载和增强库,其主要特点包括:
- GPU加速:能够在GPU上执行整个数据处理管道,大幅提高处理速度。
- 大规模数据处理:针对大型数据集和高性能计算环境进行了优化。
- 多模态支持:除图像外,还支持视频数据处理。
- 深度学习框架集成:与PyTorch、TensorFlow等主流框架无缝集成。
DALI的设计理念是最大化GPU利用率,显著减少数据加载和预处理时间。对于处理大规模数据集的高性能计算任务,DALI可以提供显著的性能提升。
9、Clodsa
Clodsa是一个开源的图像增强库,具有以下特点:
- 多任务支持:适用于图像分类、目标检测、语义分割和实例分割等多种计算机视觉任务。
- 多种数据格式:支持处理各种常见的图像和标注数据格式。
- 灵活的增强策略:允许用户自定义增强策略和操作。
- 批量处理:支持对整个文件夹的图像进行批量增强。
Clodsa的设计使其特别适合需要在不同计算机视觉任务间切换的项目。它的灵活性使研究人员和开发者能够轻松应对各种数据格式和增强需求。
10、DataAugmentation
DataAugmentation是一个轻量级的Python图像增强库,其特点包括:
- 简单易用:提供了直观的API,易于集成和使用。
- 基础功能:支持常见的图像增强操作,如旋转、翻转、亮度和对比度调整等。
- 轻量级:代码结构简单,适合快速原型开发和小型项目。
尽管DataAugmentation的功能相对基础,但它的简单性使其成为快速实验和小规模项目的理想选择。对于那些只需要基本增强操作的项目,DataAugmentation提供了一个无需复杂配置的解决方案。
总结
本文详细介绍了10个广泛使用的图像数据增强库,每个库都有其独特的优势和适用场景。从高性能的GPU加速解决方案如Nvidia DALI,到灵活多功能的Albumentations和Imgaug,再到专注于特定框架的Kornia和Torchvision Transforms,这些工具为不同需求的用户提供了丰富的选择。
选择合适的数据增强库对项目的成功至关重要。在选择时可以考虑以下因素:
- 性能需求:对于大规模数据集,可能需要考虑如Nvidia DALI这样的高性能解决方案。
- 任务类型:不同的计算机视觉任务可能需要不同的增强策略,如Clodsa这样支持多任务的库可能更适合。
- 框架兼容性:确保选择的库与你使用的深度学习框架兼容。
- 易用性vs灵活性:根据项目需求和团队经验,在简单易用(如DataAugmentation)和高度可定制(如OpenCV)之间做出权衡。
- 特殊需求:如AugLy适合处理社交媒体数据,Kornia适合需要可微分操作的场景。
数据增强作为提高模型性能的关键技术,选择合适的工具将为你的深度学习项目带来显著的效果提升。
二、行人重识别与人群计数数据集大盘点
推动智能监控研究的利器
行人重识别(Person re-identification)也称行人再识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。旨在弥补固定的摄像头的视觉局限,并可与行人检测/行人跟踪技术相结合,可广泛应用于智能视频监控、智能安保等领域。
本文将分享一些行人重识别、人群计数相关的开源数据集,希望能够帮助该领域的研究人员推进研究和应用。
行人重识别
DukeMTMC-reID
DukeMTMC-reID 是 DukeMTMC 数据集的一个子集,一个基于图片的行人重识别数据集。
DukeMTMC 数据集采集自杜克大学的 8 个摄像头,数据集以视频形式存储,具有手动标注的行人边界框。DukeMTMC-reID 数据集从 DukeMTMC 数据集的视频中,每 120 帧采集一张图像构成 DukeMTMC-reID 数据集,共 36,411 张图片。并提供了行人属性(性别/长短袖/是否背包等)的标注。
- 下载地址:https://github.com/sxzrt/DukeMTMC-reID_evaluation
- 论文地址:https://arxiv.org/abs/1701.07717
另外,DukeMTMC-attribute 数据集基于 DukeMTMC-reID 数据集,加入了行人属性(如性别gender/是否背包bag等23种属性),提升了 DukeMTMC 行人重识别的效果。
- 下载地址:https://github.com/vana77/DukeMTMC-attribute
SYSU-30k
SYSU-30k 是弱监督行人重识别数据集,包含 30,000 个行人身份类别,大约是 CUHK03 数据集(1,300 个行人身份)和 Market-1501 数据集(1,500)的 20 倍,是 ImageNet(1,000 个类别)的 30 倍。SYSU-30k 包含 29,606,918 张图像。
SYSU-30k 数据集的特点:
- 首个弱监督行人重识别数据集;
- 行人身份数量和图像数量都是同期行人重识别数据集中最大的;
- 更具挑战性,包括摄像机数量、真实的室内环境和室外场景和不精准的袋级别标注;
- 其测试集不仅适用弱监督行人重识别问题,也是一个评估真实场景中全监督行人重识别的标准平台。
- 下载地址:https://github.com/wanggrun/SYSU-30k
- 论文地址:https://arxiv.org/abs/1904.03845
PETA
PETA (PEdesTrian Attribute)是远距离行人识别数据集,包含了 8705 个行人,共 19000 张图像(分辨率跨度范围大,从 17x39 到 169x365 的大小都有)。每个行人标注了 61 个二值的和 4 个多类别的属性。
- 下载地址:https://mmlab.ie.cuhk.edu.hk/projects/PETA.html
Market-1501
Market-1501 数据集采集自清华大学校园的 6 个摄像头,一共标注了 1501 个行人。其中,751 个行人标注用于训练集,12936 张图片,750 个行人标注用于测试集,19732 张图片,共计 32668 张图片。
- 下载地址:http://www.liangzheng.com.cn/
- 论文地址:https://openaccess.thecvf.com/content_iccv_2015/papers/Zheng_Scalable_Person_Re-Identification_ICCV_2015_paper.pdf
另外,Market1501-attribute 数据集基于 Market-1501 数据集,加入了行人属性(如性别/是否背包等27种属性)。
- GitHub:https://github.com/vana77/Market-1501_Attribute
拥挤人群计数UCF-CC-50
UCF-CC-50 是拥挤人群计数数据集,包含 63075 人,由50 个不同分辨率的图像组成。每个图像中的个体数在 94 - 4543 之间,有些图像包含非常密集的人群,平均包含 1280 人(极度密集)。
该数据集还包含了音乐厅、示威集会、体育馆等多种多样的场景。
- 下载地址:https://www.crcv.ucf.edu/data/ucf-cc-50/
- 论文地址:https://www.crcv.ucf.edu/papers/cvpr2013/Counting_V3o.pdf
UCF-QNRF
UCF-QNRF 是同期最大的拥挤人群计数数据集(就标注数量而言),用于训练和评估人群计数和定位方法。包含 1535 张高清图像(分辨率高达2013x2902像素),分别分为 1201 张和 334 张图像的训练集和测试集。
与同类数据集相比,UCF-QNRF 包含多种场景、多个视角、多种光线及密度变化的大规模已标注人体,适用于训练深度卷积神经网络。此外它还包含了建筑、植被、天空和道路等世界各地的户外真实场景,对于研究不同地区人群密度具有重要意义。
- 下载地址:https://www.crcv.ucf.edu/data/ucf-qnrf/
- 论文地址:https://www.crcv.ucf.edu/papers/eccv2018/2324.pdf
auDiovISual Crowd cOunting (DISCO)
auDiovISual Crowd cOunting (DISCO) 是视听人群计数数据集,由 1935 张图像和相应的音频片段以及 170270 个标注实例组成,每张图像都有一秒钟的音频和一张密度图。
- 下载地址:https://zenodo.org/records/3828468
- 论文地址:https://arxiv.org/abs/2005.07097
三、CD-FSOD
跨域小样本物体检测CDFSOD benchmark及CD-ViTO方法
本文主要是针对目前大多数跨域小样本学习方法均集中于研究分类任务而忽略了目标检测,因而提出了研究跨域小样本物体检测任务,文章中提出了一个用于算法评测的CD-FSOD数据集及用于衡量领域差异的style、ICV、IB数据集指标,对现有目标检测算法进行了广泛实验评估,以及基于优化一个在经典FSOD上达到SOTA的开放域物体检测器得到的CD-ViTO新方法。
1
论文解读系列断更很久了,感觉自己还是挺喜欢文字的,这次先从介绍我们自己发表在ECCV24工作开始恢复一下~
主要信息
- 文章:https://arxiv.org/pdf/2402.03094
- 任务:跨域小样本物体检测(Cross-Domain Few-Shot Object Detection,简称CD-FSOD)
- 标题:Cross-Domain Few-Shot Object Detection via Enhanced Open-Set Object Detector
2 Motivation
首先介绍一个跨域小样本学习任务(Cross-Domain Few-Shot Learning,CD-FSL), CD-FSL解决的是源域与目标域存在领域差异情况下的小样本学习任务,即集合了小样本学习与跨域两个任务的难点问题:1)源域S与目标域T类别集合完全不同,且目标域T中的类别仅存在少量标注样本,例如1shot,5shot;2)S与T属于两个不同领域,例如从自然图像迁移到医疗图像。
大多数的现有方法均集中于研究分类问题,即Cross-Domain Few-Shot Classification, 但是同样很重要的物体检测任务(Object Detection,OD)却很少被研究,这促使了我们想要探究OD问题在跨域小样本的情况下是否也会遭遇挑战,以及是否会存在跟分类任务表现出不同的特性。
与CD-FSL是FSL在跨域下的分支类似,跨域小样本物体检测(Cross-Domain Few-Shot Object Detection,CD-FSOD)同样也可以堪称是FSOD在跨域下的分支任务,所以我们先从经典的FSOD开始分析:大多数的FSOD方法都可以被粗略地划分为1)meta-learning based,典型方法包括Meta-RCNN;2)finetuning based,例如TFA,FSCE,DeFRCN,然而近期一个名为DE-ViT的开放域方法通过基于DINOv2构建物体检测器同时在FSOD以及开放域物体检测(OVD)上都达到了SOTA的效果,性能明显高于其他的FSOD方法,因此这引发了我们思考:
1. 现有的FSOD方法,尤其是SOTA的DE-ViT open-set detector能不能在跨域的情况下仍表现优异?
2. 如果不能,什么是难点问题,以及我们是否有办法能够提升open-set detector的性能?
我们先用以下的图来揭示一下两个问题的答案:
1. 左图: 哪怕是SOTA的open-set detector DE-ViT (绿色星形) 在跨域泛化的情况下性能也会出现急剧下降;
2. 左图: 我们基于DE-ViT搭建的CD-ViTO方法 (橙色星形) 能够使原本性能下降的模型得以进一步提升。
3. 右图: 相比于in-domain的小样本物体检测,跨域小样本物体检测通常会面临三个问题:1)目标域T的类间距离(ICV)通常较少;2)目标域的图像可能会出现前景与背景边界模糊(Indifinable Boundary,IB);3)目标域T得图像相交于源域S而言视觉风格(style)发生变化。
ICV、IB、Style也成为了我们用于衡量不同数据集在跨域下的特性。
3 Contribution
首先总结一下我们在解答两个问题的过程中的主要工作及贡献:
3.1 benchmark, metrics, and extensive study:
为了回答问题1,即研究现有的物体检测器能不能泛化至跨域小样本物体检测任务中,
- 我们研究了CD-FSOD任务下的三个影响跨域的数据集特性:Style, ICV, IB;
- 我们提出了一个CD-FSOD算法评测数据集,该数据集包含多样的style,ICV,IB;
- 我们对现有物体检测器进行了广泛研究,揭示了 CD-FSOD 带来的挑战。
3.2 new CD-ViTO method:
为了回答问题2,即进一步提升基础DE-ViT在CD-FSOD下的性能,我们提出了一个新的CD-ViTO方法,该方法提出三个新的模块以解决跨域下的small ICV, indefinable boundary, 以及changing styles问题。
- Learnable Instance Features: 通过将初始固定的图像特征与目标类别之间进行对齐,通过增强特征可分辨程度来解决目标域ICV距离小的问题 。
- Instance Reweighting Module: 通过给不同的图像设置不同的权重,使得严具有轻微 IB 的高质量实例分配更高的重要性,从而缓解显著的 IB 问题;
- Domain Prompter: 通过合成虚拟领域而不改变语义内容来鼓励模型提升对不同style的鲁棒性。
4 CD-FSOD数据集 & Extensive Study
4.1 CD-FSOD数据集
如下图所示为我们构建的CD-FSOD数据集,该数据集以MS-COCO作为源域S,以ArTaxOr、Clipart1K,DIOR,DeepFish,NEU-DET,UODD作为六个不同的目标域T;
我们也分析并在图中标注了每个数据集的Style,ICV,IB特征,每个数据与数据之间也展现了不同的数据集特性。
所有的数据集都整理成了统一的格式,并提供1shot、5shot、10shot用于模型测评。
数据集更多的介绍,比如数据类别数,样本数等可以在论文中找到细节。
4.2 Extensive Study
我们对现有的四类目标检测器进行了实验,包括:
1)典型的FSOD方法: Meta-RCNN、TFA、FSCE、DeFRCN
2)现有的CD-FSOD方法: Distill-cdfsod
3)基于ViT的方法: ViTDeT-FT
4)开放域检测方法: Detic(-FT), DE-ViT(-FT) (其中DE-ViT是仅依靠视觉信息,Deti则依赖视觉-文本相似性)
其中“-FT”表示我们用目标域T的少量样本对方法进行了微调。
我们结合实验结果对这个任务以及相关方方法展开了详细的分析,主要有以下这几点结论:
1. 现有FSOD方法可以泛化到跨域问题吗?A:不能
2. 基于ViT的方法会比基于ResNet的方法好吗?A:看情况
3. 开放域方法能够直接用于应对CD-FSOD问题?A:不能
4. 开放域方法的性能可以进一步得到提升吗?A:可以
5. 不同的开放域方法是否呈现不同的特性?A:是的
6. Style,ICV,IB是如何影响domain gap的?A:在分类里影响巨大的style对于OD任务而言影响相对较少;ICV有较大影响但是可以被有效缓解;IB是这三者中最具挑战的。
(详细的分析就不在这里展开了,感兴趣的朋友可以去看看文章
5 CD-ViTO 方法 & 主要实验
我们方法的整体框架结构图如下所示:
整体来看,我们的方法是基于DE-ViT搭建的(图中蓝色块), 我们首先将DE-ViT方法简化为图中所示的几个模块主要包括Pretrained DINOv2 ViT, RPN,ROI Align, Instance Features, Dection Head,One-vs-Rest Classification Head。DE-ViT的核心想法是利用DINOv2提取出来的视觉特征对query image boxes与support images中所构建出来的类别prototypes进行比较,从来进行分类和定位。
基于DE-ViT方法,我们提出了三个新的模块(图中黄色块) 以及finetune(图中火苗) 以搭建我们的CD-ViTO。如contribution章节所描述,每个模块都各自对应解决CD-FSOD下存在的一个挑战。
5.1 Learnable Instance Features
原本的DE-ViT首先利用DINOv2获取instance features,然后简单对同类特征求和的方式得到support的class prototypes。然而在面对目标域类别之间可能很相似的情况,直接使用这种预训练的模型所提取出的特征会导致难以区分不同类别。
因此我们提出将原本固定的特征设置为可学习参数,并通过结合finetune方法将其显式地映射到目标域类别中,以此增加不同类之间的特征差异程度,缓解ICV问题。
我们对比了使用该模块前后的类间cosine相似性,结果说明我们的模块可以降低类间相似度,从而提升ICV。
5.2 Instance Reweighting Module
图像模糊边界的问题本身很难得到解决,这个模块的主要想法是通过学习可调整的权重给不同质量的样本赋不同的权重,使得严重IB的图像被抑制,没有或者轻微IB地图像被鼓励。
模块的设计如框架图右上所示,主要包含一个可学习的MLP。同样的,我们也对该模块做了可视化分析,我们按照所分配到的权重从高到低给图像排序,得到如下结果。从图中可见,前后景边缘模糊的图像得到的权重要低于边缘清晰的图像。快到whaoの开发板商城找测试设备
5.3 Domain Prompter
Domain Prompter的设计主要是希望方法能够对不同的domain鲁棒,如框架图右下所示,在原有object prototype的基础上,我们额外引入数量为维度为D(等于prototype维度)的虚拟domains变量作为可学习参数。通过学习和利用这些domains,我们希望最终达到:
1) 不同domain之间相互远离,增加多样性 (domain diversity loss)
2) 添加不同domain至同一类别prototype所生成得到的两个变种仍为正样本,添加不同domain至不同类别prototype生成得到的两个变种为负样本 (prototype consistency loss)
两个loss与finetuning所产生的loss叠加使用进行网络的整体训练。
Finetuning:
作为简单但有效的迁移学习方法,我们也采用了在目标域T上对模型进行微调的思路,文章附录部分有提供不同finetune策略的不同性能表现,我们主方法里采用的是仅微调两个头部。
5.4 主要实验
我们在1/5/10shot上与其他方法进行了对比实验,实验说明经过优化后的CD-ViTO方法在大多数情况下都优于其他的对比方法,达到了对基本DE-ViT的有效提升,构建了这个任务的新SOTA。
6
这篇文章里的所有数据集、代码、以及相关资源都已开源:
- code:https://github.com/lovelyqian/CDFSOD-benchmark
- project page:https://yuqianfu.com/CDFSOD-benchmark/
- 中文讲解视频:https://www.bilibili.com/video/BV11etbenET7
- 英文讲解视频:https://www.bilibili.com/video/BV17v4UetEdF
四、AM-RADIO = CLIP + DINOv2 + SAM
英伟达发布新一代视觉基础模型
本文介绍了英伟达发布的新一代视觉基础模型AM-RADIO,该模型通过多教师蒸馏的方式融合了CLIP、DINOv2和SAM等视觉基础模型的能力,以获得强大的表征能力,并在零样本分类和开集实例分割等任务上实现了SOTA性能。
论文:https://arxiv.org/pdf/2312.06709
源码:https://github.com/NVlabs/RADIO
导读
AM-RADIO是什么?一张图先来感受它的魅力:
简单来说,AM-RADIO 是一个由英伟达提出的一个视觉基础模型框架,其集成了多个预训练的视觉基础模型如 CLIP、DINOv2及SAM 的能力,以获得强大的表征能力,同时也以几乎可以忽略不计的额外成本实现了SOTA级别的零样本分类或开集实例分割性能。
如上图左边所示的PCA特征可视化结果,RADIO 模型可以处理任何分辨率和宽高比,并产生语义丰富的稠密编码;上图中间则展示了 RADIO 的框架图;右侧显示了在分类、分割和视觉语言建模任务上的基准测试。
背景
Visual Foundation Models,VFMs,即视觉基础模型是一个非常重要的概念,诸如 CLIP、DINOv2、SAM 这样的 VFMs 通过不同的目标进行训练,已逐渐成为许多下游任务的核心。
例如,CLIP 这样的预训练视觉语言模型在不同的下游视觉任务上展现了强大的零样本泛化性能。这些模型通常使用从网络收集的数百上千万图像-文本对进行训练,并提供具有泛化和迁移能力的表示。因此,只需通过简单的自然语言描述和提示,这些预训练的基础模型完全被应用到下游任务,例如使用精心设计的提示进行零样本分类。
除了此类大型视觉语言基础模型外,一些研究工作也致力于开发可以通过视觉输入提示的大型基础模型。例如,最近 meta 推出的 SAM 能够执行与类别无关的分割,给定图像和视觉提示(如框、点或蒙版),指定要在图像中分割的内容。这样的模型可以轻松适应特定的下游任务,如医学图像分割、视频对象分割、机器人技术和遥感等。
最后,像 DINOv2,这种用于在大型图像数据集上预训练图像编码器,以获得具有语义的视觉特征。这些特征可用于广泛的视觉任务,无需微调即可获得与有监督模型相当的性能。
本文发现,尽管它们在概念上存在差异,但这些模型可以通过多教师蒸馏有效地合并成一个统一模型,称为Agglomerative Model – Reduce All Domains Into One,AM-RADIO,即聚合模型,旨在将所有领域缩减为一个。
这种整合方法不仅超越了单个教师模型的性能,而且融合了它们的独特特征,如零样本视觉-语言理解、详细的像素级理解以及开放词汇分割能力。
此外,为了追求最硬件效率高的主干网络,本文在多教师蒸馏流程中评估了多种架构,使用相同的训练策略;最终得到的新框架其性能超过了此前的SOTA模型,并且至少比教师模型在相同分辨率下快6倍,同时也在各大视觉任务取得了非常不错的性能表现。
方法
如上所述,本文提出一个框架,旨在通过多教师蒸馏从零开始训练视觉基础模型。这种方法的核心思想是利用多个已经在不同领域或任务上表现优异的教师模型来共同训练一个新的模型,这个新模型将集成所有教师模型的独特属性。
在选择的教师模型方面,作者选定了 CLIP、DINOv2 和 SAM 这三个主流的视觉基础模型,因为它们在各自的领域(如图像-文本匹配任务上,自监督学习任务上,开集分割任务)上都展现出了SOTA性能。
在训练过程中,本文没有使用额外的标签信息,而是将ImageNet、LAION-400M和DataComp1B等数据集中的图像作为训练数据。这样的做法使得模型能够在没有明确标签指导的情况下学习到图像的丰富表征。
为了评估模型的性能,作者采用了一系列度量标准,涵盖了图像级推理、像素级视觉任务、大型视觉-语言模型以及SAM-COCO实例分割等多个方面。
AM-RADIO: 多教师统一蒸馏框架
Adaptor Heads
在这一步中,作者选择了简单的设计方案,使用了一个简单的2层多层感知机(MLP),中间夹杂着 LayerNorm 和 GELU 激活函数。Head 部分的输入维度是学生模型嵌入的维度,中间维度是所有教师模型中最大的嵌入维度,输出维度与特定教师模型相匹配。对于每个教师,作者使用了两个 head,一个用于提取整体特征向量,另一个则用于保留空间特征。
Distillation Dataset
本文研究了不同数据集对下游指标的影响。虽然使用ImageNet-1K作为训练数据集可以获得最高的图像分类指标,但作者认为这并不能公平地衡量“零样本”性能,因为学生在评估域中直接学习到了教师的特征。因此,最终选择了 DataComp-1B 数据集。
Loss Formulation
上面我们提到,这里训练的时候不使用原有的GT,因此是通过选择匹配来自每个教师视觉编码器的特征。特别是,AM-RADIO 区分了每个教师的 Summary 特征向量和 Spatial 特征向量。
需要注意的是,对于CLIP和DINOv2,这里 Summary 特征向量使用的是“类 token”;而对于SAM,则不匹配此部分特征。
实验发现,与 L1、MSE、Smooth-L1 相比,余弦距离损失能够产生更好的结果。此外,通过匹配教师的空间特征来监督模型的 spatial features 不仅对下游密集任务重要,而且提高了模型的总体质量。
为此,对于匹配空间特征,作者采用了余弦相似性和Smooth L1的组合。
实验细节
本文架构本质上没有创新,只是对现有能力的充分利用,因此实验的细节部分算是比较有价值的,下面简单的总结罗列下,感兴趣的可以看下原文。
训练设置:
- 使用AdamW优化器、1024的批量大小、余弦退火学习率计划和学习率基数为0.001。
- 训练600k步,共查看614M个样本。
- 最好的学生模型使用DFN CLIP ViT-H/14 378px、OpenAI CLIP ViT-L/14 336px、DINOv2 ViT-g/14 224px和SAM ViTDet-H 1024px作为教师。
- 对学生和教师的输入应用随机缩放+裁剪。
- 选择DataComp-1B数据集,因为它在作者可访问的网页规模数据集中质量最高。
- 分两个阶段训练:首先用CLIP+DINOv2在256px训练300k步,然后用CLIP+DINOv2在432px加上SAM在1024px训练300k步。
- 学生模型架构:
- 研究了两种学生模型架构设置:标准ViT架构以匹配教师架构,以及高效架构变体优先考虑GPU上的高吞吐量。
- 多尺度教师:
- 学生模型选择ViT-H/16架构。
- 为了匹配SAM特征的分辨率,学生模型输入预期分辨率为1024^2。
- 由于CLIP和DINOv2教师是patch-14模型,学生输入选择432^2,这是patch-14模型378^2分辨率的有效分辨率。
- 发现插值DINOv2特征不会降低结果,因此教师以224px运行,并上采样输出以匹配学生。
- 排名/教师分区:
- 按照批次大小和输入分辨率将教师模型分组,然后将这些组分配给不同的GPU,以便每个GPU处理一致的批次大小和输入分辨率。
- 对于包含SAM的训练设置,使用64个GPU,其中一半处理CLIP+DINOv2组,每个GPU的批次大小为32,输入分辨率为432,另一半处理SAM,每个GPU的批次大小为2,输入分辨率为1024,有效批次大小为1,152。对于CLIP+DINOv2训练,使用32个GPU,批次大小为1024。
- 多分辨率ViTs:
- 许多学生模型使用ViT作为基础视觉架构。
- 使用Cropped Position Embedding (CPE)增强,位置数等于128^2。
- 即使在224分辨率下训练CLIP+DINOv2,也发现这种技术对摘要指标的影响可以忽略不计,但提高了语义分割线性探测的mIOU。
- 高分辨率ViT学生模型:
- 在SAM中,使用ViTDet架构减少高分辨率下ViT模型的计算和内存负担。
- 将这种架构改写为训练增强,从中采样窗口大小。
- 发现高分辨率训练不稳定,因此应用谱重参数化和0.02的权重衰减以防止注意力熵崩溃。
- 学生/教师分辨率不匹配:
- 当学生和教师通过处理堆栈以不同速率下采样图像时,输出特征向量的分辨率会不同。
- 对于Lfeatures,使用双线性插值输出以匹配学生和教师特征之间的较大分辨率。
实验
如上图所示,E-RADIO是一个高效的RADIO架构,通过融合卷积块和Transformer,以及局部和全局注意力机制,实现了对密集型预测任务的高性能和快速推理,相比全ViT架构效率显著提高。
从表1的结果可以明显的看出基于 MetaCLIP 比 OpenCLIP 效果更好,DFN CLIP 则能取得最佳的零样本分类性能。DINOv2 则有助于语义分割这种任务。
此外,所设计的 ERADIO-L 模型比所有ViT模型都要快得多。同时,它在匹配吞吐量的情况下,在大多数指标上都明显优于 MetaCLIP,并且还实现了 DINOv2 和 SAM 中缺失的零样本能力。最终,完整模型 ViT-H/16 可以表现得与教师模型一样快,但在9项任务中有6项超过了它们,这足以证明所提出的蒸馏框架是高效的。
上图展示了 RADIO 在分辨率增加时的“模式切换”。在图表中,显示了来自RADIO的DINOv2头在不同分辨率下的特征之间的均方误差(MSE),以及DINOv2在518px分辨率下实际产生的特征。通过将RADIO特征进行双线性插值以匹配DINOv2特征的分辨率。在720px时,可以看出误差突然增加,这对应于图像中完全的颜色空间变化。
总结
大多数视觉基础模型具有各自的优势,例如语言定位(CLIP)、表征(DINOv2)和细粒度分割(SAM),但也存在各自的局限性。通过蒸馏,可以将所有这些优势整合到一个模型中,该模型通常优于任何教师模型。
我们从实验中还观察到,更好的教师会产生更好的学生。此外,对于特征蒸馏损失。我们观察到完整的特征蒸馏对于提高教师在密集图像理解任务中的性能至关重要,例如在ADE20K上相对提高了18%。SAM与DINOv2的对比。
还有个有趣的结论,SAM 其实并不适合下游任务,而DINOv2在零样本和少样本任务中明显优于前者,这大概还是得益于其强大的表征能力。不过,u1s1,SAM 在检测边缘和分割对象方面的表现还是非常出色的,但在高层对象描述和结合多个对象语义方面表现不佳。
本文提出的 RADIO 能够产生高分辨率和低噪声的特征。然而,我们可以发现的一个问题是,RADIO 似乎具有潜在的“低分辨率”和“高分辨率”模式,这可能是由于CLIP+DINO和SAM目标之间的分阶段训练导致的,这算是一个缺陷。
五、MIBench
阿里通义实验室提出MLLM多图能力评估基准MIBench
本篇分享 EMNLP 2024 论文MIBench: Evaluating Multimodal Large Language Models over Multiple Images,阿里通义实验室提出MLLM多图能力评估基准MIBench。
论文链接:https://arxiv.org/abs/2407.15272
数据链接:https://huggingface.co/datasets/StarBottle/MIBench
动机
近年来,多模态大模型 (MLLMs) 在视觉描述、问答、推理等多种视觉-语言任务上展现出卓越的性能,也涌现出一批基准数据集工作,如MME、MMBench、SEED-Bench等,用于评估MLLMs在不同细分场景的能力。
然而,大多数MLLMs工作仅关注模型在单张图像输入时的性能,相应的评估基准也局限在单图场景。少数面向多图的评估数据集,如Sparkles-Eval、Mantis-Eval等,所包含的评估维度和样本数量十分有限。
基于此,阿里通义实验室mPLUG团队提出一个新的大规模基准测试集MIBench,包含13K条高质量测试样本,以全面、细致地评估现有MLLMs在多图场景的能力。
MIBench与现有MLLM评估基准对比
数据集设计
MIBench多图场景及子任务概览
如图所示,MIBench涵盖多图指令、多模态外部知识及多模态上下文学习等3个典型多图场景的13个细分子任务:
- 多图指令:包含对输入的多张图像进行比较、指代、推理等指令。按照指令具体的语义类型,划分为通用比较、细致差异、视觉指代、时序推理和逻辑推理等5个子任务。
- 多模态外部知识:模拟多模态检索增强 (RAG) 场景,考察MLLMs从图文形式的外部知识中,获取与当前问题有关的信息的能力。按照外部知识的形式,划分为细粒度识别、富文本图片、视觉连接的文本知识和文本连接的视觉知识等4个子任务。
- 多模态上下文学习:考察MLLMs基于若干演示 (demo) 回答视觉问题的能力。以往对多模态上下文学习 (ICL) 能力的评估,笼统地以模型在Caption/VQA等数据集上的性能随demo数量增加的变化来衡量。为了细致地评估多模态ICL对不同方面能力的影响,作者划分了封闭式VQA、开放式VQA、物体幻觉和任务学习等4个子任务。
数据集构建
数据集的构建包括图片来源、选项生成、知识采样、质量控制等方面。
- 图片来源:为了获得高质量的评估样本,收集相关数据集作为图片来源,例如在多图指令场景使用MagicBrush、VrR-VG等数据集,在多模态外部知识场景使用SlideVQA、InfoSeek等数据集,在多模态上下文学习场景使用Mini-ImageNet、POPE等数据集。
- 选项生成:采用多项选择的形式进行模型评估,为了使干扰项具有足够的挑战性,针对不同子任务,采用两种方案生成选项。第一种方案,根据任务特点设计相应的采样策略,从数据集的原始标注中采样与ground truth具有一定相似性和混淆性的其他标注作为干扰项;第二种方案,使用大语言模型如GPT-4,根据问题和ground truth生成一些错误的答案作为干扰项。
- 知识采样:对于多模态外部知识场景,为了使题目具有挑战性,采用两个采样原则:一是设置的干扰项均在采样的外部知识中有对应信息;二是外部知识中的正确与错误信息之间存在关联性,避免因干扰信息与问题无关导致模型利用语言先验走捷径,从而对模型性能产生错误的评估。
- 质量控制:设计两种自动化筛选策略,利用SOTA MLLMs,筛除去掉图像/外部知识后仍能正确回答的样本,以消除问题或选项本身存在的bias。进一步结合人工验证,以确保生成数据中没有重复或模棱两可的选项。
- 评估策略:采用多项选择题形式,并循环设置正确选项,以消除LLM对选项位置偏好的影响。
数据集子任务示例
模型评估与分析
数据集设计和构建完成后,作者首先在多图指令和多模态外部知识场景,评估了多个开源的单图及多图MLLMs,以及GPT-4o等闭源模型的性能。通过对不同子任务测试结果的分析,可以看到:
- 开/闭源性能差距:现有开源MLLMs相比GPT-4o,在多图指令和多模态外部知识场景的多数子任务上,仍然存在较大的性能差距。
- 细粒度感知缺陷:开源模型在细致差异(SD)、富文本图片(TRI)等依赖细粒度感知能力的任务上,性能大幅落后于GPT-4o。
- 多图训练的重要性:采用多图预训练的Idefics2模型,与采用多图指令微调的Mantis模型,在多数任务上的表现明显优于单图模型。
- 多模态外部知识场景极具挑战:富文本图片(TRI)、视觉连接的文本知识(VTK)和文本连接的视觉知识(TVK)等任务对现有开源MLLMs提出了极大的挑战,即使对于GPT-4o也仍存在较大的提升空间。
作者进一步分析了开源MLLMs在多模态外部知识场景的性能瓶颈,可以看到:
- 对于富文本图片任务,即使去除外部知识中的干扰项,模型性能也仅取得了微弱的提升,而Idefics2模型采用图片切分进行高分辨率输入,能够获得显著的性能提升,说明低分辨率输入造成的信息损失是MLLMs在该任务上的性能瓶颈。
- 比较视觉连接的文本知识(VTK)和文本连接的视觉知识(TVK)两个对称的子任务,可以发现去掉外部知识中的干扰项后,模型在VTK任务上取得了非常显著的性能提升,而在TVK任务上则提升较小。说明VTK任务的性能瓶颈,主要是模型无法很好地捕捉图片间的视觉关联。而TVK任务中,模型虽然能够较好地捕捉文本间关联,但对于视觉知识的理解和提取能力限制了模型的性能。
此外,在多模态上下文学习场景,作者着重评估了OpenFlamingo、Idefics、MMICL等具备ICL能力的模型,从上图显示的实验结果可以看到:
- 评估的MLLMs在封闭式VQA任务中,表现出较为显著的多模态上下文学习能力;
- 在开放式VQA任务中,MLLMs的上下文学习主要由语言模态驱动;
- 多模态上下文学习对缓解大模型的物体幻觉没有帮助,甚至呈现出副作用;
- MLLMs基于示例学习任务的能力非常有限。
六、VFIMamba
本文介绍了南京大学与腾讯合作的研究成果VFIMamba,这是一个应用于视频插帧任务的状态空间模型(SSMs),它通过交错排列首尾帧的token并进行多方向序列化建模,有效提升了视频插帧的全局动态时空建模效率和性能。VFIMamba在多个基准测试中取得了SOTA性能,尤其在高分辨率插帧方面表现出显著的性能提升,并减少了处理高分辨率视频时的运行时间和内存占用
本文介绍一下我们(南京大学媒体计算组)与腾讯PCG合作的,并在最近被NeurIPS 2024接收的视频插帧方向的工作:VFIMamba: Video Frame Interpolation with State Space Models (VFIMamba) 。本文为了实现高效的全局动态时空建模,VFIMamba结合视频插帧任务的特点,将状态空间模型(SSMs)第一次应用于视频插帧任务中。为了适应状态空间模型需要对输入序列化的特征,我们提出了将首尾帧的token交错排列的方式来让SSMs更好的建模两帧的时空信息。同时,为了更好地挖掘出SSMs模型在视频插帧任务的潜力,我们提出了基于课程学习思想的训练策略,通过逐渐增大训练集中的帧间运动幅度来增强SSMs对不同运动幅度下时空建模能力。在低分辨率插帧和高分辨率插帧的多个benchmark里,VFIMamba都取得了最好的性能。同时和之前的SOTA方法相比,VFIMamba在处理高分辨率插帧时的运行时间和占用内存都有明显的减少。
论文:https://arxiv.org/abs/2407.02315
- 引言
- 方法介绍
图1 模型结构图
整体结构
网络的整体结构如图1所示,我们首先通过一个轻量的特征提取器单独提取每一帧的信息。随后,利用本文提出的Mixed-SSM Block (MSB),将首尾帧拼接到一起并利用SSMs进行多方向的序列化的帧间时空建模。最后将得到的高质量的帧间特征用于中间帧的生成,其包含运动估计和外观修复两个部分。
如何将首尾帧融合为一个序列
因为SSMs仅限于处理一维序列,因此需要一种策略来扫描两个输入帧的特征图以进行帧间建模。在本文中,我们主要探索了不同的首尾帧融合方式,并给出了合理的解释。如图3,绿色表示首帧,红色表示尾帧。重新排列两个帧主要有两种方法:顺序排列(Sequential Rearrange),将帧串联成一个超图(Super Image);交错排列(Interleaved Rearrange),将两个帧的标记交错组合形成一个超图。无论采用哪种重新排列方法,按照之前的研究,我们可以在得到的超图的四个方向上进行扫描:水平、垂直以及它们各自的反向方向。然后,SSMs被用于独立建模每个方向,最后将得到的序列重新排列并合并。
图2 不同的首位帧融合方式
通过分析,我们可以将SSMs的序列化建模中任意两个token i, j之间的建模表示为:
序列上不同token的相关系数
其中
αi,j 表示序列中第 j 个标记 xj 对第 i 个标记 xi 的隐含注意力权重。与仅依据标记 xi (Qi) 和 xj (Kj) 的信息计算权重的注意力机制不同,SSMs 模型引入了 Hi,j,它包含了序列中第 i 个和第 j 个标记之间的上下文信息。基于这一结论,我们观察到在交错排列中,序列中任何一对标记的中间标记均来自它们的时空邻域。这意味着 Hi,j 结合了更多的局部建模,这对帧插值等低级任务是有利的。此外,在交错排列中,时空相邻标记之间的中间标记数量通常较少。相比之下,在顺序排列中,即使是时空相邻的标记,在序列中也会被许多不相关的标记分隔。这可能引入噪声,干扰这些标记之间关系的建模。在图2 中可以看到一个具体的例子,第一帧的第 6 个标记和第二帧的第 11 个标记之间的标记在两种排列方法中差异显著。总之,我们认为对于视频帧插值,交错排列方法更适合进行更好的局部空间敏感处理。我们的实验进一步验证了这一结论。
基于课程学习思想的训练策略
尽管Mamba模型(S6)具有线性运算复杂度的全局感受野的优越特性,但通过适当的训练策略充分挖掘其潜力是更加至关重要的。目前,插帧算法主要采用两种训练策略:
- Vimeo90K Only: 大多数方法仅在 Vimeo90K 数据集上训练模型。尽管 Vimeo90K 提供了丰富多样的视频内容,但正如一些文章分析的那样,其数据集包含的运动幅度有限。这一限制妨碍了模型在大运动或高分辨率输入上的表现。
2. Sequential Learning: 为了缓解仅在 Vimeo90K 上训练的局限性,一些方法在 Vimeo90K 初步训练后,进一步在 X-TRAIN 数据集上训练模型,该数据集以大运动和高分辨率内容为特征。尽管这种方法成功增强了模型在高分辨率数据上的性能,但往往导致对从 Vimeo90K 获取的小幅运动建模能力的遗忘。
- 实验结果
关于低分辨率的性能比较如图3:
图3 低分辨率数据集性能比较
关于高分辨率下插帧的性能比较如图4:
图4 高分辨率下性能比较
可以从结果看出来我们提出的方法在不同分辨率的数据集中都取得了SOTA的性能,其中在高分辨率的性能提升更加明显。图5是和之前SOTA方法的FLOPs和占用内存的比较,我们的方法随着输入尺寸的增大,计算开销有了成倍的减少:
图5 FLOPs和占用内存的比较
图6是视觉对比,我们提出的方法能够更好地生成中间帧:
图6 可视化对比
关于SSMs的消融:作为本研究的核心贡献,SSMs模型在帧间建模中实现了计算效率与高性能的平衡。为了验证其有效性,如图7 所示,我们进行了实验,移除了 MSB 中的 SSM 模型(w/o SSM),将 MSB 替换为 RIFE 中的卷/ 使用EMA-VFI 中的局部帧间注意力/使用全局帧间注意力。我们观察到,仅移除 S6 模型导致参数减少了 0.7M,但在各个数据集上性能显著下降,凸显了 S6 的重要性。在与卷积和局部注意力的比较中,我们发现虽然由于多个扫描方向,S6 模型相对较慢,但其性能提升显著。与全局注意力相比,S6 不仅超越了其性能,还提供了更快的推理速度和更低的内存消耗。总之,与现有模型相比,S6 模型确实在计算效率与性能之间实现了良好的平衡。
图7 SSMs有效性的消融
关于首尾帧融合方式的消融:输入帧如何排列对于使用S6 模型进行帧间建模至关重要。正如在前面分析的那样, 我们认为交错排列更适合 VFI 任务,并在此提供实验验证。如图8 所示,我们在水平和垂直扫描中实验了两种不同的重新排列方法。结果表明,使用交错排列在所有数据集上始终能取得最佳性能,并且相对于其他方法有显著提升。这些发现进一步验证了我们的分析,即交错排列在 VFI 中提供了更优越的时空局部建模能力。
图8 token排列方式的消融
关于训练策略消融:我们提出了一种课程学习的训练策略,以充分利用S6 模型的全局建模能力。在图9 中,我们展示了不同学习策略在 Vimeo90K 和 X-TEST 数据集上随着训练轮次的性能表现。除了之前提到的 Vimeo90K Only 和 Sequential Learning 策略,我们还比较了一种基线方法,即将两个数据集直接混合进行训练(Mixed Learning)。结果表明,随着训练轮次的增加,Vimeo90K Only 策略在 Vimeo90K 上的性能持续提升,而在 X-TEST 上变化甚微。Sequential Learning 最终虽然提高了 X-TEST 的性能,但在 Vimeo90K 上的表现显著下降。Mixed Learning 在两个数据集上的性能逐渐提高,但未能达到竞争水平。然而,我们提出的课程学习策略在训练结束时在两个数据集上同时实现了最佳性能。
- 局限&未来展望
作为首个探讨在插帧任务中应用状态空间模型(SSMs)的研究,我们已取得非常高的性能,但仍然存在一些局限性。首先,尽管我们的方法比基于注意力的方法快得多,但仍未达到实时要求。因此,未来设计更高效的 SSM 将非常有价值。其次,在本研究中,我们主要关注 SSMs 在帧间建模中的作用,并未探讨其在帧生成模块中的应用。未来,直接使用 SSMs 生成中间帧也可能是一个值得探索的方向。
七、FakeShield
本文提出北京大学提出的FakeShield框架,这是一个基于多模态大语言模型的可解释图像篡改检测定位系统,它能够检测图像的真实性、生成篡改区域的掩膜,并提供基于像素伪影和图像语义错误的合理解释。
随着生成式AI技术的快速发展,图像伪造和篡改变得越来越普遍,在真实性与安全性方面带来挑战。传统的图像伪造检测与定位(IFDL)方法存在检测原理未知和泛化性较差等问题。为了应对这些问题,本文提出了一种全新的任务:可解释的图像伪造检测与定位(e-IFDL),并设计了一个新颖的多模态伪造检测定位框架:FakeShield。如图1所示,与传统IFDL方法相比,FakeShield不仅能检测图像的真实性并生成篡改区域的掩膜,还可以基于像素伪影和图像语义错误等伪造线索提供合理的解释。此外,我们创建了多模态篡改描述数据集MMTD-Set,并结合数据域标签(domain tag)引导的可解释的伪造检测模块DTE-FDM与多模态伪造定位模块MFLM,以实现细粒度伪造检测与定位。实验结果显示,FakeShield在包含多种伪造方法的测试集上,展现了优越的性能以及出色的鲁棒性,泛化性。
图1:(a)传统IFDL方法,(b)可解释的IFDL方法
MMTD-Set数据集构建:如图2所示,我们根据篡改方法,将篡改图片分为PhotoShop、DeepFake、AIGC-Editing三个数据域。基于现有的IFDL数据集,我们利用GPT-4o生成对于篡改图像的分析与描述,构建“图像-掩膜-描述”三元组,以支持模型的多模态训练。另外,针对不同篡改类型,我们设计了特定的描述提示,引导GPT关注不同的像素伪影和语义错误。
图2:MMTD-Set数据集构建过程
FakeShield框架:如图3所示,该框架包括域标签引导的可解释伪造检测模块(Domain Tag-guided Explainable Forgery Detection Module,DTE-FDM)和多模态伪造定位模块(Multi-modal Forgery Localization Module,MFLM)两个关键部分。DTE-FDM负责图像伪造检测与检测结果分析,利用数据域标签(domain tag)弥合不同伪造类型数据之间的数据域冲突,引导多模态大语言模型生成检测结果及判定依据。MFLM则使用DTE-FDM输出的对于篡改区域的描述作为视觉分割模型的Prompt,引导其精确定位篡改区域。
图3:FakeShield框架图
在实验结果方面,我们从检测,定位,解释三个方面来评价FakeShield的效果,其在多个IFDL测试集中表现出优越性能,定量结果如表1,表2,表3所示,定位性能的定性结果如图4所示。
表1:FakeShield与主流IFDL方法的定位性能比较
表2:FakeShield与主流通用MLLM方法的解释性能比较
表3:FakeShield与主流IFDL方法的定位性能比较
图4:FakeShield与主流IFDL方法的定位性能的定性比较
Zhipei Xu, Xuanyu Zhang, Runyi Li, Zecheng Tang, Qing Huang, Jian Zhang*. FakeShield: Explainable Image Forgery Detection and Localization via Multi-modal Large Language Models. arxiv preprint arxiv:2410.02761, 2024. (*张健为通讯作者)
arxiv链接:https://arxiv.org/abs/2410.02761
论文网站:https://zhipeixu.github.io/projects/FakeShield/
项目网址:https://github.com/zhipeixu/FakeShield