图像生成的领域模型——为什么同一描述画出来不一样,以及怎么让它一致

一句话

自然语言确定的是「是什么」(一个区域),而不是「具体长什么样」(一个点)。从语言到图像必须经过领域模型:不要让自然语言直接控制像素,而是先让语言变成一个可操作的「世界模型」,最后才交给绘制器。


一、为什么同一描述画出来不一样

给十位画家同一句描述:「一位二十岁左右的少女,黑色长发,穿白色连衣裙,站在湖边,夕阳下微笑。」最终十张画,一眼就知道是同一个人设,但又明显不是同一个人。

第一层:自然语言只描述了少量特征

一句描述只包含几十个信息点(性别、年龄、发型、衣服、场景、时间、表情),而一张图片包含几万个连续变量(脸型、下巴宽度、鼻梁高度、嘴唇厚度、肩宽、衣服褶皱、光照方向……)。自然语言只规定了几十个,还有大量自由度没有约束。

第二层:每个人脑中的默认值不同

没有说明的信息,画家会自动补全。「黑色长发」有人想到及腰长发,有人想到齐肩长发。「微笑」有人画 🙂,有人画 😊。每个人都把未指定的信息用自己的经验填满。

第三层:人的经验库不同

日本画师天天看动漫,脑中「少女」是大眼睛、小鼻子、V 脸;欧美画师天天看真人,脑中「少女」是高鼻梁、深眼窝。即使提示词一样,脑中的默认模型不同。

第四层:语言本身就是抽象

「树」没有指定高度、品种、树叶数量、树皮颜色。语言天然是压缩信息

第五层:AI 也是这样工作的

扩散模型:Prompt「A beautiful girl」只固定了 girl 和 beautiful,其它全部随机采样。所以才有 Seed(随机种子)——Prompt 固定的是大方向,Seed 固定的是细节(那些没有描述的信息如何补全)。

第六层:为什么整体还是很像

自然语言提供的是约束条件:限制搜索空间 → 所有符合条件的图片集合 → 随机选择其中一个。

1
2
3
4
5
6
7
8
自然语言 → 高层语义(必须满足)
──────────────────────
细节A:默认补全
细节B:经验补全
细节C:随机补全
细节D:风格补全
──────────────────────
最终图片

自然语言确定的是「是什么」,而没有完全确定「具体长什么样」。 这正是同一描述能够对应无数幅不同但又相似的图片的根本原因。


二、自然语言能否唯一确定角色

理论上可以,实际上几乎做不到。 原因有两个层次:

第一层:描述不够细(最常见)

「一个二十岁的少女」当然画出来千差万别。不断增加描述(鹅蛋脸、双眼皮、杏眼、鼻梁高度 32mm、左眼角有痣……),不同人的结果会越来越接近。增加约束,可以不断缩小可能的角色集合。

第二层:自然语言本身不是精确坐标(更根本)

「眼睛大」什么叫大?「漂亮」「高」「年轻」「微笑」都没有统一标准。自然语言很多词其实是模糊集合(fuzzy set),而不是精确数值。

如果全部改成精确数据呢

改成参数语言(脸宽 152.34mm、眼睛长 31.2mm、鼻梁高 19.3mm……),再加三维骨骼、材质、光照、相机参数——另一位画家完全可以画出几乎一样的人。因为这时候已经不是普通自然语言,而是参数语言,本质上就是一个三维模型的数据。

三种表达能力:

1
2
3
自然语言              「漂亮少女」——信息很少
高度结构化自然语言 年龄20/身高165/脸长18cm——接近 CAD 说明书
直接数据 Mesh/Texture/Material/Skeleton/Animation——没有歧义

角色是高维空间中的一个点

一个角色可以理解成位于一个极高维空间中的一个点。自然语言更像是在说「我要这个区域里的角色」——描述的是一个区域,而不是一个唯一的点。只有当描述不断增加、把每一个自由度都固定下来时,区域会不断缩小,最终收敛到几乎唯一的角色。

自然语言是为了在人与人之间高效交流,而不是为了唯一编码现实。它天然会抽象、压缩、泛化。


