计算机视觉——利用AI幻觉检测图像是否是生成式算生成的图像
概述
俄罗斯的新研究提出了一种非常规方法,用于检测不真实的AI生成图像——不是通过提高大型视觉-语言模型(LVLMs)的准确性,而是故意利用它们的幻觉倾向。
这种新方法使用LVLMs提取图像的多个“原子事实”,然后应用自然语言推理(NLI),系统地衡量这些陈述之间的矛盾——有效地将模型的缺陷转化为检测违背常识的图像的诊断工具。

WHOOPS!数据集中两张图片与LVLM模型自动生成的陈述。左侧图片是真实的,导致描述一致,而右侧不寻常的图片导致模型产生幻觉,产生矛盾或错误的陈述。
当被要求评估第二张图片的真实性时,LVLM可以看出__有些不对劲__,因为图中的骆驼有三个驼峰,这在自然中是不存在的。
然而,LVLM最初将__超过2个驼峰__与__超过2个动物__混淆,因为这是在一张“骆驼图片”中看到三个驼峰的唯一方式。然后,它继续幻觉出比三个驼峰更不可能的事情(即“两个头”),并且从未详细说明似乎触发了它的怀疑的事情——那个不太可能的额外驼峰。
新研究的研究人员发现,LVLM模型可以本地执行这种评估,并且与经过微调用于此类任务的模型相比,表现相当甚至更好。由于微调复杂、昂贵且在下游应用方面相当脆弱,因此发现当前AI革命中最大的障碍之一的本地用途,是对文献中一般趋势的令人耳目一新的转变。
一、开放评估
作者强调,这种方法的重要性在于它可以使用_开源_框架部署。尽管像ChatGPT这样的先进且高投资模型可能会(论文承认)在该任务中提供更好的结果,但对于大多数人(尤其是业余爱好者和视觉特效社区)来说,文献的真正价值在于能够在本地实现中整合和开发新的突破;相反,所有注定用于专有商业API系统的项目都容易被撤回、随意涨价,并且审查政策更有可能反映公司的企业利益,而不是用户的需求和责任。
新论文的标题为__不要对抗幻觉,利用它们:使用NLI对原子事实进行图像真实性估计__,来自斯科尔科沃科学技术研究所(Skoltech)、莫斯科物理技术学院以及俄罗斯公司MTS AI和AIRI的五位研究人员。该工作有一个配套的GitHub页面。
二、方法
作者使用以色列/美国的WHOOPS!数据集进行该项目:

_WHOOPS!数据集中不可能图像的示例。值得注意的是,这些图像组合了合理的元素,它们的不可能性必须根据这些不兼容方面的组合来计算。
该数据集包含500张合成图像和超过10,874个注释,专门设计用于测试AI模型的常识推理和组合理解能力。它是由设计师与Midjourney和DALL-E系列等文本到图像系统合作创建的,这些设计师的任务是生成具有挑战性的图像——产生自然难以捕捉的场景:

WHOOPS!数据集中的进一步示例。
新方法分为三个阶段:首先,LVLM(具体为LLaVA-v1.6-mistral-7b)被提示生成多个简单陈述——称为“原子事实”——描述图像。这些陈述使用多样化束搜索生成,确保输出的多样性。

_多样化束搜索通过优化多样性增强目标,产生更多样化的标题选项。
接下来,使用自然语言推理模型系统地比较每个生成的陈述与其他所有陈述,该模型为陈述对分配分数,反映它们是否相互蕴含、矛盾或中立。
矛盾表明图像中存在幻觉或不真实元素:

检测流程图。
最后,该方法将这些成对的NLI分数聚合为一个“现实分数”,量化生成陈述的整体一致性。
研究人员探索了不同的聚合方法,基于聚类的方法表现最佳。作者应用k-means聚类算法将各个NLI分数分为两个聚类,较低值聚类的质心被选为最终指标。
使用两个聚类直接与分类任务的二元性质一致,即区分真实图像和不真实图像。其逻辑类似于简单地选择最低分数;然而,聚类允许指标代表多个事实之间的平均矛盾,而不是依赖于单个离群值。
三、数据和测试
研究人员在WHOOPS!基准测试中测试了他们的系统,使用旋转的测试分割(即交叉验证)。测试的模型为BLIP2 FlanT5-XL和BLIP2 FlanT5-XXL,在分割中进行测试,以及BLIP2 FlanT5-XXL的零样本格式(即,无需额外训练)。
对于指令遵循基线,作者使用短语__“这不寻常吗?请用简短的句子简要说明”__提示LVLMs,先前研究发现这在识别不真实图像方面很有效。
测试的模型为LLaVA 1.6 Mistral 7B、LLaVA 1.6 Vicuna 13B以及两种大小(70亿/130亿参数)的InstructBLIP。
测试过程围绕102对真实和不真实(“奇怪”)图像进行。每对包含一张正常图像及其违背常识的对应图像。
三名人类标注者对图像进行了标注,达成92%的共识,表明人类对“奇怪”的定义有很强的共识。通过评估方法正确区分真实和不真实图像的能力来衡量其准确性。
该系统使用三折交叉验证进行评估,使用固定种子随机打乱数据。作者在训练期间调整了蕴含分数(逻辑上一致的陈述)和矛盾分数(逻辑上冲突的陈述)的权重,而“中立”分数则固定为零。最终准确性是通过所有测试分割的平均值计算得出的。

