2017年06月19日

GANによる漢字書体学習の理論と実装

follow us in feedly
zi2zi: Master Chinese Calligraphy with Conditional Adversarial Networks

最近人気のあるpix2pixモデルを漢字に適用して拡張したもので
漢字書体をGANで学ぶ。と説明されています。

すでに様々な研究が進められたのに、現在でも幾つも問題が残っています。
  • 一度に1つのターゲットスタイルしか学習しない

  • 生成された画像がぼやける

  • もっと様式化されたフォントの下では失敗する



人間はフォントを設計する前に、文字の構造をしっかり学びます。
機械学習でこれを実現するためには、複数のスタイル(フォント)も認識させることが必要で、同時に複数のスタイル(フォント)を学習する事が不可欠です。
...........
zi2zi


Googleのゼロショット翻訳に触発されたカテゴリ埋め込みは、訓練できないガウスノイズを文字埋込みにスタイル埋め込みを連結することで解決します...

これにより、encoder は同じ文字を同じベクトルにマッピングしますが、
decoderは、文字とスタイルの両方のembeddings によって、ターゲットのフォントで文字を生成します。


....................















ソースコードはこちらから利用できます。
https://github.com/kaonashi-tyc/zi2zi

python2向けのような気がしますが、多分python3でも実行出来ると思います。
そして、実行時にGPUを要求すると思います。



python font2img.py --src_font=font1.ttf --dst_font=font2.ttf --charset=JP --sample_count=1000 --sample_dir=dir --label=0 --filter=1 --shuffle=1

まずこうやって文字画像をdirに作っておきます。

python3 package.py --dir=dir --save_dir=experiment/data/ --split_ratio=0.5

こうして、val.obj、train.objを作成します。

作成しないと、学習が進みません。
python3 train.py --experiment_dir=experiment --experiment_id=0 --batch_size=1 --lr=0.001 --epoch=4 --sample_steps=1 --schedule=2 --L1_penalty=100 --Lconst_penalty=15

学習はこうします。




font2img.pyの時に
self.font = core.getfont(font, size, index, encoding)
IOError: cannot open resource
このエラーは
--src_font のフォントファイルが無いからです。
フォントは、例えば https://github.com/Koruri/Koruri.git などです。

reload(sys)
NameError: name 'reload' is not defined
これは import reload とするだけです

sys.setdefaultencoding("utf-8")
AttributeError: module 'sys' has no attribute 'setdefaultencoding'


Zenback読み込み中です。

トラックバックURL

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
サイト内検索
ウェブ
イメージ
ウェブ
 
 
 
イメージ
 
 
 
にほんブログ村 科学ブログへ
にほんブログ村
adsense
Archives
amazon
blogchart
<<   June,2017   >>
S M T W T F S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
QRコード
QRコード