KR20230103902A - 제한된 개수의 기준 문자를 이용한 폰트 생성 시스템 및 이를 이용한 폰트 생성 방법 - Google Patents
제한된 개수의 기준 문자를 이용한 폰트 생성 시스템 및 이를 이용한 폰트 생성 방법 Download PDFInfo
- Publication number
- KR20230103902A KR20230103902A KR1020220096422A KR20220096422A KR20230103902A KR 20230103902 A KR20230103902 A KR 20230103902A KR 1020220096422 A KR1020220096422 A KR 1020220096422A KR 20220096422 A KR20220096422 A KR 20220096422A KR 20230103902 A KR20230103902 A KR 20230103902A
- Authority
- KR
- South Korea
- Prior art keywords
- component
- font
- character
- characters
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title description 27
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 8
- 230000007935 neutral effect Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
폰트 생성 시스템은 기준 문자를 입력받고, 상기 기준 문자를 기초로 제1 구성요소 및 제2 구성요소를 생성하는 구성요소 생성부, 상기 제1 구성요소 및 상기 제2 구성요소를 기초로 상기 기준 문자와 동일한 폰트의 전체 문자를 생성하는 문자 생성부, 및 상기 전체 문자의 폰트를 판별하는 폰트 판별부를 포함할 수 있다. 상기 기준 문자는 14개의 문자로 구성될 수 있다. 따라서, 폰트 생성 시스템은 최소한의 기준 문자를 이용하여 전체 문자에 대한 고품질의 폰트 세트를 생성할 수 있다.
Description
본 발명은 폰트 생성 시스템 및 폰트 생성 방법에 관한 것으로, 보다 상세하게는 제한된 개수의 기준 문자를 이용하여 모든 문자에 대한 구성요소를 생성하고, 상기 구성요소를 기초로 모든 문자에 대한 폰트를 생성하는 폰트 생성 시스템 및 폰트 생성 방법에 관한 것이다.
폰트(font)는 서체 또는 글씨체라고도 명명되며, 글자(또는 글씨, character)의 모양 또는 양식을 의미한다. 동일한 언어에 해당하는 글자이더라도, 폰트가 상이할 수 있으며, PC, 휴대폰 등에는 서로 다른 복수의 폰트가 제공되고 있다. 이러한 폰트는, 그 종류에 따라 보는 사람으로 하여금 동일한 글자이더라도, 서로 다른 분위기를 느끼게 해주므로, 최근에는 중요한 디자인 요소로 자리잡고 있다.
한편, 최근에는 기술의 발전에 따라, 손글씨의 폰트 특성을 추출하여 데이터화 또는 디지털화 함으로써, 전자기기 상에서 손글씨의 폰트를 이용할 수 있게 되었다. 다만, 손글씨에 해당하는 폰트를 데이터화 하기 위해서는, 언어를 구성하는 모든 글자에 해당하는 손글씨 폰트의 정보를 수집하고, 수집된 정보를 디지털화 해야 하므로, 매우 많은 노력이 필요하다.
특히, 한국어(한글), 중국어, 태국어 등과 같이, 낱자들의 조합에 의하여 글자가 형성되는 글자의 경우에는, 낱자들의 조합의 경우의 수가 매우 방대하여, 모든 글자에 대한 데이터를 수집하고, 이를 데이터화 하는 것은 실질적으로 매우 어려운 작업으로 분류된다.
예를 들어, 한글의 경우, 초성, 중성 및 종성의 조합으로 글자를 형성하며, 보다 구체적으로, 초성 19개, 중성 21개 및 종성28(종성 미포함의 경우의 수 “1”추가됨)개가 형성할 수 있는 글자의 조합은 11,172개가 존재하며, 11,172개의 글자 데이터를 수집하는 것은 매우 많은 노력이 필요하다.
이와 같은 문제를 보완하기 위하여, 적은 손글씨 데이터를 이용하여, 다양한 조합의 글자를 생성하기 위한 활발한 연구가 진행되고 있으며, 그 일예로서, 대한민국 등록특허 10-1229175에 따른 선행문헌에서는 자필 폰트 생성 방법 및 장치에 대하여 개시하고 있다. 그러나, 이러한 방법에 의하면, 최소의 글자를 입력받는 것을 컨셉으로 하고 있으나, 입력받지 않은 글자에 해당하는 서체에 대해서는 사용자로부터, 사용자 자신의 서체와 유사한 스타일을 선택받는 과정을 수행한다.
따라서, 최소한의 손글씨를 이용하여, 손글씨의 특성을 최대한 잘 반영한 모든 조합의 글자를 생성할 수 있는 폰트 생성 방법에 대한 니즈가 여전히 존재한다.
본 발명의 일 목적은 최소한의 기준 문자를 이용하여 전체 문자에 대한 고품질의 폰트 세트를 생성하는 폰트 생성 시스템 및 폰트 생성 방법을 제공하는 것이다.
본 발명의 다른 목적은 구성요소를 생성하는 모델f와 문자를 생성하는 모델 g, 및 폰트 판별부를 사용하여 폰트 생성 과정의 시간과 자원을 절약하는 폰트 생성 시스템 및 폰트 생성 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 상기 언급된 과제에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 폰트 생성 시스템은 기준 문자를 입력받고, 상기 기준 문자를 기초로 제1 구성요소 및 제2 구성요소를 생성하는 구성요소 생성부, 상기 제1 구성요소 및 상기 제2 구성요소를 기초로 상기 기준 문자와 동일한 폰트의 전체 문자를 생성하는 문자 생성부, 및 상기 전체 문자의 폰트를 판별하는 폰트 판별부를 포함할 수 있다. 상기 기준 문자는 14개의 문자로 구성될 수 있다.
일 실시예에서, 상기 구성요소 생성부는 상기 기준 문자로부터 24개의 구성요소를 추출함으로써 상기 제1 구성요소를 생성하고, 상기 제1 구성요소로부터 27개의 구성요소를 추출함으로써 상기 제2 구성요소를 생성할 수 있다.
일 실시예에서, 상기 구성요소 생성부는 이미지-이미지 변환이 가능한 cGAN 모델이 적용된 모델f를 이용하여 상기 제1 구성요소로부터 상기 제2 구성요소를 생성할 수 있다.
일 실시예에서, 상기 기준 문자는 자음 및 모음의 조합으로 구성되는 한글 문자 중 적어도 14개를 포함 하고, 사용자의 설정에 따라 변경 가능할 수 있다.
일 실시예에서, 상기 문자 생성부는 상기 제1 구성요소 및 상기 제2 구성요소가 결합된 51개의 최종 구성요소, 문자 정보, 구성요소 레이블, 및 구성요소 결합 규칙에 기초하여 상기 기준 문자와 동일한 폰트의 상기 전체 문자를 생성할 수 있다.
일 실시예에서, 상기 문자 생성부는 인코더부 및 디코더부를 포함하는 모델g를 이용하여 상기 제1 구성요소 및 상기 제2 구성요소로부터 상기 전체 문자를 생성할 수 있다.
일 실시예에서, 상기 모델g는 정보 인코더부 및 스타일 인코더부를 포함하고, 상기 정보 인코더부 및 상기 인코더부를 이용하여 다운 샘플링을 수행할 수 있다.
일 실시예에서, 상기 폰트 판별부는 상기 기준 문자의 이미지와 상기 전체 문자의 이미지를 비교하여 손실값을 계산하고, 상기 손실값을 이용하여 상기 전체 문자의 폰트가 상기 기준 문자의 폰트와 동일한지 여부를 판별할 수 있다.
일 실시예에서, 상기 폰트 판별부는 Adversarial 손실(LADV), 스타일 손실(LS), 및 L1 손실(LL1)을 합하여 상기 손실값을 산출할 수 있다.
본 발명의 다른 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 폰트 생성 방법은 기준 문자를 입력받는 단계, 상기 기준 문자에 기초하여 제1 구성요소를 생성하는 단계, 상기 제1 구성요소에 기초하여 제2 구성요소를 생성하는 단계, 상기 제1 구성요소 및 상기 제2 구성요소를 결합하는 단계, 전체 문자를 생성하는 단계, 및 상기 전체 문자의 폰트를 판별하는 단계를 포함할 수 있다. 상기 기준 문자는 14개의 문자로 구성될 수 있다. 상기 제1 구성요소는 상기 기준 문자로부터 추출된 24개의 구성요소로 구성될 수 있다. 상기 제2 구성요소는 상기 제1 구성요소로부터 추출된 27개의 구성요소로 구성될 수 있다.
본 발명의 실시예들에 따른 폰트 생성 시스템 및 폰트 생성 방법은 최소한의 기준 문자를 이용하여 전체 문자에 대한 고품질의 폰트 세트를 생성할 수 있다.
또한, 본 발명의 실시예들에 따른 폰트 생성 시스템 및 폰트 생성 방법은 구성요소를 생성하는 모델f와 문자를 생성하는 모델g, 및 폰트 판별부를 사용하여 폰트 생성 과정의 시간과 자원을 절약할 수 있다.
다만, 본 발명의 효과는 상술한 효과에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
도 1은 본 발명의 실시예들에 따른 폰트 생성 시스템을 나타내는 개념도이다.
도 2는 한글 문자의 초성, 중성, 종성에 따른 구성요소를 나타내는 도면이다.
도 3은 도 1의 폰트 생성 시스템의 구성을 나타내는 블록도이다.
도 4는 구성요소 생성부 및 문자 생성부의 동작을 나타내는 블록도이다.
도 5는 본 발명의 기준 문자의 일 예시를 나타내는 도면이다.
도 6은 본 발명의 제1 구성요소의 일 예시를 나타내는 도면이다.
도 7은 본 발명의 제2 구성요소의 일 예시를 나타내는 도면이다.
도 8은 문자 생성부에 포함된 모델g의 구성을 나타내는 도면이다.
도 9는 폰트 판별부의 동작을 나타내는 블록도이다.
도 10은 본 발명의 폰트 생성 시스템을 이용하여 생성한 전체 문자 중 일부를 나타내는 도면이다.
도 11은 본 발명의 폰트 생성 시스템과 기존의 폰트 생성 시스템의 폰트 생성 결과를 정성적으로 비교하기 위한 도면이다.
도 12는 본 발명의 폰트 생성 시스템과 기존의 폰트 생성 시스템의 폰트 생성 결과를 정량적으로 비교하기 위한 도표이다.
도 13은 본 발명의 폰트 생성 시스템과 기존의 폰트 생성 시스템의 FID 점수를 비교하는 그래프이다.
도 14는 본 발명의 실시예들에 따른 폰트 생성 방법을 나타내는 순서도이다.
도 2는 한글 문자의 초성, 중성, 종성에 따른 구성요소를 나타내는 도면이다.
도 3은 도 1의 폰트 생성 시스템의 구성을 나타내는 블록도이다.
도 4는 구성요소 생성부 및 문자 생성부의 동작을 나타내는 블록도이다.
도 5는 본 발명의 기준 문자의 일 예시를 나타내는 도면이다.
도 6은 본 발명의 제1 구성요소의 일 예시를 나타내는 도면이다.
도 7은 본 발명의 제2 구성요소의 일 예시를 나타내는 도면이다.
도 8은 문자 생성부에 포함된 모델g의 구성을 나타내는 도면이다.
도 9는 폰트 판별부의 동작을 나타내는 블록도이다.
도 10은 본 발명의 폰트 생성 시스템을 이용하여 생성한 전체 문자 중 일부를 나타내는 도면이다.
도 11은 본 발명의 폰트 생성 시스템과 기존의 폰트 생성 시스템의 폰트 생성 결과를 정성적으로 비교하기 위한 도면이다.
도 12는 본 발명의 폰트 생성 시스템과 기존의 폰트 생성 시스템의 폰트 생성 결과를 정량적으로 비교하기 위한 도표이다.
도 13은 본 발명의 폰트 생성 시스템과 기존의 폰트 생성 시스템의 FID 점수를 비교하는 그래프이다.
도 14는 본 발명의 실시예들에 따른 폰트 생성 방법을 나타내는 순서도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들면 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들면 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시예들에 따른 폰트 생성 시스템(10)을 나타내는 개념도이고, 도 2는 한글 문자의 초성, 중성, 종성에 따른 구성요소를 나타내는 도면이다.
도 1을 참조하면, 본 발명의 폰트 생성 시스템(10)은 최소한의 기준 문자를 이용하여 전체 문자에 대한 고품질의 폰트 세트를 생성할 수 있다.
여기서, 기준 문자는 모든 문자 조합에 대한 폰트 세트를 생성하기 위하여 폰트 생성의 기준이 되는 문자들의 조합일 수 있다.
예를 들어, 폰트 생성 시스템(10)은 제한된 개수의 기준 문자로부터 제1 구성요소 및 제2 구성요소를 생성하고, 제1 구성요소 및 제2 구성요소에 기초하여 기준 문자와 동일한 폰트의 전체 문자를 생성할 수 있다.
또한, 본 발명의 폰트 생성 시스템(10)은 구성요소를 생성하는 모델f와 문자를 생성하는 모델g, 및 폰트 판별부(300)를 사용하여 폰트 생성 과정의 시간과 자원을 절약할 수 있다.
한글은 기본적으로 14개의 자음과 10개의 모음으로 이루어진 글자이며, 모든 한글은 19개의 초성과 21개의 중성, 및 27개의 종성을 포함하는 67개의 전체 구성요소가 초성/중성/종성 순서대로 조합되어 모두 11,172자(19x21x28, 종성이 없는 경우 포함)의 조합형 형태의 문자를 가질 수 있다.
도 2에서 보듯이, 67개의 전체 구성요소 중에서 초성과 중성이 중복된 16개 구성요소를 제외하면 한글은 51개의 최종 구성요소를 가질 수 있다. 최종 구성요소 중 5개 쌍자음, 11개의 복자음, 11개의 복모음은 기본 자/모음의 결합으로 생성될 수 있으므로, 이를 제외하면 14개 자음과 10개 모음인 24개의 제1 구성요소를 특정할 수 있다.
본 발명의 폰트 생성 시스템(10)은 상기 한글 구성요소의 특성을 이용하여 24개의 제1 구성요소를 포함하는 14개의 기준 문자로부터 51개 최종 구성요소를 획득하여 모든 한글을 생성할 수 있다.
도 3은 도 1의 폰트 생성 시스템(10)의 구성을 나타내는 블록도이다.
도 1 및 3을 참조하면, 폰트 생성 시스템(10)은 구성요소 생성부(100), 문자 생성부(200), 및 폰트 판별부(300)를 포함할 수 있다.
구성요소 생성부(100)는 기준 문자(RC)를 입력받고, 최종 구성요소 데이터(CD)를 출력할 수 있다.
일 실시예에서, 상기 기준 문자(RC)는 14개의 문자로 구성될 수 있다.
예를 들어, 구성요소 생성부(100)는 14개의 기준 문자(RC)를 입력받고, 상기 기준 문자를 기초로 제1 구성요소 및 제2 구성요소를 생성할 수 있다.
문자 생성부(200)는 최종 구성요소 데이터(CD)를 입력받고, 전체 문자(AC)를 생성할 수 있다.
예를 들어, 문자 생성부(200)는 제1 구성요소 및 제2 구성요소를 기초로 상기 기준 문자(RC)와 동일한 폰트의 전체 문자(AC)를 생성할 수 있다.
폰트 판별부(300)는 전체 문자(AC)를 입력받고, 기준 문자(RC)와 전체 문자(AC)를 비교함으로써 상기 전체 문자(AC)의 폰트를 판별할 수 있다.
폰트 판별부(300)는 전체 문자(AC)의 폰트를 판별하고, 최종 폰트 세트(FFS)를 출력할 수 있다.
도 4는 구성요소 생성부(100) 및 문자 생성부(200)의 동작을 나타내는 블록도이다.
도 4를 참조하면, 구성요소 생성부(100)는 14개의 기준 문자를 기초로 51개의 최종 구성요소를 생성할 수 있다. 또한, 문자 생성부(200)는 최종 구성요소를 기초로 11,172개의 전체 문자를 생성할 수 있다.
즉, 본 발명의 폰트 생성 시스템(10)은 14개의 기준 문자를 입력받고, 상기 기준 문자와 동일한 폰트의 11,172개의 전체 문자를 생성할 수 있다.
구체적으로, 구성요소 생성부(100)는 상기 기준 문자로부터 24개의 구성요소를 추출함으로써 상기 제1 구성요소를 생성하고, 상기 제1 구성요소로부터 27개의 구성요소를 추출함으로써 상기 제2 구성요소를 생성할 수 있다.
예를 들어, 구성요소 생성부(100)는 이미지-이미지 변환이 가능한 cGAN 모델이 적용된 모델f를 이용하여 상기 제1 구성요소로부터 상기 제2 구성요소를 생성할 수 있다.
구체적으로, 문자 생성부(200)는 상기 제1 구성요소 및 상기 제2 구성요소가 결합된 51개의 최종 구성요소, 문자 정보, 구성요소 레이블, 및 구성요소 결합 규칙에 기초하여 상기 기준 문자와 동일한 폰트의 상기 전체 문자를 생성할 수 있다.
예를 들어, 문자 생성부(200)는 인코더부 및 디코더부를 포함하는 모델g를 이용하여 상기 전체 문자를 생성할 수 있다.
도 5는 본 발명의 기준 문자의 일 예시를 나타내는 도면이고, 도 6은 본 발명의 제1 구성요소의 일 예시를 나타내는 도면이며, 도 7은 본 발명의 제2 구성요소의 일 예시를 나타내는 도면이다.
본 발명의 폰트 생성 시스템(10)에 입력되는 기준 문자는 14개로 구성될 수 있다. 구체적으로, 기준 문자는 자음 및 모음의 조합으로 구성되는 한글 문자 중 적어도 14개를 포함할 수 있다.
상기 기준 문자는 사용자의 설정에 따라 변경 가능할 수 있다.
예를 들어, 도 5에서 보듯이, 상기 기준 문자는 "가, 너, 더, 려, 모, 부, 쇼, 야, 져, 쵸 켜, 튜, 프, 히" 를 포함할 수 있다.
다만, 도 5는 기준 문자의 일 예시일 뿐, 본 발명의 실시예들에 따른 기준 문자가 이에 한정되는 것은 아니다.
즉, 본 발명의 폰트 생성 시스템(10)은 종래기술 대비 최소한의 기준 문자 개수(예컨대, 14개)를 이용하여 한글의 모든 문자에 대한 폰트를 생성할 수 있다.
구성요소 생성부(100)는 14개의 기준 문자에 기초하여, 24개의 제1 구성요소를 생성할 수 있다.
예를 들어, 도 6에서 보듯이, 제1 구성요소는 14개 자음과 10개 모음을 포함할 수 있다.
구성요소 생성부(100)는 24개의 제1 구성요소에 기초하여, 27개의 제2 구성요소를 생성할 수 있다.
구체적으로, 제1 구성요소는 이미지-이미지 변환이 가능한 cGAN 모델이 적용된 모델f에 입력될 수 있다.
모델f는 24개의 제1 구성요소, 구성요소 레이블, 및 구성요소 결합 규칙에 기초하여 27개의 제2 구성요소를 생성할 수 있다.
예를 들어, 도 7에서 보듯이, 제2 구성요소는 16개의 쌍자음/복자음 및 11개의 복모음을 포함할 수 있다.
일 실시예에서, 상기 제1 구성요소와 상기 제2 구성요소가 결합되어, 51개의 최종 구성요소가 형성될 수 있다.
상기 51개의 최종 구성요소는 문자 생성부(200)로 입력될 수 있다.
도 8은 문자 생성부(200)에 포함된 모델g의 구성을 나타내는 도면이다.
도 4 및 8을 참조하면, 문자 생성부(200)는 51개의 최종 구성요소, 문자 정보, 구성요소 레이블, 및 구성요소 결합 규칙에 기초하여 상기 기준 문자와 동일한 폰트의 상기 전체 문자를 생성할 수 있다.
도 8에서 보듯이, 문자 생성부(200)는 인코더부(Encoder) 및 디코더부(Decoder)를 포함하는 모델g를 이용하여 상기 전체 문자를 생성할 수 있다.
모델 g는 정보 인코더부 및 스타일 인코더부를 포함할 수 있다. 상기 모델 g는 정보 인코더부 및 스타일 인코더부를 이용하여 다운 샘플링을 수행할 수 있다.
일 실시예에서, 상기 모델g는 6개의 레이어로 구성된 정보 인코더부 및 9개의 레이어로 구성된 스타일 인코더부를 이용하여 다운 샘플링을 수행할 수 있다.
예를 들어, 문자 생성부(200)는 인코더부에서 최종 구성요소와 구성요소 레이블을 입력받고, 컨볼루션 함수(convolution), 인스턴스 정규화(instance normalization), 및 relu 함수를 적용할 수 있다.
또한, 6 계층의 정보 인코더부(content layer) 및 9 계층의 스타일 인코더부(style layer)는 입력 데이터에 대한 다운 샘플링을 수행할 수 있다.
디코더부는 다운 샘플링된 데이터를 입력받고, 다운 샘플링된 데이터에 구성요소 결합 규칙을 적용하여 업 샘플링을 수행함으로써 각 스타일 요소가 적용된 전체 문자를 생성할 수 있다.
한편, 인코더부의 각 계층과 디코더부의 각 계층은 서로 연결되어 있으며(Skip Connection), 생성된 전체 문자는 폰트 판별부(300)로 출력될 수 있다.
도 9는 폰트 판별부(300)의 동작을 나타내는 블록도이다.
폰트 판별부(300)는 전체 문자를 입력받고, 기준 문자와 전체 문자를 비교함으로써 상기 전체 문자의 폰트를 판별할 수 있다.
구체적으로, 폰트 판별부(300)는 상기 기준 문자의 이미지와 상기 전체 문자의 이미지를 비교하여 손실값을 계산하고, 상기 손실값을 이용하여 상기 전체 문자의 폰트가 상기 기준 문자의 폰트와 동일한지 여부를 판별할 수 있다.
예를 들어, 폰트 판별부(300)는 Adversarial 손실(LADV), 스타일 손실(LS), 및 L1 손실(LL1)을 합하여 상기 손실값을 산출할 수 있다.
Adversarial 손실(LADV)은 min-max Loss로 알려진 아래 [수식1] 과 같이 나타낼 수 있다.
[수식1]
minG maxD LADV(G,D) = Ey [log D(y)] + Ex [log(1-D(G(x)))]
예를 들어, 폰트 판별부(300)는 입력받은 이미지(G(x))가 진짜(True:1)인지 가짜(False:0)인지를 판별하여 최대화(D(y)=1)할 수 있다.
스타일 손실(LS)은 D(yS)를 최대화하고 G(xS)를 최소화하는 아래 [수식2]와 같이 나타낼 수 있다.
[수식2]
minG maxD Ls(G,D) = Ey [log D(yS)] + Ex [log (1-D(G(xS)))]
예를 들어, 폰트 판별부(300)는 일대다의 스타일 변환된 이미지를 생성하기 위해서 진짜와 가짜를 판별하고 전체 문자 스타일이 기준 문자 스타일과 같은지를 판별(D(yS))할 수 있다.
L1 손실(LL1)은 아래 [수식3]과 같이 나타낼 수 있다.
[수식3]
LL1 = Ex,y [ || Y - G(x) || ]
예를 들어, 폰트 판별부(300)는 기준 문자 스타일과 전체 문자 스타일을 픽셀별로 비교한 MAE(Mean Absolute Error) 값을 감소시켜 두 이미지가 같게 되도록 할 수 있다.
폰트 판별부(300)는 전체 문자의 폰트를 판별하고, 11,172개의 전체 문자에 대한 최종 폰트 세트를 출력할 수 있다.
이와 같이, 본 발명의 폰트 생성 시스템(10)은 제한된 개수의 기준 문자로부터 제1 구성요소 및 제2 구성요소를 생성하고, 제1 구성요소 및 제2 구성요소에 기초하여 기준 문자와 동일한 폰트의 전체 문자를 생성할 수 있다.
또한, 본 발명의 폰트 생성 시스템(10)은 구성요소를 생성하는 모델f와 문자를 생성하는 모델g, 및 폰트 판별부(300)를 사용하여 폰트 생성 과정의 시간과 자원을 절약할 수 있다.
도 10은 본 발명의 폰트 생성 시스템(10)을 이용하여 생성한 전체 문자 중 일부를 나타내는 도면이다.
도 10을 참조하면, 손글씨체 17개의 스타일에 대해서, 본 발명의 폰트 생성 시스템(10)이 초성, 중성, 및 종성에 대한 구성요소로부터 타겟팅한 폰트의 문자를 정확하게 출력하는 것을 확인할 수 있다.
도 11은 본 발명의 폰트 생성 시스템과 기존의 폰트 생성 시스템의 폰트 생성 결과를 정성적으로 비교하기 위한 도면이고, 도 12는 본 발명의 폰트 생성 시스템과 기존의 폰트 생성 시스템의 폰트 생성 결과를 정량적으로 비교하기 위한 도표이다.
본 발명의 폰트 생성 시스템(CKFont2)의 성능을 확인하기 위하여 기존의 폰트 생성 시스템 중 GT, zi2zi, SKFont, CKFont1, 및 MX-Font를 비교하였다.
도 11에서 보듯이, GT, zi2zi, SKFont, CKFont1, 및 MX-Font 대비, 본 발명의 폰트 생성 시스템(CKFont2)이 선명하고 명확한 고품질의 폰트를 생성하는 것을 알 수 있다.
또한, 도 12에서 보듯이, L1, L2 손실 값은 finetuning 없이 생성된 CKFont2 모델(0.2644, 0.2652)이 MX-Font 모델(1.0153, 1.0135) 대비 크게 낮게 나타났으며, 유사도는 CKFont2 (0,8387) 모델이 MX-Font 모델(0.7122) 보다 높게 나타나 CKFont2 모델이 월등히 우수함을 보여주고 있다.
도 13은 본 발명의 폰트 생성 시스템과 기존의 폰트 생성 시스템의 FID 점수를 비교하는 그래프이다.
FID 점수는 실제 이미지의 특징 벡터와 가짜 이미지의 특징 벡터 사이의 거리를 계산하는 성능 지수이다. 즉, FID 점수가 낮을수록 폰트 생성 시스템에 의해 생성된 문자의 이미지의 품질이 실제와 더 비슷하고 더 우수하다는 것을 의미할 수 있다.
도 13에서 보듯이, 본 발명의 폰트 생성 시스템(CKFont2)이 31점(파랑색, '★')으로 가장 우수하며, 그 다음은 MX-Font로 36점(노랑색, '●' ), CKFont1 71점(녹색, 'o'), zi2zi 127점 (빨강색, '/')순으로 나타났다.
도 14는 본 발명의 실시예들에 따른 폰트 생성 방법을 나타내는 순서도이다.
도 14를 참조하면, 본 발명의 폰트 생성 방법은 기준 문자를 입력받는 단계(S100), 상기 기준 문자에 기초하여 제1 구성요소를 생성하는 단계(S200), 상기 제1 구성요소에 기초하여 제2 구성요소를 생성하는 단계(S300), 상기 제1 구성요소 및 상기 제2 구성요소를 결합하는 단계(S400), 전체 문자를 생성하는 단계(S500), 및 상기 전체 문자의 폰트를 판별하는 단계(S600)를 포함할 수 있다.
예를 들어, 상기 기준 문자는 14개의 문자로 구성될 수 있다.
또한, 상기 제1 구성요소는 상기 기준 문자로부터 추출된 24개의 구성요소로 구성될 수 있다.
또한, 상기 제2 구성요소는 상기 제1 구성요소로부터 추출된 27개의 구성요소로 구성될 수 있다.
본 발명의 폰트 생성 방법은 제한된 개수의 기준 문자로부터 제1 구성요소 및 제2 구성요소를 생성하고, 제1 구성요소 및 제2 구성요소에 기초하여 기준 문자와 동일한 폰트의 전체 문자를 생성할 수 있다.
또한, 본 발명의 폰트 생성 방법은 구성요소를 생성하는 모델f와 문자를 생성하는 모델g, 및 폰트 판별부를 사용하여 폰트 생성 과정의 시간과 자원을 절약할 수 있다.
다만, 이에 대해서는 상술한 바 있으므로, 그에 대한 중복되는 설명은 생략하기로 한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
10: 폰트 생성 시스템
100: 구성요소 생성부
200: 문자 생성부
300: 폰트 판별부
100: 구성요소 생성부
200: 문자 생성부
300: 폰트 판별부
Claims (10)
- 기준 문자를 입력받고, 상기 기준 문자를 기초로 제1 구성요소 및 제2 구성요소를 생성하는 구성요소 생성부;
상기 제1 구성요소 및 상기 제2 구성요소를 기초로 상기 기준 문자와 동일한 폰트의 전체 문자를 생성하는 문자 생성부; 및
상기 전체 문자의 폰트를 판별하는 폰트 판별부를 포함하고,
상기 기준 문자는 14개의 문자로 구성되는 것을 특징으로 하는,
폰트 생성 시스템. - 제1항에 있어서,
상기 구성요소 생성부는,
상기 기준 문자로부터 24개의 구성요소를 추출함으로써 상기 제1 구성요소를 생성하고, 상기 제1 구성요소로부터 27개의 구성요소를 추출함으로써 상기 제2 구성요소를 생성하는 것을 특징으로 하는,
폰트 생성 시스템. - 제1항에 있어서,
상기 구성요소 생성부는,
이미지-이미지 변환이 가능한 cGAN 모델이 적용된 모델f를 이용하여 상기 제1 구성요소로부터 상기 제2 구성요소를 생성하는 것을 특징으로 하는,
폰트 생성 시스템. - 제1항에 있어서,
상기 기준 문자는,
자음 및 모음의 조합으로 구성되는 한글 문자 중 적어도 14개를 포함 하고, 사용자의 설정에 따라 변경 가능한 것을 특징으로 하는,
폰트 생성 시스템. - 제1항에 있어서,
상기 문자 생성부는,
상기 제1 구성요소 및 상기 제2 구성요소가 결합된 51개의 최종 구성요소, 문자 정보, 구성요소 레이블, 및 구성요소 결합 규칙에 기초하여 상기 기준 문자와 동일한 폰트의 상기 전체 문자를 생성하는 것을 특징으로 하는,
폰트 생성 시스템. - 제1항에 있어서,
상기 문자 생성부는,
인코더부 및 디코더부를 포함하는 모델g를 이용하여 상기 제1 구성요소 및 상기 제2 구성요소로부터 상기 전체 문자를 생성하는 것을 특징으로 하는,
폰트 생성 시스템. - 제6항에 있어서,
상기 모델g는,
정보 인코더부 및 스타일 인코더부를 포함하고, 상기 정보 인코더부 및 상기 스타일 인코더부를 이용하여 다운 샘플링을 수행하는 것을 특징으로 하는,
폰트 생성 시스템. - 제1항에 있어서,
상기 폰트 판별부는,
상기 기준 문자의 이미지와 상기 전체 문자의 이미지를 비교하여 손실값을 계산하고, 상기 손실값을 이용하여 상기 전체 문자의 폰트가 상기 기준 문자의 폰트와 동일한지 여부를 판별하는 것을 특징으로 하는,
폰트 생성 시스템. - 제8항에 있어서,
상기 폰트 판별부는,
Adversarial 손실(LADV), 스타일 손실(LS), 및 L1 손실(LL1)을 합하여 상기 손실값을 산출하는 것을 특징으로 하는,
폰트 생성 시스템. - 기준 문자를 입력받는 단계;
상기 기준 문자에 기초하여 제1 구성요소를 생성하는 단계;
상기 제1 구성요소에 기초하여 제2 구성요소를 생성하는 단계;
상기 제1 구성요소 및 상기 제2 구성요소를 결합하는 단계;
전체 문자를 생성하는 단계; 및
상기 전체 문자의 폰트를 판별하는 단계를 포함하고,
상기 기준 문자는 14개의 문자로 구성되고,
상기 제1 구성요소는 상기 기준 문자로부터 추출된 24개의 구성요소로 구성되고,
상기 제2 구성요소는 상기 제1 구성요소로부터 추출된 27개의 구성요소로 구성되는 것을 특징으로 하는,
폰트 생성 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210193349 | 2021-12-30 | ||
KR1020210193349 | 2021-12-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230103902A true KR20230103902A (ko) | 2023-07-07 |
Family
ID=87154886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220096422A KR20230103902A (ko) | 2021-12-30 | 2022-08-02 | 제한된 개수의 기준 문자를 이용한 폰트 생성 시스템 및 이를 이용한 폰트 생성 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230103902A (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101229175B1 (ko) | 2012-04-06 | 2013-02-01 | (주)정글시스템 | 자필 폰트 생성 방법 및 장치 |
-
2022
- 2022-08-02 KR KR1020220096422A patent/KR20230103902A/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101229175B1 (ko) | 2012-04-06 | 2013-02-01 | (주)정글시스템 | 자필 폰트 생성 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gómez et al. | Textproposals: a text-specific selective search algorithm for word spotting in the wild | |
Hannuna et al. | DS-KCF: a real-time tracker for RGB-D data | |
Baek et al. | Character region attention for text spotting | |
He et al. | Enhanced boundary learning for glass-like object segmentation | |
KR20200119384A (ko) | 차량 번호판을 실시간으로 인식하는 장치 및 방법 | |
US11914951B2 (en) | Semantically-guided template generation from image content | |
Khalil et al. | Text detection and script identification in natural scene images using deep learning | |
JP2021163482A (ja) | 画像内の文字色と背景色を抽出して提供する方法、システム、およびコンピュータプログラム | |
US11055526B2 (en) | Method, system and apparatus for processing a page of a document | |
Baek et al. | COO: Comic onomatopoeia dataset for recognizing arbitrary or truncated texts | |
WO2024140094A1 (zh) | 数字文档的段落确定方法、装置、电子设备及存储介质 | |
Feng et al. | Guis2code: A computer vision tool to generate code automatically from graphical user interface sketches | |
KR20230103902A (ko) | 제한된 개수의 기준 문자를 이용한 폰트 생성 시스템 및 이를 이용한 폰트 생성 방법 | |
US11715197B2 (en) | Image segmentation method and device | |
KR20210044003A (ko) | 단어 임베딩 방법 및 장치와 단어 검색 방법 | |
KR102102394B1 (ko) | 문자 인식을 위한 영상 전처리 장치 및 방법 | |
Xue et al. | [Retracted] Visual Identification of Mobile App GUI Elements for Automated Robotic Testing | |
Mathur et al. | DocEdit: language-guided document editing | |
US20200372368A1 (en) | Apparatus and method for semi-supervised learning | |
Chen et al. | AAF-Net: Scene text detection based on attention aggregation features | |
Gupta et al. | C2vnet: A deep learning framework towards comic strip to audio-visual scene synthesis | |
US20240127502A1 (en) | Font generating system and font generating method based on component separation of character | |
Wang et al. | Region-aware Arbitrary-shaped Text Detection with Progressive Fusion | |
Akhmadeev | Computer Vision for the Web | |
Wang et al. | Exploring Anchor-Free Approach for Reading Chinese Characters |