在五个生成事实的子集上,不同NLI模型和聚合方法的准确性比较。
关于上图中显示的初步结果,论文指出:
“[‘clust’]方法表现最佳。这意味着聚合所有矛盾分数至关重要,而不是只关注极端值。此外,最大的NLI模型(nli-deberta-v3-large)在所有聚合方法中均优于其他模型,表明它更有效地捕捉了问题的本质。”
作者发现,最佳权重始终倾向于矛盾而非蕴含,表明矛盾对于区分不真实图像更具信息量。他们的方法超越了所有其他测试的零样本方法,接近经过微调的BLIP2模型的性能:

WHOOPS!基准测试中各种方法的性能。微调(ft)方法位于顶部,而零样本(zs)方法列在下方。模型大小表示参数数量,准确性用作评估指标。
他们还注意到,出乎意料的是,InstructBLIP在给定相同提示的情况下比类似的LLaVA模型表现更好。尽管承认GPT-4o的准确性更高,但论文强调作者倾向于展示实用的开源解决方案,并且似乎可以合理地声称明确利用幻觉作为诊断工具的新颖性。
结论
然而,作者承认他们的项目得益于2024年的FaithScore,这是德克萨斯大学达拉斯分校和约翰霍普金斯大学的合作项目。

FaithScore评估的说明。首先,识别LVLM生成答案中的描述性陈述。接下来,这些陈述被分解为单独的原子事实。最后,将原子事实与输入图像进行比较以验证其准确性。下划线文本突出显示客观描述性内容,而蓝色文本表示幻觉陈述,使FaithScore能够提供可解释的事实正确性度量。 来源:https://arxiv.org/pdf/2311.01477
FaithScore通过验证与图像内容的一致性来衡量LVLM生成描述的忠实度,而新论文的方法明确利用LVLM幻觉,通过自然语言推理检测不真实图像,即通过生成事实中的矛盾。
新工作自然依赖于当前语言模型的怪癖,以及它们产生幻觉的倾向。如果模型开发最终产生了一个完全不产生幻觉的模型,那么即使新工作的一般原则也将不再适用。然而,这仍然是一个具有挑战性的前景。
相关文章:
计算机视觉——利用AI幻觉检测图像是否是生成式算生成的图像
概述 俄罗斯的新研究提出了一种非常规方法,用于检测不真实的AI生成图像——不是通过提高大型视觉-语言模型(LVLMs)的准确性,而是故意利用它们的幻觉倾向。 这种新方法使用LVLMs提取图像的多个“原子事实”,然后应用自…...
性能测试工具和JMeter功能概要
主流性能测试工具 LoadRunner JMeter [本阶段学习] 1.1 LoadRunner HP LoadRunner是一种工业级标准性能测试负载工具,可以模拟上万用户实施测试,并在测试时可实时检测应用服务器及服务器硬件各种数据,来确认和查找存在的瓶颈支持多协议&am…...
《理解 Java 泛型中的通配符:extends 与 super 的使用场景》
大家好呀!👋 今天我们要聊一个让很多Java初学者头疼的话题——泛型通配符。别担心,我会用最通俗易懂的方式,带你彻底搞懂这个看似复杂的概念。准备好了吗?Let’s go! 🚀 一、为什么我们需要泛型通配符&…...
C#学习第17天:序列化和反序列化
什么是序列化? 定义:序列化是指把对象转换为一种可以轻松存储或传输的格式,如JSON、XML或二进制格式。这个过程需要捕获对象的类型信息和数据内容。用途:使得对象可以持久化到文件、发送至网络、或存储在数据库中。 什么是反序列…...
FlaskRestfulAPI接口的初步认识
FlaskRestfulAPI 介绍 记录学习 Flask Restful API 开发的过程 项目来源:【Flask Restful API教程-01.Restful API介绍】 我的代码仓库:https://gitee.com/giteechaozhi/flask-restful-api.git 后端API接口实现功能:数据库访问控制…...
CSS预处理工具有哪些?分享主流产品
目前主流的CSS预处理工具包括:Sass、Less、Stylus、PostCSS等。其中,Sass是全球使用最广泛的CSS预处理工具之一,以强大的功能、灵活的扩展性以及完善的社区生态闻名。Sass通过增加变量、嵌套、混合宏(mixin)等功能&…...
微信小程序中,将搜索组件获取的值传递给父页面(如 index 页面)可以通过 自定义事件 或 页面引用 实现
将搜索组件获取的值传递给父页面(如 index 页面)可以通过 自定义事件 或 页面引用 实现 方法 1:自定义事件(推荐) 步骤 1:搜索组件内触发事件 在搜索组件的 JS 中,当获取到搜索值时,…...
深度学习预训练和微调
目录 1. 预训练(Pre-training)是什么? 2. 微调(Fine-tuning)是什么? 3. 预训练和微调的对象 4. 特征提取如何实现? 预训练阶段: 微调阶段: 5. 这样做的作用和意义 …...
AI 速读 SpecReason:让思考又快又准!
在大模型推理的世界里,速度与精度往往难以兼得。但今天要介绍的这篇论文带来了名为SpecReason的创新系统,它打破常规,能让大模型推理既快速又准确,大幅提升性能。想知道它是如何做到的吗?快来一探究竟! 论…...
Qt通过ODBC和QPSQL两种方式连接PostgreSQL或PolarDB PostgreSQL版
一、概述 以下主要在Windows下验证连接PolarDB PostgreSQL版(阿里云兼容 PostgreSQL的PolarDB版本)。Linux下类似,ODBC方式则需要配置odbcinst.ini和odbc.ini。 二、代码 以下为完整代码,包含两种方式连接数据库,并…...
MobaXterm连接Ubuntu(SSH)
1.查看Ubuntu ip 打开终端,使用指令 ifconfig 由图可知ip地址 2.MobaXterm进行SSH连接 点击session,然后点击ssh,最后输入ubuntu IP地址以及用户名...
Lambda 函数与 peek 操作的使用案例
Lambda 函数和 peek 操作是 Java 8 Stream API 中非常有用的特性,下面我将介绍它们的使用案例。 Lambda 函数使用案例 Lambda 表达式是 Java 8 引入的一种简洁的匿名函数表示方式。 集合操作 List<String> names Arrays.asList("Alice", "B…...
C# 的 字符串插值($) 和 逐字字符串(@) 功能
这段代码使用了 C# 的 字符串插值($) 和 逐字字符串() 功能,并在 SQL 语句中动态拼接变量。下面详细解释它们的用法: 1. $(字符串插值) $ 是 C# 的 字符串插值 符号,允许…...
软考 中级软件设计师 考点知识点笔记总结 day13 数据库系统基础知识 数据库模式映像 数据模型
文章目录 数据库系统基础知识6.1 基本概念6.1.1 DBMS的特征与分类 6.2 数据库三级模式两级映像6.3 数据库的分析与设计过程6.4 数据模型6.4.1 ER模型6.4.2 关系模型 数据库系统基础知识 基本概念 数据库三级模式两级映像 数据库的分析与设计过程 数据模型 关系代数 数据库完整…...
蓝桥杯2024省A.成绩统计
蓝桥杯2024省A.成绩统计 题目 题目解析与思路 题目要求返回至少要检查多少个人的成绩,才有可能选出k名同学,他们的方差小于一个给定的值 T 二分枚举答案位置,将答案位置以前的数组单独取出并排序,然后用k长滑窗O(1)计算方差 问…...
Mac mini 安装mysql数据库以及出现的一些问题的解决方案
首先先去官网安装一下mysql数据库,基本上都是傻瓜式安装的流程,我也就不详细说了。 接下来就是最新版的mysql安装的时候,他就会直接让你设置一个新的密码。 打开设置,拉到最下面就会看到一个mysql的图标: 我设置的就是…...
俄罗斯方块-简单开发版
一、需求分析 实现了一个经典的俄罗斯方块小游戏,主要满足以下需求: 1.图形界面 使用 pygame 库创建一个可视化的游戏窗口,展示游戏的各种元素,如游戏区域、方块、分数等信息。 2.游戏逻辑 实现方块的生成、移动、旋转、下落和锁…...
STM32的启动方式
目录 一、从主闪存存储器启动(Main Flash Memory) 二、从系统存储器启动(System Memory) 三、从内置SRAM启动(Embedded SRAM) 四、从外挂存储介质启动的实现方式 1. 存储介质选型 2. 硬件连接 3. 引…...
你学会了些什么200601?--Flask搭建造测试数据平台
搭建造数平台的环境: ***python3.7 ***html5 ***css ***JavaScript ***Ajax ***MySQL 前台页面的显示 1.为了页面美化,使用了JavaScript,通过逐级展开/隐藏的的方式显示下一级菜单 2.为了在提交表单数据时页面不发生跳转,需要引用…...
【音视频】FLV格式分析
FLV概述 FLV(Flash Video)是Adobe公司推出的⼀种流媒体格式,由于其封装后的⾳视频⽂件体积⼩、封装简单等特点,⾮常适合于互联⽹上使⽤。⽬前主流的视频⽹站基本都⽀持FLV。采⽤FLV格式封装的⽂件后缀为.flv。 FLV封装格式是由⼀个⽂件头(file header)和…...
Keil5没有stm32的芯片库
下载完重启就行了,我这里就不演示了,stm已经下载,随便选的一个芯片库演示一下...
【DVWA 靶场通关】 File Inclusion(文件包含漏洞)
1. 前言 文件包含漏洞 是 Web 应用中较为常见的漏洞之一,攻击者通过操控文件路径,访问或包含系统上的敏感文件,甚至执行恶意代码。DVWA(Damn Vulnerable Web Application)提供了一个理想的实验环境,让安全…...
游戏引擎学习第229天
仓库:https://gitee.com/mrxiao_com/2d_game_5 回顾上次内容并介绍今天的主题 上次留下的是一个非常简单的任务,至少第一步是非常简单的。我们需要在渲染器中加入排序功能,这样我们的精灵(sprites)才能以正确的顺序显示。为此我…...
【C++编程入门】:从零开始掌握基础语法
C语言是通过对C语言不足的地方进行优化创建的,C在C语言之上,C当然也兼容C语言, 在大部分地方使用C比C更方便,可能使用C需要一两百行代码,而C只需要五六十行。 目录 C关键字 命名空间 缺省参数 缺省参数分类 函数…...
Python3网络爬虫开发--爬虫基础
网络爬虫基础 1.1 HTTP基本原理 1.1.1 URI和URL URI即统一资源标志符,URL即统一资源定位符。 有这样一个链接,http://test.com/test.txt,在这个链接中,包含了访问协议https,访问目录(即根目录),资源名称(test.txt)。通过这样的链接,可以在互联网上找到这个资源,这…...
网络开发基础(游戏方向)之 概念名词
前言 1、一款网络游戏分为客户端和服务端两个部分,客户端程序运行在用户的电脑或手机上,服务端程序运行在游戏运营商的服务器上。 2、客户端和服务端之间,服务端和服务端之间一般都是使用TCP网络通信。客户端和客户端之间通过服务端的消息转…...
MyBatisPlus-QueryWrapper的exists方法拼接SQL中的EXISTS子句
在 MyBatis-Plus 中,QueryWrapper 的 exists 方法用于拼接 SQL 中的 EXISTS 子句,通常用于构 建子查询条件。以下是具体用法和示例: 1. 基本语法 // 判断是否存在符合条件的记录 queryWrapper.exists(String existsSql); queryWrapper.notExists(String existsSq…...
【源码】【Java并发】【AQS】从ReentrantLock、Semaphore、CutDownLunch、CyclicBarrier看AQS源码
👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 📚欢迎订阅专栏…...
k8s介绍与实践
第一节 理论 基础介绍,部署实践,操作实践,点击这里学习 第二节 dashboard操作 查看安装的dashboard服务信息 kubectl get pod,svc -n kubernetes-dashboard 网页登录地址:https://server_ip:30976/#/login 创建token kube…...
SpringBoot 3 与 SpringDoc 打造完美接口文档
文章目录 1. SpringDoc 简介1.1 SpringDoc 优势2. 环境准备2.1 Maven 依赖2.2 基础配置3. 创建基本文档配置类4. 控制器 API 文档注解4.1 基本控制器示例4.2 模型类示例5. 高级功能5.1 API分组5.2 安全配置5.3 隐藏特定端点6. 参数描述6.1 路径参数6.2 查询参数6.3 请求体7. 响…...
