折纸 AI:一份路线图

AI 生成的折纸图像只是表面相似,真正可折叠的折痕图才是设计本身。这篇路线图梳理了从图像生成到自动求解折痕图的技术路径与难点。

中文
复制
AI 生成的折纸图像,一张纸折成复杂造型

AI 设计的折纸,图像由 Midjourney 生成

AI 设计的折纸,图像由 Midjourney 生成

近来,Dall-E、Craiyon、Imagen、Stable Diffusion、Midjourney 等文本生成图像模型的兴起,在折纸圈子里激起了兴趣。包括我在内的一些人,尝试用这些系统生成折纸作品的图像。写这篇文章期间,ChatGPT 发布了。它处理的是文本而非图像,尽管存在一些不足,却展示了人工智能的潜力。另一方面,这类系统也引发了担忧,既关乎它们生成的结果,也关乎它们使用从互联网抓取的数据的方式,折纸圈子里同样有人提出了这些担忧。

本文给出一份将 AI 应用于折纸领域的路线图。从今天已经能做到的事情出发,我设想如何利用并扩展现有的构件,最终让系统能根据用户输入自动设计折纸。这既是对未来走向的预测,也是一份待办清单。我侧重技术层面,并默认用计算机设计折纸确实是我们想要的东西,但即便如此,也无法完全跳过讨论:这类系统可能给折纸创作者带来什么影响,又可能引发哪些争议。我还会谈到,某些工具尽管技术上可行,却未必很快出现。

“由 AI 设计”意味着什么

一个折纸作品由 AI 设计,意味着什么?AI 应当做到我们要求人类设计师做的同一件事:要么亲手把作品折出来,要么给出一份描述,让别人能照着折。完全不折就设计出折纸作品,是完全可行的:我的设计里只有一小部分会完整折出来。既然任何由 AI 控制的折纸机器无论如何都得先以某种形式拿到作品的定义,那就可以跳过折叠这一步,专注于“给出描述”这一步。

最近,我偶然看到一些帖子,标题写着“由人工智能设计的”折纸。这种说法让我很困惑,因为这些并不是由 AI 设计 的模型,而是折纸风格的物体图像——所谓折纸风格,往往不过是把物体的主要特征三角化,最好的情况也只是与折纸模型图像有表面上的相似。这些图像虽然有趣、令人印象深刻,却算不上折纸设计:设计应当是可执行的定义。同一作者后来的帖子大多采用了更平衡的描述。

人类设计师记录设计的方式有很多:提供折叠过程的分步图、照片或视频教程,或者画出折痕图(CP)。折痕图用起来不算方便,但它最容易用数学描述,又能几乎无歧义地定义一个模型,因此成了大多数折纸相关计算机软件的首选工具。折痕图有其局限,但足以处理大多数有意思的情况。所以我认为,只要 AI 能根据简单输入(比如文本提示“长着大角的鹿”)生成真正可折叠的折痕图,我们就该承认这个模型是“由 AI 设计的”。其他输入和输出或许也行得通,但考虑到这种思路的实用性,以及 AI 和计算折纸两方面的已有进展,我预计文本生成折痕图会成为 AI 折纸设计的第一个用户界面。

现状

目前,生成式文本到图像 AI 系统能画出像模像样的折纸风格模型图像,也能非常逼真地重现训练集中某些特定模型(有时仅限于纸船和传统千纸鹤)。规模更大的商业系统通常比免费的小型系统更擅长这一点,比如 Dall-E 2 与 Craiyon(原 Dall-E Mini)。不过进展非常快,新的 AI 模型有时几周内就能超越前代。

这类 AI 系统有一个重要特点:它们在具体任务上的表现,很大程度上取决于训练所用的数据集。对于训练集中大量出现的艺术风格(比如“油画”)和题材(比如“山间小屋”或“森林”),它们往往模仿得相当好;但折纸就不太行,因为折纸在训练数据里并不常见。

不过这个问题很容易解决。借助 Stable Diffusion 上的 DreamBooth 这类项目,可以往已有的 AI 模型里补充新物体的数据。我还没时间亲自试,但把一批真实折纸模型的图片用这种方式加进模型,应该能改善它在折纸类提示词上的表现。另外,即便不做任何定制,新模型生成的折纸图片质量也在提高,大概是因为训练集更大了。在我试过的模型里,Dall-E 2 生成的折纸模型图片最有说服力;Midjourney 的作品风格辨识度很高,但反而不太像真实的折纸模型。

灵感生成器

这张用 Dall-E 2 生成的折纸大象相当有说服力,说不定真能设计出一只长得像它的折纸大象

这张用 Dall-E 2 生成的折纸大象相当有说服力,说不定真能设计出一只长得像它的折纸大象

这条路能走多远?不管这类 AI 系统多强,它处理的终究只是图像。也就是说,它内部并没有“折纸模型是由纸折成的”这一概念,也不了解由此对模型结构造成的限制。尽管如此,只要有足够的训练数据,再加上一些提示词调优,这类模型今天就已经能生成这样的折纸模型图片:连折纸玩家都得看上一会儿,才能判断它到底是真实模型,还是只是折纸风格的画。

除非模型带有明显的未折叠特征,否则要判断它是否代表真正的折纸并不总是那么容易。比如,我曾和一些折纸爱好者在社交媒体上讨论过一个用作公司标志的折纸风格大象。那头大象只是一个没有折纸经验的人画的,灵感来自网上找到的真实折纸作品。后来,讨论中的一位参与者设计出了一个看起来像那幅画的折纸模型。所以,那头大象其实是可折的,尽管那位(人类)设计者当时并不知道。AI 生成的折纸风格图像也可能出现同样的情况。

虽然按照我之前的定义,这还不算折纸设计,但这样的思路能让我们离目标更近一点。说来也巧,就在我写这篇文章的时候,我注意到这件事已经发生了:Grant Marshall(@FearlessFlourish)发起了一项挑战,要求按照一张 AI 生成的图像在现实中折出模型,而且有人成功做到了。遗憾的是,实验本身值得称赞,但它的描述使用了我上面批评过的那种夸大措辞,声称 AI 已经设计出了这个模型(那我们还挑战人类设计师干什么?)。

我把上面描述的这个阶段称为灵感生成阶段。AI 生成的是一张折纸风格的图像,人类创作者可以把它当作灵感来设计真正的折纸模型。如果模型生成的图像非常逼真,那它们也许能以很高的还原度用折纸复现出来,就像那个人手绘的大象一样。不过,即使图像不太好,也可能带来灵感,就像折纸创作者可以从一幅画或一块形状有趣的石头中获得灵感一样:灵感本身与折纸无关,只是可能在观看者脑中打开一些思路。

用 CP 而不是折好的模型来工作

图片不错,但 Midjourney 目前完全不知道什么是折纸折痕图(我测试过的其他模型也一样)

图片不错,但 Midjourney 目前完全不知道什么是折纸折痕图(我测试过的其他模型也一样)

还有一个实验,甚至今天就能做:把真实折纸折痕图的图片喂给 AI 模型,看看它基于这样的训练集能生成出什么。就默认情况而言,我测试过的模型完全不知道折痕图是什么,所以这些数据只能作为定制内容额外加入。即便我们仍然在图像空间中操作,AI 模型或许也能自己摸索出折痕图某些使其可折叠的特征(因为训练数据里只会放可折叠的折痕图),并在生成的图像中重现这些特征。这虽然只是猜测,但如果今天的模型在足够多的训练之后,大多数时候就能生成正确的可平折折痕图,而无需被明确教以前川定理及其他可平折性规则——就像 AlphaGo Zero 那样——我也不会太惊讶。

可能性更小、但在我看来仍有可能的是,它们或许能在某种程度上生成特定主题模型的折痕图,因为折痕图的对称性取决于成品模型的附肢数量。这类总体上的对称性,使人无需具备通用情况下读图和画图的能力,就能区分四足动物的折痕图和蜘蛛的折痕图。如果把这个实验(以及训练集)限定为只使用单一技法的折痕图,比如箱式折纸,这项任务还能进一步简化。

另一方面,要让 AI 模型稳定生成正确的折痕图、并且折出来是令人信服的特定动物模型——比如一只明显不同于猫的狗——那完全是另一回事,以目前的 AI 模型来看,多半做不到。

仅凭图像、不参考任何折纸规则,这种思路听起来也许极端,但类似的做法有时确实可行。有人做过天气预报实验,只依据卫星图像,完全不参考气团与云层的底层行为。另一个成功的实验是教 AI 系统玩电脑游戏,只依据屏幕上可见画面的图像,不掌握任何关于游戏规则的显式知识。与大多数 AI 系统一样,这类方法依赖庞大的训练集,而放到折纸的场景里,这可能成为问题。

我们要去哪里

现在,让我们快进一下,想象一个完美的、由 AI 驱动的折纸设计工具会是什么样子,暂时跳过如何实现它的那些难点。以下是我设想的一次示例会话:

> a deer with large antlers
[a folded model representing a realistic deer with large antlers appears in the 3D view, with the CP (e.g. 22.5°) in a side panel ]
> box pleating
[a new CP, this time using box pleating, and corresponding rendered folded model are generated]
> cartoon style
[proportions are changed to make the deer look more like Bambi]
> add eyes
[previous model had a smooth face, now a new version appears in which eyes are clearly marked by folds]
> longer legs
[modified model appears]
…
[user is satisfied with the design, switches to shaping mode]
> lift front left leg up
[change is applied to 3D view, CP remains same since it’s just shaping]
[user grabs the ears in 3D view and moves them around as if shaping an actual paper model]
[user can export the CP as well as 3D view, both in drawing and photorealistic style]
[user can generate drawings of step-by-step folding instructions for the model automatically]

这个先进的工具应当能完成设计的全部步骤,也就是说,它的输入应当只是对模型的一段粗略描述,类似于客户向所聘请的人类折纸设计师提供的东西。目前在图像生成和 ChatGPT 上的经验表明,文本提示词可能是合适的选择:它们表达力强、紧凑,而且易于分享和讨论。由于对任何输入都存在无穷多个可能的解,且彼此之间难分优劣,因此应当可以手动设置随机种子,大概还需要一些控制算法行为的额外设置,就像我们在当前的图像生成模型里看到的那样。

ChatGPT 的界面可以作为交互式折纸设计系统界面的起点

ChatGPT 的界面可以作为交互式折纸设计系统界面的起点

系统还需要具备交互性,能够方便地修改提示词,或添加改动与约束,并实时看到它们的影响。ChatGPT 所展示的对话式方法似乎是逐步细化的合适工具。一些常用选项,比如在 box pleating 和 22.5° 方法之间做选择,可以做成按钮,以减少打字。有些改动演示起来比描述起来更容易,因此界面还应当提供 3D 视图,以便分析 CP 的收拢过程,并进行小幅手动修改。这个视图还可以用来探索整形选项,既包括程序建议的,也包括用户手动施加的。最后,大概还应当有一个传统的 CP 编辑器,配上折叠模拟器,用于在 CP 层面施加手动修改。

除了手动修改 CP 或摆出模型姿态,人类创作者的角色还在于设计一串恰当的提示词来引导设计过程,直到模型具备想要的特性,最后把模型折出来。如果实体折叠模型在比设计模型更长的时间里都停留在机器能力之外,我不会感到意外。折叠需要专门的硬件,成本更高,而且相比软件,能复用的现成组件更少。有意思的是,即便在最极端的情况下——去掉交互,只让人类给出一条输入提示,其余全交给 AI——启动设计过程、以及接受或拒绝 AI 生成的结果,仍然是人类的角色。

如何走到那一步

用 Oripa 编辑折痕图(我的 Sol 模型)

用 Oripa 编辑折痕图(我的 Sol 模型)

在动手构建上述完美系统之前,先想想我们已经有什么。意外的是,这套系统里相当多的部分已经就位,而且完全不依赖 AI,仅靠严格的算法就能良好运转。TreeMaker 和 Box Pleating Studio 接收模型的线条图(比如人形或动物形象)作为输入,生成可将其折出的折痕图;Oripa 等工具让你绘制折痕图、检查其正确性,并让程序在屏幕上替你折叠;Origami Simulator 则让你虚拟折叠折痕图,并用鼠标抓取、拉扯其中某些部分,观察它如何响应。

这些子系统单独来看都相当出色,但在合适的位置引入一些 AI,还能让它们更进一步。其中一些改动可以提升现有功能的性能,另一些则能带来全新的使用方式。

最低限度

基础文本到 CP 的 AI 流程

基础文本到 CP 的 AI 流程

按照我的定义,要让系统设计折纸,目前只缺一个严格必要的环节:文本到 CP 的映射器。既然我们已经能在没有 AI 的情况下完成从棍状图到 CP 的转换,那只需补上缺失的文本到棍状图这一步,而以当前生成模型的能力来看,这听起来并不算离谱。我猜,只要喂给它们足够的数据(规模还得是实际可准备的),这些现有模型就能相当擅长根据「长着大角的鹿」这类提示词生成像样的棍状图。有一个问题需要处理:这些模型生成的是位图,而我们需要矢量图。不过位图转矢量在没有 AI 的情况下效果已经不错,而棍状图只是整个问题中一个特定的子类,微调之后应该能做得更好。

这样一个系统产出的结果会很粗糙(只是折纸基本型的 CP,没有通常用来让模型看起来像真实动物的整形),但我愿意接受它算作「AI 设计的折纸」。

进一步的改进

有些折纸模型存在大量可能的层序,AI 可以帮助更好地梳理(我在 Oripa 中的 Sol 模型)

有些折纸模型存在大量可能的层序,AI 可以帮助更好地梳理(我在 Oripa 中的 Sol 模型)

下面列出的改进可以增强上一段中那个基础的 AI 折纸设计系统,但其中许多也能独立于它实现,作为现有基于算法的工具的扩展。

  • 支持换色及其他设计特性
  • 支持多种设计范式(例如树方法、箱式打褶、六边形打褶、非平折设计、带曲线折痕的旋转曲面等)
  • 风格迁移
  • 用「软」变形模拟摆姿与整形,既支持手动引导也支持自动完成
  • 自动生成各种格式的模型描述或折叠说明:CP、分步说明,甚至视频教程;这套机制既可用于 AI 生成的模型,也可用于人类设计的模型——后者往往因为绘制图解所需的工作量而鲜为人知
  • 根据一个人折叠模型的录像生成折叠说明,而不是从 CP 出发
  • 根据分步说明的图片,虚拟折叠模型并求出其 CP;根据用手机拍摄的 CP 照片虚拟折叠模型,现在应该已经可行(图像矢量化 + 基于算法的 CP 折叠)
  • 根据折好的模型照片反向工程出模型
  • 把基于 AI 的信息检索用于折纸,例如根据图片或文字描述找出模型的名称、作者和发表信息(差不多就是 Spot the Creator 这个 Facebook 群组靠人工帮忙在做的事)。如果拿合适的数据训练一个像 ChatGPT 这样的模型,这在某种程度上可能已经可行。
  • 自动找出从设计角度讲得通的层序:有些设计存在大量可能的层序,目前生成它们要耗费大量资源,在软件里也很难梳理
  • 提升 NP-hard 或其他计算量大的任务的性能,比如判断一个 CP 是否可平折、判断是否可刚性折叠等。启发式方法确实存在,但 AI 可能给出更好、更快的结果。

除此之外,AI 模型必然会随着时间推移不断改进,对相同的输入生成越来越好的输出,而且速度越来越快。没有哪个系统是完美的,因此随着时间推移,必然会出现某种形式的 prompt engineering,帮助设计者更有效地使用这些工具。

折纸 AI 研究的短期路线图

我们目前处于 灵感生成器 阶段。上文列出的某些较高级的折纸 AI 应用实现起来会很困难,但另一些可能相对容易。以下是我认为现在就该重点推进的一些方向,既希望直接取得新成果,也为后续研究铺路。

  • 在大量折纸模型图片上微调现有的 text-to-image 模型,以在 灵感生成器 阶段获得更好的表现。
  • 研究 灵感生成器 这一思路:让人根据 AI 生成的图像来设计折纸模型,了解实际可行的频率有多高,以及有针对性的训练能否提高这些模型真正可折的概率。
  • 在折痕图(crease pattern)图像上微调现有的 text-to-image 模型,研究能否让它们生成至少大体正确(即可折)的折痕图,之后再研究这些模型能否为类似给定主题的模型生成 CP。
  • 在折纸相关文献上微调大语言模型,看看相比原版 ChatGPT 之类,其在这一领域的知识能提升多少。
  • 尝试让大语言模型生成折纸折痕图。已经有人能让 Chat GPT 输出一些基本的 SVG,所以也许通过有针对性的训练,可以让它输出 SVG 或 Oripa OPX 格式的 CP。也许值得尝试开发一种简写记法,比自由文本更严格地描述折叠过程,或许类似国际象棋记谱法,并用这种记法描述的模型来训练 AI。显而易见的问题是,所有训练数据都得从零生成。更新:看起来 FoldMation 使用了一种 DSL(领域特定语言)来描述折纸的折叠过程,可能正好适合上述这类机器学习。
  • 做一个 text-to-stick-model 生成器。如上文所述,构建这样一个组件并与现有的折纸设计工具结合,几乎是实现粗略的 text-to-crease-pattern 系统之前唯一欠缺的部分。我预计这会是第一个真正可行的 AI 系统,能够处理完整的设计路径(起初是得到一个可折的基型,不含整形)。

这些建议中,我聚焦于微调现有 AI 模型,因为从零开始构建一个专注于折纸的模型,目前看来相当不现实——工作量与成本都摆在那里。这些想法能否奏效尚无定论:可能出好结果,也可能不行,但我认为研究应当从这里起步。话说回来,AI 领域已经带来过不少大惊喜,比如大语言模型的成功,所以真正让我们造出能设计折纸的人工智能的,也许是完全不同的思路,而非这些。

争议

Image generated with Dall-E 2

Image generated with Dall-E 2

AI 图像生成器引发了大量争议,在互联网艺术家社区中尤其如此。这个话题足够宽泛,值得单独写一篇文章,这里我只列出争论的主要焦点。批评者认为,AI 生成的图像可以被轻易用来制造和传播虚假信息;它们容易助长各种刻板印象;其生成方式滥用了真实艺术家的作品,既无任何补偿,甚至直接构成剽窃。最后一点还可能导致艺术家失业,以及真正的创造力衰退。

首先,我认为争议的潜在程度因 AI 的应用场景而异。未来若有一款折纸工具,借助 AI 能自动为从 CP 折制的复杂模型找到合理的层序,我怀疑不会有人对此有意见——就像计算机图形领域很少有人反对使用智能瑕疵去除滤镜一样。真正引发大量讨论的,是 AI 能够接管设计角色的时候。

这类讨论在折纸社区也必然会出现,事实上已经出现了。不过我认为,只有最后一类问题——即 AI 对艺术和艺术家影响的问题——才与折纸界相关。与平面设计师等群体不同,折纸创作者很少靠这门手艺谋生。批量生产各种图像有明确的用途,因此人们有需求用自动化方式完成这类任务,而不是靠人力;但我看不到批量设计折纸模型有什么现实用途,因此除了好玩之外,几乎没有动力去做。所以我认为,AI 能接管设计师角色所带来的经济层面影响,在折纸社区远不如在其他媒介的社区中那么显著。

当然,“任何人几分钟就能做出我作为人类设计师需要多年经验才能完成的设计”这个问题依然存在。只要基于 AI 的作品不被冒充为手工设计,我不觉得这会成为大问题。尽管有汽车,人们仍然练习跑步和骑行,而且既有跑步比赛也有赛车。我认为,由于商业化程度不高,加上很多人只是图个好玩,折纸有幸基本避开了在其他领域已经严重得多的争议。没有量产的动力,量产的能力也就无关紧要。

