KR20220120221A - 테이블 생성 방법 및 시스템 - Google Patents
테이블 생성 방법 및 시스템 Download PDFInfo
- Publication number
- KR20220120221A KR20220120221A KR1020210024039A KR20210024039A KR20220120221A KR 20220120221 A KR20220120221 A KR 20220120221A KR 1020210024039 A KR1020210024039 A KR 1020210024039A KR 20210024039 A KR20210024039 A KR 20210024039A KR 20220120221 A KR20220120221 A KR 20220120221A
- Authority
- KR
- South Korea
- Prior art keywords
- lines
- corner
- coordinate
- cell
- plane
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000002372 labelling Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 abstract description 4
- 230000015572 biosynthetic process Effects 0.000 abstract 1
- 239000000284 extract Substances 0.000 description 22
- 238000010586 diagram Methods 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 239000000470 constituent Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012015 optical character recognition Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 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
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- -1 from the image 1000 Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 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
- 238000000547 structure data Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- 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
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- 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
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 이미지에 대한 분석을 수행하여 테이블을 생성하는 방법 및 시스템에 관한 것이다. 본 발명에 따른 테이블 생성 방법은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 테이블에 포함된 셀의 각 코너(corner) 및 상기 테이블을 구성하는 복수의 라인(line)을 추출하는 단계, 상기 복수의 라인을 좌표 평면 상에 투영하는 단계, 상기 투영 결과에 근거하여, 상기 좌표 평면 상에서 상기 각 코너의 좌표 값을 특정하는 단계 및 상기 각 코너의 좌표 값에 근거하여, 상기 이미지에 포함된 테이블과 동일한 셀 구성을 갖는 테이블을 생성하는 단계를 포함할 수 있다.
Description
본 발명은 이미지에 대한 분석을 수행하여 테이블을 생성하는 방법 및 시스템에 관한 것이다.
인공지능의 사전적 의미는, 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술이라 할 수 있다. 이러한 인공지능은 머신러닝에 인간의 뇌를 모방한 신경망 네트워크를 더한 딥러닝으로 인하여 비약적인 발전을 이루었다.
딥러닝(deep learning)이란, 컴퓨터가 인간처럼 판단하고 학습할 수 있도록 하고, 이를 통해 사물이나 데이터를 군집화하거나 분류하는 기술로서, 최근에는 텍스트 데이터 뿐만 아니라 영상 데이터에 대한 분석까지 가능해져, 매우 다양한 산업분야에 적극적으로 활용되고 있다.
이러한, 인공지능의 발달로 사무자동화(office automation) 분야에 있어서도 다양한 자동화가 이루어지고 있다. 특히, 사무자동화 분야에서는 종이(paper)에 인쇄된 콘텐츠를 인공지능을 활용한 영상 데이터 분석 기술에 기반하여 데이터화 하는데 많은 노력을 기울이고 있다. 그 일환으로서, 사무자동화 분야에서는 종이 문서를 이미지화 하여, 이미지에 포함된 콘텐츠를 분석하는 이미지 분석 기술(또는 영상 데이터에 대한 분석 기술)을 통하여, 문서에 포함된 콘텐츠를 데이터화하고 있으며, 이 경우 문서에 포함된 콘텐츠의 특성에 맞게 이미지를 분석하는 기술이 필요하다.
예를 들어, 테이블(table, 표)을 포함하는 문서를 데이터화 하는 경우, 테이블의 형식, 테이블 내에 포함된 텍스트의 내용 및 테이블에 포함된 텍스트의 위치 등과 같이, 테이블을 둘러싼 다양한 요소들에 대한 정확한 분석이 필요하다.
이에, 대한민국 등록특허1907029호(서식 자동화를 위한 테이블 생성 장치 및 방법)에서는, 이미지로부터 테이블을 인식하고, 인식된 테이블을 재현하는 방법에 대하여 개시하고 있으나, 이는 테이블에 포함된 선분(라인(line))을 기준으로 테이블을 재현하는 것이기에, 선분의 시각적인 표시가 생략된 셀을 포함한 테이블을 분석하는 데에 한계가 있다.
이에, 이미지(예를 들어, 테이블이 포함된 종이문서)에 시각적인 특성 및 비시각적인 특성을 모두 고려하여, 테이블을 생성할 수 있는 방법에 대한 개선이 필요하다.
본 발명은, 이미지에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.
보다 구체적으로, 본 발명은 이미지에 나타나지 않는 비시각적 특성까지 고려하여 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것이다.
위에서 살펴본 과제를 해결하기 위하여, 본 발명에 따른 테이블 생성 방법은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 테이블에 포함된 셀의 각 코너(corner) 및 상기 테이블을 구성하는 복수의 라인(line)을 추출하는 단계, 상기 복수의 라인을 좌표 평면 상에 투영하는 단계, 상기 투영 결과에 근거하여, 상기 좌표 평면 상에서 상기 각 코너의 좌표 값을 특정하는 단계 및 상기 각 코너의 좌표 값에 근거하여, 상기 이미지에 포함된 테이블과 동일한 셀 구성을 갖는 테이블을 생성하는 단계를 포함할 수 있다.
나아가, 본 발명에 따른 테이블 생성 시스템은, 저장부, 테이블을 포함하는 이미지를 수신하는 수신부 및 상기 테이블에 포함된 셀의 각 코너(corner) 및 상기 테이블을 구성하는 복수의 라인(line)을 추출하는 제어부를 포함하고, 상기 제어부는, 상기 복수의 라인을 좌표 평면 상에 투영하고, 상기 투영 결과에 근거하여, 상기 좌표 평면 상에서 상기 각 코너의 좌표 값을 특정하며, 상기 각 코너의 좌표 값에 근거하여, 상기 이미지에 포함된 테이블과 동일한 셀 구성을 갖는 테이블을 생성할 수 있다.
나아가, 본 발명에 따른, 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램은, 테이블(table)을 포함하는 이미지를 수신하는 단계, 상기 테이블에 포함된 셀의 각 코너(corner) 및 상기 테이블을 구성하는 복수의 라인(line)을 추출하는 단계, 상기 복수의 라인을 좌표 평면 상에 투영하는 단계, 상기 투영 결과에 근거하여, 상기 좌표 평면 상에서 상기 각 코너의 좌표 값을 특정하는 단계 및 상기 각 코너의 좌표 값에 근거하여, 상기 이미지에 포함된 테이블과 동일한 셀 구성을 갖는 테이블을 생성하는 단계를 수행하도록 하는 명령어들을 포함할 수 있다.
위에서 살펴본 것과 같이, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블의 구성 성분들을 각각의 특성에 맞게 추출하고, 추출된 구성 성분들 간의 관계성에 근거하여, 이미지에 포함된 테이블 및 테이블의 구조를 파악할 수 있다. 이를 통해, 이미지 내에서 테이블이 어느 영역에 위치하는지 알지 못하는 경우이더라도, 테이블의 구성 성분들에 기반하여, 이미지로부터 테이블을 정확하게 검출할 수 있다. 결과적으로 본 발명은 테이블의 구성 성분에 기반하여, 이미지로부터 테이블을 인식 및 검출함으로써, 이미지에 포함된 테이블을 검출하는 과정에서의 실패 확률을 현저하게 낮출 수 있다.
나아가, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블의 구성 성분들을 라인 특성과 코너 특성에 근거하여 각각 추출하고, 추출된 구성 성분들을 좌표 평면에 투영할 수 있다.
그리고, 본 발명은 좌표 평면에 투영된 구성 성분들의 좌표 값 간의 관계성에 근거하여, 이미지에 포함된 테이블의 구조를 정확하게 파악할 수 있다. 이러한 관계성에 근거하여 테이블을 생성하는 경우, 본 발명은, 눈에 보이지 않는 성분(예를 들어, implicit line)까지 고려하여, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.
도 1은 본 발명에 따른 테이블 생성 시스템을 설명하기 위한 개념도이다.
도 2는 본 발명에 따른 테이블 생성 방법을 설명하기 위한 흐름도이다.
도 3, 도 4, 도 5a 및 도 5b는 테이블의 특성 정보를 추출하는 방법을 설명하기 위한 개념도들이다.
도 6, 도 7, 도 8 및 도 9는 테이블을 좌표 평면에 투영하는 방법을 설명하기 위한 개념도들이다.
도 10은 재구성된 테이블을 설명하기 위한 개념도이다.
도 2는 본 발명에 따른 테이블 생성 방법을 설명하기 위한 흐름도이다.
도 3, 도 4, 도 5a 및 도 5b는 테이블의 특성 정보를 추출하는 방법을 설명하기 위한 개념도들이다.
도 6, 도 7, 도 8 및 도 9는 테이블을 좌표 평면에 투영하는 방법을 설명하기 위한 개념도들이다.
도 10은 재구성된 테이블을 설명하기 위한 개념도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은, 이미지에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성할 수 있는 테이블 생성 방법 및 시스템을 제공하기 위한 것으로서, 이미지에 나타나지 않는 비시각적 특성까지 고려할 수 있는 테이블 생성 방법 및 시스템에 관한 것이다.
앞서 살펴본 것과 같이, 인공지능의 발달로 다양한 형태로 사무자동화(office automation)가 이루어지고 있으며, 업무의 효율을 위하여, 종이 문서에 포함된 테이블(table, 표)을, 종이 문서에 포함된 테이블 형식 그대로 디지털화(데이터화) 해야 하는 니즈가 점차적으로 높아지고 있다.
예를 들어, 다양한 종류의 영수증(領收證, receipt)과 같은 문서는 테이블을 포함하고 있으며, 보험사, 병원 등에서는 대량의 종이 문서에 포함된 테이블을 디지털화된 데이터로서 처리하여, 전산화할 필요가 있다.
이하에서는, 종이 문서에 포함된 테이블과 동일한 구성을 갖는 테이블을 생성하는 방법 및 시스템에 대하여 첨부된 도면과 함께 보다 구체적으로 살펴본다. 도 1은 본 발명에 따른 테이블 생성 시스템을 설명하기 위한 개념도이고, 도 2는 본 발명에 따른 테이블 생성 방법을 설명하기 위한 흐름도이다. 도 3, 도 4, 도 5a 및 도 5b는 테이블의 특성 정보를 추출하는 방법을 설명하기 위한 개념도들이며, 도 6, 도 7, 도 8 및 도 9는 테이블을 좌표 평면에 투영하는 방법을 설명하기 위한 개념도들이다. 나아가, 도 10은 재구성된 테이블을 설명하기 위한 개념도이다.
본 발명에 대한 설명에 앞서, 본 명세서에서 언급되는 “테이블(table)”은, 표(表)라고도 명명될 수 있으며, 어떤 내용을 일정한 형식 또는 순서에 따라 나타낸 것을 의미할 수 있다. 이러한 테이블은, 적어도 하나의 셀(cell) 또는 공간(또는 영역)을 포함하고 있으며, 테이블은 이러한 셀(cell) 내에 정보를 포함하도록 구성된다.
테이블에 포함되는 셀의 개수, 셀의 크기 또는 셀의 위치 등은 다양하게 변형될 수 있으며, 통상적으로 셀의 형상은 직사각형(rectangular)의 형상으로 이루어진다.
테이블에 포함된 셀 각각은, 적어도 4개의 선분(line segment)에 의해 정의될 수 있다.
즉, 테이블에 포함된 셀은 4개의 선분으로 둘러싸인 사각형으로 이루어질 수 있다. 본 발명에서 “선분(line segment)”은 선 또는 라인(line)의 적어도 일부로 이해되어질 수 있다. 각 셀을 구성하는 선분들이 연장되어 선 또는 라인을 이룰 수 있다.
이와 같이, 하나의 사각 형상의 셀을 형성하기 위해서는, 최소 4개의 선분이 필요하며, 이는, 테이블을 구성하는 2개의 수평 라인(horizontal line, 또는 행 방향의 라인, 또는 모서리(edge))) 및 2개의 수직 라인(vertical line, 또는 열 방향의 라인, 또는 모서리(edge)) 중 적어도 일부에 의해 이루어질 수 있다. 보다 구체적으로, 직사각 형상의 셀은, 2개의 수평 라인 및 2개의 수직 라인의 적어도 일부가 상호 교차하는 것에 의하여 형성될 수 있다.
따라서, 테이블은 최소 4개의 라인을 포함하며, 수평 라인의 수, 수직 라인의 수, 라인 간의 간격, 라인의 배열 위치에 따라, 셀의 개수, 셀의 크기, 셀의 위치 등이 정의될 수 있다.
본 발명에 따른 테이블 생성 시스템(100)은, 이미지(1000)에 포함된 테이블(1100)로부터, 테이블(1100)을 구성하는 구성 성분들을 추출하고, 추출된 구성 성분들 간의 관계에 기반하여, 이미지(1000)에 포함된 테이블(1100)과 동일한 테이블을 생성할 수 있다.
여기에서, 이미지(1000)는 종이 문서를 스캔한 것에 의하여 획득되는 이미지이거나, 기타 다른 다양한 방법으로 획득된 이미지일 수 있다.
나아가, 본 발명에서 설명되는 테이블을 구성하는 구성 성분들은, 테이블을 구성하는 라인(수직 라인 및 수평 라인) 및 테이블을 구성하는 라인들이 교차(交叉)하면서 형성되는 코너(corner, 또는 꼭지점)를 포함할 수 있다.
예를 들어, 테이블이 1개의 셀을 가진 경우, 테이블은 2개의 수평 라인, 2개의 수직 라인 및 4개의 코너를 포함할 수 있다.
한편, 도 1에 도시된 것과 같이, 본 발명에 따른 테이블 생성 시스템(100)은 수신부(110), 저장부(120), OCR부(130) 및 제어부(140) 중 적어도 하나를 포함할 수 있다.
수신부(110)는 테이블(1100)이 포함된 이미지(1000)를 수신하는 수단으로서, 통신부, 스캔부 및 입력부 중 적어도 하나를 포함하여 구성되거나, 기타 이미지(1000)를 수신할 수 있는 수단으로 이루어질 수 있다.
테이블 생성 시스템(100)은 수신부(110)를 통해 수신한 이미지(1000)에 포함된 테이블(1100)을 분석하여, 이미지(1000)에 포함된 테이블(1100)과 동일한 테이블을 생성할 수 있다. 이와 같이, 이미지(1000)에 포함된 테이블(1100)과 동일한 테이블을 생성하는 작업은, 테이블을 재구성 또는 복원(reconstruction, restoration)한다고도 표현될 수 있다.
다음으로 저장부(120)는, 본 발명에 따른 다양한 정보를 저장하도록 이루어질 수 있다. 저장부(120)의 종류는 매우 다양할 수 있으며, 적어도 일부는, 외부 서버(150, 클라우드 서버(151) 및 데이터베이스(database: DB, 152) 중 적어도 하나)를 의미할 수 있다. 즉, 저장부(120)는 본 발명과 관련된 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다.
저장부(120)에는 i)테이블(1100)을 포함하는 이미지(1000) 및 이와 관련된 데이터, ii)이미지(1000)로부터 추출된 테이블(1100)의 구성 성분(라인, 코너 등) 및 이와 관련된 데이터, iii) 테이블(1100)에 포함된 콘텐츠(예를 들어, 텍스트, 이미지 등) 데이터 중 적어도 하나가 저장될 수 있다.
다음으로, OCR(Optical Character Reader, 130)부는 이미지(1000)에 포함된 콘텐츠를 인식하는 수단으로서, 다양한 콘텐츠 인식 알고리즘 중 적어도 하나를 통하여 이미지(1000)에 포함된 콘텐츠를 인식할 수 있다. OCR부(130)는 인공지능에 기반한 알고리즘을 이용하여, 콘텐츠를 인식할 수 있다.
다음으로 제어부(140)는 본 발명과 관련된 테이블 생성 시스템(100)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(140)는 인공지능 알고리즘을 처리 가능한 프로세서(processor, 또는 인공지능 프로세서)를 포함할 수 있다. 제어부(140)는 딥러닝 알고리즘에 기반하여, 이미지(1000)로부터 테이블(1100)을 인식하고, 이미지(1000)에 포함된 테이블(1100)과 동일한 셀의 구성을 갖는 테이블을 생성할 수 있다.
이하에서는, 위에서 살펴본 본 발명에 따른 테이블 생성 시스템의 구성에 기반하여, 테이블을 생성하는 방법에 대하여 보다 구체적으로 살펴본다.
도 2에 도시된 것과 같이, 본 발명에 따른 테이블 생성 방법에서는, 테이블(1100)을 포함하는 이미지(1000, 도 1 참조)를 수신하는 과정이 진행될 수 있다(S210).
앞서, 살펴본 것과 같이, 테이블(1100)이 포함된 이미지(1000)는 다양한 루트를 통하여 수신될 수 있다.
이미지(1000)가 수신되면, 다음으로, 테이블(1100)에 포함된 셀의 각 코너(corner) 및 테이블(1100)을 구성하는 복수의 라인(line)을 추출하는 과정이 진행될 수 있다(S220).
이는, 테이블(1100)로부터 특성 정보를 추출하는 과정이라고 이해되어 질 수 있다. 여기에서, 특성(feature, 또는 특징) 정보는, 테이블(1100)을 구성하는 성분(또는 구성 성분)들에 대한 것으로서, 제어부(140)는 이미지(1000)로부터, 테이블(1100)을 구성하는 구성 성분들의 특성 정보를 추출할 수 있다. 이러한 과정은 “Low-level feature extraction을 수행한다”라고도 표현될 수 있다.
테이블(1100)은, 사각 형상의 적어도 하나의 셀(cell, 또는 공간(또는 영역), 도 4의 도면부호 411, 412, 413 참조)을 포함하고 있으며, 테이블은 이러한 셀(cell) 내에 정보를 포함하도록 구성된다.
테이블(1100)의 구성 성분은, 이러한 셀을 구획(또는 정의, 또는 구분)하는 라인(또는 각 셀을 구성하는 선분, 도 4의 도면부호 310, 320 참조) 및 이러한 라인들이 교차하는 것에 의하여 형성되는 코너(또는 꼭지점, 도 5a의 도면부호 501 내지 507 참조)를 포함할 수 있다.
하나의 사각 형상의 셀을 형성하기 위해서는, 최소 4개의 라인이 필요하며, 이는, 2개의 수평 라인(horizontal line, 또는 행 방향의 라인, 또는 모서리(edge))) 및 2개의 수직 라인(vertical line, 또는 열 방향의 라인, 또는 모서리(edge))을 포함하도록 구성될 수 있다.
보다 구체적으로, 사각 형상의 셀은, 2개의 수평 라인 및 2개의 수직 라인의 적어도 일부가 상호 교차하는 것에 의하여 형성될 수 있다. 그리고, 코너(corner)는, 어느 하나의 수평 라인과 어느 하나의 수직 라인이 교차하는 것에 의하여 형성될 수 있다.
테이블(1100)의 구성 성분들을 추출하는 것에 대하여 보다 구체적으로 살펴본다. 이하에서, 순차적으로 설명되는 구성 성분들을 추출하는 순서는 자유롭게 변형 가능하다.
제어부(140)는 도 3의 (a)에 도시된 것과 같이, 테이블(1100)에 포함된 수직 라인(310, 311, 312, 312a, 313)을 추출할 수 있다. 본 명세서에서는, 설명의 편의상 일부의 수직 라인(311, 312, 312a, 313)에 대해서만 도면부호를 부여하였으나, 실제 제어부(140)는 테이블(1100)에 포함된 모든 수직 라인을 추출하도록 이루어진다. 도 3의 (a)에 도시된 테이블(1100)에는 7개의 수직 라인을 포함하고 있으며, 제어부(140)는 7개의 수직 라인을 모두 추출하도록 이루어진다. 한편, 제어부(140)는 도시된 것과 같이, 동일 선상에 있는 수직 라인(312, 312a)을 하나의 라인으로서 검출할 수 있다. 도시와 같이, 동일 선상에 있는 수직 라인(312, 312a)은, 셀들의 병합(merge)에 의하여, 분리된 라인으로 나타내어질 수 있으나, 그 본질은 동일한 라일 수 있다.
제어부(140)는 이미지 인식 기법에 기반하여, 이미지(1000)로부터, 이미지(1000)에 포함된 모든 수직 라인(310)을 추출할 수 있다. 테이블(1100)에서 “수직 라인을 추출”한다는 것은, 테이블(1100)에서 수직 라인에 해당하는 구성 성분을 인식하고, 해당 구성 성분을 수직 라인이라고 판단하는 것을 의미할 수 있다. 제어부(140)는 도 3의 (a)에 도시된 것과 같이, 수직 라인에 해당하는 성분들을, 수직 라인에 매칭된 시각적인 표시 방법(예를 들어, 제1 표시 방법(ex: 두꺼운 실선))으로 테이블(1100)에서 표시할 수 있다. 그 결과, 도 3의 (a)에 도시된 것과 같이, 테이블(1100)에 포함된 모든 수직 라인(310)은 두꺼운 실선으로 표시될 수 있다.
마찬가지로, 제어부(140)는 도 3의 (b)에 도시된 것과 같이, 테이블(1100)에 포함된 수평 라인(320, 321, 322, 323)을 추출할 수 있다. 본 명세서에서는, 설명의 편의상 일부의 수평 라인(321, 322, 323)에 대해서만 도면부호를 부여하였으나, 실제 제어부(140)는 테이블(1100)에 포함된 모든 수평 라인을 추출하도록 이루어진다.
제어부(140)는 이미지 인식 기법에 기반하여, 이미지(1000)로부터, 이미지(1000)에 포함된 모든 수평 라인(320)을 추출할 수 있다. 테이블(1100)에서 “수평 라인을 추출”한다는 것은, 테이블(1100)에서 수평 라인에 해당하는 구성 성분을 인식하고, 해당 구성 성분을 수평 라인이라고 판단하는 것을 의미할 수 있다.
도 3의 (b)에 도시된 테이블(1100)에는 22개의 수평 라인을 포함하고 있으며, 제어부(140)는 22개의 수평 라인을 모두 추출하도록 이루어진다. 한편, 제어부(140)는 동일 선상에 있는 수평 라인을 하나의 수평 라인으로서 검출할 수 있다. 동일 선상에 있는 수평 라인은, 셀들의 병합(merge)에 의하여, 분리된 라인으로 나타내어질 수 있으나, 그 본질은 동일한 라일 수 있다.
제어부(140)는 도 3의 (b)에 도시된 것과 같이, 수평 라인에 해당하는 성분들을, 수평 라인에 매칭된 시각적인 표시 방법(예를 들어, 제2 표시 방법(ex: 점선))으로 테이블(1100)에서 표시할 수 있다. 그 결과, 도 3의 (b)에 도시된 것과 같이, 테이블(1100)에 포함된 모든 수평 라인(320)은 점선으로 표시될 수 있다.
이미지(1000)에 포함된 특성 정보 중 라인 특성 정보의 추출이 완료되면, 도 4에 도시된 것과 같이, 수직 라인(310) 및 수평 라인(320)에는, 각각 대응되는 시각적인 표시 방법으로, 표시가 될 수 있다. 수직 라인(310)은 제1 표시 방법인 두꺼운 실선으로 표시되고, 수평 라인(320)은 제2 표시 방법인 점선으로 표시될 수 있다.
나아가, 제어부(140)는 테이블(1100)의 코너(또는 코너 정보)를 추출할 수 있다. 여기에서, 테이블(1100)의 코너는, 도 4에 도시된 것과 같이, 테이블(110)에 포함된 셀(411, 412, 413)의 꼭지점으로서, 수직 라인(310)과 수평 라인(320)이 교차되는 것에 의하여 형성될 수 있다. 제어부(140)는 테이블(1100)에 포함된 모든 셀의 코너를 추출할 수 있다.
본 발명에서 “셀의 코너가 추출”된다는 것은 테이블(1100)에서 수평 라인과 수직 라인이 교차되는 지점을 인식하고, 해당 지점을 “코너”라고 판단하는 것을 의미할 수 있다.
한편, 셀의 코너는, 각각의 셀을 기준으로 서로 다른 위치 특성을 가질 수 있다. 도 5a에서 임의의 하나의 셀(511)을 예를 들어 설명하도록 한다. 도시와 같이, 각각의 셀(511)은 서로 다른 4개의 코너(501, 502, 503, 504)를 갖도록 이루어진다. 이러한 4개의 코너(501, 502, 503, 504) 중 어느 하나의 코너는 나머지 코너에 대하여 상대적인 위치 특성을 갖는다.
예를 들어, 제1 코너(501)는 나머지 코너(502 내지 504) 보다 좌측 상단(top-left: tl)에 위치할 수 있다. 이러한 제1 코너(501)는 해당 코너(501)가 포함된 셀(511)의 tl 코너(501)가 될 수 있다.
그리고, 제2 코너(502)는 나머지 코너(501, 503, 504) 보다 우측 상단(top-right: tr)에 위치할 수 있다. 이러한 제2 코너(502)는 해당 코너(502)가 포함된 셀(511)의 tr 코너(502)가 될 수 있다.
그리고, 제3 코너(503)는 나머지 코너(501, 502, 504) 보다 좌측 하단(bottom-left: bl)에 위치할 수 있다. 이러한 제3 코너(503)는 해당 코너(503)가 포함된 셀(511)의 bl 코너(503)가 될 수 있다.
마지막으로, 제4 코너(504)는 나머지 코너(501, 502, 503) 보다 우측 하단(bottom-right: br)에 위치할 수 있다. 이러한 제4 코너(504)는 해당 코너(504)가 포함된 셀(511)의 br 코너(504)가 될 수 있다.
이와 같이, 셀의(511)을 구성하는 각 코너는 서로 다른 위치 특성을 가지면, 이러한 위치 특성은 뒤에서 설명되는 셀의 병합여부를 판단하는데 활용된다.
한편, 테이블(1100)에는 복수의 셀(511, 512, 513)을 포함하여, 이러한 어느 하나의 셀은 적어도 하나의 다른 셀과 서로 이웃(또는 인접)하게 위치할 수 있다. 서로 다른 2개의 셀(511, 512)이 서로 이웃하게 배치된 경우, 적어도 하나의 코너(503를) 공유할 수 있다. 서로 다른 셀들(511, 512) 간에 공유되는 코너(503)는 각각의 셀을 기준으로 서로 다른 위치 특성으로 정의될 수 있다. 예를 들어, 특정 코너(503)는 어느 나의 셀(511)을 기준으로 좌측 하단(bl)에 위치하는 코너이지만, 다른 셀(512)을 기준으로는 좌측 상단(tl)에 위치하는 코너일 수 있다. 이에, 테이블(1100)에 포함된 코너의 위치 특성은 어느 셀을 기준으로 판단하느냐에 따라, 서로 달라질 수 있다.
한편, 제어부(140)는 도 5b에 도시된 것과 같이, 테이블(1100)을 구성하는 모든 코너(501 내지 509, 설명의 편의상 일부 코너에만 도면 부호를 부여함)를 인식 및 추출할 수 있다.
이와 같이, 제어부(140)는 이미지(1000)로부터, 수직 라인, 수평 라인 및 각각의 셀에 대해 서로 다른 위치 특성을 갖는 코너들을 포함하는 구성 성분을 추출할 수 있다.
이와 같이, 구성 성분의 추출이 이루어지면, 본 발명에서는 복수의 라인을 좌표 (또는 좌표 평면) 상에 투영하는 과정이 진행될 수 있다(S230).
이러한 과정은, Edge projection& grouping 과정이라고도 명명될 수 있다.
본 과정에서는, 좌표 평면 상에서 복수의 라인 각각에 대한 라벨링(labelling)을 수행하는 과정을 더 포함할 수 있다.
제어부(140)는 도 6 및 도 7에 도시된 것과같이, 테이블(1100)에 포함된 복수의 수직 라인(310) 및 복수의 수평 라인(320)을 서로 다른 평면(또는 좌표 평면) 상에 투영(projection)할 수 있다.
여기에서, 서로 다른 좌표 평면은 서로 직교하는 제1 축 및 제2 축에 의해 정의되는 2차원 좌표 평면일 수 있다.
도 6에 도시된 것과 같이, 제어부(140)는 복수의 수직 라인(310)을, 상기 제1 축에 대응되는 제1 평면(예를 들어, x 평면 또는 x 축 평면) 상에 투영할 수 있다.
그리고, 도 7에 도시된 것과 같이, 제어부(140)는 복수의 수평 라인(320)을 상기 제2 축에 대응되는 제2 평면(예를 들어, y 평면 또는 y 축 평면) 상에 투영할 수 있다.
이와 같이, 각각의 수직 라인 및 수평 라인이 좌표(또는 좌표 평면) 상에 투영되는 경우, 각각의 수직 라인 및 수평 라인은 각각의 평면에 대해 서로 다른 좌표 값을 가질 수 있다.
도 6에 도시된 것과 같이, 서로 다른 7개의 수직 라인은, 제1 평면 상에서, 서로 다른 7개의 지점에 각각 대응되도록 투영될 수 있다. 따라서, 투영 결과, 서로 다른 수직 라인들은 제1 평면 상에서 서로 다른 좌표 값을 가질 수 있다.
마찬가지로, 도 7에 도시된 것과 같이, 서로 다른 22개의 수평 라인은, 제2 평면 상에서 서로 다른 22개의 지점에 각각 대응되도록 투영될 수 있다. 따라서, 투영 결과, 서로 다른 수평 라인들은 제2 평면 상에서 서로 다른 좌표 값을 가질 수 있다.
한편, 좌표 평면 상에, 라인들의 투영이 이루어지는 경우, 라인들 간의 상호 간격 및 라인의 위치 들이 서로 대응되도록 투영될 수 있다.
제어부(140)는 테이블(1100)에서 각각의 라인들의 위치를 기준으로, 좌표 평면 상에 대한 투영을 수행하므로, 라인들 간의 위치 관계 정보가, 좌표 평면 상에 나타내어질 수 있다.
예를 들어, 도 6에 도시된 것과 같이, 제1 수직 라인(311)과 제2 수직 라인(312)간의 간격과, 제2 수직 라인(312)과 제3 수직 라인(313)의 간격이 서로 상이하다. 그 결과, 제1 평면 상에도, 제1 수직 라인(311)이 투영된 지점(0)과 제2 수직 라인(312)이 투영된 지점(1) 간의 간격과, 제2 수직 라인(312)이 투영된 지점(1)과 제3 수직 라인(313)이 투영된 지점(2) 간의 간격이 상이함을 알 수 있다.
이와 같이, 제어부(140)는 테이블(1100)에 포함된 라인들 간의 간격, 위치 특성이 그대로 유지될 수 있도록, 라인들을 좌표 평면상에 투영함으로써, 이미지(1000)에 포함된 테이블(1100)과 동일한 구성을 갖는 테이블을 생성할 수 있다.
한편, 제어부(140)는, 좌표 평면 상에 투영된 결과를 기반으로, 각각의 라인에 대해 라벨링을 수행할 수 있다. 제어부(140)는 좌표 평면 상에서 복수의 수직 라인(310) 및 복수의 수평 라인(320) 각각의 라벨 값이 특정되도록, 복수의 수직 라인 및 상기 복수의 수평 라인 각각에 대한 라벨링(labeling)을 수행할 수 있다.
도 6에 도시된 것과 같이. 복수의 수직 라인(310)은, 제1 평면 상으로의 투영 결과에 근거하여, 제1 축에 대한 라벨 값(0 내지 6)을 갖도록 라벨링(labeling)될 수 있다. 제1 축에 라벨링 되는 라벨 값의 개수는, 테이블(1100)에 포함된 수직 라인의 개수에 근거하여 결정될 수 있다. 도 6에 도시된 것과 같이, 테이블(1100)에 7개의 수직 라인이 포함된 경우, 제1 축에 대한 라벨 값은, 7개로 구성될 수 있다.
마찬가지로, 도 7에 도시된 것과 같이. 복수의 수평 라인(320)은, 제2 평면 상으로의 투영 결과에 근거하여, 제2 축에 대한 라벨 값(0 내지 21)을 갖도록 라벨링(labeling)될 수 있다. 제2 축에 라벨링 되는 라벨 값의 개수는, 테이블(1100)에 포함된 수평 라인의 개수에 근거하여 결정될 수 있다. 도 7에 도시된 것과 같이, 테이블(1100)에 22개의 수직 라인이 포함된 경우, 제2 축에 대한 라벨 값은, 22개로 구성될 수 있다.
한편, 본 발명에서는 복수의 수직 라인 및 수평 라인에 대한 라벨 값은, 순차적으로 자연수 n 만큼씩 증가하도록 부여될 수 있다.
제어부(140)는 수직 라인 및 수평 라인의 간격 및 위치 특성을 고려하여, 좌표 평면 상에, 수직 라인 및 수평 라인을 투영하였으므로, 데이터 처리의 편의를 위하여, 라벨 값을 n씩 증가하는 자연수로 표현할 수 있다. 또한, 이러한 라인 값은 알파벳 또는 기타 다른 방법으로도 표현될 수 있음은 물론이다.
도 6에 도시된 것과 같이, 복수의 수직 라인(310)은, 나열된 순서에 따라 제1 평면 상에서 n씩(예를 들어, 1씩) 증가하는 서로 다른 라벨 값(예를 들어, 0 부터 6까지, 1씩 순차적으로 증가하는 라벨 값)을 가질 수 있다. 그리고, 도 7에 도시된 것과 같이, 복수의 수평 라인(320)은, 나열된 순서에 따라, 상기 제2 평면 상에서 n씩 증가하는 서로 다른 라벨 값(예를 들어, 0 부터 21까지, 1씩 순차적으로 증가하는 라벨 값)을 가질 수 있다. 이러한 수직 라인 및 수평 라인 각각의 라벨 값은, 라인 각각의 ID(identification, identification number)라고도 표현될 수 있다.
한편, 위와 같이, 제어부(140)는 테이블에 존재하는 모든 라인을 좌표 평면상에 투영함으로써, 테이블을, 테이블에 존재하는 실제 셀과 관계없이, 테이블에 존재하는 모든 라인에 근거하여 구분되는 서브 셀 단위로 분할할 수 있다. 예를 들어, 7개의 수직 라인과 22개의 수평 라인의 경우, 해당 테이블에는 6x21개의 서브 셀(126개)이 존재할 수 있다. 서브 셀의 개수는 (수직 라인의 수-1) x (수평 라인의 수-1)에 의하여 구해질 수 있다.
이와 같이, 테이블(1100)에 포함된 라인에 대한 라벨링이 완료되면, 다음으로는, 상기 투영 결과에 근거하여, 상기 좌표 평면 상에서 상기 각 코너의 좌표 값을 특정하는 과정이 진행될 수 있다(S240). 이러한 과정은, “Corners to edges matching” 과정이라고도 표현될 수 있다.
보다 구체적으로, 제어부(140)는, 복수의 라인 각각에 대한 라벨 값을 이용하여, 각 코너의 좌표 값을 특정할 수 있다.
앞서 살펴본 것과 같이, 셀을 구성하는 각각의 코너는 서로 다른 라인의 교차에 의하여 형성되는 것이므로, 각각의 코너의 좌표 값은, 도 8에 도시된 것과 같이, 수직 라인의 라벨 값(i)과 수평 라인의 라벨 값(j)으로 나타내어질 수 있다.
즉, 각 코너는, 어느 하나의 수평 라인 및 어느 하나의 수직 라인에 포함되는 것으로서, 각 코너는, 좌표 평면 상에서, 각각의 라인의 라벨 값에 해당하는 좌표 값(i, j)을 가질 수 있다.
따라서, 제어부(140)는 셀을 구성하는 각 코너가, 이미지(1000)로부터 추출된 복수의 수직 라인 및 복수의 수평 라인 중 어느 라인에 포함되는지에 근거하여 각 코너의 2차원의 좌표 값을 특정할 수 있다.
각 코너의 좌표 값은, 복수의 수직 라인 중 상기 각 코너가 포함된 특정 수직 라인의 제1 평면 상에서의 제1 라벨 값(i)과, 복수의 수평 라인 중 상기 각 코너가 포함된 특정 수평 라인의 제2 평면 상에서의 제2 라벨 값(j)을 포함할 수 있다.
따라서, 도 8에 도시된 것과 같이, 테이블에 포함된 모든 코너는, 서로 다른 좌표 값을 가질 수 있다.
제어부(140)는 도 9에 도시된 것과 같이, 분석 대상의 테이블에서 추출된 모든 코너에 대해, 수평 라인 및 수직 라인 각각에 대해 부여된 라벨 값을 이용하여, 좌표 값을 부여할 수 있다.
이러한 과정은, 코너와 라인을 매칭하는 과정이라고도 표현할 수 있다. 즉, 특정 코너의 좌표 값은 곧 특정 수직 라인 및 수평 라인의 라벨 값이므로, 특정 코너의 좌표 값만으로, 특정 코너가 어느 수평 라인 및 수직 라인에 포함되는지 알 수 있기 때문이다.
이와 같이, 각 코너에 대한 좌표 값이 특정되면, 다음으로, 이미지에 포함된 테이블과 동일한 셀 구성을 갖는 테이블을 생성하는 과정이 진행될 수 있다(S250). 이러한 과정은, 테이블을 구성하는 셀의 구조를 파악하는 것으로서, 제어부(140)는 셀들 간의 병합 관계를 파악하여, 이미지에 포함된 테이블과 동일한 셀 구성을 갖는 테이블을 생성할 수 있다. 이와 같이, 셀 들 간의 병합 관계를 파악하는 과정은 “Cell merging” 과정이라고도 표현될 수 있다.
앞서 본 발명에서는, 라인들에 대하여 순차적으로 n씩 증가하는 라벨 값을 부여했다.
따라서, 테이블을 구성하는 모든 라인을 기준으로, 셀을 최소 단위로 분할하는 경우, 코너의 좌표 값 및 코너의 개수는 일정한 규칙을 가질 수 있다. 제어부(140)는 이러한 규칙에 기반하여, 테이블 내에서 병합된 셀이 존재하는지를 판단할 수 있다.
먼저, 테이블을 구성하는 모든 라인을 기준으로, 셀을 최소 단위로 분할하는 경우, 특정 셀에서 특정 라인 상(또는 특정 선상)에 포함된 코너들(예를 들어, tl(좌측 상단), bl(좌측 하단))의 좌표 값은, 특정 라인(예를 들어, 수직 라인)에 대해서는 동일한 좌표 값을 가지고, 이와 수직하는 각각 다른 라인(예를 들어, 수평 라인)에 대해서는 n만큼의 차이를 갖는 좌표 값을 가질 수 있다.
예를 들어, 특정 셀에서 동일 수직 라인에 포함된 2개의 코너(예를 들어, tl, bl)의 제1 및 제2 평면에 대한 좌표 값은, 제1 평면의 좌표 값(수직 라인의 라벨 값)에 있어서는 동일하고, 제2 평면에 대한 좌표 값(수평 라인의 라벨 값)은 서로 다르며, 이는 n의 차이를 갖는다.
따라서, 제어부(140)는, 특정 셀의 코너들의 좌표 값의 차이가 0(동일 선상에 있는 경우, 해당 라인의 좌표 값은 항상 동일함) 또는 n이 아닌 경우, 해당 특정 셀은 적어도 2개의 셀이 병합되었다고 판단할 수 있다. 이는 본 발명에서, 모든 라인들이 n씩 증가하는 라벨 값을 갖기 때문이다. 그리고, 제어부(140)는 좌표 값의 차이 정도에 따라, 해당 특정 셀이 몇 개의 셀이 병합된 셀인지를 판단할 수 있다. 여기에서, 병합되는 셀은, 테이블에 포함된 모든 라인에 의해 최소 단위로 분할된 셀(예를 들어, “서브 셀”이라고 명명될 수 있음)이 적어도 2개 병합된 셀일 수 있다.
따라서, 제어부(140)는 이러한 규칙에 근거하여, 테이블에서 추출된 모든 코너에 대하여, 수직 방향 및 수평 방향으로 각각의 좌표 값들의 차이를 연산하고, 연산 결과에 기반하여, 해당 코너들이 포함된 특정 셀이 수직 방향 또는 수평 방향으로 서브 셀이 병합되었는지를 판단할 수 있다.
한편, 제어부(140)는 테이블에서 추출된 코너들 중 서로 이웃하는 코너들은 동일한 셀에 포함된 코너라고 판단할 수 있다. 따라서, 제어부(140)는 서로 이웃하는 코너들의 좌표 값 간의 연산을 수행하여, 서로 이웃하는 코너들이 포함된 셀이 서브 셀들이 병합된 셀인지 또는 서브 셀 그 자체인지를 판단한다.
예를 들어, 제어부(140)는 수직 방향(또는 열 방향)으로 서브 셀들이 병합되었는지 판단하기 위해서, 서로 이웃하는 수직 방향의 2개의 코너의 좌표 값 중, 수평 방향(또는 행 방향)에 대응되는 평면(제2 평면)의 좌표 값 간의 연산을 수행한다. 그리고, 제어부(140)는 수평 방향으로 서브 셀들이 병합되었는지 판단하기 위해서는, 서로 이웃하는 수평 방향의 2개의 코너의 좌표 값 중, 수직 방향에 대응되는 평면(제1 평면)의 좌표 값 간의 연산을 수행한다. 제어부(140)는 테이블에 포함된 모든 서로 이웃하는 코너들에 대하여, 해당 연산을 수행함으로써, 서브 셀들이 병합된 셀을 추출할 수 있다.
나아가, 제어부(140)는 수직 방향 및 수평 방향 각각에 대하여 서브 셀들이 병합되었는지를 판단할 수 있다.
예를 들어, 수직 또는 수평 방향으로 서브 셀이 병합되었는지 판단하는 것에 대하여 살펴보기 위하여, n=1이이라고 가정한다.
도 9에 도시된 것과 같이, 수직 방향으로 서로 이웃하는 tl 코너(901, 좌표 값: (0, 0)) 및 bl 코너(903, 좌표 값: (0, 1))에 대해, 제어부(140)는 수평 라인(921, 922)에 해당하는 평면(제2 평면)의 좌표 값 간의 차이를 산출할 수 있다(여기에서, 서로 이웃하는 코너들은, 수직 방향 또는 수평 방향 중 어느 하나에 대해 동일 라인에 포함된 코너들이다).
이 경우, 제1 라인(921)에 해당하는 좌표 값이 0이고, 제2 라인(922)에 해당하는 좌표 값은 1(또는 n)이므로, 두 좌표 값 간의 차이는 1이다. 제어부(140)는, 서로 다른 수평 라인(921, 922)에 대한 좌표 값의 차이가, 1(또는 n)인 경우, 해당 셀이, 수직 방향으로 다른 셀과 병합되지 않았다고 판단할 수 있다. 이 경우, 서로 이웃하는 상기 tl 코너(901, 좌표 값: (0, 0)) 및 bl 코너(903, 좌표 값: (0, 1))가 포함된 특정 셀(920)은 수직 방향(열 방향)으로 병합된 서브 셀이 존재하지 않는다고 판단할 수 있다.
만약, 도 9의 예와 다르게, 서로 다른 수평 라인(921, 922)에 대한 좌표 값의 차이가, 1(또는 n)을 초과한 경우, 제어부(140)는 해당 셀이, 수직 방향으로 서브 셀들이 병합된 셀이라고 판단할 수 있다. 제어부(140)는 좌표 값 간의 차이를 n으로 나눈 수만큼의 서브 셀이 병합되었다고 판단할 수 있다. 예를 들어, 좌표 값의 차이가 5인 경우, 제어부(140)는 5를 1(위에서, n 은 1로 가정하였으므로)로 나누는 연산을 수행하여, 해당 코너들(901, 903)이 포함된 셀이 수직 방향(열 방향)으로 5개의 서브 셀이 병합된 셀이라고 판단할 수 있다.
또한, 도 9에 도시된 것과 같이, 수평 방향으로 서로 이웃하는 tl 코너(901, 좌표 값: (0, 0)) 및 tr 코너(902, 좌표 값: (6, 0))에 대해, 제어부(140)는 수직 라인(923, 924)에 해당하는 평면(제1 평면)의 좌표 값 간의 차이를 산출할 수 있다(여기에서, 서로 이웃하는 코너들은, 수직 방향 또는 수평 방향 중 어느 하나에 대해 동일 라인에 포함된 코너들이다).
이 경우, 제3 라인(923)에 해당하는 좌표 값이 0이고, 제4 라인(924)에 해당하는 좌표 값은 6이므로, 두 좌표 값 간의 차이는 6이다. 이와 같이, 두 좌표 값 간의 차이가 1(또는 n)이 아닌 경우, 제어부(140)는, 해당 코너들(901, 902)이 포함된 셀은 적어도 2개의 서브 셀이 병합된 셀이라고 판단할 수 있다.
앞서 살펴본 것과 같이, 제어부(140)는 좌표 값 간의 차이를 n으로 나눈 수만큼의 서브 셀이 병합되었다고 판단할 수 있다. 예를 들어, 좌표 값의 차이가 6인 경우, 제어부(140)는 6을 1(“n=1”인 것으로 가정하였으므로)로 나누는 연산을 수행하여, 해당 코너들이 포함된 셀이 수평 방향(행 방향)으로 6개의 서브 셀이 병합된 셀이라고 판단할 수 있다.
한편, 위의 예와 다르게, 제어부(140)는, 수평 방향으로의 서로 다른 라인에 대한 좌표 값의 차이가, 1(“n=1”인 것으로 가정하였으므로)인 경우, 제어부(140)는 해당 셀이, 수평 방향으로 다른 셀과 병합되지 않았다고 판단할 수 있다.
이와 같이, 제어부(140)는 각 코너의 좌표 값을 이용하여, 테이블에 포함된 셀이 중 적어도 두개의 셀(서브 셀)이 병합된 셀인지를 판단할 수 있다. 그리고, 제어부(140)는 복수의 셀 중 특정 셀을 구성하는 복수의 코너 중 적어도 두개의 코너들의 좌표 값 간의 차이에 근거하여, 상기 특정 셀이 적어도 두개의 서브 셀이 병합된 셀인지 여부를 판단할 수 있다. 그리고, 제어부(140)는 연산 대상의 두개의 코너들이 포함된 동일 라인이 수직 라인에 해당하는 경우, 상기 두개의 코너들의 좌표 값 중 상기 제2 축(제2 평면)에 대응되는 좌표 값 간의 차이에 근거하여, 상기 특정 셀이 수직 방향으로 병합된 셀이 존재하는지 판단할 수 있다. 그리고, 제어부(140)는 연상 대상의 두개의 코너들이 포함된 동일 라인이 수평 라인에 해당하는 경우, 상기 두개의 코너들의 좌표 값 중 상기 제1 축(제1 평면)에 대응되는 좌표 값 간의 차이에 근거하여, 상기 특정 셀이 수평 방향으로 병합된 셀이 존재하는지 판단할 수 있다.
그리고, 제어부(140)는 위에서 살펴본 것과 같이, 적어도 두개의 코너들의 좌표 값 간의 차이에 따라, 상기 특정 셀이 몇 개의 셀(또는 서브 셀)의 병합에 의해 이루어진 셀인지를 판단할 수 있다.
이와 같은 규칙으로, 제어부(140)는 추출된 모든 코너들 간에 연산을 수행하여, 이미지(1000)에 포함된 테이블의 구조를 추정할 수 있다.
한편, 테이블을 구성하는 모든 라인을 기준으로, 셀을 최소 단위로 분할하는 경우, 서로 이웃하는 라인 상(또는 동일 선상)에 포함된 코너의 개수는 모두 동일할 수 있다. 예를 들어, 도 8에 도시된 것과 같이, 4개의 수직라인과 4개의 수평 라인으로 셀이 모두 분할되는 경우, 9개의 셀이 존재하며, 모든 수직 라인에는 4개의 코너가 존재하고, 모든 수평 라인 역시 4개의 코너가 존재할 수 있다. 즉, 테이블에서 병합된 셀이 존재하지 않는 경우, 모든 수직 라인에는, 수평 라인의 수 만큼에 해당하는 코너가 존재하고, 이와 반대로 모든 수평 라인에는 수직 라인의 수 만큼에 해당하는 코너가 존재할 수 있다.
예를 들어, 도 9에 도시된 것과 같이, 7개의 수직 라인에 존재하는 경우, 각각의 수평 라인에는 7개의 코너가 존재할 수 있다. 그러나, 도시와 같이, 제1 수평 라인(921)에는 2개의 코너(tl(921), tr(902))만 존재한다. 이 경우, 제어부(140)는 제1 수평 라인(921)과 관련된 셀(920)이 적어도 하나의 서브 셀과 병합되었다고 판단할 수 있다.
나아가, 제어부(140)는 테이블에 포함된 라인의 수에 근거하여 특정될 수 있는 코너의 개수 대비, 특정 라인에 포함된 코너의 개수에 근거하여, 해당 특정 라인과 관련된 셀이 몇 개의 서브 셀에 의하여 병합되었는지를 연산할 수 있음은 물론이다.
한편, 본 발명에서는, 테이블(1100)에 존재하는 모든 라인을 기준으로 테이블을 서브 셀로 구분하고, 테이블에서 추출된 코너들의 좌표 값의 비교를 통하여, 테이블에 포함된 셀이 서브 셀들이 병합된 셀인지, 테이블의 어느 부분에서 어느 서브 셀이 병합되었는지를 판단할 수 있다.
한편, 제어부(140)는 OCR부(130)를 통하여, 테이블에 포함된 텍스트를 추출할 때, 이미지에서 텍스트가 포함된 위치 정보를 함께 추출할 수 있다. 그리고, 이러한 텍스트가 포함된 위치 정보에 기반하여, 테이블에 시각적으로 보이지 않는 라인(implicit line)이 존재한다고 판단할 수 있다. 그리고, 제어부(140)는 테이블에 포함된 모든 라인들을 좌표 평면 상에 투영함으로써, 특정 셀의 라인이 시각적으로 보이지 않는 라인이더라도, 주변 셀에 포함된 라인에 의해, 특정 셀의 라인이 추출될 수 있다. 이와 같이, 제어부(140)는 텍스트의 위치 정보 및 좌표 평면 상에 투영된 라인의 라벨링 값에 근거하여, 시각적으로 보이지 않는 라인까지 추출하는 것이 가능하다.
한편, 위에서 살펴본 것과 같이, 제어부(140)는, 테이블에 포함된 코너의 좌표 값을 기준으로 테이블에 포함된 셀들의 구조를 판단하고, 판단된 결과에 기반하여, 도 10으 (a) 및 (b)에 도시된 것과 같이, 이미지(1000)에 포함된 테이블(1100)과 동일한 셀의 구조를 갖는 테이블(1200)을 생성할 수 있다.
제어부(140)는 동일한 테이블 구조를 갖는 서로 다른 이미지들을 반복하여 분석 및 학습함으로써, 실제 이미지에 포함된 테이블과 더욱 정확한 테이블을 생성할 수 있다.
도 10의 (b)는 엑셀(xlsx)구조의 데이터이며, 제어부(140)는 도 10의 (b)에 도시된 것과 같이, 엑셀 구조의 데이터 형식으로, 셀들의 구조 정보를 생성할 수 있다. 이러한 구조화된 데이터(또는 정보)는 저장부(120)에 저장될 수 있다.
나아가, 앞서 제어부(140)는 테이블에 포함된 라인의 위치, 라인 간의 상대적인 위치, 라인 간의 간격이 좌표 평면 상에 나타나도록 투영하였다. 이러한 라인에 대한 정보는 저장부(120)에 저장될 수 있다. 제어부(140)는 저장부(120)에 저장된 라인에 대한 정보에 기반하여, 생성되는 테이블(또는 재구성되는 테이블, 1200)에 실제 이미지(1000)에 포함된 라인의 위치, 라인 간의 상대적인 위치, 라인 간의 간격이 반영되도록, 테이블(1200)을 생성할 수 있다.
그리고, 제어부(140)는 생성된 테이블(1200)에 OCR부(130)로부터 추출된 텍스트를 위치시킬 수 있다.
위에서 살펴본 것과 같이, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블의 구성 성분들을 각각의 특성에 맞게 추출하고, 추출된 구성 성분들 간의 관계성에 근거하여, 이미지에 포함된 테이블 및 테이블의 구조를 파악할 수 있다. 이를 통해, 이미지 내에서 테이블이 어느 영역에 위치하는지 알지 못하는 경우이더라도, 테이블의 구성 성분들에 기반하여, 이미지로부터 테이블을 정확하게 검출할 수 있다. 결과적으로 본 발명은 테이블의 구성 성분에 기반하여, 이미지로부터 테이블을 인식 및 검출함으로써, 이미지에 포함된 테이블을 검출하는 과정에서의 실패 확률을 현저하게 낮출 수 있다.
나아가, 본 발명에 따른 테이블 생성 방법 및 시스템은, 이미지에 포함된 테이블의 구성 성분들을 라인 특성과 코너 특성에 근거하여 각각 추출하고, 추출된 구성 성분들을 좌표 평면에 투영할 수 있다.
그리고, 본 발명은 좌표 평면에 투영된 구성 성분들의 좌표 값 간의 관계성에 근거하여, 이미지에 포함된 테이블의 구조를 정확하게 파악할 수 있다. 이러한 관계성에 근거하여 테이블을 생성하는 경우, 본 발명은, 눈에 보이지 않는 성분(예를 들어, implicit line)까지 고려하여, 이미지에 포함된 테이블과 동일한 구조를 갖는 테이블을 생성하는 것이 가능하다.
한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체(또는 기록 매체)에 저장 가능한 프로그램으로서 구현될 수 있다.
나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다.
한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.
나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.
한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
Claims (15)
- 테이블(table)을 포함하는 이미지를 수신하는 단계;
상기 테이블에 포함된 셀의 각 코너(corner) 및 상기 테이블을 구성하는 복수의 라인(line)을 추출하는 단계;
상기 복수의 라인을 좌표 평면 상에 투영하는 단계;
상기 투영 결과에 근거하여, 상기 좌표 평면 상에서 상기 각 코너의 좌표 값을 특정하는 단계; 및
상기 각 코너의 좌표 값에 근거하여, 상기 이미지에 포함된 테이블과 동일한 셀 구성을 갖는 테이블을 생성하는 단계를 포함하는 것을 특징으로 하는 테이블 생성 방법. - 제1항에 있어서,
상기 복수의 라인은,
복수의 수평 라인(horizontal line) 및 복수의 수직 라인(vertical line)을 포함하고,
상기 투영하는 단계에서는,
상기 복수의 수평 라인 및 상기 복수의 수직 라인을 서로 다른 좌표 평면 상에 투영하는 것을 특징으로 하는 테이블 생성 방법. - 제2항에 있어서,
상기 좌표 평면은 서로 직교하는 제1 축 및 제2 축에 의해 정의되는 2차원 좌표 평면이고,
상기 복수의 수직 라인은, 상기 제1 축에 대응되는 제1 평면 상에 투영되고,
상기 복수의 수평 라인은, 상기 제2 축에 대응되는 제2 평면 상에 투영되는 것을 특징으로 하는 테이블 생성 방법. - 제3항에 있어서,
상기 투영하는 단계는,
상기 좌표 평면 상에서 상기 복수의 수직 라인 및 상기 복수의 수평 라인 각각의 라벨 값이 특정되도록,
상기 복수의 수직 라인 및 상기 복수의 수평 라인 각각에 대한 라벨링(labeling)을 수행하는 단계를 포함하는 것을 특징으로 하는 테이블 생성 방법. - 제4항에 있어서,
상기 복수의 수직 라인은, 상기 제1 평면 상으로의 투영 결과에 근거하여, 상기 제1 축에 대한 라벨 값을 갖도록 라벨링(labeling)되고,
상기 복수의 수평 라인은, 상기 제2 평면 상으로의 투영 결과에 근거하여, 상기 제2 축에 대한 라벨 값을 갖도록 라벨링(labeling)되는 것을 특징으로 하는 테이블 생성 방법. - 제5항에 있어서,
상기 복수의 수직 라인은, 나열된 순서에 따라 상기 제1 평면 상에서 n씩 증가하는 서로 다른 라벨 값을 가지고,
상기 복수의 수평 라인은 나열된 순서에 따라 상기 제2 평면 상에서 n씩 증가하는 서로 다른 라벨 값을 갖는 것을 특징으로 하는 테이블 생성 방법. - 제5항에 있어서,
상기 각 코너의 좌표 값을 특정하는 단계에서는,
상기 각 코너가 상기 복수의 수직 라인 및 상기 복수의 수평 라인 중 어느 라인에 포함되는지에 근거하여 상기 각 코너의 좌표 값을 특정하는 것을 특징으로 하는 테이블 생성 방법. - 제7항에 있어서,
상기 각 코너의 좌표 값은,
상기 복수의 수직 라인 중 상기 각 코너가 포함된 특정 수직 라인의 상기 제1 평면 상에서의 제1 라벨 값과,
상기 복수의 수평 라인 중 상기 각 코너가 포함된 특정 수평 라인의 상기 제2 평면 상에서의 제2 라벨 값을 포함하는 것을 특징으로 하는 테이블 생성 방법. - 제6항에 있어서,
상기 테이블이, 상기 복수의 수평 라인 및 상기 복수의 수직 라인에 의해 복수의 셀로 구분되는 경우,
상기 테이블을 생성하는 단계에서는,
상기 각 코너의 좌표 값을 이용하여, 상기 복수의 셀 중 적어도 두개의 셀이 병합되었는지를 판단하는 단계를 포함하는 것을 특징으로 하는 테이블 생성 방법. - 제9항에 있어서,
상기 판단하는 단계에서는,
상기 복수의 셀 중 특정 셀을 구성하는 복수의 코너 중 적어도 두개의 코너들의 좌표 값 간의 차이에 근거하여, 상기 특정 셀이 적어도 두개의 셀이 병합된 셀인지 여부를 판단하는 것을 특징으로 하는 테이블 생성 방법. - 제10항에 있어서,
상기 적어도 두개의 코너들은,
상기 복수의 수평 라인 및 상기 복수의 수직 라인 중 동일 라인에 포함된 코너들인 것을 특징으로 하는 테이블 생성 방법. - 제11항에 있어서,
상기 판단하는 단계에서는,
상기 동일 라인이 수직 라인에 해당하는 경우,
상기 두개의 코너들의 좌표 값 중 상기 제2 축에 대응되는 좌표 값 간의 차이에 근거하여, 상기 특정 셀이 수직 방향으로 병합된 셀이 존재하는지 판단하고,
상기 동일 라인이 수평 라인에 해당하는 경우,
상기 두개의 코너들의 좌표 값 중 상기 제1 축에 대응되는 좌표 값 간의 차이에 근거하여, 상기 특정 셀이 수평 방향으로 병합된 셀이 존재하는지 판단하는 것을 특징으로 하는 테이블 생성 방법. - 제10항에 있어서,
상기 판단하는 단계에서는,
상기 적어도 두개의 코너들의 좌표 값 간의 차이에 따라, 상기 특정 셀이 몇 개의 셀의 병합에 의해 이루어진 셀인지를 판단하는 것을 특징으로 하는 테이블 생성 방법. - 저장부;
테이블을 포함하는 이미지를 수신하는 수신부; 및
상기 테이블에 포함된 셀의 각 코너(corner) 및 상기 테이블을 구성하는 복수의 라인(line)을 추출하는 제어부를 포함하고,
상기 제어부는,
상기 복수의 라인을 좌표 평면 상에 투영하고, 상기 투영 결과에 근거하여, 상기 좌표 평면 상에서 상기 각 코너의 좌표 값을 특정하며,
상기 각 코너의 좌표 값에 근거하여, 상기 이미지에 포함된 테이블과 동일한 셀 구성을 갖는 테이블을 생성하는 것을 특징으로 하는 테이블 생성 시스템. - 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서,
상기 프로그램은,
테이블(table)을 포함하는 이미지를 수신하는 단계;
상기 테이블에 포함된 셀의 각 코너(corner) 및 상기 테이블을 구성하는 복수의 라인(line)을 추출하는 단계;
상기 복수의 라인을 좌표 평면 상에 투영하는 단계;
상기 투영 결과에 근거하여, 상기 좌표 평면 상에서 상기 각 코너의 좌표 값을 특정하는 단계; 및
상기 각 코너의 좌표 값에 근거하여, 상기 이미지에 포함된 테이블과 동일한 셀 구성을 갖는 테이블을 생성하는 단계를 수행하도록 하는 명령어들을 포함하는 특징으로 하는 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210024039A KR102707927B1 (ko) | 2021-02-23 | 2021-02-23 | 테이블 생성 방법 및 시스템 |
PCT/KR2022/002601 WO2022182104A1 (ko) | 2021-02-23 | 2022-02-22 | 테이블 생성 방법 및 시스템, 그리고 테이블이 포함된 이미지 보정 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210024039A KR102707927B1 (ko) | 2021-02-23 | 2021-02-23 | 테이블 생성 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220120221A true KR20220120221A (ko) | 2022-08-30 |
KR102707927B1 KR102707927B1 (ko) | 2024-09-23 |
Family
ID=83113923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210024039A KR102707927B1 (ko) | 2021-02-23 | 2021-02-23 | 테이블 생성 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102707927B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06131497A (ja) * | 1992-10-16 | 1994-05-13 | Fuji Xerox Co Ltd | 表認識方式 |
KR100390264B1 (ko) * | 1995-04-10 | 2003-09-22 | 리버스 테크놀로지, 인크. | 폼처리중자동페이지등록및자동영역검출을위한시스템및방법 |
US20070140565A1 (en) * | 2005-12-21 | 2007-06-21 | Microsoft Corporation | Table detection in ink notes |
KR101811581B1 (ko) * | 2016-11-15 | 2017-12-26 | 주식회사 셀바스에이아이 | 문서 이미지에서 표 인식을 위한 장치 및 방법 |
KR101907029B1 (ko) * | 2017-08-24 | 2018-10-12 | (주) 더존비즈온 | 서식 자동화를 위한 테이블 생성 장치 및 방법 |
-
2021
- 2021-02-23 KR KR1020210024039A patent/KR102707927B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06131497A (ja) * | 1992-10-16 | 1994-05-13 | Fuji Xerox Co Ltd | 表認識方式 |
KR100390264B1 (ko) * | 1995-04-10 | 2003-09-22 | 리버스 테크놀로지, 인크. | 폼처리중자동페이지등록및자동영역검출을위한시스템및방법 |
US20070140565A1 (en) * | 2005-12-21 | 2007-06-21 | Microsoft Corporation | Table detection in ink notes |
KR101811581B1 (ko) * | 2016-11-15 | 2017-12-26 | 주식회사 셀바스에이아이 | 문서 이미지에서 표 인식을 위한 장치 및 방법 |
KR101907029B1 (ko) * | 2017-08-24 | 2018-10-12 | (주) 더존비즈온 | 서식 자동화를 위한 테이블 생성 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102707927B1 (ko) | 2024-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10360703B2 (en) | Automatic data extraction from a digital image | |
US5048099A (en) | Polygon-based method for automatic extraction of selected text in a digitized document | |
CN111507330B (zh) | 习题识别方法、装置、电子设备及存储介质 | |
KR102699224B1 (ko) | 테이블 인식 방법 및 시스템 | |
US20120272302A1 (en) | Human User Verification | |
KR20160132842A (ko) | 플로우 문서를 생성하기 위한 이미지 문서 컴포넌트 검출 및 추출 기법 | |
CN113343740B (zh) | 表格检测方法、装置、设备和存储介质 | |
WO2021143058A1 (zh) | 基于图像的信息比对方法、装置、电子设备及计算机可读存储介质 | |
CN112149663A (zh) | 结合rpa和ai的图像文字的提取方法、装置及电子设备 | |
CN111832551A (zh) | 文本图像处理方法、装置、电子扫描设备和存储介质 | |
EP3992923A2 (en) | System and method for identifying non-standard user interface object | |
Tomovic et al. | Aligning document layouts extracted with different OCR engines with clustering approach | |
CN111241897A (zh) | 通过推断视觉关系的工业检验单数字化 | |
CN113903045A (zh) | 一种手写汉字图像的笔顺识别方法及系统 | |
JP2010198308A (ja) | 文字認識プログラム、文字認識方法および文字認識装置 | |
CN112084103B (zh) | 界面测试方法、装置、设备和介质 | |
KR102542174B1 (ko) | 디지털 참고서 제공 시스템 및 그 방법 | |
KR102697516B1 (ko) | 테이블에 포함된 정보를 인식하는 문자 인식 에러에 강인한 글자 인식 방법 및 시스템 | |
CN112287763A (zh) | 图像处理方法、装置、设备及介质 | |
KR102707927B1 (ko) | 테이블 생성 방법 및 시스템 | |
Stötzner et al. | CNN based Cuneiform Sign Detection Learned from Annotated 3D Renderings and Mapped Photographs with Illumination Augmentation | |
JP7420578B2 (ja) | 帳票仕分システム、帳票仕分方法、及びプログラム | |
JP2023003887A (ja) | 書類画像処理システム、書類画像処理方法、および書類画像処理プログラム | |
KR102699223B1 (ko) | 테이블 생성 방법 및 시스템 | |
KR102642095B1 (ko) | 테이블이 포함된 이미지 보정 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
GRNT | Written decision to grant |