首頁(yè) > 科技要聞 > 科技> 正文

AI繪圖模型不會(huì)寫(xiě)字的難題,被阿里破解了

量子位 整合編輯:黃安莉 發(fā)布于:2024-02-17 00:37

能準(zhǔn)確寫(xiě)漢字的AI繪圖工具,終于登場(chǎng)了!

包括中文在內(nèi)一共支持四種語(yǔ)言,而且還能文字的位置還能任意指定。

從此,人們終于可以和AI繪圖模型的“鬼畫(huà)符”說(shuō)再見(jiàn)了。

這款名為AnyText的繪圖工具來(lái)自阿里巴巴,可以按照指定位置精準(zhǔn)地向圖中加入文字。

此前的繪圖模型普遍無(wú)法準(zhǔn)確地向圖中添加文字,即便有也很難支持像中文這樣結(jié)構(gòu)復(fù)雜的文字。

而目前Anytext支持中英日韓四種語(yǔ)言,不僅字形準(zhǔn)確,風(fēng)格也可以與圖片完美融合。

除了可以在繪制時(shí)加入文字,修改圖片中已有的文字,甚至向其中加字也都不是問(wèn)題。

究竟AnyText效果如何,我們也實(shí)際體驗(yàn)了一番。

各種風(fēng)格輕松駕馭

官方在GitHub文檔中提供了AnyText的部署教程,也可以在魔搭社區(qū)中體驗(yàn)。

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

AnyText支持中英文Prompt,不過(guò)從程序日志來(lái)看,中文提示詞會(huì)被自動(dòng)翻譯成英文。

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

只需要輸入提示詞,然后設(shè)定文本的位置,然后直接運(yùn)行就可以了。

如果需要調(diào)整尺寸等參數(shù),可以將上方的菜單展開(kāi);如果不會(huì)操作,頁(yè)面中還附有中英雙語(yǔ)教程。

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

效果還是不錯(cuò)的,不論是圖本身還是文字,看上去都沒(méi)有什么破綻。

而且各種文字材質(zhì)AnyText都能準(zhǔn)確模仿,比如黑板上的粉筆字,甚至是傳統(tǒng)書(shū)法……

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

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

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

在測(cè)試當(dāng)中,AnyText也是取得了不錯(cuò)的成績(jī)——無(wú)論是中英文,準(zhǔn)確度都顯著高于ControlNet,F(xiàn)ID誤差也大幅減少。

此外,如果自行部署,還可以對(duì)字體進(jìn)行自定義,只需準(zhǔn)備好字體文件并對(duì)代碼簡(jiǎn)單修改就可以了。

那么,研究人員是怎樣讓AnyText學(xué)會(huì)寫(xiě)字的呢?

文本渲染獨(dú)立完成

AnyText是基于擴(kuò)散模型開(kāi)發(fā)的,主要分為兩個(gè)模塊,文字生成的過(guò)程是相對(duì)獨(dú)立的。

這兩個(gè)模塊分別是隱空間輔助模塊文本嵌入模塊。

其中,輔助模塊對(duì)字形、文字位置和掩碼這三種信息進(jìn)行編碼并構(gòu)建隱空間特征圖像,用來(lái)輔助視覺(jué)文字的生成;

文本嵌入模塊則將描述詞中的語(yǔ)義部分與待生成文本部分解耦,使用圖像編碼模塊單獨(dú)提取字形信息后,再與語(yǔ)義信息做融合。

在實(shí)際工作過(guò)程中,嵌入的文本輸送給繪圖模塊時(shí)被用星號(hào)代替,在嵌入空間預(yù)留位置并用符號(hào)填充。

然后文本嵌入模塊得到的字形圖像被輸入預(yù)訓(xùn)練OCR模型,提取出字形特征,然后調(diào)整其維度并替換預(yù)留位置中的符號(hào),得到新的序列。

最后,這個(gè)序列表示被輸入到CLIP的文本編碼器中,形成最終指導(dǎo)圖像生成的指令。

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

此外,AnyText還支持嵌入其他擴(kuò)散模型,為之提供文本生成支持。

論文地址:https://arxiv.org/abs/2311.03054

本文來(lái)源:量子位

量子位

網(wǎng)友評(píng)論

聚超值•精選

推薦 手機(jī) 筆記本 影像 硬件 家居 商用 企業(yè) 出行 未來(lái)
二維碼 回到頂部