KR20220132213A - Methods and systems for recognizing tables - Google Patents

Methods and systems for recognizing tables Download PDF

Info

Publication number
KR20220132213A
KR20220132213A KR1020210037220A KR20210037220A KR20220132213A KR 20220132213 A KR20220132213 A KR 20220132213A KR 1020210037220 A KR1020210037220 A KR 1020210037220A KR 20210037220 A KR20210037220 A KR 20210037220A KR 20220132213 A KR20220132213 A KR 20220132213A
Authority
KR
South Korea
Prior art keywords
image
lines
rotation
type
degree
Prior art date
Application number
KR1020210037220A
Other languages
Korean (ko)
Other versions
KR102642095B1 (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 including a table by performing analysis on the image. According to the present invention, the method for correcting an image may include: a step of receiving an image including a table; a step of extracting a plurality of lines forming the table from the image; a step of calculating a degree of rotation of the plurality of lines based on a reference line; and a step of correcting the image to perform rotation for the table based on the degree of rotation.

Description

테이블이 포함된 이미지 보정 방법 및 시스템{METHODS AND SYSTEMS FOR RECOGNIZING TABLES}METHODS AND SYSTEMS FOR RECOGNIZING TABLES

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

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

딥러닝(deep learning)이란, 컴퓨터가 인간처럼 판단하고 학습할 수 있도록 하고, 이를 통해 사물이나 데이터를 군집화하거나 분류하는 기술로서, 최근에는 텍스트 데이터 뿐만 아니라 영상 데이터에 대한 분석까지 가능해져, 매우 다양한 산업분야에 적극적으로 활용되고 있다.Deep learning is a technology that allows a computer to judge and learn like a human, and to cluster or classify objects or data through this. It is actively used in the industrial field.

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

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

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

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

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

보다 구체적으로, 본 발명은 이미지에 포함된 테이블과 동일한 구성을 갖는 테이블을 재현하기 위하여, 테이블의 인식 성능을 향상시킬 수 있는 테이블이 포함된 이미지의 보정 방법 및 시스템을 제공하기 위한 것이다.More specifically, the present invention is to provide a method and system for correcting an image including a table that can improve the 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 above problems, the method of correcting an image including a table according to the present invention includes the steps of receiving an image including a table, and extracting a plurality of lines constituting the table from the image The method may include calculating the degree of rotation of the plurality of lines based on a reference line, and correcting the image so that rotation of the table is performed based on the degree of rotation.

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

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

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

보다 구체적으로, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은, 테이블을 구성하는 복수의 라인들 추출하고, 이들의 회전 정도를 산출할 수 있다. 나아가, 본 발명에 따른 테이블 인식 방법 및 시스템은, 이러한 회전 정도에 근거하여, 테이블이 기준 라인에 비하여 얼만큼 회전되어 있는지를 판단하고, 판단된 결과에 기반하여 테이블의 회전이 보정되도록 이미지에 대한 보정이 수행될 수 있다.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 determine how much the table is rotated relative to the reference line based on this degree of rotation, and based on the determined result, the table rotation is corrected for the image. Calibration may be performed.

이러한 이미지의 보정은, 테이블을 구성하는 정보에 대한 인식률을 높이기 위한 전처리 과정에 해당할 수 있으며, 결과적으로, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은 이미지에 포함된 테이블의 인식 성능을 높일 수 있다. 나아가, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템에 의하여, 테이블에 대한 인식 성능이 높아지는 경우, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.Such image correction may correspond to a pre-processing process for increasing the recognition rate of information constituting the table, and as a result, the image correction method and system including the table according to the present invention has the recognition performance of the table included in the image. can increase Furthermore, when the recognition performance for a table is improved by the image correction method and system including the 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 for explaining an image correction system including a table according to the present invention.
2 is a conceptual diagram for explaining a table.
3 is a flowchart illustrating an image correction method including a table according to the present invention.
4, 5, 6A, 6B and 7, 8, and 9 are conceptual diagrams for explaining an image correction method including a table according to the present invention.

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

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements 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 referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

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

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

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

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

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

한편, 이러한 테이블을 생성 및 재현하는 기술은, 테이블을 둘러싼 다양한 요소들(예를 들어, 텍스트, 텍스트의 위치, 셀의 구성, 셀의 위치, 셀들 간의 연관 관계 등)을 정확하게 인식하는 것이 매우 중요하다.On the other hand, it is very important to accurately recognize various elements surrounding the table (eg, text, text position, cell configuration, cell position, relation between cells, etc.) do.

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

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

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

먼저, 도 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 a line constituting the recognized table, and extracts the extracted line Based on the , 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 in the present invention, regardless of the number of tables included in the image 1000 , the image 1000 may include 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 photographing, 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 reception unit 110 , a storage unit 120 , an OCR unit 130 , and a control unit 140 . .

수신부(110)는 테이블(1100, 1200, 1300)이 포함된 이미지(1000)를 수신하는 수단으로서, 통신부, 스캔부 및 입력부 중 적어도 하나를 포함하여 구성되거나, 기타 이미지(1000)를 수신할 수 있는 수단으로 이루어질 수 있다. The receiver 110 is a means for receiving the image 1000 including the tables 1100, 1200, and 1300, and is configured to include at least one of a communication unit, a scan unit, and an input unit, or can receive other images 1000 It can be done 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 the tables 1100 , 1200 , 1300 included in the image 1000 and A preprocessing process may be performed so that the same table is created or data (or information) included in the tables 1100 , 1200 , and 1300 is accurately extracted.

이와 같이, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)과 동일한 테이블을 생성하거나, 테이블(1100, 1200, 1300)에 포함된 정보를 추출하여 데이터화하는 작업은, “테이블을 재현, 재구성 또는 복원(reconstruction, restoration)한다”고 표현될 수 있다. As such, the operation of creating the same table as the tables 1100, 1200, 1300 included in the image 1000 or extracting the information included in the tables 1100, 1200, 1300 into data is “reproduce the table, Reconstruction or restoration (reconstruction, restoration)” can be expressed.

