能準(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)源:量子位 |
原創(chuàng)欄目
IT百科
網(wǎng)友評(píng)論
聚超值•精選