KR20210094823A - 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치 - Google Patents

개인 필적 맞춤형 한글 폰트 생성 방법 및 장치 Download PDF

Info

Publication number
KR20210094823A
KR20210094823A KR1020200008524A KR20200008524A KR20210094823A KR 20210094823 A KR20210094823 A KR 20210094823A KR 1020200008524 A KR1020200008524 A KR 1020200008524A KR 20200008524 A KR20200008524 A KR 20200008524A KR 20210094823 A KR20210094823 A KR 20210094823A
Authority
KR
South Korea
Prior art keywords
character group
template
font
characters
handwriting
Prior art date
Application number
KR1020200008524A
Other languages
English (en)
Inventor
정학선
김예진
이수연
정일규
Original Assignee
정학선
이수연
정일규
김예진
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 정학선, 이수연, 정일규, 김예진 filed Critical 정학선
Priority to KR1020200008524A priority Critical patent/KR20210094823A/ko
Publication of KR20210094823A publication Critical patent/KR20210094823A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • G06K9/00409
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction

Abstract

개인 필적 맞춤형 한글 폰트 생성 방법 및 장치가 개시된다. 이에 의하면, 한글 폰트를 구성하는 전체글자 중에서 제1글자 그룹을 입력하기 위한 템플릿을 전송하고, 상기 템플릿에 상기 제1글자 그룹에 포함되는 제2글자 그룹이 사용자의 개인 필적에 대응하여 입력된 템플릿 영상을 수신하는 통신부; 와, 상기 템플릿 영상으로부터 상기 제2글자 그룹을 인식하는 영상 처리부; 및, 상기 제2글자 그룹을 학습하고, 이에 기초하여 상기 제1글자 그룹 중 상기 제2글자 그룹을 제외한 나머지 글자들 및 상기 전체글자 중 상기 제1글자 그룹을 제외한 나머지 글자들에 대한 디자인을 생성한 후, 상기 디자인을 반영하여 개인 필적 맞춤형 한글 폰트를 생성하는 제어부를 포함한다.

Description

