天天看點

AI繪圖模型不會寫字的難題,被阿裡破解了

作者:量子位

克雷西 發自 凹非寺

量子位 | 公衆号 QbitAI

能準确寫漢字的AI繪圖工具,終于登場了!

包括中文在内一共支援四種語言,而且還能文字的位置還能任意指定。

從此,人們終于可以和AI繪圖模型的“鬼畫符”說再見了。

AI繪圖模型不會寫字的難題,被阿裡破解了

這款名為AnyText的繪圖工具來自阿裡巴巴,可以按照指定位置精準地向圖中加入文字。

此前的繪圖模型普遍無法準确地向圖中添加文字,即便有也很難支援像中文這樣結構複雜的文字。

而目前Anytext支援中英日韓四種語言,不僅字形準确,風格也可以與圖檔完美融合。

AI繪圖模型不會寫字的難題,被阿裡破解了

除了可以在繪制時加入文字,修改圖檔中已有的文字,甚至向其中加字也都不是問題。

AI繪圖模型不會寫字的難題,被阿裡破解了

究竟AnyText效果如何,我們也實際體驗了一番。

各種風格輕松駕馭

官方在GitHub文檔中提供了AnyText的部署教程,也可以在魔搭社群中體驗。

此外還有網友制作了PyTorch筆記,可以在本地或Colab中一鍵部署,我們采用的也是這種方式。

AI繪圖模型不會寫字的難題,被阿裡破解了

AnyText支援中英文Prompt,不過從程式日志來看,中文提示詞會被自動翻譯成英文。

比如我們想讓AnyText給馬斯克換上一件白色T恤,讓他來給量子位(QbitAI)打個call。

隻需要輸入提示詞,然後設定文本的位置,然後直接運作就可以了。

AI繪圖模型不會寫字的難題,被阿裡破解了

如果需要調整尺寸等參數,可以将上方的菜單展開;如果不會操作,頁面中還附有中英雙語教程。

AI繪圖模型不會寫字的難題,被阿裡破解了

最終,在搭載V100的Colab上,AnyText用了10多秒繪制出了四張圖檔。

效果還是不錯的,不論是圖本身還是文字,看上去都沒有什麼破綻。

而且各種文字材質AnyText都能準确模仿,比如黑闆上的粉筆字,甚至是傳統書法……

AI繪圖模型不會寫字的難題,被阿裡破解了

街景中的文字,甚至是電商促銷海報,都難不倒AnyText。

AI繪圖模型不會寫字的難題,被阿裡破解了

而且不僅是平面上各式各樣的文字,立體風格同樣也不在話下。

AI繪圖模型不會寫字的難題,被阿裡破解了

而其中的文本編輯功能,還可以修改已有圖檔中的文字,幾乎不會留下破綻。

AI繪圖模型不會寫字的難題,被阿裡破解了

在測試當中,AnyText也是取得了不錯的成績——無論是中英文,準确度都顯著高于ControlNet,FID誤差也大幅減少。

AI繪圖模型不會寫字的難題,被阿裡破解了

此外,如果自行部署,還可以對字型進行自定義,隻需準備好字型檔案并對代碼簡單修改就可以了。

AI繪圖模型不會寫字的難題,被阿裡破解了

那麼,研究人員是怎樣讓AnyText學會寫字的呢?

文本渲染獨立完成

AnyText是基于擴散模型開發的,主要分為兩個子產品,文字生成的過程是相對獨立的。

這兩個子產品分别是隐空間輔助子產品和文本嵌入子產品。

AI繪圖模型不會寫字的難題,被阿裡破解了

其中,輔助子產品對字形、文字位置和掩碼這三種資訊進行編碼并建構隐空間特征圖像,用來輔助視覺文字的生成;

文本嵌入子產品則将描述詞中的語義部分與待生成文本部分解耦,使用圖像編碼子產品單獨提取字形資訊後,再與語義資訊做融合。

在實際工作過程中,嵌入的文本輸送給繪圖子產品時被用星号代替,在嵌入空間預留位置并用符号填充。

然後文本嵌入子產品得到的字形圖像被輸入預訓練OCR模型,提取出字形特征,然後調整其次元并替換預留位置中的符号,得到新的序列。

AI繪圖模型不會寫字的難題,被阿裡破解了

最後,這個序清單示被輸入到CLIP的文本編碼器中,形成最終指導圖像生成的指令。

這種“分而治之”的方式,既有助于文字的書寫精度,也有利于提升文字與背景的一緻性。

此外,AnyText還支援嵌入其他擴散模型,為之提供文本生成支援。

論文位址:

https://arxiv.org/abs/2311.03054

GitHub:

https://github.com/tyxsspa/AnyText

魔搭社群:

https://modelscope.cn/models/damo/cv_anytext_text_generation_editing/summary

筆記:

https://colab.research.google.com/github/camenduru/AnyText-colab/blob/main/AnyText_colab.ipynb

— 完 —

量子位 QbitAI · 頭條号簽約

關注我們,第一時間獲知前沿科技動态

繼續閱讀