WithEveryone把十人合照身份相似度做到0.499,抄脸降到0.055

WithEveryone: Unified Planning and Identity Grounding for Group Image Generation

Hengyuan Xu, Qixun Wang, Yiji Cheng, Miles Yang, Zhao Zhong, Wei Cheng, Xingjun Ma, Yu-gang Jiang

cs.CV

2026-08-21

复旦与腾讯混元的WithEveryone用布局锚定身份损失,一次生成5–10人合照。目标上下文相似度0.499,超过GPT-Image 2的0.462;抄贴伪影从0.169降到0.055,覆盖率97.3%。

这篇在解决什么

身份保持生图在一个人、两个人时已经能用,五到十个指定人物放进同一张图就会塌。每个参考脸要绑到不同的人和位置;训练时身份损失还得在一堆噪声脸之间做对应。开源方法多停在三到五人,Nano Banana Pro官方上限七人。人一多,信号被稀释,脸会复制、合并,肢体和站位也一起乱。

旧的身份损失在两人以上会先用人脸embedding做匈牙利匹配。训练早期、噪声很高时,预测脸几乎长一样,匹配接近随机,配对错了就把两个身份往对方拉。监督本该把人分清,结果互相抵消。

方法

WithEveryone是一个统一多模态模型:文本和结构化规划自回归,图像latent走flow matching。流程按因果顺序排好。

先给每个入选参考提取512维ArcFace,投影成一个ID token,参考变成带地址的集合,不是一锅embedding。因为单token很容易在一两万token的交错序列里被忽略,再加ID Representation Forcing:出图前为每个人预测一个与目标ArcFace对齐的表示,给后面的图像token当身份脚手架。

空间关系交给Layout CoT。模型按固定顺序写出人物索引、人脸框、身体框、姿态关键点和身份–布局绑定,坐标词表2002个token。确定性渲染器把规划画成条件图,再送进生成。对应关系从标注框读出,不从生成图里猜。Layout-Grounded ID Loss在同一批标注区域裁预测图和目标图,各自过ArcFace。对应关系由构造保证,五到十人也能各自监督。训练语料约40万张合照,评测210张、身份与训练不相交。

结果

主表用ArcFace、FaceNet、AdaFace三个编码器平均。

方法Sim(Tgt)↑Sim(Ref)↑Copy-Paste↓Coverage↑Dup↓
WithEveryone0.4990.5400.0550.9730.028
GPT-Image 20.4620.5830.1690.9050.075
Seedream 5.0 Pro0.4360.5220.1140.9130.065
Nano Banana 20.4510.4800.0450.8840.099
WithAnyone0.4050.4830.0960.9570.045

目标上下文相似度最高,参考相似度低于GPT-Image 2,抄贴也低得多,说明分数更不像直接贴参考脸。覆盖97.3%、重复2.8%,漏人和两人撞一张脸都少。开源通用模型覆盖多在0.42以下。按人数切,ArcFace从五人0.629降到十人0.571,GPT-Image 2从0.593降到0.496,坡更陡。

消融里LG-ID Loss单独把Sim(Ref)从0.339拉到0.506,Sim(Tgt)从0.304到0.435,是单件贡献最大的模块。完整模型1K分辨率Sim(Tgt) 0.461,主评测2K到0.499。Plan IoU 0.773,换真值布局还能再涨,剩下的错更多在规划侧。

为什么重要

合照、活动海报、多人角色图不能再靠「一张一张生成再拼」。这篇把身份监督从「在生成图里找谁是谁」改成「布局标注已经告诉你谁在哪」。从业者若要做五人以上的身份保持,优先补带框监督,而不是再堆参考token。这是针对多人场景的工程突破,基准只有210张,还不是通用文生图的新SOTA。

局限与存疑

210张、十人组只有10张,分人数曲线是趋势不是精估。身份指标继承检测器和识别器的人口偏差,各系统最高分辨率和能否自主规划布局也不齐,ID-Patch和WithAnyone还喂了真值布局。提示一含糊,很多站位都合理,相对真值布局的分数会冤枉模型。身份保真提高以后,未经同意把真人放进从未出现过的场景,风险也同步变大。

术语

原文与代码

相关论文

全部论文解读