개인 필적 맞춤형 한글 폰트 생성 방법 및 장치{THE CREATING METHOD AND APPARATUS OF PERSONAL HANDWRITING CUSTOMIZED HANGUL FONT}
본 발명은 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치에 대한 것으로, 보다 구체적으로 사용자의 손글씨체 일부를 학습하고 나머지 글자에 대해 이미지를 생성하여 폰트 파일로 제공하는 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치에 관한 것이다.
최근 개성 표현이 소비자 트렌드의 주요한 특성으로 부상하면서, 나만의 것에 대한 수요가 급증하고 있다. 이에 따라, 자신만의 글씨체 역시 개성 표현 도구 중 하나로 각광받고 있다.
한글 폰트를 제작하기 위해서는 영문 로마자 폰트와 달리 제작 노력과 비용 및 시간이 많이 소요된다. 예를 들어, 영문 폰트는 90여개의 글자를 디자인하는 것으로 글자체 한 벌을 만들 수 있지만, 한글 글자체의 경우 총 11,172개의 글자 디자인이 필요하다. 따라서, 한 벌의 글자체를 만들기 위해서는 다수의 디자이너가 투입되어야 하며, 그에 따른 제작 비용이 높아지게 된다.
도 1a와 도 1b는 기존의 한글 폰트 생성을 위한 오픈 소스를 설명하기 위한 도면이다.
기존의 오픈 소스는 조건부 GAN(Generative Adversarial Network)을 이용하여 중국 글자 스타일을 배우는 것을 목표로 하며, zi2zi의 아키텍처를 변형하여 한국어 문자 세트를 지원한다.
구체적으로, 도 1a은 기존의 오픈 소스 실행결과를 도시한다. 이를 참조하면, 일부 문자들이 제대로 변환되어 있지 않아, 글씨체 학습이 제대로 수행되지 않고 있음을 알 수 있다. 따라서, 사용자에게 개선된 맞춤형 글씨를 제공하기 위해서는 문제점 및 이유를 파악하고 이를 보완하여야 한다.
도 1b는 기존 오픈 소스에서의 글자 추출의 문제점을 설명하기 위한 도면이다. 도 1b에 도시된 바와 같이, 기존의 오픈 소스에서는 템플릿(template) 영역을 하드 코딩 방식으로 정해진 규격만큼 잘라낸다.
이 경우, 이미 정해진 규격으로 자르기 때문에, 스캔하는 방식이나 사용자가 글자를 쓰는 방식에 따라 추출된 글자가 잘리는 경우가 발생하게 된다. 예를 들어, 템플릿 영역을 소정 직사각형 영역(100)으로 잘라내는 경우, 추출된 글자들 중 일부는 글자가 잘려진 영역(110, 120)을 포함하게 된다. 이는, 글씨체 학습의 성능에 큰 영향을 미치게 된다.
본 발명이 해결하고자 하는 과제는 사용자 고유의 손글씨를 닮은 개인 맞춤형 폰트를 쉽게 제작하여 제공할 수 있는 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치를 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는 글씨의 형태적 특징을 이용하여 한글 글씨체 전체 세트를 자동 생성해주는 딥러닝 모델을 개발함으로써 한글 글씨체를 자동으로 생성할 수 있는 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치를 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재에 의해 제안되는 실시 예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시 예에 따른 개인 필적 맞춤형 한글 폰트 생성 장치는, 한글 폰트를 구성하는 전체글자 중에서 제1글자 그룹을 입력하기 위한 템플릿을 전송하고, 상기 템플릿에 상기 제1글자 그룹에 포함되는 제2글자 그룹이 사용자의 개인 필적에 대응하여 입력된 템플릿 영상을 수신하는 통신부; 와, 상기 템플릿 영상으로부터 상기 제2글자 그룹을 인식하는 영상 처리부; 및, 상기 제2글자 그룹을 학습하고, 이에 기초하여 상기 제1글자 그룹 중 상기 제2글자 그룹을 제외한 나머지 글자들 및 상기 전체글자 중 상기 제1글자 그룹을 제외한 나머지 글자들에 대한 디자인을 생성한 후, 상기 디자인을 반영하여 개인 필적 맞춤형 한글 폰트를 생성하는 제어부를 포함할 수 있다.
또한, 본 발명의 일 실시 예에 따른 개인 필적 맞춤형 한글 폰트 생성 방법은, 한글 폰트를 구성하는 전체글자 중에서 제1글자 그룹을 입력하기 위한 템플릿을 전송하는 단계; 와, 상기 템플릿에 상기 제1글자 그룹에 포함되는 제2글자 그룹이 사용자의 개인 필적에 대응하여 입력된 템플릿 영상을 수신하는 단계; 와, 상기 템플릿 영상으로부터 상기 제2글자 그룹을 인식하는 단계; 와, 상기 제2글자 그룹을 학습하고, 이에 기초하여 상기 제1글자 그룹 중 상기 제2글자 그룹을 제외한 나머지 글자들 및 상기 전체글자 중 상기 제1글자 그룹을 제외한 나머지 글자들에 대한 디자인을 생성하는 단계; 및 상기 디자인을 반영하여 개인 필적 맞춤형 한글 폰트를 생성하는 단계를 포함할 수 있다.
본 발명에 따른 실시 예들에 의하면, 사용자 고유의 손글씨를 닮은 개인 맞춤형 폰트를 제작함으로써, 이를 통해 개인의 개성을 표현할 수 있다.
또한, 본 발명에 따른 실시 예들에 의하면, 사용자의 손글씨의 특징을 추출하여 생성된 개인 맞춤형 폰트를 제공함으로써, 폰트 사용 시 걸림돌이 될 수 있는 저작권 문제를 해결할 수 있다.
나아가, 본 발명에 따른 실시 예들에 의하면, 기존 폰트 제작 기간인 4개월 가량을 1일 이내로 단축함으로써 시간과 제작 비용 절감의 극대화를 달성할 수 있다.
도 1a와 도 1b는 기존의 한글 폰트 생성을 위한 오픈 소스를 설명하기 위한 도면이다.
도 2는 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 방법을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 과정을 도시한 도면이다.
도 4a 내지 도 4d는 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 방법에 의해 템플릿 영상이 생성되는 과정을 설명하기 위한 도면이다.
도 5a 내지 도 5c는 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 방법에 의해 글자를 학습하는 과정을 설명하기 위한 도면이다.
도 6은 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 방법에 의해 한글 폰트 파일을 생성하는 과정을 설명하기 위한 도면이다.
이하에서는 본 발명의 구체적인 실시 예를 도면을 참조하여 상세히 설명한다. 그러나 본 발명의 기술적 사상이 이하에서 기술되는 실시 예들에 의하여 제한되는 것은 아니며, 또 다른 구성요소의 추가, 변경 및 삭제 등에 의해서 퇴보적인 다른 발명이나 본 발명의 기술적 사상의 범위 내에 포함되는 다른 실시 예들을 용이하게 제안할 수 있다.
본 발명에서 사용되는 용어는 가능한 한 현재 해당 기술과 관련하여 널리 사용되는 일반적인 용어를 선택하였으나, 특별한 경우에는 출원인이 임의로 선정한 용어도 있으며 이 경우 해당되는 발명의 설명 부분에서 그 의미를 상세히 기재하였다. 그러므로, 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야 함을 미리 밝혀둔다. 이하에서 기술하는 설명에 있어서, 단어 '포함하는'은 열거된 것과 다른 구성요소들 또는 단계들의 존재를 배제하지 않는다.
본 발명은 다음과 같은 특징을 가진다.
첫째, 컴퓨터 비전 기술을 이용하여, 사용자가 업로드한 이미지에서 자동적으로 글자 영역을 추출한 뒤 이미지 전처리를 진행한다.
둘째, 딥 러닝을 이용하여, GAN의 pix2pix 모델을 변형하여 만든 모델을 이용하여 손글씨와 비슷한 형태의 한글 11,172자를 생성한다.
셋째, 사용자가 템플릿을 다운받아 작성하고 이를 업로드하면 폰트파일을 제공 받을 수 있는 웹 서비스를 제공한다.
도 2는 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 방법을 설명하기 위한 도면이다.
본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 방법에 의하면, 사용자가 웹 페이지에서 제공되는 템플릿을 다운받아 직접 손으로 글자를 쓴 뒤 스캔하여 업로드 하는 경우, 그 글자들을 학습한 모델에 기초하여 나머지 글자들을 자동으로 생성하고 이에 기초하여 사용자의 필적에 대응하는 한글 폰트 파일을 제공할 수 있다.
이를 위해, 한글 폰트를 구성하는 전체글자 중에서 제1글자 그룹을 입력하기 위한 템플릿을 전송하는 단계와, 상기 템플릿에 상기 제1글자 그룹에 포함되는 제2글자 그룹이 사용자의 개인 필적에 대응하여 입력된 템플릿 영상을 수신하는 단계와, 상기 템플릿 영상으로부터 상기 제2글자 그룹을 인식하는 단계와, 상기 제2글자 그룹을 학습하고, 이에 기초하여 상기 제1글자 그룹 중 상기 제2글자 그룹을 제외한 나머지 글자들 및 상기 전체글자 중 상기 제1글자 그룹을 제외한 나머지 글자들에 대한 디자인을 생성하는 단계 및, 상기 디자인을 반영하여 개인 필적 맞춤형 한글 폰트를 생성하는 단계를 포함할 수 있다.
여기서, 템플릿은, 제1글자 그룹을 구성하는 각각의 글자의 표준 글자체가 표시된 복수개의 제1칸과, 복수개의 제1칸에 각각 대응하며, 상기 표준 글자체에 대응하여 상기 개인 필적에 따른 글자를 입력할 수 있도록 공란으로 구성된 복수개의 제2칸을 포함하여 구성될 수 있다.
일 실시 예에 의하면, 전체글자 중에서, 표준 글자체와 개인 필적에 따른 글자 간의 차이가 소정 벡터 값 이상인 글자들을 제1글자 그룹으로 구성할 수 있다.
템플릿은 문서 파일 형태로 생성될 수 있다. 또한, 템플릿 영상은, 템플릿을 출력하여 사용자의 개인 필적에 따라 제2글자 그룹이 입력된 후 스캔 되거나 촬영됨으로써 생성될 수 있다.
도 2에 도시된 바와 같이, 손글씨 이미지를 업로드 한다(S210).
여기서, 손글씨 이미지는 템플릿 영상일 수 있다. 이 경우, 사용자는 템플릿을 다운로드 받아 문서로 출력하고, 문서 상에 자신의 글씨를 수기로 입력한 후, 해당 문서를 스캔 또는 촬영함으로써 템플릿 영상을 생성하여 이를 개인 필적 맞춤형 한글 폰트 생성 장치에 전송 또는 업로드 할 수 있다.
글자 영역 추출 및 이미지 전처리를 수행한다(S220).
개인 필적 맞춤형 한글 폰트 생성 장치는 템플릿 영상으로부터 글자 영역을 추출하고, 추출된 글자 영역에 대해 이미지 전처리를 수행한다. 여기서, 글자 영역은 사용자의 글씨가 수기로 입력된 부분이다. 이 경우, 글자 영역에 대해 바이너리 이미지 추출, 윤곽선 추출 등의 이미지 전처리를 수행하고, 글자 영역으로부터 사용자가 수기로 입력한 글자를 인식한다.
글자를 학습한다(S230).
개인 필적 맞춤형 한글 폰트 생성 장치는 인식된 일부 글자를 학습하고, 이에 기초하여 한글 폰트를 구성하는 전체 글자에 대한 디자인을 생성할 수 있다. 여기서, 학습은 딥러닝, 머신 러닝 등에 의해 수행될 수 있다.
폰트 파일을 생성한다(S240).
개인 필적 맞춤형 한글 폰트 생성 장치는 생성된 디자인에 따라 한글 폰트를 구성하는 전체 글자의 글자체를 생성하고, 이에 기초하여 한글 폰트 파일을 생성할 수 있다.
폰트 파일을 공유 및 다운로드를 수행한다(S250).
사용자는 자신의 필적에 따른 한글 폰트 파일을 사회 관계망 서비스(Social Networking Service: SNS)에 업로드 하여 공유하거나, 이동 단말이나 웹 페이지를 통해 폰트 파일을 다운로드 할 수 있다.
도 3은 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 과정을 도시한 도면이다.
템플릿을 다운로드 한다(S301).
사용자는 이동 단말이나 PC 등을 통하여 템플릿을 다운로드 받아, 문서로 출력할 수 있다.
손글씨 작성 후 업로드 한다(S302).
사용자는 출력된 문서상에 자신의 글씨를 수기로 입력하고, 해당 문서를 스캔 또는 촬영함으로써 템플릿 영상을 생성한다. 이 경우, 사용자는 이동 단말 또는 PC 등을 통하여 템플릿 영상을 개인 필적 맞춤형 한글 폰트 생성 장치에 전송 또는 업로드 할 수 있다.
글자 영역을 추출한다(S303).
개인 필적 맞춤형 한글 폰트 생성 장치는 템플릿 영상으로부터 글자 영역을 추출할 수 있다. 여기서, 글자 영역은 사용자의 글씨가 수기로 입력된 부분이다.
글자 학습을 위한 데이터 전처리를 수행한다(S304).
개인 필적 맞춤형 한글 폰트 생성 장치는 글자 영역으로부터 사용자가 수기로 입력한 글자를 인식한다. 구체적으로, 손글씨를 자동으로 추출하기 위하여, 사용자의 손글씨가 담긴 이미지 파일에서 글씨 영역만을 검출하여, 글자의 형태적 특징을 추출할 수 있다.
글자 학습을 위하여, 개인 필적 맞춤형 한글 폰트 생성 장치는 추출된 글자 영역에 대해 이미지 전처리를 수행할 수 있다. 일 실시 예에 의하면, 글자 영역에 대해, 바이너리 이미지 추출, 윤곽선 추출 등의 이미지 전처리를 수행할 수 있다.
글자를 학습한다(S305).
개인 필적 맞춤형 한글 폰트 생성 장치는 인식된 일부 글자를 학습하고, 이에 기초하여 한글 폰트를 구성하는 전체 글자에 대한 디자인을 생성할 수 있다. 여기서, 학습은 딥러닝, 머신 러닝 등에 의해 수행될 수 있다.
GAN을 이용한 글자 이미지를 생성한다(S306).
개인 필적 맞춤형 한글 폰트 생성 장치는 생성된 디자인에 따라 한글 폰트를 구성하는 전체 글자의 글자체를 생성할 수 있다.
파라미터를 조정한다(S307).
전체 글자의 글자체에 대하여 다양한 파라미터를 조정한다. 다양한 파라미터는 크기, 높이, 장평, 간격 등을 포함할 수 있다.
최종 폰트 파일을 생성한다(S308).
개인 필적 맞춤형 한글 폰트 생성 장치는 전체 글자로 구성되는 폰트 파일을 생성한다.
본 발명에 의하면 글씨의 형태적 특징을 이용하여 한글 글씨체 전체 세트를 자동 생성해주는 딥러닝 모델을 제공함으로써 한글 글씨체를 자동으로 생성할 수 있다. 구체적으로, 사용자가 대표 글자를 입력하면, 그 글자들의 디자인 특성을 딥러닝 기술을 이용하여 학습한 모델이 나머지 글자들을 자동으로 생성함으로써 폰트 파일을 제작한다. 따라서, 모든 글자를 인식하고 글자의 특징을 학습하여 폰트 파일을 제작하는 경우에 비하여, 한글 폰트 제작의 어려움을 덜고 효율적으로 한글 폰트를 제작하며 제작에 들어가는 시간과 비용을 절감시킬 수 있다.
또한, 본 발명은 생성된 폰트를 웹 상에서 공유 가능한 서비스를 제공할 수 있다. 이에 의해, 사용자는 자신의 손글씨 이미지를 업로드 하고, 폰트 파일을 공유할 수 있다. 예를 들어, 페이스북, 카카오 톡과 같은 SNS와 PowerPoint나 Word 파일 등에 자신만의 폰트를 이용한 풍부한 개성 표현 및 홍보를 수행할 수 있다. 나아가, 사용자들이 본 서비스를 사용해 제작한 폰트를 서로 공유하며 필요에 의하면 판매 가능한 플랫폼 구축할 수 있다.
한편, 상기와 같은 방법을 수행하는 개인 필적 맞춤형 한글 폰트 생성 장치는, 통신부와 영상 처리부 및 제어부를 포함하여 구성될 수 있다.
통신부는 한글 폰트를 구성하는 전체글자 중에서 제1글자 그룹을 입력하기 위한 템플릿을 전송하고, 상기 템플릿에 상기 제1글자 그룹에 포함되는 제2글자 그룹이 사용자의 개인 필적에 대응하여 입력된 템플릿 영상을 수신할 수 있다.
영상 처리부는 템플릿 영상으로부터 제2글자 그룹을 인식할 수 있다.
제어부는 제2글자 그룹을 학습하고, 이에 기초하여 상기 제1글자 그룹 중 상기 제2글자 그룹을 제외한 나머지 글자들 및 상기 전체글자 중 상기 제1글자 그룹을 제외한 나머지 글자들에 대한 디자인을 생성할 수 있다. 이 경우, 제어부는 디자인을 반영하여 개인 필적 맞춤형 한글 폰트를 생성할 수 있다.
여기서, 템플릿은, 제1글자 그룹을 구성하는 각각의 글자의 표준 글자체가 표시된 복수개의 제1칸과, 복수개의 제1칸에 각각 대응하며, 상기 표준 글자체에 대응하여 상기 개인 필적에 따른 글자를 입력할 수 있도록 공란으로 구성된 복수개의 제2칸을 포함할 수 있다.
제어부는, 전체글자 중에서, 상기 표준 글자체와 상기 개인 필적에 따른 글자 간의 차이가 소정 벡터 값 이상인 글자들을 상기 제1글자 그룹으로 구성할 수 있다.
제어부는 템플릿을 문서 파일 형태로 생성할 수 있다. 이 경우, 템플릿 영상은 템플릿을 출력하여 상기 사용자의 개인 필적에 따라 상기 제2글자 그룹이 입력된 후 스캔 되거나 촬영됨으로써 생성될 수 있다.
도 4a 내지 도 4d는 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 방법에 의해 템플릿 영상이 생성되는 과정을 설명하기 위한 도면이다.
구체적으로, 도 4a는 생성된 템플릿을 도시한다. 도 4a에서, 좌측 영상(410) 은 기존 오픈 소스에서 제공하는 템플릿이고, 우측 영상(420)은 본 발명에서 제공되는 템플릿이다.
기존의 템플릿(410)은 경계가 흐릿하여 스캔 과정 중 테두리가 손실될 가능성이 존재하였고, 글자를 작성할 수 있는 공간 역시 협소하다.
본 발명의 템플릿(420)은 Image, ImageFont, ImageDraw 모듈을 사용하여 소비자의 편리함을 고려한 형태로 제작되었다. 이를 위해, 개인 필적 맞춤형 한글 폰트 생성 장치의 제어부는 사용자의 글씨체 학습을 위해 한글 399자의 글자 작성 템플릿을 생성할 수 있다. 일 실시 예에 의하면, 제어부는 Python Pillow 라이브러리를 사용할 수 있다.
도 4b는 글자 영역을 추출하는 경우이다.
개인 필적 맞춤형 한글 폰트 생성 장치의 영상 처리부는 사용자가 수기로 쓴 글자 템플릿으로부터 글자 영역만을 자동으로 추출하여 이미지로 저장한다. 일 실시 예에 의하면, 영상 처리부는 python cv2 라이브러리를 사용할 수 있다.
기존의 오픈 소스에서는, 글자를 검출하는 경우 템플릿 영상을 일정한 규격으로 12등분으로 분할하는 절차로 진행하였다. 이로 인해, 사용자의 필적이 입력 칸의 규격에 정확하게 입력되지 않거나 어긋난 경우, 사용자의 글자가 잘리거나 다른 부분까지 검출하는 경우가 많았다.
이러한 문제점을 개선하기 위하여, 영상 처리부는 템플릿의 글자 영역을 자동으로 인식하여 검출할 수 있다. 이를 위해, 영상 처리부는 컴퓨터 비전의 이진화(binarization), 이미지 팽창(dilation), 윤곽선 검출(findContour) 등의 영상 처리 방법을 수행할 수 있다.
도 4b를 참조하면, 기존의 템플릿(410)은 12 X 12 행렬로 구성되는 글자 입력 칸(415) 들을 가지며, 각각의 글자 입력 칸(415)은 일정한 크기와 규격을 가진다. 이 경우, 일정한 규격을 가지는 글자 입력 칸(415) 만을 추출하므로, 만일 사용자의 글자가 해당 칸을 벗어나거나 해당 칸 내부에서 일정 방향으로 치우치게 되면 인식이 제대로 되지 않고 학습 성능이 떨어진다.
본 발명의 영상 처리부는 글자 입력 칸에서 글자 영역만을 자동으로 추출한다. 이에 대응하여, 템플릿 영상(420)의 글자 입력 칸(425)의 각각의 글자 추출 영역은 사용자의 필적에 따라 변경될 수 있다.
도 4b의 우측 영상(430)은 템플릿에 사용자의 글자가 입력된 경우이다. 이 경우, 영상 처리부는 각각의 글자 입력 칸에서 글자 영역만을 자동으로 추출하게 된다.
일 실시 예에 의하면, 글자 영역을 추출하는 과정은 우선 이미지를 읽어 cv2. THRESH_OTSU를 기준으로 이진화를 시킨 후, cv2.dilate를 활용할 수 있다.
도 4c는 인식한 글자를 생성하는 경우이다. 도 4c에 도시된 과정을 거친 이후, 영상 처리부는 덩어리가 된 글씨의 윤곽선을 검출하고 해당 영역을 추출한다. 여기서, 영상 처리부는 cv2.findContours를 사용할 수 있다.
도 4d는 최종적으로 추출된 글씨를 도시한다. 영상 처리부는 도 4c에 의해 추출된 영역의 글씨를 128 x 128 사이즈의 흰 글자 이미지로 완성시킨다.
도 5a 내지 도 5c는 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 방법에 의해 글자를 학습하는 과정을 설명하기 위한 도면이다.
개인 필적 맞춤형 한글 폰트 생성 장치의 제어부는 글자를 학습할 수 있다.
구체적으로, 제어부는 추출된 글자 이미지에 기초하여 pix2pix 모델의 학습을 통해 사용자 필적과 유사한 나머지 한글 이미지 11,172개를 생성할 수 있다. 이 경우, python tensorflow 라이브러리를 통하여 GAN의 pix2pix 모델을 변형하여 글자 학습 모델을 구성한다.
pix2pix 모델은 기존의 GAN 모델과 차이점이 존재한다. pix2pix는 paired image 형태로 정답이 이미 존재하는 이미지 쌍을 학습 데이터로 CNN의 loss function외에 GAN의 loss function을 추가하여 적은 데이터를 이용하여 전체 글자를 만들어내는 기술이다. 이 경우, 제어부는 [고딕체 이미지: 사용자 손글씨 이미지] 의 쌍(pair) 형태로 학습하게 된다.
기존 GAN에서는 Noise Distribution으로부터 Data Distribution을 추출하는 학습이라면, pix2pix는 한 이미지 도메인으로부터 또 다른 이미지 도메인으로부터의 Image를 추출하게 된다.
또한 pix2pix의 G의 구조는 U-Net 구조를 취하고 있는데, 이는 skip connection을 이용하여 인코딩 과정 중에 손실되는 정보들을 디코딩 과정에 전달하는 과정이 포함된다.
도 5a에 도시된 바와 같이, 글자 학습 과정은 다음과 같이 진행된다.
템플릿 영상을 잘라낸다(S510). 이 경우, 영상 처리부는 399자의 글자 템플릿에서 글자 부분을 추출하여 이미지 형태로 저장할 수 있다.
잘라낸 템플릿 영상에 기초하여 font2image을 생성한다(S520). 영상 처리부는 학습을 위해 손글씨와 고딕체 글자를 쌍으로 묶어 이미지 파일을 생성한다.
이미지 파일을 패키징 한다(S530). 영상 처리부는 이미지 파일을 묶어 binary format으로 만든 후 트레이닝을 위한 오브젝트 파일을 생성한다.
학습한다(S540). 제어부는 이전 단계에서 생성한 이미지를 바탕으로 생성자와 판별자의 학습을 진행한다. 이 경우, 제어부는 GAN의 pix2pix 모델을 이용한다.
추론한다(S550). 학습이 완료된 후, 제어부는 11,172자의 글자를 생성한다.
도 5b는 도 5a의 Crop 과정을 설명하기 위한 도면이다. 도 5b에 도시된 바와 같이, 영상 처리부는 글자 템플릿에서 글자 부분(512)을 추출하여, 이미지 형태(514)로 저장한다.
도 5c는 도 5a의 font2image 생성 과정을 설명하기 위한 도면이다. 도 5c에 도시된 바와 같이, 영상 처리부는 손글씨(522)와 고딕체 글자(524)를 쌍으로 묶어 이미지 파일(525)을 생성한다.
도 6은 본 발명에 따른 개인 필적 맞춤형 한글 폰트 생성 방법에 의해 한글 폰트 파일을 생성하는 과정을 설명하기 위한 도면이다.
제어부는 폰트 파일 생성을 위해서 nodejs 모듈인 svgicons2svgfont와 svg2ttf 모듈을 사용할 수 있다.
제어부는 글자 학습을 통해 생성된 글자 이미지에 대해 이미지 벡터 파일인 svg파일로 전환하여 이를 하나의 벡터 묶음으로 생성한다. 이후 svg2ttf 모듈을 이용하여 폰트 파일(.ttf)을 생성한다.
구체적으로, 도 6을 참조하면, 제어부는 글자 학습을 통해 글자를 추론하여 글자 이미지를 생성한다(610). 또한, 생성된 글자 이미지를 이미지 벡터 파일인 svg 파일로 전환하고(620), 이를 하나의 벡터 묶음으로 생성한다(630). 이후 svg2ttf 모듈을 이용하여 폰트 파일(.ttf)을 생성한다(640).
이상에서 실시 예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위 내에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
100: 직사각형 영역 110, 120: 잘려진 영역
410: 기존의 템플릿 420: 본 발명의 템플릿

Claims (8)

  1. 개인 필적 맞춤형 한글 폰트 생성 장치에 있어서,
    한글 폰트를 구성하는 전체글자 중에서 제1글자 그룹을 입력하기 위한 템플릿을 전송하고, 상기 템플릿에 상기 제1글자 그룹에 포함되는 제2글자 그룹이 사용자의 개인 필적에 대응하여 입력된 템플릿 영상을 수신하는 통신부;
    상기 템플릿 영상으로부터 상기 제2글자 그룹을 인식하는 영상 처리부; 및
    상기 제2글자 그룹을 학습하고, 이에 기초하여 상기 제1글자 그룹 중 상기 제2글자 그룹을 제외한 나머지 글자들 및 상기 전체글자 중 상기 제1글자 그룹을 제외한 나머지 글자들에 대한 디자인을 생성한 후, 상기 디자인을 반영하여 개인 필적 맞춤형 한글 폰트를 생성하는 제어부를 포함하는, 개인 필적 맞춤형 한글 폰트 생성 장치.
  2. 제1항에 있어서,
    상기 템플릿은,
    상기 제1글자 그룹을 구성하는 각각의 글자의 표준 글자체가 표시된 복수개의 제1칸과,
    상기 복수개의 제1칸에 각각 대응하며, 상기 표준 글자체에 대응하여 상기 개인 필적에 따른 글자를 입력할 수 있도록 공란으로 구성된 복수개의 제2칸을 포함하는, 개인 필적 맞춤형 한글 폰트 생성 장치.
  3. 제1항에 있어서,
    상기 제어부는,
    상기 전체글자 중에서, 상기 표준 글자체와 상기 개인 필적에 따른 글자 간의 차이가 소정 벡터 값 이상인 글자들을 상기 제1글자 그룹으로 구성하는, 개인 필적 맞춤형 한글 폰트 생성 장치.
  4. 제1항에 있어서,
    상기 제어부는,
    상기 템플릿을 문서 파일 형태로 생성하고,
    상기 템플릿 영상은,
    상기 템플릿을 출력하여 상기 사용자의 개인 필적에 따라 상기 제2글자 그룹이 입력된 후 스캔 되거나 촬영됨으로써 생성되는, 개인 필적 맞춤형 한글 폰트 생성 장치.
  5. 개인 필적 맞춤형 한글 폰트 생성 방법에 있어서,
    한글 폰트를 구성하는 전체글자 중에서 제1글자 그룹을 입력하기 위한 템플릿을 전송하는 단계;
    상기 템플릿에 상기 제1글자 그룹에 포함되는 제2글자 그룹이 사용자의 개인 필적에 대응하여 입력된 템플릿 영상을 수신하는 단계;
    상기 템플릿 영상으로부터 상기 제2글자 그룹을 인식하는 단계;
    상기 제2글자 그룹을 학습하고, 이에 기초하여 상기 제1글자 그룹 중 상기 제2글자 그룹을 제외한 나머지 글자들 및 상기 전체글자 중 상기 제1글자 그룹을 제외한 나머지 글자들에 대한 디자인을 생성하는 단계; 및
    상기 디자인을 반영하여 개인 필적 맞춤형 한글 폰트를 생성하는 단계를 포함하는, 개인 필적 맞춤형 한글 폰트 생성 방법.
  6. 제5항에 있어서,
    상기 템플릿은,
    상기 제1글자 그룹을 구성하는 각각의 글자의 표준 글자체가 표시된 복수개의 제1칸과,
    상기 복수개의 제1칸에 각각 대응하며, 상기 표준 글자체에 대응하여 상기 개인 필적에 따른 글자를 입력할 수 있도록 공란으로 구성된 복수개의 제2칸을 포함하는, 개인 필적 맞춤형 한글 폰트 생성 방법.
  7. 제5항에 있어서,
    상기 전체글자 중에서, 상기 표준 글자체와 상기 개인 필적에 따른 글자 간의 차이가 소정 벡터 값 이상인 글자들을 상기 제1글자 그룹으로 구성하는, 개인 필적 맞춤형 한글 폰트 생성 방법.
  8. 제5항에 있어서,
    상기 템플릿은 문서 파일 형태로 생성되고,
    상기 템플릿 영상은,
    상기 템플릿을 출력하여 상기 사용자의 개인 필적에 따라 상기 제2글자 그룹이 입력된 후 스캔 되거나 촬영됨으로써 생성되는, 개인 필적 맞춤형 한글 폰트 생성 방법.
KR1020200008524A 2020-01-22 2020-01-22 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치 KR20210094823A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200008524A KR20210094823A (ko) 2020-01-22 2020-01-22 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200008524A KR20210094823A (ko) 2020-01-22 2020-01-22 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210094823A true KR20210094823A (ko) 2021-07-30

Family

ID=77148585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200008524A KR20210094823A (ko) 2020-01-22 2020-01-22 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20210094823A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230094022A (ko) * 2021-12-20 2023-06-27 단국대학교 산학협력단 Nft 기반 신규 폰트 파일을 생성하는 방법, 장치, 및 컴퓨터 프로그램
KR20230094023A (ko) * 2021-12-20 2023-06-27 단국대학교 산학협력단 대상 폰트 파일로부터 글씨 특징을 디지털화 처리하는 방법, 장치, 및 컴퓨터 프로그램

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230094022A (ko) * 2021-12-20 2023-06-27 단국대학교 산학협력단 Nft 기반 신규 폰트 파일을 생성하는 방법, 장치, 및 컴퓨터 프로그램
KR20230094023A (ko) * 2021-12-20 2023-06-27 단국대학교 산학협력단 대상 폰트 파일로부터 글씨 특징을 디지털화 처리하는 방법, 장치, 및 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
EP1361544B1 (en) System and method for editing electronic images
JP5167711B2 (ja) 簡体字と繁体字とを相互変換する方法及びその変換装置
CN108090400A (zh) 一种图像文本识别的方法和装置
Joshi et al. Deep learning based Gujarati handwritten character recognition
KR20210094823A (ko) 개인 필적 맞춤형 한글 폰트 생성 방법 및 장치
Hung et al. Micrography QR codes
CN109948518A (zh) 一种基于神经网络的pdf文档内容文本段落聚合的方法
KR20210037280A (ko) 손 글씨를 이용한 폰트 제작 방법
CN114596566A (zh) 文本识别方法及相关装置
CN115082693A (zh) 一种融合多粒度多模态的艺术品图像描述生成方法
Tymoshenko et al. Real-Time Ukrainian Text Recognition and Voicing.
CN111723653A (zh) 基于人工智能的绘本阅读方法及装置
CN113255331B (zh) 文本纠错方法、装置及存储介质
CN111144137A (zh) 机器翻译后编辑模型语料的生成方法及装置
US11200366B2 (en) Using classifications from text to determine instances of graphical element types to include in a template layout for digital media output
CN115130437B (zh) 一种文档智能填写方法、装置及存储介质
CN115984842A (zh) 一种基于多模态的视频开放标签提取方法
JP2013152564A (ja) 文書処理装置及び文書処理方法
KR101955017B1 (ko) 한자학습교재의 편집구조 및 이를 이용한 한자학습교재
CN116306506A (zh) 一种基于内容识别的智能邮件模板方法
CN114332476A (zh) 维语识别方法、装置、电子设备、存储介质和产品
CN114283422A (zh) 一种手写字体生成方法、装置、电子设备和存储介质
CN114331932A (zh) 目标图像生成方法和装置、计算设备以及计算机存储介质
CN112395834A (zh) 基于图片输入的脑图生成方法、装置、设备及存储介质
Belay Deep learning for Amharic text-image recognition: algorithm, dataset and application