본 명세서에서 이미지(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, 1300 based on the recognition result, is to the image 1000. It may be understood as a part of a process for restoring the included tables 1100 , 1200 , and 1300 .

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

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

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

저장부(120)에는 i)테이블(1100, 1200, 1300)을 포함하는 이미지(1000) 및 이와 관련된 데이터, ii)이미지(1000)로부터 추출된 테이블(1100, 1200, 1300)의 구성 성분(라인, 코너 등) 및 이와 관련된 데이터, iii) 테이블(1100, 1200, 1300)에 포함된 콘텐츠(예를 들어, 텍스트, 이미지 등) 데이터 중 적어도 하나가 저장될 수 있다. In the storage unit 120, i) the image 1000 including the tables 1100, 1200, 1300 and related data, ii) the components (lines) of the tables 1100, 1200, and 1300 extracted from the image 1000 , corner, etc.) and related data, and iii) content (eg, 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 the content included in the image 1000, and may recognize the content included in the image 1000 through at least one of various content recognition algorithms. The OCR unit 130 may recognize the content by using an algorithm based on artificial intelligence. Here, the content may include text (characters).

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

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

즉, 제어부(140)는 테이블(1100, 1200, 1300)로부터 정확한 정보가 추출될 수 있도록, 도 1에 도시된 것과 같이, 이미지(1000)가 회전되어 있음에 따라, 테이블(1100, 1200, 1300)이 회전된 경우, 이를 바로잡는 보정을 수행할 수 있다.That is, the controller 140 controls 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 it.

도시와 같이, 좌측으로 소정각도 만큼 이미지(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 a correction to rotate the image 1000 by the predetermined angle to the right, so that the table ( 1100, 1200, and 1300) may be positioned in the forward direction.

이때, 제어부(140)는, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)을 구성하는 복수의 라인들에 근거하여, 이미지(1000)를 어느 방향으로 얼마만큼의 각도로 회전시켜야 하는지를 판단할 수 있다.At this time, the controller 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 . can judge

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

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

즉, 테이블에 포함된 셀은 4개의 선분으로 둘러싸인 사각형으로 이루어질 수 있다. 본 발명에서 “선분(line segment)”은 선 또는 라인(line)의 적어도 일부로 이해되어질 수 있다. 각 셀을 구성하는 선분들이 연장되어 선 또는 라인을 이룰 수 있다. That is, a cell included in the table may be formed of a rectangle surrounded by four line segments. In the present invention, a “line segment” may be understood as a line or at least a part of a line. Line segments constituting each cell may be extended to form a line or 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)의 적어도 일부가 상호 교차하는 것에 의하여 형성될 수 있다.As described above, in order to form one square-shaped cell, at least four line segments (a, b, c, d) are required, which are two horizontal lines constituting the table, or a line in the row direction. , or an edge, 201, 202, and two vertical lines, or a line in a column direction, or an edge, 203, 204 may be formed by at least a portion. More specifically, the rectangular-shaped cell may be formed by at least a portion of the two horizontal lines 201 and 202 and the two vertical lines 203 and 204 crossing each other.

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

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

도시와 같이, 수평 방향으로 연장되는 라인(201, 202)은, 제1 타입으로 정의되고, 수직 방향으로 연장되는 라인(203, 204)은 제2 타입으로 정의될 수 있다.As illustrated, the lines 201 and 202 extending in the horizontal direction may be defined as the first type, and the 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 a horizontal line, a horizontal line, a row line, a horizontal line, etc. as terms having the same or similar meaning.

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

한편, 테이블(200)에 포함되는 셀의 개수, 셀의 크기 또는 셀의 위치 등은 가로 라인 및 세로 라인의 수, 배치 관계 등에 근거하여 다양하게 변형될 수 있으며, 셀들 간의 병합에 의해서도 다양하게 변형될 수 있다. On the other hand, the number of cells included in the table 200, the size of the cells, the positions of cells, etc. may be variously modified based on the number of horizontal and vertical lines, arrangement relationships, etc., and may be variously modified by merging cells can be

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

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

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

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

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

이미지(1000)가 수신되면, 다음으로 본 발명에서는 테이블(1100, 1200, 1300)을 구성하는 복수의 라인(line)을 추출하는 과정이 진행될 수 있다(S320).When the image 1000 is received, next, 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 described above, the tables 1100 , 1200 , and 1300 may include horizontal lines and vertical lines.

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

앞서 살펴본 것과 같이, 테이블(1100, 1200, 1300)을 구성하는 복수의 라인들은 서로 다른 제1 타입 및 제2 타입 중 어느 하나의 타입으로 구분될 수 있으며, 이는 해당 라인이 어느 방향으로 연장되었는지에 따라 특정될 수 있다.As described above, the plurality of lines constituting the tables 1100 , 1200 , and 1300 may be divided into any one type among different first and second types, which depends on which direction the corresponding line extends. 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 the first type of line, and as shown in FIG. 4 ( b ), a line extending in the vertical direction A line may be defined as a second type of line.

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

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

제어부(140)는 다양한 이미지 처리 방식(예를 들어, Hough transform 등을 이용하여, 이미지(1000)로부터, 복수의 라인들을 각각 추출할 수 있다.The controller 140 may extract a plurality of lines from the image 1000 by 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 FIGS. 4A and 5A , the image 1000 may include a plurality of tables 1100 , 1200 , and 1300 . In this case, the controller 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 Figure 4, the control unit 140 from the first table 1100, the second table 1200, and the third table 1300, in Figure 4 (b) As illustrated, the first type of line, that is, the horizontal lines 1100a , 1200a , and 1300c may 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 receives data from the first table 1100 , the second table 1200 , and the third table 1300 as shown in FIG. 5 ( b ). As such, the second type of line, that is, the vertical lines 1100b, 1200b, and 1300b, may be extracted, respectively.

이렇게 추출된 수평 라인(1100a, 1200a, 1300c) 및 수직 라인(1100b, 1200b, 1300b)에 대한 정보는 저장부(120)에 저장될 수 있다.Information on the horizontal lines 1100a, 1200a, and 1300c and the vertical lines 1100b, 1200b, and 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 , in the present invention, a process of extracting the degree of rotation of the plurality of lines may be performed ( S330 ).

보다 구체적으로, 제어부(140)는 기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출할 수 있다.More specifically, the controller 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 line (or line) serving as a reference, and may also be referred to as a “reference line”.

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

기준 라인(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 controller 140 may calculate the degree of rotation based on an angle formed by each of the plurality of lines with the reference line 600 .

여기에서, 회전 정도는, 기준 라인(600)에 대해 복수의 라인들 각각이 이루는 회전 각도 및 회전 방향 중 적어도 하나와 관련될 수 있다.Here, the degree of rotation may be related to at least one of a rotation angle and a 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 the reference line ( 600) and the angles θ1 and θ2 formed by the lines 610 and 620 extracted from the table may be calculated.

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

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

한편, 기준 라인(600)을 기준으로, 테이블로부터 추출된 라인(610, 620)의 회전 방향은 도 6b의 (a)에 도시된 것과 같이, 반시계 방향 및 도 6b의 (b)에 도시된 것과 같이, 시계 방향 중 어느 하나일 수 있다.On the other hand, 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 shown in (b) of FIG. 6b. As such, it may be either clockwise.

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

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

예를 들어, 도 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 angle between them is +30 degrees), this is the extracted line 610 This may mean that it is rotated 30 degrees counterclockwise with respect to the reference line 600 .

나아가, 도 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 angle between the lines is -30 degrees), this means that the extracted line 620 is the reference It may mean rotated 30 degrees clockwise with respect to line 600 .

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

이러한, -90도 에서 +90도는 사잇각이 갖는 범위일 수 있다. 즉, 사잇각은 회전된 각도 및 회전 방향을 함께 나타낼 수 있다.These, -90 degrees to +90 degrees may be a range of the angle between the angles. That is, the angle between the angles may represent the rotated angle and the rotation direction together.

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

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

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

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

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

다음으로, 제어부(140)는 복수의 라인들 중 기준 라인(600)과 다른 타입 타입을 갖는 제2 타입의 라인들(1100b, 1200b, 1300b)에 대해서는, 제1 타입의 라인들의 회전 정도를 추출하는 연산에서, 추가적인 연산을 수행할 수 있다.Next, the controller 140 extracts the degree of rotation of the first type of lines 1100b, 1200b, and 1300b of the second type of lines 1100b, 1200b, and 1300b having a different type from the reference line 600 among the plurality of lines. In the operation to be performed, additional operations may 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 angles of intersections within a preset range formed by each of the reference line 600 and the second type lines 1100b, 1200b, and 1300b, and the first A second operation may be performed by adding a preset angle to an 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, respectively. , to obtain the corrected angle of inclination. Such a corrected angle between the angles may also be expressed as “a degree of rotation of the second type of lines”.

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

이러한 제2 연산은, 제2 타입의 라인들을 기준 라인의 라인 타입(제1 타입)과 동일한 타입으로 전환되도록 하는 연산으로 이해되어질 수 있으며, 이는 테이블(1100, 1200, 1300)에 포함된 복수의 라인들의 회전 정도를 함께 고려하기 위함이다.This second operation may be understood as an operation for converting the lines of the second type into the same type as the line type (first type) of the reference line, which is a plurality of 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)을 산출할 수 있다.On the other hand, the controller 140 determines the degree of rotation of each of the first-type lines 1100a, 1200a, and 1300a with respect to the reference line 600 calculated in the manner described above and the second-type lines 1100b, 1200b, and 1300b. ) in consideration of the respective rotational degrees, the median value (or median) can be calculated.

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

중간값은 제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 angle between each of the first types of lines 1100a, 1200a, and 1300a) and the degree of rotation (or the corrected angle between the lines) of the second type of lines 1100b, 1200b, and 1300b, respectively. It may mean a value located in the center of the corresponding value. The control unit 140 controls the intermediate values (hereinafter, " Intermediate angle”) can be calculated.

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

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

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

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

보다 구체적으로 제어부(140) 제1 타입의 라인들(1100a, 1200a, 1300a) 각각의 사잇각들 및 제2 타입의 라인들(1100b, 1200b, 1300b) 각각의 보정된 사잇각들에 대한 중간 사잇각(또는 중간 값)을 이용하여, 이미지를 보정할 수 있다.In more detail, the control unit 140 provides an intermediate angle between each of the first-type lines 1100a, 1200a, and 1300a and the corrected angles between each of the second-type lines 1100b, 1200b, and 1300b. median value) can be used to correct the image.

제어부(140)는 상기 중간 사잇각에 근거하여, 테이블(1100, 1200, 1300)에 대한 회전이 수행되도록 테이블(1100, 1200, 1300)이 포함된 이미지(1000)를 보정할 수 있다.The controller 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 controller 140 may perform a correction in which the image 1000 is rotated in one direction by a specific angle corresponding to the degree of rotation with respect to the reference line corresponding to the intermediate angle. Here, the one direction may be a rotation direction opposite to the rotation direction corresponding to the intermediate angle. For example, when the rotation direction corresponding to the intermediate angle is a counterclockwise direction, one direction may be a clockwise direction.

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

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

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

제어부(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)과 평행 또는 이와 유사하게 놓여질 수 있다.The control unit 140, as shown in (a), (b) and (c) of FIG. 7 , the first type of lines 1100a' corresponding to the first table 1100, the second table ( The first-type lines 1200a' corresponding to 1200 and the first-type lines 1300a' corresponding to the third table 1300 may be rotated by an angle corresponding to the intermediate angle. More specifically, the controller 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 1100a ′ corresponding to the first table 1100 , the first type of lines 1200a ′ corresponding to the second table 1200 , and the third table 1300 ) The first type of lines 1300a ′ corresponding to may be disposed 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)과 수직 또는 이와 유사하게 놓여질 수 있다.Similarly, as shown in (a), (b) and (c) of FIG. 8 , the control unit 140 controls 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 may be rotated by an angle corresponding to an intermediate angle between them. . More specifically, the controller 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 of lines 1300b may be disposed perpendicular to or similar to the reference line 620 .

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

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

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

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

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

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

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

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

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

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

보다 구체적으로, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은, 테이블을 구성하는 복수의 라인들 추출하고, 이들의 회전 정도를 산출할 수 있다. 나아가, 본 발명에 따른 테이블 인식 방법 및 시스템은, 이러한 회전 정도에 근거하여, 테이블이 기준 라인에 비하여 얼만큼 회전되어 있는지를 판단하고, 판단된 결과에 기반하여 테이블의 회전이 보정되도록 이미지에 대한 보정이 수행될 수 있다.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 determine how much the table is rotated relative to the reference line based on this degree of rotation, and based on the determined result, the table rotation is corrected for the image. Calibration may be performed.

이러한 이미지의 보정은, 테이블을 구성하는 정보에 대한 인식률을 높이기 위한 전처리 과정에 해당할 수 있으며, 결과적으로, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은 이미지에 포함된 테이블의 인식 성능을 높일 수 있다. 나아가, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템에 의하여, 테이블에 대한 인식 성능이 높아지는 경우, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.Such image correction may correspond to a pre-processing process for increasing the recognition rate of information constituting the table, and as a result, the image correction method and system including the table according to the present invention has the recognition performance of the table included in the image. can increase Furthermore, when the recognition performance for a table is improved by the image correction method and system including the 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 described above may be implemented as a program storable in a computer-readable medium (or recording medium), which is executed by one or more processes in a computer.

나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다. Furthermore, the present invention as seen above can be implemented as computer-readable codes or instructions on a medium in which a program is recorded. 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, the computer-readable medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is this.

나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.Furthermore, the computer-readable medium may be a server or a cloud storage that includes a storage and that an electronic device can access through communication. In this case, the computer may 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, Central Processing Unit), and there is no particular limitation on the type thereof.

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

Claims (15)

테이블(table)을 포함하는 이미지를 수신하는 단계;
상기 이미지로부터, 상기 테이블을 구성하는 복수의 라인들을 추출하는 단계;
기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출하는 단계; 및
상기 회전 정도에 근거하여, 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 단계를 포함하는 것을 특징으로 하는 이미지 보정 방법.
receiving an image comprising a table;
extracting a plurality of lines constituting the table from the image;
calculating a degree of rotation of the plurality of lines based on a reference line; and
and correcting the image so that rotation of the table is performed based on the degree of rotation.
제1항에 있어서,
상기 회전 정도를 산출하는 단계에서는,
상기 기준 라인에 대해 상기 복수의 라인들 각각이 회전된 회전 각도 및 회전 방향을 산출하는 것을 특징으로 하는 이미지 보정 방법.
According to claim 1,
In the step of calculating the degree of rotation,
The image correction method, characterized in that for calculating the rotation angle and rotation direction of each of the plurality of lines with respect to the reference line.
제2항에 있어서,
상기 테이블을 구성하는 복수의 라인들 각각은,
수평 방향을 따라 연장되는 제1 타입 및 수직 방향을 따라 연장되는 제2 타입 중 어느 하나의 타입으로 구분되고,
상기 기준 라인에 대한 상기 복수의 라인들 각각의 회전 정도는,
상기 복수의 라인들 각각이 상기 제1 타입 및 상기 제2 타입 중 어느 타입에 해당하는지에 따라 서로 다른 연산을 통해 산출되는 것을 특징으로 하는 이미지 보정 방법.
3. The method of claim 2,
Each of the plurality of lines constituting the table,
It is divided into any one type of a first type extending in a horizontal direction and a second type extending in a vertical direction,
The degree of rotation of each of the plurality of lines with respect to the reference line is,
The image correction method according to claim 1, wherein each of the plurality of lines is calculated through different calculations depending on which type of the first type and the second type correspond to.
제3항에 있어서,
상기 기준 라인이 수평 방향을 따라 연장된 수평 라인인 경우,
상기 복수의 라인들 중 상기 제1 타입의 라인들의 회전 정도는,
상기 기준 라인과 상기 제1 타입의 라인들 각각이 이루는 기 설정된 범위 이내에서의 사잇각(angle of intersections)을 구하는 연산을 통해 산출되는 것을 특징으로 하는 이미지 보정 방법.
4. The method of claim 3,
When the reference line is a horizontal line extending in a horizontal direction,
The degree of rotation of the first type of lines among the plurality of lines is,
The image correction method, characterized in that it is calculated through an operation to obtain an angle of intersections within a preset range between the reference line and each of the first type of lines.
제4항에 있어서,
상기 복수의 라인들 중 상기 제2 타입의 라인들의 회전 정도는,
상기 기준 라인과 상기 제2 타입의 라인들 각각이 이루는 기 설정된 범위 이내에서의 사잇각(angle of intersections)에 대하여 기 설정된 각도를 더하는 연산을 통해 산출되는 것을 특징으로 하는 이미지 보정 방법.
5. The method of claim 4,
The degree of rotation of the second type of lines among the plurality of lines is,
The image correction method, characterized in that the calculation is calculated by adding a preset angle to the angle of intersections within a preset range between the reference line and each of the second type of lines.
제5항에 있어서,
상기 기 설정된 각도는,
상기 제2 타입의 라인들이 상기 제1 타입의 라인들이 되도록 하는 각도인 것을 특징으로 하는 이미지 보정 방법.
6. The method of claim 5,
The preset angle is
and the angle is such that the second type of lines become the first type of lines.
제5항에 있어서,
상기 회전 정도를 산출하는 단계에서는,
상기 제1 타입의 라인들의 회전 정도 및 상기 제2 타입의 라인들의 회전 정도에 대한 중간값(median)을 산출하는 과정을 더 포함하고,
상기 이미지를 보정하는 단계에서는,
상기 중간값에 대응되는 회전 정도에 근거하여, 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 것을 특징으로 하는 이미지 보정 방법.
6. The method of claim 5,
In the step of calculating the degree of rotation,
The method further includes calculating a median for the rotational degree of the first type of lines and the rotational degree of the second type of lines,
In the step of correcting the image,
and correcting the image so that rotation of the table is performed based on the degree of rotation corresponding to the intermediate value.
제1항에 있어서,
상기 이미지에 복수의 테이블이 포함된 경우, 상기 복수의 테이블 각각을 구성하는 수평 라인 및 수직 라인이 추출되는 것을 특징으로 하는 이미지 보정 방법.
According to claim 1,
When a plurality of tables are included in the image, horizontal lines and vertical lines constituting each of the plurality of tables are extracted.
제1항에 있어서,
상기 이미지를 보정하는 단계에서는,
상기 회전 정도에 대응되는 특정 각도만큼 일 방향을 따라 상기 이미지를 회전하는 보정을 수행하는 것을 특징으로 하는 이미지 보정 방법.
According to claim 1,
In the step of correcting the image,
An image correction method, characterized in that performing correction by rotating the image in one direction by a specific angle corresponding to the degree of rotation.
제9항에 있어서,
상기 회전된 테이블로부터, 상기 회전된 테이블에 포함된 정보 특성 및 구조 특성 중 적어도 하나를 추출하는 단계를 더 포함하는 것을 특징으로 하는 이미지 보정 방법.
10. The method of claim 9,
and extracting, from the rotated table, at least one of an information characteristic and a structure characteristic included in the rotated table.
제10항에 있어서,
상기 정보 특성의 추출은,
상기 회전된 테이블에 포함된 텍스트 및 상기 텍스트의 위치 정보가 추출되는 것을 포함하는 것을 특징으로 하는 이미지 보정 방법.
11. The method of claim 10,
The extraction of the information characteristic is
An image correction method comprising extracting text included in the rotated table and location information of the text.
제11항에 있어서,
상기 구조 특성의 추출은,
상기 회전된 테이블에 포함된 적어도 하나의 셀이 인식되고, 인식된 셀 간의 연관성이 추출되는 것을 포함하는 것을 특징으로 하는 이미지 보정 방법.
12. The method of claim 11,
Extraction of the structural characteristics,
At least one cell included in the rotated table is recognized, and a correlation between the recognized cells is extracted.
제10항에 있어서,
상기 회전된 테이블로부터 상기 정보 특성 및 상기 구조 특성의 추출이 완료되는 것에 근거하여, 상기 일 방향과 반대되는 방향으로 상기 특정 각도 만큼 상기 이미지를 회전하는 보정을 수행하는 단계를 더 포함하는 것을 특징으로 하는 이미지 보정 방법.
11. The method of claim 10,
Based on the completion of the extraction of the information characteristic and the structural characteristic from the rotated table, performing correction of rotating the image by the specific angle in a direction opposite to the one direction how to correct an image.
저장부;
테이블(table)을 포함하는 이미지를 수신하는 수신부; 및
상기 이미지로부터, 상기 테이블을 구성하는 복수의 라인들을 추출하는 제어부를 포함하고,
상기 제어부는,
기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출하고, 상기 회전 정도에 근거하여, 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 것을 특징으로 하는 이미지 보정 시스템.
storage;
a receiver for receiving an image including a table; and
A control unit for extracting a plurality of lines constituting the table from the image,
The control unit is
The image correction system according to claim 1, wherein the rotation degree of the plurality of lines is calculated based on a reference line, and the image is corrected so that rotation of the table is performed based on the rotation degree.
전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서,
상기 프로그램은,
테이블(table)을 포함하는 이미지를 수신하는 단계;
상기 이미지로부터, 상기 테이블을 구성하는 복수의 라인들을 추출하는 단계;
기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출하는 단계; 및
상기 회전 정도에 근거하여, 상기 테이블에 대한 회전이 수행되도록 상기 이미지를 보정하는 단계를 수행하도록 하는 명령어들을 포함하는 특징으로 하는 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램.
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 program is
receiving an image comprising a table;
extracting a plurality of lines constituting the table from the image;
calculating a degree of rotation of the plurality of lines based on a reference line; and
A program storable in a computer-readable recording medium comprising instructions for performing a step of correcting the image so that rotation of the table is performed based on the degree of rotation.
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 true KR20220132213A (en) 2022-09-30
KR102642095B1 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)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390264B1 (en) * 1995-04-10 2003-09-22 리버스 테크놀로지, 인크. System and method for automatic page registration and automatic area detection during form processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390264B1 (en) * 1995-04-10 2003-09-22 리버스 테크놀로지, 인크. System and method for automatic page registration and automatic area detection during form processing

Non-Patent Citations (1)

* 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부.* *

Also Published As

Publication number Publication date
KR102642095B1 (en) 2024-02-28

Similar Documents

Publication Publication Date Title
Choi et al. Visualizing for the non‐visual: Enabling the visually impaired to use visualization
US11120209B2 (en) Extracting structured information from a document containing filled form images
RU2699687C1 (en) Detecting text fields using neural networks
US20190130614A1 (en) Automatic data extraction from a digital image
CN110929573A (en) Examination question checking method based on image detection and related equipment
AU2006252025A1 (en) Recognition of parameterised shapes from document images
KR20220133434A (en) Method and system for recognizing tables
US20120054601A1 (en) Methods and systems for automated creation, recognition and display of icons
Fisteus et al. Grading multiple choice exams with low-cost and portable computer-vision techniques
US11017498B2 (en) Ground truth generation from scanned documents
CN112509661B (en) Methods, computing devices, and media for identifying physical examination reports
CN111931771B (en) Bill content identification method, device, medium and electronic equipment
CN113568965A (en) Method and device for extracting structured information, electronic equipment and storage medium
Jung et al. Matching aerial images to 3d building models using context-based geometric hashing
Kutzner et al. Writer identification using handwritten cursive texts and single character words
KR20200062806A (en) Method for recognizing characters on document images
Arslan End to end invoice processing application based on key fields extraction
WO2020175806A1 (en) Device for recognizing characters and method for recognizing characters by means of same
JP7398526B2 (en) Character recognition method and character recognition system for recognizing information contained in a table
CN109614972A (en) Image processing method, device, electronic equipment and computer-readable medium
KR20220132213A (en) Methods and systems for recognizing tables
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
CN111753809A (en) Method and equipment for correcting handwritten signature
KR20220120221A (en) Table gnerating method and system

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