← 返回 PaperDaily
视觉与图像
StructGen来了:多参考图像生成告别张冠李戴
多参考图像生成最怕什么?不是模型不够大,而是参考一多,语义就开始打架。StructGen 直接把参考图像做成“字典”,用标识符把人、衣服、场景钉死,思路很工程,也很实用。
龙哥读论文
阅读 3
查看原文
原论文信息如下:
告别“说”不清楚:多参考图像生成的痛点
多参考图像生成,听起来像是“把几张参考图拼成一张更像样的图”,实际做起来却经常变成“参考图越多,模型越容易脑子打结”。原因很简单:参考一多,人物、衣服、物体、背景之间的关系就不再是单纯的“看见什么就生成什么”,而是要先搞清楚“谁穿了谁的衣服、谁站在谁旁边、背景该保留到什么程度”。自然语言一旦写长,提示词就开始像说明书,既啰嗦又容易歧义。例如,用户可能想生成一张“张三穿着李四的红色外套站在海边”的图像,但模型往往会把红色外套穿到李四身上,或者把海边的背景与张三的面部特征错误地组合在一起。这种属性与主体的错配,正是多参考生成中最令人头疼的问题。
这篇论文抓住的就是这个最真实的工程痛点:不是模型完全不会生成,而是它常常不知道到底该把哪个属性绑定到哪个主体上。参考图少的时候,问题还能靠运气混过去;参考图一多,模型就开始“张冠李戴”,衣服、眼镜、姿态、背景都可能串台。论文把这个问题总结得很直接:现有方法过度依赖自然语言,而自然语言在复杂多参考场景里,表达成本高、指代不清、还容易漏信息。更糟糕的是,当参考图像中包含多个相似主体(例如两个都穿黑色西装的人)时,自然语言描述“左边的人”或“穿黑西装的人”往往不够精确,导致模型无法区分。这种模糊性在生成过程中会被放大,最终产出的图像往往与用户的预期大相径庭。
更麻烦的是,训练数据也不够给力。很多现有数据集是靠强生成模型“蒸馏”出来的,表面上量大,实际上容易偏向近景主体、缺少真实世界里常见的人物互动和环境关系。例如,合成数据中的人物往往姿态单一、背景简单,缺乏真实世界中常见的遮挡、多人交互和复杂光照条件。换句话说,模型学到的可能是“漂亮但单薄”的合成图,而不是“复杂但真实”的世界。这就解释了为什么不少方法在 demo 里看着还行,一到多人、多物体、多场景交叉的任务上就开始掉链子。例如,在生成“一群人在公园野餐”的场景时,模型可能无法正确处理人物之间的遮挡关系,或者将不同人物的物品(如帽子、背包)错误地分配给其他人。这种在复杂场景下的性能退化,严重限制了多参考图像生成技术在影视制作、虚拟现实和电商等领域的实际应用。
StructGen:巧用“字典”结构,让AI生成不再“张冠李戴”
StructGen 的思路很朴素,但很对症:既然自然语言总是绕来绕去,不如把参考图像先整理成结构化字典。每个参考图像都分配一个唯一标识符,比如“human_1”“obj_2”“scene”,然后指令也不再写成长篇大论,而是直接用这些标识符去点名。这样一来,参考内容和生成目标之间的对应关系就不靠“猜”,而是靠“查”。例如,用户不再需要写“请生成一张图像,其中左边的人穿着右边的人身上的那件蓝色牛仔夹克,背景是第三张图里的那个海滩”,而是可以简单地写“human_1 穿上 obj_1,站在 scene_1 中”。这种表达方式极大地减少了歧义,因为每个标识符都明确地指向一个具体的参考实体。
这套设计最大的价值,不是“看起来新”,而是把跨参考关联从隐式推理,改成显式检索。以前的提示词像在考模型阅读理解,题目长、歧义多、还要自己找重点;现在更像给模型一本带目录的字典,想找谁就点谁。对于多参考生成这种本来就容易混乱的任务,这种做法非常工程化,也非常务实。它从根本上改变了模型处理多参考信息的方式:从被动地“理解”一段复杂的自然语言,转变为主动地“查询”一个结构化的知识库。这种转变不仅提高了生成的准确性,也使得模型的决策过程更加透明和可解释。当生成结果出现问题时,开发者可以很容易地追溯到是哪个标识符对应的参考信息没有被正确利用。
论文还顺手把这个思路落到了具体模型上。StructGen 是建立在 BAGEL 这类统一多模态模型之上的,底层仍然是把图像和文本编码后送入同一个上下文序列,再通过生成模块完成图像合成。但不同的是,StructGen 不再把所有参考内容粗暴地按固定顺序堆起来,而是让“参考字典 + 标识符指令”成为真正的条件输入。具体来说,模型首先通过一个视觉编码器将每张参考图像编码为视觉特征,同时将对应的标识符(如“human_1”)编码为文本特征。然后,这些视觉和文本特征被组织成一个结构化的上下文序列,其中每个标识符都与其对应的视觉特征紧密关联。最后,模型根据包含这些标识符的指令,通过交叉注意力机制从结构化上下文中检索并融合所需的信息,从而生成目标图像。这样做的好处很直接:模型不用在一堆冗长描述里猜“这件衣服到底属于谁”,而是直接根据标识符去找对应实体。
这里顺便把几个缩写解释一下。BAGEL 是论文所依赖的基础统一多模态模型,它能够同时处理文本和图像输入,并生成图像输出;PF 是 prompt following,中文可以理解为“提示遵循能力”,看模型有没有按指令把该组合的元素组合对;SC 是 subject consistency,主体一致性,主要看参考物体、服饰、场景细节保没保住;ID 是 facial ID consistency,面部身份一致性,用来衡量生成的人脸像不像参考对象。这些指标共同构成了评估多参考图像生成模型性能的核心维度。
四步走:基于真实世界图像的高质量结构化数据制备
如果只有一个好想法,没有好数据,最后也可能只是“会说不会做”。StructGen 在数据上花的力气不小,而且这部分恰恰是它能跑起来的关键。论文不是继续往合成数据里加料,而是直接从真实世界图像出发,做了一条结构化数据制备流水线。整个流程分四步:先收集高质量图片,再做参考感知描述,然后抽取参考实体,最后合成带标识符的指令。这条流水线的设计非常精巧,每一步都针对性地解决了现有数据构建方法中的一个关键问题。
第一步是源图像收集。论文从互联网上收集免版权图像,再做一轮很严格的过滤:先用感知哈希去重,避免数据集里一堆“换个角度几乎一样”的样本;再用人脸检测模型筛掉没有清晰人脸、脸太小或者置信度太低的图片;接着用 Q-Align 之类的方法进一步过滤模糊和遮挡严重的人脸。为了让多人场景不至于太少,论文还专门补充了多人图像。最后得到的高质量数据池共有 25,718 张图,这一步很像在从大海捞针里先把“能用的针”挑出来。这个数据池的规模虽然不算特别大,但胜在质量高、场景多样,为后续的结构化数据构建奠定了坚实的基础。
第二步是参考感知描述。这里的关键不是把整张图写成一段普通 caption,而是把图中内容拆成几个实体字段:人物、随身物品、场景。论文刻意没有把所有东西都塞进一个“object”大类里,而是把服饰、手持物等和人物强绑定的内容单独处理,因为这类任务最容易出现属性错配。例如,一张图中可能有两个人,一个人穿着红色T恤,另一个人戴着蓝色帽子。传统的caption可能会写成“两个人,一个穿红T恤,一个戴蓝帽子”,但模型可能无法准确地将“红T恤”和“蓝帽子”分别与对应的人关联起来。而StructGen的参考感知描述则会明确地拆分为“human_1: 红色T恤”和“human_2: 蓝色帽子”,从而避免了歧义。换句话说,模型需要学的不是“有个杯子”,而是“这个杯子到底跟谁有关”。
第三步是参考抽取。论文用生成式模型把实体从原图里“抠”出来,但不是简单裁剪,而是有意识地控制抽取方式:背景要尽量干净,主体姿态要保持大体一致,但又不能完全复制原图,否则模型会学成“贴图机”。尤其是人类主体,论文设计了两种任务模式:Outfit-Conditioned 和 Outfit-Retaining。前者会把人物和服装拆开,测试模型能否把衣服换到正确的人身上;后者则保留原始穿着,考验模型能否整体保住人物外观。这两种模式的设计非常巧妙,它们分别对应了两种不同的应用场景:虚拟试穿(需要更换服装)和人物肖像生成(需要保留原有外观)。通过在这两种模式下训练,模型能够学会更灵活地处理人物与服装之间的关系。
第四步是标识符指令合成。前面已经把实体拆成结构化字段了,这一步就把这些字段重新组织成可训练的指令文本,让模型学会读懂“human_1”“obj_2”“scene”这些显式锚点。为了让模型更稳,论文还做了混合采样:同一个样本可能以图像参考形式出现,也可能把某些参考换成文字描述形式出现。这个设计很聪明,因为它逼着模型不要死盯着某一种输入模态,而是同时适应图像参考和文本参考。例如,对于同一个生成任务,训练数据中可能包含两种形式:一种是“human_1 [图像] 穿上 obj_1 [图像]”,另一种是“human_1 [图像] 穿上 [文本描述:一件蓝色牛仔夹克]”。这种混合采样策略极大地增强了模型的泛化能力,使其在面对不同形式的用户输入时都能保持稳定的性能。
实验PK:StructGen如何全面超越现有方法
实验部分的看点不在于“赢了一点点”,而在于它基本印证了论文最初的判断:结构化上下文 + 真实世界结构化数据,确实比单纯堆自然语言更适合复杂多参考生成。论文在两个基准上做了比较:一个是 OmniContext 的人类相关子集,另一个是自己构建的 StructGen Bench。前者偏公共基准,后者更难,尤其强调多人、场景和服饰组合的复杂关系。这种双基准验证策略确保了实验结果的可靠性和说服力。
先看 OmniContext。StructGen 在整体上优于 BAGEL、BAGEL-MICo、Echo-4o 和 OmniGen2,尤其是在更复杂的多人和多人+场景组合上优势更明显。这个结果其实不意外,因为结构化标识符本来就是为了解决“谁对应什么”的问题,而这些子集恰恰最容易暴露属性错配。更值得注意的是,StructGen 不只是 PF 变好,SC 和 ID 也同步提升,说明它不是靠“只会听话”取胜,而是真的把参考细节和身份信息保住了。例如,在“多人+场景”的子集中,StructGen生成的图像不仅正确地匹配了每个人物的服装和面部特征,还准确地还原了参考场景中的背景元素,如树木、建筑和光照条件。
再看 StructGen Bench。这个基准把任务拆成 8 个子类,覆盖单人/多人、是否带场景参考、服装条件式/服装保留式等组合。这里的实验更像“压力测试”:不是问模型能不能生成,而是问它在复杂约束下还能不能稳住。StructGen 依然保持领先,说明它不是只在公共基准上刷分,而是在自己设计的难题里也站得住。对工程落地来说,这一点比单一高分更重要,因为真实业务往往就是这些复杂组合。例如,在“多人+场景+服装条件式”这个最难的子集中,StructGen生成的图像在人物身份、服装匹配、场景还原和整体构图方面都表现出了极高的质量,而其他方法则出现了不同程度的错误,如人物面部扭曲、服装颜色错误或背景元素缺失。
定性结果也很能说明问题。和 Echo-4o 对比时,StructGen 在服装条件式任务里更容易把“正确的衣服”放到“正确的人”身上;在服装保留式任务里,又能更完整地保住人物身份和全身外观。更难得的是,它不是只会把主体抠准,连背景和光照也更自然,这恰好说明前面的真实世界数据不是摆设。很多方法最大的问题不是主体不对,而是背景像“AI 贴图棚”,StructGen 在这点上更像真的把场景理解了一遍。例如,在一张生成“海边日落”背景的图像中,StructGen不仅准确地还原了人物,还正确地模拟了日落时分的暖色调光照,使人物的肤色和服装颜色都呈现出与背景一致的自然效果。
论文还做了消融实验,说明结构化上下文、数据构建策略和训练采样策略都不是“装饰品”。如果去掉结构化设计,模型会更容易把多个参考混在一起;如果缺少高质量真实数据,视觉细节和场景交互会明显变弱;如果训练时不做混合采样,模型对不同输入格式的适应性也会下降。这个结论其实挺朴素:不是某一个小技巧神了,而是整个链路从表示、数据到训练一起配合,才把效果推上去。消融实验的结果清晰地展示了每个组件对最终性能的贡献,为后续研究提供了宝贵的参考。
不只是图像:文本参考也能生成
StructGen 还有一个很有意思的副作用:它不只支持“图像参考 + 指令”,还支持把参考字段换成文本描述。也就是说,结构化上下文本质上并不依赖某个具体模态,而是依赖“实体—标识符—关系”这套组织方式。只要实体字段足够清楚,模型就能把文本里的细节重新组织成图像生成条件。例如,用户可以不提供“obj_1”的参考图像,而是直接写“obj_1: 一件带有金色纽扣的深蓝色羊毛大衣”,模型同样能够根据这个文本描述生成符合要求的大衣,并将其正确地穿在指定的人物身上。
这件事的意义不小。很多多参考方法其实是“图像输入专用”,一旦参考形式变化,模型就不太会用了。StructGen 这里展示出一种更通用的思路:把生成任务从“识别某张图”升级成“理解结构化实体关系”。这意味着它未来不仅能用于多参考图像生成,也可能迁移到更复杂的图文组合生成、内容编辑,甚至是多实体控制的可视化生成场景。例如,在图文广告制作中,设计师可以先用文本描述一个产品的外观,再提供一张模特图像和一张背景图像,StructGen就能自动生成一张高质量的产品展示图。
未来展望与局限性
StructGen 的方向是对的,但它也不是“从此天下太平”。首先,标识符式输入虽然清晰,但对用户来说仍然需要先理解一套结构化表达方式,这比随手写一句自然语言更有门槛。对于面向普通用户的产品,怎么把这种结构化方式包装成更友好的交互,是下一步必须考虑的事。例如,可以开发一个图形化界面,让用户通过拖拽和选择的方式来自动生成标识符指令,从而降低使用门槛。
其次,论文重点聚焦在人类中心场景,尤其是人物、服饰、物品和背景的组合。这一选择很合理,因为这类任务最容易出错,也最有应用价值,但它也意味着方法的泛化边界还没被完全证明。比如更开放的通用物体组合、更复杂的跨类别关系,结构化标识符是否依然足够稳定,还需要更多验证。例如,在生成“一个机器人拿着一把吉他站在火星表面”这样的场景时,模型是否还能准确地处理“机器人”、“吉他”和“火星表面”这三个完全不同类别的实体之间的关系,仍有待研究。
再往工程一点看,StructGen 依赖高质量数据构建和较完整的预处理链路,包括人脸检测、质量评估、实体抽取、身份匹配等步骤。这意味着它的效果并不是“拿来即用”的魔法,而是建立在一整套数据治理体系上。对想落地的团队来说,真正的成本可能不在模型本身,而在数据清洗和结构化标注的组织能力。此外,实体抽取和身份匹配等步骤本身也可能引入错误,这些错误会沿着数据链路向下传播,最终影响生成结果。因此,如何构建一个更加鲁棒和自动化的数据预处理流水线,是StructGen走向实际应用的关键挑战。
不过,StructGen 的启发很明确:多参考生成想要真正解决“说不清、对不准、保不住”的问题,光靠更长的提示词不行,得从输入表示、数据构造和训练目标一起重做。这个方向很像工程里常见的真相——不是把话说得更复杂,而是把问题拆得更清楚。🙂
龙迷三问
这篇论文到底解决了什么问题?它解决的是多参考图像生成里最常见的“指代不清”和“属性绑错人”问题。论文不再让模型死啃长提示词,而是把参考图像组织成带标识符的结构化字典,让模型更容易知道谁对应什么。通过这种方式,模型能够更准确地理解用户的意图,生成与所有参考图像都保持高度一致的结果。
PF、SC、ID 分别是什么意思?PF 是提示遵循能力,看模型有没有按要求生成;SC 是主体一致性,看参考物体、服饰和场景细节保得怎么样;ID 是面部身份一致性,主要衡量生成的人脸像不像参考对象。这三个指标共同构成了评估多参考图像生成模型性能的核心维度,分别从指令理解、细节保留和身份保持三个方面对模型进行全面的评估。
为什么这篇论文还要自己做数据集和基准?因为现有数据和基准对复杂人类中心场景覆盖不够,很多样本太“干净”也太简单。StructGen 通过真实图像构建结构化数据,再用更难的基准去测,才能真正看出方法是不是只会在舒适区里表演。现有的公共基准(如OmniContext)虽然规模较大,但其任务设计相对简单,无法充分暴露模型在复杂多参考场景下的缺陷。StructGen自建的数据集和基准则填补了这一空白,为多参考图像生成领域提供了一个更具挑战性的评估平台。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评
论文创新性分数:★★★★☆ 结构化字典式上下文不是空想,确实切中了多参考生成最难的“绑定关系”问题,思路清楚。将隐式的语义理解转化为显式的标识符检索,这一设计理念具有很高的创新性。
实验合理度:★★★★☆ 公共基准加自建难基准,外加消融实验,整体比较完整;但自建数据和基准仍存在一定方法同源性,读者需要留意。虽然自建基准可能存在一定的方法偏向,但论文在公共基准上的优异表现也为其方法的有效性提供了有力支撑。
学术研究价值:★★★★☆ 对多参考生成的输入表示和数据构造都给出了可复用思路,研究价值不低,尤其适合后续继续做结构化控制。论文提出的结构化上下文建模方法为后续研究提供了一个新的范式。
稳定性:★★★☆☆ 在人类中心场景表现不错,但对更通用的开放组合任务,稳定性还需要进一步验证。论文的实验主要集中在人物、服饰和场景的组合上,对于其他类型的实体组合(如动物、植物、建筑等)的稳定性尚未充分验证。
适应性以及泛化能力:★★★☆☆ 结构化上下文有泛化潜力,但论文主要验证在人类、服饰、场景相关任务上,跨域能力还不能直接下结论。虽然论文展示了文本参考的能力,但这是在同一域内的泛化,对于跨域(如从人物生成到动物生成)的泛化能力仍需进一步研究。
硬件需求及成本:★★★☆☆ 训练只更新部分层,成本比全量微调友好,但前期数据构建链路比较重,真正省的是推理侧的表达成本。对于有数据工程能力的团队来说,StructGen是一个性价比很高的方案。
复现难度:★★★☆☆ 代码开源是加分项,但数据构建、参考抽取和身份匹配链路较长,复现并不算轻松。对于希望复现该工作的研究者来说,需要投入较多的时间和精力在数据预处理环节。
产品化成熟度:★★★☆☆ 适合多参考生成、虚拟试穿、营销素材合成等场景,但要先把结构化输入做成更友好的产品交互。对于普通用户来说,直接使用标识符指令的门槛较高,需要开发更友好的用户界面来降低使用门槛。
可能的问题:方法有效但偏重人类中心场景,数据链路复杂,跨域泛化和真实产品交互仍需继续打磨。StructGen为多参考图像生成领域提供了一个非常有价值的思路和工具,但其走向大规模实际应用仍需克服一些工程和交互上的挑战。
主要参考文献
[1] Jianing Peng, Mengyu Wang, Henghui Ding, et al. StructGen: Disambiguating Multi-Reference Image Generation via Structured Context Modeling. arXiv, 2026.
[2] StructGen 项目主页与代码:https://jianingpeng0382.github.io/StructGen/
[3] 原文链接:https://arxiv.org/pdf/2607.15619v1.pdf
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!

欢迎加入龙哥读论文粉丝群,
扫描下方二维码或者添加龙哥助手微信号加群:kangjinlonghelper。
一定要备注:研究方向+地点+学校/公司+昵称(如 图像处理+上海+清华+龙哥),根据格式备注,可更快被通过且邀请进群。
『龙哥读论文』微信群目前包含:图像处理、大模型及智能体、自动驾驶及机器人、AI医疗及AI金融5个群
多参考图像生成总爱“认错人、穿错衣、摆错景”?StructGen 直接把参考图像做成字典,用标识符点名,少废话,少跑偏,适合想看清楚“这套系统到底怎么落地”的读者。

