Ini adalah implementasi TensorFlow dari sintesis font Korea yang digerakkan oleh kerangka: dengan jaringan permusuhan yang dalam bersyarat .
kertas
Dalam penelitian kami, kami mempelajari masalah sintesis font menggunakan jaringan permusuhan dalam end-to-end dengan sampel kecil karakter Korea (Hangul). Hangul terdiri dari 11.172 karakter dan disusun dengan menulis dalam beberapa pola penempatan. Secara tradisional, desain font membutuhkan tenaga kerja manusia yang berat, dengan mudah memakan waktu satu tahun untuk menyelesaikan satu set gaya. Bahkan dengan bantuan pendekatan yang dapat diprogram, masih membutuhkan waktu lama dan tidak dapat lepas dari keterbatasan di sekitar kebebasan untuk mengubah parameter. Banyak uji coba telah dicoba di bidang jaringan saraf dalam untuk menghasilkan karakter tanpa intervensi manusia. Penelitian kami berfokus pada model pembelajaran mendalam ujung-ke-ujung, generator font yang digerakkan kerangka (SKFONT): ketika diberikan 114 sampel, sistem secara otomatis menghasilkan sisa karakter dalam gaya font yang sama. SKFONT melibatkan tiga langkah: Pertama, ini menghasilkan karakter font target lengkap dengan mengamati 114 karakter target. Kemudian, ia mengekstraksi kerangka (struktur) dari karakter yang disintesis yang diperoleh dari langkah pertama. Proses ini mendorong sistem untuk mempertahankan struktur utama karakter di seluruh proses generasi. Akhirnya, ia mentransfer gaya font target ke struktur yang dipelajari ini. Studi kami menyelesaikan kekurangan yang lama tertunda seperti kekaburan, pecah, dan kurangnya pengiriman bentuk dan gaya yang halus dengan menggunakan jaringan permusuhan dalam kondisi 'yang digerakkan kerangka'. Perbandingan kualitatif dan kuantitatif dengan metode canggih menunjukkan keunggulan metode SKFONT yang diusulkan.




conda create --name tutorial-TF python=3.6.8
conda activate tutorial-TF or activate tutorial-TF
conda install -c anaconda tensorflow-gpu=1.13.1
conda env update --file tools.yml
Model kami terdiri dari tiga sub model yaitu F2F-F2S-S2F. Untuk setiap model, kami harus menyiapkan dataset berpasangan. yaitu sumber dataset berpasangan target font, font target untuk dataset kerangka yang berkorespon, dan kerangka target ke dataset font yang sesuai. Untuk melakukan tempat ini font Korea di direktori SRC_FONT dan N jumlah font target di direktori TRG_FONT. Kemudian jalankan perintah di bawah ini untuk preprocessing data.
Menghasilkan gambar font sumber
python ./tools/src-font-image-generator.py
Menghasilkan gambar font target
python ./tools/trg-font-image-generator.py
Menghasilkan gambar kerangka font target
python ./tools/trg-skeleton-image-generator.py
Menggabungkan kerangka sumber, target, dan target
python ./tools/combine_images.py --input_dir src-image-data/images --b_dir trg-image-data/images --c_dir skel-image-data/images --operation combine
Konversi gambar ke TFORCORDS
python ./tools/images-to-tfrecords.py
python main.py --mode train --output_dir trained_model --max_epochs 25
Untuk mempelajari gaya font yang tidak terlihat, Anda dapat menyempurnakan model yang sudah terlatih dengan perintah di bawah ini. Jika Anda ingin menghasilkan gaya font yang sudah dipelajari, lewati perintah di bawah ini.
python main.py --mode train --output_dir finetuned_model --max_epochs 500 --checkpoint trained_model/
Hasilkan gambar seperti sebelumnya tetapi kali ini menggunakan modul yang berbeda untuk membuat pengujian TFRECORD dengan perintah yang disebutkan di bawah ini.
python ./tools/test-images-to-tfrecords.py
python main.py --mode test --output_dir testing_results --checkpoint finetuned_model
Kode ini terinspirasi oleh proyek PIX2PIX TensorFlow.
Terima kasih khusus untuk karya -karya berikut untuk berbagi kode dan dataset mereka.
Harap kutip pekerjaan kami jika Anda menyukainya.
KO, DH, Hassan, AU, Suk, J. et al. SKFONT: Generator font Korea yang digerakkan oleh kerangka dengan jaringan permusuhan yang dalam. Ijdar (2021). https://doi.org/10.1007/s10032-021-00374-4
Kode dan modul bantuan lainnya hanya diizinkan untuk penggunaan pribadi dan akademik.