实现 DALL-E 3 角色一致性, 99% Character Consistency

角色一致性在海内外的 AI 绘图圈是一个热门话题。小说,漫画,故事绘本等插图需要角色保持比较统一的形象。然而实现起来并不容易。在 DALL-E 3 中,任何基于之前图像的修改都很可能导致新图像的巨大差异。

很多人以为通过给角色添加一段很长的描述,加上姓名,或者指定一个 seed 值就解决了这个问题。实际上可能是小概率事件,或者角色的差异看上去并不明显。如果角色是真人的话,实现起来就更困难了。任何面部的细微差异都能被识别出来。本文就先从困难的真人角色的一致性开始介绍,然后再过渡到动画人物的一致性。

目前要达到 99.9% 角色一致性,只能在一张图里实现。然后通过裁切和放大再分成多张图片。实现起来并不复杂,只需要按照特定的格式来写提示词。让我看先看一个例子。

Prompt: Photo montage of a middle-aged man with short hair. Top-left shows him laughing in casual attire. Top-right portrays him reading a book in glasses and a sweater. Bottom-left captures him jogging in sportswear with determination. Bottom-right depicts him playing guitar in a relaxed environment.

提示词: 短发中年男子的马赛克照片。左上角是他穿着休闲装谈笑风生的样子。右上角是他戴着眼镜、穿着毛衣看书的样子。左下角为他穿着运动装,坚定地慢跑。右下方是他在轻松的环境中弹吉他的画面。

请注意这是一张图片,而不是 DALL-E 3 默认生成的四张图片。上图的提示词可以总结成一个模板:

[媒介] [布局] [左上描述] [右上描述] [左下描述] [右下描述] 。

  • 媒介:媒介就是要生成的图片类型,比如照片,水彩画,插画,卡通等等。
  • 布局:通过布局类的关键词,让 DALL-E 3 生成多张图片的拼贴效果。上图用的关键词是 montage (蒙太奇),也可以用其他关键词,比如 grid (网格), arrangement (排列), collage (拼贴画), quad-diptych (四联画), storyboard (故事板), panorama (全景图), split-screen (分屏), mosaic (马赛克), film strip (胶片条), comic strip (连环画) 等。
  • 描述:分别描述左上、右上、左下、右下四张拼贴图片中的人物

再来看一些例子吧。

Prompt: Photo grid of a young woman with curly hair. Top-left captures her painting in an apron. Top-right shows her dancing in a red dress. Bottom-left illustrates her cooking in a chef’s hat. Bottom-right presents her cycling in sportswear.

提示词: 一位卷发少女的照片。左上方为她穿着围裙作画的照片。右上方是她穿着红色裙子跳舞的样子。左下方是她戴着厨师帽做饭的样子。右下方是她穿着运动装骑自行车。

Prompt: Photo montage of an elderly gentleman with a beard. Top-left showcases him playing chess in a suit. Top-right has him gardening in overalls. Bottom-left captures him fishing in a hat and vest. Bottom-right shows him playing the piano in a cozy room.

提示词: 一位留胡子老先生的照片蒙太奇。左上角是他穿着西装下棋的样子。右上角是他穿着工作服在园艺。左下角是他戴着帽子、穿着背心钓鱼的照片。右下角是他在舒适的房间里弹钢琴。

Prompt: Photo panorama capturing a woman in her 30s with a pixie cut. Top-left: practicing martial arts in a dojo. Top-right: sipping coffee in a cafe. Bottom-left: biking in a park. Bottom-right: reading in a library corner.

提示词: 照片全景,捕捉一位 30 多岁、剪着精灵头的女性。左上:在道场练习武术。右上:在咖啡馆喝咖啡。左下:在公园骑自行车。右下:在图书馆一角阅读。

Prompt: Wide photo grid of a girl in her teens with braided hair. Top-left captures her studying with books. Top-right depicts her playing violin. Bottom-left illustrates her swimming with goggles. Bottom-right shows her dancing in a studio.

提示词: 一个梳着辫子的十几岁女孩的宽幅照片。左上角是她拿着书本学习的画面。右上方是她拉小提琴的画面。左下角是她戴着护目镜游泳。右下角为她在舞蹈室跳舞。

需要说明的是,目前 DALL-E 3 对于这类拼贴图生成的效果并不完美。比如有些图中人物的手是残缺的,有些图则生成了六张图的拼贴。

正因为目前的限制,所以我才设定为四张图的拼贴效果。超过四张的话可能出现的错误会更多。然而,如果只是需要变换人物姿势或表情,而不涉及动作的话,六张图也能取得比较好的效果。请看下面两个例子:

Prompt: Wide photo arrangement featuring 6 frames of a 20-year-old Australian woman. She has platinum bob with dark roots. In each frame, she maintains consistent features but showcases different poses. Each frame is uniformly sized and evenly spaced for hassle-free cropping.

提示词: 宽幅照片布置,包含一名 20 岁澳大利亚女性的 6 幅照片。她留着深色发根的白金波波头。在每一帧照片中,她的五官保持一致,但展示了不同的姿势。每个相框大小一致,间距均匀,便于剪裁。

Prompt: Wide photo arrangement featuring 6 frames of a 20-year-old Chinese woman. She has tight, high ponytail. In each frame, she maintains consistent features but showcases different expressions, such as joyful, angry, sad, playful, worried, etc. Each frame is uniformly sized and evenly spaced for hassle-free cropping.

