KR20220165635A - 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템 - Google Patents

인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템 Download PDF

Info

Publication number
KR20220165635A
KR20220165635A KR1020220001799A KR20220001799A KR20220165635A KR 20220165635 A KR20220165635 A KR 20220165635A KR 1020220001799 A KR1020220001799 A KR 1020220001799A KR 20220001799 A KR20220001799 A KR 20220001799A KR 20220165635 A KR20220165635 A KR 20220165635A
Authority
KR
South Korea
Prior art keywords
text
image
font
neural network
size
Prior art date
Application number
KR1020220001799A
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
Priority claimed from KR1020210074288A external-priority patent/KR102349510B1/ko
Application filed by 주식회사 산돌메타랩 filed Critical 주식회사 산돌메타랩
Priority to KR1020220001799A priority Critical patent/KR20220165635A/ko
Priority to US17/833,010 priority patent/US20220392241A1/en
Publication of KR20220165635A publication Critical patent/KR20220165635A/ko

Links

Images

Classifications

    • 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/18Extraction of features or characteristics of the image
    • G06V30/18162Extraction of features or characteristics of the image related to a structural representation of the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/24Character recognition characterised by the processing or recognition method
    • G06V30/242Division of the character sequences into groups prior to recognition; Selection of dictionaries
    • G06V30/244Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
    • G06V30/245Font recognition
    • G06K9/6288
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • 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/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • 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/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • G06V30/1456Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields based on user interactions
    • 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/16Image preprocessing
    • G06V30/166Normalisation of pattern dimensions
    • 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/22Character recognition characterised by the type of writing
    • 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/28Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
    • G06V30/287Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of Kanji, Hiragana or Katakana characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Human Computer Interaction (AREA)
  • Character Discrimination (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 인공지능을 이용한 폰트 인식 방법에 관한 것이다. 본 발명에 따른 신경망을 이용한 폰트 인식 방법은 텍스트가 포함된 대상 텍스트 이미지를 입력 받는 단계; 상기 입력된 대상 텍스트 이미지의 종횡비에 따라 가로 또는 세로 크기를 기준 입력 크기로 리사이징 하는 단계; 및 상기 리사이징된 대상 텍스트 이미지를 학습된 신경망에 입력하고 상기 텍스트 이미지에 포함된 텍스트의 폰트를 출력하는 단계를 포함하고, 상기 신경망은 텍스트에 배경을 합성하여 생성된 학습 이미지로부터 상기 기준 입력 크기의 단위 영역으로 추출된 단위 이미지로 학습된 것이 바람직하다. 본 발명에 따르면 다양한 사용예에 따른 폰트를 효과적으로 인식할 수 있다.

Description

인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템{Method for detecting font using neural network and system for the same method}
본 발명은 인공지능을 이용한 폰트 인식 방법에 관한 것이다.
폰트(font)는 글자의 모양을 의미하는 것으로, 특정한 모양의 서체의 윤곽선을 크기, 장평, 굵기, 기울기 등을 조절하여 반복적이고 편리하게 출력하도록 특정한 결과를 얻기 위하여 제작된 표현물로서 저작권상 보호받고 있다.
폰트 파일은 이러한 폰트를 디지털 기기 화면에 글자를 표시, 출력하기 위한 목적으로 만들어진 전자 데이터 파일로, 1980년대 마이크로소프트와 애플이 만든 글꼴 저장 형식인 TTF(True Type Font, 트루타입 글꼴), 어도비 시스템즈와 결합하여 만든 OTF(OpenType Font) 등의 형식으로 주로 개발되고 있다.
이러한 폰트들은 형식에 따라 렌더링 되며 다양한 불규칙한 곡선의 형상을 갖는데, 폰트가 사용되는 배경이나 크기의 기하학적 변경에 따라 고유한 형상이 왜곡되거나 변형될 수 있다.
따라서, 폰트가 사용된 이미지 자체 만으로 이용된 폰트를 식별하는 데에 어려움이 있다.
최근 인공지능 기술의 발달로 학습된 신경망을 이용하여, 객체 인식이나 분류에 다양한 인공지능 알고리즘들이 이용되고 있다. 인공지능의 성능은 신경망의 내부적인 구조 뿐만 아니라 학습에 이용되는 학습 데이터의 특성에 많은 영향을 받게 된다.
따라서, 폰트 인식과 관련한 분야에서도 신경망을 이용한 인식 방법이 고안되고 있다(선행특허: 일본공개특허공보 2019-091434(공개일 2019.06.13)).
본 발명은 폰트 인식을 위한 방법을 제안하는 것을 목적으로 한다.
본 발명은 폰트의 다양한 사용예에 따라 적응적인 성능을 갖도록 학습된 신경망을 이용하여 폰트를 인식하는 방법을 제안하는 것을 목적으로 한다.
또한, 본 발명은 폰트의 인식을 위한 입력 데이터의 전처리 방법을 제안하고 이를 통해 댜앙한 폰트를 효과적으로 인식하는 방법을 제안하는 것을 목적으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 신경망을 이용한 폰트 인식 방법은 텍스트가 포함된 대상 텍스트 이미지를 입력 받는 단계; 상기 입력된 대상 텍스트 이미지의 종횡비에 따라 가로 또는 세로 크기를 기준 입력 크기로 리사이징 하는 단계; 및 상기 리사이징된 대상 텍스트 이미지를 학습된 신경망에 입력하고 상기 텍스트 이미지에 포함된 텍스트의 폰트를 출력하는 단계를 포함하고,
상기 신경망은 텍스트에 배경을 합성하여 생성된 학습 이미지로부터 상기 기준 입력 크기의 단위 영역으로 추출된 단위 이미지로 학습된 것이 바람직하다.
상기 입력 받는 단계는, 사용자로부터 업로드된 이미지 중 텍스트가 포함된 영역을 추출한 텍스트 이미지를 입력 받는 것이 바람직하다.
상기 입력 받는 단계는, 웹 상의 텍스트를 포함하는 임의의 웹 페이지로부터 텍스트의 영역을 추출하여 추출된 텍스트 이미지를 입력 받는 것이 바람직하다.
상기 신경망은, 상기 학습 이미지의 종횡비에 따라 가로 또는 세로 크기를 기준 입력 크기로 리사이징 하고, 상기 리사이징 된 학습 이미지로부터 상기 기준 입력 크기의 정방형의 단위 이미지를 추출하여 학습된 것이 바람직하다.
상기 폰트를 출력하는 단계는
상기 신경망에 입력된 대상 텍스트 이미지로부터 미리 결정된 크기의 필터를 통해 합성곱 연산을 수행하여 특징 정보를 추출하는 단계; 상기 추출된 특징 정보가 정의되는 채널 별 대표 특징을 추출하는 단계; 및 상기 추출된 대표 특징으로부터 대응되는 폰트 분류 정보를 추출하는 단계를 포함한다.
상기 입력 받는 단계는 복수의 대상 텍스트 이미지를 배치(batch) 단위로 입력받고, 상기 리사이징 하는 단계는, 상기 복수의 이미지 중 상기 기준 크기에 따라 리사이징 된 크기가 가장 큰 이미지를 기준으로 다른 이미지의 영역을 공백으로 패딩처리하는 것이 바람직하다.
임의의 폰트로 생성된 텍스트와 배경으로 구성된 이미지와 이용된 폰트로 구성된 학습 데이터 셋을 통한 학습 결과에 따라, 상기 텍스트에 대한 효과의 부여 조건 또는 상기 배경의 합성 조건을 동적으로 설정하도록 하는 것이 바람직하다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 신경망을 이용한 폰트 인식 장치는 텍스트가 포함된 대상 텍스트 이미지를 입력 받는 텍스트 입력부; 상기 입력된 대상 텍스트 이미지의 종횡비에 따라 가로 또는 세로 크기를 기준 입력 크기로 리사이징 하는 리사이징부; 및 상기 리사이징된 대상 텍스트 이미지를 학습된 신경망에 입력하고 상기 텍스트 이미지에 포함된 텍스트의 폰트를 출력하는 폰트 출력부를 포함하고, 상기 신경망은 텍스트에 배경을 합성하여 생성된 학습 이미지로부터 상기 기준 입력 크기의 단위 영역으로 추출된 단위 이미지로 학습된 것이 바람직하다.
상기 신경망은, 상기 신경망에 입력된 대상 텍스트 이미지로부터 미리 결정된 크기의 필터를 통해 합성곱 연산을 수행하여 특징 정보를 추출하는 특징 추출부; 상기 추출된 특징 정보가 정의되는 채널 별 대표 특징을 추출하는 특징 대표화부; 및 상기 추출된 대표 특징으로부터 대응되는 폰트 분류 정보를 추출하는 폰트 분류부를 포함한다.
상기 신경망은, 임의의 폰트로 생성된 텍스트와 배경으로 구성된 이미지와 이용된 폰트로 구성된 학습 데이터 셋을 통한 학습 결과에 따라, 상기 텍스트에 대한 효과의 부여 조건 또는 상기 배경의 합성 조건을 동적으로 설정하도록 하는 것이 바람직하다.
상기 텍스트 입력부는 복수의 대상 텍스트 이미지를 배치(batch) 단위로 입력받고, 상기 리사이징부는, 상기 복수의 이미지 중 상기 기준 크기에 따라 리사이징 된 크기가 가장 큰 이미지를 기준으로 다른 이미지의 영역을 공백으로 패딩처리하는 것이 바람직하다.
본 발명에 따르면 다양한 사용예에 따른 폰트를 효과적으로 인식할 수 있다.
또한, 사용된 폰트의 색상이나 크기에 제약없이 효과적으로 폰트를 인식할 수 있다.
또한, 본 발명은 배치 단위로 추론이 가능하여 다양한 폰트 사용 예로부터 사용된 폰트를 효과적으로 판단할 수 있다.
또한, 본 발명은 인식된 폰트의 사용 주체 및 목적이 저작권 범위 내인지를 판단함으로써 무단 사용을 방지할 수 있다.
도 1 및 2는 본 발명의 일 실시예에 따른 폰트 인식 시스템을 나타낸 예시도이다.
도 3은 본 발명의 일 실시예에 따른 신경망을 이용한 폰트 인식 방법을 나타낸 흐름도이다.
도 4 및 5는 본 발명의 일 실시예에 따른 신경망의 입력을 위한 전처리를 나타낸 예시도이다.
도 6은 본 발명의 일 실시예에 따른 신경망의 학습을 위한 입력 전처리를 나타낸 예시도이다.
도 7은 본 발명의 일 실시예에 따른 신경망 모델을 나타낸 예시도이다.
도 8은 본 발명의 일 실시예에 따른 신경망의 입력을 위한 전처리를 나타낸 예시도이다.
도 9는 본 발명의 일 실시예에 따른 신경망의 학습 과정을 나타낸 예시도이다.
도 10은 본 발명의 일 실시예에 따른 신경망을 통한 폰트 인식 장치의 구성을 나타낸 블록도이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시 되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이외같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
또한, 발명을 설명함에 있어서 발명과 관련된 공지 기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하에는 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예에 대해 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 신경망 기반의 폰트 인식 시스템을 나타내는 도이다.
본 발명의 일 실시예에 따른 시스템은 폰트 인식을 수행하는 폰트 인식 장치(100)와 인식하고자 하는 폰트를 포함하는 텍스트 이미지를 입력하는 사용자(200)로 구성될 수 있다.
사용자(200)는 폰트 인식 장치(100)에서 운영하는 웹 상의 웹 페이지에 접속하거나 또는 어플리케이션을 사용자 단말에 설치하고, 이미지를 업로드하거나 어플리케이션과 연동하여 동작하는 카메라를 통해 직접 촬영함으로써 텍스트 이미지를 입력할 수 있다.
폰트 인식 장치(100)의 이미지 입력부는 사용자(200)로부터 이미지가 입력되면, 신경망(50)을 이용하여 텍스트의 폰트를 추출하는 폰트 인식부에 텍스트 이미지를 전달하여 폰트를 인식하도록 한다. 이상의 과정을 통해 인식된 폰트 정보는 사용자에게 제공되어 사용자가 이미지에 포함된 텍스트가 어떠한 폰트로 작성되었는지를 확인할 수 있도록 한다.
또한, 본 실시예에서 폰트 인식 장치(100)의 인식 서비스는 웹상의 정보들을 캡쳐하거나 또는 크롤링 등의 방법을 통해 동적으로 수집하여 폰트를 인식하는 형태의 서버로 제공되는 것도 가능하다.
도 2를 참조하면, 폰트 인식 장치(100)는 직접 사용자의 의도적인 텍스트 이미지의 입력 대신 웹 페이지를 탐색하여 수집하는 것을 통해 웹 페이지에 포함된 다양한 텍스트 이미지들을 수집할 수 있다.
폰트는 특정한 모양의 서체를 컴퓨터 상에서 반복적이고 편리하게 편집 및 출력하도록 제작된 컴퓨터 상의 표현물로서 저작권상 보호가 가능하므로, 폰트 인식 장치(100)는 네트워크를 통해 수집한 텍스트 이미지를 통해 폰트를 자동으로 인식함으로써 사용된 폰트가 저작권의 범위에 따른 사용인지를 추가적으로 판단하여 사용자에게 제공할 수 있다.
따라서 이상의 기능을 수행하는 경우 폰트 인식 장치(100)의 이미지 입력부는 이미지를 직접 입력 받는 대신, 웹사이트를 임의로 방문하거나 이미지 검색 등을 통해 텍스트가 사용된 다양한 이미지를 수집할 수 있다. 이미지가 수집되면 폰트 인식부는 신경망(50)을 이용하여 수집된 이미지에 포함된 텍스트의 폰트를 인식하며, 폰트 사용 주체에게 허여 된 저작권의 범위와 사용 사례를 비교함으로써 저작권 위반 여부를 판단할 수 있다.
예를 들어, 수집된 이미지에 이용된 폰트가 특정 쇼핑몰과 같은 상업적인 목적으로 이용되는 것을 이미지의 출처로서 확인하고, 해당 폰트에 대한 저작권의 사용 주체에 대한 라이선스 사실이 없는 경우 이를 저작권 위반으로 판단할 수 있다.
이하, 도 3을 참고하여 본 실시예에 따른 신경망을 이용한 폰트 인식 방법에 대하여 설명한다.
먼저, 텍스트가 포함된 대상 텍스트 이미지를 입력 받는다(S100).
상술한 바와 같이 대상 텍스트 이미지는 적어도 하나의 문자를 포함하는 이미지로 폰트를 인식할 수 있도록 최소한의 길이를 만족하는 텍스트를 포함한다.
이때 텍스트 이미지의 입력을 위해서, 텍스트의 검출 과정을 학습된 신경망을 이용하여 수행하는 것도 가능하다.
즉, 전체 이미지에 대해서 텍스트가 존재하는 텍스트 영역을 검출하도록 학습된 신경망을 이용하여 전체 이미지 중에서 텍스트가 포함된 텍스트 이미지를 추출할 수 있다. 신경망은 텍스트와 텍스트 영역을 정의하는 경계선 또는 바운딩 박스 좌표(x,y,w,h) 정보를 출력하도록 학습될 수 있으며, 출력 결과에 따라 전체 이미지 내 해당하는 텍스트 영역을 잘라내는(크롭) 것으로 텍스트 이미지를 생성할 수 있다.
다음, 본 실시예에 따른 폰트 인식 방법은 입력된 인식 대상 텍스트 이미지의 종횡비에 따라 가로 또는 세로 크기를 기준 입력 크기로 리사이징한다.
본 실시예에서는 리사이징을 위해 텍스트 이미지의 크기 바람직하게는 텍스트 이미지의 종횡비에 따라 2가지 분류로 구분하고, 해당 분류에 따라 리사이징 크기를 조절한다.
이와 관련하여 도 4 및 5를 참고하면, 제1 분류로 텍스트 이미지가 가로 길이가 긴 경우에는 텍스트 이미지의 세로 길이를 기준 크기로 변경하되 종횡비가 유지되도록 리사이징 한다. 예를 들어 텍스트 '니가 참 좋아'라는 가로가 긴 텍스트의 경우 세로 길이를 224 픽셀에 맞추어 전체 종횡비가 유지되도록 리사이징 할 수 있다.
또는 제2 분류로 텍스트 이미지가 세로 길이가 긴 경우에는 도 5와 같이 텍스트 이미지의 길이를 가로 길이를 기준으로 크기를 변경할 수 있으며 이때, 종횡비는 원본 이미지의 비율이 유지되도록 리사이징 한다.
도 5의 경우 '새시대로'라는 세로가 긴 텍스트의 경우 가로 길이를 224픽셀에 맞추어 리사이징 한다.
이때 가로와 세로의 길이를 판단하는 기준은 추출된 텍스트 이미지의 2차원 평면 상의 가로 세로의 형태가 아닌 텍스트의 진행 순서가 가로로 진행되는 지 또는 세로로 진행되는 지를 기준으로 종류를 가로 쓰기와 세로 쓰기로 구분하고, 상대적으로 짧은 쪽의 길이를 기준 크기로 맞추도록 리사이징을 수행한다.
또한, 본 실시예에서 리사이징의 기준이 되는 기준 크기는 폰트를 인식하도록 학습된 신경망의 학습 데이터의 크기에 대응되도록 결정될 수 있다.
즉, 본 실시예에서 신경망은 추론 전 학습 과정에서 유사한 방식으로 학습 이미지의 종횡비에 따라 학습 이미지의 가로 또는 세로 크기를 기준 입력 크기로 리사이징 하여 학습을 수행할 수 있다. 나아가 신경망은 리사이징 후 가로 또는 세로 크기를 기준으로 리사이징된 이미지 중 한글자를 포함하는 단위 이미지를 임의로 추출하여 학습에 이용한다.
도 6을 참고하면, '니가 참 좋아'라는 텍스트가 포함된 1000픽셀x112픽셀 사이즈의 이미지를 추론 전 학습 이미지로 이용하는 경우 본 실시예에서 신경망은 텍스트 이미지의 세로 크기를 기준크기인 224픽셀로 리사이징한 이미지에 대하여 랜덤으로 학습의 단위가 되는 한글자 크기의 224픽셀x224픽셀 단위 이미지 '가'를 추출하여 학습에 이용한다.
이를 통해 텍스트 이미지 내 랜덤하게 추출된 한 글자 마다의 특징을 신경망이 추출하여 학습할 수 있도록 하며, 동일한 폰트의 경우 다양한 글자의 공통된 특징들이 강조될 수 있도록 내부 레이어의 필터들을 학습시킬 수 있다.
반면 학습과 달리 추론은 텍스트 전체가 인식 대상이기 때문에, 텍스트 전체에 대해서도 한 글자일때와 동일하게 폰트의 획 구성의 특징을 추출할 수 있도록 추론 대상 이미지를 전처리할 필요가 있다. 따라서, 본 실시예에 따른 폰트 인식 방법은 텍스트 이미지의 짧은 쪽을 기준 크기(예를 들어 224px)로 맞추도록 리사이징 함으로써 학습할 때의 텍스트 이미지 내 문자와 크기가 유사한 문자 들로 구성된 텍스트의 특징들을 추출할 수 있다.
이상 본 실시예에 따른 폰트 인식 방법은 폰트 인식(추론)을 위한 이미지의 적어도 가로 또는 세로 길이를 학습 이미지의 기준 입력 크기와 동일하도록 하여 학습에 이용된 필터들이 인식 과정에서도 동일하게 폰트의 특징들을 뽑아낼 수 있도록 한다.
이하, 도 7을 참조하여 본 실시예에 따른 신경망의 구조에 대하여 보다 상세히 설명한다.
도 7을 참조하면, 본 실시예에 따른 신경망은 입력된 이미지에 대하여 컨볼루션 연산을 통해 특징을 추출하는 컨볼루션 레이어(52), 추출된 특징맵에 대하여 채널별 특징을 대표하는 값을 추출하기 위한 풀링 레이어(54) 및 풀링 레이어의 출력을 통해 분류별 확률을 출하는 완전 연결 레이어(56)로 구성될 수 있다.
상술한 바와 같이 본 실시예에서는 학습 데이터의 이미지와 실제 추론을 위한 텍스트 이미지의 크기가 상이하나, 합성곱 연산의 경우 입력 데이터의 크기와 관계없이 필터들은 내부의 커널 사이즈에 따라 합성곱 연산을 수행하여 압축된 크기의 특징 정보를 추출할 수 있다.
다만, 최종 분류를 위해서는 완전 연결 레이어의 입력 노드의 크기에 따라 생성된 특징맵의 차원수를 조절 할 수 있다.
즉, 본 실시예에서 컨볼루션 레이어 내부의 필터들은 학습에 이용된 이미지의 크기를 정의하는 가로 또는 세로 크기 중 어느 하나가 일치하는 텍스트 이미지를 입력으로 컨볼루션 연산을 수행하므로, 추출된 특징 맵의 크기가 학습 과정의 출력에 비하여 클 수 있으므로 최종 분류를 위해서는 출력 값의 크기를 조절할 필요가 있다.
따라서 본 실시예에서는 컨볼루션 레이어와 분류를 수행하는 완전 연결 레이어 사이에 전역 평균 레이어(GAP, Global Average Pooling)레이어를 구성하고 이를 통해 컨볼루션 레이어에서 추출한 마지막 특징맵을 채널 별 특징맵을 단위로 하여 각 특징 맵의 평균 값으로 벡터화할 수 있다.
이를 통해 학습 과정에 비해 상대적으로 긴 텍스트 이미지를 입력하더라도, 신경망은 동일한 특징들을 강조하게 되며 여러 문자에서 추출된 특징을 평균하여 완전 연결 레이어로 전달하므로 더욱 정확한 폰트 인식 결과를 출력할 수 있게 된다.
또한, 본 실시예에서는 하나의 텍스트 이미지가 아닌 배치 단위의 텍스트 이미지 집합에 대한 추론도 가능하다.
이때에는 일관된 추론을 위해서 입력 데이터의 이미지 사이즈를 정규화할 필요가 있으며 상술한 바와 같이 이미지의 크기 중 가로 또는 세로의 길이를 학습에 이용된 기준 크기로 정규화한다.
즉, 배치단위로 추론을 하기 위해서는 입력 이미지들의 가로, 세로 사이즈를 배치 내에서 통일시킬 필요가 있다. 먼저 상술한 텍스트 이미지의 추론 때와 동일하게 각 이미지의 가로 또는 세로 길이 중 짧은 쪽을 기준으로 단위 길이로 길이를 맞추고 이미지를 리사이징 한다. 이어서, 단위 길이로 맞춰진 방향 외의 가로 또는 세로의 길이를 배치 내 이미지 중 길이가 가장 긴 이미지에 맞춰 나머지 이미지들의 여백을 패딩(padding)할 수 있다. 이때 채워지는 이미지의 여백은 텍스트의 배경 색 또는 텍스트 색상의 반전 색(예를 들어 정규화된 텍스트 배경의 검은색) 으로 설정하여, 폰트의 획의 특징에 영향을 최소화할 수 있다.
도 8을 참고하면, '니가 참 좋아'라는 텍스트 이미지와 '광안리'라는 텍스트를 추론하기 위해서 세로 길이를 단위 길이에 맞추어 리사이징을 수행하고, 상대적으로 길이가 짧은 '광안리' 텍스트 이미지의 경우 나머지 영역을 배경색에 해당하는 검은색으로 패딩 처리하여 배치 내 이미지들의 크기를 통일시킬 수 있다.
이상의 배치 단위의 추론 시에는 입력 이미지 크기를 모두 정규화함으로써 신경망에 입력하고, 결과를 출력하도록 한다.
나아가, 본 실시예에서 신경망은 다양한 폰트의 사용예에 대하여 강인한 성능을 갖도록 임의로 생성된 텍스트로 이미지부터 한글자 단위로 학습을 수행하되, 학습 결과를 이용하여 학습 데이터인 텍스트 이미지의 생성 조건을 동적으로 설정할 수 있도록 한다.
도 9를 참조하면, 생성된 학습 데이터 셋(92)에서 추출된 단위 이미지는 신경망(50)에 입력되고 신경망(50)은 폰트인식결과(96)를 출력한다. 신경망(50)은 폰트인식결과와 정답값 간의 오차를 줄이도록 신경망을 학습한다. 이때 신경망(50)은 학습 과정에서 내부의 레이어의 가중치를 변경하는 것 외에, 학습 데이터의 생성 조건을 동적으로 조절할 수 있다.
도 9의 생성된 텍스트 이미지(92) 내 텍스트 또는 배경에 부여되는 다양한 효과(글자색, 크기, 윤곽선, 두께, 위치 등)별 부여 확률이 존재하는데 이에 따른 확률을 학습 결과에 따라 조절함으로써 신경망의 학습 효과를 높일 수 있다.
이하, 도 10을 참고하여 본 실시예에 따른 폰트 인식 장치(100)에 대하여 보다 상세히 설명한다.
본 실시예에 따른 폰트 인식 장치(100)는 텍스트 입력부(110), 리사이징부(120), 폰트 출력부(130) 및 학습부(140)로 구성될 수 있다.
텍스트 입력부(110)는 추론하고자 하는 텍스트 이미지를 사용자로부터 입력 받거나, 또는 웹 탐색을 통해 텍스트가 사용된 다양한 웹 페이지의 이미지를 수집하여 입력 받을 수 있다.
다음 리사이징부(120)는 신경망의 입력을 위해 텍스트 이미지의 크기를 조절?다. 바람직하게는 신경망의 학습에 이용된 단위 이미지의 크기를 기준으로 텍스트 이미지를 조절함으로써 학습된 신경망 내부 레이어 들의 필터가 동일한 특징을 추출할 수 있도록 한다.
또한 리사이징부(120)는 배치 단위로 학습을 수행하는 경우 배치 내 텍스트 이미지들의 크기를 일치시키기 위하여 상대적으로 문자수가 적은 텍스트의 경우 공백을 검은색과 같은 영역으로 채워서 전체 이미지 사이즈를 조절한다.
이상의 과정을 통해 조절된 텍스트 이미지는 폰트 출력부(130)에 입력되고, 폰트 출력부(130)의 신경망은 텍스트 이미지에 포함된 폰트정보들을 추출하여 출력한다.
학습부(140)는 신경망을 학습 시키며, 상술한 추론 과정의 출력 결과에 대한 사용자 피드백을 수신하여 학습 시키는 것도 가능하다.
또한, 본 실시예에서 신경망은 학습 과정에서 학습 데이터의 생성에 필요한 조건 변수들을 설정함으로써 학습 효과를 더욱 높일 수 있다.
이상 본 발명에 따르면 다양한 사용예에 따른 폰트를 효과적으로 인식할 수 있다.
또한, 사용된 폰트의 색상이나 크기에 제약없이 효과적으로 폰트를 인식할 수 있다.
또한, 본 발명은 배치 단위로 추론이 가능하여 다양한 폰트 사용 예로부터 사용된 폰트를 효과적으로 판단할 수 있다.
또한, 본 발명은 인식된 폰트의 사용 주체 및 목적이 저작권 범위 내인지를 판단함으로써 무단 사용을 방지할 수 있다.
나아가, 여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시예들이 제어 모듈 자체로 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 씌여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리 모듈에 저장되고, 제어모듈에 의해 실행될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (1)

  1. 신경망을 이용한 폰트 인식 방법에 있어서,
    텍스트가 포함된 대상 텍스트 이미지를 입력 받는 단계;
    상기 입력된 대상 텍스트 이미지의 종횡비에 따라 가로 또는 세로 크기를 기준 입력 크기로 리사이징 하는 단계; 및
    상기 리사이징된 대상 텍스트 이미지를 학습된 신경망에 입력하고 상기 텍스트 이미지에 포함된 텍스트의 폰트를 출력하는 단계를 포함하고,
    상기 신경망은 텍스트에 배경을 합성하여 생성된 학습 이미지로부터 상기 기준 입력 크기의 단위 영역으로 추출된 단위 이미지로 학습된 것을 특징으로 하는 신경망을 이용한 폰트 인식 방법.
KR1020220001799A 2021-06-08 2022-01-05 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템 KR20220165635A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220001799A KR20220165635A (ko) 2021-06-08 2022-01-05 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템
US17/833,010 US20220392241A1 (en) 2021-06-08 2022-06-06 Font detection method and system using artificial intelligence-trained neural network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210074288A KR102349510B1 (ko) 2021-06-08 2021-06-08 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템
KR1020220001799A KR20220165635A (ko) 2021-06-08 2022-01-05 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210074288A Division KR102349510B1 (ko) 2021-06-08 2021-06-08 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템

Publications (1)

Publication Number Publication Date
KR20220165635A true KR20220165635A (ko) 2022-12-15

Family

ID=84285285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220001799A KR20220165635A (ko) 2021-06-08 2022-01-05 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템

Country Status (2)

Country Link
US (1) US20220392241A1 (ko)
KR (1) KR20220165635A (ko)

Also Published As

Publication number Publication date
US20220392241A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
CN111353512B (zh) 障碍物分类方法、装置、存储介质和计算机设备
KR101896357B1 (ko) 객체를 검출하는 방법, 디바이스 및 프로그램
US11442430B2 (en) Rapid packaging prototyping using machine learning
US20230086552A1 (en) Image processing method and apparatus, device, storage medium, and computer program product
CN110443140B (zh) 文本定位的方法、装置、计算机设备及存储介质
CN109117846B (zh) 一种图像处理方法、装置、电子设备和计算机可读介质
CN107729865A (zh) 一种手写体数学公式离线识别方法及系统
CN112101386B (zh) 文本检测方法、装置、计算机设备和存储介质
CN112926565B (zh) 图片文本的识别方法、系统、设备和存储介质
CN110807362A (zh) 一种图像检测方法、装置和计算机可读存储介质
CN111079374B (zh) 字体生成方法、装置和存储介质
CN111368638A (zh) 电子表格的创建方法、装置、计算机设备和存储介质
US20230025450A1 (en) Information processing apparatus and information processing method
CN111666937A (zh) 一种图像中的文本识别方法及系统
CN111353491A (zh) 一种文字方向确定方法、装置、设备及存储介质
CN112183494A (zh) 基于神经网络的文字识别方法、装置及存储介质
CN112926564A (zh) 图片分析方法、系统、计算机设备和计算机可读存储介质
CN116597466A (zh) 一种基于改进YOLOv5s的工程图纸文字检测识别方法及系统
KR102349510B1 (ko) 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템
CN111414913B (zh) 一种文字识别方法以及识别装置、电子设备
CN114092938A (zh) 图像的识别处理方法、装置、电子设备及存储介质
WO2024088269A1 (zh) 文字识别方法、装置、电子设备及介质
CN111709338B (zh) 一种用于表格检测的方法、装置及检测模型的训练方法
KR20220165635A (ko) 인공지능 기반의 학습된 신경망을 이용한 폰트 인식 방법 및 폰트 인식 시스템
KR102026280B1 (ko) 딥 러닝을 이용한 씬 텍스트 검출 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination