هذا هو تنفيذ TensorFlow لـ Skfont: تخليق الخط الكوري الهيكلي الذي يحركه الهيكل العظمي مع شبكات عدوانية عميقة مشروطة .
ورق
في بحثنا ، ندرس مشكلة تخليق الخط باستخدام شبكة عدوانية عميقة مشروطة مع عينة صغيرة من الشخصيات الكورية (Hangul). يتكون Hangul من 11،172 حرفًا ويتكون من خلال الكتابة في أنماط توظيف متعددة. تقليديًا ، تطلب تصميم الخطوط العمل البشري المحمّلة الثقيلة ، حيث استغرق الأمر عامًا واحدًا بسهولة لإنهاء مجموعة نمط واحدة. حتى مع مساعدة من الأساليب القابلة للبرمجة ، فإن الأمر لا يزال يستغرق وقتًا طويلاً ولا يمكنه الهروب من القيود حول حرية تغيير المعلمات. تمت محاولة العديد من التجارب في مناطق الشبكة العصبية العميقة لإنشاء شخصيات دون أي تدخل بشري. يركز بحثنا على نموذج التعلم العميق من طرف إلى طرف ، وهو مولد الخط المُعاد بالهيكل العظمي (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. لكل نموذج ، علينا إعداد مجموعة بيانات مقترنة. أي مصدر لاستهداف مجموعة البيانات المقترنة بخط الهدف ، خط مستهدف لإلغاء مجموعة بيانات الهيكل العظمي ، والهيكل العظمي المستهدف لمجموعة بيانات الخطوط المقابلة. للقيام بهذا المكان ، أي خط كوري في دليل SRC_FONT وعدد من الخطوط المستهدفة في دليل 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
لا يُسمح إلا بمدونة الكود ووحدات المساعدة الأخرى للاستخدام الشخصي والأكاديمي.