我也相信,到目前为止,折纸社区对不同工作方式的人相当宽容。当然会有关于什么算折纸、什么不算的讨论,但我没见过谁因为某人用了某种技法而另一个人不接受就掀起圣战。超复杂折纸领域的设计师早就在用先进的计算机工具,而做极简湿折模型、不用这些工具的人根本不在乎。我不认为在工具箱里再加入一个能从头到尾设计模型的 AI 会改变这种态度。折纸在很大程度上关乎自我施加的任意限制1,比如不用剪裁和胶水。即便在今天,很多作品借助额外工具会更容易做出来,而我们有意选择不用。AI 设计不过是又一种这样的工具,有些创作者会用,有些不会。

另一方面,“AI 就是抄袭”这个论点用在折纸上,可能比其他媒介更有依据。这类系统基于样本学习的方式,以及它们的输出与训练数据之间的关系,都很复杂,我认为问题并非那么非黑即白。不过,折纸的训练集规模会远小于摄影或艺术图像,因为全球可用的样本更少。因此,生成的作品中有很大部分逐字照搬训练数据的概率大概会更高。这种情况是否真的会发生,还有待观察。

为什么这一切可能永远不会发生

使用 Midjourney 生成的图片

使用 Midjourney 生成的图片

一件事在技术上可行,不代表它真的会发生。

最常见的原因是经济因素:有些事情可行,但代价极高。截至 2023 年,人类上一次在月球上行走已经是 50 年前的事了——1972 年——尽管这显然可行,下一次尝试却要等到 2025 年。登月没有经济基础,但它背后有强大的政治意愿支撑,没有这种意愿就不会发生。

另一个原因可能是社会性的:人们或机构出于各种理由拒绝某种做法。

文本生成图像形式的生成式 AI 既有直接的实用价值(为网站和其他媒体创作图像),也是一个绝佳的试验场,公司可以用它来展示自己的能力。ChatGPT 等大语言模型同样如此。这推动了研发,让公司愿意投入大量资源来构建和完善这类系统。

折纸则没有这样的经济激励。靠它赚钱的人很少,懂它的人也不够多,无法让折纸 AI 成为展示公司能力的好演示。因此,我认为任何专门针对折纸的开发要么出自学术界,要么由某个专注的爱好者完成。尽管属于小众领域,计算折纸确实存在,也有一些研究者在做。比如说,如果一个博士生同时对 AI 和折纸感兴趣,他很可能凭一己之力就能启动这整个研究方向。商品化可能提供另一条路径。如果 AI 技术变得无处不在、便宜且易于使用,把它应用到一个新领域可能不再需要任何专业知识。这样的商品化技术不会是前沿的,但明天的过时技术很可能本来就领先于今天的前沿。

另一个可能让折纸 AI 难以开发的原因,是训练数据不足。机器学习通常依赖大量样本。Stable Diffusion 用 20 亿张图像训练,而之所以能做到这个规模,是因为可以从网上抓取带有说明文字的图片——这些图片原本是为其他用途制作的(这件事本身就引发过一些争议)。折纸相关的数据没有那么多,连折好的模型的简单图片都不多,更不用说带有恰当描述的折痕图了。不过也不是全无希望,因为微调现有模型往往只需要少得多的图像,有时甚至只要几张,但这条路能走多远,还有待观察。

总结

我的观点是:能够针对各种题材、用各种风格完成高质量端到端折纸设计的计算机软件,离我们还相当远;但一个接收文本描述、针对有限题材输出可折叠折痕图的初级系统,即便用今天的技术也很可能做得出来。本文勾勒了用现有工具构建这样一个方案的路线图,并提出了进一步改进它所需的步骤。不过我也指出,尽管技术上可行,许多基于 AI 的折纸工具可能短期内不会出现。同时我认为,高质量生成式 AI 模型到来时震动视觉艺术界的种种争议,在折纸圈子里大概会弱得多。

做预测很难,在一个新兴且非常活跃的领域尤其如此,所以过几年再回来看这篇文章、看看它经不经得起时间考验,会很有意思。

  1. 感谢 Hans Dybkjær 启发性的邮件交流,最初由一场关于折纸分类的讨论引发,但我认为它同样与折纸中的 AI 这一主题相关 ↩

来源: Michał Kosmulski← 返回首页