算法字体与人工智能字体设计方法研究

2024-03-09 01:59王帆
工业工程设计 2024年1期
关键词:字符字体设计师

王帆

南京艺术学院,南京210013

在科技革命的社会语境下,人们所熟知的字体行业正在发生变化,字体设计在全球市场上运作,字体应用在跨文化环境中延续。随着新视野的打开,技术机遇向人们展示了字体设计的创新能力。

一、算法驱动的生成系统与自动化字体设计

技术进步改善了几乎所有行业的工作流程,并悄然渗透到创意领域的脉络中,字体设计师已不再根据自己的艺术感觉塑造单个字形,而是越来越广泛地使用编程算法、参数化方法,并将这些工具提炼成一个设计系统来定义整批字体的属性,从而实现工作流程的自动化。

(一)生成系统与字体设计

编程作为一种工作方式,是设计系统的催化剂。如今,设计师将工作转向为开发小型工具或系统,而不是设计模拟数字的“一次性产品”。与非程序化的结果相比,设计师的决策或系统的规则,在制定的脚本中变得更加清晰。韩国设计师安汝贤(Yeohyun Ahn)[1]开发的字体设计研究项目“字体+代码(Type+Code)”(见图1),在其第二系列中,她通过使用数学表达式、计算机算法(二叉树算法、L 系统算法等),以“控制论生态学”的图形表现形式,探索了实验性、代码驱动的字体设计美学。中国设计师郭锐文(Raven Kwok)[2]在他的作品“伟大(Greatness)”(见图2),中利用Voronoi曲面细分作为核心元素,通过Processing 编程定制生成系统的多个变体建构了拉丁文字体的轮廓。此外,他还将计算机程序算法在视觉美学表达上的可能性拓展到了中文字体设计领域。他利用从字体文件中提取的字形数据,为丁卯点阵体、行楷Next 体和基本美术体这三种中文字体实现了独特的视觉风格和互动体验。

图1 安汝贤的算法字体设计项目“字体+代码”部分作品

图2 郭锐文的拉丁文及中文算法字体设计作品

生成系统深深植根于平面设计的历史背景之中,字体设计领域一直由系统化的技术驱动流程所定义。将递归性用于字体生成是《模拟算法:源相关网格系统》(Analog Algorithm: Source-Related Grid Systems)(见图3)的核心原则,设计师克里斯托夫·格林伯格(Christoph Grünberger)[3]详细描述了从形式分析到设计规则的制定及应用过程,首先在比例网格的基础上创建一个显示字体示例,然后通过对字体形式矩阵所有可能的排列方式进行理论上完整迭代,这种方法强调了形式赋予是一个发现的过程。而《字母变体》(Letterform Variations)(见图4)中,所有字体生成均来自一个使用基本网格和形状系统构建的视觉框架,设计师奈杰尔·科蒂埃(Nigel Cottier)[4]设计了两部分内容,A部分为原始完整字符集,B部分为原始完整字符集的9种变体。每个字母变体字符集包含两个已定义的权重,共计19 840个字符。此外,每个字符集都创建了一个可变字体文件,允许显示两个字符集之间的任何权重,从而创造出无穷无尽的变体字形。这种方法部分基于算法函数生成的视觉转换,例如约束、规则、网格和模块;部分基于设计师对构图、平衡和视觉动态的判断。科蒂埃的模块化系统建立在广阔的设计空间内,便于产生无限的输出,但他随后做出了深思熟虑的选择,将结果分类并编辑成一种系统化的语言编码。“程序性”或“生成性”是算法对输出至关重要的另一种说法。“生成字体(Generative Fonts)”(见图5),是一个程序生成的显示字体以及其代码库的集合,它的设计者卢克·普劳斯(Luke Prowse)认为,算法只是设计的另一种表达,其中很多想法都始于纸上,然后被逆向工程转化为一个系统,其中不乏一丝随机性。该项目的创作流程分为三个步骤,首先,所有脚本都需要输入字体作为修改的基础;其次,所有脚本都在GlyphsApp 中的输入字体上执行,GlyphsApp 提供共享代码库,因此可以修改现有参数或创建自己的参数作为独特脚本;最后,脚本会根据所选字形或整个字形集生成轮廓输出字体。德卡斯特里奥算法(De Casteljau's algorithm)是该项目的基础,它可以与判别点在多边形内算法(Pointin-Polygon Algorithm)相匹配,搭载创意编程创建一种系统框架来解决一些比较棘手的常见问题,从而让设计师自己创建的生成式字体变得更容易[5]。

图3 《模拟算法:源相关网格系统》中的算法字体设计作品

图4 《字母变体》中的算法字体设计作品

图5 “生成字体”项目及创作流程的三个步骤

技术与创造力之间的鸿沟似乎正在缩小,设计师开始对编程持更加开放的态度。然而莫妮卡·洛萨达(Monica Losada)则从一个没有编程知识背景的平面设计师的角度,尝试性地探讨了工具如何影响字体设计美学的问题。她经常使用Excel 办公软件和十字绣图案生成器作为字体实验的起点,通过这些作品,她开始质疑作为设计师所使用的标准软件,并探索以非传统方式使用交互式工具或以不同方式使用标准化工具时所产生的各种可能性。在新作“开放作品(Open Works)”(见图6)中探索了开源工具的设计可能性,并再次使用上述两种非传统设计软件及开源工具Glyph Drawing Club,但她所面临的挑战是,既要创造一个具有凝聚力的视觉世界,又要突破每种工具的极限。她认为,当涉及复杂的系统时,编码会更加方便;相反地,在不考虑通过编码实现自动化的情况下,通过手动操作的方式,设计者不得不更深入地思考正在使用的规则和参数[6]。设计师莉娜·韦伯(Lena Weber)也认为在实践中,只有那些编程知识达到一定门槛以上的使用者才能拥有高度的行动自由,从而获得随心所欲的美感。虽然设计师能实现的结果受限于自己的知识水平和创造性编程的基本构件,但其必须问自己如何应对这些限制。在系统性和生成性策略的指引下,她的字体设计作品(见图7)一直在处理模糊的编程美学。在她看来,当作为交流手段的可解释性和作为所使用脚本的简单数据可视化,这两个方面达到平衡时,就会产生“程序图像的模糊性”[7]。

图6 莫妮卡·洛萨达的算法字体设计实验“开放作品”

图7 莉娜·韦伯的算法字体设计实验“模糊美学”

(二)自动化与字体设计

从在字母上添加重音符号,到使用算法自动调整行距和字距,再到插值或构建自动编译复杂字体系列的脚本,这些任务都或多或少地由计算机程序自动完成。自动化不仅存在于日益复杂的工作流程中,它还一直延伸到软件程序用来绘制几何形态的数学运算[6]。

在面对当今普遍存在的技术焦虑上,字体设计师丹尼尔·文泽尔(Daniel Wenzel)决定直面问题,并将这种自动化完全融入他的工作流程中。他的“自动化字体设计”(Automated Type Design)项目(见图8),尝试使用自动化流程来创建字体。他使用了专业字体设计工具,以及自创或误用的程序来模拟传统字体设计工具无法实现的过程。他的工作流包含了5 种方法:部分字体作品完全是通过变化步骤来创建的,类似于内维尔·布罗迪(Neville Brody)的FF Blur,通过变体创建字体;部分字体有意利用FontARk 或Prototype 等生成器的局限性,通过有限工具创建字体;使用数学公式来描述字体而不是手工绘制曲线,借助“艺术指导”策略创建字体;使用模拟笔刷等辅助工具生成新的权重、脚本和光学校正,借助辅助过程创建字体;利用生成的数据集训练神经网络,并在人工选择的基础上进行自动表格链接创建AI字体,借助自主程序创建字体。这看似一系列探索性实验的结果,却是一个深具哲学意味项目的根基,该项目试图在自动化程度不断提高的情况下,界定创作者自主权的边界[8]。

图8 “自动化字体设计”项目

综上所述,使用变量和代码结构来描述美学形式,探索了模拟与数字、系统与混沌、随机与确定之间的字体设计的可能性。

二、人机耦合视角下的人工智能字体设计

在最新一份调查创意产业与人工智能关系日益密切的权威报道《智能的阴影:83%的创意人员已经在使用机器学习工具,现在是与人工智能站在一起的时候了吗?》中,就“人工智能在创意流程中的哪些方面被证明是最有用的?”这一问题作出回应,38%的受访者认为人工智能最重要的作用在于创意的产生阶段。经过数据分析及调查表明,Impala 可以在一周内让客户获得从一张白纸到一个经过全面测试的提案;ChatGPT、DALL·E2及MidJourney在最初的构思阶段,能快速铺设大量假设场景,帮助客户将其可视化[9]。因此,在字体设计实践中,创造性地使用人工智能辅助其设计过程,人们将发现大量新的可能性和表达方式,远远超出人工智能作为模仿者或人工智能作为劳动者的范畴。

(一)生成对抗网络GAN与人工智能字体设计

人工智能是一种用于创造性发现的工具,它的萌芽期和缺陷性会给人类带来惊喜和不可预知的冲动,从而创造出令人兴奋的新事物。在字体设计自动化流程中,大多数设计师使用生成对抗网络(GAN:Generative Adversarial Network)来训练数据集,进行风格迁移、插值生成等工作。GAN是基于博弈论的一种无监督学习,通过对抗过程来评估生成模型的新框架。该框架由两个深度学习模型构成,一个捕捉真实数据分布,并生成新样本的生成模型G(Generator),以及一个二分类器,判别输入是真实数据还是生成样本的判别模型D(Discriminator)。两者相互博弈的过程减少了所需的人工干预,可以将生成模型视为一种赋予人工智能的想象力,机器开始学习世界的面貌[10]。

(二)诗意插值与视觉补偿

NaN Studio思考的是能否训练一个机器学习模型来生成逼真或只是有趣的字形。其在“机器学习字体(Machine Learning Font)”项目中(见图9),使用RunwayML 对由2 674 种谷歌字体组成的数据集进行了styleGAN 模型的训练,这些数据集在Drawbot 中以每个字形为一个单独的图像进行组织。然后通过Python将Runway生成的图像导入GlyphsApp,以处理最终字体。一般来说,每个字形的处理都需要3 000个模型训练步骤,110个独特的字形总共需要550 h的训练时间。有些字符需要更长、更多的步骤来创建可识别的形式。例如,尽管字符b被粗略地描述为字符d的简单镜像,但它并不符合要求,需要三次单独的训练尝试和不断增加的步骤数才能最终被识别为字母形式本身。有时,一个字形在第一次尝试时就会出现几乎完美的效果。这种不一致性在一定程度上解释了组成这个“字母表”的各种字形的复杂性。这个过程虽然有缺陷,但最终还是产生了一种奇特的字体,同时也暗示了机器学习字体的可能性和局限性[11]。丹尼尔·文泽尔认为,GAN字体实验是人工智能在理性工艺方面具有优势的证明,也是保守字体设计冗余不断增加的证据。他的作品“无题AI(Untitled AI)”(见图10)通过改变2 000次的输入数据来训练字体模型,最终得到了一个包含10 种字体的集合,其中有6 种衬线字体和4 种无衬线字体。然而,将像素结果矢量化并转换成可用的字体格式,其缺陷提供了必要的特征和魅力[12]。

图9 “机器学习字体”模型训练步骤对比及终版生成字体对比

图10 “无题AI”项目

撇开机器学习可用于字体设计过程的大量自动化流程不谈,人工智能往往被贬低为对现有设计的插值,但无论是Process studio 生成的具有“人工”情感的emoji 表情的全新变体,还是安娜·费伊(Anna Fay)与奥莱克桑德拉·普申伊奇娜(Oleksandra Pshenychna)基于拉丁文F 与西里尔文Φ的中间形式,或是尹林恩(Lynne Yun)以人脸为基础进行训练的无衬线字体项目,都是基于精选数据集进行诗意的插值生成,发现了连续嵌入的可能性空间。

Process studio 为2019 年维也纳双年展“不可思议的价值(Uncanny Values)”(见图11)开发了一种独特的、由人工智能驱动的传播形式。展览交流设计的核心是AImoji——由人工智能生成的表情符号。设计团队面对的是一种作为国际通用的视觉语言emoji,他们利用由几千个常用表情符号组成的数据集作为输入信息,借助DCGAN训练神经网络,创造出这些微小数字表情的全新变体。其结果令人惊讶和不可思议:每一个AImoji 都会产生新的、迄今未知的“人工”情感,挑战大众对它们的解读和互动。延续同样的方法,他们还创建了一种在不同字体重量和风格之间变换的展览字体标识[13]。此外,安娜·费伊与奥莱克桑德拉·普申伊奇娜的作品“EF”(见图12),用拉丁文F 和西里尔文Φ搜索中间字母形式来训练神经网络。字体设计师尹林恩则通过Runway ML 使用数以万计的无衬线样本图像训练了一个StyleGAN。她认为,无衬线字体设计比衬线字体简单得多,因此是训练模型的优选对象。任何机器学习项目都有一个共同的障碍,那就是机器需要大量的数据来训练,但幸运的是MyFonts API提供了无衬线图像的原始样本。此外,尹林恩还对数据进行处理和清理,这样机器就能更好地识别字母形状。RunwayML 的初始模型是以人脸为基础进行训练的,因此你会看到一系列不可思议的图像,人脸变成了字母(见图13)。最后,她还尝试基于一个简短单词“ASH”进行数据集训练。结果表明,这是一个看起来非常清晰的单词,但字符A是三个字母中最容易混淆的[14]。

图11 “AImoji”和“不可思议的价值”人工智能字体的插值生成

图12 人工智能字体设计作品“ef”的插值生成

(三)风格迁移与仿射变换

对中文和其他一些书写系统来说,人工智能可以成为一种解放工具,有可能催生出更多的独立场景。如果未来的字体设计师可以使用和训练风格迁移神经网络,将他们的设计决策从几百个种子字形应用到上万种的字符中去。这种民主化将带来更公平的使用权和更大的参与度,从而带来更广泛的字体表达。

zi2zi模型解决了中文字体之间风格迁移的问题,它是直接从流行的pix2pix 模型衍生和扩展而来的。pix2Pix模型通过建立像素间的映射关系,来实现从轮廓创建到完全显影,但当同一个字符可能出现在多种字体中时,它无法立即处理这种一对多的关系。所以zi2zi引入一对多建模的类别嵌入(Category Embedding for One-to-Many Modeling)技术来解决这个问题,即在字符嵌入之前,将不可训练的高斯噪声作为样式嵌入解码器。通过这种方法,编码器仍可将同一字符映射到同一向量中,而解码器则会同时使用字符嵌入和风格嵌入来生成目标字符。同时,从AC-GAN模型中借鉴了多类类别损失Multi-class Category Loss,通过预测生成字符的风格来监督判别器对这种情况进行惩罚,从而保留风格本身,避免模型混淆并混合各种风格。结果表明,许多字符推断出的形状几乎与基准真相完全相同。此外,zi2zi可以在不同风格之间进行插值,并见证两者之间的状态,发现连续嵌入空间。该模型在汉字领域之外的泛化能力也得到了测试(见图14),最左边的一列是源中文字体的样本,其余的是推断的韩文对应字体。值得注意的是,此时模型在训练过程中还没有看到任何韩文字符。正如结果所示,输出似乎与源中文字体的风格非常相似,这有力地证明了该模型的泛化能力不仅仅局限于记住偏旁部首并将其重述;它还能推断出未见过的部首的外观,这表明它捕捉到了更深层次的结构和风格信息[15]。

图14 zi2zi中文字体风格迁移的深度学习模型(左)和中文到韩文的泛化过程(右)

CJK 字体为中日韩统一表意文字,有多种传统表现方式,而作为现代的字体,则主要有宋体(欧美称衬线体)、黑体(欧美称非衬线体)、楷体、隶书体等多种类字体[16]。这些书写系统涉及各个字形的复杂性和巨大的字符集。以中文体量为例,中文字体的最小标准字库是GB2312,含6 763 个字;Unicode 编码可以表示的所有中文约九万四千字;而现存最大的中文字库甚至可达十几万字[17]。CJK字体设计面临三难困境(Trilemma),即无法同时满足这三个方面的要求(字体的质量要好,字体的字符集要大,降低人力成本)。这种三难困境的存在是人们需要技术来实现CJK字体设计自动化的根本原因[18]。

面对CJK 字体的三难困境,由瑞士洛桑艺术与设计大学(ECAL)发起,与瑞士洛桑联邦理工大学计算机视觉实验室(EPAL)合作的字体研究项目“爱字(AI字)”,开发了一种基于仿射变换(Affine Transformation)的人工智能算法,利用少于500 个基础字符来自动生成中文字体。该项目的第一步提供了超过九万字的汉字全字符集偏旁部首拆解数据库(见图15);第二步为了学习仿射变换(见图16),VGG-19 网络需要事先了解每个组件的原始位置和大小,将图像输入VGG-19网络后,网络会提取深层特征,深层特征可以表示大小、形状等信息;第三步将所有这些信息组合在一起,再次将图像馈入网络,在生成图像与紧缩图像之间进行损失(loss)处理,有了这个损失,再进行反向传播,这样网络就能学会做出更好的决定。随着历时的增加,就可以获得更好、更精确的不同组件的位置。区别于zi2zi等模型,它们大部分关注的是风格分类及书法样式,“爱字”项目则更期望生成笔画更加平直、质朴的正文样式(body text)及系统,任何设计师都可以用它来训练AI或作为字体设计的参考[17]。

图15 “AI字”项目的偏旁部首和可分割组件的排版系统及数据库

图16 “AI字”项目学习仿射变换过程

Next Lab 设计的“Glow Sans”交互式工具(见图17),使用一种新的字体表示和数百个特定操作生成新的样式实例,它将轮廓报告为骨架点和相对于相应骨架点的偏移,这种表示形式使人们能够单独操作结构特征和笔画特征,基于这个表示还定义了一些修改字形的操作。在这个互动工具的基础上,人们可以毫不费力地调整字体中宫、转换字体组件的大小,通过滑块修改字体的基本矩阵。那为什么CJK字体设计自动化仍然是个问题,Next Lab认为,技术问题实际上有两个正字法维度,“Glow sans”在风格变化维度上取得了成功,但很难预测字符集的维度。Next lab 团队延续zi2zi 提出MS-EMD 模型(见图18),它具有多种风格编码器,可以在风格学习中表现更好,且在样式和字符集维度上帮助CJK字体设计。使用这种技术出现了未编码的字符,人工智能生成了并不存在的汉字,并附加到了位图中,探索了潜在空间的想象力[18]。

图17 “Glow Sans”字体交互设计工具界面

图18 MS-EMD模型在风格变化和字符集维度上优化的CJK字体设计

此外,吉恩·科根(Gene Kogan)用代码在手写汉字数据库上训练DCGAN,不仅可以探索单个字符周围的邻域,还可以跨越字符之间的潜在空间(见图19)。DCGAN 在约100 万个手写简体中文字符的标注子集上进行训练,然后生成器就能生成原始数据集中没有的伪造字符图像。生成器由高维潜在空间中的一个向量参数化,让人们可以窥探它的想象力。沿着从一个字符到下一个字符的直线进行采样,可以获得一种假想字符的印象,这些假想字符来自真实字符之间的插值,或许与语义上的中间概念相对应[19]。

图19 20个出现频率最高的字符中每对字符之间的插值循环矩阵

综上所述,人工智能能解放像汉字这样的字体,实现劳动自动化;同时,当字体插值越来越接近时,是否可以在字体设计中创造性地使用人工智能探索新的形式领域,人们应该充满好奇心地接受这些新技术,不仅将其作为节省劳动力的措施,还将其作为进行创造性实验的工具[20]。

三、结语

通过基于数学定理、计算几何的算法字体设计案例分析,回应了如何利用数据和参数来编码形状语法与视觉系统;通过基于生成式对抗网络GAN的人工智能字体设计案例分析驱动字体插值生成与风格迁移的方法。在艺科融合的新文科建设背景及人机耦合的设计趋势下,将设计挑战作为进化和创新的契机,允许人工智能探索人类创造力的协作维度,这种方法是否能作为一种创新策略嵌入到字体设计流程中,保持系统的开放性,赋予技术系统与人类主体之间不断发展的对话,这有待进一步研究。

猜你喜欢
字符字体设计师
小小设计师
寻找更强的字符映射管理器
我是小小设计师
设计师访谈
字体的产生
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
推荐一个设计师
组合字体