DiffSynth-Studio icon indicating copy to clipboard operation
DiffSynth-Studio copied to clipboard

关于 Flux-Kontext 支持多张 kontext_images 输入的设计疑问

Open Dshijie opened this issue 6 months ago • 4 comments

您好,感谢你们开源 DiffSynth-Studio 项目!

我在阅读 flux_image_new.py 中 FluxImageUnit_Kontext 的实现时注意到,当前代码支持输入多张 kontext_images,并将多个 kontext_latent 在非通道维度(dim=1)进行拼接:

kontext_latents = torch.concat(kontext_latents, dim=1)
kontext_image_ids = torch.concat(kontext_image_ids, dim=-2)

这似乎与 Flux-Kontext 官方开源实现(只支持单张图)不完全一致。在我们的测试中,尝试输入多张图像时,输出结果只是简单地将图像融合,整体表现并不协调。

因此我有几个疑问想请教:

  1. 当前支持多张 kontext_images 的设计初衷是什么?是为后续支持多图编辑、多图融合等扩展功能做准备吗?
  2. 将多个 latent 在非通道维度拼接是否符合模型结构本身的预期?这种拼接方式是否可能会引起空间布局的错乱或 feature 混淆?
  3. 若我们希望通过 SFT(Supervised Fine-Tuning)方式提升多图输入的效果,是否有推荐的数据量?你们是否有这方面的经验可以分享?

再次感谢你们的工作,期待解答!

Dshijie avatar Jul 14 '25 11:07 Dshijie

@Dshijie

  1. 是为后续支持多图编辑、多图融合等扩展功能做准备。
  2. 这种现象已经观测到了,因此我们认为需要必要的训练才能提高多图编辑的效果。
  3. 数据量显然是越多越好,但多图编辑任务的数据集很难构造。

Artiprocher avatar Jul 29 '25 02:07 Artiprocher

@Dshijie 此外,我们发现,直接在输入图像中拼接成一张(1 x N)的图可实现还不错的效果,但这并不是端到端训练过的推理方式,因此还有一点不稳定。一个优化思路是,用多图拼接的形式生成大批数据集,过滤出高质量的数据,用于训练。

Artiprocher avatar Jul 29 '25 02:07 Artiprocher

@Dshijie

  1. 是为后续支持多图编辑、多图融合等扩展功能做准备。
  2. 这种现象已经观测到了,因此我们认为需要必要的训练才能提高多图编辑的效果。
  3. 数据量显然是越多越好,但多图编辑任务的数据集很难构造。

您好,如果多图编辑,例如img1+img_ref+text得到img_new,这个需要重新修改模型进行微调么

Mr-ind1fferent avatar Jul 31 '25 08:07 Mr-ind1fferent

@Dshijie 此外,我们发现,直接在输入图像中拼接成一张(1 x N)的图可实现还不错的效果,但这并不是端到端训练过的推理方式,因此还有一点不稳定。一个优化思路是,用多图拼接的形式生成大批数据集,过滤出高质量的数据,用于训练。

Can we use this feature to extend the Flux-Kontext model to sequential model(video model)?

cxzhou35 avatar Oct 22 '25 06:10 cxzhou35