1. 서론
한글은 초성, 중성, 종성으로 구성된 조합형 글자이다. 따라서 자음과 모음의 조합에 따라서 자소의 형태가 달라지므로 모든 글자를 직접 디자인해야 한다. 한글 글꼴은 일상생활에서 자주 사용되는 글자만을 추린 완성형 2,350자부터 모든 한글이 포함되어있는 조합형 11,172자까지 구성되어 있어 모든 글자를 일일이 디자인해야 하는 현재 방식으로는 제작하는데 매우 오랜 시간과 많은 비용이 소요된다[1,2]. 이러한 문제점을 해결하고자 딥러닝과 머신러닝의 인공지능을 활용하여 글자를 자동으로 제작하는 연구가 많이 진행되고 있다. 대표적으로 CycleGAN(Cycle-Generative Adversarial Networks)[3]을 활용한 한글 손글씨 생성 엔진[4]이 있으며, 선행 연구로 해당 엔진을 이용하여 사용자들의 한글 손글씨를 제작해주는 서비스[5]를 구현한 바가 있다. 또한 GAN(Generative Adversarial Networks) 알고리즘을 기반으로 한 중국어 손글씨 생성 시스템 zi2zi[6], GAN과 CNN(Convolutional Neural Network) 기반의 중국어 글꼴을 생성 시스템 DCFont[7] 등이 존재한다.
본 논문에서는 CycleGAN 기반의 글자 자동 생성 엔진을 이용하여 한글 글꼴 자동 제작 시스템을 제안하고, 제안된 시스템을 이용하여 한글 글자를 매핑하는 기준을 찾고자 한다. 제안된 시스템은 A 글자에서 B 글자로 매핑하여 딥러닝 학습 과정을 수행하고, 학습된 모델을 바탕으로 한글 글꼴을 자동 제작한다. 좋은 품질의 글자를 자동으로 생성하기 위해서는 많은 양의 글자를 매핑하고 학습하면 되겠지만 글자쌍 하나의 학습 당 평균 8시간(Titan XP 기준)이 소요되므로 현실적으로 불가능하다. 따라서 제작된 글자에 대한 품질은 학습 과정에서 선정된 글자에 따라 결정될 것이며, 효과적인 한글 글꼴 자동 제작 시스템을 위해서는 좋은 품질의 글자를 생성할 글자를 효율적으로 선정해야 한다.
매핑 쌍 기준을 선정하기 위해 글자 구조를 바탕으로 기준을 설계하고, 또 다른 방법으로 글자 모양을 바탕으로 기준을 설계한다. 설계한 2가지의 기준을 바탕으로 글자를 매핑하여 제안된 시스템을 통해 자동으로 생성하고, 생성된 글자들에 대한 품질 평가를 진행하여 딥러닝 학습을 이용한 한글 글꼴 자동생성 시스템에서 가장 효율적이고 효과적인 글자 매핑 선정 기준을 방법을 세워보고자 한다.
본 논문의 구성은 다음과 같다. 2장에서 본 논문의 기본 이론이 되는 CycleGAN 알고리즘과 DCFont 시스템, zi2zi 시스템을 소개한 다음, 3장에서 제안하는 딥러닝 학습을 이용한 한글 글꼴 자동 제작 시스템을 설명한다. 여기에서는 제안한 시스템의 구성 및 개발 환경, CycleGAN 기반 학습 과정 순서로 서술한다. 그리고 4장에서는 글자 구조와 글자 모양을 기준으로 매핑 쌍을 설계하고 제안한 시스템을 통해 생성하여 각 기준으로 생성된 결과 글자들을 비교하여 글자 매핑 쌍에 대한 기준을 평가한 다음 5장에서 결론을 맺는다.
2. 관련 연구
2.1 CycleGAN[3]
CycleGAN은 딥러닝 모델 중 하나로 Cycle-Consistent Adversarial Networks을 기반으로 짝을 이루지 않은 이미지에서 이미지로 변환을 진행한다. 이미지에서 이미지로 변환하는 문제로는 Conditional Generative Adversarial Network[8] 기반의 Pix2Pix 프레임워크가 대표적이지만 양쪽에 대응되는 데이터 짝이 존재해야한다. 대응되지 않은 이미지 변환을특성으로 같은 글자를 기반으로 글꼴의 스타일 변환하는 Paired Mapping이 아닌, 글자에서 글자를 변환하는 Unpaired Mapping으로 글자 이미지 생성에서도 많이 활용되고 있다. 대표적으로 CycleGAN 기법을 활용하여 중국 손글씨를 자동 생성해주는 연구[9]가 진행되었으며 높은 성능을 보여주었다.
CycleGAN은 두 개의 Generator(G, F)가 존재한다. Generator G는 이미지 X를 이미지 Y로 변환하고 Generator F는 이미지 Y를 이미지 X로 변환한다. Dx와 Dy는 X와 Y의 Discriminators로 Generator G는 Discriminator Dy로부터 적대적 학습을 진행하고 Generator F는 Discriminator Dx로부터 적대적 학습을 하면서 각각의 반대 Discriminator를 속이도록 학습하여 진짜인 것 같은 이미지(Fake)를 생성해낸다. 특히 CycleGAN의 핵심인 Cycle Consistency는 Generator G를 통해 Y로 보내진 X 데이터(G(Y))가 있을 때, 이를 다시 F를 통해 X로 보내면 X로 다시 되돌아와야 한다는 기법으로 이를 통해 더욱 더 정확도를 높아졌다.
Fig. 1. Paired training data and unpaired training data [3]
2.2 zi2zi[6]
zi2zi는 Pix2Pix 프레임워크를 기반으로 확장하여 conditional GAN[8] 구조의 중국어 손글씨 생성 프레임워크이다. 특히 여러 글꼴의 스타일을 동시에 학습할 수 있다는 강점이 있는데, One-to-Many Modeling을 위해서 Category Embedding 방식을 추가하였으며 멀티 클래스의 카테고리 손실을 줄이기 위해서 AC-GAN(Auxiliary Classifier GAN)[10] 아키텍처와 DTN(Domain Transfer Network)[11]로 네트워크가 구성되어있다. 한자를 중심으로 확장하여 중국어 간체, 번체를 포함한 한자 외에도 일본어, 한국어까지 다양한 언어를 폭넓게 지원하고 있으며, 한자를 기반으로 한글을 생성하는 기능도 지원되고 있다. 이 프레임워크를 기반으로 다른 연구자들도 글꼴 자동 생성 연구에 많은 참고를 하고 있다.
Fig. 2. The network structure of zi2zi [6].
2.3 DCFont[7]
DCFont는 중국어 글꼴 생성을 고품질로 향상시킨 시스템으로 775개의 글자를 학습하여 6,763자로 구성되어있는 글꼴 라이브러리를 자동으로 생성한다. zi2zi 시스템은 Pix2Pix 프레임워크를 기반으로 Category Embedding 방식을 추가하여 많은 글자를 동시에 생성할 수 있는 강점을 가졌지만, 글자의 품질이 떨어지고 학습하는 데이터의 용량이 너무 방대하다는 문제가 있다. 이를 해결하고자 DCFont 시스템은 End-to-End 방식으로 6,763개의 한자가 포함된 글꼴 라이브러리의 소규모 학습을 진행한다.
DCFont 네트워크는 글꼴의 특징을 재구성하는 네트워크와 글꼴 스타일을 전송하는 네트워크 두 개의 네트워크로 구성되어 있다. 글꼴 특징 재구성 네트워크는 CNN(Convolutional Neural Network) 알고리즘 중 하나인 VGGNet[12]을 사용하여 필기체의 특징을 추출한다. 필기체 특징이 추출되면 글꼴 스타일 전송 네트워크로 전송되어 추출된 특징을 기반으로 GAN(Generative Adversarial Networks)[13]을 이용해 글꼴이 생성한다.
Fig. 3. The structure of DCFont system [7].
3. 한글 글꼴 자동 제작 시스템의 설계와 구현
3.1 시스템 구성과 개발 환경
본 논문에서는 CycleGAN 기반 글자 자동 생성 엔진을 이용하여 한글 글꼴 자동 제작 시스템을 제안한다. 제안된 시스템은 리눅스 운영체제 상에서 딥러닝 프레임워크 Pytorch를 이용하여 구현하였다. 개발 언어로는 Python과 Shell Script를 사용하였다. 버전 등의 더 자세한 개발환경은 Table 1에 표시한다.
Table 1. Development environment
해당 시스템은 A 글자에서 B 글자로 변환하는 CycleGAN 기반의 학습 과정(Training Process)과 학습 과정을 통해 생성된 모델들을 기반으로 한글 글꼴을 자동으로 제작하는 생성 과정(Generation Process)으로 구분된다.
Fig. 4. System flow diagram.
3.2 CycleGAN 기반 학습 과정 설계
한글 글꼴을 자동으로 제작하기 위해서는 Cycle GAN을 활용하여 A 글자에서 B 글자로 변환하는 과정을 학습해야 한다. 첫 번째로 기존의 한글 글꼴들을 대상으로 학습 데이터 세트(Train dataset)를 선정하고 수집한다. 이 때, 선정한 글꼴들의 글자를 이미지 파일로 포맷을 변경한다. 두 번째는 변환 할 글자인 A 글자와 B 글자의 쌍을 매핑하여 학습 방법을 설계한다. 이 때 A 글자 즉, 결과 글자를 생성하는 글자들은 샘플 글자 세트(Sample Character Set)라고 정의하며, A 글자에서 변환되는 B 글자인 샘플 글자 세트를 기반으로 생성되는 글자는 결과 글자 세트(Result Characters Set)라 정의한다. 이 후 설계한 학습 방법대로 CycleGAN 기반 엔진을 사용하여 변환 학습을 진행하고, 학습을 모두 마치고 나면 모델이 생성된다.
Fig. 5. Training using CycleGAN for translation of mapped character pairs.
글자에서 글자로 변환하는 학습은 약 4,000번을 수행하며, 학습이 끝나고 매핑한 글자 쌍 별로 모델이 최종적으로 생성된다. 학습을 하고 있는 과정의 이미지는 Table 2에 표기하였으며 첫 번째 열은 학습 횟수, 두 번째 열과 네 번째 열은 A 글자와 B 글자, 세 번째 열은 A 글자에서 B 글자로 변환 중인 가짜 (Fake) 이미지를 나타낸 것이다.
Table 2. Translation of character image in the training process
학습 방법을 설계하는 단계에서는 어떤 글자에서 어떤 글자로 변환 시킬 것인지 글자 쌍을 매핑하는 작업이 필요하다. 한글은 초성, 중성, 종성을 조합하는 모아쓰기 구조로 이들을 조합하는 방법이 따라 6가지 형식을 갖추고 있다. 따라서 해당 시스템에서는 한글의 구조를 기반으로 6가지 형식의 맞추어 글자 쌍 매핑 기준을 설정하였다. 특히 결과 글자를 생성하는 샘플 글자 세트는 한글의 6가지 형식을 모두 충족시키는 글자인 '웹', '시', '각', '화', '표', '준'으로 선정하였으며, 변환 할 글자 쌍들은 결과 글자 세트에서 각 형식에 맞는 글자끼리 매핑 하여 학습 과정을 설계하였다.
Fig. 6. Syllable block in sample dataset.
4. 자동 제작에서 글자 쌍 매핑 기준 선정을 위한 평가
한글 글꼴 자동 제작 시스템에서 학습 방법을 설계하는 과정에서 매핑하는 글자에 따라 제작되는 글자의 품질이 결정되기 때문에 신중하게 글자 쌍을 매핑해야 하지만, 현재 한글의 매핑 쌍을 선정하는 기준은 존재하지 않는다. 따라서 자동으로 제작되는 한글 글꼴의 품질을 높이고자 2장에서 설명한 한글의 구조를 기반으로 기준으로 글자 쌍을 매핑하고, 또 다른 방법으로 한글의 모양으로도 매핑 기준을 선정하여 자동 제작을 진행한다. 이 후, 2가지 방법으로 생성된 글자들을 바탕으로 사용자 평가를 진행하여 매핑 쌍 기준을 선정하고자 한다.
4.1 한글 구조에 따른 매핑 쌍 기준 선정 평가
4.1.1 평가 방법
한글의 기본 구조인 모아쓰기 방식을 기준으로 글자 쌍들을 매핑 하여 평가를 진행하고자 한다. 모아 쓰기 방식[14]은 총 아홉 가지이나 닿자로 이루어진 초성과 홀자로 이루어져있는 중성으로 구성되어있는 3형식, 초성과 중성에 받침인 종성이 추가되어있는 6형식 그리고 초성과 중성에 'ㄲ', 'ㅆ', 'ㄳ', 'ㄵ', 'ㅀ'등과 같은 겹받침으로 이루어져있는 9형식으로 크게 세 가지로 구분된다. 이 중에서 어떤 형식의 분류 체계가 한글 글꼴 자동 제작 시스템에서 가장 적절한 매핑 쌍 선정 기준인지 확인해보기 위해 평가를 진행하고자 한다. 또한 손글씨 자동 생성에서의 품질 평가 연구[15]는 진행한 바 있으나 더 넓은 범위로 글꼴에 관한 연구는 없다. 따라서 폰트와 손글씨에 따른 여부에 따라서 차이가 있는지도 확인 해보려한다. 추가로 정자체[16]와 흘림체[16]를 통해 글자의 흘림 정도에 따른 여부도 확인해보겠다. 평가 척도는 생성된 결과 글자가 어떤 글자인지 명확하게 인지되는 가를 측정하는 완성도와 샘플 글자와 결과 글자의 글씨체가 유사한 형상인 가를 측정하는 닮음도로 정하였으며 10점 리커트 척도를 사용하였다.
Fig. 7. Slyllabe block in hangul structure.
평가를 위한 샘플 글자 세트는 3형식, 6형식, 9형식 각각 선정하여 구성하였으며, 각 샘플 글자 세트를 이용하여 생성할 결과 글자는 모든 형식에서 변환되므로 3형식, 6형식, 9형식 고루 포함되어 있는 글자들로 구성하였다. 특히 샘플 글자 세트와 결과 글자 세트를 선정할 때 다양한 결과를 확인하기 위해서 최대한 모든 자음과 모음 컴포넌트들이 중복되지 않도록 고려하여 선정하였으며 각 글자 세트들의 자음과 모음 컴포넌트의 구성표는 Table 3에 표기하였다. 이때, ‘ㄲ’, ‘ㄳ’ 등과 같은 쌍자음 및 겹받침은 ‘ㄱ’, ‘ㅅ’등으로 하나의 자음이라 분리하여 표기하였다.
Table 3. Composition of consonants and vowels in character sets
따라서 3형식의 샘플 글자 세트는 '수', '채', '화'로 선정하였으며, 6형식은 '웹', '시', '각', '화', '표', '준', 9형식은 '밝', '고', '환', '한', '잎', '의', '꽃', '을', '땄', '다'로 선정하였다. 샘플 글자를 이용하여 생성할 결과 글자 세트는 각 형식이 고루 포함되어 있는 '꿈', '꿨', '는', '지', '말', '해', '줘', '요', '원', '더', '걸', '스' 로 선정하였으며 각 형식별로 모아쓰기 구조에 맞게 글자를 매핑하여 다음 Table 4-6와 같이 글자 쌍을 매핑하였다.
Table 4. Mapping character pair in type 3
Table 5. Mapping character pair in type 6
Table 6. Mapping character pair in type 9
Fig. 9. Survey of evaluation based on the hangul structure.
4.1.2 평가 결과
한글 구조를 기반으로 분류한 3형식, 6형식, 9형식을 기준으로 각각 샘플 글자를 선정해 한글 자동 제작을 진행하였다. 폰트와 손글씨에 따른 여부 및 정 자체와 흘림체에 따른 여부도 평가하기 위해 자료를 수집하였다. 폰트는 한글 글꼴 분류[17]의 정형폰트와 비정형폰트 중 대표적인 폰트 각각 3종씩 선정하였으며, 샘플 글자의 코드에 맞는 글자를 이미지로 변환해주는 프로그램을 개발하여 수집하였다. 손글씨는 샘플 글자에 맞게 샘플 글자를 따라서 글자를 작성하는 피평가자 10명을 모집하여 정자체와 흘림체로 쓴 글씨들을 스캔하고 보정하여 수집하였으며, 수집된 자료를 기반으로 시스템을 이용하여 결과 글자를 제작하였다. 이들을 평가할 평가자를 모집하기 위해 상대적으로 문서 작업을 많이 하며 글꼴에 대한 관심 분포가 높은 20대 대학생을 대상으로 글꼴 디자인에 대한 관심도 설문조사를 실시하였다. 3점 리커트 척도로 측정하여 Fig. 8과 같은 결과를 얻었으며 글꼴 디자인에 대해 관심이 있는 집단과 평소 글꼴을 다양하게 사용해 본 집단으로 구성하여 총 25명의 평가자를 모집하였다. 따라서 평가자들에게 딥러닝을 통해 자동으로 생성된 결과 글자와 본래 폰트의 결과 글자 및 피평가자가 직접 쓴 결과 글자를 기반으로 완성도와 닮음도에 대해 10점 척도로 물어보아 매핑 쌍 기준 선정을 위한 평가를 진행하였다.
Fig. 8. Results of the degree of interest in fonts for evaluator selection.
한글 구조를 기반으로 진행한 글자 매핑 쌍 기준 선정 평가 결과, 한글 구조별 완성도는 3형식은 평균 6.42점, 6형식은 평균 5.71점, 9형식은 평균 5.83점으로 나타났다. 한글 구조 요인에 대한 세 집단의 평균 차이 분석을 위해 5% 유의수준으로 일원배치 분산 분석(ANOVA)을 수행하였다. 일원배치 분산분석의 귀무가설은 한글 구조별 완성도는 모두 동일하다. 분석 결과 F-통계랑은 2.982이고 P-값은 0.057으로 P-값이 유의수준 0.05보다 크므로 귀무 가설을 채택하여 한글 구조별 완성도의 평균 차이는 없다고 할 수 있다. 한글 구조별 닮음도는 3형식 평균 6.26점, 6형식은 평균 6.02점, 9형식은 평균 6.38점으로 나타났다. 닮음도도 세 집단의 평균 차이 분석을 위해 일원 배치 분산분석(ANOVA)을 수행하였다. 분석 결과 F-통계랑은 0.486이고 P-값은 0.617로 닮음도 또한 귀무 가설을 채택하여 한글 구조별 닮음도의 평균 차이도 없다고 할 수 있다.
Table 7. Results based on the hangul structure
Fig. 10. Charts of results based on the hangul structure.
한글 구조를 기반으로 매핑 기준을 선정하여 폰트와 손글씨를 요인으로 평가해본 결과 완성도는 폰트는 평균 7.79점이며 손글씨는 평균 4.18점이었다. 이 차이가 통계적으로 유의미한 차이인지 판단하기 위해 5% 유의수준으로 대응표본(쌍체 비교) T-검정 중 양측 검정을 수행하였다. 대응표본 T-검정 결과 T-통계량은 -12.572이고 유의확률인 P-값은 8.68E-12로 유의수준 0.05보다 훨씬 작으므로 귀무 가설은 기각되어 폰트와 손글씨 간의 완성도 평균 차이는 매우 크게 나타난다 할 수 있다. 닮음도는 폰트 평균 7.60점, 손글씨 평균 4.84점으로 도출되었다. 이 또한 5% 유의수준으로 대응표본(쌍체 비교) t-검정 중 양측 검정을 수행하였으며, T-통계량은 –9.308, P-값은 2.91E-09로 귀무 가설은 기각되어 폰트와 손글씨간 닮음도 평균 차이도 크게 나타난다고 할 수 있다.
Table 8. Results by fonts and handwriting based on the hangul structure
Fig. 11. Charts of results by fonts and handwriting based on the hangul structure.
한글 구조를 기반으로 정자체와 흘림체를 요인으로 평가해본 결과 완성도에서 정자체는 평균 6.58점이며 흘림체는 평균 5.36점이었다. 5% 유의수준으로 쌍체 비교 T-검정 중 양측 검정을 수행한 결과, T통계량은 –12.907이고 P-값은 5.09E-12로 귀무 가설은 기각되어 정자체와 흘림체 간의 완성도 평균 차이는 크게 나타난다고 할 수 있다. 닮음도는 정자체 평균 6.61점, 흘림체 평균 5.75점으로 이 또한 5% 유의수준으로 대응표본(쌍체 비교) t-검정 중 양측 검정을 수행하였다. T-통계량은 -8.739, P-값은 9.12E-09로 닮음도 또한 귀무 가설이 기각되어 정자체와 흘림체의 닮음도 평균 차이도 매우 크게 나타난다고 할 수 있다.
4.1.3 평가 분석
한글 구조에 따른 매핑 쌍 기준 선정 평가에서 독립변수는 ‘3가지 형식의 분류체계, 6가지 형식의 분류체계, 9가지 형식의 분류체계’, ‘글자의 흘림 정도’, ‘폰트 및 손글씨’로 세 가지로 선정하였으며, 종속변수는 생성된 결과 글자 세트의 완성도, 닮음도로 선정하였다.
통계 분석 결과, 한글 구조를 기반으로 한 분류체계는 세 가지의 체계 모두 완성도와 닮음도 차이가 없다는 결과가 도출되어 한글 구조는 한글 글꼴 자동 생성에서 결과 글자의 품질에 관해 영향을 끼치지 않는다. 폰트와 손글씨는 완성도와 닮음도 모두 폰트로 생성한 결과가 월등히 좋은 점수를 받아 사람이 직접 쓰고 스캔한 손글씨보다는 폰트로 생성하였을 때 더 좋은 품질의 글자가 나온다. 정자체와 흘림체 또한 정자체로 생성하였을 때 유의미하게 점수가 높았지만, 흘리게 쓴 필기체보다는 또박또박 쓴 정자체일 때 더 좋은 품질의 결과가 나온다는 것은 당연하게 여겨지는 결과라 할 수 있다.
형식이 복잡한 3형식 < 6형식 < 9형식 별로 점수가 좋게 나올 것이라 예상한 것과 달리 셋 모두 차이가 없었고, 점수로 보았을 때 가장 낮을 것이라 생각했던 3형식이 그나마 높았다. 글자 별로 결과를 확인해본 결과 3형식 매핑 쌍 '채→해' 가 6형식 매핑 쌍인 '시→해' 보다 점수가 높았으며, 3형식 매핑 쌍 '수→스' 가 6형식의 매핑 쌍 '표→스' 보다 점수가 더 높다는 걸 알 수 있었다. 따라서 한글 글자 자동 제작에서 유사한 글자와 비유사한 글자의 영향을 알아보기 위해 한글의 글자 모양을 기준으로 하여 매핑쌍 기준 선정 평가가 필요하다.
4.2 글자 모양에 따른 매핑 쌍 기준 선정 평가
4.2.1 평가 방법
한글의 글자 모양을 기준으로 하여 유사한 글자와 비유사한 글자를 구분하여 매핑 쌍 선정 평가를 진행하고자 한다. 더불어 폰트와 손글씨 여부에 따라서 차이가 있는 지도 확인해보려 한다. 평가 척도는 4.1절과 마찬가지로 생성된 결과 글자가 어떤 글자인지 명확하게 인지되는 가를 측정하는 완성도와 샘플 글자와 결과 글자의 글씨체가 유사한 형상인 가를 측정하는 닮음도로 정하였으며 이들은 10점 리커트 척도를 사용해 측정한다.
한글의 글자 모양에 따른 매핑 쌍 기준은 훈민정음의 자·모음자의 제자 원리[14]를 기반으로 선정하였다. 훈민정음은 자음자는 음성 기관을, 모음자는 천지인을 본떠 상형한 글자이다. 자음 체계는 아음(ㄱ, 혀뿌리소리), 설음(ㄴ, 혀끝소리), 순음(ㅁ, 입술 소리), 치음(ㅅ, 잇소리), 후음(ㅇ, 목구멍소리)을 기본자로 하여 글자 줄기를 하나씩 덧붙이거나 반복하여 제작되었다. 따라서 자음 체계는 기본자를 기준으로 한 글자들끼리 유사하다고 정의하였다. 모음은 하늘의 둥근 점(ㆍ), 땅의 지평선(ㅡ), 서 있는 사람의 모습(ㅣ)이 기본자로 이들을 초출하고 재출하여 제작되었다. 따라서 모음 체계는 ㅡ형, ㅣ형, ㅢ형을 기준으로 분류하여 유사하다 정의하였다.
Fig. 13. The fundamentals that consonants and vowels of Hunminjeongeum.
결과 글자는 4.1절의 결과 글자 '꿈', '꿨', '는', '지', '말', '해', '줘', '요', '원', '더', '걸', '스' 중자음과 모음이 고루 있는 글자 중 각 형식 별로 선택하여 '말', '해', '꿈'으로 선정하였다. 선정한 결과 글자에서 초성, 중성, 종성별로 한글 글자 모양 분류 기준에 맞춰서 유사한 글자 2가지, 비유사한 글자 2가지씩 각각 샘플 글자를 지정하여서 다음 Table 9-11과 같이 매핑 글자 쌍을 설계하였다.
Table 9. Results by print style and cursive style based on the hangul structure
Fig. 12. Charts of results by print style and cursive style based on the hangul structure.
Table 10. Mapping character pair in initial
Table 11. Mapping character pair in medial
Table 12. Mapping character pair in final
Fig. 14. Survey of evaluation based on the character shape.
4.2.2 평가 결과
초성, 중성, 종성별로 글자 모양 기준을 기반으로 분류한 유사 글자와 비유사 글자를 매핑 쌍을 설계해 샘플 글자로 선정하여 한글 자동 제작을 진행하였다. 4.1절과 동일하게 폰트 자료 및 손글씨 자료를 수집하여, 평가자에게 딥러닝으로 생성된 결과 글자와 본래의 결과 글자를 바탕으로 평가 척도인 완성도와 닮음도에 대해 물어보아 평가를 진행하였다.
한글의 글자 모양을 기반으로 매핑 쌍 기준을 선정하여 진행한 평가 결과 글자 모양별 완성도는 유사한 글자는 평균 6.43점이며 비유사한 글자는 평균 4.14점으로 나왔다. 유의미한 차이인지 확인하기 위해 5% 유의수준으로 하여 대응표본(쌍체 비교) T-검정 중 양측 검정을 수행하였으며, 그 결과 T-통계량은 9.131, P-값은 2.84E-07로 유의수준 0.05보다 매우 작은 값이 나왔다. 따라서 유사한 글자와 비유사한 글자의 완성도의 평균 차이는 매우 크게 나타난다. 글자 모양별 닮음도는 유사한 글자일 때 평균 6.94점이며 비유사한 글자는 평균 5.27점으로 양측 검정 결과 T-통계량은 8.067, P-값은 1.24E-06이다. 따라서 글자 모양별 닮음도의 평균 차이도 매우 크게 나타난다.
Table 13. Results based on the character shape
Fig. 15. Charts of results based on the character shape.
한글 글자 모양을 바탕으로 선정한 매핑 기준에서 폰트와 손글씨를 요인으로 평가해본 결과, 완성도에서 폰트는 평균 6.24점, 손글씨는 평균 4.34점이다. 쌍체 비교 T-검정 결과 T-통계량은 20.351, 유의확률 P-값은 8.49E-12로 유의수준 0.05보다 훨씬 작아 한글 구조와 마찬가지로 폰트와 손글씨의 완성도 평균 차이는 매우 크다. 닮음도는 폰트 평균 7.05점, 손글씨 평균 5.16점이 나왔으며, T-통계량은 8.513, P-값이 6.6E-07로 닮음도 또한 한글 구조와 마찬가지로 폰트와 손글씨의 평균 차이가 매우 크다.
Table 14. Results by fonts and handwriting based on the character shape
Fig. 16. Charts of results by fonts and handwriting based on the character shape.
4.2.3 평가 분석
글자의 모양을 바탕으로 유사한 글자와 비유사한 글자를 구분하여 매핑 쌍 선정 기준을 정해 평가를 진행하였으며, 폰트 및 손글씨 여부에 따라 차이가 있는지도 함께 평가하였다.
통계 분석 결과 한글의 글자 모양을 기준으로 할 때 완성도와 닮음도 모두 유사한 글자가 유의미하게 더 좋은 점수를 가진다는 결과가 도출되었다. 폰트와 손글씨는 4.1절과 마찬가지로 완성도 및 닮음도 모두 폰트가 유의미하게 높은 점수가 나왔다. 매핑 쌍 기준과 상관없이 직접 쓰고 스캔한 손글씨보다는 폰트 이미지로 생성하였을 때 더 좋은 품질의 글자가 제작된다. 폰트와 손글씨에서 각각 유사한 글자와 비유사한 글자를 바탕으로 통계 분석을 해보았을 때도 모두 유사한 글자와 비유사한 글자 간 평균 차이가 있어 유사한 글자일 때 유의미하게 높은 점수가 나왔다. 따라서 글자 모양 기반 유사한 글자를 매핑 쌍 기준으로 학습 방법을 설계하여 글자를 자동으로 생성한다면 더 좋은 품질의 결과 글자가 제작될 것이다.
5. 결론
본 논문에서는 딥러닝 CycleGAN을 이용하여 한글 글꼴 자동 제작 시스템을 제작하고, 효과적인 한글 글꼴 자동 제작 시스템을 위해 한글 글자를 매핑하는 기준을 선정하였다. 기준 선정을 위해 한글의 구조과 한글의 모양으로 글자 쌍을 매핑하여 설계된 각 2가지의 방법으로 한글 글꼴을 제작한 뒤 글자 품질 평가를 하였다.
평가 결과, 한글 구조를 기반으로 한 분류체계는 한글 글꼴 자동 제작 시스템의 품질에 대해서영향을 끼치지 않았다. 추가로 폰트와 손글씨 및 정자체와 흘림체의 요인도 평가한 결과 사람이 직접 쓰고 스캔한 손글씨보다는 폰트로 생성하였을 때 좋은 품질의 글자가 나왔으며, 흘림체보다는 정자체가 더 좋은 품질의 결과가 나왔다. 하지만 흘리게 쓴 필기체보다는 또박또박 쓴 정자체일 때 더 좋은 품질의 결과가 나온다는 것은 당연하게 여겨지는 결과라 할 수 있다.
한글 글자의 모양을 기준으로 할 때의 평가 결과, 비유사한 글자로 제작할 때보다는 유사한 글자로 제작하였을 때 더 좋은 품질의 글자가 나왔다. 폰트와 손글씨는 한글 구조와 마찬가지로 폰트가 유의미하게 더 높아 매핑 쌍 기준과 상관없이 직접 쓰고 스캔한 손글씨보다는 폰트 이미지로 생성하였을 때 더 좋은 품질의 글자가 제작된다. 따라서 글자 모양 기반 유사한 글자를 매핑 쌍 기준으로 학습 방법을 설계하여 글자를 자동으로 생성한다면 더 좋은 품질의 결과 글자가 제작될 것이다.
향후 한글 글꼴 자동 제작 시스템을 효과적이고 효율적으로 이용할 수 있도록 유사한 글자를 매핑 기준으로 선정하여 대표 글자를 선정할 예정이다. 많은 양의 글자를 좋은 품질로 제작할 수 있는 대표 글자를 샘플 글자로 선정한다면 수십 개의 글자로 수천 개의 품질이 좋은 글자를 제작할 수 있는 효율적이고 효과적인 한글 글꼴 자동 제작 시스템이 가능해질 것이다. 또한, 한글의 글꼴은 계층적 구조[18]로 모델링 되어 있으며 가장 윗 단계는 비정형계층으로 손글씨가 이에 속한다. 따라서 비정형계층이 아닌 폰트와 같은 정형계층으로 자동 제작을 진행한다면 더 좋은 품질의 글자를 얻을 수 있을 것이다.
※ This work was supported by Institute for Information & communications Technology Promotion(IITP) grant funded by the Korea government(MSIT) (No. 2016-0- 00166)
References
- S. Lim, "Development Trend of Font Technology," Typeface 1999 of Korean Typeface Development Research Center, pp. 95-134, 1999.
- S. Lim, H. Kim, H. Chung, K. Park, and K. Choi, “Hangul Font Editor Based on Multiple Master Glyph Algorithm,” Korea Institute of Information Scientists and Engineers Transactions on Computing Practices, Vol. 21, No. 11, pp. 699-705, 2015.
- J. Zhu, T. Park, P. Isola, and A.A. Efros, "Unpaired Image-to-image Translation Using Cycle-consistent Adversarial Networks," Proceeding of 2017 IEEE International Conference on Computer Vision, pp. 2242-2251, 2017.
- Fontto-training(2017), https://github.com/twiiks/fontto-training (accessed May 07, 2020).
- J. Jeon, J. Yang, and S. Lim, "Implementation of Automatic Hangul Handwriting Production Service Using Deep Learning," Proceeding of Human Computer Interaction KOREA 2019, pp. 1155-1157, 2019.
- Zi2zi: Master Chinese Calligraphy with Conditional Adversarial Networks(2017), https://kaonashi-tyc.github.io/2017/04/06/zi2zi.html (accessed May 07, 2020).
- Y. Jiang, Z. Lian, Y. Tang, and J. Xiao, "DCFont: An End-to-end Deep Chinese Font Generation System," Proceeding of Special Interest Group on GRAPHics and Interactive Techniques Asia 2017 Technical Briefs, pp. 1-4, 2017.
- P. Isola, J. Zhu, T. Zhou, and A.A. Efros, "Image-to-image Translation with Conditional Adversarial Networks," Proceeding of 2017 IEEE Conference on Computer Vision and Pattern Recognition, pp. 5967-5976, 2016.
- B. Chang, Q. Zhang, S. Pan, and L. Meng, "Generating Handwritten Chinese Characters Using CycleGAN," Proceeding of 2018 IEEE Winter Conference on Applications of Computer Vision, pp. 199-207, 2018.
- A. Odena, C. Olah, and J. Shlens, "Conditional Image Synthesis with Auxiliary Classifier GANs," Proceeding of the 34th International Conference on Machine Learning, ArXiv Preprint arXiv:1610.09585, 2017.
- X. Hua, D. Rempe, and H. Zhang, "Unsupervised Cross-Domain Image Generation," Proceeding of 5th International Conference on Learning Representations, ArXiv Preprint arXiv:1611.02200, 2017.
- K, Simonyan and A. Zisserman, "Very Deep Convolutional Networks for Large-scale Image Recognition," Proceeding of 3th International Conference on Learning Representations, ArXiv Preprint arXiv:1409.1556, 2015.
- I.J. Goodfellow, J.P. Abadie, M. Mirza, B. Xu, D.W. Farley, Y. Bengio, et al., "Generative Adversarial Networks," ArXiv Preprint arXiv: 1406.2661, 2014.
- Y. Won, S. Seo, and M. Song, Typography Cheon Il Yahwa: The Concept and Practice of Hangul Typography, Ahn Graphics Publishers, Republic of Korea, 2019.
- J. Jeon, Y. Ji, and S. Lim, "Evaluation of Character Quality Using Different Training Methods of Hangul Handwriting Font Generation Based on Deep Learning," Proceeding of Human Computer Interaction KOREA 2020, pp. 883-885, 2020.
- Korean Typeface Development Research Center, Korean Font Dictionary, King Sejong Foundation, Republic of Korea, 2000.
- H. Kim and S. Lim, “Shape Property Study of Hangul Font for Font Classification,” Journal of Korea Multimedia Society, Vol. 20, No. 9, pp. 1584-1595, 2017. https://doi.org/10.9717/kmms.2017.20.9.1584
- D. Park, J. Jeon, Y. Ji, and S. Lim, "Design of Structure Map for Modeling Hierarchical Structure Information of Hangul," Proceeding of the Fall Conference of the Korea Multimedia Society, pp. 578-579, 2019.
Cited by
- 한글 글꼴 유사성 판단을 위한 획 요소 속성의 영향력 분석 vol.23, pp.12, 2020, https://doi.org/10.9717/kmms.2020.23.12.1552