多人物姿势生成技巧

创建于:2025年1月23日

使用 O1 回答 Chat01

问题

我想用AI生图,多人物的图片中,不同人物有着不同的特定的动作姿势,但是我不知道怎么用prompt让不同人物拥有特定的动作姿势,你知道有什么好技巧吗

思考

Crafting engagement

I’m gathering tips on stirring generative AI to depict various actions or poses of multiple individuals, focusing on effective prompting for multi-person imagery.

Integrating advanced methods

I’m examining advanced compositional strategies like parenthesis weighting and multi-subject prompts. This involves detailing each character meticulously or leveraging tools like ControlNet for pose control.

Thought about AI生成图像技巧,持续 13 秒

回答

在多人物图像生成的场景下,确实很容易出现“动作/姿势混在一起”或者“角色细节分不清”的情况。这是因为大部分文本生成模型,对同一个 Prompt 内多角色的区分与对应动作的映射并不非常“智能”,它往往会把文字描述混为一体来生成。下面给你一些常见的思路和技巧,或许能帮助你更好地在 Prompt 中指定每个人物的动作姿势。


1. 尽可能分段、逐一描述角色

思路:把每个角色的外观、服装、动作姿势、所处的位置或相对位置,尽可能分开来写。例如,在英文环境下可以使用“First character… Second character…”这样的描述,每个角色用一个独立的描述小段落,增加他们之间的区别。
示例(英文示范,中文同理):

text
A photo of two characters: 1) A tall man with short black hair, wearing a formal navy blue suit, standing on the left side with his arms crossed. 2) A woman with long blonde hair, wearing a red dress, sitting on a stool on the right side, leaning forward slightly.
  • 将每个角色单列出来,一个段落对应一个角色的描述,让模型更容易从文本线索中把角色分开。

1.1 通过位置(left, right, center)描述角色

在描述多人物时,最好加上他们在画面中的相对位置。例如,“在左边的是……,在中间的是……,在右边的是……”。一些模型对“left side / right side”这类描述理解尚可,可以作为额外提示强化对动作姿势的分割。

1.2 加强角色关键词的区别

如果多人外貌比较相似,比如都同为女性或者同样装束,可以在描述中强化他们的不同点:发型/发色/服饰颜色/身材特征等,避免模型把多个角色“融合”成一个。


2. 使用“动作”相关的词汇时,越具体越好

描述动作或姿势时,最好从多个维度去限定,让模型能抓住更多关键词。例如:

  • standing with arms crossed(双臂交叉站立)
  • leaning on a wall(身体斜倚着墙)
  • sitting on a chair with legs crossed(坐在椅子上并交叉双腿)

越具体越好,比简单的 standingsitting 要精准得多。


3. 控制住“多人物”描述时的长度和顺序

如果你在一段 Prompt 中塞入了很多形容词、动作、场景、光线等,模型常常会“混淆重点”。可以尝试把场景描述与人物描述分开,再把人物描述细化。例如:

text
In a cozy living room with warm lighting, there are two people: 1) A man wearing a white t-shirt and black jeans, sitting on a sofa, reading a book. 2) A woman wearing a red sweater and jeans, standing by the window, holding a cup of coffee.

而不是所有描述都挤在一行里。


4. 使用分句、标点和连词

Prompt 中可以采用类似 “;” “.” “and” “while” 等词,把不同角色、不同动作分开:

Two characters: a tall man wearing a black suit, standing in front of the camera and crossing his arms; a short woman wearing a white dress, sitting on the floor and looking up at the man.
  • 英文中用分号;分隔是比较常见的方法,能帮助模型在语义上更好地区分。

5. 利用 ControlNet/OpenPose 等辅助工具

如果你想要非常精确的动作姿势,比如一个人踢腿、另一个人挥舞手臂,那么仅仅靠文字描述的方式成功率不高,可以考虑借助一些**“条件控制”**的插件或功能,例如:

  1. ControlNet:Stable Diffusion 等生成模型上常见的扩展,可以让你上传一张参考姿势的骨骼图(OpenPose 方式)或线稿图,然后模型会基于这张“姿势草图”来生成对应的角色图像。
  2. OpenPose Editor:可以让你在 web UI 里可视化地画骨架,指定关节位置、手脚姿势,再把这个骨架图投喂给模型。
  3. Multi-ControlNet:有些版本可以支持多路 ControlNet,一个角色对应一个骨骼图,这样就能实现多角色的精确姿势控制。

这类方法会显著提升对“动作姿势指定”的精确度,非常推荐想要“严格指定姿势”的创作者使用。


6. 负面提示(negative prompt)辅助避免错误

在多人的生成中,常出现的错误有:

  • 人物之间融合在一起
  • 多只手臂/多条腿/奇怪的肢体畸形
  • 界限不清

为了尽量减少这些问题,可以在 Negative prompt 里加入类似:

worst quality, low quality, deformed limbs, extra arms, extra legs, extra fingers, too many people, merged body

之类的关键词,帮助模型少做“失控的错误”。


7. “先单独生成角色,再合成” 的思路

如果你对多人物的姿势要求非常严格,而且是可以做后期合成的,可以尝试分步骤

  1. 先生成单人图:针对每个人都先用相对简单的 Prompt,得到姿势准确、服装造型满意的单人形象。
  2. 后期抠图+合成:在 Photoshop 等工具里进行拼接、调整尺寸和位置,再用一些 AI 修图工具(Inpaint、Outpaint)统一风格、修补背景和边缘过渡。

这种方法虽然比较“手工”,但是会更可控,也能得到比较精准的构图和动作。


8. 尝试不同的 Prompt 结构和顺序

即使你已经对多人物做了清晰的段落或分句,模型仍然有可能“合并”人物动作。此时可以尝试改变 Prompt 的句子顺序或者结构。

  • 有时候把“关键姿势描述”提前,可以让模型更快抓住这个重点。
  • 如果描述失败,可以在 Prompt 的后面再额外加一句“Make sure the first person is crossing arms, the second person is bending knees” 之类的提示,虽然不是万能,但也可能提高成功率。

总结

  1. 逐一角色的清晰描述:位置、外观、动作和姿势分开表述。
  2. 动作越具体越好:可以多用“交叉手臂站立”“跪姿挥剑”等。
  3. 简洁但分明的段落:不要把所有描述放一起,让模型能够“理清角色”。
  4. 位置描述:用 left/right/center/front/back 之类词汇帮助模型定位角色。
  5. ControlNet 等辅助工具:若需要更高精度,可以尝试 OpenPose、骨骼图控制或多ControlNet。
  6. 负面提示:在多人物场景下,尽量告诉模型不要出现畸形、融合之类的问题。
  7. 后期合成:先分别生成单人的满意形象,然后再进行合成和修补,最为稳妥。

多人物且姿势各异,对生成模型来说难度较高,失败是常事,需要不断尝试和调节 Prompt。祝你在创作中多多试验,不断迭代,找到最适合自己的 Prompt 写法与工作流程。

分享这个问答