這個酷炫的手寫體生成項目,網(wǎng)頁版使用 TensorFlow.js 實現(xiàn),模型僅 10M。
本文主要介紹用 Tensorflow 編寫的 RNN 手寫筆跡合成項目,該模型主要基于 2013 年一篇關(guān)于手寫筆跡合成的論文。從項目作者的 Github 進(jìn)程來看,該項目實現(xiàn)已于 2018 年就完成,近日新推出的 Demo 所演示的交互模式下的網(wǎng)頁版本為最新版,基于 TensorFlow.js 實現(xiàn)。項目作者也表示在基于 2013 的手寫筆跡合成的論文下,新增了一個推理模型進(jìn)行優(yōu)化。(Demo 如下圖所示)上圖這個權(quán)游里瑟曦的經(jīng)典臺詞就是使用該項目創(chuàng)建的。示例一為使用固定風(fēng)格與偏置生成的樣本(Smash Mouth – All Star 歌詞):示例二為使用變化的風(fēng)格與固定偏置生成的樣本,每一句詩詞使用不同的風(fēng)格生成(Vanessa Carlton – A Thousand Miles 歌詞):示例三為使用變化偏置與固定風(fēng)格生成的樣本,每一句詩詞的偏置要比上一句小,最后一句無偏置(Leonard Cohen – Hallelujah 歌詞):該項目的創(chuàng)建時間雖然有點早,不過從上一節(jié)的效果展示上來看依然很酷炫。值得一提的是該實現(xiàn)已經(jīng)非常接近原論文,只有一些非常細(xì)微的偏差,生成的樣本的質(zhì)量也非常接近論文中的效果。lines = [
'Now this is a story all about how',
'My life got flipped turned upside down',
'And I'd like to take a minute, just sit right there',
'I'll tell you how I became the prince of a town called Bel-Air',
]
biases = [.75 for i in lines]
styles = [9 for i in lines]
stroke_colors = ['red', 'green', 'black', 'blue']
stroke_widths = [1, 2, 1, 2]
hand = Hand()
hand.write(
filename='img/usage_demo.svg',
lines=lines,
biases=biases,
styles=styles,
stroke_colors=stroke_colors,
stroke_widths=stroke_widths
)
效果展示圖。簡單來說有些細(xì)節(jié)需要注意,如上述代碼所示,目前 Hand 類必須從 demo.py. 中導(dǎo)入。同時,其中也包含預(yù)訓(xùn)練模型,當(dāng)然你也完全可以訓(xùn)練你自己的模型。項目作者表示,該項目發(fā)起之初主要是為了研究論文而做的參考實驗。但最終復(fù)現(xiàn)效果質(zhì)量非常不錯,因此該項目是可以更為廣泛的進(jìn)行使用。比如可以將其進(jìn)行打包,讓整個項目項目看起來更像是一個可用的軟件類項目,而不僅像研究類代碼。同時,作者也提出可增添更多復(fù)雜的繪圖、動畫或是此方向的任意內(nèi)容,而不僅僅限制至于當(dāng)下的手寫筆跡轉(zhuǎn)換。感興趣的讀者可以參考項目原鏈接進(jìn)行瀏覽。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。