Skip to content

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

sketch_generation

“单模态任务:自由手绘草图的识别与生成”项目的草图识别模型应用到草图生成模型结果的代码、可控草图生成模型、评估指标代码等全部内容均在sketch_generation文件夹下

Machine-Learning

Unimodal Task: Recognition and Generation of Freehand Sketches

中文版

基于机器学习的草图识别与生成 CS3308 机器学习 2025年12月17日

1. 引言 ● 最多由三名学生组成一个小组。 ● 您只需完成两项任务中的一项(单模态任务或多模态任务)。

2. 单模态任务:自由手绘草图的识别与生成 自由手绘草图具有稀疏性和抽象性的特点,同时纹理的缺乏使其识别比自然图像更具挑战性。草图可以以绘图序列、图像或图等形式表示,这为开发基于草图的神经网络应用提供了灵活性。您可以从单一表示中提取特征,也可以融合不同表示的特征。本任务要求您开发一个草图识别模型并实现一个草图生成模型。

A. 草图识别: 利用云存储中提供的 QuickDraw-414k 数据集[1],该数据集是大型草图数据集 QuickDraw[2] 的一个子集,包含 345 个类别。您需要开发一个分类模型,能够准确识别测试集中的草图。关于不同表示形式的数据加载方法,您可以参考以下实现: https://github.com/PengBoXiangShang/torchsketch/tree/master/torchsketch/data/dataloaders/quickdraw/quickdraw_414k 以下参考文献[1, 3-6] 可能对解决此问题有所帮助。

B. 可控草图生成: 您需要训练一个多类别草图生成模型,能够以可控的方式生成序列化草图(直接输出像素图像的模型不符合要求)。可控性可以通过实现以下一个或多个方面来实现: ● 重建:给定一个草图序列、图像或图,重建该草图的绘图序列。 · 类 VAE 模型[2][7]:构建一个类 VAE 模型以灵活获取潜在空间编码,使解码器能够生成所需的草图。一个简单的形式是插值。

  • 条件引导的扩散模型[8]:利用由特定条件引导的扩散模型。
  • 笔划级编辑[9][10]:在单个草图笔划的级别上进行编辑。

评估指标:

  • 可以通过草图重建来评估模型性能。 ● 在类别层面,您可以使用一个草图识别模型对生成结果进行分类,并判断它们是否与输入草图属于同一类别。
  • 此外,您应该确定或设计至少一个实例级别的评估指标。

数据集: 从云存储中提供的 QuickDraw 数据集中选择 5 到 10 个类别的文件作为您的训练数据。关于数据加载方法,您可以参考: https://github.com/CMACH508/SketchEdit/blob/master/Dataset.pyhttps://github.com/CMACH508/SketchEdit/blob/master/Utils.py

3. 多模态任务:使用预训练模型实现草图生成 随着 CLIP[11] 和 Stable Diffusion[12] 等预训练模型的出现,可以实现一系列有趣的、可控的草图生成应用。本任务挑战您利用这些模型,提出一种无需训练的草图生成方法,重点在于实现超越简单文本到图像转换的细粒度控制。

核心目标: 设计并实现一种方法,使用预训练模型生成自由手绘草图,而无需对草图数据进行任何额外的训练。您的主要目标是在生成过程中实现精确的可控性。

可控性建议方向: · 笔划控制的文本到草图[13][14]:根据文本提示生成草图,同时允许显式或隐式地控制笔划数量或草图复杂度。 · 特定风格的草图生成[15]:生成与示例草图风格匹配但内容不同的新草图。您可以提供单个或多个风格作为示例。

评估指标: · 主要评估方法:如果您能够确定或设计一个与您的控制目标相符的定量指标(例如,使用预训练的特征提取器来测量与目标属性的一致性),请使用它。 ● 替代方法(用户研究):如果找不到合适的定量指标,您必须设计并进行一个小规模的用户研究。准备一个清晰的方案,以收集关于输出质量、对控制条件的遵循度等标准的主观评价。

4. 项目报告 每个小组需要提交一份项目报告,阐述您的主要思路、使用的方法和算法、实验设置、实验结果以及对结果的讨论。项目报告(.pdf)可以用英文或中文撰写。在报告末尾,请附上每个成员的贡献百分比。并需要澄清每个学生所做的工作。例如:

姓名 学号 贡献度 具体工作
A 00001 30% -
B 00002 30% -
C 00003 40% $-$
您还需要在报告中提供您的GitHub仓库链接,以提交模型的源代码。如果您不知道如何使用GitHub,请访问其教程 (https://guides.github.com/activities/hello-world/) 获取一些建议。

5. 参考资料 [1] Xu, Peng, Chaitanya K. Joshi, and Xavier Bresson. "Multigraph transformer for free-hand sketch recognition." IEEE Transactions on Neural Networks and Learning Systems 33.10 (2021): 5150-5161. [2] Ha, David, and Douglas Eck. "A neural representation of sketch drawings." arXiv preprint arXiv:1704.03477 (2017). [3] Yu, Qian, et al. "Sketch-a-net: A deep neural network that beats humans." International journal of computer vision 122.3 (2017): 411-425. [4] Yang, Lan, et al. "S3Net: Graph Representational Network For Sketch Recognition." ICME. 2020. [5] Li, Lei, et al. "Sketch-R2CNN: An RNN-rasterization-CNN architecture for vector sketch recognition." IEEE transactions on visualization and computer graphics 27.9 (2020): 3745-3754. [6] Li, Tengjie, Shikui Tu, and Lei Xu. "SketchMLP: effectively utilize rasterized images and drawing sequences for sketch recognition." Machine Learning 114.3 (2025): 1-18. [7] Zang, Sicong, Shikui Tu, and Lei Xu. "Controllable stroke-based sketch synthesis from a self-organized latent space." Neural Networks 137 (2021): 138-150. [8] Wang, Qiang, et al. "Sketchknitter: Vectorized sketch generation with diffusion models." The eleventh international conference on learning representations. 2023. [9] Li, Tengjie, Shikui Tu, and Lei Xu. "SketchEdit: Editing Freehand Sketches at the Stroke-level." [10] Zang, Sicong, Shuhui Gao, and Zhijun Fang. "Generating Sketches in a Hierarchical Auto-Regressive Process for Flexible Sketch Drawing Manipulation at Stroke-Level." arXiv preprint arXiv:2511.07889 (2025). [11] Radford, Alec, et al. "Learning transferable visual models from natural language supervision." International conference on machine learning. PmLR, 2021. [12] Rombach, Robin, et al. "High-resolution image synthesis with latent diffusion models." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2022. [13] Vinker, Yael, et al. "Clipasso: Semantically-aware object sketching." ACM Transactions on Graphics (TOG) 41.4 (2022): 1-11. [14] Xing, Ximing, et al. "Diffsketcher: Text guided vector sketch synthesis through latent diffusion models." Advances in Neural Information Processing Systems 36 (2023): 15869-15889. [15] Li, Tengjie, Shikui Tu, and Lei Xu. "Text to Sketch Generation with Multi-Styles." The Thirty-ninth Annual Conference on Neural Information Processing Systems.

About

Unimodal Task: Recognition and Generation of Freehand Sketches

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages