KR20220133913A - 디지털 이미지 처리 - Google Patents

디지털 이미지 처리 Download PDF

Info

Publication number
KR20220133913A
KR20220133913A KR1020227028488A KR20227028488A KR20220133913A KR 20220133913 A KR20220133913 A KR 20220133913A KR 1020227028488 A KR1020227028488 A KR 1020227028488A KR 20227028488 A KR20227028488 A KR 20227028488A KR 20220133913 A KR20220133913 A KR 20220133913A
Authority
KR
South Korea
Prior art keywords
format
digital image
text
strings
way
Prior art date
Application number
KR1020227028488A
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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20220133913A publication Critical patent/KR20220133913A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • 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/19Recognition using electronic means
    • G06V30/196Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
    • G06V30/1983Syntactic or structural pattern recognition, e.g. symbolic string 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/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • 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/20081Training; Learning
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

디지털 이미지를 처리하기 위한 컴퓨터-구현 방법이 제공된다. 상기 디지털 이미지는 하나 혹은 그 이상의 텍스트 셀들을 포함하고, 상기 하나 혹은 그 이상의 텍스트 셀들 각각은 문자열 및 경계 상자를 포함한다. 상기 방법은 제1 포맷으로 상기 디지털 이미지를 수신하는 단계를 포함하고, 상기 제1 포맷은 상기 하나 또는 그 이상의 텍스트 셀들의 문자열들 및 경계 상자들에 대한 액세스를 제공한다. 상기 방법은 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 미리 정의된 문자열 인코딩 방식에 따라 시각적 패턴으로 인코딩하고 상기 디지털 이미지를 제2 포맷으로 제공하는 단계를 더 포함한다. 상기 제2 포맷은 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열들의 시각적 패턴을 포함한다. 대응하는 시스템 및 관련 컴퓨터 프로그램 제품이 제공된다.

Description

디지털 이미지 처리
[0001] 본 발명은 디지털 이미지를 처리하기 위한 컴퓨터-구현 방법에 관한 것이다.
[0002] 본 발명은 또한 대응하는 시스템 및 대응하는 컴퓨터 프로그램 제품에 관한 것이다.
[0003] 빅데이터 시대에는, 디지털 이미지들을 비롯한 데이터 분석을 위한 전자문서들이 엄청나게 많다. 텍스트 프레젠테이션들은 종종 디지털 이미지의 일부를 포함하는데, 예를 들어, 사진이나 스캔들을 포함한다. "야생의 텍스트(text-in-the-wild)"가 예들이며, 야생의 텍스트는, 예를 들어, 도로 교통에서 STOP 표지판, 또는, 예를 들어, 스캐너로부터의, 비트맵 포맷으로 표현된 문서들에서 나타날 수 있는 텍스트 요소들이 될 수 있다.
[0004] 그러한 디지털 이미지들이 분석되고 및/또는 처리될 수 있는 많은 사용-사례들이 있다. 예를 들어, 머신 러닝(ML) 알고리즘들은 그러한 이미지들에 적용되어 복수의 작업들을 수행할 수 있다. 그러한 작업들에는 이미지 콘텐츠 분류, 이미지 분할, 이미지에서 객체 검출 등이 포함된다.
[0005] 따라서, 이미지 처리 및 이미지 분석을 위한 개선된 방법들이 일반적으로 필요하고, 특히 머신 러닝 애플리케이션들을 위한 개선된 방법들이 일반적으로 필요하다.
[0006] 일 실시 예에 따라, 본 발명은 디지털 이미지를 처리하기 위한 컴퓨터-구현 방법으로 구현되다. 상기 디지털 이미지는 하나 혹은 그 이상의 텍스트 셀들을 포함하고, 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열(a string) 및 경계 상자(a bounding box)를 포함한다. 상기 방법은 디지털 이미지를 제1 포맷으로 수신하는 단계를 포함하고, 상기 제1 포맷은 하나 혹은 그 이상의 텍스트 셀들의 문자열들(a strings) 및 경계 상자들(a bounding boxes)에 액세스를 제공한다. 상기 방법은 미리 정의된 문자열 인코딩 방식(a predefined string encoding scheme)에 따라 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 시각적 패턴들(visual patterns)로 인코딩하는 단계 및 상기 디지털 이미지를 제2 포맷으로 제공하는 단계를 포함한다. 상기 제2 포맷은 상기 하나 혹은 그 이상의 텍스트 셀들 문자열들의 시각적 패턴들을 포함한다.
[0007] 그러한 구현된 방법은 추가 또는 더 높은 수준의 특징들을 사용하여 제2 포맷의 디지털 이미지들의 시각적 패턴을 증강할 수 있다. 이것은 디지털 이미지의 처리 애플리케이션 또는 처리 알고리즘에 컨텍스트를 제공할 수 있으므로 처리 알고리즘 또는 처리 엔진의 성능을 각각 향상시킬 수 있다.
[0008] 일 실시 예에 따라, 상기 문자열 인코딩 방식은 문자열의 자연어 특징들을 인코딩하도록 구성된다. 그러한 자연어 특징들은 일반적으로 문자열의 자연어 모든 특징일 수 있다. 실시예들에 따라, 이것은 텍스트의 의미 또는 텍스트의 언어 특성을 포함할 수 있다.
[0009] 일 실시 예에 따라, 상기 컴퓨터-구현 방법은 상기 제2 포맷의 디지털 이미지로 디지털 이미지 처리 애플리케이션을 수행한다. 상기 이미지 처리 애플리케이션은 이미지 처리 애플리케이션의 성능을 향상시키기 위해 상기 제2 포맷의 이미지들의 시각적 패턴으로 인코딩된 정보를 사용할 수 있다.
[0010] 일 실시 예에 따라, 상기 컴퓨터-구현 방법은 상기 제2 포맷의 디지털 이미지로 디지털 이미지 처리 애플리케이션을 수행한다. 즉, 상기 이미지 처리 애플리케이션은 머신 러닝 애플리케이션으로 구현될 수 있다. 상기 머신 러닝 애플리케이션은 ML 알고리즘의 성능을 향상시키기 위해 상기 제2 포맷의 이미지들의 시각적 패턴으로 인코딩된 정보를 사용할 수 있다. 실시예들에 따라, 텍스트의 의미 또는 언어 특성은 ML 알고리즘이 성능을 높이는 데 도움이 될 수 있다. 각각의 성능 기준은 상기 머신 러닝 알고리즘의 각 작업에 따라 다를 수 있다. 분류 알고리즘의 경우에, 상기 ML 알고리즘은, 예를 들어, 분류 성능에서 더 강력하게 될 수 있다.
[0011] 일 실시 예에 따라, 상기 머신 러닝 애플리케이션은 심층 신경망 애플리케이션이다. 그러한 심층 신경망 애플리케이션은, 예를 들어, 컨볼루션 신경망 애플리케이션(convolutional neural network application)이고, 바람직한 방식으로 시각적 패턴에 의해 제공된 추가의 컨텍스트를 사용할 수 있다.
[0012] 일 실시 예에 따라, 상기 제1 포맷의 디지털 이미지 및 상기 제2 포맷의 디지털 이미지는 대응하는 경로 정보를 포함하는 경로들을 포함하고, 상기 경로 정보는 경로 좌표들을 포함한다.
[0013] 일 실시 예에 따라, 상기 문자열들을 인코딩하는 단계는 상기 문자열의 단어 임베딩(a word embedding)을 생성하는 단계 및 상기 문자열의 단어 임베딩에서 시각적 패턴을 생성하는 단계를 포함한다. 실시예들에 따라, 그러한 단어 임베딩은 상기 문자열의 단어들 또는 구들(words or phrases)을 실수들의 벡터들에 매핑한다. 단어 임베딩은 단어당 많은 차원들을 갖는 공간에서 훨씬 더 낮은 차원을 갖는 연속적인 벡터 공간으로의 수학적 임베딩을 포함할 수 있다.
[0014] 일 실시 예에 따라, 상기 미리 정의된 문자열 인코딩 방식은 상기 문자열의 디지트들의 백분율에 따라(in dependence) 문자열들을 인코딩하도록 구성된다. 이것은 상기 이미지 처리 애플리케이션, 특히 상기 머신 러닝 애플리케이션에 귀중한 컨텍스트와 정보를 제공할 수 있다.
[0015] 일 실시 예에 따라, 상기 방법은 만일 상기 문자열에서 캐릭터들의 미리 정의된 백분율이 디지트들이라면 상기 텍스트 셀의 경계 상자 내에서 제1 시각적 패턴을 적용하는 단계를 포함한다. 만일 상기 문자열에서 캐릭터들의 미리 정의된 백분율이 디지트들이 아니라면 상기 방법은 상기 텍스트 셀의 경계 상자 내에서 제2 시각적 패턴을 적용한다. 상기 제1 시각적 패턴은, 예를 들어, 수직 라인들을 포함하거나 구성될 수 있고, 상기 제2 시각적 패턴은 수평 라인들을 포함하거나 구성될 수 있으며 또는 제1 시각적 패턴이 수평 라인들을 포함하거나 구성될 수 있고 상기 제2 시각적 패턴이 수직 라인들을 포함하거나 구성될 수 있다. 이 것은 효율적인 인코딩 방식이다.
[0016] 다른 실시 예에 따라, 상기 방법은 만일 상기 문자열의 캐릭터들의 미리 정의된 백분율이 디지트들이라면 상기 텍스트 셀의 경계 상자를 제1 색상으로 채색하는 단계를 포함할 수 있고 만일 상기 문자열의 캐릭터들의 미리 정의된 백분율이 디지트들이 아니라면 상기 텍스트 셀의 경계 상자를 제2 색상으로 채색하는 단계를 포함할 수 있다. 이 것은 다른 효율적인 인코딩 방식이다.
[0017] 다른 실시 예에 따라, 디지털 이미지를 처리하기 위한 컴퓨터-구현 방법을 수행하기 위한 시스템이 제공된다. 상기 시스템은 프로세서 및 컴퓨터 판독가능 메모리를 포함한다. 상기 시스템은 제1 포맷으로 상기 디지털 이미지를 수신하는 단계를 포함하는 방법을 수행하도록 구성되고, 상기 제1 포맷은 상기 하나 또는 그 이상의 텍스트 셀들의 문자열들 및 경계 상자들에 대한 액세스를 제공한다. 상기 시스템은 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 미리 정의된 문자열 인코딩 방식에 따라 시각적 패턴으로 인코딩하는 단계 및 상기 디지털 이미지를 제2 포맷으로 제공하는 단계를 포함하는 방법을 수행하도록 더 구성된다. 상기 제2 포맷은 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열들의 시각적 패턴을 포함한다.
[0018] 다른 실시 예에 따라, 프로세서 및 컴퓨터 판독가능 메모리를 포함하는 시스템에 의한 디지털 이미지를 처리하기 위한 컴퓨터 프로그램 제품이 제공된다. 상기 디지털 이미지는 하나 혹은 그 이상의 텍스트 셀들을 포함하고, 상기 하나 혹은 그 이상의 텍스트 셀들 각각은 문자열 및 경계 상자를 포함한다. 상기 컴퓨터 프로그램 제품은 구현된 프로그램 명령들을 갖는 컴퓨터 판독가능 스토리지 매체를 포함하고, 상기 프로그램 명령들은 상기 시스템에 의해 실행 가능하고, 상기 시스템이 방법을 수행하게 하며, 상기 방법은 디지털 이미지를 제1 포맷으로 수신하는 단계를 포함한다. 상기 제1 포맷은 하나 혹은 그 이상의 텍스트 셀들의 문자열들(a strings) 및 경계 상자들(a bounding boxes)에 액세스를 제공한다. 상기 방법은 미리 정의된 문자열 인코딩 방식(a predefined string encoding scheme)에 따라 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 시각적 패턴들(visual patterns)로 인코딩하는 단계 및 상기 디지털 이미지를 제2 포맷으로 제공하는 단계를 더 포함한다. 상기 제2 포맷은 상기 하나 혹은 그 이상의 텍스트 셀들 문자열들의 시각적 패턴들을 포함한다.
[0019] 추가 실시예들은 머신 러닝 애플리케이션을 훈련하기 위한 컴퓨터 구현 방법, 머신 러닝 애플리케이션을 위한 인지 모델 및 상기 인지 모델을 사용하여 디지털 이미지를 처리하기 위한 컴퓨터 구현 방법에 관한 것이다.
[0020] 본 발명의 실시예들은 첨부 도면들을 참조하여 예시적이고 비제한적인 실시예에 의해 이하에서 더 상세하게 설명될 것이다.
[0021] 도 1은 본 발명의 일 실시예에 따른 디지털 이미지를 처리하기 위한 컴퓨터-구현 방법을 도시한다;
[0022] 도 2a는 도 1에 예시된 방법의 대응하는 플로차트를 도시한다;
[0023] 2b는 본 발명의 실시예에 따른 인지 모델을 훈련하기 위한 방법의 플로차트를 도시한다;
[0024] 도 2c는 본 발명의 일 실시예에 따른 머신 러닝 애플리케이션을 수행하기 위한 방법의 플로차트를 도시한다;
[0025] 도 3은 도 1, 2a, 2b 및 2c에 예시된 컴퓨터-구현 방법들을 수행하는 데 사용될 수 있는 컴퓨팅 시스템의 개략적인 블록도를 도시한다;
[0026] 도 4는 본 발명의 일 실시예에 따른 디지털 이미지 처리 시스템을 도시하고; 도 5a는 제1 포맷의 디지털 이미지의 예를 도시한다;
[0027] 도 5b는 도 5a의 디지털 이미지의 수집된 프로그램 정보를 포함하는 페이지 파일을 보여준다;
[0028] 도 5c는 제2 포맷의 디지털 이미지의 예를 도시한다;
[0029] 도 6a는 제1 포맷의 디지털 이미지의 예를 도시한다;
[0030] 도 6b는 제2 포맷의 디지털 이미지의 예를 도시한다;
[0031] 도 7a는 제1 포맷의 디지털 이미지의 다른 예를 도시한다;
[0032] 도 7b는 제2 포맷의 디지털 이미지의 다른 예를 도시한다;
[0033] 도 8a는 제1 포맷의 디지털 이미지의 다른 예를 도시한다;
[0034] 도 8b는 제2 포맷의 디지털 이미지의 다른 예를 도시한다;
[0035] 도 8c는 테이블의 검출을 위한 시각적 인코딩의 적용을 예시하는 디지털 이미지를 도시한다;
[0036] 도 8d는 테이블의 검출을 위한 시각적 인코딩의 적용을 또한 예시하는 디지털 이미지를 도시한다;
[0037] 도 9a는 제1 포맷의 디지털 이미지의 다른 예를 도시한다;
[0038] 도 9b는 대응하는 제2 포맷의 디지털 이미지의 예를 도시한다; 및
[0039] 도 10은 도 3의 서버의 보다 상세한 실시예를 나타낸다.
[0040] 도 1-10을 참조하여, 본 발명의 실시예들의 일부 일반적인 용어들에 관하여 설명한다.
[0041] 프로그램 문서(A programmatic document)는 기본 구성 요소들(the fundamental components)이 코드에 의해 표현된 문서로 정의될 수 있다. 그러한 프로그램 문서들에는, 예를 들어, PDF(Portable Document Format) 또는 Microsoft-Word 포맷의 문서가 포함된다. 프로그램 문서는 일반적으로 프로그램, 일정 또는 방법(a program, schedule, or method)의 성격을 띠거나 또는 그에 따른 문서로 정의될 수 있다.
[0042] 비트맵 문서들(Bitmap documents), 예를 들어, 스캔된 문서들은, 기본 구성 요소들이 색상 픽셀들에 의해 이미지로 표현되는 문서들이다. 여기에는, 예를 들어, Portable Networks Graphic(png), Joint Photographics Expert Group(JPEG) 또는 Tagged Image File Format(TIFF) 포맷의 문서를 포함한다.
[0043] 실측 자료(ground truth)라는 용어는 일반적으로 추론에 의해 제공되는 정보와 달리 직접 관찰에 의해 제공되는 정보(즉, 경험적 증거)를 의미할 수 있다. 영상분할 및 영상분석(image segmentation and image analysis) 분야에서, 실측 자료는 특히 개별 심볼들(the individual symbols), 예를 들어, 캐릭터들(the characters), 뿐만 아니라 단어들, 단락들 또는 제목들 및 경로들 및 비트맵 자원들에 관한 정보와 같은 기타 배치 정보(layout information)를 포함하는 텍스트 셀들(text cells)의 정확한 식별, 위치, 크기, 및 좌표들(the correct identity, position, size and coordinates)을 의미할 수 있다.
[0044] 텍스트 셀들의 위치와 배치는 경계 상자들(bounding boxes)로 나타낼 수 있다. 일반적으로 경계 상자들은 각 전자 이미지의 개별 캐릭터들의 캐릭터 경계 상자들일 수 있지만, 본 발명의 실시예에 따라, 경계 상자라는 용어는 특히 더 글로벌한 경계 상자들 또는 다른 말로 처리될 문서 배치의 배치 경계 상자들을 의미할 수 있다. 여기에는 특히 디지털 이미지들의 단어들, 단락들, 제목들 또는 각주들을 포함하는 텍스트 셀들을 구분하는(demarcate) 경계 상자들이 포함된다.
[0045] 도 1은 본 발명의 실시예에 따른 디지털 이미지들을 처리하기 위한 컴퓨터-구현 방법을 예시한다. 도 2a는 도 1에 예시된 방법의 대응하는 플로차트를 나타내고, 도 3은 도 1 및 2a에 예시된 컴퓨터-구현 방법을 수행하는 데 사용될 수 있는 컴퓨팅 시스템의 개략적인 블록도를 나타낸다.
[0046] 먼저 도 3을 참조하면, 머신 러닝 애플리케이션 프로그램(machine learning application program)(MLAP)(311), 및 상기 애플리케이션 프로그램을 훈련시키기 위한 머신 러닝 훈련 프로그램(machine learning training program)(MLTP)(312)을 실행하도록 구성된 서버(310)를 포함하는 컴퓨팅 시스템(300)을 도시한다. 머신 러닝 애플리케이션(311)은 특히 이미지 처리를 위한 프로그램일 수 있다.
[0047] 서버(310)는 데이터베이스(320)와 결합된다. 데이터베이스(320)는 복수의 입력 문서들, 특히 제1 포맷의 복수의 디지털 이미지들을 저장하기 위한 스토리지(321)를 포함할 수 있다. 데이터베이스(320)는 제1 포맷의 디지털 이미지들로부터 변환된 제2 포맷의 복수의 디지털 이미지들을 저장하기 위한 스토리지(322)를 더 포함할 수 있다.
[0048] 서버(310)는 NLFEP(자연어 특징 인코딩 프로그램)(313)를 실행하도록 더 구성된다. 자연어 특징 인코딩 프로그램(313)은 제1 포맷의 디지털 이미지들을 제2 포맷의 디지털 이미지들로 변환 또는 변환하도록 구성된다. 이것은 아래에서 더 상세히 설명되는 바와 같이 미리 정의된 문자열들의 인코딩 방식들에 따라 시각적 패턴으로서 제1 포맷의 디지털 이미지의 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 인코딩하는 것을 포함한다.
[0049] 시스템(300)은 스캐닝 머신(330)을 더 포함한다. 스캐닝 머신(330)은 프린팅 기능뿐만 아니라 스캐닝 기능을 제공할 수 있다. 따라서 상기 스캐닝 머신(330)은 또한 스캐닝/프린팅 머신으로도 표시될 수 있다. 시스템(300)은 사용자 디바이스(340)를 더 포함한다. 사용자 디바이스(340)는 시스템(300)의 사용자에게 사용자 인터페이스를 제공하기 위해 디스플레이 및 키보드와 같은 사용자 입력 수단을 포함할 수 있다. 사용자 디바이스(340)는 특히 애플리케이션 프로그래밍 인터페이스(application programming interface)(API)(341)를 포함할 수 있으며, 상기 API는 서버(310) 상에서 실행되는 프로그램들(311, 312 및 313)로 인터페이스를 제공하도록 구성된다.
[0050] 서버(310), 스캐닝 머신(330) 및 사용자 디바이스(340)는 네트워크(350)에 결합되고 네트워크(350)를 통해 서로 통신할 수 있다. 네트워크(350)는 LAN(근거리 통신망), 일반적인 WAN(광역 통신망) 및/또는 공용 네트워크(예를 들어, 인터넷)로 구현될 수 있다.
[0051] 이제 도 1 및 2a를 참조하면, 상기 방법은 블록(201)에서 시작한다. 블록(201)에서, 제1 포맷의 입력 문서들의 세트(110)가 제공된다. 입력 문서들의 세트(110)는 특히 제1 포맷의 디지털 이미지들의 세트로서 구현될 수 있다. 입력 문서들의 세트는 데이터베이스(320)의 스토리지(321)에 저장될 수 있고 입력 문서들의 세트(110)는, 예를 들어, 네트워크(350)를 통해 수신될 수 있다.
[0052] 도 1에서는 설명의 편의를 위해 하나의 입력 문서(110)만 표시된다. 도 1에 표시된 입력 문서는 멀티-페이지 문서로 구현되어 있지만, 입력 문서는 일반적으로 단일 페이지 문서, 즉, 단일-페이지 디지털 이미지일 수도 있다. 도 1의 예에서, 입력 문서(110)는 3개의 문서 페이지들(110a, 110b, 및 110c)를 포함하고, 보다 구체적으로 3개의 디지털 이미지들(110a, 110b, 및 110c)을 포함한다. 디지털 이미지들(110a, 110b, 및 110c) 각각은 하나 혹은 그 이상의 텍스트 셀들을 포함하고 하나 혹은 그 이상의 텍스트 셀들 각각은 문자열 및 경계 상자를 포함한다.
[0053] 입력 문서(110)는 제1 포맷으로 제공된다. 실시예들에 따르면, 제1 포맷은 프로그램 데이터 포맷(a programmatic data format)일 수 있다. 위에서 언급한 바와 같이, 이러한 프로그램 데이터 포맷은 입력 문서(110)의 기본 구성요소들(the fundamental components), 특히 텍스트 셀들 및 경로들(the text cells and paths)과 같은 입력 문서(110)의 미리 정의된 항목들을 나타내거나 정의하는, 코드를 포함하는 데이터 포맷으로 정의될 수 있다. 상기 제1 포맷은, 예를 들어, 제1 포맷의 문서들을 파싱(parsing)함에 의해서, 하나 혹은 그 이상의 텍스트 셀들의 문자열들과 경계 상자들에 대한 액세스를 제공하는 포맷이다.
[0054] 실시예들에 따라, 상기 제1 포맷은 특히 이동형 문서 포맷-기준(Portable Document Format-standard), 특히 국제 표준 협회(International Standard Association)의 ISO 32000-X 표준의 모든 버전에 따른 포맷일 수 있다. 다른 실시예들에 따르면, 상기 제1 포맷은 자바 스크립트 객체 알림 데이터 교환 포맷(Java Script Object Notification Data Interchange Format)에 따른 포맷일 수 있고, 특히 Douglas Crockford에 의한 스펙들 중 어느 하나, 예를 들어 RFC 8259, 또는 ECMA에 의한 스펙들 중 어느 하나, 예를 들어, ECMA 404, 또는 국제 표준 협회에 의한 스펙들 중 어느 하나, 예를 들어, ISO/IEC 21778:2017에 따른 포맷일 수 있다. 또 다른 실시예들에 따르면, 상기 제1 포맷은 Worldwide Web Consortium에 의해서 개발되고, 특히 ISO/IEC 15445, W3C HTML 5, 3C HTML 4.0, W3C HTML 3.2 또는 모든 추가 버전들에 의해 표준화된 Hypertext Markup Language에 따른 포맷일 수 있다. 또 다른 실시예들에 따르면, 상기 제1 포맷은 YAML Ain't Markup Language에 따른 포맷일 수 있다.
[0055] 블록(202)에서, 입력 문서(110)는, 예를 들어, 머신 러닝 응용 프로그램(311) 또는 전-처리 프로그램에 의해, 개별 문서 페이지들(110a, 110b 및 110c)로 분할된다.
[0056] 블록(203)에서, 머신 러닝 애플리케이션 프로그램(311)은 제1 포맷의 개별 문서 페이지들(110a, 110b, 및 110c)을 파싱한다. 이것은 개별 디지털 이미지들(110a, 110b, 및 110c) 각각에서 미리 정의된 항목들 세트를 식별하는 단계, 특히 그들의 경계 상자들 및 문자열들로 하나 혹은 그 이상의 텍스트 셀들을 식별하는 단계를 포함한다. 상기 파싱의 결과는 문서들(130a, 130b, 및 130c)에 제공되거나 수집될 수 있다.
[0057] 블록(204)에서, 자연어 특징 인코딩 프로그램(313)은 파싱 블록(203)에서 식별된 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 미리 정의된 문자열 인코딩 방식에 따라 시각적 패턴으로 인코딩한다. 그 다음, 상기 시각적 패턴들은 상기 대응하는 텍스트 셀들의 대응하는 경계 상자들의 위치에서의 디지털 이미지들에 추가될 수 있다. 실시예들에 따라, 상기 하나 혹은 그 이상의 텍스트 셀들의 경계 상자들은 상기 대응하는 문자열들의 시각적 패턴들로 증강될 수 있다. 실시예들에 따라, 자연어 특징 인코딩 프로그램(313)은 하나 혹은 그 이상의 텍스트 셀들의 경계 상자들 상에 시각적 패턴들을 중첩할 수 있다(superimpose).
[0058] 시각적 패턴들이 있는 상기 디지털 이미지들은, 추가 처리를 위해, 블록(205)(도 2a 참조)에서, 제공되는 제2 포맷의 디지털 이미지들(140a, 140b, 및 140c)을 설정하거나 형성한다.
[0059] 상기 제2 포맷의 디지털 이미지들(140a, 140b, 및 140c)은, 예를 들어, 데이터베이스(320)의 스토리지(322)에 저장될 수 있다.
[0060] 이제 도 2b를 참조하면, 디지털 이미지 처리를 위한 머신 러닝 애플리케이션 프로그램을 훈련하기 위한 컴퓨터-구현 방법이 표시된다. 도 2b에 도시된 방법은, 예를 들어, 도 3에 도시된 바와 같이 머신 러닝 훈련 프로그램(312)에 의해 수행된다.
[0061] 블록(211)에서, 예를 들어, 머신 러닝 훈련 프로그램(312)에 의해, 훈련 데이터 세트가 수신된다. 훈련 데이터 세트는 제2 포맷의 디지털 이미지들을 포함한다.
[0062] 블록(212)에서, 머신 러닝 훈련 프로그램(312)은 훈련 데이터 세트로 머신 러닝 애플리케이션 프로그램(311)의 인지 모델을 훈련한다.
[0063] 블록(213)에서, 머신 러닝 훈련 프로그램(312)은 훈련된 인지 모델을 출력으로서 제공한다.
[0064] 이제 도 2c를 참조하면, 머신 러닝 애플리케이션을 수행하기 위한 컴퓨터-구현 방법(220)이 제공된다. 방법은 예를 들어, 도 3에 도시된 바와 같이 머신 러닝 애플리케이션 프로그램(311)에 의해 수행될 수 있다. 머신 러닝 애플리케이션은 특히 심층 신경망 애플리케이션일 수 있다.
[0065] 블록(221)에서, 머신 러닝 애플리케이션 프로그램(311)은 제2 포맷의 디지털 이미지들을 수신한다.
[0066] 블록(222)에서, 머신 러닝 애플리케이션 프로그램(311)은 머신 러닝 애플리케이션을 수행하는데, 예를 들어, 도 1에 도시된 바와 같이 제2 포맷의 디지털 이미지들(140a, 140b, 및 140c)로 수행하기 위해 훈련된 인지 모델을 사용한다.
[0067] 블록(223)에서, 머신 러닝 애플리케이션 프로그램(311)은 상기 머신 러닝 애플리케이션의 결과들을 출력으로 제공하는데, 예를 들어, 상기 수신된 디지털 이미지들 또는 상기 수신된 입력에서 검출된 객체들의 분류(150a-150c)를 출력으로 제공한다.
[0068] 도 2c에 도시된 바와 같은 컴퓨터-구현 방법(220)은 머신 러닝 애플리케이션 및 그 기본 알고리즘의 추론 단계(an inference phase)를 설정한다.
[0069] 이제 도 4를 참조하면, 본 발명의 실시예에 따른 디지털 이미지 처리 시스템(400)이 도시되어 있다. 디지털 이미지 처리 시스템(400)은 입력으로서 디지털 이미지들을 수신하고, 상기 디지털 입력 이미지들을 처리하며, 출력으로서 디지털 출력 이미지들을 제공한다. 상기 디지털 입력 이미지들은 특히 하나 혹은 그 이상의 텍스트 셀들을 포함하는 이미지들이며, 상기 하나 혹은 그 이상의 텍스트 셀들 각각은 문자열 및 경계 상자를 포함한다(encompass). 상기 디지털 입력 이미지들은 제1 포맷으로 수신되고, 특히, 상기 텍스트 셀들과 그 문자열들 및 경계 상자들에 대한 액세스를 제공하는, 프로그램 포맷으로 수신된다.
[0070] 디지털 이미지 처리 시스템(400)은 미리 정의된 문자열 인코딩 방식에 따라 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 시각적 패턴으로 인코딩하도록 구성된 자연어 특징(NLF) 인코더(410)를 포함한다. 그러한 인코딩은 제1 포맷의 디지털 이미지들을 제2 포맷의 디지털 이미지들로 변환하거나 전환한다.
[0071] 디지털 이미지 처리 시스템(400)은 제2 포맷의 디지털 이미지에 관해 또는 그와 함께 머신 러닝 애플리케이션 프로그램(MLAP)을 수행하도록 구성된 머신 러닝 애플리케이션 유닛(420)을 더 포함한다. 머신 러닝 애플리케이션 유닛(420)은 출력 이미지들을 출력으로 제공한다.
[0072] 상기 제1 포맷의 디지털 이미지 및 상기 제2 포맷의 디지털 이미지는 경로 정보(path information)를 포함하는 경로들을 포함할 수 있다. 경로 정보는 경로 좌표들을 포함할 수 있다.
[0073] 도 5a는 제1 포맷의 디지털 이미지(500)의 예, 특히 PDF-포맷과 같은 프로그램 포맷일 수 있는 예를 도시한다. 디지털 이미지(500)는 3개의 텍스트 셀들(511, 512, 및 513)을 포함한다. 텍스트 셀(511)은 예시적인 텍스트 또는 문자열 "문자열 1" 뿐만 아니라 좌측 하단 모서리의 좌표(x0, y0) 및 우측 상단 모서리의 좌표(x1, y1)에 의해 정의된 경계 상자를 포함한다. 예를 들어, 좌표들이 디지털 이미지(500)의 왼쪽 하단 모서리에 원점이 있는 x-y 좌표 시스템에 관하여 정의될 수 있다. 뿐만 아니라, 텍스트 셀(512)은 예시적인 텍스트 또는 문자열 "문자열 2"를 포함하고 텍스트 셀(513)은 예시적인 텍스트 또는 문자열 "문자열 3"을 포함한다. 추가로, 두 텍스트 셀들(512, 513)은 왼쪽 하단 모서리의 좌표(x0, y0)와 오른쪽 상단 모서리의 좌표(x1, y1)로 정의된 대응하는 경계 상자들에 의해 정의된다. 설명의 편의를 위해 경계 상자들의 좌표는 일반적으로 왼쪽 아래 모서리에 대해 (x0, y0)으로, 오른쪽 위 모서리에 대해 (x1, y1)으로 나타내며, 여기서 변수들 x0, y0, x1 및 y1은 다른 경계 상자들에 대해서는 다른 실제 값들을 나타낸다.
[0074] 상기 텍스트 셀들에 추가하여 페이지(500)는 경로(520)를 포함한다. 경로(520)는 3개의 직선 라인들(521, 522, 및 523)을 포함한다. 직선 라인(521)은 직선 라인(521)의 시작점과 끝점을 나타내는 좌표(x0, y0)와 (x1, y1)에 의해 정의되며, 직선 라인(522)은 직선 라인(522)의 시작점과 끝점을 나타내는 좌표 (x1, y1) 및 (x2, y2)에 의해 정의되고, 직선 라인(523)은 라인(523)의 시작점과 끝점을 나타내는 좌표 (x2, y2) 및 (x3, y3)에 의해 정의된다. 개별 문서 페이지(500)는 도 5에 도시되지 않은 그림들 및 배경과 같은 많은 다른 요소들을 포함할 수 있음을 유의해야 합니다.
[0075] 실시예들에 따라, 상기 컴퓨터-구현 방법은 텍스트 셀들(511, 512, 및 513)의 프로그램 정보와 경로(520)의 정보를 도 5b에 도시된 바와 같이 페이지 파일(550)로 수집할 수 있다. 그러한 페이지 파일(550)은 또한 실시예들에 따라 제1 포맷으로도 사용될 수 있다. 페이지 파일(550)은 도 5a의 디지털 이미지(500)의 파싱된 버전에 대응한다. 이 예에서, 개별 페이지 파일(550)은 4개의 라인들(551-554)을 포함하고, 각각은 도 5a의 미리 정의된 항목들 중 하나에 관한 텍스트 정보를 포함한다.
[0076] 일반적으로, 페이지 파일을 정의하는 데 적절한 신택스(syntax)가 사용될 수 있다. 이 예에서, 문자열 "텍스트 셀"은: 텍스트 셀의 파라미터들이 후속 대괄호들(subsequent rectangular brackets) 내에 주어진다고 정의한다. 상기 대괄호들은 상기 텍스트 셀의 결합 상자의 왼쪽 아래 및 오른쪽 위 모서리의 위치를 포함하는데, 각각의 위치는 둥근 괄호들 안에 있고, 문자열 "text=" 다음에 괄호들 내에 텍스트가 온다. 텍스트 셀들(511, 512 및 513)에 대한 대응하는 예들이 라인들(551, 552 및 553)에 각각 제공된다.
[0077] 또한, 문자열 "경로:"는 경로의 파라미터들이 후속 대괄호들 내에 주어짐을 정의한다. 상기 대괄호들은 연결 지점들 또는 경로의 교차점들 위치를 포함하고, 문자열 "색상=" 다음에 색상이 오고, 문자열 "폭=" 다음에 경로 폭이 온다.
[0078] 경로(520)에 대한 대응하는 예가 라인(554)에 제공된다.
[0079] 위에 주어진 예시적인 포맷은 제1 포맷의 디지털 이미지들의 파싱되고 식별된 항목들을 정의하기 위해 복수의 추가 또는 다른 신택스 요소들을 포함할 수 있음을 주목해야 한다.
[0080] 실시예들에 따라, 자바 스크립트 객체 알림 데이터 교환 포맷(JSON-Format)이 제1 포맷으로 사용될 수 있다. 그러한 실시예에 따라, Douglas Crockford에 의한 JSON-포맷의 스펙들, 예를 들어, RFC 8259 또는 ECMA의 JSON -포맷 스펙들, 예를 들어, ECMA 404 또는 국제 표준 협회(International Standards Association)의 JSON-포맷 스펙들, 예를 들어, ISO/IEC 21778:2017가 사용될 수 있다. 다른 실시예에 따라, 월드와이드 웹 컨소시엄에 의해 개발되고 특히 ISO/IEC 15445, W3C HTML 5, 3C HTML 4.0, W3C HTML 3.2 또는 모든 추가 버전들에 의해 표준화된 하이퍼텍스트 마크업 언어(the Hypertext Markup Language)가 제1 포맷을 위해 사용될 수 있다. 또 다른 실시예에 따르면, YAML Ain't Markup Language가 제1 포맷으로 사용될 수 있다.
[0081] 도 5c는 제2 포맷의 디지털 이미지(570)의 예를 예시한다. 자연어 특징 인코딩 프로그램(313)은 미리 정의된 문자열 인코딩 방식에 따라 텍스트 셀들(511, 512, 및 513)의 문자열들을 시각적 패턴으로 인코딩하였다. 이 실시예에 따른 문자열 인코딩 방식은 문자열의 내용에 따라 제1 시각적 패턴 수직 라인들로서 그리고 제2 시각적 패턴 수평 라인들로서 적용된다. 예로서, 만일 상기 문자열 내의 캐릭터들의 미리 정의된 백분율이 디지트들이라면 수직 패턴이 적용될 수 있고 만일 그렇지 않다면 수평 패턴이 적용될 수 있으며, 그 반대의 경우도 적용될 수 있다. 이 예에서는 문자열들 "문자열 1" 및 "문자열 3"이 미리 정의된 숫자들 백분율 이상을, 예를 들어 50% 이상의 디지트들을 포함하고, 문자열 "문자열 2"는 사전 정의된 백분율 미만의, 예를 들어, 50% 미만의 디지트들을 포함한다고 가정한다.
[0082] 도 6a는 제1 포맷의 디지털 이미지(610)의 다른 예를 나타낸다. 디지털 이미지(610)는 복수의 디지트들을 갖는 테이블과 좌측 하단 모서리의 좌표(x0, y0) 및 우측 상단 모서리의 좌표(x1, y1)에 의해 정의되는 대응하는 경계 상자를 포함하는 텍스트 셀(611)을 포함한다. 상기 좌표들은, 예를 들어, 디지털 이미지(500)의 왼쪽 하단 모서리에 원점이 있는 x-y 좌표 시스템과 관련하여 정의될 수 있다. 뿐만 아니라, 상기 디지털 이미지는 "Hello world, how are you today?"라는 문자열을 포함하는 텍스트 셀(612) 및 대응하는 경계 상자를 포함한다.
[0083] 도 6b는 제2 포맷의 대응하는 디지털 이미지(620)의 예를 도시한다. 자연어 특징 인코딩 프로그램(313)은 텍스트 셀들(611 및 612)의 문자열들을 미리 정의된 문자열 인코딩 방식에 따라 시각적 패턴으로 인코딩하였다. 이 실시예에 따른 문자열 인코딩 방식은 문자열의 내용에 따라 제1 시각적 패턴 수직 라인들로서 그리고 제2 시각적 패턴 수평 라인들로서 적용된다. 보다 구체적으로, 만일 각 텍스트 상자들의 캐릭터자들 중 50% 이상이 디지트들이라면 수직 패턴이 적용되고 만일 그렇지 않다면 수평 패턴이 적용된다. 따라서, 텍스트 상자(611)는 수평 라인들 패턴으로 채워지고 텍스트 상자(612)는 수직 라인들 패턴으로 채워진다. 실시예들에 따라, 텍스트 셀(611)은 상기 테이블의 개별 셀들을 포함하는 복수의 서브-셀들로 분할될 수 있고, 상기 문자열 인코딩 방식은 각 서브-셀에 개별적으로 분리적으로 적용될 수 있다.
[0084] 도 7a는 제1 포맷의 디지털 이미지(710)의 다른 예를 나타낸다. 디지털 이미지(710)는 복수의 디지트들을 갖는 테이블과 좌측 하단 모서리의 좌표(x0, y0) 및 우측 상단 모서리의 좌표(x1, y1)에 의해 정의된 대응하는 경계 상자를 포함하는 텍스트 셀(711)을 포함한다. 뿐만 아니라, 디지털 이미지(710)는 "Hello world, how are you today?"라는 문자열을 포함하는 텍스트 셀(712) 및 대응하는 경계 상자를 포함한다.
[0085] 도 7b는 제2 포맷의 디지털 이미지(720)의 예를 도시한다. 자연어 특징 인코딩 프로그램(313)은 텍스트 셀들(711 및 712)의 문자열들을 미리 정의된 문자열 인코딩 방식에 따라 시각적 패턴으로 인코딩하였다. 이 실시예에 따른 상기 문자열 인코딩 방식은 만일 상기 문자열들 내의 캐릭터들의 미리 정의된 백분율이 디지트들이라면 제1 색상으로 각 텍스트 셀의 경계 상자를 채색한다(color). 그렇지 않으면 제2 색상으로 상기 텍스트 셀의 경계 상자를 채색한다.
[0086] 이 예에서 자연어 특징 인코딩 프로그램(313)은 텍스트 상자(711)의 굵은 프레임으로 표시된 제1 색상인 적색으로 텍스트 상자(711)를 채색하고, 텍스트 상자(712)의 비교적 작은 프레임(텍스트 상자 711의 프레임보다 작음)에 의해 표시되는 흑색으로 텍스트 상자(712)를 채색한다.
[0087] 실시예들에 따라, 상기 문자열 인코딩 방식은 도 7b에 도시된 바와 같은 표현에 대응하는 서로 다른 색상들 대신에 경계 상자들의 서로 다른 프레임 두께들을 사용할 수 있다.
[0088] 도 8a는 제1 포맷의 대응하는 디지털 이미지(810)의 다른 예를 도시한다. 디지털 이미지(810)는 복수의 서브-셀들을 갖는 테이블을 포함하는 텍스트 셀(811)을 포함하고, 상기 서브-셀들은 알파벳 캐릭터들 및 디지트들을 포함하는 다양한 캐릭터들들을 포함할 수 있다.
[0089] 뿐만 아니라, 상기 디지털 이미지는 "Hello world, how are you today?"라는 문자열을 포함하는 텍스트 셀(812) 및 대응하는 경계 상자를 포함한다.
[0090] 도 8b는 제2 포맷의 디지털 이미지(820)의 예를 도시한다. 자연어 특징 인코딩 프로그램(313)은 텍스트 셀들(811 및 812)의 문자열들을 미리 정의된 문자열 인코딩 방식에 따라 시각적 패턴으로 인코딩하였다. 이 실시예에 따라, 상기 문자열 인코딩 방식은 테이블(811)의 각 개별 서브-셀에 개별적으로 적용된다. 이 실시예에 따른 상기 문자열 인코딩 방식은 상기 서브 셀들의 문자열 내용에 따라 제1 시각적 패턴 수직 라인들로서 그리고 제2 시각적 패턴 수평 라인들로서 적용된다. 보다 구체적으로, 수직 패턴은 만일 각 서브-셀 내의 캐릭터들 중 50% 이상이 디지트들이면 적용되고 만일 그렇지 않으면 수평 패턴이 적용된다. 따라서, 알파벳 캐릭터들을 포함하는 상단 행 및 왼쪽 열의 서브-셀들은 수평 패턴을 포함하고 디지트들을 포함하는 다른 서브-셀들은 수직 패턴을 포함한다.
[0091] 도 8c는 테이블들의 검출을 위한, 예를 들어, 머신 러닝 어플리케이션에 의한 검출을 위한 시각적 인코딩의 적용을 예시하는 디지털 이미지(830)를 보여준다. 보다 구체적으로, 도 3의 머신 러닝 애플리케이션 프로그램(311)은 테이블들의 검출을 위해 디지털 이미지(820)의 시각적 인코딩을 사용할 수 있다. 테이블들은 그들이 수직 패턴에 의해 시각적으로 인코딩된 디지트들을 포함하는 복수의 서브-셀들을 갖는 특성에 의해 정의될 수 있으며, 그리고, 선택적으로, 수평 패턴에 의해 시각적으로 인코딩된 알파벳 캐릭터들이 있는 상단 행 및 왼쪽 열을 가짐으로써 정의될 수 있다. 따라서, 머신 러닝 애플리케이션 프로그램(311)은 디지털 이미지(830)에서 별(850)로 예시된 바와 같이, 테이블(811)을 시각적으로 플래그(flag)할 수 있다.
[0092] 도 8d는 테이블들의 검출을 위한, 예를 들어, 머신 러닝 어플리케이션에 의한 검출을 위한, 시각적 인코딩의 적용을 또한 예시하는 디지털 이미지(840)를 도시한다. 이 예에 따라, 머신 러닝 애플리케이션 프로그램(311)은 테이블(811) 주위를 프레임(851)에 의해 테이블(811)에 시각적으로 플래그하였다.
[0093] 도 9a는 제1 포맷의 디지털 이미지(910)의 다른 예를 도시한다. 디지털 이미지(910)는 문자열 "ABC12345"를 포함하는 텍스트 셀(911), 문자열 "ABCDE13"을 포함하는 텍스트 셀(912) 및 문자열 "ABCDE134kOMstuvnmm4789fg67XXX"를 포함하는 텍스트 셀(913)을 포함한다.
[0094] 도 9b는 제2 포맷의 대응하는 디지털 이미지(920)의 예를 도시한다. 자연어 특징 인코딩 프로그램(313)은 텍스트 셀들(911, 912, 및 913)의 문자열들을 미리 정의된 문자열 인코딩 방식에 따라 시각적 패턴으로 인코딩하였다. 이 실시예에 따른 문자열 인코딩 방식은 만일 각 서브-셀의 캐릭터들 중 50% 이상이 디지트들이라면 수직 패턴을 적용하고 만일 그렇지 않다면 수평 패턴을 적용한다. 따라서, 텍스트 셀(911)은 수직 패턴으로 인코딩되고 텍스트 셀들(912 및 913)은 수평 패턴으로 인코딩된다.
[0095] 이제 도 10을 참조하면, 서버(310)의 보다 상세한 실시 예가 도시되어 있다. 서버(310)은 다수의 다른 컴퓨팅 시스템 환경들 또는 구성들과 함께 동작할 수 있다. 서버(310)과 함께 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예들에는 개인용 컴퓨터 시스템, 서버 컴퓨터 시스템, 씬 클라이언트, 씩 클라이언트, 핸드 헬드 또는 랩톱 디바이스, 멀티 프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그래밍 가능한 소비자 전자 제품, 네트워크 PC, 미니 컴퓨터 시스템, 메인프레임 컴퓨터 시스템 및 위의 시스템 또는 디바이스 중 어느 하나를 포함하는 분산 클라우드 컴퓨팅 환경 등을 포함하나, 이에 국한하는 것은 아니다. 특히, 서버(310)은 도 3에 도시된 시스템(300)의 스캐닝 머신(330)과 시스템(300)의 사용자 디바이스(340)과 함께 동작한다.
[0096] 서버(310)는 컴퓨터 시스템에 의해 실행되는, 프로그램 모듈들과 같은, 컴퓨터 시스템-실행 가능한 명령들의 일반적인 컨텍스트로 기술될 수 있다. 일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 또는 특정 추상 데이터 유형들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 로직, 데이터 구조들 등을 포함할 수 있다. 서버(310)은 범용 컴퓨팅 디바이스의 형태로 도시된다. 서버(310)의 컴포넌트들은 하나 또는 그 이상의 프로세서들 또는 처리 유닛들(1016), 시스템 메모리(1028) 및 시스템 메모리(1028)을 포함한 다양한 시스템 컴포넌트들을 프로세서(1016)에 결합하는 버스(1018)을 포함할 수 있으나, 이에 한정되는 것은 아니다.
[0097] 버스(1018)은 다양한 버스 아키텍처들 중 하나를 사용하는, 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 가속 그래픽 포트, 및 프로세서 또는 로컬 버스를 포함하는, 버스 구조들의 여러 유형들 중 하나 또는 그 이상을 나타낸다. 예를 들어, 그러한 아키텍처들은 ISA(include Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스 및 PCI(Peripheral Component Interconnect) 버스를 포함하나, 이에 국한되지는 않는다.
[0098] 서버(310)는 일반적으로 다양한 컴퓨터 시스템 판독 가능한 매체를 포함한다. 그러한 매체는 서버(310)에 의해 액세스 가능한 모든 이용 가능한 매체일 수 있으며 , 휘발성 및 비휘발성 매체, 착탈식 및 비-착탈식 매체를 모두 포함한다.
[0099] 시스템 메모리(1028)은 예컨대 랜덤 액세스 메모리(RAM)(1030) 및/또는 캐시 메모리(1032)와 같은, 휘발성 메모리의 형태의 컴퓨터 시스템 판독 가능한 매체를 포함할 수 있다. 서버(310)는 또한, 다른 착탈식/비-착탈식, 휘발성/비휘발성 컴퓨터 시스템 스토리지 매체를 포함할 수 있다. 단지 예로서, 스토리지 시스템(1034)이 비착탈식, 비휘발성 자기 매체(도시되지 않고 일반적으로 "하드 드라이브"라고 함)로부터 읽고 쓰기 위해 제공될 수 있다. 도시되지는 않았지만, 착탈가능 비휘발성 자기 디스크(예: "플로피 디스크") 에서 읽고 쓰기 위한 자기 디스크 드라이브 및, CD-ROM, DVD-ROM 또는 기타 광학 매체와 같은, 착탈가능 비휘발성 광학 디스크에서 읽거나 쓰기 위한 광학 디스크 드라이브가 제공될 수 있다. 그러한 경우에, 각각은 하나 또는 그 이상의 데이터 매체 인터페이스들에 의해 버스(1018)에 연결될 수 있다. 아래에서 추가로 도시되고 설명되는 바와 같이, 메모리(1028)는 본 발명의 실시예들의 기능들을 수행하도록 구성된 프로그램 모듈들의 세트(예를 들어, 적어도 하나)를 갖는 적어도 하나의 프로그램 제품을 포함할 수 있다.
[0100] 운영 체제, 하나 또는 그 이상의 애플리케이션 프로그램들, 기타 프로그램 모듈들, 및 프로그램 데이터뿐만 아니라, 프로그램 모듈들의 (적어도 하나)세트(1042)를 갖는, 프로그램/유틸리티(1040)는, 예를 들어, 메모리(1028)에 저장될 수 있지만, 이에 국한되는 것은 아니다. 운영 체제, 하나 또는 그 이상의 애플리케이션 프로그램들, 기타 프로그램 모듈들, 및 프로그램 데이터 또는 이들의 조합 각각은 네트워킹 환경의 구현을 포함할 수 있다. 프로그램 모듈들(1042)은 일반적으로 본 명세서에 기술된 바와 같은 본 발명의 실시예의 기능들 및/또는 방법들을 수행한다. 프로그램 모듈(1042)는 특히 본 발명의 실시 예들에 따라 머신 러닝 애플리케이션을 훈련시키기 위해 주석이 달린 타겟 항목들의 세트를 결정하기 위한 컴퓨터 구현 방법의 하나 또는 그 이상의 단계들을 수행할 수 있는데, 예를 들어, 도 2a, 2b 및/또는 2c를 참조하여 설명된 방법의 하나 또는 그 이상의 단계들을 수행할 수 있다. 프로그램 모듈(1042)은 특히 도 3와 도 2a, 도 2b, 및 도 2c의 대응 플로차트들을 참조하여 설명된 프로그램들(311,312, 313)을 포함할 수 있다.
[0101] 서버(310)은 또한 키보드, 포인팅 디바이스, 디스플레이(1024) 등과 같은, 하나 또는 그 이상의 외부 디바이스들(1015); 사용자가 서버(310)와 상호작용할 수 있게 하는 하나 또는 그 이상의 디바이스들; 및/또는 서버(310)가 하나 또는 그 이상의 다른 컴퓨팅 디바이스들과 통신할 수 있게 하는 모든 디바이스들(예를 들어, 네트워크 카드, 모뎀 등)과 통신 할 수 있다. 그러한 통신은 입/출력(I/O) 인터페이스(1022)를 통해 발생할 수 있다. 또한, 서버(310)는 근거리 통신망(LAN), 일반 광역 통신망(WAN), 및/또는 네트워크 어댑터(1020)를 통한 공중 네트워크(예를 들어, 인터넷)와 같은, 하나 또는 그 이상의 네트워크들과 통신할 수 있다. 도시된 바와 같이, 네트워크 어댑터(1020)는 버스(1018)를 통해 서버(310)의 다른 컴포넌트들과 통신한다. 도시되지는 않았지만, 다른 하드웨어 및/또는 소프트웨어 컴포넌트들이 서버(310)와 함께 사용될 수 있음을 이해해야 한다. 이들의 예들에는: 마이크로코드, 디바이스 드라이버들, 리던던트 처리 유닛들, 외부 디스크 드라이브 어레이들, RAID 시스템들, 테이프 드라이브들 및 데이터 아카이벌 스토리지 시스템들이 포함되지만 이에 국한되지는 않는다.
[0102] 본 발명은 시스템, 방법 및/또는 컴퓨터 프로그램 제품일 수 있다. 컴퓨터 프로그램 제품은 서버(310) 및/또는 사용자 디바이스(340)의 프로세서/처리 유닛이 본 발명의 실시 예들을 수행하도록 하기 위한 컴퓨터 판독 가능한 프로그램 명령들을 그 위에 갖는 컴퓨터 판독 가능한 스토리지 매체(또는 미디어)를 포함할 수 있다.
[0103] 상기 컴퓨터 판독 가능 스토리지 매체는 명령 실행 장치에 의해 사용될 명령들을 유지 및 저장할 수 있는 유형의(tangible) 디바이스일 수 있다. 상기 컴퓨터 판독 가능 스토리지 매체는, 예를 들면, 전자 스토리지 디바이스, 자기 스토리지 디바이스, 광 스토리지 디바이스, 전자기 스토리지 디바이스, 반도체 스토리지 디바이스, 또는 전술한 것들의 모든 적절한 조합일 수 있으며, 그러나 이에 한정되지는 않는다. 컴퓨터 판독 가능 스토리지 매체의 더 구체적인 예들의 비포괄적인 목록에는 다음이 포함될 수 있다: 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 소거 및 프로그램가능 판독-전용 메모리(EPROM 또는 플래시 메모리), 정적 랜덤 액세스 메모리(SRAM), 휴대용 컴팩트 디스크 판독-전용 메모리(CD-ROM), 디지털 다용도 디스크(DVD), 메모리 스틱, 플로피 디스크, 천공-카드들 또는 명령들이 기록된 홈에 있는 융기된 구조들 같이 머신적으로 인코드 된 장치, 및 전술한 것들의 모든 적절한 조합. 본 명세서에서 사용될 때, 컴퓨터 판독 가능 스토리지 매체는 무선 전파들이나 다른 자유롭게 전파되는 전자기파들, 도파관이나 기타 전송 매체(예를 들어, 광섬유 케이블을 통해 전달되는 광 펄스들)를 통해 전파되는 전자기파들, 또는 선(wire)을 통해 전송되는 전기 신호들 같이 그 자체로 일시적인(transitory) 신호들로 해석되지는 않는다.
[0104] 여기서 기술되는 컴퓨터 판독 가능 명령들은, 예를 들어, 인터넷, 근거리 통신망, 광역 통신망 및/또는 무선 네트워크 등의 통신망(네트워크)을 통해 컴퓨터 판독 가능 스토리지 매체로부터 각각 컴퓨팅/처리 디바이스들로 또는 외부 스토리지 디바이스로부터 외부 컴퓨터로 다운로드 될 수 있다. 상기 통신망은 구리 전송 케이블들, 광 전송 섬유들, 무선 전송, 라우터들, 방화벽들, 스위치들, 게이트웨이 컴퓨터들 및/또는 엣지 서버들을 포함할 수 있다. 각 컴퓨팅/처리 유닛 내 네트워크 어댑터 카드 또는 네트워크 인터페이스는 상기 통신망으로부터 컴퓨터 판독 가능 프로그램 명령들을 수신하고 그 컴퓨터 판독 가능 프로그램 명령들을 각각의 컴퓨팅/처리 디바이스 내의 컴퓨터 판독 가능 스토리지 매체에 저장하기 위해 전송한다.
[0105] 본 발명의 동작들을 실행하기 위한 컴퓨터 판독 가능 프로그램 명령들은 Smalltalk, C++ 또는 그와 유사 언어 등의 객체 지향 프로그래밍 언어와 "C" 프로그래밍 언어 또는 그와 유사한 프로그래밍 언어 등의 종래의 절차적 프로그래밍 언어들을 포함하여, 하나 또는 그 이상의 프로그래밍 언어들을 조합하여 작성된(written) 어셈블러 명령들, 명령-세트-아키텍처(ISA) 명령들, 머신 명령들, 머신 종속 명령들, 마이크로코드, 펌웨어 명령들, 상태-셋팅 데이터, 집적회로를 위한 구성 데이터, 또는 소스 코드나 목적 코드일 수 있다. 상기 컴퓨터 판독 가능 프로그램 명령들은 전적으로 사용자의 컴퓨터상에서, 부분적으로 사용자의 컴퓨터상에서, 독립형(stand-alone) 소프트웨어 패키지로서, 부분적으로 사용자의 컴퓨터상에서 그리고 부분적으로 원격 컴퓨터상에서 또는 전적으로 원격 컴퓨터나 서버상에서 실행될 수 있다. 위에서 마지막의 경우에, 원격 컴퓨터는 근거리 통신망(LAN) 또는 광역 통신망(WAN)을 포함한 모든 종류의 네트워크를 통해서 사용자의 컴퓨터에 접속될 수 있고, 또는 이 접속은 (예를 들어, 인터넷 서비스 제공자를 이용한 인터넷을 통해서) 외부 컴퓨터에 이루어질 수도 있다. 일부 실시 예들에서, 예를 들어 프로그램 가능 로직 회로, 필드-프로그램 가능 게이트 어레이들(FPGA), 또는 프로그램 가능 로직 어레이들(PLA)을 포함한 전자 회로는 본 발명의 실시 예들을 수행하기 위해 전자 회로를 맞춤화하도록 상기 컴퓨터 판독 가능 프로그램 명령들의 상태 정보를 활용하여 상기 컴퓨터 판독 가능 프로그램 명령들을 실행할 수 있다.
[0106] 본 발명의 실시 예들이 여기에서 기술되는데, 본 발명의 실시 예들에 따른 방법들, 장치들(시스템들), 및 컴퓨터 프로그램 제품들의 플로 차트 예시도들 및/또는 블록도들을 참조하여 기술된다. 플로 차트 예시도들 및/또는 블록도들의 각 블록과 플로 차트 예시도들 및/또는 블록도들 내 블록들의 조합들은 컴퓨터 판독 가능 프로그램 명령들에 의해 구현될 수 있다는 것을 이해할 수 있을 것이다.
[0107] 이들 컴퓨터 판독 가능 프로그램 명령들은 범용 컴퓨터, 특수목적용 컴퓨터, 또는 기타 프로그램가능 데이터 처리 유닛의 프로세서에 제공되어 머신(machine)을 생성하고, 그렇게 하여 그 명령들이 상기 컴퓨터 또는 기타 프로그램가능 데이터 처리 유닛의 프로세서를 통해서 실행되어, 상기 플로 차트 및/또는 블록도의 블록 또는 블록들에 명시된 기능들/동작들을 구현하기 위한 수단을 생성할 수 있다. 이들 컴퓨터 판독 가능 프로그램 명령들은 또한 컴퓨터 판독 가능 스토리지 매체에 저장될 수 있으며, 컴퓨터, 프로그램가능 데이터 처리 유닛 및/또는 기타 디바이스들에 지시하여 명령들이 저장된 상기 컴퓨터 판독 가능 스토리지 매체가 상기 플로 차트 및/또는 블록도의 블록 또는 블록들에 명시된 기능/동작의 특징들을 구현하는 명령들을 포함하는 제조품(an article of manufacture)을 포함하도록 특정한 방식으로 기능하게 할 수 있다.
[0108] 상기 컴퓨터 판독 가능 프로그램 명령들은 또한 컴퓨터, 기타 프로그램가능 데이터 처리 유닛, 또는 다른 디바이스에 로드 되어, 상기 컴퓨터, 기타 프로그램가능 장치 또는 다른 디바이스에서 일련의 동작 단계들이 수행되게 하여 컴퓨터 구현 프로세스를 생성하며, 그렇게 하여 상기 컴퓨터, 기타 프로그램가능 장치, 또는 다른 디바이스 상에서 실행되는 명령들이 플로 차트 및/또는 블록도의 블록 또는 블록들에 명시된 기능들/동작들을 구현할 수 있다.
[0109] 도면들 내 플로 차트 및 블록도들은 본 발명의 여러 실시 예들에 따른 시스템들, 방법들 및 컴퓨터 프로그램 제품들의 가능한 구현들의 아키텍처, 기능(functionality), 및 동작(operation)을 예시한다. 이와 관련하여, 상기 플로 차트 또는 블록도들 내 각 블록은 상기 명시된 로직 기능(들)을 구현하기 위한 하나 또는 그 이상의 실행 가능한 명령들을 포함한 모듈, 세그먼트 또는 명령들의 일부분을 나타낼 수 있다. 일부 다른 실시 예들에서, 상기 블록에 언급되는 기능들은 도면들에 언급된 순서와 다르게 일어날 수도 있다. 예를 들면, 연속으로 도시된 두 개의 블록들은 실제로는 사실상 동시에 실행될 수도 있고, 또는 이 두 블록들은 때때로 관련된 기능에 따라서는 역순으로 실행될 수도 있다. 블록도들 및/또는 플로 차트 예시도의 각 블록, 및 블록도들 및/또는 플로 차트 예시도 내 블록들의 조합들은 특수목적용 하드웨어 및 컴퓨터 명령들의 명시된 기능들 또는 동작들, 또는 이들의 조합들을 수행하는 특수목적용 하드웨어-기반 시스템들에 의해 구현될 수 있다는 것에 또한 주목해야 한다.
[0110] 본 발명의 다양한 실시 예들에 대한 설명은 예시적인 목적으로 제시되었으나, 개시된 실시 예들이 전부라거나, 이들에 한정되는 것을 의도하는 것은 아니다. 많은 수정들 및 변형들은 설명된 실시 예들의 범위를 벗어남이 없이 당업계에서 통상적인 기술을 가진 사람들에게 명백할 것이다. 본 명세서에 사용된 용어는 실시 예의 원리, 시장에서 발견되는 기술에 대한 실용적인 적용 또는 기술적 향상을 가장 잘 설명하거나, 당업계에서 통상적인 기술을 가진 다른 사람들이 본 명세서에 개시된 실시 예들을 이해할 수 있도록 하기 위해 선택되었다.

Claims (25)

  1. 방법에 있어서, 상기 방법은:
    디지털 이미지를 제1 포맷으로 수신하는 단계-상기 제1 포맷은 하나 혹은 그 이상의 텍스트 셀들의 문자열들(a strings) 및 경계 상자들(a bounding boxes)에 액세스를 제공함-;
    미리 정의된 문자열 인코딩 방식(a predefined string encoding scheme)에 따라 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 시각적 패턴들(visual patterns)로 인코딩하는 단계; 및
    상기 디지털 이미지를 제2 포맷으로 제공하는 단계를 포함하고, 상기 제2 포맷은 상기 하나 혹은 그 이상의 텍스트 셀들 문자열들의 시각적 패턴들을 포함하는
    방법.
  2. 제1항에 있어서, 상기 문자열 인코딩 방식은 문자열의 자연어 특징들을 인코딩하도록 구성되는
    방법.
  3. 제1항에 있어서, 상기 방법은
    상기 제2 포맷의 디지털 이미지로 디지털 이미지 처리 애플리케이션을 수행하는 단계를 더 포함하는
    방법.
  4. 제1항에 있어서, 상기 방법은
    상기 제2 포맷의 디지털 이미지로 머신 러닝 애플리케이션을 수행하는 것을 더 포함하는
    방법.
  5. 제4항에 있어서, 상기 머신 러닝 애플리케이션은 심층 신경망 애플리케이션인
    방법.
  6. 제1항에 있어서, 상기 제1 포맷의 디지털 이미지 및 상기 제2 포맷의 디지털 이미지는 대응하는 경로 정보를 포함하는 경로들을 포함하고, 상기 경로 정보는 경로 좌표들을 포함하는
    방법.
  7. 제1항에 있어서, 상기 방법은
    상기 대응하는 문자열들의 시각적 패턴들로 상기 하나 혹은 그 이상의 텍스트 셀들의 경계 상자들을 증강하는 단계(augmenting)를 더 포함하는
    방법.
  8. 제1항에 있어서, 상기 방법은
    상기 하나 혹은 그 이상의 텍스트 셀들의 경계 상자들에 상기 시각적 패턴들을 중첩하는 단계(superimposing)를 더 포함하는
    방법.
  9. 제1항에 있어서, 상기 문자열들을 인코딩하는 단계는
    상기 문자열의 단어 임베딩(a word embedding)을 생성하는 단계; 및
    상기 문자열의 단어 임베딩에서 시각적 패턴을 생성하는 단계를 포함하는
    방법.
  10. 제1항에 있어서, 상기 미리 정의된 문자열 인코딩 방식은 상기 문자열의 디지트들(digits)의 백분율에 따라(in dependence) 문자열들을 인코딩하도록 구성되는
    방법.
  11. 제1항에 있어서, 상기 방법은
    만일 상기 문자열에서 캐릭터들의 미리 정의된 백분율이 디지트들이라면 상기 텍스트 셀의 경계 상자 내에서 제1 시각적 패턴을 적용하는 단계; 그리고
    만일 상기 문자열에서 캐릭터들의 미리 정의된 백분율이 디지트들이 아니라면 상기 텍스트 셀의 경계 상자 내에서 제2 시각적 패턴을 적용하는 단계를 포함하는
    방법.
  12. 제11항에 있어서, 상기 제1 시각적 패턴은 수직 라인들을 포함하거나 구성되고, 상기 제2 시각적 패턴은 수평 라인들을 포함하거나 구성되며; 또는
    제1 시각적 패턴이 수평 라인들을 포함하거나 구성되고 상기 제2 시각적 패턴이 수직 라인들을 포함하거나 구성되는
    방법.
  13. 제11항에 있어서, 상기 방법은
    만일 상기 문자열의 캐릭터들의 미리 정의된 백분율이 디지트들이라면 상기 텍스트 셀의 경계 상자를 제1 색상으로 채색하는 단계; 그리고
    만일 상기 문자열의 캐릭터들의 미리 정의된 백분율이 디지트들이 아니라면 상기 텍스트 셀의 경계 상자를 제2 색상으로 채색하는 단계를 포함하는
    방법.
  14. 제1항에 있어서, 상기 제1 포맷의 디지털 이미지는 비트맵 자원들 및 그들의 경계 상자들을 포함하는
    방법.
  15. 제14항에 있어서, 상기 방법은
    상기 비트맵 자원들에 관한 광학 캐릭터 인식(an optical character recognition)을 수행하는 단계;
    상기 비트맵 자원들에서 그들의 문자열들과 그들의 경계 상자들을 포함하는 텍스트 셀들을 식별하는 단계; 및
    상기 비트맵 이미지들의 텍스트 셀들의 문자열들을 상기 미리 정의된 문자열 인코딩 방식에 따라 시각적 패턴들로 인코딩하는 단계를 더 포함하는
    방법.
  16. 제1항에 있어서, 상기 제1 포맷은 프로그램 데이터 포맷(a programmatic data format)인
    방법.
  17. 제1항에 있어서, 상기 제1 포맷은 이동형 문서 포맷-표준(a Portable Document Format-standard)에 따른 포맷인
    방법.
  18. 제1항에 있어서, 상기 제1 포맷은:
    자바 스크립트 객체 알림 데이터 교환 포맷(Java Script Object Notification Data Interchange Format);
    하이퍼텍스트 마크업 언어(Hypertext Markup Language); 및
    YAML Ain’t 마크업 언어(YAML Ain’t Markup Language)으로 구성된 그룹으로부터 선택되는
    방법.
  19. 제4항에 있어서, 상기 머신 러닝 애플리케이션은 상기 디지털 이미지 내의 미리 정의된 항목들 세트를 식별하도록 구성되는
    방법.
  20. 제4항에 있어서, 상기 머신 러닝 애플리케이션은:
    상기 텍스트 셀들의 시각적 패턴들에 기초하여 상기 디지털 이미지 및/또는 디지털 이미지의 요소들을 분류하는 단계;
    디지털 이미지에서 테이블들을 검출하는 단계; 및
    페이지 레이아웃을 나타내는 상기 디지털 이미지들에서 이미지들을 검출하는 단계로 구성된 그룹에서 선택된 작업들(tasks)을 수행하도록 구성되는
    방법.
  21. 컴퓨터-판독가능 명령들을 실행하기 위한 하나 혹은 그 이상의 프로세서들을 포함하는 시스템에 있어서, 상기 컴퓨터-판독가능 명령들은 상기 하나 혹은 그 이상의 프로세서들이 동작들(operations)을 수행하도록 제어하고, 상기 동작들은:
    디지털 이미지를 제1 포맷으로 수신하는 단계-상기 제1 포맷은 하나 혹은 그 이상의 텍스트 셀들의 문자열들(a strings) 및 경계 상자들(a bounding boxes)에 액세스를 제공함-;
    미리 정의된 문자열 인코딩 방식(a predefined string encoding scheme)에 따라 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 시각적 패턴들(visual patterns)로 인코딩하는 단계; 및
    상기 디지털 이미지를 제2 포맷으로 제공하는 단계를 포함하고, 상기 제2 포맷은 상기 하나 혹은 그 이상의 텍스트 셀들 문자열들의 시각적 패턴들을 포함하는
    시스템.
  22. 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 프로그램 제품은 구현된 프로그램 명령들을 갖는 컴퓨터 판독가능 스토리지 매체를 포함하고, 상기 프로그램 명령들은 프로세서에 의해 실행 가능하며, 상기 프로세서가 동작들을 수행하게 하고, 상기 동작들은:
    디지털 이미지를 제1 포맷으로 수신하는 단계-상기 제1 포맷은 하나 혹은 그 이상의 텍스트 셀들의 문자열들(a strings) 및 경계 상자들(a bounding boxes)에 액세스를 제공함-;
    미리 정의된 문자열 인코딩 방식(a predefined string encoding scheme)에 따라 상기 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 시각적 패턴들(visual patterns)로 인코딩하는 단계; 및
    상기 디지털 이미지를 제2 포맷으로 제공하는 단계를 포함하고, 상기 제2 포맷은 상기 하나 혹은 그 이상의 텍스트 셀들 문자열들의 시각적 패턴들을 포함하는
    컴퓨터 프로그램 제품.
  23. 제22항에 있어서, 상기 동작들은:
    제2 포맷으로 디지털 이미지들을 수신하는 단계 - 상기 제2 포맷은 미리 정의된 문자열 인코딩 방식에 따라 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 인코딩하는 시각적 패턴들을 포함함-; 및
    상기 제2 포맷의 디지털 이미지들로 상기 머신 러닝 애플리케이션의 인지 모델(a cognitive model)을 훈련하는 단계를 더 포함하는
    컴퓨터 프로그램 제품.
  24. 머신 러닝 애플리케이션을 위한 인지 모델에 있어서, 상기 인지모델은 비일시적 컴퓨터 판독 가능 매체에 인코딩되고, 상기 머신 러닝 애플리케이션은 디지털 이미지들을 처리하도록 구성되며, 상기 디지털 이미지는 하나 또는 그 이상의 텍스트 셀을 포함하고, 상기 하나 또는 그 이상의 텍스트 셀들 각각은 문자열 및 경계 상자를 포함하며, 상기 인지 모델은 상기 디지털 이미지들을 제2 포맷으로 수신하도록 구성되고, 상기 제2 포맷은 미리 정의된 문자열 인코딩 방식에 따라 하나 또는 그 이상의 텍스트 셀들의 문자열들을 인코딩하는 시각적 패턴들을 포함하는
    인지 모델.
  25. 디지털 이미지를 처리하는 방법에 있어서, 상기 방법은:
    디지털 이지미들을 제2 포맷으로, 인지 모델에 의해, 수신하는 단계를 포함하고, 상기 제2 포맷은 미리 정의된 문자열 인코딩 방식에 따라 하나 혹은 그 이상의 텍스트 셀들의 문자열들을 인코딩하는 시각적 패턴들을 포함하는
    방법.
KR1020227028488A 2020-03-06 2021-01-27 디지털 이미지 처리 KR20220133913A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/811,490 2020-03-06
US16/811,490 US11495038B2 (en) 2020-03-06 2020-03-06 Digital image processing
PCT/IB2021/050612 WO2021176281A1 (en) 2020-03-06 2021-01-27 Digital image processing

Publications (1)

Publication Number Publication Date
KR20220133913A true KR20220133913A (ko) 2022-10-05

Family

ID=77555780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227028488A KR20220133913A (ko) 2020-03-06 2021-01-27 디지털 이미지 처리

Country Status (10)

Country Link
US (1) US11495038B2 (ko)
JP (1) JP2023516119A (ko)
KR (1) KR20220133913A (ko)
CN (1) CN115210747B (ko)
AU (1) AU2021229659B2 (ko)
CA (1) CA3165086A1 (ko)
DE (1) DE112021000371T5 (ko)
GB (1) GB2608750B (ko)
IL (1) IL294884A (ko)
WO (1) WO2021176281A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11495038B2 (en) 2020-03-06 2022-11-08 International Business Machines Corporation Digital image processing
US11494588B2 (en) 2020-03-06 2022-11-08 International Business Machines Corporation Ground truth generation for image segmentation
US11361146B2 (en) 2020-03-06 2022-06-14 International Business Machines Corporation Memory-efficient document processing
US11556852B2 (en) 2020-03-06 2023-01-17 International Business Machines Corporation Efficient ground truth annotation

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3714172A1 (de) 1986-04-28 1987-11-19 Hitachi Ltd Einrichtung zum durchsuchen von dokumenten in einem dokumentenablagesystem
JPH08227422A (ja) 1994-12-20 1996-09-03 Tamotsu Tonegawa 文字−図形パターン変換システム及び翻訳システム
US5818966A (en) 1995-01-23 1998-10-06 Ricoh Company, Ltd. Method and apparatus for encoding color information on a monochrome document
US5781785A (en) 1995-09-26 1998-07-14 Adobe Systems Inc Method and apparatus for providing an optimized document file of multiple pages
US6401097B1 (en) 1998-01-23 2002-06-04 Mccotter Thomas M. System and method for integrated document management and related transmission and access
US6981209B1 (en) 2000-09-26 2005-12-27 Microsoft Corporation Automatic layout of vertical flow oriented characters within a defined area
NZ536775A (en) 2002-05-20 2007-11-30 Tata Infotech Ltd Document structure identifier
US20040034455A1 (en) 2002-08-15 2004-02-19 Craig Simonds Vehicle system and method of communicating between host platform and human machine interface
US7502805B2 (en) 2003-08-21 2009-03-10 Microsoft Corporation Electronic ink processing
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
JP4466241B2 (ja) 2004-07-13 2010-05-26 株式会社日立製作所 文書処理手法及び文書処理装置
US7412647B2 (en) 2005-03-04 2008-08-12 Microsoft Corporation Method and system for laying out paginated content for viewing
US7543229B2 (en) 2005-04-14 2009-06-02 Hewlett-Packard Development Company, L.P. Analysis of graphic design material
US20070168382A1 (en) 2006-01-03 2007-07-19 Michael Tillberg Document analysis system for integration of paper records into a searchable electronic database
US8208725B2 (en) 2007-06-21 2012-06-26 Sharp Laboratories Of America, Inc. Methods and systems for identifying text orientation in a digital image
JP4590433B2 (ja) 2007-06-29 2010-12-01 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
US8447748B2 (en) 2007-07-11 2013-05-21 Google Inc. Processing digitally hosted volumes
US9224041B2 (en) 2007-10-25 2015-12-29 Xerox Corporation Table of contents extraction based on textual similarity and formal aspects
US8135776B2 (en) 2008-11-24 2012-03-13 The Boeing Company System and method for scalable architecture for web-based collaborative annotation of page-based documents
US9032006B2 (en) 2009-03-24 2015-05-12 International Business Machines Corporation Processing of linear systems of equations
US10216708B2 (en) 2009-10-05 2019-02-26 Adobe Systems Incorporated Paginated viewport navigation over a fixed document layout
US8768067B2 (en) 2010-04-15 2014-07-01 Microsoft Corporation Accelerating bitmap remoting by identifying and extracting patterns from source bitmaps through parallel processing techniques
US20150199314A1 (en) 2010-10-26 2015-07-16 Google Inc. Editing Application For Synthesized eBooks
WO2014005609A1 (en) 2012-07-06 2014-01-09 Microsoft Corporation Paragraph alignment detection and region-based section reconstruction
EP2797032A3 (en) 2013-04-22 2017-04-12 ESSILOR INTERNATIONAL (Compagnie Générale d'Optique) Method and system using two parallel optical character recognition processes
US9262380B2 (en) 2013-05-22 2016-02-16 International Business Machines Corporation Calculating node centralities in large networks and graphs
US10331976B2 (en) 2013-06-21 2019-06-25 Xerox Corporation Label-embedding view of attribute-based recognition
US11336648B2 (en) 2013-11-11 2022-05-17 Amazon Technologies, Inc. Document management and collaboration system
RU2586577C2 (ru) 2014-01-15 2016-06-10 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Фильтрация дуг в синтаксическом графе
US9355313B2 (en) 2014-03-11 2016-05-31 Microsoft Technology Licensing, Llc Detecting and extracting image document components to create flow document
CN106294520B (zh) * 2015-06-12 2019-11-12 微软技术许可有限责任公司 使用从文档提取的信息来标识关系
AU2017200378A1 (en) * 2016-01-21 2017-08-10 Accenture Global Solutions Limited Processing data for use in a cognitive insights platform
US10824674B2 (en) 2016-06-03 2020-11-03 International Business Machines Corporation Label propagation in graphs
EP3267368B1 (en) 2016-07-06 2020-06-03 Accenture Global Solutions Limited Machine learning image processing
US20180075368A1 (en) 2016-09-12 2018-03-15 International Business Machines Corporation System and Method of Advising Human Verification of Often-Confused Class Predictions
WO2018071403A1 (en) 2016-10-10 2018-04-19 Insurance Services Office, Inc. Systems and methods for optical charater recognition for low-resolution ducuments
US10089742B1 (en) 2017-03-14 2018-10-02 Adobe Systems Incorporated Automatically segmenting images based on natural language phrases
US20180300323A1 (en) 2017-04-17 2018-10-18 Lee & Hayes, PLLC Multi-Factor Document Analysis
CN111095308A (zh) 2017-05-14 2020-05-01 数字推理系统有限公司 用于快速构建、管理和共享机器学习模型的系统和方法
US10726038B2 (en) * 2017-05-24 2020-07-28 MphasiS Limited System and method for optimizing aggregation and analysis of data across multiple data sources
US10482118B2 (en) 2017-06-14 2019-11-19 Sap Se Document representation for machine-learning document classification
US10628668B2 (en) * 2017-08-09 2020-04-21 Open Text Sa Ulc Systems and methods for generating and using semantic images in deep learning for classification and data extraction
US20190102674A1 (en) 2017-09-29 2019-04-04 Here Global B.V. Method, apparatus, and system for selecting training observations for machine learning models
CN110110258A (zh) 2018-02-01 2019-08-09 阿里巴巴集团控股有限公司 一种文字转换的方法、装置以及电子设备
GB201801627D0 (en) 2018-02-01 2018-03-21 Siemens Healthcare Ltd Image autoencoding for quantum machine learning
JP7013994B2 (ja) 2018-03-27 2022-02-01 コニカミノルタ株式会社 医用画像表示装置及びプログラム
CN108805258B (zh) 2018-05-23 2021-10-12 北京图森智途科技有限公司 一种神经网络训练方法及其装置、计算机服务器
CN108898137B (zh) 2018-05-25 2022-04-12 黄凯 一种基于深度神经网络的自然图像字符识别方法及系统
US10602207B2 (en) 2018-08-03 2020-03-24 Facebook, Inc. Neural network based content distribution in an online system
US11017498B2 (en) 2019-03-14 2021-05-25 International Business Machines Corporation Ground truth generation from scanned documents
CN110188189B (zh) 2019-05-21 2021-10-08 浙江工商大学 一种基于知识的自适应事件索引认知模型提取文档摘要的方法
US11556852B2 (en) 2020-03-06 2023-01-17 International Business Machines Corporation Efficient ground truth annotation
US11494588B2 (en) 2020-03-06 2022-11-08 International Business Machines Corporation Ground truth generation for image segmentation
US11361146B2 (en) 2020-03-06 2022-06-14 International Business Machines Corporation Memory-efficient document processing
US11495038B2 (en) 2020-03-06 2022-11-08 International Business Machines Corporation Digital image processing

Also Published As

Publication number Publication date
DE112021000371T5 (de) 2022-11-03
GB2608750A (en) 2023-01-11
GB2608750B (en) 2024-05-08
GB202214680D0 (en) 2022-11-23
CN115210747B (zh) 2023-07-11
CA3165086A1 (en) 2021-09-10
US11495038B2 (en) 2022-11-08
WO2021176281A1 (en) 2021-09-10
JP2023516119A (ja) 2023-04-18
US20210279532A1 (en) 2021-09-09
IL294884A (en) 2022-09-01
CN115210747A (zh) 2022-10-18
AU2021229659A1 (en) 2022-08-25
AU2021229659B2 (en) 2023-12-14

Similar Documents

Publication Publication Date Title
KR20220133913A (ko) 디지털 이미지 처리
US10521513B2 (en) Language generation from flow diagrams
US10275713B2 (en) Automatic data interpretation and answering analytical questions with tables and charts
US11494588B2 (en) Ground truth generation for image segmentation
KR101334483B1 (ko) 문서를 디지털화하는 장치 및 방법과, 컴퓨터 판독가능 기록 매체
JP6838209B1 (ja) 文書画像解析装置、文書画像解析方法およびプログラム
US20110002547A1 (en) Image processing device and image processing method
US11017498B2 (en) Ground truth generation from scanned documents
JP2009531788A (ja) レンダリングのためにトークンベースファイルへの文字列を含むディジタル画像の変換
US20170039192A1 (en) Language generation from flow diagrams
US20170052985A1 (en) Normalizing values in data tables
US11361146B2 (en) Memory-efficient document processing
US11275935B2 (en) Patent analysis applications and corresponding user interface features
CN115659917A (zh) 一种文档版式还原方法、装置、电子设备及存储设备
US10095677B1 (en) Detection of layouts in electronic documents
US20220237397A1 (en) Identifying handwritten signatures in digital images using ocr residues
US10542176B2 (en) Enhancing graph visualization with supplemental data
CN111489422B (zh) 海报生成及其模型训练方法、装置、电子设备及存储介质
JP7365835B2 (ja) 構造認識システム、構造認識装置、構造認識方法、及びプログラム
KR20230161819A (ko) 문서 이미지의 테이블 검출 시스템 및 방법
CN117218636A (zh) 一种基于多层语义融合的船牌检测识别方法及装置
CN114596577A (zh) 图像处理方法、装置、电子设备及存储介质
CN114627481A (zh) 表单处理方法、装置、设备、介质和程序产品
CN117132547A (zh) 图像检测方法、装置、设备、存储介质及计算机程序产品
CN114282517A (zh) 文档处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination