KR102642095B1 - Methods and systems for recognizing tables - Google Patents

Methods and systems for recognizing tables Download PDF

Info

Publication number
KR102642095B1
KR102642095B1 KR1020210037220A KR20210037220A KR102642095B1 KR 102642095 B1 KR102642095 B1 KR 102642095B1 KR 1020210037220 A KR1020210037220 A KR 1020210037220A KR 20210037220 A KR20210037220 A KR 20210037220A KR 102642095 B1 KR102642095 B1 KR 102642095B1
Authority
KR
South Korea
Prior art keywords
lines
type
image
rotation
degree
Prior art date
Application number
KR1020210037220A
Other languages
Korean (ko)
Other versions
KR20220132213A (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 KR1020210037220A priority Critical patent/KR102642095B1/en
Priority to PCT/KR2022/002601 priority patent/WO2022182104A1/en
Publication of KR20220132213A publication Critical patent/KR20220132213A/en
Application granted granted Critical
Publication of KR102642095B1 publication Critical patent/KR102642095B1/en

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/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 이미지에 대한 분석을 수행하여 테이블이 포함된 이미지를 보정하는 방법 및 시스템에 관한 것이다. 본 발명에 따른 이미지 보정 방법은, 테이블을 포함하는 이미지를 수신하는 단계, 상기 이미지로부터, 상기 테이블을 구성하는 복수의 라인들을 추출하는 단계, 기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출하는 단계 및 상기 회전 정도에 근거하여, 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 단계를 포함할 수 있다.The present invention relates to a method and system for correcting an image containing a table by performing analysis on the image. The image correction method according to the present invention includes the steps of receiving an image including a table, extracting a plurality of lines constituting the table from the image, and determining the degree of rotation of the plurality of lines with respect to a reference line. Based on the step of calculating and the degree of rotation, it may include the step of correcting the image so that rotation with respect to the table is performed.

Figure R1020210037220
Figure R1020210037220

Description

테이블이 포함된 이미지 보정 방법 및 시스템{METHODS AND SYSTEMS FOR RECOGNIZING TABLES}Image correction method and system including tables {METHODS AND SYSTEMS FOR RECOGNIZING TABLES}

본 발명은 이미지에 대한 분석을 수행하여 테이블이 포함된 이미지를 보정하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for correcting an image containing a table by performing analysis on the image.

인공지능의 사전적 의미는, 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술이라 할 수 있다. 이러한 인공지능은 머신러닝에 인간의 뇌를 모방한 신경망 네트워크를 더한 딥러닝으로 인하여 비약적인 발전을 이루었다.The dictionary meaning of artificial intelligence is a technology that realizes human learning ability, reasoning ability, perception ability, and natural language understanding ability through computer programs. This artificial intelligence has made rapid progress due to deep learning, which adds a neural network that mimics the human brain to machine learning.

딥러닝(deep learning)이란, 컴퓨터가 인간처럼 판단하고 학습할 수 있도록 하고, 이를 통해 사물이나 데이터를 군집화하거나 분류하는 기술로서, 최근에는 텍스트 데이터 뿐만 아니라 영상 데이터에 대한 분석까지 가능해져, 매우 다양한 산업분야에 적극적으로 활용되고 있다.Deep learning is a technology that enables computers to judge and learn like humans, and to cluster or classify objects or data. Recently, it has become possible to analyze not only text data but also video data, enabling a wide variety of applications. It is actively used in industrial fields.

이러한, 인공지능의 발달로 사무자동화(office automation) 분야에 있어서도 다양한 자동화가 이루어지고 있다. 특히, 사무자동화 분야에서는 종이(paper)에 인쇄된 콘텐츠를 인공지능을 활용한 영상 데이터 분석 기술에 기반하여 데이터화 하는데 많은 노력을 기울이고 있다. 그 일환으로서, 사무자동화 분야에서는 종이 문서를 이미지화 하여, 이미지에 포함된 콘텐츠를 분석하는 이미지 분석 기술(또는 영상 데이터에 대한 분석 기술)을 통하여, 문서에 포함된 콘텐츠를 데이터화하고 있으며, 이 경우 문서에 포함된 콘텐츠의 특성에 맞게 이미지를 분석하는 기술이 필요하다.With the development of artificial intelligence, various automations are being implemented in the office automation field. In particular, in the field of office automation, much effort is being made to convert content printed on paper into data based on video data analysis technology using artificial intelligence. As part of this, in the office automation field, paper documents are converted into images and the content contained in the document is converted into data through image analysis technology (or video data analysis technology) that analyzes the content contained in the image. In this case, the document Technology is needed to analyze images according to the characteristics of the content included.

예를 들어, 테이블(table, 표)을 포함하는 문서를 데이터화 하는 경우, 테이블의 형식, 테이블 내에 포함된 텍스트의 내용 및 테이블에 포함된 텍스트의 위치 등과 같이, 테이블을 둘러싼 다양한 요소들에 대한 정확한 분석이 필요하다.For example, when converting a document containing a table into data, various elements surrounding the table, such as the format of the table, the contents of the text contained in the table, and the location of the text contained in the table, must be accurately identified. Analysis is needed.

이에, 대한민국 등록특허1907029호(서식 자동화를 위한 테이블 생성 장치 및 방법)에서는, 이미지로부터 테이블을 인식하고, 인식된 테이블을 재현하는 방법에 대하여 개시하고 있다.Accordingly, Republic of Korea Patent No. 1907029 (Apparatus and method for creating tables for form automation) discloses a method of recognizing a table from an image and reproducing the recognized table.

이와 같이, 인식된 테이블을 재현하는 기술에 대한 다양한 개발이 이루어지고 있으며, 테이블을 둘러싼 다양한 요소들에 대한 정확한 인식을 위해서는, 이미지에 포함된 테이블의 인식 성능의 개선 또한 매우 중요하다.As such, various developments are being made regarding technologies for reproducing recognized tables, and for accurate recognition of various elements surrounding a table, improvement in recognition performance of tables included in images is also very important.

본 발명은, 이미지에 포함된 테이블의 인식 성능을 높일 수 있는 테이블이 포함된 이미지의 보정 방법 및 시스템을 제공하기 위한 것이다.The present invention is intended to provide a method and system for correcting an image including a table that can improve recognition performance of the table included in the image.

보다 구체적으로, 본 발명은 이미지에 포함된 테이블과 동일한 구성을 갖는 테이블을 재현하기 위하여, 테이블의 인식 성능을 향상시킬 수 있는 테이블이 포함된 이미지의 보정 방법 및 시스템을 제공하기 위한 것이다.More specifically, the present invention is intended to provide a method and system for correcting an image including a table that can improve recognition performance of the table in order to reproduce a table having the same configuration as the table included in the image.

위에서 살펴본 과제를 해결하기 위하여, 본 발명에 따른 테이블이 포함된 이미지의 보정 방법은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 이미지로부터, 상기 테이블을 구성하는 복수의 라인들을 추출하는 단계, 기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출하는 단계 및 상기 회전 정도에 근거하여, 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 단계를 포함할 수 있다.In order to solve the problems described above, the method for correcting an image including a table according to the present invention includes receiving an image including a table, extracting a plurality of lines constituting the table from the image. It may include calculating a degree of rotation of the plurality of lines based on a reference line, and correcting the image so that rotation with respect to the table is performed based on the degree of rotation.

나아가, 본 발명에 따른 테이블이 포함된 이미지르 보정하기 위한 시스템은, 저장부, 테이블(table)을 포함하는 이미지를 수신하는 수신부 및 상기 이미지로부터, 상기 테이블을 구성하는 복수의 라인들을 추출하는 제어부를 포함하고, 상기 제어부는, 기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출하고, 상기 회전 정도에 근거하여, 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정할 수 있다.Furthermore, a system for correcting an image including a table according to the present invention includes a storage unit, a receiving unit that receives an image containing a table, and a control unit that extracts a plurality of lines constituting the table from the image. The control unit may calculate a degree of rotation of the plurality of lines based on a reference line, and may correct the image so that rotation with respect to the table is performed based on the degree of rotation.

나아가, 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 이미지로부터, 상기 테이블을 구성하는 복수의 라인들을 추출하는 단계, 기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출하는 단계 및 상기 회전 정도에 근거하여, 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 단계를 수행하도록 하는 명령어들을 포함할 수 있다.Furthermore, the program, which is executed by one or more processes in an electronic device and can be stored in a computer-readable recording medium, includes receiving an image including a table, and, from the image, a plurality of images constituting the table. extracting lines, calculating a degree of rotation of the plurality of lines based on a reference line, and correcting the image so that rotation with respect to the table is performed based on the degree of rotation. May contain commands.

위에서 살펴본 것과 같이, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은, 이미지에 포함된 테이블이 회전되어 있는 경우, 이를 바로잡는 보정을 통하여, 테이블에 대한 인식 성능을 높일 수 있다.As seen above, the image correction method and system including a table according to the present invention can improve recognition performance for the table through correction to correct if the table included in the image is rotated.

보다 구체적으로, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은, 테이블을 구성하는 복수의 라인들 추출하고, 이들의 회전 정도를 산출할 수 있다. 나아가, 본 발명에 따른 테이블 인식 방법 및 시스템은, 이러한 회전 정도에 근거하여, 테이블이 기준 라인에 비하여 얼만큼 회전되어 있는지를 판단하고, 판단된 결과에 기반하여 테이블의 회전이 보정되도록 이미지에 대한 보정이 수행될 수 있다.More specifically, the image correction method and system including the table according to the present invention can extract a plurality of lines constituting the table and calculate the degree of rotation thereof. Furthermore, the table recognition method and system according to the present invention determines how much the table is rotated relative to the reference line based on the degree of rotation, and adjusts the image to correct the rotation of the table based on the determined result. Correction may be performed.

이러한 이미지의 보정은, 테이블을 구성하는 정보에 대한 인식률을 높이기 위한 전처리 과정에 해당할 수 있으며, 결과적으로, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은 이미지에 포함된 테이블의 인식 성능을 높일 수 있다. 나아가, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템에 의하여, 테이블에 대한 인식 성능이 높아지는 경우, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.Correction of such an image may correspond to a pre-processing process to increase the recognition rate of the information constituting the table, and as a result, the method and system for correcting an image including a table according to the present invention improve the recognition performance of the table included in the image. can increase. Furthermore, when recognition performance for a table is increased by the image correction method and system including a table according to the present invention, it is possible to create a table having the same structure as the table included in the image.

도 1은 본 발명에 따른 테이블이 포함된 이미지 보정 시스템을 설명하기 위한 개념도이다.
도 2는 테이블을 설명하기 위한 개념도이다.
도 3은 본 발명에 따른 테이블이 포함된 이미지 보정 방법을 설명하기 위한 흐름도이다.
도 4, 도 5, 도 6a, 도 6b 도 7, 도 8 및 도 9는 본 발명에 따른 테이블이 포함된 이미지 보정 방법을 설명하기 위한 개념도들이다.
1 is a conceptual diagram illustrating an image correction system including a table according to the present invention.
Figure 2 is a conceptual diagram for explaining a table.
Figure 3 is a flowchart for explaining an image correction method including a table according to the present invention.
FIGS. 4, 5, 6A, 6B, 7, 8, and 9 are conceptual diagrams for explaining an image correction method including a table according to the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings. However, identical or similar components will be assigned the same reference numbers regardless of drawing symbols, and duplicate descriptions thereof will be omitted. The suffixes “module” and “part” for components used in the following description are given or used interchangeably only for the ease of preparing the specification, and do not have distinct meanings or roles in themselves. Additionally, in describing the embodiments disclosed in this specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in this specification, the detailed descriptions will be omitted. In addition, the attached drawings are only for easy understanding of the embodiments disclosed in this specification, and the technical idea disclosed in this specification is not limited by the attached drawings, and all changes included in the spirit and technical scope of the present invention are not limited. , should be understood to include equivalents or substitutes.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms containing ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

앞서 살펴본 것과 같이, 인공지능의 발달로 다양한 형태로 사무자동화(office automation)가 이루어지고 있으며, 업무의 효율을 위하여, 종이 문서에 포함된 테이블(table, 표)을, 종이 문서에 포함된 테이블 형식 그대로 디지털화(데이터화) 해야 하는 니즈가 점차적으로 높아지고 있다.As seen earlier, office automation is being implemented in various forms due to the development of artificial intelligence, and for work efficiency, tables included in paper documents are used in table formats included in paper documents. The need to digitize (dataize) as is is gradually increasing.

예를 들어, 다양한 종류의 영수증(領收證, receipt)과 같은 문서는 테이블을 포함하고 있으며, 보험사, 병원 등에서는 대량의 종이 문서에 포함된 테이블을 디지털화된 데이터로서 처리하여, 전산화할 필요가 있다.For example, documents such as various types of receipts contain tables, and insurance companies, hospitals, etc. process tables contained in large amounts of paper documents as digitized data, so there is a need for computerization. there is.

이러한 니즈에 근거하여, 이미지에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성 또는 재현하는 기술에 대한 개발이 활발하게 이루어지고 있다.Based on these needs, technology for creating or reproducing a table with the same configuration as the table included in the image is being actively developed.

한편, 이러한 테이블을 생성 및 재현하는 기술은, 테이블을 둘러싼 다양한 요소들(예를 들어, 텍스트, 텍스트의 위치, 셀의 구성, 셀의 위치, 셀들 간의 연관 관계 등)을 정확하게 인식하는 것이 매우 중요하다.Meanwhile, for technology to create and reproduce such tables, it is very important to accurately recognize various elements surrounding the table (e.g., text, text location, cell composition, cell location, correlation between cells, etc.) do.

이를 위해서는, 이미지에 포함된 테이블 자체의 인식 성능을 개선하는 것이 중요하며, 본 발명은, 이미지에 포함된 테이블의 인식 성능을 높일 수 있는 테이블이 포함된 이미지 보정 방법 및 시스템을 제공한다.To this end, it is important to improve the recognition performance of the table itself included in the image, and the present invention provides a method and system for correcting an image including a table that can improve the recognition performance of the table included in the image.

이하에서는, 테이블의 인식 성능을 높일 수 있는 테이블이 포함된 이미지 보정 방법 및 시스템에 대하여, 첨부된 도면과 함께 보다 구체적으로 살펴본다. Below, we will look at the image correction method and system including a table that can improve table recognition performance in more detail with the accompanying drawings.

도 1은 본 발명에 따른 테이블이 포함된 이미지 보정 시스템을 설명하기 위한 개념도이고, 도 2는 테이블을 설명하기 위한 개념도이다. 나아가, 도 3은 본 발명에 따른 테이블이 포함된 이미지 보정 방법을 설명하기 위한 흐름도이고, 도 4, 도 5, 도 6a, 도 6b, 도 7, 도 8 및 도 9는 본 발명에 따른 테이블이 포함된 이미지 보정 방법을 설명하기 위한 개념도들이다.Figure 1 is a conceptual diagram for explaining an image correction system including a table according to the present invention, and Figure 2 is a conceptual diagram for explaining the table. Furthermore, Figure 3 is a flowchart for explaining an image correction method including a table according to the present invention, and Figures 4, 5, 6a, 6b, 7, 8, and 9 show the table according to the present invention. These are conceptual diagrams to explain the included image correction methods.

먼저, 도 1에 도시된 것과 같이, 본 발명에 따른 테이블 인식 시스템(100)은, 이미지에 포함된 테이블을 인식하고, 인식된 테이블을 구성하는 라인(line) 또는 선을 추출하고, 추출된 라인에 근거하여 이미지에 포함된 테이블이 회전되어 있는지를 판단할 수 있다. First, as shown in FIG. 1, the table recognition system 100 according to the present invention recognizes a table included in an image, extracts a line or lines constituting the recognized table, and extracts the extracted line. Based on this, it can be determined whether the table included in the image is rotated.

도시와 같이, 이미지(1000)에는 하나 또는 그 이상의 테이블(1100, 1200, 1300)이 포함될 수 있으며, 본 발명은 이미지(1000)에 포함된 테이블의 수에 관계없이, 이미지(1000)에 포함된 모든 테이블을 인식하는 것이 가능하다.As shown, the image 1000 may include one or more tables 1100, 1200, and 1300, and the present invention provides the table 1100, regardless of the number of tables included in the image 1000. It is possible to recognize all tables.

본 발명에서, 이미지(1000)는 종이 문서를 스캔한 것에 의하여 획득되는 이미지이거나 사진 촬영에 의하여 획득된 이미지이거나, 기타 다른 다양한 방법으로 획득된 이미지일 수 있다.In the present invention, the image 1000 may be an image obtained by scanning a paper document, an image obtained by taking a photo, or an image obtained by various other methods.

한편, 도 1에 도시된 것과 같이, 본 발명에 따른 테이블 인식 시스템(100)은 수신부(110), 저장부(120), OCR부(130) 및 제어부(140) 중 적어도 하나를 포함할 수 있다.Meanwhile, as shown in FIG. 1, the table recognition system 100 according to the present invention may include at least one of a receiving unit 110, a storage unit 120, an OCR unit 130, and a control unit 140. .

수신부(110)는 테이블(1100, 1200, 1300)이 포함된 이미지(1000)를 수신하는 수단으로서, 통신부, 스캔부 및 입력부 중 적어도 하나를 포함하여 구성되거나, 기타 이미지(1000)를 수신할 수 있는 수단으로 이루어질 수 있다. The receiving unit 110 is a means for receiving an image 1000 including the tables 1100, 1200, and 1300, and is configured to include at least one of a communication unit, a scanning unit, and an input unit, or can receive other images 1000. It can be accomplished by any means available.

테이블 인식 시스템(100)은 수신부(110)를 통해 수신한 이미지(1000)에 포함된 테이블(1100, 1200, 1300)을 분석하여, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)과 동일한 테이블이 생성되도록 하거나, 테이블(1100, 1200, 1300)에 포함된 데이터(또는 정보)가 정확하게 추출되도록 하는 전처리 과정을 수행할 수 있다.The table recognition system 100 analyzes the tables 1100, 1200, and 1300 included in the image 1000 received through the receiver 110, and determines the tables 1100, 1200, and 1300 included in the image 1000. A preprocessing process may be performed to ensure that the same table is created or that data (or information) included in the tables 1100, 1200, and 1300 are accurately extracted.

이와 같이, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)과 동일한 테이블을 생성하거나, 테이블(1100, 1200, 1300)에 포함된 정보를 추출하여 데이터화하는 작업은, “테이블을 재현, 재구성 또는 복원(reconstruction, restoration)한다”고 표현될 수 있다. In this way, the task of creating a table identical to the table (1100, 1200, 1300) included in the image (1000) or extracting the information included in the table (1100, 1200, 1300) and converting it into data is “reproducing the table,” It can be expressed as “reconstruction or restoration.”

본 명세서에서 이미지(1000)에 포함된 테이블(1100, 1200, 1300)을 인식하고, 인식 결과를 바탕으로 이미지(1000) 또는 테이블(1100, 1200, 1300)을 보정하는 것은, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)을 복원하기 위한 과정의 일부로 이해되어질 수 있다.In this specification, recognizing the tables 1100, 1200, and 1300 included in the image 1000 and correcting the image 1000 or the tables 1100, 1200, and 1300 based on the recognition results means It can be understood as part of a process for restoring the included tables (1100, 1200, and 1300).

즉, 본 발명에 따른 테이블 인식 시스템(100)은 테이블 생성(또는 복원) 시스템에 포함되는 개념으로도 이해되어 질 수 있다. In other words, the table recognition system 100 according to the present invention can also be understood as a concept included in a table creation (or restoration) system.

한편, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)에 대한 복원은, 본 발명에 따른 테이블 인식 시스템(100)을 통하여, 이미지(1000) 또는 테이블(1100, 1200, 1300)에 대한 보정이 이루어진 후 이루어질 수 있다.Meanwhile, the restoration of the tables 1100, 1200, and 1300 included in the image 1000 is performed using the table recognition system 100 according to the present invention. This can be done after corrections have been made.

다음으로 저장부(120)는, 본 발명에 따른 다양한 정보를 저장하도록 이루어질 수 있다. 저장부(120)의 종류는 매우 다양할 수 있으며, 적어도 일부는, 외부 서버(150, 클라우드 서버(151) 및 데이터베이스(database: DB, 152) 중 적어도 하나)를 의미할 수 있다. 즉, 저장부(120)는 본 발명과 관련된 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. Next, the storage unit 120 can be configured to store various information according to the present invention. The types of storage unit 120 may be very diverse, and at least some of them may refer to at least one of an external server 150, a cloud server 151, and a database (DB, 152). In other words, the storage unit 120 is sufficient as a space where information related to the present invention is stored, and it can be understood that there are no restrictions on physical space.

저장부(120)에는 i)테이블(1100, 1200, 1300)을 포함하는 이미지(1000) 및 이와 관련된 데이터, ii)이미지(1000)로부터 추출된 테이블(1100, 1200, 1300)의 구성 성분(라인, 코너 등) 및 이와 관련된 데이터, iii) 테이블(1100, 1200, 1300)에 포함된 콘텐츠(예를 들어, 텍스트, 이미지 등) 데이터 중 적어도 하나가 저장될 수 있다. The storage unit 120 contains i) an image 1000 including the tables 1100, 1200, and 1300 and data related thereto; ii) components (lines) of the tables 1100, 1200, and 1300 extracted from the image 1000; , corners, etc.) and data related thereto, and iii) content (e.g., text, image, etc.) data included in the tables 1100, 1200, and 1300 may be stored.

다음으로, OCR(Optical Character Reader, 130)부는 이미지(1000)에 포함된 콘텐츠를 인식하는 수단으로서, 다양한 콘텐츠 인식 알고리즘 중 적어도 하나를 통하여 이미지(1000)에 포함된 콘텐츠를 인식할 수 있다. OCR부(130)는 인공지능에 기반한 알고리즘을 이용하여, 콘텐츠를 인식할 수 있다. 여기에서 콘텐츠는 텍스트(문자)를 포함할 수 있다.Next, the OCR (Optical Character Reader, 130) unit is a means for recognizing content included in the image 1000, and can recognize content included in the image 1000 through at least one of various content recognition algorithms. The OCR unit 130 can recognize content using an algorithm based on artificial intelligence. Here, the content may include text (characters).

OCR부는, 이미지에 포함된 텍스트 및 텍스트의 위치 정보를 추출할 수 있다. 여기에서, 텍스트의 위치 정보는 수신부(110)를 통해 입력된 이미지(1000) 내에서 텍스트가 어디에 위치하는지 또는 테이블(1100, 1200, 1300) 내에서 텍스트가 어디에 위치하는지에 대한 정보를 포함할 수 있다.The OCR unit can extract text included in the image and location information of the text. Here, the location information of the text may include information about where the text is located within the image 1000 input through the receiver 110 or where the text is located within the table (1100, 1200, 1300). there is.

다음으로 제어부(140)는 본 발명과 관련된 테이블 인식 시스템(100)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(140)는 인공지능 알고리즘을 처리 가능한 프로세서(processor, 또는 인공지능 프로세서)를 포함할 수 있다. 제어부(140)는 딥러닝 알고리즘에 기반하여, 이미지(1000)로부터 테이블(1100, 1200, 1300)을 인식하고, 테이블(1100, 1200, 1300)을 구성하는 복수의 라인들을 추출할 수 있다. 그리고, 제어부(140)는 기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출하고, 산출된 회전 정도에 근거하여, 테이블(1100, 1200, 1300)에 대한 회전이 수행되도록 이미지(1000)를 보정할 수 있다.Next, the control unit 140 may control the overall operation of the table recognition system 100 related to the present invention. The control unit 140 may include a processor (or artificial intelligence processor) capable of processing artificial intelligence algorithms. The control unit 140 can recognize the tables 1100, 1200, and 1300 from the image 1000 and extract a plurality of lines constituting the tables 1100, 1200, and 1300, based on a deep learning algorithm. Then, the control unit 140 calculates the degree of rotation of the plurality of lines based on the reference line, and rotates the image 1000 so that the tables 1100, 1200, and 1300 are rotated based on the calculated degree of rotation. can be corrected.

즉, 제어부(140)는 테이블(1100, 1200, 1300)로부터 정확한 정보가 추출될 수 있도록, 도 1에 도시된 것과 같이, 이미지(1000)가 회전되어 있음에 따라, 테이블(1100, 1200, 1300)이 회전된 경우, 이를 바로잡는 보정을 수행할 수 있다.That is, the control unit 140 operates the tables 1100, 1200, and 1300 as the image 1000 is rotated, as shown in FIG. 1, so that accurate information can be extracted from the tables 1100, 1200, and 1300. ) is rotated, correction can be performed to correct this.

도시와 같이, 좌측으로 소정각도 만큼 이미지(1000)가 회전된 경우, 제어부(140)는 우측으로 상기 소정 각도만큼 이미지(1000)를 회전하는 보정을 수행하여, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)이 정방향에 위치하도록 할 수 있다.As shown, when the image 1000 is rotated to the left by a predetermined angle, the control unit 140 performs correction to rotate the image 1000 to the right by the predetermined angle, and the table included in the image 1000 ( 1100, 1200, 1300) can be positioned in the forward direction.

이때, 제어부(140)는, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)을 구성하는 복수의 라인들에 근거하여, 이미지(1000)를 어느 방향으로 얼마만큼의 각도로 회전시켜야 하는지를 판단할 수 있다.At this time, the control unit 140 determines in which direction and by what angle the image 1000 should be rotated based on the plurality of lines constituting the tables 1100, 1200, and 1300 included in the image 1000. You can judge.

한편, 본 발명에 대한 설명에 앞서, 본 명세서에서 언급되는 “테이블(table)”은, 표(表)라고도 명명될 수 있으며, 어떤 내용을 일정한 형식 또는 순서에 따라 나타낸 것을 의미할 수 있다. 도 2를 참조하여 테이블의 구성 요소에 대하여 살펴보면, 테이블(200)은 적어도 하나의 셀(210)을 포함하여 구성될 수 있다. 즉, 테이블(200)은 적어도 하나의 셀(cell) 또는 공간(또는 영역)을 포함하고 있으며, 테이블은 이러한 셀(210) 내에 정보를 포함하도록 구성된다.Meanwhile, prior to the description of the present invention, the “table” mentioned in this specification may also be called a table, and may mean showing certain contents according to a certain format or order. Looking at the components of the table with reference to FIG. 2, the table 200 may be configured to include at least one cell 210. That is, the table 200 includes at least one cell or space (or area), and the table is configured to include information within this cell 210.

테이블에 포함된 셀(210)은, 적어도 4개의 선분(line segment에 의해 정의될 수 있다. 테이블(200) 및 테이블(200) 내에 구비된 셀의 형상은 직사각형(rectangular)의 형상으로 이루어진다.The cells 210 included in the table may be defined by at least four line segments. The table 200 and the cells provided within the table 200 have a rectangular shape.

즉, 테이블에 포함된 셀은 4개의 선분으로 둘러싸인 사각형으로 이루어질 수 있다. 본 발명에서 “선분(line segment)”은 선 또는 라인(line)의 적어도 일부로 이해되어질 수 있다. 각 셀을 구성하는 선분들이 연장되어 선 또는 라인을 이룰 수 있다. In other words, a cell included in a table may be made up of a square surrounded by four line segments. In the present invention, “line segment” may be understood as a line or at least part of a line. The line segments that make up each cell may be extended to form a line.

이와 같이, 하나의 사각 형상의 셀을 형성하기 위해서는, 최소 4개의 선분(a, b, c, d)이 필요하며, 이는, 테이블을 구성하는 2개의 수평 라인(horizontal line, 또는 행 방향의 라인, 또는 모서리(edge), 201, 202) 및 2개의 수직 라인(vertical line, 또는 열 방향의 라인, 또는 모서리(edge), 203, 204) 중 적어도 일부에 의해 이루어질 수 있다. 보다 구체적으로, 직사각 형상의 셀은, 2개의 수평 라인(201, 202) 및 2개의 수직 라인(203, 204)의 적어도 일부가 상호 교차하는 것에 의하여 형성될 수 있다.In this way, in order to form one square-shaped cell, at least four line segments (a, b, c, d) are required, which are the two horizontal lines (horizontal lines, or row-direction lines) that make up the table. , or an edge 201, 202) and two vertical lines (vertical line, or a line in a column direction, or an edge 203, 204). More specifically, a rectangular cell may be formed by at least a portion of two horizontal lines 201 and 202 and two vertical lines 203 and 204 intersecting each other.

따라서, 테이블(200)은 최소 4개의 라인을 포함하며, 수평 라인의 수, 수직 라인의 수, 라인 간의 간격, 라인의 배열 위치에 따라, 셀의 개수, 셀의 크기, 셀의 위치 등이 정의될 수 있다.Therefore, the table 200 includes at least four lines, and the number of cells, cell size, cell location, etc. are defined according to the number of horizontal lines, the number of vertical lines, the spacing between lines, and the arrangement position of the lines. It can be.

한편, 테이블(200)을 구성하는 복수의 라인들은 서로 다른 제1 타입 및 제2 타입 중 어느 하나의 타입으로 구분될 수 있으며, 이는 해당 라인이 어느 방향으로 연장되었는지에 따라 특정될 수 있다.Meanwhile, the plurality of lines constituting the table 200 may be divided into one of different first types and second types, and this may be specified depending on which direction the line extends.

도시와 같이, 수평 방향으로 연장되는 라인(201, 202)은, 제1 타입으로 정의되고, 수직 방향으로 연장되는 라인(203, 204)은 제2 타입으로 정의될 수 있다.As shown, lines 201 and 202 extending in the horizontal direction may be defined as the first type, and lines 203 and 204 extending in the vertical direction may be defined as the second type.

제1 타입의 라인은 가로 라인, 수평 라인, 행 라인, 가로 방향의 라인 등으로 그 의미가 동일 또는 유사한 용어로서 다양하게 명명될 수 있다.The first type of line may be variously named as horizontal lines, horizontal lines, row lines, horizontal lines, etc., terms with the same or similar meaning.

나아가, 제2 타입의 라인은 세로 라인, 수직 라인, 열 라인, 세로 방향의 라인 등으로 그 의미가 동일 또는 유사한 용어로서 다양하게 명명될 수 있다.Furthermore, the second type of line may be variously named as vertical lines, vertical lines, column lines, vertical lines, etc., terms with the same or similar meaning.

한편, 테이블(200)에 포함되는 셀의 개수, 셀의 크기 또는 셀의 위치 등은 가로 라인 및 세로 라인의 수, 배치 관계 등에 근거하여 다양하게 변형될 수 있으며, 셀들 간의 병합에 의해서도 다양하게 변형될 수 있다. Meanwhile, the number of cells, cell size, or cell location included in the table 200 can be varied in various ways based on the number of horizontal and vertical lines, placement relationships, etc., and can also be varied in various ways by merging between cells. It can be.

나아가, 본 발명에서 설명되는 테이블을 구성하는 구성 성분들은, 테이블을 구성하는 라인(가로 라인 및 세로 라인) 및 테이블을 구성하는 라인들이 교차(交叉)하면서 형성되는 코너(corner, 또는 꼭지점, 도면 부호 “e, f, g, h” 참조)를 포함할 수 있다.Furthermore, the components constituting the table described in the present invention include the lines constituting the table (horizontal lines and vertical lines) and the corners formed when the lines constituting the table intersect (corners, or vertices, reference numerals). may include “e, f, g, h”).

모든 테이블은 최소 4개의 코너를 가지며, 이는 테이블의 가장 바깥쪽 테두리에 포함되는 코너일 수 있다. 나아가, 테이블에 포함된 코너의 개수는 테이블에 포함된 셀의 개수에 따라 달라진다.Every table has at least four corners, which can be corners included in the outermost border of the table. Furthermore, the number of corners included in a table varies depending on the number of cells included in the table.

이하에서는, 위에서 살펴본 본 발명에 따른 테이블 인식 시스템의 구성에 기반하여, 테이블을 생성하는 방법에 대하여 보다 구체적으로 살펴본다.Below, we will look in more detail at the method of creating a table based on the configuration of the table recognition system according to the present invention discussed above.

도 3을 참조하면, 본 발명에 따른 테이블 인식 방법에서는, 먼저 테이블(1100, 1200, 1300)을 포함하는 이미지(1000, 도 1 참조)를 수신하는 과정이 진행될 수 있다(S310).Referring to FIG. 3, in the table recognition method according to the present invention, a process of first receiving an image 1000 (see FIG. 1) including tables 1100, 1200, and 1300 may be performed (S310).

앞서, 살펴본 것과 같이, 테이블(1100, 1200, 1300)이 포함된 이미지(1000)는 다양한 루트를 통하여 수신될 수 있다. 예를 들어, 상기 이미지(1000)는 통신부를 통하여 전송되거나, 스캔부를 통하여 스캔되거나, 입력부를 통하여 입력되는 방식 등을 통하여 수신될 수 있다.As discussed above, the image 1000 including the tables 1100, 1200, and 1300 may be received through various routes. For example, the image 1000 may be received through a method such as being transmitted through a communication unit, scanned through a scanning unit, or inputted through an input unit.

이미지(1000)가 수신되면, 다음으로 본 발명에서는 테이블(1100, 1200, 1300)을 구성하는 복수의 라인(line)을 추출하는 과정이 진행될 수 있다(S320).When the image 1000 is received, in the present invention, a process of extracting a plurality of lines constituting the tables 1100, 1200, and 1300 may be performed (S320).

앞서 살펴본 것과 같이, 테이블(1100, 1200, 1300)은 수평 라인 및 수직 라인으로 구성될 수 있다.As seen above, the tables 1100, 1200, and 1300 may be composed of horizontal lines and vertical lines.

제어부(140)는 Machine learning(ML) 방식을 기반으로 이미지(1000)로부터 테이블(1100, 1200, 1300)을 구성하는 수평 라인 및 수직 라인이 위치한 영역을 인식하고, 인식된 영역으로부터 테이블(1100, 1200, 1300)을 구성하는 수평 라인 및 수직 라인을 추출할 수 있다.The control unit 140 recognizes the area where the horizontal and vertical lines constituting the tables 1100, 1200, and 1300 are located from the image 1000 based on the machine learning (ML) method, and selects the table 1100 from the recognized area. 1200, 1300) can be extracted.

앞서 살펴본 것과 같이, 테이블(1100, 1200, 1300)을 구성하는 복수의 라인들은 서로 다른 제1 타입 및 제2 타입 중 어느 하나의 타입으로 구분될 수 있으며, 이는 해당 라인이 어느 방향으로 연장되었는지에 따라 특정될 수 있다.As seen above, the plurality of lines constituting the tables 1100, 1200, and 1300 can be divided into one of the first type and the second type, which depends on which direction the line extends. It can be specified accordingly.

예를 들어, 도 4의 (b)에 도시된 것과 같이, 수평 방향으로 연장되는 라인은, 제1 타입의 라인으로 정의되고, 도 4의 (b)에 도시된 것과 같이, 수직 방향으로 연장되는 라인은 제2 타입의 라인으로 정의될 수 있다.For example, as shown in (b) of FIG. 4, a line extending in the horizontal direction is defined as a first type of line, and as shown in (b) of FIG. 4, a line extending in the vertical direction is defined as a line of the first type. A line may be defined as a second type of line.

제1 타입의 라인은 가로 라인, 수평 라인, 행 라인, 가로 방향의 라인 등으로 그 의미가 동일 또는 유사한 용어로서 다양하게 명명될 수 있다.The first type of line may be variously named as horizontal lines, horizontal lines, row lines, horizontal lines, etc., terms with the same or similar meaning.

나아가, 제2 타입의 라인은 세로 라인, 수직 라인, 열 라인, 세로 방향의 라인 등으로 그 의미가 동일 또는 유사한 용어로서 다양하게 명명될 수 있다.Furthermore, the second type of line may be variously named as vertical lines, vertical lines, column lines, vertical lines, etc., terms with the same or similar meaning.

제어부(140)는 다양한 이미지 처리 방식(예를 들어, Hough transform 등을 이용하여, 이미지(1000)로부터, 복수의 라인들을 각각 추출할 수 있다.The control unit 140 may extract a plurality of lines from the image 1000 using various image processing methods (eg, Hough transform, etc.).

한편, 도 4의 (a) 및 도 5의 (a)에 도시된 것과 같이, 이미지(1000)에는 복수의 테이블(1100, 1200, 1300)이 포함될 수 있다. 이 경우, 제어부(140)는 이미지(1000)에 포함된 제1 테이블(1100), 제2 테이블(1200) 및 제3 테이블(1300)로부터 복수의 라인을 각각 추출할 수 있다.Meanwhile, as shown in (a) of FIG. 4 and (a) of FIG. 5, the image 1000 may include a plurality of tables 1100, 1200, and 1300. In this case, the control unit 140 may extract a plurality of lines from the first table 1100, the second table 1200, and the third table 1300 included in the image 1000, respectively.

보다 구체적으로, 제어부(140)는 도 4의 (a)에 도시된 것과 같이, 제1 테이블(1100), 제2 테이블(1200) 및 제3 테이블(1300)로부터, 도 4의 (b)에 도시된 것과 같이, 제1 타입의 라인, 즉, 수평 라인(1100a, 1200a, 1300c)을 각각 추출할 수 있다.More specifically, as shown in (a) of FIG. 4, the control unit 140 operates from the first table 1100, the second table 1200, and the third table 1300 to (b) of FIG. 4. As shown, the first type of line, that is, the horizontal lines 1100a, 1200a, and 1300c, can be extracted, respectively.

나아가, 제어부(140)는 도 5의 (a)에 도시된 것과 같이, 제1 테이블(1100), 제2 테이블(1200) 및 제3 테이블(1300)로부터, 도 5의 (b)에 도시된 것과 같이, 제2 타입의 라인, 즉, 수직 라인(1100b, 1200b, 1300b)을 각각 추출할 수 있다.Furthermore, as shown in (a) of FIG. 5, the control unit 140 operates from the first table 1100, the second table 1200, and the third table 1300, as shown in (b) of FIG. 5. Likewise, the second type of line, that is, the vertical lines 1100b, 1200b, and 1300b, can be extracted, respectively.

이렇게 추출된 수평 라인(1100a, 1200a, 1300c) 및 수직 라인(1100b, 1200b, 1300b)에 대한 정보는 저장부(120)에 저장될 수 있다.Information about the horizontal lines (1100a, 1200a, 1300c) and vertical lines (1100b, 1200b, 1300b) extracted in this way may be stored in the storage unit 120.

이와 같이, 테이블(1100, 1200, 1300)로부터 복수의 라인들이 추출된 경우, 본 발명에서는 복수의 라인들의 회전 정도를 추출하는 과정을 진행할 수 있다(S330).In this way, when a plurality of lines are extracted from the tables 1100, 1200, and 1300, the present invention can proceed with the process of extracting the degree of rotation of the plurality of lines (S330).

보다 구체적으로, 제어부(140)는 기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출할 수 있다.More specifically, the control unit 140 may calculate the degree of rotation of the plurality of lines based on the reference line.

도 6a의 (a) 및 (b)에 도시된 것과 같이, 기준 라인(600)은 기준이 되는 라인(또는 선)으로서, “기준 선”이라고도 명명될 수 있다.As shown in (a) and (b) of FIG. 6A, the reference line 600 is a reference line (or line) and may also be called a “reference line.”

이러한 기준 라인(600)은 복수의 라인들의 회전 정도를 판단하기 위한 기준이되는 개념으로서, 다양한 용어로도 표현될 수 있다. 예를 들어, 기준 라인(600)은 기준, 특정 기준, 기준 점, 원점, 영점, 0도 라인 등의 용어와 같이, 다양한 용어로도 대체 가능하다.This reference line 600 is a standard concept for determining the degree of rotation of a plurality of lines, and can be expressed in various terms. For example, the reference line 600 can be replaced by various terms such as reference, specific reference, reference point, origin, zero point, and 0 degree line.

기준 라인(600)은, 테이블(1100, 1200, 1300)로부터 추출된 복수의 라인들(1100a, 1200a, 1300a, 1100b, 1200b, 1300b)의 회전 정도를 산출하는 기준이되는 라인일 수 있다.The reference line 600 may be a reference line for calculating the degree of rotation of the plurality of lines 1100a, 1200a, 1300a, 1100b, 1200b, and 1300b extracted from the tables 1100, 1200, and 1300.

제어부(140)는 복수의 라인들 각각이 기준 라인(600)과 교차되었을 경우, 복수의 라인 각각이 기준 라인(600)과 이루는 각도에 근거하여, 상기 회전 정도를 산출할 수 있다.When each of the plurality of lines intersects the reference line 600, the control unit 140 may calculate the degree of rotation based on the angle each of the plurality of lines makes with the reference line 600.

여기에서, 회전 정도는, 기준 라인(600)에 대해 복수의 라인들 각각이 이루는 회전 각도 및 회전 방향 중 적어도 하나와 관련될 수 있다.Here, the degree of rotation may be related to at least one of the rotation angle and rotation direction formed by each of the plurality of lines with respect to the reference line 600.

제어부(140)는 도 6b의 (a) 및 (b)에 도시된 것과 같이, 기준 라인(600)을 기준으로, 테이블로부터 추출된 라인(610, 620)의 회전 방향을 추출하고, 기준 라인(600)과 테이블로부터 추출된 라인(610, 620)이 이루는 각도(θ1, θ2)를 산출할 수 있다.As shown in (a) and (b) of FIG. 6B, the control unit 140 extracts the rotation direction of the lines 610 and 620 extracted from the table based on the reference line 600, and selects the reference line ( The angles (θ1, θ2) formed by 600) and the lines 610 and 620 extracted from the table can be calculated.

제어부(140)는 테이블(1100, 1200, 1300)로부터 추출된 모든 라인에 대하여, 위의 과정을 수행할 수 있다. The control unit 140 can perform the above process for all lines extracted from the tables 1100, 1200, and 1300.

이와 달리, 제어부(140)는 테이블(1100, 1200, 1300)로부터 추출된 모든 라인 등 중 적어도 일부 대하여, 위의 과정을 수행할 수 있다.In contrast, the control unit 140 may perform the above process for at least some of all lines extracted from the tables 1100, 1200, and 1300.

한편, 기준 라인(600)을 기준으로, 테이블로부터 추출된 라인(610, 620)의 회전 방향은 도 6b의 (a)에 도시된 것과 같이, 반시계 방향 및 도 6b의 (b)에 도시된 것과 같이, 시계 방향 중 어느 하나일 수 있다.Meanwhile, based on the reference line 600, the rotation direction of the lines 610 and 620 extracted from the table is counterclockwise as shown in (a) of FIG. 6B and counterclockwise as shown in (b) of FIG. 6B. Likewise, it can be either clockwise.

나아가, 제어부(140)는 기준 라인(600)과 테이블로부터 추출된 라인(610, 620)이 이루는 각도(또는 사잇각, θ1, θ2)를 기 설정된 범위(-90도에서 +90도) 내에서 고려할 수 있다. 즉, 제어부(140)는 기 설정된 범위(또는 각도 범위) 내에서, 기준 라인(600)과 테이블로부터 추출된 라인(610, 620)이 이루는 각도(사잇각)를 추출할 수 있다. Furthermore, the control unit 140 considers the angle (or included angle, θ1, θ2) between the reference line 600 and the lines 610 and 620 extracted from the table within a preset range (-90 degrees to +90 degrees). You can. That is, the control unit 140 can extract the angle (included angle) formed between the reference line 600 and the lines 610 and 620 extracted from the table within a preset range (or angle range).

기준 라인(600)과 테이블로부터 추출된 라인(610)은 반시계 방향으로 90도까지의 범위 내에서의 회전 각도를 이루거나, 시계 방향으로의 90도(-90도에 해당)까지의 범위 내에서의 사잇각을 이룰 수 있다.The reference line 600 and the line 610 extracted from the table form a rotation angle within the range of 90 degrees counterclockwise, or within the range of 90 degrees clockwise (corresponding to -90 degrees). The angle between can be achieved.

예를 들어, 도 6b의 (a)에 도시된 것과 같이, 추출된 라인(610)의 회전 각도(θ1)가 +30도(사잇각이 +30도인 경우)인 경우, 이는 추출된 라인(610)이 기준 라인(600)에 대해 반시계 방향으로 30도 회전되어 있다는 것을 의미할 수 있다.For example, as shown in (a) of FIG. 6B, when the rotation angle θ1 of the extracted line 610 is +30 degrees (when the included angle is +30 degrees), this is the extracted line 610 This may mean that the reference line 600 is rotated 30 degrees counterclockwise.

나아가, 도 6b의 (b)에 도시된 것과 같이, 추출된 라인(620)의 회전 각도(θ2)가 -30도(사잇각이 -30도인 경우)인 경우, 이는 추출된 라인(620)이 기준 라인(600)에 대해 시계 방향으로 30도 회전되어 있다는 것을 의미할 수 있다.Furthermore, as shown in (b) of FIG. 6B, when the rotation angle θ2 of the extracted line 620 is -30 degrees (when the included angle is -30 degrees), this means that the extracted line 620 is the reference. This may mean that the line 600 is rotated 30 degrees clockwise.

이와 같이, 제어부(140)는 테이블(1100, 1200, 1300)로부터 추출된 복수의 라인들(1100a, 1200a, 1300a, 1100b, 1200b, 1300b)이 기준 라인(600) 대비 어느 방향(예를 들어, 반시계 방향 또는 시계 방향)으로 몇도 회전되었는지를 추출(또는 산출)할 수 있으며, 이는 -90도에서 +90도의 범위 내에서 표현될 수 있다.In this way, the control unit 140 determines which direction (e.g., The number of degrees rotated (counterclockwise or clockwise) can be extracted (or calculated), which can be expressed within the range of -90 degrees to +90 degrees.

이러한, -90도 에서 +90도는 사잇각이 갖는 범위일 수 있다. 즉, 사잇각은 회전된 각도 및 회전 방향을 함께 나타낼 수 있다.The included angle may range from -90 degrees to +90 degrees. In other words, the included angle can represent both the rotated angle and the direction of rotation.

즉, + 또는 -의 부호는, 추출된 라인들(1100a, 1200a, 1300a, 1100b, 1200b, 1300b)이 기준 라인(600)에 대해 반시계방향으로 회전되었는지 또는 시계 방향으로 회전되었는지를 의미할 수 있다.That is, the sign of + or - can mean whether the extracted lines (1100a, 1200a, 1300a, 1100b, 1200b, 1300b) are rotated counterclockwise or clockwise with respect to the reference line 600. there is.

이와 같이, 제어부(140)는 기준 라인에 대해 복수의 라인들 각각이 회전된 회전 각도 및 회전 방향을 산출하는 과정을 통해, 기준 라인에 대해 복수의 라인들 각각이 회전된 회전 정도를 산출(또는 추출)할 수 있다.In this way, the control unit 140 calculates the degree of rotation by which each of the plurality of lines is rotated with respect to the reference line through the process of calculating the rotation angle and direction of rotation of each of the plurality of lines with respect to the reference line (or extraction) can be done.

한편, 본 발명에서, 기준 라인은 제1 타입의 라인, 즉 수평 라인에 해당할 수 있다. 이 경우, 제어부(140)는, 테이블로부터 추출된 복수의 라인들 각각이 제1 타입 및 제2 타입 중 어느 타입에 해당하는지에 따라 서로 다른 연산을 수행함으로써, 회전 정도를 산출할 수 있다.Meanwhile, in the present invention, the reference line may correspond to a first type of line, that is, a horizontal line. In this case, the control unit 140 may calculate the degree of rotation by performing different calculations depending on which type of the first type or the second type each of the plurality of lines extracted from the table corresponds to.

먼저, 제어부(140)는 복수의 라인들 중 기준 라인과 동일한 타입을 갖는 제1 타입의 라인들(1100a, 1200a, 1300a)에 대해서는, 위에서 살펴본 것과 같은 방법으로, 제1 타입의 라인들의 회전 정도를 추출할 수 있다.First, the control unit 140 determines the degree of rotation of the first type lines 1100a, 1200a, and 1300a having the same type as the reference line among the plurality of lines in the same manner as described above. can be extracted.

즉, 제어부(140)는 기준 라인(600)과 상기 제1 타입의 라인들(1100a, 1200a, 1300a) 각각이 이루는 기 설정된 범위(또는 기 설정된 각도 범위) 이내에서의 사잇각(angle of intersections)을 구하는 연산을 통해, 상기 제1 타입의 라인들(1100a, 1200a, 1300a)의 회전 정도를 추출할 수 있다.That is, the control unit 140 controls the angle of intersections within a preset range (or preset angle range) formed by the reference line 600 and each of the first type lines (1100a, 1200a, 1300a). Through the calculation, the degree of rotation of the first type lines 1100a, 1200a, and 1300a can be extracted.

다음으로, 제어부(140)는 복수의 라인들 중 기준 라인(600)과 다른 타입 타입을 갖는 제2 타입의 라인들(1100b, 1200b, 1300b)에 대해서는, 제1 타입의 라인들의 회전 정도를 추출하는 연산에서, 추가적인 연산을 수행할 수 있다.Next, the control unit 140 extracts the rotation degree of the first type lines for the second type lines 1100b, 1200b, and 1300b that have a different type from the reference line 600 among the plurality of lines. In the calculation, additional calculations can be performed.

제어부(140)는 기준 라인(600)과 상기 제2 타입의 라인들(1100b, 1200b, 1300b) 각각이 이루는 기 설정된 범위 이내에서의 사잇각(angle of intersections)을 산출하는 제1 연산 및 상기 제1 연산의 결과에 해당하는 사잇각에 기 설정된 각도를 더하는 제2 연산을 수행할 수 있다. 여기에서, 기 설정된 각도는 +90도에 해당할 수 있다. The control unit 140 performs a first operation for calculating the angle of intersections within a preset range formed by the reference line 600 and each of the second type lines (1100b, 1200b, 1300b) and the first operation. A second operation may be performed by adding a preset angle to the included angle corresponding to the result of the operation. Here, the preset angle may correspond to +90 degrees.

즉, 제어부(140)는 기준 라인(600)과 제2 타입의 라인들(1100b, 1200b, 1300b)각각이 이루는 기 설정된 범위 이내에서의 사잇각에 반시계 방향으로 90도(+90도)를 더하여, 보정된 사잇각을 구할 수 있다. 이러한 보정된 사잇각은, “제2 타입의 라인들의 회전 정도”라고도 표현될 수 있다. That is, the control unit 140 adds 90 degrees (+90 degrees) counterclockwise to the angle between the reference line 600 and the second type lines 1100b, 1200b, and 1300b within a preset range. , the corrected included angle can be obtained. This corrected included angle can also be expressed as “the degree of rotation of the second type of lines.”

예를 들어, 특정 제2 타입의 라인의 제1 연산의 결과에 해당하는 사잇각이 -70도인 경우, 보정된 사잇각은 +20도일 수 있다. 이 경우, 상기 특정 제2 타입의 라인의 회전 정도는, 기준 라인에 대해 반시계 방향으로 20도 회전되었다고 이해되어질 수 있다.For example, if the included angle corresponding to the result of the first operation of the specific second type of line is -70 degrees, the corrected included angle may be +20 degrees. In this case, the degree of rotation of the specific second type of line can be understood as being rotated 20 degrees counterclockwise with respect to the reference line.

이러한 제2 연산은, 제2 타입의 라인들을 기준 라인의 라인 타입(제1 타입)과 동일한 타입으로 전환되도록 하는 연산으로 이해되어질 수 있으며, 이는 테이블(1100, 1200, 1300)에 포함된 복수의 라인들의 회전 정도를 함께 고려하기 위함이다.This second operation can be understood as an operation that converts the second type of lines to the same type as the line type (first type) of the reference line, which is a plurality of operations included in the tables 1100, 1200, and 1300. This is to consider the degree of rotation of the lines together.

한편, 제어부(140)는 위에서 살펴본 방식으로 산출된 기준 라인(600)에 대한 제1 타입의 라인들(1100a, 1200a, 1300a) 각각의 회전정도 및 제2 타입의 라인들(1100b, 1200b, 1300b) 각각의 회전 정도를 고려하여, 상기 제1 타입의 라인들(1100a, 1200a, 1300a)의 회전 정도 및 상기 제2 타입의 라인들(1100b, 1200b, 1300b)의 회전 정도에 대한 중간값(또는 중앙값, median)을 산출할 수 있다.Meanwhile, the control unit 140 determines the degree of rotation of each of the first type lines (1100a, 1200a, 1300a) and the second type lines (1100b, 1200b, 1300b) with respect to the reference line 600 calculated in the manner described above. ) Considering each degree of rotation, the median value (or The median can be calculated.

이러한, 중간값을 산출하는 과정은, 제1 타입의 라인들(1100a, 1200a, 1300a) 각각의 회전 정도(또는 사잇각) 및 상기 제2 타입의 라인들(1100b, 1200b, 1300b)의 회전 정도(또는 보정된 사잇각)에 대한 중간값을 산출하는 과정으로 이해되어질 수 있다.This process of calculating the median value includes the degree of rotation (or angle between angles) of each of the first type lines (1100a, 1200a, 1300a) and the degree of rotation of the lines (1100b, 1200b, 1300b) of the second type. It can be understood as a process of calculating the intermediate value for the corrected included angle).

중간값은 제1 타입의 라인들(1100a, 1200a, 1300a) 각각의 회전 정도(또는 사잇각) 및 상기 제2 타입의 라인들(1100b, 1200b, 1300b)의 회전 정도(또는 보정된 사잇각) 각각에 대응되는 값의 중앙에 위치하는 값을 의미할 수 있다. 제어부(140)는 제1 타입의 라인들(1100a, 1200a, 1300a) 각각의 사잇각들 및 제2 타입의 라인들(1100b, 1200b, 1300b) 각각의 보정된 사잇각들에 대한 중간 값(이하, “중간 사잇각”으로 명명함)을 산출할 수 있다.The median value is the rotation degree (or included angle) of each of the first type lines (1100a, 1200a, 1300a) and the rotation degree (or corrected included angle) of the second type lines (1100b, 1200b, 1300b). It may mean a value located at the center of the corresponding values. The control unit 140 determines the median value (hereinafter, “ (named “middle included angle”) can be calculated.

예를 들어, 제1 타입의 라인들(1100a, 1200a, 1300a)이 8개 존재하는 경우, 8개의 사잇각이 존재할 수 있다. 마찬가지로, 제2 타입의 라인들(1100b, 1200b, 1300b)이 8개 존재하는 경우, 8개의 보정된 사잇각이 존재할 수 있다. For example, when there are eight first type lines 1100a, 1200a, and 1300a, there may be eight included angles. Similarly, when there are eight second type lines (1100b, 1200b, 1300b), there may be eight corrected included angles.

이 경우, 8개의 사잇각 및 8개의 보정된 사잇각이 각각 +20, +17, +18, +15, +20, +20, +15, +15, +15, +25, +15, +15, +16, +15, +13, +20임을 가정해보자.In this case, the 8 included angles and 8 corrected included angles are +20, +17, +18, +15, +20, +20, +15, +15, +15, +25, +15, +15, Let's assume +16, +15, +13, +20.

이 경우, 8개의 사잇각 및 8개의 보정된 사잇각의 중간 사잇각은, +15.5로 산출될 수 있다. In this case, the intermediate included angle of the eight included angles and eight corrected included angles can be calculated as +15.5.

이와 같이, 복수의 라인들의 회전 정도가 산출된 경우, 본 발명에서는 회전 정도에 근거하여, 테이블에 대한 회전이 수행되도록 이미지를 보정하는 과정이 진행될 수 있다(S340).In this way, when the degree of rotation of a plurality of lines is calculated, in the present invention, a process of correcting the image so that rotation with respect to the table is performed based on the degree of rotation can be performed (S340).

보다 구체적으로 제어부(140) 제1 타입의 라인들(1100a, 1200a, 1300a) 각각의 사잇각들 및 제2 타입의 라인들(1100b, 1200b, 1300b) 각각의 보정된 사잇각들에 대한 중간 사잇각(또는 중간 값)을 이용하여, 이미지를 보정할 수 있다.More specifically, the control unit 140 determines the intermediate angles (or The image can be corrected using the median value.

제어부(140)는 상기 중간 사잇각에 근거하여, 테이블(1100, 1200, 1300)에 대한 회전이 수행되도록 테이블(1100, 1200, 1300)이 포함된 이미지(1000)를 보정할 수 있다.The control unit 140 may correct the image 1000 including the tables 1100, 1200, and 1300 so that rotation of the tables 1100, 1200, and 1300 is performed based on the intermediate angle.

제어부(140)는, 상기 중간 사잇각에 해당하는 기준 라인에 대한 회전 정도에 대응되는 특정 각도만큼 일 방향을 따라 이미지(1000)를 회전하는 보정을 수행할 수 있다. 여기에서, 일 방향은, 중간 사잇각에 해당하는 회전 방향과 반대되는 회전방향일 수 있다. 예를 들어, 중간 사잇각에 해당하는 회전 방향이 반시계 방향인 경우, 일 방향은 시계 방향일 수 있다.The control unit 140 may perform correction by rotating the image 1000 along one direction by a specific angle corresponding to the degree of rotation with respect to the reference line corresponding to the intermediate included angle. Here, one direction may be a rotation direction opposite to the rotation direction corresponding to the intermediate included angle. For example, if the direction of rotation corresponding to the intermediate angle is counterclockwise, one direction may be clockwise.

보다 구체적으로, 제어부(140)는 중간 사잇각에 해당하는 회전 방향(시계 방향 또는 반시계 방향)과 반대되는 회전방향(반시계 방향 또는 시계 방향)으로, 중간 사잇각에 해당하는 각도만큼 이미지(1000)를 회전시킬 수 있다. 예를 들어, 도 4의 (a) 및 도 4의 (b)에서 살펴본 이미지(1000)에 포함된 테이블(1100, 1200, 1300)의 복수의 라인들의 중간 사잇각이 +20도인 경우, 이는 테이블(1100, 1200, 1300)이 기준 라인 대비 반시계 방향으로 약 20도 정도 회전되어 있다는 것을 의미할 수 있다.More specifically, the control unit 140 displays the image 1000 by the angle corresponding to the intermediate angle in a rotation direction (counterclockwise or clockwise) opposite to the rotation direction (clockwise or counterclockwise) corresponding to the intermediate angle. can be rotated. For example, if the intermediate angle between the plurality of lines of the tables 1100, 1200, and 1300 included in the image 1000 seen in Figures 4 (a) and 4 (b) is +20 degrees, this is the table ( 1100, 1200, 1300) may mean that it is rotated about 20 degrees counterclockwise relative to the reference line.

이 경우, 제어부(140)는 도 9의 (a)에 도시된 것과 같이, 시계 방향으로 20도만큼 이미지를 회전시킴으로써, 테이블(1100’, 1200’, 1300’)이 기준 라인과 유사하게 놓여지도록 이미지(1000’)를 보정할 수 있다. 즉, 제어부(130)는 이미지를 -20도 만큼 회전시킬 수 있다.In this case, the control unit 140 rotates the image by 20 degrees clockwise, as shown in (a) of FIG. 9, so that the tables 1100', 1200', and 1300' are placed similar to the reference line. The image (1000') can be corrected. That is, the control unit 130 can rotate the image by -20 degrees.

한편, 중간 사잇각에 해당하는 각도만큼 이미지(1000)를 회전시킨다는 것은, 이미지(1000)에 포함된 테이블(1100, 1200, 1300), 즉, 이미지에 포함된 제1 타입의 라인들(1100a, 1200a, 1300a) 및 제2 타입의 라인들(1100b, 1200b, 1300b)을 회전하는 것과 동일한 의미를 가질 수 있다.Meanwhile, rotating the image 1000 by an angle corresponding to the middle angle means that the tables 1100, 1200, and 1300 included in the image 1000, that is, the first type of lines 1100a and 1200a included in the image. , 1300a) and may have the same meaning as rotating the second type lines 1100b, 1200b, and 1300b.

제어부(140)는, 도 7의 (a), (b) 및 (c)에 도시된 것과 같이, 제1 테이블(1100)에 대응되는 제1 타입의 라인들(1100a’), 제2 테이블(1200)에 대응되는 제1 타입의 라인들(1200a’), 및 제3 테이블(1300)에 대응되는 제1 타입의 라인들(1300a’)을 중간 사잇각에 대응되는 각도만큼 회전시킬 수 있다. 보다 구체적으로, 제어부(140)는 중간 사잇각에 해당하는 회전 방향과 반대되는 방향으로 라인들을 회전시킬 수 있다. 그 결과, 제1 테이블(1100)에 대응되는 제1 타입의 라인들(1100a’), 제2 테이블(1200)에 대응되는 제1 타입의 라인들(1200a’), 및 제3 테이블(1300)에 대응되는 제1 타입의 라인들(1300a’)은 기준 라인(620)과 평행 또는 이와 유사하게 놓여질 수 있다.As shown in (a), (b), and (c) of FIG. 7, the control unit 140 controls first type lines 1100a' corresponding to the first table 1100, and a second table ( The first type of lines 1200a' corresponding to 1200 and the first type of lines 1300a' corresponding to the third table 1300 may be rotated by an angle corresponding to the intermediate angle. More specifically, the control unit 140 may rotate the lines in a direction opposite to the rotation direction corresponding to the intermediate angle. As a result, first type lines 1100a' corresponding to the first table 1100, first type lines 1200a' corresponding to the second table 1200, and third table 1300. The first type of lines 1300a' corresponding to may be placed parallel to or similar to the reference line 620.

마찬가지로, 제어부(140)는, 도 8의 (a), (b) 및 (c)에 도시된 것과 같이, 제1 테이블(1100)에 대응되는 제2 타입의 라인들(1100b’), 제2 테이블(1200)에 대응되는 제2 타입의 라인들(1200b’), 및 제3 테이블(1300)에 대응되는 제2 타입의 라인들(1300b’)을 중간 사잇각에 대응되는 각도만큼 회전시킬 수 있다. 보다 구체적으로, 제어부(140)는 중간 사잇각에 해당하는 회전 방향과 반대되는 방향으로 라인들을 회전시킬 수 있다. 그 결과 제1 테이블(1100)에 대응되는 제1 타입의 라인들(1100b’), 제2 테이블(1200)에 대응되는 제1 타입의 라인들(1200b’), 및 제3 테이블(1300)에 대응되는 제1 타입의 라인들(1300b)은 기준 라인(620)과 수직 또는 이와 유사하게 놓여질 수 있다.Likewise, the control unit 140, as shown in (a), (b), and (c) of Figure 8, the second type of lines (1100b') corresponding to the first table (1100), the second The second type of lines 1200b' corresponding to the table 1200 and the second type of lines 1300b' corresponding to the third table 1300 can be rotated by an angle corresponding to the intermediate angle. . More specifically, the control unit 140 may rotate the lines in a direction opposite to the rotation direction corresponding to the intermediate angle. As a result, the first type of lines 1100b' corresponding to the first table 1100, the first type of lines 1200b' corresponding to the second table 1200, and the third table 1300. The corresponding first type lines 1300b may be placed perpendicular to the reference line 620 or similar thereto.

한편, 도 9의 (a)에 도시된 것과 같이, 중간 사잇각에 근거하여, 이미지(1000’)가 회전 보정된 경우, 제어부(140)는, 이미지(1000’)로부터 테이블(1100’, 1200’, 1300’)에 포함된 정보 특성 및 구조 특성 중 적어도 하나를 추출할 수 있다. Meanwhile, as shown in (a) of FIG. 9, when the image 1000' is rotation corrected based on the intermediate angle, the control unit 140 selects the tables 1100' and 1200' from the image 1000'. , 1300'), at least one of the information characteristics and structural characteristics included in the object can be extracted.

즉, 제어부(140)는, 회전된 테이블로부터 테이블의 구조 및 테이블에 포함된 정보 중 적어도 하나를 과정을 수행할 수 있다.That is, the control unit 140 can process at least one of the structure of the table and the information contained in the table from the rotated table.

여기에서, 테이블(1100’, 1200’, 1300’)에 포함된 정보 특성의 추출은, 테이블(1100’, 1200’, 1300’, 또는 회전된 테이블)에 포함된 텍스트(또는 문자) 및 상기 텍스트의 위치 정보가 추출되는 것을 포함할 수 있다.Here, the extraction of information characteristics included in the table (1100', 1200', 1300') includes the text (or characters) included in the table (1100', 1200', 1300', or rotated table) and the text. It may include extracting location information.

나아가, 테이블(1100’, 1200’, 1300’)에 포함된 구조 특성의 추출은, 테이블(1100’, 1200’, 1300’, 또는 회전된 테이블)에 포함된 적어도 하나의 셀이 인식되고, 인식된 셀 간의 연관성이 추출되는 것을 포함할 수 있다.Furthermore, extraction of structural characteristics included in the table (1100', 1200', 1300') means that at least one cell included in the table (1100', 1200', 1300', or rotated table) is recognized and recognized. This may include extracting associations between cells.

이러한, 정보 특성 및 구조 특성의 추출을 통하여, 테이블(1100’, 1200’, 1300’)는 다양한 정보들이 추출 및 데이터화될 수 있다.Through the extraction of information characteristics and structural characteristics, various information can be extracted and converted into data in the tables (1100', 1200', and 1300').

한편, 이러한 정보 특성 및 구조 특성에 해당하는 정보들은 저자웁(120)에 저장될 수 있다. 나아가, 정보 특성에 따른 정보는 앞서 살펴본 OCR부(130)를 통해 추출될 수 있다.Meanwhile, information corresponding to these information characteristics and structural characteristics may be stored in the low-tech software 120. Furthermore, information according to information characteristics can be extracted through the OCR unit 130 discussed above.

한편, 제어부(130)는 회전된 테이블(1100’, 1200’, 1300’)로부터 상기 정보 특성 및 상기 구조 특성의 추출이 완료되는 것에 근거하여, 회전된 테이블(1100’, 1200’, 1300’)을 다시 재회전시킬 수 있다.Meanwhile, the control unit 130 operates the rotated tables 1100', 1200', and 1300' based on the extraction of the information characteristics and the structural characteristics from the rotated tables 1100', 1200', and 1300'. can be re-rotated again.

제어부(130)는 중각 사잇각에 해당하는 방향(예를 들어, 시계 방향)으로, 도 9의(a)에 도시된 회전된 테이블(1100’, 1200’, 1300’)이 도 9의 (b)에 도시된 것과 같이, 다시 회전되도록, 상기 일 방향(예를 들어, 시계 방향)과 반대되는 방향(예를 들어, 반시계 방향)으로 상기 중각 사잇각에 해당하는 특정 각도 만큼 상기 이미지(또는 회전된 이미지, 1000’)를 회전하는 보정을 수행할 수 있다. The control unit 130 rotates the rotated tables 1100', 1200', and 1300' shown in (a) of FIG. 9 in the direction corresponding to the intermediate angle (e.g., clockwise) in (b) of FIG. 9. As shown in, the image (or rotated) by a specific angle corresponding to the intermediate angle in a direction opposite to the one direction (e.g., clockwise) (e.g., counterclockwise) to be rotated again. Correction can be performed by rotating the image, 1000').

이는, 이미지(1000)로부터 추출된 데이터에 대한 사용자의 심리적인 신뢰도를 위한 것으로서, 본 발명에서는 위의 과정을 통해 사용자에게, 스캔된 최초의 이미지(1000)로부터 데이터가 추출되었다는 심리적인 안정감 및 신뢰도를 줄 수 있다.This is for the user's psychological reliability of the data extracted from the image 1000. In the present invention, through the above process, the user is provided with psychological stability and reliability that data has been extracted from the first scanned image 1000. can be given.

위에서 살펴본 것과 같이, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은, 이미지에 포함된 테이블이 회전되어 있는 경우, 이를 바로잡는 보정을 통하여, 테이블에 대한 인식 성능을 높일 수 있다.As seen above, the image correction method and system including a table according to the present invention can improve recognition performance for the table through correction to correct if the table included in the image is rotated.

보다 구체적으로, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은, 테이블을 구성하는 복수의 라인들 추출하고, 이들의 회전 정도를 산출할 수 있다. 나아가, 본 발명에 따른 테이블 인식 방법 및 시스템은, 이러한 회전 정도에 근거하여, 테이블이 기준 라인에 비하여 얼만큼 회전되어 있는지를 판단하고, 판단된 결과에 기반하여 테이블의 회전이 보정되도록 이미지에 대한 보정이 수행될 수 있다.More specifically, the image correction method and system including the table according to the present invention can extract a plurality of lines constituting the table and calculate the degree of rotation thereof. Furthermore, the table recognition method and system according to the present invention determines how much the table is rotated relative to the reference line based on the degree of rotation, and adjusts the image to correct the rotation of the table based on the determined result. Correction may be performed.

이러한 이미지의 보정은, 테이블을 구성하는 정보에 대한 인식률을 높이기 위한 전처리 과정에 해당할 수 있으며, 결과적으로, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은 이미지에 포함된 테이블의 인식 성능을 높일 수 있다. 나아가, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템에 의하여, 테이블에 대한 인식 성능이 높아지는 경우, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.Correction of such an image may correspond to a pre-processing process to increase the recognition rate of the information constituting the table, and as a result, the method and system for correcting an image including a table according to the present invention improve the recognition performance of the table included in the image. can increase. Furthermore, when recognition performance for a table is increased by the image correction method and system including a table according to the present invention, it is possible to create a table having the same structure as the table included in the image.

한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체(또는 기록 매체)에 저장 가능한 프로그램으로서 구현될 수 있다.Meanwhile, the present invention discussed above can be implemented as a program that is executed by one or more processes on a computer and can be stored in a medium (or recording medium) that can be read by such a computer.

나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다. Furthermore, the present invention discussed above can be implemented as computer-readable codes or instructions on a program-recorded medium. That is, the present invention may be provided in the form of a program.

한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. Meanwhile, computer-readable media includes all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is.

나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.Furthermore, the computer-readable medium may be a server or cloud storage that includes storage and can be accessed by electronic devices through communication. In this case, the computer can download the program according to the present invention from a server or cloud storage through wired or wireless communication.

나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.Furthermore, in the present invention, the computer described above is an electronic device equipped with a processor, that is, a CPU (Central Processing Unit), and there is no particular limitation on its type.

한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.Meanwhile, the above detailed description should not be construed as restrictive in all respects and should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (15)

수평 방향을 따라 연장되는 제1 타입의 라인들 및 수직 방향을 따라 연장되는 제2 타입의 라인들로 구성된 테이블(table)을 포함하는 이미지를 수신하는 단계;
상기 이미지로부터, 상기 테이블을 구성하는 상기 제1 타입의 라인들 및 상기 제2 타입의 라인들을 추출하는 단계;
기준 라인을 기준으로, 상기 제1 타입의 라인들 및 상기 제2 타입의 라인들 각각의 회전 정도를 산출하는 단계; 및
상기 제1 타입의 라인들 및 상기 제2 타입의 라인들 각각의 회전 정도에 근거하여 산출되는 특정 값에 대응하여 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 단계를 포함하는 것을 특징으로 하는 이미지 보정 방법.
Receiving an image including a table consisting of a first type of lines extending along a horizontal direction and a second type of lines extending along a vertical direction;
extracting, from the image, the first type of lines and the second type of lines constituting the table;
calculating rotation degrees of each of the first type lines and the second type lines based on a reference line; and
Comprising the step of correcting the image so that rotation of the table is performed in response to a specific value calculated based on the degree of rotation of each of the first type of lines and the second type of lines. How to correct images.
제1항에 있어서,
상기 회전 정도를 산출하는 단계에서는,
상기 기준 라인에 대해 상기 제1 타입의 라인들 및 상기 제2 타입의 라인들 각각이 회전된 회전 각도 및 회전 방향을 산출하는 것을 특징으로 하는 이미지 보정 방법.
According to paragraph 1,
In the step of calculating the rotation degree,
An image correction method, characterized in that calculating a rotation angle and rotation direction by which each of the first type of lines and the second type of lines is rotated with respect to the reference line.
제2항에 있어서,
상기 회전 정도는,
상기 라인들 각각이 상기 제1 타입 및 상기 제2 타입 중 어느 타입에 해당하는지에 따라 서로 다른 연산을 통해 산출되는 것을 특징으로 하는 이미지 보정 방법.
According to paragraph 2,
The rotation degree is,
An image correction method characterized in that each of the lines is calculated through different calculations depending on which type of the first type or the second type it corresponds to.
제3항에 있어서,
상기 기준 라인이 수평 방향을 따라 연장된 수평 라인인 경우,
상기 제1 타입의 라인들의 회전 정도는,
상기 기준 라인과 상기 제1 타입의 라인들 각각이 이루는 기 설정된 범위 이내에서의 사잇각(angle of intersections)을 구하는 연산을 통해 산출되는 것을 특징으로 하는 이미지 보정 방법.
According to paragraph 3,
If the reference line is a horizontal line extending along the horizontal direction,
The degree of rotation of the first type of lines is,
An image correction method, characterized in that it is calculated through calculating the angle of intersections within a preset range formed by each of the reference line and the first type of lines.
제4항에 있어서,
상기 제2 타입의 라인들의 회전 정도는,
상기 기준 라인과 상기 제2 타입의 라인들 각각이 이루는 기 설정된 범위 이내에서의 사잇각(angle of intersections)에 대하여 기 설정된 각도를 더하는 연산을 통해 산출되는 것을 특징으로 하는 이미지 보정 방법.
According to paragraph 4,
The degree of rotation of the second type of lines is,
An image correction method, characterized in that it is calculated through an operation of adding a preset angle to the angle of intersections within a preset range formed by each of the reference line and the second type of lines.
제5항에 있어서,
상기 기 설정된 각도는,
상기 제2 타입의 라인들이 상기 제1 타입의 라인들이 되도록 하는 각도인 것을 특징으로 하는 이미지 보정 방법.
According to clause 5,
The preset angle is,
An image correction method, characterized in that the angle is such that the second type of lines become the first type of lines.
제5항에 있어서,
상기 회전 정도를 산출하는 단계에서는,
상기 제1 타입의 라인들의 회전 정도 및 상기 제2 타입의 라인들의 회전 정도에 대한 중간값(median)을 산출하는 과정을 더 포함하고,
상기 이미지를 보정하는 단계에서는,
상기 중간값에 대응되는 회전 정도에 근거하여, 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 것을 특징으로 하는 이미지 보정 방법.
According to clause 5,
In the step of calculating the rotation degree,
Further comprising calculating a median for the degree of rotation of the first type of lines and the degree of rotation of the second type of lines,
In the step of correcting the image,
An image correction method characterized in that the image is corrected so that rotation with respect to the table is performed based on the degree of rotation corresponding to the intermediate value.
제1항에 있어서,
상기 이미지에 복수의 테이블이 포함된 경우, 상기 복수의 테이블 각각을 구성하는 상기 제1 타입의 라인들 및 상기 제2 타입의 라인들이 추출되는 것을 특징으로 하는 이미지 보정 방법.
According to paragraph 1,
When the image includes a plurality of tables, the first type of lines and the second type of lines constituting each of the plurality of tables are extracted.
제1항에 있어서,
상기 이미지를 보정하는 단계에서는,
상기 회전 정도에 대응되는 특정 각도만큼 일 방향을 따라 상기 이미지를 회전하는 보정을 수행하는 것을 특징으로 하는 이미지 보정 방법.
According to paragraph 1,
In the step of correcting the image,
An image correction method characterized in that correction is performed by rotating the image along one direction by a specific angle corresponding to the degree of rotation.
제9항에 있어서,
상기 회전된 테이블로부터, 상기 회전된 테이블에 포함된 정보 특성 및 구조 특성 중 적어도 하나를 추출하는 단계를 더 포함하는 것을 특징으로 하는 이미지 보정 방법.
According to clause 9,
The image correction method further comprising extracting at least one of information characteristics and structural characteristics included in the rotated table from the rotated table.
제10항에 있어서,
상기 정보 특성의 추출은,
상기 회전된 테이블에 포함된 텍스트 및 상기 텍스트의 위치 정보가 추출되는 것을 포함하는 것을 특징으로 하는 이미지 보정 방법.
According to clause 10,
Extraction of the above information characteristics is,
An image correction method comprising extracting text included in the rotated table and location information of the text.
제11항에 있어서,
상기 구조 특성의 추출은,
상기 회전된 테이블에 포함된 적어도 하나의 셀이 인식되고, 인식된 셀 간의 연관성이 추출되는 것을 포함하는 것을 특징으로 하는 이미지 보정 방법.
According to clause 11,
Extraction of the structural characteristics is as follows:
An image correction method comprising recognizing at least one cell included in the rotated table and extracting a relationship between the recognized cells.
제10항에 있어서,
상기 회전된 테이블로부터 상기 정보 특성 및 상기 구조 특성의 추출이 완료되는 것에 근거하여, 상기 일 방향과 반대되는 방향으로 상기 특정 각도 만큼 상기 이미지를 회전하는 보정을 수행하는 단계를 더 포함하는 것을 특징으로 하는 이미지 보정 방법.
According to clause 10,
Characterized by further comprising performing correction of rotating the image by the specific angle in a direction opposite to the one direction, based on the completion of extraction of the information characteristics and the structural characteristics from the rotated table. How to correct an image.
저장부;
수평 방향을 따라 연장되는 제1 타입의 라인들 및 수직 방향을 따라 연장되는 제2 타입의 라인들로 구성된 테이블(table)을 포함하는 이미지를 수신하는 수신부; 및
상기 이미지로부터, 상기 테이블을 구성하는 상기 제1 타입의 라인들 및 상기 제2 타입의 라인들을 추출하는 제어부를 포함하고,
상기 제어부는,
기준 라인을 기준으로, 상기 제1 타입의 라인들 및 상기 제2 타입의 라인들 각각의 회전 정도를 산출하고, 상기 제1 타입의 라인들 및 상기 제2 타입의 라인들 각각의 회전 정도에 근거하여 산출되는 특정 값에 대응하여 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 것을 특징으로 하는 이미지 보정 시스템.
storage unit;
a receiving unit that receives an image including a table composed of first type lines extending along a horizontal direction and second type lines extending along a vertical direction; and
A control unit that extracts the first type of lines and the second type of lines constituting the table from the image,
The control unit,
Based on the reference line, the rotation degree of each of the first type lines and the second type lines is calculated, and based on the rotation degree of each of the first type lines and the second type lines An image correction system characterized in that the image is corrected so that rotation about the table is performed in response to a specific value calculated.
전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서,
상기 프로그램은,
수평 방향을 따라 연장되는 제1 타입의 라인들 및 수직 방향을 따라 연장되는 제2 타입의 라인들로 구성된 테이블(table)을 포함하는 이미지를 수신하는 단계;
상기 이미지로부터, 상기 테이블을 구성하는 상기 제1 타입의 라인들 및 상기 제2 타입의 라인들을 추출하는 단계;
기준 라인을 기준으로, 상기 제1 타입의 라인들 및 상기 제2 타입의 라인들 각각의 회전 정도를 산출하는 단계; 및
상기 제1 타입의 라인들 및 상기 제2 타입의 라인들 각각의 회전 정도에 근거하여 산출되는 특정 값에 대응하여 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 단계를 포함하는 것을 특징으로 하는 것을 특징으로 하는 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램.
A program that is executed by one or more processes in an electronic device and can be stored in a computer-readable recording medium,
The above program is,
Receiving an image including a table consisting of a first type of lines extending along a horizontal direction and a second type of lines extending along a vertical direction;
extracting, from the image, the first type of lines and the second type of lines constituting the table;
calculating rotation degrees of each of the first type lines and the second type lines based on a reference line; and
Comprising the step of correcting the image so that rotation of the table is performed in response to a specific value calculated based on the degree of rotation of each of the first type of lines and the second type of lines. A program that can be stored on a computer-readable recording medium.
KR1020210037220A 2021-02-23 2021-03-23 Methods and systems for recognizing tables KR102642095B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210037220A KR102642095B1 (en) 2021-03-23 2021-03-23 Methods and systems for recognizing tables
PCT/KR2022/002601 WO2022182104A1 (en) 2021-02-23 2022-02-22 Table creation method and system, and method and system for correcting image including table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210037220A KR102642095B1 (en) 2021-03-23 2021-03-23 Methods and systems for recognizing tables

Publications (2)

Publication Number Publication Date
KR20220132213A KR20220132213A (en) 2022-09-30
KR102642095B1 true KR102642095B1 (en) 2024-02-28

Family

ID=83451295

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210037220A KR102642095B1 (en) 2021-02-23 2021-03-23 Methods and systems for recognizing tables

Country Status (1)

Country Link
KR (1) KR102642095B1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822454A (en) * 1995-04-10 1998-10-13 Rebus Technology, Inc. System and method for automatic page registration and automatic zone detection during forms processing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Qiaokang Liang 외 6명, "Robust table recognition for printed document images", Mathematical Biosciences and Engineering, Vol.17, pp.3203-3223 (2020.04.23.) 1부.*
한국 등록특허공보 제10-0390264호(2003.09.22.) 1부.*

Also Published As

Publication number Publication date
KR20220132213A (en) 2022-09-30

Similar Documents

Publication Publication Date Title
US11188713B2 (en) Extracting structured information from a document containing filled form images
US10685462B2 (en) Automatic data extraction from a digital image
RU2699687C1 (en) Detecting text fields using neural networks
CN110751143A (en) Electronic invoice information extraction method and electronic equipment
US8391609B2 (en) Method of massive parallel pattern matching against a progressively-exhaustive knowledge base of patterns
US9384389B1 (en) Detecting errors in recognized text
CN110472208A (en) The method, system of form analysis, storage medium and electronic equipment in PDF document
KR20160132842A (en) Detecting and extracting image document components to create flow document
US20040086191A1 (en) Passive embedded interaction code
US20170109334A1 (en) Annotation Data Generation and Overlay for Enhancing Readability on Electronic Book Image Stream Service
WO2011150415A2 (en) Methods and systems for automated creation, recognition and display of icons
CN113568965A (en) Method and device for extracting structured information, electronic equipment and storage medium
KR102642095B1 (en) Methods and systems for recognizing tables
JP7398526B2 (en) Character recognition method and character recognition system for recognizing information contained in a table
US11069027B1 (en) Glyph transformations as editable text
Tomovic et al. Aligning document layouts extracted with different OCR engines with clustering approach
CN115147858A (en) Method, device, equipment and medium for generating image data of handwritten form
KR20220143538A (en) Method and system for extracting information from semi-structured documents
CN111753809A (en) Method and equipment for correcting handwritten signature
KR20220120221A (en) Table gnerating method and system
KR102655430B1 (en) Table gnerating method and system
KR20220120222A (en) Table gnerating method and system
CN114118075B (en) Text recognition method and device, electronic equipment and storage medium
KR102649429B1 (en) Method and system for extracting information from semi-structured documents
TWI773444B (en) Image recognition system and method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant