PSDesigner: Automated Graphic Design with a Human-Like Creative Workflow¶
会议: CVPR 2026
arXiv: 2603.25738
代码: https://henghuiding.com/PSDesigner/
领域: 图像生成 / 自动设计
关键词: 自动图形设计, PSD文件操作, 工具调用, 强化学习, 创意工作流
一句话总结¶
本文提出PSDesigner,一个模拟人类设计师创意工作流的自动图形设计系统,通过AssetCollector(资源收集)、GraphicPlanner(规划工具调用)和ToolExecutor(执行PSD操作)三个模块协作,利用首个PSD格式设计数据集CreativePSD训练模型学习专业设计流程,能直接生成可编辑的PSD设计文件。
研究背景与动机¶
-
领域现状:图形设计在电商和广告中至关重要。现有自动化方法主要分两类:(a) 文生图模型(FLUX、Glyph-Byt5等)生成设计图片;(b) MLLM驱动的方法(LaDeCo、COLE等)直接生成JSON格式的可编辑设计文件。
-
现有痛点:文生图方法生成的图片不可编辑且文字渲染不准确(尤其中文);MLLM方法将图层按预定义类别(underlay/text)分组一次性预测所有属性,设计过程不直观且灵活性有限。
-
核心矛盾:现有方法大幅简化了专业设计流程——(a) 按类别分组不如按视觉概念分组直观;(b) 一次性预测所有图层属性缺乏渐进式设计的灵活性;(c) 只能处理简单的图层层次和有限的属性类型,距离产品级设计差距很大。
-
本文目标 构建一个模拟人类设计师工作流的自动设计系统,能处理复杂的PSD图层层次结构(平均48.35层),支持丰富的图层类型和60+种属性,生成可编辑的专业级PSD文件。
-
切入角度:观察人类设计师的工作流——先收集主题资源,然后按视觉概念分组迭代集成资源,每步集成后检修缺陷——将这一过程形式化为VLM的工具调用预测问题。
-
核心 idea:将图形设计建模为VLM的工具调用序列预测,通过SFT+GRPO训练使模型学会迭代式的资源集成和缺陷修复操作。
方法详解¶
整体框架¶
PSDesigner想解决的核心问题是:让模型像真人设计师那样,从一句用户指令出发,一步步搭出一个可编辑的专业PSD文件,而不是一锤子生成一张不可改的图片或一份扁平的JSON。它把整个设计过程拆成三个角色接力。先是AssetCollector读懂指令,识别出画面里该有哪些"视觉概念"(比如一张促销海报里的主体商品、标题文字、背景氛围),再为每个概念去搜集或生成对应的图片和文字素材。接着进入设计主循环:模型沿着嵌套的图层层次自底向上遍历,每遍历到一组,GraphicPlanner就先在集成模式(\(\mathcal{X}_{gen}\))下把该组素材摆进画布——决定放哪、多大、什么样式,再切到修复模式(\(\mathcal{X}_{edt}\))下回看这一组的渲染效果、挑出瑕疵并修补。每一步预测出的都不是像素,而是一串工具调用;最后由ToolExecutor把这些工具调用送进真正的Photoshop执行,落地成PSD文件里的图层与效果。把"画图"重新表述成"预测工具调用序列",是这套方法能输出可编辑文件、并复用专业软件全部能力的根本原因。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
A["用户指令"] --> B["AssetCollector<br/>识别视觉概念 + 收集素材"]
DS["CreativePSD 数据集<br/>收集→解析→构建训练样本"] -->|"SFT + GRPO 训练"| GP
B --> C["设计主循环<br/>自底向上遍历图层组"]
C --> GP
subgraph GP["GraphicPlanner(双模式 VLM)"]
direction TB
D["集成模式 X_gen<br/>把素材摆进画布"] --> E["修复模式 X_edt<br/>回看渲染、修补瑕疵"]
end
GP -->|"工具调用序列"| F["ToolExecutor<br/>Photoshop UXP 执行"]
F -->|"下一组"| C
F --> G["可编辑 PSD 文件"]
关键设计¶
1. CreativePSD数据集:先有真实的专业设计流程,模型才学得会迭代式设计
人类设计师的工作流之所以难复刻,是因为没有数据集记录过"一个专业PSD是怎样一层层搭起来的"——现有的CGL、Crello、Design39K平均只有4-5层、2种图层类型和很有限的属性,学出来的模型自然只会摆几个扁平元素。CreativePSD用三个阶段补上这块拼图:先从互联网和付费来源收集高质量PSD文件,由专业标注员按视觉概念把图层分组;再解析这些PSD,抽出原始素材、图层元数据和中间渲染结果;最后把抽出的信息重组成两种训练模式的样本,每条样本是一个三元组 \((a, \mathcal{C}, x)\),即素材、观察、工具调用序列。其中\(\mathcal{X}_{gen}\)模式的样本教模型怎么把素材集成进画布,\(\mathcal{X}_{edt}\)模式的样本教它怎么发现并修复瑕疵。最终拿到10,454个样本,平均48.35层、5种图层类型、60+种属性,量级和真实产品设计对得上,这也是后续模型能学到渐进式设计而非一次性预测的前提。
2. GraphicPlanner:用双模式VLM把"摆素材"和"修瑕疵"两件事分开学
资源集成和缺陷修复看似都是预测工具调用,本质却是两种不同的活:前者从无到有决定每个元素的位置与样式,后者在已有画面上做局部订正。如果用同一套参数硬学,两个任务会互相干扰。GraphicPlanner基于Qwen2.5-VL-7B,给两种模式各注入一组模式特定的LoRA模块来隔离它们。\(\mathcal{X}_{gen}\)模式接收素材\(a\)和观察\((M, R)\)——图层元数据加当前渲染,输出把素材摆进去的工具调用;\(\mathcal{X}_{edt}\)模式接收的观察是\((M, R, G)\),多了一份组前渲染\(G\)作对照,好让模型看出"这一组集成后哪里坏了",再输出修复调用。训练分两步:先用SFT让模型学会基本的工具名到参数的映射,把大致该调哪个工具、填哪些参数学对;再用GRPO强化学习去精修参数值的精确度。之所以补这一步,是因为SFT的交叉熵只能逼近参数的大致分布,而设计对数值很敏感——差几个像素的位置或几度的角度,成品观感就塌了;GRPO的奖励直接拿生成的工具调用和ground truth逐项比对,能把这种精度顶上去。
3. ToolExecutor:直接操作PSD而非JSON,才接得住产品级的复杂属性
GraphicPlanner预测出的工具调用要真正变成设计文件,得有一个执行端。ToolExecutor基于Adobe UXP框架,用JavaScript API把70+种Photoshop操作封装成可调用的工具,覆盖插入图片/文字、调整图层、应用内发光与投影等效果、设置混合模式、做裁切蒙版等。关键区别在于它操作的是原生PSD而不是一份简化的JSON:JSON格式只能表达扁平的图层和有限属性,而产品级设计里那些复杂的图层嵌套、效果叠加、混合模式恰恰是靠PSD的原生能力承载的,直接接进Photoshop才不会在表达上打折扣。
一个完整示例¶
以"为一款香水做一张电商主图"为例走一遍。AssetCollector先从指令里读出三个视觉概念:香水瓶主体、品牌标题文字、背景氛围;为每个概念各收集一组素材,比如瓶身去背图、一段标题文案、一张渐变背景。进入主循环后,模型自底向上处理:先到背景这一组,GraphicPlanner在\(\mathcal{X}_{gen}\)模式下预测出把渐变背景铺满画布、设为底层的工具调用,再切到\(\mathcal{X}_{edt}\)模式回看,发现背景偏暗,补一条调亮度的修复调用。接着处理香水瓶组,集成时把瓶身居中放大,修复时给它加一层投影让它从背景里"浮"出来。最后处理标题文字组,集成时把文案放到上方,修复阶段发现文字和背景对比不够,补一个描边或内发光。每一步的工具调用都交给ToolExecutor在Photoshop里实际执行,逐组累积后,输出的就是一个图层分明、效果完整、可继续手动微调的PSD文件——这也是它能保证中文文字准确渲染、且整张图可编辑的原因。
损失函数 / 训练策略¶
SFT阶段使用标准的自回归交叉熵损失。GRPO强化学习阶段设计了专用奖励函数\(r\),比较生成的工具调用与ground truth的工具名、参数名和参数值。SFT训练15,000步(\(\mathcal{X}_{gen}\))/ 12,000步(\(\mathcal{X}_{edt}\)),batch=64, lr=2e-4, LoRA rank=32。GRPO训练6,000步,group size=8,使用4,000个PSD文件。
实验关键数据¶
主实验¶
用户意图→设计(VLM评分,满分10分):
| 方法 | 质量 | 布局 | 相关性 | 和谐性 | 创新性 | 可编辑 |
|---|---|---|---|---|---|---|
| PSDesigner | 7.62 | 8.68 | 7.78 | 8.02 | 8.45 | ✓ PSD |
| CanvaGPT | 8.52 | 8.15 | 4.72 | 7.21 | 7.52 | ✓ |
| FLUX | 8.18 | 6.88 | 6.92 | 6.82 | 6.95 | ✗ |
| PosterCraft | 7.95 | 8.35 | 8.42 | 8.05 | 5.87 | ✗ |
| OpenCOLE | 5.12 | 3.66 | 5.25 | 6.68 | 6.08 | 部分 |
Crello-v5上的设计组合(VLM评分):
| 方法 | 质量 | 布局 | 和谐性 | 创新性 |
|---|---|---|---|---|
| Ours | 7.85 | 7.43 | 6.77 | 6.94 |
| LaDeCo | 5.95 | 6.03 | 7.22 | 5.75 |
| Ground Truth | 8.13 | 9.18 | 8.90 | 7.12 |
消融实验¶
| 配置 | 质量 | 布局 | 和谐性 | 创新性 |
|---|---|---|---|---|
| Full model (Crello) | 7.85 | 7.43 | 6.77 | 6.94 |
| w/o \(\mathcal{X}_{edt}\) | 6.05 | 5.88 | 5.90 | 6.75 |
| w/o 层信息M | 6.25 | 6.10 | 6.18 | 6.02 |
| w/o RL (GRPO) | 6.38 | 6.00 | 6.35 | 6.20 |
| Full model (PSD) | 6.28 | 6.15 | 7.02 | 6.88 |
| w/o \(\mathcal{X}_{edt}\) (PSD) | 5.32 | 5.15 | 6.22 | 6.05 |
关键发现¶
- 去掉\(\mathcal{X}_{edt}\)模式(缺陷修复)对质量和布局影响最大(Crello上分别下降1.80和1.55分),说明迭代修复是设计质量的关键
- 去掉层信息M导致模型无法感知同组其他元素,布局和和谐性显著下降
- GRPO强化学习对精确预测工具调用的参数值至关重要,去掉后布局下降1.43分
- PSDesigner是唯一能同时生成可编辑PSD文件且准确渲染中文文字的系统
亮点与洞察¶
- 工作流拟人化设计:将设计过程分解为"收集→集成→修复"的迭代流程,与人类设计师的思维方式高度一致,这种问题分解思路可迁移到其他需要多步骤创作的任务(如PPT制作、视频剪辑)
- CreativePSD数据集:首个PSD格式的设计训练数据集,平均48层、60+属性,极大地扩展了自动设计系统能处理的复杂度层级。数据构建的三阶段pipeline(收集→解析→构建训练数据)也是可复用的方法论
- GRPO用于工具调用精炼:将强化学习应用于提升工具调用参数的精确度是一个巧妙的设计,因为SFT只能学习到近似的参数值分布,而GRPO的奖励信号能直接优化输出与GT的匹配度
局限与展望¶
- 评估主要依赖VLM打分和用户研究,缺乏更客观的定量指标(如图层属性预测精度)
- AssetCollector依赖外部图片搜索/生成模型的质量,资源收集的失败会级联影响设计质量
- 仅支持静态设计,未涉及动态/交互式设计(如网页、动画)
- 数据集规模(10,454样本)相比LLM训练数据仍较小,可能限制泛化性
- 与Photoshop的深度耦合(UXP API)限制了向其他工具的扩展
相关工作与启发¶
- vs LaDeCo: LaDeCo按预定义类别分组(image/text),一次性预测同类所有层属性,处理不了复杂层次。PSDesigner按视觉概念分组、迭代集成,在Crello上质量高出1.9分
- vs COLE/OpenCOLE: COLE构建多个任务特定模型管线,但输出的可编辑性有限(仅单图层+文字层)。PSDesigner统一用VLM驱动工具调用,支持完整PSD层次
- vs T2I (FLUX/PosterCraft): 这些方法生成视觉质量高但不可编辑的光栅图片,且中文/复杂文字渲染经常出错
评分¶
- 新颖性: ⭐⭐⭐⭐ 首次将VLM工具调用范式应用于PSD级别的自动设计,CreativePSD数据集也是首创
- 实验充分度: ⭐⭐⭐⭐ 对比了多种方法,消融实验充分,但缺乏工具调用精度等客观指标
- 写作质量: ⭐⭐⭐⭐ 人类设计师工作流与PSDesigner的对比图非常直观,问题motivate清晰
- 价值: ⭐⭐⭐⭐ 对自动设计领域有重要推动,展示了VLM+工具调用在创意任务中的潜力