首頁 >科技週邊 >人工智慧 >會模仿筆蹟的AI,為你創造專屬字體

會模仿筆蹟的AI,為你創造專屬字體

WBOY
WBOY轉載
2023-06-16 15:30:181889瀏覽

筆跡模仿 AI 的研究背景

俗話說,見字如面,字如其人。相較於呆板的印刷字體,手寫體更能體現書寫者的個人特質。我相信很多人都曾設想過,擁有一套屬於自己的手寫字體,用在社群軟體中,更好的展現自己的個人風格。

然而,不同於英文字母,漢字數量是極其龐大的,想要創造一套自己的專屬字體代價十分高昂。例如,最新發布的國標GB18030-2022中文字元集包含8萬多個漢字。有報導稱,某影片網站部落客花了18小時寫完了7,000多個漢字,中間耗費了足足13支筆,手都寫麻了!

上述問題引發了論文作者的思考,能否設計一個文字自動產生模型,幫助解決專屬字體創造代價高的問題呢?為了解決這個問題,研究者設想提出一個會筆跡模仿的AI,僅需用戶提供少量的手寫樣本(大約10 幾張),就能提取筆跡中蘊含的書寫風格(例如字符的大小、傾斜程度、橫寬比、筆畫的長短和曲率等),而臨摹該風格去合成更多的文字,從而為用戶高效合成一套完整的手寫字體。

會模仿筆蹟的AI,為你創造專屬字體

進一步地,論文作者從應用價值和使用者體驗兩個角度出發,對該模型的輸入和輸出模態做瞭如下思考:1. 考慮到序列模態的在線字體(online handwritings) 比圖像模態的離線文字(offline handwritings) 包含更豐富的信息(軌跡點的詳細位置和書寫順序,如下圖所示),將模型的輸出模態設定為線上文字會有更廣泛的應用前景,例如可以應用在機器人寫字和書法教育上。 2. 在日常生活中,相比透過平板和觸控筆等擷取設備取得線上文字,人們利用手機拍照獲取離線文字更方便。因此,將生成模型的輸入模態設為離線文字,使用者使用起來會更加方便!

會模仿筆蹟的AI,為你創造專屬字體

#總結起來,本文的研究目標是提出一個風格化的線上手寫文字生成模型(stylized online handwriting generation method)。此模型既能臨摹用戶提供的離線文字中所蘊含的書寫風格,又能根據使用者需求在線上產生內容可控的手寫筆跡。

會模仿筆蹟的AI,為你創造專屬字體

  • #論文網址:https://arxiv.org/abs/2303.14736
  • 程式碼開源:https://github.com/dailenson/SDT

主要挑戰

為了實現上述目標,研究者們分析了兩個關鍵問題:1. 由於使用者只能提供少量的字元樣本,能否僅從這些少量的參考樣本中學習使用者獨特的書寫風格呢?換句話說,根據少量的參考樣本臨摹用戶的書寫風格是否可行? 2. 本文的研究目標不僅需要滿足生成的文字風格可控,還需要內容也可控。因此,在學習到使用者的書寫風格後,如何將該風格與文字內容高效的結合,從而產生滿足使用者期望的手寫筆跡?接下來讓我們來看看這篇 CVPR 2023 提出的 SDT(style disentangled Transformer)方法是怎麼解決這兩個問題的吧。

解決方案

研究動機# 研究者發現,個人筆跡中通常存在兩種書寫風格:1.相同書寫者的筆跡存在著一種整體上的風格共性,各個字符呈現出相似的傾斜程度和寬高比,且不同書寫者的風格共性各不相同。由於這種特性可以用來區分出不同的書寫者,研究者稱之為書寫者風格。 2. 除了整體上的風格共通性,來自同一書寫者的不同字符間存在著細節上的風格不一致。例如,對於「黑」 和「傑」 兩個字符,二者在字符結構上具有相同的四點水部首,但該部首在不同的字符中存在微弱的書寫差異,體現在筆畫書寫的長短、位置和曲率上。研究者將這種字形上的細微的風格模式稱為字形風格。受啟發於上述觀察,SDT 旨在從個人筆跡中解耦出書寫者和字形風格,期望提升對使用者筆蹟的風格模仿能力。

會模仿筆蹟的AI,為你創造專屬字體

在學習到風格資訊後,不同於以往的手寫文字產生方法簡單的將風格和內容特徵進行簡單的拼接,SDT 將內容特徵作為查詢向量,自適應的捕獲風格訊息,從而實現風格和內容的高效融合,產生符合用戶預期的手寫筆跡。

會模仿筆蹟的AI,為你創造專屬字體

#方法框架 


會模仿筆蹟的AI,為你創造專屬字體SDT 的整體框架如下圖所示,包含雙分支風格編碼器、內容編碼器和transformer 解碼器三部分。首先,本文提出兩個互補的對比學習目標來引導風格編碼器的書寫者分支和字形分支分別學習對應的風格提取。然後,SDT 利用 transformer 的注意力機制 (multi-head attention) 對風格特徵和內容編碼器提取到的內容特徵進行動態融合,漸進式的合成線上手寫文字。

#(a) 書寫者風格比較學習 SDT 提出針對書寫者風格提取的有監督對比學習目標(WriterNCE),將屬於相同書寫者的字符樣本聚集在一起,推遠屬於不同書寫者的手寫樣本,顯示地引導書寫者分支關注個人筆跡中的風格共通性。

會模仿筆蹟的AI,為你創造專屬字體(b) 

字形風格對比學習 為了學習更細節的字形風格,SDT 提出無監督的對比學習目標(GlyphNCE),用於最大化相同字元不同視角間的互訊息,鼓勵字形分支專注學習字元中的細節模式。具體如下圖所示,先對同一張手寫字元做兩次獨立的取樣,取得一對含有筆畫細節資訊的正樣本

會模仿筆蹟的AI,為你創造專屬字體

會模仿筆蹟的AI,為你創造專屬字體

,然後從其他字元取樣得到負樣本

會模仿筆蹟的AI,為你創造專屬字體

。每次採樣時,隨機選擇少量樣本塊作為包含原始樣本細節的新視角。樣本區塊的取樣服從均勻分佈,避免字元的某些區域被過度取樣。為了更好的引導字形分支,取樣過程直接作用於字形分支輸出的特徵序列。 #########################

(c) 風格與內容資訊的融合策略 取得了兩個風格特徵後,如何將其與內容編碼器學習到的內容編碼進行高效融合呢?為了解決這個問題,在任意的解碼時刻t,SDT 將內容特徵視為初始點,然後結合q 和t 時刻之前輸出的軌跡點

會模仿筆蹟的AI,為你創造專屬字體

形成新的內容上下文

會模仿筆蹟的AI,為你創造專屬字體

。接著,內容上下文被視為 query 向量,風格資訊作為 key & value 向量。在交叉注意力機制的融合下,內容情境與兩種風格資訊依序完成動態聚合。

實驗

量化評估 ##SDT 在中文、日文、印度文和英文資料集都取得了最優異的效能,尤其是在風格分數指標上,相較於之前的SOTA 方法,SDT 取得了較大突破。

會模仿筆蹟的AI,為你創造專屬字體


會模仿筆蹟的AI,為你創造專屬字體

定性評估 

在中文生成方面,相較於先前的方法,SDT 產生的手寫字元既能避免字元的崩壞又能很好的臨摹用戶的書寫風格。得益於字形風格學習,SDT 在字符的筆畫細節生成方面也能做的很好。

會模仿筆蹟的AI,為你創造專屬字體

在其他語言上 SDT 也表現良好。尤其在印度文生成方面,現有主流方法很容易產生崩潰的字符,而我們的 SDT 依舊能夠維持字符內容的正確性。

會模仿筆蹟的AI,為你創造專屬字體

#不同模組對演算法效能的影響

 如下表所示,本文提出的各個模組具有協同作用,有效提升了對使用者筆蹟的臨摹效能。具體來說,書寫者風格的加入提升了 SDT 對字符整體風格的模仿,例如字符的傾斜程度和長寬比等,而字形風格的加入改善了生成字符的筆畫細節。相較於已有方法簡單的融合策略,在各項指標上 SDT 的自適應動態融合策略全面增強了字元的生成效能。

會模仿筆蹟的AI,為你創造專屬字體

會模仿筆蹟的AI,為你創造專屬字體

#兩種風格的視覺化分析

 對兩種風格特徵進行傅立葉變換得到如下的頻譜圖,從圖中觀察到,書寫者風格包含更多的低頻成分,而字形風格主要關注高頻成分。事實上,低頻成分包含目標的整體輪廓,高頻成分則更關注物體的細節。這項發現進一步驗證和解釋了解耦書寫風格的有效性。

會模仿筆蹟的AI,為你創造專屬字體

######

展望

大家可以透過筆跡 AI 創造自己的專屬字體,在社群平台上更好的表達自我!

以上是會模仿筆蹟的AI,為你創造專屬字體的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除