三、角色设计文档的五层结构

UI 规格书不适合描述角色形象——它关注按钮宽度 120px、字体 16pt,目标是让界面一模一样。角色设计关注的是角色本身

按信息层级拆分:

层级 作用 是否容易产生歧义
高层语义 角色是什么 较大
中层描述 各部分外观 中等
底层参数 精确尺寸、比例、颜色 很小
参考素材 图片、草图、三视图 几乎没有
最终资产 3D 模型、PSD、SVG 等 没有
1
2
3
4
5
6
角色设计文档
├── 1. 概念文档(Concept) 高层语义:18岁少女、冷静理性、科幻风、医生身份
├── 2. 外观规格文档(Appearance) 鹅蛋脸、黑色长发、杏眼、发尾微卷
├── 3. 参数规格文档(Parameter) 身高168cm、头身比7.5、瞳孔RGB、发色HEX
├── 4. 参考素材(Reference) 真人照片、AI参考图、草图、三视图、配色板
└── 5. 最终资产(Assets) 模型、贴图、源文件

很多公司真正依赖第四层(参考素材)——因为一句「鹅蛋脸」不同人理解仍然不同,直接放参考图,所有人都会向同一目标靠近。

与软件架构的对应

  • 高层语义 ≈ 需求文档(要做什么)
  • 外观规格 ≈ 设计文档(应该长什么样)
  • 参数文档 ≈ 接口/数据结构规格(把歧义变成精确、可验证的数据)
  • 最终资产 ≈ 编译后的程序

更完整的对照:

软件开发 角色设计
需求 高层语义
软件架构 风格、比例、外观设计
接口/API 参数规范
UML/设计图 草图、三视图
源代码 最终绘制、建模
编译产物 图片、模型资产

比例是关系,不是普通参数

「眼睛宽 32mm」是参数;「眼睛宽 ÷ 脸宽」是比例,它属于关系。真正决定角色感觉的是比例:Q 版 1:1、正常动漫 1:6、真人 1:7.5、超模 1:8.5 头身比。动漫角色很多不是五官不同,而是比例完全不同

八层完整拆解

如果越来越完善,角色设计会变成八层:

1
2
3
4
5
6
7
8
9
角色设计
├── 一、语义层 身份 / 年龄 / 性格 / 世界观 / 职业
├── 二、风格层 写实 / 动漫 / 美漫 / 像素
├── 三、外观层 发型 / 脸型 / 衣服 / 配饰
├── 四、比例层 身体比例 / 五官比例 / 四肢比例 / 头身比
├── 五、参数层 长度 / 角度 / 颜色 / 材质 / 数值
├── 六、参考层 Moodboard / 真人参考 / AI参考 / 草图
├── 七、标准化层 三视图 / 表情集 / 动作集
└── 八、资产层 PSD / SVG / FBX / Blend

几何关系(比例、结构)值得单独成层

这里还可以再加一个概念,它能解释很多 AI 和美术制作流程:

1
2
3
4
5
6
7
8
9
10
11
高层语义(为什么)

设计约束(应该是什么)

几何关系(比例、结构)

精确参数(尺寸、颜色、材质)

视觉验证(草图、参考图、三视图)

最终资产(插画、模型、贴图)

几何关系(比例、结构)描述的是各部分之间的关系,而不是各部分自身的属性——很多角色即使五官参数接近,只要比例不同,整体印象就截然不同。


四、从语言到图像的可执行领域模型

关键原则

不要让自然语言直接控制像素,而是让自然语言先变成一个可操作的「世界模型」,最后才交给绘制器。

链路示例

1
2
3
4
5
6
7
8
9
10
11
12
13
「一个戴红帽子的男孩」

Person(gender: male, age: child, hat: red)

Scene

Geometry

Style

Renderer

Image

每一层都可以单独测试、修改和替换。例如用户后来说「把帽子改成蓝色」——不需要重新理解整句话、重新画整个人物,只需要修改 Hat.color = blue,然后重新执行后面的渲染阶段。

领域对象拆解(以「一个20岁的黑发女孩站在樱花树下」为例)

1
2
3
4
5
6
7
8
第一层:实体     Person / Tree / Dress / Sun / Ground
第二层:属性 Person{gender=female, age=20, hair=black, pose=standing}
Dress{color=white} Tree{type=sakura}
第三层:空间关系 Person 站在 Ground;Tree 在 Person 左边;Sun 方向 45°
——已经不是自然语言,而是「场景图(Scene Graph)」
第四层:继续拆 人物→头/身体/左手/右手/左腿/右腿;头→眼睛/鼻子/嘴/耳朵/头发
第五层:再继续 脸→Bezier→Mesh→纹理→颜色
最后: Bezier→Rasterize→Pixel→PNG——真正开始画图片了

这种思想很像 CAD 或游戏引擎:Scene → GameObject → Transform → Mesh → Material → Texture。

两条路线

1
2
3
4
5
路线A(领域对象驱动):
自然语言 → 需求分析 → 领域对象 → 图片结构 → 绘制指令 → 最终图片

路线B(端到端神经网络):
自然语言 → 神经网络 → 图片

路线 A 每层可测试、可修改、可替换;路线 B 更接近主流扩散模型。真正值得做的最小原型甚至不需要 AI 绘画模型:先限定一个非常小的领域——「自然语言 → 简单 2D 卡通人物 → Pillow PNG」,把整个链路跑通,再逐渐增加人体、姿势、服装、光影和风格。

最大的难点:同一个领域对象有几千种画法

领域对象方案最难的环节不是「拆出对象」,而是:

如何从「领域对象」生成一张自然、漂亮的人物图。

例如 Eye → 怎么画? 有很多种:动漫、写实、水彩、厚涂、像素风、Q 版。同一个 Eye 对象,最后可能有几千种画法。所以需要:

1
Eye → Style → Renderer → Image

而不是:

1
Eye → Image

领域对象定义「是什么」(眼睛、位置、大小),风格(Style)定义「用什么画法呈现」(动漫/写实/水彩),渲染器(Renderer)负责把两者变成像素。三层缺一不可——这就是链路里 Style 那一层存在的理由,也是「为什么同一描述画出来不一样」在领域对象方案里的另一面:对象是稳定的,风格是不稳定的。


五、素描模型:结构、形状、比例、约束与修正

结构、形状、比例、约束共同定义目标;绘画是在不断比较与修正中逼近目标。

画画不是「画一笔 → 下一笔 → 完成」,更像是:

1
目标模型 → 画 → 比较 → 修正 → 再比较 → 再修正 → 不断逼近 → 完成

四个要素

  • 结构(Structure):它是怎么搭起来的——人体骨架/关节/胸腔/骨盆;杯子圆柱/厚度/底部
  • 形状(Shape):外轮廓长什么样——圆/方/三角/S 形轮廓
  • 比例(Proportion):各部分之间的关系——头身比/肩宽/眼距/手掌长度
  • 约束(Constraints):哪些东西不能错——两只眼睛应在同一水平附近;同方向平行边朝同一消失点汇聚;发色必须保持黑色

第五项:比较(Comparison)

画家画一条线后会一直问:是不是长了?是不是短了?是不是歪了?比较之后才修正。

它更像控制系统

1
目标 → 当前结果 → 误差 → 修正 → 误差越来越小 → 完成

这和软件里的调试、机器人控制甚至自动驾驶都有相似之处:不是一开始就做到完美,而是不断检测误差并修正。

结构、形状、比例、约束并不是「素描」独有的,它们是所有绘画(素描、色彩、油画、数字绘画、建模,甚至 AI 生成)的共同基础。 不同的只是后续增加了颜色、材质、光照等信息。


六、表达型 vs 生产型绘画

两个维度不要混

  • 第一维:画什么(目标)——风格:写实、动漫、美漫、卡通、抽象、水墨、像素风
  • 第二维:怎么画(方法)——实现流程:线稿流程、厚涂、色块塑形

为什么写实训练强调结构

因为写实有客观标准:现实世界。苹果在那里,可以不断比较比例、结构、明暗、透视。

抽象不是不用结构,而是约束改变了

蒙德里安只有横线、竖线、红黄蓝,但仍有约束:只能水平竖直、颜色不能乱、块面比例要平衡。动漫人物眼睛不符合真人,但在动漫自己的世界里比例是一致的——不是没有结构,而是结构不同

两种目的

类型 目标 约束 例子
表达型(Expression) 表达思想 很少,自由度很高 抽象艺术、水墨写意、表现主义、儿童画
生产型(Production) 交付资产 很多(后面还有建模/动画/程序/商业使用) 游戏角色、动画角色、漫画人物、UI 插画、概念设计

生产型需要三视图、比例、结构、参数,因为建模师、动画师、绑定师都要继续使用。这也是计算机产业大量采用生产型方法的原因——它更符合协作、迭代和资产生产的需求。


七、画画没有唯一的实现流程

真正固定的是设计产物(Design Artifacts),而不是绘画顺序(Implementation Process)。

  • 画家A:草图 → 线稿 → 上色 → 阴影
  • 画家B:大色块 → 直接塑形 → 细节
  • 画家C(油画):直接铺颜色 → 边画边改
  • AI:噪声 → 逐步去噪 → 成图

实现流程完全不同,但最终结果一样。因为设计描述的是最终状态(What),实现描述的是达到最终状态的方法(How),这两个本来就是独立的。

真正稳定的是信息层

1
2
① 建立整体 → ② 建立结构 → ③ 建立比例 → ④ 建立体积
→ ⑤ 建立细节 → ⑥ 建立材质 → ⑦ 建立光照 → ⑧ 最终修饰

绘画训练在训练什么能力

  • 一味模仿训练的是「观察→复制」能力:图片 → 观察 → 分析形状 → 控制手 → 画出来。它没有训练「脑海 → 分析 → 设计 → 创造 → 画出来」,所以很多人看着能画,离开图片就不会。
  • 凭记忆画总是模糊:因为人的记忆不是照片,你记住的是「猫 → 四条腿 → 两个耳朵 → 尾巴」,不是精确尺寸。
  • 画不出直线还能学会画画:可以。画画真正要求的不是「每一笔都完美」,而是「能不断修正」。手抖不是最大问题,真正的问题是不知道正确应该长什么样
  • 物体总是不受控制地变形:原因不是手,而是没有建立约束。新手想到哪画到哪越画越歪;高手先建圆 → 中心轴 → 上下两个椭圆 → 左右宽度一致 → 再细化。

真正训练的是四种能力

1
2
3
4
① 观察   看到这个角其实是 47°,不是 60°
② 比例 眼睛其实只有脸宽的 1/5,不是 1/3
③ 结构 手臂不是一根线,而是肩→上臂→肘→前臂→手掌
④ 控制 最后才能画出来

绘画能力可以拆成四个独立模块

1
2
3
4
5
6
7
① 看懂(Observation)

② 建模(Structure)

③ 判断(Proportion)

④ 输出(Hand Control)

很多人误以为自己「不会画」,其实可能只是其中某一个模块比较弱:有的人手很稳但比例判断差;有的人比例判断很好但线条控制不熟练。把这些能力拆开训练,通常比笼统地一直临摹更容易发现问题和改进。

为什么美术老师让学生练几何体

练直线、圆、方块、球体、立方体、圆柱不是为了以后画方块,而是训练:手的控制能力(线条是否稳定)、眼睛的测量能力(比例是否准确)、脑子的空间建模能力(把复杂物体拆成简单体)。人物、动物、建筑最后都可以分解成基础几何体。

画画的实现方法:五种画法

不同流派、不同媒介、不同目标会混在一起显得乱,但按专业绘画教学,最经典的是这一条线稿流程(动漫、插画最常见):

1
2
① 构图 → ② 大形 → ③ 比例 → ④ 结构 → ⑤ 草稿 → ⑥ 线稿
→ ⑦ 固有色 → ⑧ 明暗 → ⑨ 材质 → ⑩ 细节 → ⑪ 特效 → ⑫ 后期
  • 学院派素描:构图 → 比例 → 结构 → 轮廓 → 大明暗 → 中间灰 → 细节 → 调整(几乎没有颜色)
  • 厚涂:构图 → 颜色大块 → 颜色塑形 → 体积 → 光照 → 细节(没有线稿,第一步就是大坨颜色)
  • 油画:底色 → 大色块 → 塑形 → 细化 → 罩染
  • AI:Prompt → 噪声 → 去噪 → 细化 → 放大 → 修图

为什么网上每个人步骤不同?因为省略与内化:新手画眼睛要先画圆 → 十字;高手直接画眼睛——不是不知道比例,而是比例已经内化了。建议学最完整版本,因为它可以对应任何画法:不同画法真正变化的主要是实现流程(是否需要线稿、是否先上色),而前面的设计阶段(角色设定、比例、外观)基本共通。

绘画 IDE:流程驱动的工具

目前主流软件几乎都是自由创作工具(打开 → 空白画布 → 随便画),而不是流程驱动工具。软件开发不会打开 VS 直接写代码,而是需求 → 架构 → 接口 → 编码 → 测试,都有产物;画画几乎还是「打开 PS → 开始画」。

现状的四类软件:

1
2
3
4
① 自由画布(绝大多数)    PS / Krita / Clip Studio / Procreate:打开→空白画布→随便画,软件不检查比例
② 带辅助功能 CSP 的透视尺/对称尺/三维人体/姿势模型——只是辅助,不是流程
③ 建模软件 Blender / Maya / ZBrush:开始分阶段(球体→Dynamesh→大形→中形→小细节),但仍不是设计流程
④ AI Prompt→草图(ControlNet)→姿势(OpenPose)→线稿→重绘→放大→修脸——已经开始拆步骤

一个真正流程化的软件可能长这样:

1
2
3
4
5
6
角色项目
├── 01 概念(世界观/身份/性格)
├── 02 外观(发型/衣服)
├── 03 比例(身高/三视图)
├── 04 配色
├── 05 草图 → 06 线稿 → 07 上色 → 08 光影 → 09 成品

每一步都有输入、输出,可以回退、审批、比较。更进一步结合 AI:进入「比例」软件自动检查(肩宽 ✓ / 腿长 × / 头身比 ✓ / 眼距 ✓);进入「配色」自动生成十种方案;进入「线稿」自动检测左右是否对称,提醒「左手比右手短 12%」。

与软件架构一致:需求=概念设定;架构设计=外观/风格/比例;数据结构/API=参数/配色/约束;编码=草图/线稿/上色;测试=比例/透视/颜色检查;调试=修正/重绘;发布=成品导出。目前大多数绘画软件相当于直接给了你一个「代码编辑器」,却没有把前面的需求、设计和后面的检查整合进来——这更像是在设计一个「创作操作系统(Creative IDE)」,管理整个创作过程:左侧项目树、每阶段明确输入输出、AI 负责检查约束而不是直接替你画完。


最终总结

绘画是「设计模型 → 实现 → 反馈修正」的系统。设计阶段确定「画什么、什么不能变」;实现阶段选择「怎么画」;反馈阶段判断「现在画出来的东西是否符合设计」。

这也解释了为什么高手看起来「随便画」——他们不是没有步骤,而是把大量步骤内化成了自己的视觉模型和判断能力。


与其他线的关系

  • 与绘制与图像线:本线讲「画什么、怎么保证一致」(模型层),绘制线讲「用什么画」(工具层)
  • 与领域模型主题:领域模型是业务世界的压缩描述;本线是图像世界的压缩描述——同一种「语言→模型→执行」结构
  • 与认知与语言主题:认知与语言主题(09/01)讲语言的信息密度(几十个高层特征 vs 几万个变量);本线把这句话落到图像生成的具体链路
  • 与设计主题:角色设计文档五层就是内容槽位在图像领域的应用;素描四要素是「结构/形状/比例/约束」在设计上的体现
  • 与工程控制主题:绘画的「设计→实现→比较→修正」就是反馈闭环在绘画上的形态