นี่คือการใช้ Tensorflow ของ SKFONT: การสังเคราะห์แบบอักษรเกาหลีที่ขับเคลื่อนด้วยโครงกระดูกด้วยเครือข่ายที่มีเงื่อนไข
กระดาษ
ในการวิจัยของเราเราศึกษาปัญหาของการสังเคราะห์แบบอักษรโดยใช้เครือข่ายศัตรูลึกแบบครบวงจรแบบมีเงื่อนไขที่มีตัวอย่างขนาดเล็กของตัวละครเกาหลี (Hangul) Hangul ประกอบด้วย 11,172 ตัวอักษรและแต่งโดยการเขียนในหลายรูปแบบ ตามเนื้อผ้าการออกแบบแบบอักษรจำเป็นต้องใช้แรงงานมนุษย์ที่มีน้ำหนักมากโดยใช้เวลาหนึ่งปีในการทำชุดสไตล์หนึ่ง แม้จะมีความช่วยเหลือของวิธีการที่ตั้งโปรแกรมได้ แต่ก็ยังใช้เวลานานและไม่สามารถหลบหนีข้อ จำกัด รอบเสรีภาพในการเปลี่ยนพารามิเตอร์ การทดลองจำนวนมากได้รับการพยายามในพื้นที่เครือข่ายประสาทลึกเพื่อสร้างตัวละครโดยไม่มีการแทรกแซงของมนุษย์ การวิจัยของเรามุ่งเน้นไปที่รูปแบบการเรียนรู้ลึกแบบ end-to-end ตัวสร้างแบบอักษรที่ขับเคลื่อนด้วยโครงกระดูก (SKFONT): เมื่อได้รับ 114 ตัวอย่างระบบจะสร้างตัวละครที่เหลือในรูปแบบแบบอักษรเดียวกันโดยอัตโนมัติ SKFONT เกี่ยวข้องกับสามขั้นตอน: อันดับแรกมันสร้างอักขระตัวอักษรเป้าหมายที่สมบูรณ์โดยการสังเกตอักขระเป้าหมาย 114 ตัว จากนั้นมันจะสกัดโครงกระดูก (โครงสร้าง) ของอักขระสังเคราะห์ที่ได้รับจากขั้นตอนแรก กระบวนการนี้ผลักดันระบบเพื่อรักษาโครงสร้างหลักของตัวละครตลอดกระบวนการรุ่นทั้งหมด ในที่สุดมันถ่ายโอนรูปแบบของแบบอักษรเป้าหมายไปยังโครงสร้างที่เรียนรู้เหล่านี้ การศึกษาของเราแก้ไขข้อบกพร่องที่เกินกำหนดเป็นเวลานานเช่นความเบลอการแตกหักและการขาดการส่งมอบรูปร่างและรูปแบบที่ละเอียดอ่อนโดยใช้เครือข่ายที่มีเงื่อนไขที่มีเงื่อนไข การเปรียบเทียบเชิงคุณภาพและเชิงปริมาณกับวิธีการที่ทันสมัยแสดงให้เห็นถึงความเหนือกว่าของวิธี SKFONT ที่เสนอ




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
แบบจำลองของเราประกอบด้วยสามรุ่นย่อยคือ F2F-F2S-S2F สำหรับแต่ละรุ่นเราต้องเตรียมชุดข้อมูลที่จับคู่ IE แหล่งที่มาเพื่อกำหนดเป้าหมายชุดข้อมูลที่จับคู่แบบอักษรตัวอักษรเป้าหมายเพื่อเชื่อมโยงชุดข้อมูลโครงกระดูกและโครงกระดูกเป้าหมายไปยังชุดข้อมูลตัวอักษรที่สอดคล้องกัน ในการทำสถานที่นี้แบบอักษรเกาหลีใด ๆ ในไดเรกทอรี src_font และจำนวนฟอนต์เป้าหมาย n ในไดเรกทอรี trg_font จากนั้นเรียกใช้คำสั่งด้านล่างสำหรับการประมวลผลข้อมูลล่วงหน้า
สร้างภาพตัวอักษรต้นทาง
python ./tools/src-font-image-generator.py
สร้างภาพตัวอักษรเป้าหมาย
python ./tools/trg-font-image-generator.py
สร้างภาพโครงกระดูกแบบอักษรเป้าหมาย
python ./tools/trg-skeleton-image-generator.py
รวมแหล่งที่มาเป้าหมายและโครงกระดูกเป้าหมาย
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
แปลงภาพเป็น tfrecords
python ./tools/images-to-tfrecords.py
python main.py --mode train --output_dir trained_model --max_epochs 25
ในการเรียนรู้สไตล์ตัวอักษรที่มองไม่เห็นคุณสามารถปรับแต่งโมเดลที่ผ่านการฝึกอบรมมาแล้วด้วยคำสั่งด้านล่าง หากคุณต้องการสร้างรูปแบบตัวอักษรที่เรียนรู้แล้วเพียงข้ามคำสั่งด้านล่าง
python main.py --mode train --output_dir finetuned_model --max_epochs 500 --checkpoint trained_model/
สร้างภาพเหมือนก่อน แต่คราวนี้ใช้โมดูลอื่นสำหรับการสร้างการทดสอบ tfrecords ด้วยคำสั่งด้านล่างที่กล่าวถึง
python ./tools/test-images-to-tfrecords.py
python main.py --mode test --output_dir testing_results --checkpoint finetuned_model
รหัสนี้ได้รับแรงบันดาลใจจากโครงการ PIX2PIX TENSORFLOW
ขอขอบคุณเป็นพิเศษสำหรับงานต่อไปนี้สำหรับการแบ่งปันรหัสและชุดข้อมูลของพวกเขา
โปรดอ้างอิงงานของเราหากคุณชอบ
KO, DH, Hassan, Au, Suk, J. et al. SKFONT: เครื่องกำเนิดฟอนต์เกาหลีที่ขับเคลื่อนด้วยโครงกระดูกพร้อมเครือข่ายฝ่ายตรงข้ามที่มีเงื่อนไข ijdar (2021) https://doi.org/10.1007/S10032-021-00374-4
รหัสและโมดูลช่วยเหลืออื่น ๆ ได้รับอนุญาตสำหรับการใช้งานส่วนบุคคลและการศึกษาเท่านั้น