
你有没有试过这样一个操作:把四张图片扔给AI,让它"生成一个场景,用图1的车、图2女人身上的花纹、套在一个新做的咖啡杯上,杯子摆在车右下方的桌子上"?
这句话听起来有点绕,但这恰恰是现在最前沿的多模态AI模型正在挑战的任务。GPT-Image-1.5、Nano Banana 2这些名字你可能听过,它们号称能同时理解好几张参考图,把里面的元素拼装、混合、重新组合成一张全新的画面。问题是,这些模型到底做得怎么样?我们又该怎么去评判它们?
这就是上海交通大学团队这篇论文要解决的事。他们发现了一个几乎被所有人忽略的漏洞:现有的评测方法,根本没法说清楚一个模型失败的时候到底是哪里出了问题。
一个尴尬的现状:打分打了个寂寞
先说说这件事有多难。
假设你让某个模型生成"一个人穿着参考图里的那件外套",结果生成的图里人物穿错了外套的颜色。这时候问题出在哪儿?是模型压根没认出图里的那个人?还是外套本身提取错了?还是外套认对了,但绑定到人物身上的过程出了岔子?
**现有的评测方式给你的答案往往只有一个笼统的分数**,比如"这张图0.6分"。至于这0.6分到底扣在哪个环节,没人告诉你。
这就好比你去医院体检,报告上只写了一个"亚健康"的总分,却不告诉你是血压高还是血糖高。你除了知道自己"不太行"之外,什么具体信息都拿不到,更别提对症下药了。
论文里提到的几个先行者,比如MultiBanana、MICON-Bench、MacroBench,虽然把参考图片的数量做到了很多张,评测规模也扩大了不少,但骨子里还是延续了老一套的做法:**先定义好一堆任务类型(比如"物体组合"、"风格迁移"),然后往这些框里填案例**。
问题是,现实中用户对多参考图生成的需求几乎是无穷组合的。你不可能提前预判所有的任务类型,就像你不可能提前列出所有可能出现的排列组合一样。这种"任务导向"的分类方式天生就有三个硬伤:覆盖不全、无法诊断故障根源、复杂度没法量化控制。
拆解成四个动作:解决问题的思路从哪来
研究者们的洞察其实挺朴素的:**不管表面上任务长什么样,多参考图生成骨子里都是那么几个基本动作在反复组合**。
这就像做菜。不管你今天要做的是宫保鸡丁还是水煮鱼,本质上无非是切、炒、调味、装盘这几个基本动作的排列组合。你不需要为每一道菜单独发明一套烹饪理论,你只需要把这几个基本动作研究透,剩下的就是排列组合的事情。
基于这个思路,他们定义了四个"操作符"(operator),也就是四个原子级别的能力单元。
> 锚定(Anchor,符号是f):从一张参考图里精准定位出某个特定实体,并且在生成的新图里保留它的身份特征。比如从图1里认出那辆蓝色汽车,并且保证生成的图里这辆车还是那辆车,而不是变成了别的颜色或造型。
> 解耦(Disentangle,符号是g):从参考图的实体里,把某个特定属性单独抽取出来,同时把这个属性和其他无关的信息剥离干净。比如从图2里穿着花纹裙子的女人身上,只提取出那个花纹本身,而不把这个女人的长相、身材一起带过来。
这两个操作听起来简单,但你仔细想想会发现,锚定的难点在于"认出正确的那个",而解耦的难点在于"只拿走想要的那部分,不多不少"。这背后其实是两种完全不同的能力:一个是识别定位能力,一个是信息切割能力。
再往下是另外两个操作。
> 应用(Apply,符号是⊕):把解耦出来的属性绑定到一个新的目标上。这个目标可能是刚才锚定出来的实体,也可能是文字描述里提到的一个全新对象。比如把刚才提取的花纹应用到一个全新的咖啡杯上。
> 组合(Compose,符号是C):把多个已经处理好的元素放进同一个场景里,让它们按照某种关系(比如空间位置、互动方式)合理共存。比如让车和杯子摆在同一个画面,并且杯子确实在车的右下方。
这四个动作串起来,就能描述前面那个复杂的例子:先锚定汽车,再解耦花纹,然后把花纹应用到咖啡杯上,最后把汽车和咖啡杯组合进同一个场景。
有意思的是,这套框架不只是理论上好看,它天然覆盖了很多实际应用场景。比如虚拟试衣,本质上就是"锚定一个人 + 应用多件衣物属性";比如多人合照排版,本质上就是"组合多个锚定的人物 + 应用一个统一的布局约束"。这些原本被当成完全不同的独立任务,在这套框架下其实是同一套操作符的不同排列组合。这也从侧面证明了这套拆解方式确实抓住了问题的本质,而不是又造了一套新的分类标签。
把复杂的提示词变成一个公式
光有四个动作还不够,真正复杂的生成需求往往是这四个动作层层嵌套的产物。
论文里把这种嵌套结构写成了一种类似数学公式的东西,从局部到全局分成三层:实体表达式(单个目标物体是什么)、场景表达式(多个物体怎么组合)、完整提示公式(整个参考相关的结构,加上全局的风格光照等约束)。
举个论文里的例子:
```
F = C(C(f?, T?⊕g?)⊕g_rel, f?⊕g?⊕g?) ⊕ g_global
```
这条公式看着吓人,拆开看其实很简单。内层的C(f?, T?⊕g?)是把一个锚定实体f?和一个被属性g?修饰过的文字描述实体T?组合在一起,还要满足一个关系约束g_rel。外层再把这个组合结果和另一个被两个属性修饰的锚定实体f?⊕g?⊕g?放到一起。最后整个场景再套上一个全局风格约束g_global。
**这个公式化的表达方式,本质上是把原本藏在自然语言里的隐形结构给显性化了**。
这就好比你以前看一份复杂的合同,条款和条款之间的依赖关系全靠你自己去理解和梳理。而现在有人帮你把这份合同画成了一张流程图,谁依赖谁、谁包含谁,一目了然。如果没有这张流程图,你没法量化这份合同到底有多复杂,更没法指出问题出在第几条第几款。公式化之后,复杂度可以直接用"公式里有几个操作符槽位"来衡量,这个槽位数量论文里叫slot count。
有了这个公式,三件事情就都变得可操作了:第一,可以把公式里的操作符项系统性地枚举出来,形成一个模板空间,用来批量生成多样化的测试案例;第二,参考图相关的复杂度可以用槽位数量来严格量化和控制;第三,公式里每一个操作符实例都能对应生成一道评测题目,跟能力维度精确对齐。
从五万张图片到一千六百个测试案例
理论框架有了,接下来就是把它落地成一个真正能用的评测集,也就是TRACE-Bench。
**这个基准包含大约1600个测试案例,覆盖槽位数从1到8,背后建立在631个公式模板和大约4000张参考图片之上。**
图片来源上,研究者们没有偷懒,用了三个互补的数据源:Danbooru2025(一个动漫插画数据集,风格多样、角色设计规整)、LAION-2B-en-Aesthetics(覆盖多样化的网络图文数据)、cc12m-4mp-realistic(专门加强真实人类主体的覆盖)。经过筛选,先从大约五万张候选图片里,用一套均衡采样算法挑出大概4000张,确保各个类别和属性不会出现严重的长尾失衡问题,之后再经过人工质量审核,最终确定了3839张,又补充了约200张合成图片来覆盖一些稀有场景。
每张图都经过一套结构化标注流程,把里面的前景实体和相关属性抽取出来,分成四大层级:外观(比如花纹、材质、破损痕迹)、形态(比如发型、五官、轮廓形状)、动态(比如动作姿势、表情、朝向)、全局属性(比如整体画风、光照、构图)。
> 结构化标注:用一套预定义的分类体系,把图片里的实体和属性都标记成结构化的数据格式,方便后续程序化地组合成测试题目。
这套标注体系有个细节值得一提:对人物和类人角色的标注要比普通物体细得多,专门加了发型、五官特征、表情这些标签。为什么这么做?因为用户对人物身份和外观的错误特别敏感,同样是"生成错了",一个物体的材质稍微不对可能没人注意,但如果生成的人脸变了个人,这个错误一眼就能看出来,而且会让用户觉得整张图彻底失败了。这个设计选择背后其实藏着一种朴素的用户心理学判断。
标注完成之后,就是把公式模板和真实图片配对,喂给一个视觉语言模型(VLM),让它生成一段自然语言描述,作为最终测试用的提示词。整个流程还加了两道质量关卡:先用GPT-5.4自动过滤掉4.3%不合格的提示词,再人工审查剔除9%,确保每条提示词都清楚地把每个参考图绑定到具体的目标上,而且每张参考图都至少被用到一次。
打分不是拍脑袋,是一套可拆解的问答系统
评测环节是这套框架真正体现价值的地方。
传统做法通常是让一个VLM看着生成的图片打一个总分。TRACE-Bench反过来,先把公式结构里的每一个操作符实例都转换成一组具体的是非题,然后让VLM针对每一道题给出通过或不通过的判断。
比如对于"锚定"这个操作,评测问题会分成两块:这个实体存不存在、这个实体和参考图是否一致。对于"应用"这个操作,问题拆得更细:转移过来的属性是否存在、是否正确绑定到了预期的目标上、承载这个属性的实体本身是否保持完整、整体融合是否自然。
> VLM:Vision-Language Model,视觉语言模型,一种既能理解图片又能理解文字的AI模型,这里被用作自动打分的"裁判"。
**为什么非要拆成这么多道是非题,而不是让AI直接给个总体印象分?**
因为操作符层面的成功往往不是非黑即白的单一判断。一张生成图可能包含了正确的目标物体,但没能忠实还原参考图里的细节;也可能属性确实转移过去了,却绑定到了错误的目标上。一个笼统的判断根本区分不出这些细微差别,而完全开放式的评分又容易引入额外的主观偏差,降低一致性。拆成多个聚焦具体某一方面的是非题,是在"太粗"和"太主观"之间找到的一个平衡点。
为了验证这套打分方式靠不靠谱,研究者们专门找人工标注员对照检验。他们抽了200个测试案例,分别用Nano Banana 2和Emu3.5生成,一共400张输出图,让人工回答同样的是非题,再跟四个不同的VLM裁判(Gemini-2.5-Pro、Gemini-3-Pro、GPT-5.1、GPT-5.4)的判断做对比。结果是四个裁判和人工标注的题目级一致率都在85.4%到88.4%之间,说明这套打分系统并不依赖某一个特定的AI模型才能生效,换个裁判结果也差不多稳定。
诊断树:像剥洋葱一样找到失败的真正原因
光把失败拆成四类还不够过瘾,论文里还设计了一套更狠的招数,叫诊断树分析。
思路是这样的:如果一个复杂案例整体失败了,就把公式结构一层一层拆开,每拆掉一层就重新生成一次图片,重新打一次分,看看在哪一步这个问题突然消失了或者突然暴露出来。
具体拆解有几条规则。**全局引用剥离**:先把公式里的全局约束项(比如整体画风要求)一个个去掉,看看是不是这些全局约束在干扰底层的锚定或者属性保真度。**组合拆分**:如果公式里有多个元素被组合在一起,就一次只保留一个参考相关的分支,其余分支降级成纯文字描述,观察问题是不是只在联合出现时才暴露。**关系简化**:如果几个实体之间存在明确的互动关系,先把这个关系简化成文字描述,再逐步拆掉参与互动的实体本身。**属性剥离**:对于那些被属性修饰过的实体,直接去掉附加属性,只留下承载实体本身,看看问题出在承载物身上还是附加属性身上。
这套流程其实很像医生排查病因的思路。**如果一个病人同时有发烧和咳嗽,医生不会直接下结论说"你感冒了",而是会一项一项排查:先看看是不是感染引起的发烧,再单独排查咳嗽是不是过敏。如果不做这种拆分式的排查,医生很可能开错药,把两种本来不相关的症状当成同一个病去治,结果两个都治不好。**
论文里给了一个具体案例。Qwen-Image-Edit-2511生成的一张图,一个女人和一辆复古汽车都出了问题。通过诊断树拆解发现,这个女人的身份问题只在加入了全局风格约束之后才出现,说明她本身被认出来是没问题的,是风格约束"污染"了身份信息;而那辆复古汽车即便在最简化的子案例里也已经走样,说明这辆车本身的锚定难度就偏高,属于模型的内在短板,但有意思的是,当把这辆车和那个女人放在一起联合参考的时候,车的身份反而被保留下来了,说明联合参考在某些情况下反而能起到互相加强的作用。
这个发现本身就挺反直觉的。你可能会以为场景越复杂、涉及的元素越多,出错的概率就越高。但诊断树告诉我们,事情没那么简单:有时候"抱团"反而能让某个本来脆弱的元素更稳定,这背后可能是模型在处理多个相互关联的参考信息时,会用其中一个信息去校正另一个信息的理解。
为了验证这套诊断方法不是自说自话,研究者又对200个Emu3.5生成的案例跑了一遍完整的诊断树,人工核对自动定位的失败根源,结果自动诊断和人工判断的吻合率达到82.6%。
统计结果显示,联合组合干扰是"锚定"、"解耦"、"应用"三类失败最常见的根源,说明Emu3.5往往能够单独保留住某个参考内容,但一旦要把多个参考相关的实体组合在一起,就容易把之前保留住的东西给弄丢了。而"组合"本身的失败则最常被定位到全局引用的干扰上,占了29%,说明全局的风格或场景约束是打乱构图连贯性的一个主要来源。
九个模型跑一遍,谁的短板在哪里
理论和工具都齐备了,接下来就是拿现在市面上最强的模型来真刀真枪地测一遍。
研究团队测试了9个代表性模型,4个闭源(GPT-Image-1.5、Nano Banana、Nano Banana Pro、Nano Banana 2)、5个开源(Emu3.5、FireRed Image Edit 1.1、Qwen-Image-Edit两个版本、OmniGen2)。
| 模型 | 锚定(f) | 解耦(g) | 应用(⊕) | 组合(C) | 平均分 |
|---|---|---|---|---|---|
| GPT-Image-1.5 | 0.7649 | 0.6890 | 0.7541 | **0.9259** | 0.8118 |
| Nano Banana | 0.7650 | 0.6786 | 0.7631 | 0.8975 | 0.7981 |
| **Nano Banana 2** | **0.7724** | **0.7384** | **0.7989** | 0.9100 | **0.8205** |
| Nano Banana Pro | 0.7488 | 0.7148 | 0.7869 | 0.9214 | 0.8172 |
| Emu3.5 | 0.6587 | 0.4982 | 0.5434 | 0.7871 | 0.6561 |
| FireRed Image Edit 1.1 | 0.6348 | 0.4703 | 0.4258 | 0.7218 | 0.5889 |
| Qwen-Image-Edit-2511 | 0.6009 | 0.4097 | 0.3742 | 0.7776 | 0.5858 |
| Qwen-Image-Edit-2509 | 0.5210 | 0.3755 | 0.3282 | 0.7627 | 0.5483 |
| OmniGen2 | 0.5635 | 0.3719 | 0.3195 | 0.7070 | 0.5348 |
数据摆出来之后,几个结论就很清晰了。
闭源模型全面领先开源模型,Nano Banana 2以0.8205的平均分拿下第一。但**即便是最好的模型,四项能力也没有一项接近满分1**。
**最大的短板集中在解耦(g)和应用(⊕)这两个环节,而不是很多人可能会以为的场景组合(C)**。
这个发现其实挺出乎意料的。直觉上你可能觉得,把多个东西拼进一张图,让它们看起来协调自然,这才是最难的部分,毕竟这涉及空间关系、光影一致性、透视这些复杂的视觉推理。但实际测下来,组合反而是相对最拿手的环节,GPT-Image-1.5在这一项甚至冲到了0.9259。真正卡脖子的,是"精准地把一个属性从原来的载体上剥离出来,再准确无误地绑到新目标上"这件事。
这就好比装修房子。**把家具搬进新房间摆好位置,这看起来是个体力活,但其实相对容易控制;真正难的是把老家具上某一块特定的花纹图案精确复刻到一件全新的家具上,还要保证复刻的花纹不多不少,边界清晰,不带走原来家具的木纹或者划痕。如果模型没能力做好这种精细的"信息切割",就会出现要么复制过头(把不相关的东西也一起带过来),要么复制不足(只学了个大概轮廓)的问题。**这恰恰解释了为什么0.74这个数字看起来不算太差,但对用户体验来说已经是一个明显能感知到的失败率。
开源阵营里,Emu3.5表现最好,Qwen-Image-Edit-2511相比上一代2509版本在四项指标上都有提升,但整体和头部闭源模型之间的差距依然明显,尤其在解耦和应用这两项上差得更远。作为对照,论文还报告了CLIP相似度这个传统指标,排名趋势大体一致,但这个指标对"内容是不是转移到了正确的目标"这件事不够敏感,说明传统指标本身也存在盲区。
复杂度到底从哪儿来
有一个直觉上大家都会有的猜测:公式越复杂(槽位数越多),模型出错的概率就应该越高。
论文专门针对"锚定"这个能力做了对比实验,一组按槽位数量分组统计表现,另一组按参考图片里包含的实体数量分组统计表现。结果显示,**锚定表现随槽位数量增加只是轻微下降,但随着参考图里实体数量的增多,下降得明显更快**。
换句话说,真正让"认出正确的那个东西"变难的,不是整个任务结构有多复杂,而是那张参考图本身有多"乱"。如果一张参考图里挤满了十几个人和物体,模型光是找到你想要的那一个,难度就已经陡增了,跟这个任务后面还要不要再组合、再应用其他属性,关系反而没那么大。
这个发现提示了一个很实际的问题:**评测这类模型的时候,如果只按任务复杂度分组,可能会低估某些看似简单实则暗藏陷阱的案例**。一张槽位数只有2的案例,如果参考图本身极其杂乱,其难度可能反而超过一个槽位数为5但参考图干净利落的案例。这也说明了操作符级别的细粒度分析,确实能捕捉到只看整体结构会遗漏的信息。
试衣间和合影墙:抽象框架落回真实场景
前面讲的都比较理论,那这套框架在真实应用里到底长什么样?
论文举了两个特别贴近日常的例子。第一个是虚拟试衣,本质上可以写成这样一个公式:锚定一个人,再依次应用一件又一件的衣物或配饰。左边成功的例子里,目标人物和参考的衣物都被完整保留了下来;失败的例子则出现了错误的服装属性迁移,比如颜色或者版型对不上。
第二个是多人合照排版:把多个锚定好的人物组合在一起,套上一个统一的布局约束。这个模式可以延伸到不同的人数和空间排列方式。测试发现,满足这种共享布局约束的过程中,经常会出现身份丢失或者主体重复的问题。
这两个例子其实是在说同一件事:**你以为的"独立应用场景",在这套框架下不过是四个操作符的不同排列组合。**如果没有这套统一的抽象,每出现一个新的应用场景(试衣、合影、换背景、风格迁移),研究者就得重新设计一套评测方案,重新踩一遍坑。有了这套公式化框架之后,新场景往往只是把已有的操作符重新排列一下,评测题目也能自动跟着生成,不需要从零开始。
数字之外,图片会说话
论文里还放了不少直接对比不同模型输出结果的案例图,从中能看出一些光看数字表格看不出来的模式。
在槽位数量很高(比如8)的复杂案例里,开源模型往往更倾向于死磕,尽量把所有参考相关的内容都塞进图里,哪怕塞得不太自然;而闭源模型有时候反而会"偷懒",丢掉部分参考信息,退化成一种更接近普通文字生图的风格。这背后可能反映了不同模型在训练目标上的取舍差异:一种更看重"指令覆盖率",一种更看重"画面美观度和自然度"。
开源模型内部也有明显差异,Emu3.5总体上保留参考内容的能力更强,而FireRed在高复杂度案例里偶尔会出现奇怪的模糊瑕疵。有意思的是,Qwen-Image-Edit的2509和2511两个版本在部分案例里生成结果高度相似,暗示这两代模型在生成行为上可能有比较近的血缘关系。而GPT系和Gemini系(Nano Banana系列)在同样的提示词下,画面风格倾向差异很明显,说明不同厂商的模型底层审美和生成偏好确实是天差地别的。
写在后面
读完这篇论文,最让我印象深刻的其实是那个反直觉的实验结果:**组合场景比精细的属性绑定更容易做对**。这打破了我原本的一个默认假设,我以为AI生成图片最难的部分应该是把多个东西凑成一张合理的画面,毕竟这需要处理空间关系、光影统一这些看起来很"高阶"的视觉推理。但数据摆在那里,几乎所有模型在组合这一项的得分都明显高于解耦和应用,说明"把东西凑到一起摆好"这件事,对现在的模型来说已经相对成熟,真正卡住的是那种更精细的"外科手术式"信息操作。
诊断树里那个"联合参考反而能加强身份保留"的发现也挺有意思,它提示了一件事:模型的能力短板不是线性叠加的,有时候更复杂的场景反而能给模型提供更多锚定线索。这跟我们平常想象的"越复杂越容易出错"不完全一致,值得后续研究者继续深挖这背后的机制到底是什么。
这套评测框架目前只覆盖静态图片,论文自己也提到未来可以往视频、跨视角生成这些方向延伸。如果哪天有人真的把这套操作符体系搬到视频生成上,"锚定"变成了在时间轴上追踪同一个人物,"解耦"变成了提取一段特定的动作而不带走背景,那会是什么样子?这个问题我觉得比这篇论文本身更值得期待答案。
Q&A
Q1:TRACE-Bench是什么?
A:TRACE-Bench是上海交通大学团队提出的一个多参考图像生成评测基准,包含约1600个测试案例,通过将复杂的图像生成需求拆解为锚定、解耦、应用、组合四个原子操作符,实现了对AI模型能力的细粒度诊断,而不是给出一个笼统的总分。
Q2:为什么现在的AI图像生成模型解耦和应用能力比场景组合能力差?
A:论文测试发现,即便是表现最好的Nano Banana 2,解耦(属性提取)得分也只有0.7384,应用(属性绑定)得分0.7989,都明显低于组合(0.9100)。这说明把多个元素合理摆放到一个场景里相对容易,但精确地把某个属性从原始载体上剥离出来,再不多不少地绑定到新目标上,是当前模型更难攻克的短板。
Q3:诊断树分析具体是怎么工作的?
A:诊断树通过逐步拆解一个复杂的生成公式,比如先去掉全局风格约束,再把多个组合的实体拆开单独测试,观察问题在拆解的哪一步消失或出现,从而定位失败的真正根源,区分究竟是模型对某个元素本身认知有缺陷,还是复杂场景组合时产生了相互干扰。
好文章,需要你的鼓励
这篇论文提出一种插件式2D动作接口,让已训练好的3D运动语言模型无需修改或微调即可直接理解2D姿态输入。实验证明2D输入效果媲美3D输入,且在真实视频场景下配合专门的降噪适配器,2D方案比3D姿态估计更省算力、更实用,为动作理解模型的现实部署提供了新路径。
研究团队让8种AI智能体独立完成100项真实科研任务,深度剖析800份研究轨迹后发现,即便是最强模型,也普遍存在"发现问题却不修正"的现象,背后根源指向AI缺乏检验自身产出、主动纠错的元认知能力。
WorldRover是一套面向可探索世界建模的合成视频数据引擎,基于虚幻引擎构建,能让同一段探索轨迹在保持路线与场景一致的前提下,重新渲染为多种视角和外观状态,并同步提供深度、光流、长程点追踪等丰富标注,最终发布WorldRover-10M数据集,含2190万帧、202.7小时视频。
这篇论文指出,现有多目标强化学习训练大模型时存在"一刀切"分配优化精力的问题,提出SA-MRPO方法,根据每个奖励目标的饱和程度动态调整其权重,在数学推理、自适应推理、代码生成等任务上均取得优于现有方法GDPO的效果。