KR102642095B1 - Methods and systems for recognizing tables - Google Patents
Methods and systems for recognizing tables Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000003702 image correction Methods 0.000 claims abstract description 25
- 238000012937 correction Methods 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012015 optical character recognition Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character 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.
Description
본 발명은 이미지에 대한 분석을 수행하여 테이블이 포함된 이미지를 보정하는 방법 및 시스템에 관한 것이다.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
도시와 같이, 이미지(1000)에는 하나 또는 그 이상의 테이블(1100, 1200, 1300)이 포함될 수 있으며, 본 발명은 이미지(1000)에 포함된 테이블의 수에 관계없이, 이미지(1000)에 포함된 모든 테이블을 인식하는 것이 가능하다.As shown, the
본 발명에서, 이미지(1000)는 종이 문서를 스캔한 것에 의하여 획득되는 이미지이거나 사진 촬영에 의하여 획득된 이미지이거나, 기타 다른 다양한 방법으로 획득된 이미지일 수 있다.In the present invention, the
한편, 도 1에 도시된 것과 같이, 본 발명에 따른 테이블 인식 시스템(100)은 수신부(110), 저장부(120), OCR부(130) 및 제어부(140) 중 적어도 하나를 포함할 수 있다.Meanwhile, as shown in FIG. 1, the
수신부(110)는 테이블(1100, 1200, 1300)이 포함된 이미지(1000)를 수신하는 수단으로서, 통신부, 스캔부 및 입력부 중 적어도 하나를 포함하여 구성되거나, 기타 이미지(1000)를 수신할 수 있는 수단으로 이루어질 수 있다. The receiving
테이블 인식 시스템(100)은 수신부(110)를 통해 수신한 이미지(1000)에 포함된 테이블(1100, 1200, 1300)을 분석하여, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)과 동일한 테이블이 생성되도록 하거나, 테이블(1100, 1200, 1300)에 포함된 데이터(또는 정보)가 정확하게 추출되도록 하는 전처리 과정을 수행할 수 있다.The
이와 같이, 이미지(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
즉, 본 발명에 따른 테이블 인식 시스템(100)은 테이블 생성(또는 복원) 시스템에 포함되는 개념으로도 이해되어 질 수 있다. In other words, the
한편, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)에 대한 복원은, 본 발명에 따른 테이블 인식 시스템(100)을 통하여, 이미지(1000) 또는 테이블(1100, 1200, 1300)에 대한 보정이 이루어진 후 이루어질 수 있다.Meanwhile, the restoration of the tables 1100, 1200, and 1300 included in the
다음으로 저장부(120)는, 본 발명에 따른 다양한 정보를 저장하도록 이루어질 수 있다. 저장부(120)의 종류는 매우 다양할 수 있으며, 적어도 일부는, 외부 서버(150, 클라우드 서버(151) 및 데이터베이스(database: DB, 152) 중 적어도 하나)를 의미할 수 있다. 즉, 저장부(120)는 본 발명과 관련된 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. Next, the
저장부(120)에는 i)테이블(1100, 1200, 1300)을 포함하는 이미지(1000) 및 이와 관련된 데이터, ii)이미지(1000)로부터 추출된 테이블(1100, 1200, 1300)의 구성 성분(라인, 코너 등) 및 이와 관련된 데이터, iii) 테이블(1100, 1200, 1300)에 포함된 콘텐츠(예를 들어, 텍스트, 이미지 등) 데이터 중 적어도 하나가 저장될 수 있다. The
다음으로, 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
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
다음으로 제어부(140)는 본 발명과 관련된 테이블 인식 시스템(100)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(140)는 인공지능 알고리즘을 처리 가능한 프로세서(processor, 또는 인공지능 프로세서)를 포함할 수 있다. 제어부(140)는 딥러닝 알고리즘에 기반하여, 이미지(1000)로부터 테이블(1100, 1200, 1300)을 인식하고, 테이블(1100, 1200, 1300)을 구성하는 복수의 라인들을 추출할 수 있다. 그리고, 제어부(140)는 기준 라인을 기준으로, 상기 복수의 라인들의 회전 정도를 산출하고, 산출된 회전 정도에 근거하여, 테이블(1100, 1200, 1300)에 대한 회전이 수행되도록 이미지(1000)를 보정할 수 있다.Next, the
즉, 제어부(140)는 테이블(1100, 1200, 1300)로부터 정확한 정보가 추출될 수 있도록, 도 1에 도시된 것과 같이, 이미지(1000)가 회전되어 있음에 따라, 테이블(1100, 1200, 1300)이 회전된 경우, 이를 바로잡는 보정을 수행할 수 있다.That is, the
도시와 같이, 좌측으로 소정각도 만큼 이미지(1000)가 회전된 경우, 제어부(140)는 우측으로 상기 소정 각도만큼 이미지(1000)를 회전하는 보정을 수행하여, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)이 정방향에 위치하도록 할 수 있다.As shown, when the
이때, 제어부(140)는, 이미지(1000)에 포함된 테이블(1100, 1200, 1300)을 구성하는 복수의 라인들에 근거하여, 이미지(1000)를 어느 방향으로 얼마만큼의 각도로 회전시켜야 하는지를 판단할 수 있다.At this time, the
한편, 본 발명에 대한 설명에 앞서, 본 명세서에서 언급되는 “테이블(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
테이블에 포함된 셀(210)은, 적어도 4개의 선분(line segment에 의해 정의될 수 있다. 테이블(200) 및 테이블(200) 내에 구비된 셀의 형상은 직사각형(rectangular)의 형상으로 이루어진다.The
즉, 테이블에 포함된 셀은 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
따라서, 테이블(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,
제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
이미지(1000)가 수신되면, 다음으로 본 발명에서는 테이블(1100, 1200, 1300)을 구성하는 복수의 라인(line)을 추출하는 과정이 진행될 수 있다(S320).When the
앞서 살펴본 것과 같이, 테이블(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
앞서 살펴본 것과 같이, 테이블(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
한편, 도 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
보다 구체적으로, 제어부(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
나아가, 제어부(140)는 도 5의 (a)에 도시된 것과 같이, 제1 테이블(1100), 제2 테이블(1200) 및 제3 테이블(1300)로부터, 도 5의 (b)에 도시된 것과 같이, 제2 타입의 라인, 즉, 수직 라인(1100b, 1200b, 1300b)을 각각 추출할 수 있다.Furthermore, as shown in (a) of FIG. 5, the
이렇게 추출된 수평 라인(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
이와 같이, 테이블(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
도 6a의 (a) 및 (b)에 도시된 것과 같이, 기준 라인(600)은 기준이 되는 라인(또는 선)으로서, “기준 선”이라고도 명명될 수 있다.As shown in (a) and (b) of FIG. 6A, the
이러한 기준 라인(600)은 복수의 라인들의 회전 정도를 판단하기 위한 기준이되는 개념으로서, 다양한 용어로도 표현될 수 있다. 예를 들어, 기준 라인(600)은 기준, 특정 기준, 기준 점, 원점, 영점, 0도 라인 등의 용어와 같이, 다양한 용어로도 대체 가능하다.This
기준 라인(600)은, 테이블(1100, 1200, 1300)로부터 추출된 복수의 라인들(1100a, 1200a, 1300a, 1100b, 1200b, 1300b)의 회전 정도를 산출하는 기준이되는 라인일 수 있다.The
제어부(140)는 복수의 라인들 각각이 기준 라인(600)과 교차되었을 경우, 복수의 라인 각각이 기준 라인(600)과 이루는 각도에 근거하여, 상기 회전 정도를 산출할 수 있다.When each of the plurality of lines intersects the
여기에서, 회전 정도는, 기준 라인(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
제어부(140)는 도 6b의 (a) 및 (b)에 도시된 것과 같이, 기준 라인(600)을 기준으로, 테이블로부터 추출된 라인(610, 620)의 회전 방향을 추출하고, 기준 라인(600)과 테이블로부터 추출된 라인(610, 620)이 이루는 각도(θ1, θ2)를 산출할 수 있다.As shown in (a) and (b) of FIG. 6B, the
제어부(140)는 테이블(1100, 1200, 1300)로부터 추출된 모든 라인에 대하여, 위의 과정을 수행할 수 있다. The
이와 달리, 제어부(140)는 테이블(1100, 1200, 1300)로부터 추출된 모든 라인 등 중 적어도 일부 대하여, 위의 과정을 수행할 수 있다.In contrast, the
한편, 기준 라인(600)을 기준으로, 테이블로부터 추출된 라인(610, 620)의 회전 방향은 도 6b의 (a)에 도시된 것과 같이, 반시계 방향 및 도 6b의 (b)에 도시된 것과 같이, 시계 방향 중 어느 하나일 수 있다.Meanwhile, based on the
나아가, 제어부(140)는 기준 라인(600)과 테이블로부터 추출된 라인(610, 620)이 이루는 각도(또는 사잇각, θ1, θ2)를 기 설정된 범위(-90도에서 +90도) 내에서 고려할 수 있다. 즉, 제어부(140)는 기 설정된 범위(또는 각도 범위) 내에서, 기준 라인(600)과 테이블로부터 추출된 라인(610, 620)이 이루는 각도(사잇각)를 추출할 수 있다. Furthermore, the
기준 라인(600)과 테이블로부터 추출된 라인(610)은 반시계 방향으로 90도까지의 범위 내에서의 회전 각도를 이루거나, 시계 방향으로의 90도(-90도에 해당)까지의 범위 내에서의 사잇각을 이룰 수 있다.The
예를 들어, 도 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
나아가, 도 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
이와 같이, 제어부(140)는 테이블(1100, 1200, 1300)로부터 추출된 복수의 라인들(1100a, 1200a, 1300a, 1100b, 1200b, 1300b)이 기준 라인(600) 대비 어느 방향(예를 들어, 반시계 방향 또는 시계 방향)으로 몇도 회전되었는지를 추출(또는 산출)할 수 있으며, 이는 -90도에서 +90도의 범위 내에서 표현될 수 있다.In this way, the
이러한, -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
이와 같이, 제어부(140)는 기준 라인에 대해 복수의 라인들 각각이 회전된 회전 각도 및 회전 방향을 산출하는 과정을 통해, 기준 라인에 대해 복수의 라인들 각각이 회전된 회전 정도를 산출(또는 추출)할 수 있다.In this way, the
한편, 본 발명에서, 기준 라인은 제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
먼저, 제어부(140)는 복수의 라인들 중 기준 라인과 동일한 타입을 갖는 제1 타입의 라인들(1100a, 1200a, 1300a)에 대해서는, 위에서 살펴본 것과 같은 방법으로, 제1 타입의 라인들의 회전 정도를 추출할 수 있다.First, the
즉, 제어부(140)는 기준 라인(600)과 상기 제1 타입의 라인들(1100a, 1200a, 1300a) 각각이 이루는 기 설정된 범위(또는 기 설정된 각도 범위) 이내에서의 사잇각(angle of intersections)을 구하는 연산을 통해, 상기 제1 타입의 라인들(1100a, 1200a, 1300a)의 회전 정도를 추출할 수 있다.That is, the
다음으로, 제어부(140)는 복수의 라인들 중 기준 라인(600)과 다른 타입 타입을 갖는 제2 타입의 라인들(1100b, 1200b, 1300b)에 대해서는, 제1 타입의 라인들의 회전 정도를 추출하는 연산에서, 추가적인 연산을 수행할 수 있다.Next, the
제어부(140)는 기준 라인(600)과 상기 제2 타입의 라인들(1100b, 1200b, 1300b) 각각이 이루는 기 설정된 범위 이내에서의 사잇각(angle of intersections)을 산출하는 제1 연산 및 상기 제1 연산의 결과에 해당하는 사잇각에 기 설정된 각도를 더하는 제2 연산을 수행할 수 있다. 여기에서, 기 설정된 각도는 +90도에 해당할 수 있다. The
즉, 제어부(140)는 기준 라인(600)과 제2 타입의 라인들(1100b, 1200b, 1300b)각각이 이루는 기 설정된 범위 이내에서의 사잇각에 반시계 방향으로 90도(+90도)를 더하여, 보정된 사잇각을 구할 수 있다. 이러한 보정된 사잇각은, “제2 타입의 라인들의 회전 정도”라고도 표현될 수 있다. That is, the
예를 들어, 특정 제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
이러한, 중간값을 산출하는 과정은, 제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
예를 들어, 제1 타입의 라인들(1100a, 1200a, 1300a)이 8개 존재하는 경우, 8개의 사잇각이 존재할 수 있다. 마찬가지로, 제2 타입의 라인들(1100b, 1200b, 1300b)이 8개 존재하는 경우, 8개의 보정된 사잇각이 존재할 수 있다. For example, when there are eight
이 경우, 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
제어부(140)는 상기 중간 사잇각에 근거하여, 테이블(1100, 1200, 1300)에 대한 회전이 수행되도록 테이블(1100, 1200, 1300)이 포함된 이미지(1000)를 보정할 수 있다.The
제어부(140)는, 상기 중간 사잇각에 해당하는 기준 라인에 대한 회전 정도에 대응되는 특정 각도만큼 일 방향을 따라 이미지(1000)를 회전하는 보정을 수행할 수 있다. 여기에서, 일 방향은, 중간 사잇각에 해당하는 회전 방향과 반대되는 회전방향일 수 있다. 예를 들어, 중간 사잇각에 해당하는 회전 방향이 반시계 방향인 경우, 일 방향은 시계 방향일 수 있다.The
보다 구체적으로, 제어부(140)는 중간 사잇각에 해당하는 회전 방향(시계 방향 또는 반시계 방향)과 반대되는 회전방향(반시계 방향 또는 시계 방향)으로, 중간 사잇각에 해당하는 각도만큼 이미지(1000)를 회전시킬 수 있다. 예를 들어, 도 4의 (a) 및 도 4의 (b)에서 살펴본 이미지(1000)에 포함된 테이블(1100, 1200, 1300)의 복수의 라인들의 중간 사잇각이 +20도인 경우, 이는 테이블(1100, 1200, 1300)이 기준 라인 대비 반시계 방향으로 약 20도 정도 회전되어 있다는 것을 의미할 수 있다.More specifically, the
이 경우, 제어부(140)는 도 9의 (a)에 도시된 것과 같이, 시계 방향으로 20도만큼 이미지를 회전시킴으로써, 테이블(1100’, 1200’, 1300’)이 기준 라인과 유사하게 놓여지도록 이미지(1000’)를 보정할 수 있다. 즉, 제어부(130)는 이미지를 -20도 만큼 회전시킬 수 있다.In this case, the
한편, 중간 사잇각에 해당하는 각도만큼 이미지(1000)를 회전시킨다는 것은, 이미지(1000)에 포함된 테이블(1100, 1200, 1300), 즉, 이미지에 포함된 제1 타입의 라인들(1100a, 1200a, 1300a) 및 제2 타입의 라인들(1100b, 1200b, 1300b)을 회전하는 것과 동일한 의미를 가질 수 있다.Meanwhile, rotating the
제어부(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
마찬가지로, 제어부(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
한편, 도 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
즉, 제어부(140)는, 회전된 테이블로부터 테이블의 구조 및 테이블에 포함된 정보 중 적어도 하나를 과정을 수행할 수 있다.That is, the
여기에서, 테이블(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-
한편, 제어부(130)는 회전된 테이블(1100’, 1200’, 1300’)로부터 상기 정보 특성 및 상기 구조 특성의 추출이 완료되는 것에 근거하여, 회전된 테이블(1100’, 1200’, 1300’)을 다시 재회전시킬 수 있다.Meanwhile, the
제어부(130)는 중각 사잇각에 해당하는 방향(예를 들어, 시계 방향)으로, 도 9의(a)에 도시된 회전된 테이블(1100’, 1200’, 1300’)이 도 9의 (b)에 도시된 것과 같이, 다시 회전되도록, 상기 일 방향(예를 들어, 시계 방향)과 반대되는 방향(예를 들어, 반시계 방향)으로 상기 중각 사잇각에 해당하는 특정 각도 만큼 상기 이미지(또는 회전된 이미지, 1000’)를 회전하는 보정을 수행할 수 있다. The
이는, 이미지(1000)로부터 추출된 데이터에 대한 사용자의 심리적인 신뢰도를 위한 것으로서, 본 발명에서는 위의 과정을 통해 사용자에게, 스캔된 최초의 이미지(1000)로부터 데이터가 추출되었다는 심리적인 안정감 및 신뢰도를 줄 수 있다.This is for the user's psychological reliability of the data extracted from the
위에서 살펴본 것과 같이, 본 발명에 따른 테이블이 포함된 이미지 보정 방법 및 시스템은, 이미지에 포함된 테이블이 회전되어 있는 경우, 이를 바로잡는 보정을 통하여, 테이블에 대한 인식 성능을 높일 수 있다.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 타입의 라인들을 추출하는 단계;
기준 라인을 기준으로, 상기 제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 타입의 라인들 및 상기 제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.
상기 회전 정도는,
상기 라인들 각각이 상기 제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.
상기 기준 라인이 수평 방향을 따라 연장된 수평 라인인 경우,
상기 제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.
상기 제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.
상기 기 설정된 각도는,
상기 제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.
상기 회전 정도를 산출하는 단계에서는,
상기 제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 타입의 라인들 및 상기 제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.
상기 이미지를 보정하는 단계에서는,
상기 회전 정도에 대응되는 특정 각도만큼 일 방향을 따라 상기 이미지를 회전하는 보정을 수행하는 것을 특징으로 하는 이미지 보정 방법. 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.
상기 회전된 테이블로부터, 상기 회전된 테이블에 포함된 정보 특성 및 구조 특성 중 적어도 하나를 추출하는 단계를 더 포함하는 것을 특징으로 하는 이미지 보정 방법.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.
상기 정보 특성의 추출은,
상기 회전된 테이블에 포함된 텍스트 및 상기 텍스트의 위치 정보가 추출되는 것을 포함하는 것을 특징으로 하는 이미지 보정 방법.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.
상기 구조 특성의 추출은,
상기 회전된 테이블에 포함된 적어도 하나의 셀이 인식되고, 인식된 셀 간의 연관성이 추출되는 것을 포함하는 것을 특징으로 하는 이미지 보정 방법.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.
상기 회전된 테이블로부터 상기 정보 특성 및 상기 구조 특성의 추출이 완료되는 것에 근거하여, 상기 일 방향과 반대되는 방향으로 상기 특정 각도 만큼 상기 이미지를 회전하는 보정을 수행하는 단계를 더 포함하는 것을 특징으로 하는 이미지 보정 방법.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.
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)
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 |
-
2021
- 2021-03-23 KR KR1020210037220A patent/KR102642095B1/en active IP Right Grant
Non-Patent Citations (2)
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 |