提示词: 宽幅照片布置,展示一位 20 岁中国女性的 6 幅照片。她扎着高高的马尾辫。在每一帧照片中,她的五官保持一致,但表情各异,如喜悦、愤怒、悲伤、嬉戏、担忧等。每个相框大小一致,间距均匀,便于剪裁。

上面介绍的都是真人照片 (Photo) 的媒介。除此之外,在其他媒介上也能实现角色一致性。只需要模板 “[媒介] [布局] [左上描述] [右上描述] [左下描述] [右下描述]” 里的媒介换成除了 Photo 以外的关键词即可。请看下面的例子:

Prompt: Cartoon mosaic of a middle-aged man with short hair. Top-left shows him laughing in casual attire. Top-right portrays him reading a book in glasses and a sweater. Bottom-left captures him jogging in sportswear with determination. Bottom-right depicts him playing guitar in a relaxed environment.

提示词: 短发中年男子的卡通马赛克。左上角是他穿着休闲装谈笑风生的样子。右上角是他戴着眼镜、穿着毛衣看书的形象。左下角为他穿着运动装,坚定地慢跑。右下方是他在轻松的环境中弹吉他的画面。

Prompt: Comic strip of a young woman with curly hair. Top-left, she’s in professional attire at the office, top-right, she’s dressed for a glamorous night out, bottom-left, she’s in casual loungewear at home, and bottom-right, she’s in comfy pajamas ready for bed.

提示词: 一位卷发年轻女性的连环画。左上角,她穿着职业装在办公室工作;右上角,她穿着华丽的晚装外出;左下角,她穿着休闲装在家;右下角,她穿着舒适的睡衣准备睡觉。

Prompt: Illustration montage featuring a Chinese woman’s artistic pursuits: top-left, she’s sculpting clay, top-right, she’s playing the violin in a concert hall, bottom-left, she’s acting on a theater stage, and bottom-right, she’s writing at a cozy desk with a typewriter.

提示词: 蒙太奇插画,描绘一位中国妇女的艺术追求:左上,她正在泥塑;右上,她正在音乐厅拉小提琴;左下,她正在戏剧舞台上表演;右下,她正在舒适的书桌前用打字机写作。

Prompt: Watercolor panorama of a woman pursuing various careers: top-left, she’s in a lab coat as a scientist, top-right, she’s wearing a business suit as a CEO, bottom-left, she’s in a police uniform as a detective, and bottom-right, she’s dressed as a chef in a restaurant kitchen.

提示词: 一位从事各种职业的女性的水彩全景图:左上角,她穿着白大褂,是一位科学家;右上角,她穿着商务套装,是一位首席执行官;左下角,她穿着警服,是一位警探;右下角,她穿着厨师服,在餐厅厨房工作。

Prompt: Storyboard depicting depicting a woman’s adventures in travel: top-left, she’s exploring ancient ruins, top-right, she’s riding a gondola in Venice, bottom-left, she’s hiking in a lush forest, and bottom-right, she’s on a safari observing wildlife.

提示词: 故事板,描绘一位女士的旅游冒险经历:左上角,她在探索古代遗迹;右上角,她在威尼斯乘坐贡多拉;左下角,她在茂密的森林中徒步旅行;右下角,她在野生动物园观察野生动物。

Prompt: Cartoon montage of a cheetah track athlete. Top-left showcases him stretching before a race. Top-right has him sprinting. Bottom-left portrays him crossing the finish line, victory evident. Bottom-right shows him hydrating with a sports drink.

提示词: 猎豹田径运动员的卡通蒙太奇。左上角展示的是它在比赛前的拉伸动作。右上方是它在冲刺。左下描绘它冲过终点线,胜利在望。右下角是他在用运动饮料补充水分。

最后,还有几点需要说明。鉴于目前 DALL-E 3 对于角色一致性的效果还不完美,所以我生成的图片都是方形的。你也可以尝试其他宽高比,但据我的实践发现,出错的概率会更高一些。

出现错误的话,可以多尝试几次。还有就是,DALL-E 3 目前经常处于不稳定的状态,有时候只生成一张图片的效果反而会好些,这时候我会在自定义指令中添加这句提示词:

Prompt: Always generate only one image in DALL-E 3.

提示词: 在 DALL-E 3 中始终只生成一个图像。

还有就是,有时候它根据你的提示词生成的提示词跟你的版本有很大差异,也会让效果打一些折扣。这时候我会借鉴推特上的方法,在自定义指令里面加上这句话:

Prompt: “@DM” means: do not in any circumstance modify my prompt, please create image using this prompt:

“@DM “的意思是:在任何情况下都不要修改我的提示词,请使用此提示词创建图像:

这时候,只需要在提示词前加上 “@DM” 即可,因为它已经表示了让 DALL-E 3 不要修改提示词。

让人哭笑不得的是,有时候这两个提示词放在自定义指令里面也会失灵。因为 DALL-E 3 默认会修改你的提示词,并且生成四张图片。但其他的提示词放在自定义指令里有时候会带来很多好处,比如提升图片质量,或者解决侵权问题。具体可以参考我上一篇文章:一招让你的图像更惊艳!DALL-E 3 自定义指令魔法

不管怎么说,DALL-E 3 能生成拼贴图,并且还能在每个部分精确刻画角色的活动,这一点是 Midjourney 无法实现的。相信后续的 DALL-E 3 会更强大,会解决目前的一些 Bug。

伙伴们如果有更好的方案,欢迎发消息与我探讨。

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注