Skip to content

攻击生成出现多个人物:动作描述被原样当成图像描述 #309

Description

@johnnyzhang-eng

现象

生成 attack 时画面里出现多个人物(同一角色被复制,不是加了个敌人)。

证据链

任务 96(attack,i2v)喂进去的参考图本身就是双人物;角色表里的母版只有一个人。那张双人图来自任务 95(character_image,生图),其入参:

{
  "prompt": "蓄力后向前攻击并回到准备姿态",
  "negative_prompt": "",
  "num_images": 3,
  "reference_image_url": "<单人母版>"
}

根因

动作描述被原样当成图像描述用了。

「蓄力后 → 向前攻击 → 回到准备姿态」描述的是一段时间内的三个阶段。静态图像模型要在一张图里表达三个阶段,只能把它们并排画成分解姿势图——于是一张图里出现多个身位。i2v 之后忠实地把这张双人图动画化,问题就传到了成品。

两个叠加因素:

  1. 视频路线有 build_attack_prompt / build_custom_prompt 把用户描述嵌进已验证的骨架,而生图这条路径是原样直传,没有任何"把动作描述转成单一瞬间的姿态描述"的适配。
  2. negative_prompt 为空,连"只画一个角色"这类最基本的约束都没有。

这与本仓已经清理过的几处是同一类错:一个字段在某条路径上有适配、在另一条路径上直传,而两条路径对入参的语义要求并不相同。

影响面

不只 attack。凡是把用户的动作描述送进生图接口的地方都会中招,自定义动作同理。

修复方向(待评审)

  1. 生图入口不接受未经适配的动作描述:动作描述必须先转成单一瞬间的姿态描述("处于蓄力将发的瞬间"而不是"蓄力后攻击再收势")。
  2. 补默认负向词,至少含"多个角色 / 分解动作 / 姿势表 / 拼贴"这一类。
  3. 出图后校验主体数量,多主体不放行——判据待定,见下条。
  4. 判据本身需要能自动判定,否则只能靠人看图。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions