Sketch-HARP: 分层自回归草图生成实现灵活笔画级绘制操控¶
会议: AAAI 2026
arXiv: 2511.07889
代码: https://github.com/SCZang/Sketch-HARP
领域: 草图生成 / 图像生成
关键词: 草图生成, 分层自回归, 笔画级操控, Sketch-HARP, 草图编辑
一句话总结¶
提出 Sketch-HARP 分层自回归草图生成框架,通过三阶段层次化过程(预测笔画嵌入→确定画布位置→生成绘制动作序列),首次实现草图绘制过程中的灵活笔画级操控,在替换/擦除/扩展等任务上显著优于 SketchEdit。
研究背景与动机¶
草图操控(controllable sketch manipulation)是重要的生成任务。现有方法(如 SketchEdit)控制笔画特征时需要在生成开始前将所有编辑后的笔画嵌入同时收集并输入生成器,不允许在生成过程中进行进一步操控。这限制了对特定局部内容(如单个笔画形状)的精确控制。
核心挑战在于: 1. 需要暴露可编辑的中间表示供用户在生成过程中随时修改 2. 自回归生成需维护全局一致性——当前笔画的形状和位置要与已绘制的笔画协调 3. 需同时控制笔画的特征(画什么)和位置(画在哪),两者紧密耦合 4. 现有实例级操控(可控合成、草图修复、草图类比)不够精细,无法可靠地控制单笔画 5. 扩散模型方法虽然质量高,但难以提供笔画级的细粒度控制接口 6. 需要模型模仿人类绘画流程——先决定画什么、再确定画在哪、最后动笔
方法详解¶
整体框架¶
编码阶段:输入草图按笔画分离 → Stroke Encoder(BiLSTM)提取笔画嵌入 e_k ∈ R^128 + Position Encoder(FC层)提取位置嵌入 p_k ∈ R^128 → Relationship Encoder(gMLP)学习笔画间关系 r_k → 信息融合 ẽ_k = e_k + r_k → Sketch Encoder(LSTM)得到草图编码 y ∈ R^128。
生成阶段(三阶段层次化):草图编码 y → (I) Stroke Decoder逐步预测笔画嵌入 ê_k + 停止标记 η̂_k → (II) Position Decoder通过双变量高斯分布预测2D起始坐标 → (III) Sequence Decoder用GMM混合分布翻译嵌入为绘制动作序列。三个解码器均以自回归方式接收前序输出作为条件输入。
关键设计¶
- 关系嵌入 (Relationship Embedding):使用 gMLP(2层,d_model=128,d_ffn=512)作为关系编码器,整合笔画间三类关系——空间关系(相对位置,如鼻子在嘴上方)、上下文关系(绘制顺序的远近,如猪的两只眼睛连续绘制)和语义关系(组件级依赖,如猪需要正好两只耳朵)。关系向量 r_k 加到笔画嵌入 e_k 上,使每个笔画具备全局视野。
- 分层自回归生成:模仿人类绘画流程——(I) 想画什么(预测笔画嵌入):LSTM stroke decoder(hidden=1024)接收草图码 y 和前一步的 ẽ_{k-1} + p_{k-1},输出 ê_k 和停止标记 η̂_k;(II) 在哪落笔(确定位置):LSTM position decoder 建模双变量高斯分布 N(μ_px, μ_py, σ_px, σ_py, ρ_p) 并采样起始坐标;(III) 动笔绘制(生成动作):LSTM sequence decoder 用M=20个双变量高斯混合建模偏移量 (Δx, Δy) + 类别分布建模笔状态。
- 灵活操控接口:暴露的中间笔画嵌入 {ê_k} 在生成过程中可随时编辑——支持笔画替换(用其他笔画嵌入替换 ê_1)、笔画擦除(跳过当前笔画的位置确定和动作生成)、笔画扩展(注入外部嵌入ε增加新笔画并自动生成位置和动作)以及组合操作(先擦除后扩展=替换)。误差累积影响轻微,因每级序列长度短(平均笔画数~7,每笔画动作数~10)。
损失函数¶
五项损失加权组合:L = L_seq + L_pos + L_stp + 5·L_sok + 0.5·L_img。
| 损失项 | 含义 | 权重 | 形式 |
|---|---|---|---|
| L_seq | 绘制动作重建 | 1.0 | GMM负对数似然 + 笔状态交叉熵 |
| L_pos | 起始位置重建 | 1.0 | 双变量高斯负对数似然 |
| L_stp | 停止标记预测 | 1.0 | 类别分布交叉熵 |
| L_sok | 笔画嵌入正则化 | 5.0 | L2距离,权重最大确保嵌入质量 |
| L_img | 画布图像重建 | 0.5 | CNN解码器重建128×128光栅图 |
实验关键数据¶
主实验:草图生成与检索质量¶
| 数据集 | 指标 | Sketch-HARP | DC-gra2seq | SketchEdit | SketchKnitter | SP-gra2seq |
|---|---|---|---|---|---|---|
| DS1 (17类) | FID↓ | 9.96 | 12.83 | 25.40 | 11.32 | 14.64 |
| DS1 | LPIPS↓ | 0.28 | 0.30 | 0.37 | 0.31 | 0.33 |
| DS1 | Rec@1↑ | 89.90% | 85.45% | 70.91% | 78.45% | 80.18% |
| DS2 (5类) | FID↓ | 6.97 | 11.01 | 28.64 | 8.10 | 13.42 |
| DS2 | Ret@1↑ | 96.00% | 95.27% | 82.00% | 95.07% | 92.13% |
消融实验与人工评估¶
| 配置/评估类型 | FID↓ / 人工分↑ | Rec@1↑ | 关键说明 |
|---|---|---|---|
| 完整模型 | 9.96 | 89.90% | 三阶段全部工作 |
| 去除关系嵌入 | 25.45 | 74.55% | 影响最关键(FID +155%) |
| 去除 L_img | 10.30 | 70.18% | 图像正则化对检索影响大 |
| 去除 L_sok | 52.31 | 65.91% | 笔画嵌入正则化 w=5 的必要性 |
| 去除位置编码器 | 14.51 | 82.91% | 位置信息重要 |
| 笔画替换(人工评分) | 2.09±1.06 | — | vs SketchEdit 1.45±1.27 (+44%) |
| 笔画擦除(人工评分) | 2.30±0.96 | — | vs SketchEdit 1.04±1.14 (+121%) |
关键发现¶
- 人工评估极其显著:配对t检验 p = 6.04×10⁻¹³,统计学上显著优于所有基线
- t-SNE可视化显示关系嵌入使笔画按语义功能(如左轮/右轮/窗户位置)自动聚类
- 不使用视觉特征(纯序列)仍超越使用视觉输入的DC-gra2seq,验证层次化设计的有效性
- L_sok 权重为5远大于其他项——反映笔画嵌入准确性对下游位置和序列生成的连锁影响
- 停止标记 η̂_k 使模型自适应决定笔画数量,无需硬编码上限
亮点与洞察¶
- 生成过程精准模仿人类绘画流程:想画什么→在哪落笔→动笔绘制,三阶段对应认知过程
- 暴露中间笔画嵌入作为可编辑接口,真正实现绘制过程中(而非之前)的灵活操控
- 跨类别笔画替换仍能生成协调草图(如天使翅膀替换为不同形状但大小匹配)
- 笔画扩展的特例——从不完整草图续画,可生成混合类别的创意草图(猪头时钟)
局限性¶
- 仅处理序列格式草图(QuickDraw数据集),不支持光栅化或自然照片草图
- 自回归过程仍有误差累积风险(虽然实际影响较小)
- 未探索与扩散模型等更强生成器的结合可能
- 笔画数和动作长度受固定上限限制(N_max^num=25, N_max^len=32)
- 应用场景较小众,工业落地路径不明确
相关工作与启发¶
- vs SketchEdit:生成过程中可操控 vs 仅生成前操控,人工评分大幅领先
- vs DC-gra2seq:不使用视觉特征仍达更优FID,验证序列建模的充分性
- vs SketchKnitter(扩散方法):提供更精细的笔画级控制而非整体生成
- 分层自回归的思路可迁移至矢量图形生成、CAD设计、建筑草图等结构化生成任务
评分¶
⭐⭐⭐⭐ (4/5) 方法设计巧妙,分层过程自然合理,人工评估结果统计显著性极强。应用场景相对小众但方法论有广泛启发性。