计算机视觉——利用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提取图像的多个“原子事实”,然后应用自…...
前端配置代理解决发送cookie问题
场景: 在开发任务管理系统时,我遇到了一个典型的身份认证问题:用户登录成功后,调获取当前用户信息接口却提示"用户未登录"。系统核心流程如下: 用户登录:调用 /login 接口&…...
word显示段落标记符(¶)而不是回车符
现象 公司的一位同事找到我说word显示异常,出现了段落标记符()。 反馈的截图如下: 正常的截图如下: 原因 语言设置错误 解决 文件 选项 更改语言 关闭word并重启 恢复正常...
使用 Vue Router 和 Vite 构建的自动路由生成系统
这段代码是一个使用 Vue Router 和 Vite 构建的自动路由生成系统。它的主要作用是自动扫描 views 目录下的所有 Vue 组件文件,并为它们创建相应的路由配置,无需手动为每个页面定义路由。 主要功能和工作流程 项目说明 结构 . ├── App.vue ├── assets │ └── v…...
乐家桌面安卓版2025下载-乐家桌面软件纯净版安装分享码大全
是否在为智能电视或机顶盒上的应用资源不够丰富而烦恼?在使用安卓版乐家桌面或者纯净版乐家桌面的过程中还需要通过搜索框多页面查询,小编今天为大家来介绍一款好用的电视桌面——乐看家桌面,将为你打开一个全新的软件世界! 乐看家…...
【sylar-webserver】重构日志系统
文章目录 主要工作流程图FiberConditionBufferBufferManagerLogEvent 序列化 & 反序列化LoggerRotatingFileLogAppender 主要工作 实现, LogEvent 序列化和反序列化 (使用序列化是为了更标准,如果转成最终的日志格式再存储(确…...
图形编辑器基于Paper.js教程27:对图像描摹的功能实现,以及参数调整
本篇文章来讲一下 图像描摹的功能的实现。 我们知道要雕刻图片可以通过分析图片的像素来生成相应的gcode进行雕刻,但如果你想要将图片转换为线稿进行雕刻,这个时候就要从图片中提取出 线稿。 例如下面的图片: 你想要获取到这个图片的线稿&…...
使用Mybaitis-plus提供的各种的免写SQL的Wrapper的使用方式
文章目录 内连接JoinWrappers.lambda和 new MPJLambdaWrapper 生成的MPJLambdaWrapper对象有啥区别?LambdaQueryWrapper 和 QueryWrapper的区别?LambdaQueryWrapper和MPJLambdaQueryWrapper的区别?在作单表更新时建议使用:LambdaU…...
SQL_连续登陆问题
文章目录 方案1:使用ROW_NUMBER函数1、针对对数据user_id分组,根据用户的活动日期排序2、用登录日期与rn求date_sub,得到的差值日期如果是相等的,则说明这两天肯定是连续的3、根据user_id和日期差sub_date分组,登录次数…...
【解决】Vue + Vite + TS 配置路径别名成功仍爆红
目录 前言 一.vite.config.ts 二.tsconfig.json 三. 别名配置成功,但语法提示爆红问题 四、可能遇到的问题 前言 在项目中设置路径别名后仍然出现爆红问题,通常是由于配置不完整或配置错误导致的。Vite 中配置 alias 总共需要配置两个地方: vite…...
Discuz!与DeepSeek结合:打造智能论坛,提升用户体验与运营效率
引言 随着互联网技术的飞速发展,社区论坛作为用户交流、分享信息的重要平台,其用户体验和运营效率成为了影响平台竞争力的关键因素。Discuz!作为国内领先的社区论坛软件系统,以其强大的功能和广泛的用户基础,在社区论坛领域占据着…...
Federated Feature Augmentation and Alignment
TPAMI2025,说是解决特征偏移问题,但从实验看其他数据异构也一并改善了。文章和题目一样干了特征增强和特征对齐两件事。特征增强部分套了两次高斯拟合,搞得很复杂,没法一句话说清楚。特征对齐部分是截断成直方图,然后双向KL散度。 论文:目前好像只有ieee能搜到 代码:只…...
ThinkPHP5 的 SQL 注入漏洞
ThinkPHP5 的 SQL 注入漏洞(常被安全社区称为 ThinkPHP5 SQL5 注入漏洞)是 ThinkPHP5 框架中一系列因设计缺陷导致的安全问题,主要影响早期版本。 一、漏洞背景 ThinkPHP5 的 SQL 注入漏洞主要源于框架对用户输入数据的处理不当,尤…...
Linux学习笔记|入门指令
man 指令 用法:man [指令名称] ,用于查看指定指令的帮助手册,获取指令的详细语法、选项及使用示例等信息 。示例:想了解 ls 指令的用法,执行 man ls ,会进入 man 手册页面展示 ls 相关信息。按 q 键可退出。…...
前端实现数据导出成excel
前端(react/vue)实现数据导出成excel 1. 下载依赖 npm install js-export-excel -D 2. 新建exportExcel.js import ExportJsonExcel from js-export-excel; /*** Event: 获取导出数据* description:* param config.tableParams<Object>: 表格接口请求参数* param …...
海事局发布《船舶智能监控系统技术指南(1.0)》,解读智驱力产品为何成为最佳选择!
为深入推进人工智能、边缘计算等新技术在水上交通安全领域应用,强化船舶安全风险实时感知、智能预警,推动水上交通安全治理模式向事前预防转型,中华人民共和国海事局于2025年3月11日正式制定了《船舶智能监控系统技术指南(1.0&…...
uCOS3实时操作系统(系统初始化和任务启动)
文章目录 ucos初始化任务创建任务启动 ucos初始化 系统运行的过程如下:OSInit -> OSTaskCreate -> OSStartucos初始化主要在 OSInit 中进行,下面列举了该初始化过程中比较重要的几个步骤:OSInit()OSInitHook();OS_CPU_ExceptStkBase /…...
线上地图导航小程序源码介绍
基于ThinkPHP、FastAdmin和UniApp三大前沿技术推出的一款线上地图导航小程序源码,ThinkPHP作为后端框架,以其轻量、高效和灵活的特点,确保了小程序的稳定性和可扩展性。FastAdmin则是基于ThinkPHP构建的管理后台,操作简便、功能全…...
Mininet--nodelib.py源码解析
整体构架概述 1. What is it? 本代码是 Mininet 网络仿真框架的扩展模块,包含 LinuxBridge 和 NAT 两类节点。LinuxBridge 提供基于 Linux 网桥的交换机功能,支持生成树协议(STP),用于构建冗余网络拓扑并防…...
[C++]多重继承:构造函数调用顺序解析
在C中,当派生类通过 多重继承 (Multiple Inheritance)继承多个基类(如 A、B、C)时,其构造函数调用顺序遵循以下规则: 1. 基类构造顺序 基类的构造函数调用顺序严格按照派生类定义中的基类声明…...
Math.round(),Math.ceil(),Math.floor(),Math.sqrt(),Math.pow(),Math.abs()等!
希望看到这篇的你今天开心 目录 Math.round():Math.ceil():Math.floor() :Math.sqrt():Math.pow():Math.abs():了解更多: Math.round(): 四舍五入取值 静态方法Math.round()返回四舍五入为最接近的整数的数字值。 对于正数,Math.round() 会将小数部分小…...
Docker 集成KingBase
Docker安装 再linux系统中安装yum命令,通过yum命令可直接安装docker yum命令如下 yum install dockerDocker安装KingBase 安装完成Dockr后,去KingBase官网中下载镜像 下载完成后,通过docker命令将镜像文件导入 docker load -i kdb_x86_64…...
论文速报《Being-0:结合视觉语言模型与模块化技能的人形机器人智能体》
论文链接:https://arxiv.org/pdf/2503.12533 项目主页:https://beingbeyond.github.io/being-0/?utm_sourcecatalyzex.com 0. 简介 人形机器人被认为是实现具身人工智能的理想载体,因其可以像人类一样与现实世界进行物理交互。构建能够在复…...
卷积神经网络--手写数字识别
本文我们通过搭建卷积神经网络模型,实现手写数字识别。 pytorch中提供了手写数字的数据集 ,我们可以直接从pytorch中下载 MNIST中包含70000张手写数字图像:60000张用于训练,10000张用于测试 图像是灰度的,28x28像素 …...
JavaScript-原型、原型链详解
一、构造函数 在 JavaScript 中,构造函数是一种特殊的函数,用于创建和初始化对象,它就像一个 “对象模板”。通过 new 关键字调用构造函数时,会创建一个新对象,并将构造函数中的属性和方法 “绑定” 到这个新对象上。…...
深度学习框架PyTorch——从入门到精通(3.3)YouTube系列——自动求导基础
这部分是 PyTorch介绍——YouTube系列的内容,每一节都对应一个youtube视频。(可能跟之前的有一定的重复) 我们需要Autograd做什么?一个简单示例训练中的自动求导开启和关闭自动求导自动求导与原地操作 自动求导分析器高级主题&…...
永磁同步电机控制算法-VF控制
一、原理介绍 V/F 控制又称为恒压频比控制,给定VF 控制曲线 电压是频率的tt例函数 即控制电压跟随频率变化而变化以保持磁通恒定不变。 二、仿真模型 在MATLAB/simulink里面验证所提算法,搭建仿真。采用和实验中一致的控制周期1e-4,电机部分计算周期为…...
【Docker 运维】Java 应用在 Docker 容器中启动报错:`unable to allocate file descriptor table`
文章目录 一、根本原因二、判断与排查方法三、解决方法1、限制 Docker 容器的文件描述符上限2、在执行脚本中动态设置ulimit的值3、升级至 Java 11 四、总结 容器内执行脚本时报错如下,Java 进程异常退出: library initialization failed - unable to a…...
SpringBoot + Vue 实现云端图片上传与回显(基于OSS等云存储)
前言 在实际生产环境中,我们通常会将图片等静态资源存储在云端对象存储服务(如阿里云OSS、七牛云、腾讯云COS等)上。本文将介绍如何改造之前的本地存储方案,实现基于云端存储的图片上传与回显功能。 一、技术选型 云存储服务&a…...
Session与Cookie的核心机制、用法及区别
Python中Session与Cookie的核心机制、用法及区别 在Web开发中,Session和Cookie是两种常用的用于跟踪用户状态的技术。它们在实现机制、用途和安全性方面都有显著区别。本文将详细介绍它们的核心机制、用法以及它们之间的主要区别。 一、Cookie的核心机制与用法 1…...
离线安装rabbitmq全流程
在麒麟系统(如银河麒麟)上离线安装 RabbitMQ 的具体操作步骤如下: 一、准备工作 确认系统版本:确认麒麟系统的版本,例如银河麒麟高级服务器 V10。确定 RabbitMQ 及依赖版本:根据系统版本确定兼容的 Rabbi…...
llama-webui docker实现界面部署
1. 启动ollama服务 [nlp server]$ ollama serve 2025/04/21 14:18:23 routes.go:1007: INFO server config env"map[OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_HOST: OLLAMA_KEEP_ALIVE:24h OLLAMA_LLM_LIBRARY: OLLAMA_MAX_LOADED_MODELS:4 OLLAMA_MAX_…...
第1 篇:你好,时间序列!—— 开启时间数据探索之旅
第 1 篇:你好,时间序列!—— 开启时间数据探索之旅 (图片来源: Stephen Dawson on Unsplash) 你有没有想过: 明天的天气会是怎样?天气预报是怎么做出来的?某支股票未来的价格走势如何预测?购物…...
C++算法(11):vector作为函数参数的三种传递方式详解
在C中,std::vector是最常用的动态数组容器之一。当我们需要将vector传递给函数时,不同的传递方式会对性能和功能产生显著影响。本文将详细介绍三种常见的传递方式及其适用场景,帮助开发者根据需求选择最合适的方法。 1. 按值传递(…...
版本控制利器——SVN简介
版本控制利器——SVN简介 在软件开发和项目管理的领域中,版本控制是一项至关重要的工作。它能帮助团队成员高效协作,确保代码的安全性和可追溯性。今天,我们就来详细介绍一款经典的版本控制系统——SVN(Subversion)。…...
链式栈和线性栈
1. 线性栈(顺序栈) 结构定义: #include <iostream> using namespace std;#define MAX_SIZE 100 // 预定义最大容量// 线性栈结构体 typedef struct {int* data; // 存储数据的数组int top; // 栈顶指针&…...
消息中间件RabbitMQ:简要介绍及其Windows安装流程
一、简要介绍 定义:RabbitMQ 是一个开源消息中间件,用于实现消息队列和异步通信。 场景:适用于分布式系统、异步任务处理、消息解耦、负载均衡等场景。 比喻:RabbitMQ 就像是快递公司,负责在不同系统间安全快速地传递…...
足球 AI 智能体技术解析:从数据采集到比赛预测的全链路架构
一、引言 在足球运动数字化转型的浪潮中,AI 智能体正成为理解比赛、预测赛果的核心技术引擎。本文从工程实现角度,深度解析足球 AI 的技术架构,涵盖数据采集、特征工程、模型构建、实时计算到决策支持的全链路技术方案,揭示其背后…...
VTK知识学习(53)- 交互与Widget(四)
1、测量类Widget 1)概述 与测量相关的主要 Widget如下: vtkDistanceWidget:用于在二维平面上测量两点之间的距离。vtkAngleWidget:用于二维平面的角度测量。vtkBiDimensionalWidget:用于测量二维平面上任意两个正交方向的轴长。 按照前面提到的步骤创…...
基础服务系列-Windows10 安装AnacondaJupyter
下载 https://www.anaconda.com/products/individual 安装 安装Jupyter 完成安装 启动Jupyter 浏览器访问 默认浏览器打开,IE不兼容,可以换个浏览器 修改密码 运行脚本...
使用c++调用deepseek的api(附带源码)
可以给服务器添加deepseek这样就相当于多了一个智能ai助手 deepseek的api申请地址使用格式测试效果源码 deepseek的api申请地址 这边使用硅基流动的api,注册就有免费额度 硅基流动: link 使用格式 api的调用格式,ds的api调用就是用固定协议然后发送到…...
HarmonyOS-ArkUI: animateTo 显式动画
什么是显式动画 啊, 尽管有点糙,但还是解释一下吧, 显式动画里面的“显式”二字, 是程序员在代码调用的时候,就三令五申,明明白白调用动画API而创建的动画。 这个API的名字就是: animateTo。这就是显式动画。说白了您可以大致理解为,显式动画,就是调用animateTo来完成…...
Spring AI MCP
MCP是什么 MCP是模型上下文协议(Model Context Protocol)的简称,是一个开源协议,由Anthropic(Claude开发公司)开发,旨在让大型语言模型(LLM)能够以标准化的方式连接到外…...
Kubernetes 创建 Jenkins 实现 CICD 配置指南
Kubernetes 创建 Jenkins 实现 CICD 配置指南 拉取 Jenkins 镜像并推送到本地仓库 # 从官方仓库拉取镜像(若网络不通畅可使用国内镜像源) docker pull jenkins/jenkins:lts-jdk11# 国内用户可去下面地址寻找镜像源并拉取: https://docker.a…...
01_Flask快速入门教程介绍
一、课程视频 01_Flask快速入门教程介绍 二、课程特点 讲课风格通俗易懂,理论与实战相结合 教程:视频 配套文档 配套的代码 最新本版,Python版本是3.12,Flask版本是3.10 即使是从没接触过Flsk的小白也看得懂学得会 三、适用人…...
SSH反向代理
SSH反向代理 一、过程 1、 确保树莓派和阿里云服务器的 SSH 服务正常运行 检查树莓派的ssh服务 sudo systemctl status ssh如果未启用,请启动并设置开机自启: sudo systemctl enable ssh sudo systemctl start ssh检查阿里云服务器的SSH服务 sudo …...
第 5 篇:初试牛刀 - 简单的预测方法
第 5 篇:初试牛刀 - 简单的预测方法 经过前面四篇的学习,我们已经具备了处理时间序列数据的基本功:加载、可视化、分解以及处理平稳性。现在,激动人心的时刻到来了——我们要开始尝试预测 (Forecasting) 未来! 预测是…...
深度学习中的归一化技术:从原理到实战全解析
摘要:本文系统解析深度学习中的归一化技术,涵盖批量归一化(BN)、层归一化(LN)、实例归一化(IN)、组归一化(GN)等核心方法。通过数学原理、适用场景、优缺点对…...
流量抓取工具(wireshark)
协议 TCP/IP协议簇 网络接口层(没有特定的协议)PPPOE 物理层数据链路层 网络层: IP(v4/v6) ARP(地址解析协议) RARP ICMP(Internet控制报文协议) IGMP传输层:TCP(传输控制协议)UDP(用户数据报协议)应用层…...
【原创】Ubuntu20.04 安装 Isaac Gym 仿真器
Isaac Gym 是 NVIDIA 开发的一个基于GPU的机器人仿真平台。其高效的 GPU 加速能力和大规模并行仿真性能,成为强化学习训练和机器人控制研究的重要选择。 本文将介绍 Isaac Gym 的安装过程【简易】。 1.配置环境 Ubuntu20.04 安装 NVIDIA 显卡驱动 Ubuntu20.04 安…...