KR20210042864A - 테이블 식별 방법, 장치, 기기, 매체 및 컴퓨터 프로그램 - Google Patents

테이블 식별 방법, 장치, 기기, 매체 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20210042864A
KR20210042864A KR1020210042119A KR20210042119A KR20210042864A KR 20210042864 A KR20210042864 A KR 20210042864A KR 1020210042119 A KR1020210042119 A KR 1020210042119A KR 20210042119 A KR20210042119 A KR 20210042119A KR 20210042864 A KR20210042864 A KR 20210042864A
Authority
KR
South Korea
Prior art keywords
row
merged
candidate
target image
identification result
Prior art date
Application number
KR1020210042119A
Other languages
English (en)
Other versions
KR102609341B1 (ko
Inventor
광야오 한
민후이 팡
구오빈 시에
단칭 리
티안이 왕
페이웨이 젱
제칭 지앙
진 장
홍지앙 두
Original Assignee
베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. filed Critical 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Publication of KR20210042864A publication Critical patent/KR20210042864A/ko
Application granted granted Critical
Publication of KR102609341B1 publication Critical patent/KR102609341B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • G06K9/2054
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06K9/342
    • G06K9/46
    • G06K9/6267
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

본 출원의 실시예는 데이터 처리 기술과 클라우드 컴퓨팅 분야에 관한 것으로, 테이블 식별 방법, 장치, 기기, 매체 및 컴퓨터 프로그램을 제공한다. 여기서, 상기 테이블 식별 방법은, 타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득하는 단계; 후보 테이블 식별 결과의 병합 특징을 추출하고, 병합 특징을 이용하여 후보 테이블 식별 결과 중의 병합할 행을 결정하는 단계; 병합할 행의 방향 특징을 추출하고, 방향 특징을 이용하여 병합할 행의 병합 방향을 결정하는 단계; 및 병합할 행과 병합할 행의 병합 방향에 따라, 후보 테이블 식별 결과를 조정함으로써, 타깃 테이블 식별 결과를 획득하는 단계를 포함한다. 본 출원의 실시예는 기존 테이블 식별 방안에 있어서 식별 결과가 정확하지 않는 문제를 해결함으로써, 테이블 식별의 정확성을 향상시킨다.

Description

테이블 식별 방법, 장치, 기기, 매체 및 컴퓨터 프로그램{TABLE RECOGNITION METHOD, DEVICE, EQUIPMENT, MEDIUM AND COMPUTER PROGRAM}
본 출원의 실시예는 컴퓨터 기술에 관한 것이고, 구체적으로 데이터 처리 기술과 클라우드 컴퓨팅 분야에 관한 것이며, 특히 테이블 식별 방법, 장치, 기기, 매체 및 컴퓨터 프로그램에 관한 것이다.
정보 기술의 발전과 더불어, 전자 테이블이 중요하다는 것은 의심할 여지가 없다. 그러나 서비스 처리 과정에서 접하는 테이블들은 간단한 Excel과 Word 파일일 뿐만이 아니라, PDF 스캔본 또는 이미지 형식으로 존재하는 테이블 사진도 많이 있다.
일반적인 경우, 수동으로 테이블 사진을 식별하고, 수동으로 테이블 사진 속의 내용을 추출하여 Excel 또는 Word에 입력하여야 한다. 처리할 테이블 이미지가 많을 경우, 수동 식별과 내용 추출은 효율이 낮을 뿐만 아니라 오류가 발생할 가능성이 매우 높다. 현재, 일부 딥 러닝 컨셉에 기반하여 테이블 인식을 진행하는 해결방법이 존재하고 있으나 테이블 식별 정확성이 이상적이지 않다.
본 출원의 실시예는 테이블 식별 방법, 장치, 기기, 매체 및 컴퓨터 프로그램을 제공하여, 테이블 식별 정확성을 향상시킨다.
본 출원의 실시예의 일 양태에서는 테이블 식별 방법을 제공하되, 상기 방법은,
타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득하는 단계;
후보 테이블 식별 결과의 병합 특징을 추출하고, 병합 특징을 이용하여 후보 테이블 식별 결과 중의 병합할 행을 결정하는 단계;
병합할 행의 방향 특징을 추출하고, 방향 특징을 이용하여 병합할 행의 병합 방향을 결정하는 단계; 및
병합할 행과 병합할 행의 병합 방향에 따라, 후보 테이블 식별 결과를 조정함으로써, 타깃 테이블 식별 결과를 획득하는 단계를 포함한다.
본 출원의 다른 일 양태에서는 테이블 식별 장치를 제공하되, 상기 장치는,
타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득하는 후보 결과 결정 모듈;
후보 테이블 식별 결과의 병합 특징을 추출하고, 병합 특징을 이용하여 후보 테이블 식별 결과 중의 병합할 행을 결정하는 병합할 행 결정 모듈;
병합할 행의 방향 특징을 추출하고, 방향 특징을 이용하여 병합할 행의 병합 방향을 결정하는 병합 방향 결정 모듈; 및
병합할 행과 병합할 행의 병합 방향에 따라, 후보 테이블 식별 결과를 조정함으로써, 타깃 테이블 식별 결과를 획득하는 타깃 결과 결정 모듈을 포함한다.
본 출원의 실시예의 또 다른 양태에서는 전자 기기를 제공하되, 상기 전자 기기는,
적어도 하나의 프로세서; 및
적어도 하나의 프로세서와 통신 연결되는 메모리를 포함하고,
메모리에는 적어도 하나의 프로세서에 의해 실행 가능한 명령어가 저장되고, 상기 명령어는 적어도 하나의 프로세서에 의해 실행되어, 적어도 하나의 프로세서가 본 출원의 실시예에 개시되는 임의의 하나의 테이블 식별 방법을 수행할 수 있도록 한다.
본 출원의 실시예의 또 다른 양태에 따르면, 컴퓨터 명령어가 저장된 비일시적 컴퓨터 판독 가능한 저장 매체를 제공하며, 여기서, 상기 컴퓨터 명령어는 컴퓨터가 본 출원의 실시예에 제공되는 임의의 하나의 테이블 식별 방법을 수행하도록 한다.
본 출원의 실시예의 또 다른 양태에 따르면, 퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램을 제공하며, 여기서, 상기 컴퓨터 프로그램은 프로세서에 의해 실행될 경우 본 출원의 실시예에 제공되는 임의의 하나의 테이블 식별 방법을 수행한다.
본 출원의 실시예의 기술적 해결수단에 따르면, 테이블 검출을 통해 후보 테이블 식별 결과를 획득한 이후, 후보 테이블 식별 결과의 테이블 특징, 즉 병합 특징과 방향 특징을 추출하고, 추출된 테이블 특징을 이용하여 후보 테이블 식별 결과에 대해 구조적인 병합 처리를 진행하여, 병합할 행 및 병합할 행의 병합 방향을 획득하며, 나아가 후보 테이블 식별 결과를 조정함으로써, 최종 타깃 테이블 식별 결과를 획득함으로써, 기존의 테이블 식별 방안에 있어서 식별 결과가 정확하지 않은 문제를 해결하여, 테이블 식별의 정확성을 향상시킨다.
본 부분에서 설명되는 내용은 본 출원의 실시예의 관적적 또는 중요한 특징을 식별하기 위한 것이 아니며, 본 출원의 범위를 제한하는 것도 아님을 이해해야 한다. 본 출원의 기타 특징은 하기 명세서를 통해 이해하기 쉬워질 것이다.
도면은 본 수단을 더욱 잘 이해하기 위해 사용되고, 본 출원을 한정하지 않는다. 여기서,
도 1은 본 출원의 실시예에 따라 개시되는 테이블 식별 방법의 흐름도이다.
도 2는 본 출원의 실시예에 따라 개시되는 타깃 이미지의 후보 테이블 식별 결과의 개략도이다.
도 3은 본 출원의 실시예에 따라 개시되는 타깃 이미지의 타깃 테이블 식별 결과의 개략도이다.
도 4는 본 출원의 실시예에 따라 개시되는 다른 테이블 식별 방법의 흐름도이다.
도 5는 본 출원의 실시예에 따라 개시되는 또 다른 테이블 식별 방법의 흐름도이다.
도 6은 본 출원의 실시예에 따라 개시되는 타깃 이미지 속 테이블 테두리와 문자 영역의 검출 결과의 개략도이다.
도 7은 본 출원의 실시예에 따라 개시되는 타깃 이미지의 빈 열을 포함하는 열 영역 범위의 개략도이다.
도 8은 본 출원의 실시예에 따라 개시되는 타깃 이미지의 빈 열이 병합된 이후의 열 영역 범위의 개략도이다.
도 9는 본 출원의 실시예에 따라 개시되는 테이블 식별 장치의 구조 개략도이다.
도 10은 본 출원의 실시예에 따라 개시되는 전자 기기의 블록도이다.
아래 도면과 결부시켜 본 출원의 예시적 실시예를 설명하되, 여기에 이해를 돕기 위한 본 출원의 실시예의 다양한 세부사항들이 포함되지만, 이들은 단지 예시적인 것으로 이해해야 한다. 따라서, 본 기술분야의 통상의 기술자는 본 출원의 범위 및 정신을 벗어나지 않는 전제 하에 여기서 설명된 실시예에 대해 다양한 변형 및 수정을 진행할 수 있음을 이해해야 한다. 마찬가지로, 명확 및 간략을 위해, 아래의 설명에서 공지 기능 및 구조에 대한 설명을 생략한다.
도 1은 본 출원의 실시예에 따라 개시되는 테이블 식별 방법의 흐름도이고, 본 출원의 실시예는 테이블 이미지에 대한 식별을 통해 테이블 이미지 속 테이블을획득하는 경우, 특히 테이블 이미지 속 경계선이 없는 테이블을 식별하는 경우에 적용될 수 있다. 본 출원의 실시예에서 개시되는 방법은 테이블 식별 장치로 수행될 수 있고, 상기 장치는 소프트웨어 및/또는 하드웨어 방식을 사용하여 구현될 수 있으며, 컴퓨팅 기능을 구비하는 임의의 전자 기기, 예컨대 서버 또는 단말기 등에 집적될 수 있다.
도 1에 도시된 바와 같이, 본 출원의 실시예에서 개시되는 테이블 식별 방법은 하기와 같은 단계를 포함할 수 있다.
단계 S101: 타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득한다.
타깃 이미지를 획득한 이후, 타깃 검출 기술에 기반하여, 테이블 검출 기능을 구비한 임의의 신경망 모델, 예컨대, 콘볼루션 신경망 또는 잔차 신경망에 기반한 모델을 이용하여, 타깃 이미지 속 테이블을 검출할 수 있고, 임의의 사용 가능한, 문자 검출 효과를 구비한 방법, 예컨대, CTPN기술(시나리오 문자 검출 방법), TextSnake기술(텍스트 검출 방법)、PSENET기술(텍스트 검출 방법) 또는 CRAFT기술(텍스트 검출 방법) 등과 같은 기술을 이용하여 타깃 이미지 상의 문자를 검출하고, 이로써 테이블의 초보 식별 결과, 즉 후보 테이블 식별 결과를 획득한다. 여기서, 타깃 이미지는 식별할 테이블을 포함하는 임의의 처리할 이미지, PDF스캔본 및 기타 이미지 포맷을 포함하는 이미지를 가리킨다. 타깃 이미지 속 테이블은 경계선이 있는 테이블 및 경계선이 없는 테이블을 포함할 수 있고, 바람직하게는 경계선이 없는 테이블이며, 비교적 높은 검출 정확성을 확보할 수 있다. 구체적으로, 타깃 이미지 속 테이블은 기업 연간 보고서, 재무제표 등 유형일 수 있다.
예시적으로, 타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득하는 단계는, 타깃 이미지 속 테이블 테두리와 타깃 이미지 속 문자 영역을 검출하는 단계; 및 테이블 테두리와 문자 영역에 따라, 타깃 이미지 속 테이블에 대하여 그리드 구획을 진행하여, 후보 테이블 식별 결과를 획득하는 단계를 포함한다. 여기서, 문자 영역을 검출한 후, 문자 영역이 타깃 이미지에서의 위치 정보, 예를 들어 위치 좌표는 모두 결정될 수 있다. 타깃 이미지 상의 각각의 문자 영역은 적어도 하나의 문자를 포함하고, 각각의 문자들 사이의 거리가 비교적 밀집한 영역을 가리킨다.
도 2는 타깃 이미지 상에 경계선이 없는 테이블이 포함되는 것을 예로 하고, 도 2는 타깃 이미지의 후보 테이블 식별 결과의 개략도를 도시하며, 본원 발명의 실시예에 대한 구체적인 한정으로 이해해서는 아니된다. 도 2에 도시된 바와 같이, 후보 테이블 식별 결과가 결정된 이후, 테이블에 포함되는 구조화 정보, 예를 들어 셀 정보, 행 정보, 열 정보를 모두 초보적으로 결정할 수 있다. 아울러, 도 2로부터 보아낼 수 있다시피, 후보 테이블 식별 결과 중의 일부 행 또는 일부 셀은 병합처리를 진행하여야 하고, 예를 들어, 문자 내용이 “회사xxx 및”인 셀과 문자 내용이 “영역 B지부”의 셀은 사실상 하나의 완전한 셀에 속하여야 하고, 완전한 문자 내용 “회사xxx 및 영역B지부”에 대응되어야만 더욱 정확한 테이블 식별 결과를 획득할 수 있다.
S102: 후보 테이블 식별 결과의 병합 특징을 추출하고, 병합 특징을 이용하여 후보 테이블 식별 결과 중의 병합할 행을 결정한다.
여기서, 병합 특징은, 대량의 테이블의 특징에 대해 통계 분석을 진행한 다음, 통계 규칙에 따라 획득한, 테이블 중의 병합할 행을 결정하는데 사용될 수 있는 특징이다. 병합할 행은, 행을 단위로, 인접한 윗행 아래변 또는 인접한 아래행과 전체적인 병합을 진행해야 하는 행을 가리킨다.
예시적으로, 후보 테이블 식별 결과의 병합 특징은, 후보 테이블 식별 결과 중 각 행의 유효 열의 개수와 후보 테이블 식별 결과 중 최대 유효 열의 개수의 차이, 상기 후보 테이블 식별 결과 중의 각 행과 후보 테이블 식별 결과 중 테이블 헤더의 상대 위치 관계, 후보 테이블 식별 결과 중 각 행의 문자 영역이 기설정된 구분 기호(separator)를 포함하는지 여부 및 후보 테이블 식별 결과 중 각 행의 문자 영역이 수치형 데이터를 포함하는지 여부 등 특징 중 적어도 하나를 포함하고, 여기서, 테이블 헤더는, 후보 테이블 식별 결과에서, 위치 정보에 따라 결정된 대응 유효 열의 개수가 가장 큰 행의 첫번째 셀을 가리키며, 후보 테이블 식별 결과 중 각 행의 유효 열의 개수는 상기 행 중의 문자 영역에 대응되는 열의 개수를 가리키고, 후보 테이블 식별 결과 중의 최대 유효 열의 개수는 테이블 중의 문자가 있는 영역에 대응되는 열의 최대 개수이며, 기설정된 구분 기호는 테이블에 적용될 수 있는, 문자를 구분하거나 또는 행을 구분하기 위한 임의의 기호일 수 있고, 예를 들어 수치에 대해 행을 구분하기 위한 소수점 등이다.
나아가, 병합 특징에서, 후보 테이블 식별 결과 중 각 행의 유효 열의 개수 m과 후보 테이블 식별 결과 중 최대 유효 열의 개수 n의 차이는 (n-m)/n로 표시될 수 있고, 물론 기타 형식의 수학 계산일 수도 있으며, 예를 들어, m과 n 사이의 나눗셈 값 등이다. 후보 테이블 식별 결과 중의 각 행과 후보 테이블 식별 결과 중 테이블 헤더의 상대 위치 관계는 테이블 헤더가 위치한 행의 상측에 위치하고 테이블 헤더가 위치한 행의 하측에 위치하는 것을 포함한다.
병합 특징을 획득한 이후, 미리 결정된 테이블 병합 특징과 테이블 중 병합할 행 사이의 연관 관계(즉 병합 특징과 병합할 행 사이의 규칙성을 표시하기 위한 것임)를 이용하여, 후보 테이블 식별 결과 중 병합할 행을 결정할 수 있다. 선택 가능하게, 병합 특징과 테이블 중 병합할 행 사이의 연관 관계는, 머신 러닝 컨셉에 기반하여 결정될 수 있고, 회귀 분석 사상 등을 포함하나 이에 제한되지 않는다.
예시적으로, 후보 테이블 식별 결과 중 각 행의 유효 열의 개수와 후보 테이블 식별 결과 중 최대 유효 열의 개수의 차이가 클수록, 상기 행이 병합할 행에 속할 확률이 높아지고, 후보 테이블 식별 결과 중 테이블 헤더의 상측에 위치한 행이 테이블 헤더가 위치한 행에 병합될 확률이 비교적 높으며, 후보 테이블 식별 결과 중 문자 영역에 기설정된 구분 기호가 포함된 행이 병합할 행에 속할 확률이 비교적 높고, 후보 테이블 식별 결과 중 문자 영역에 수치형 데이터가 포함된 행이 병합할 행에 속할 확률이 비교적 높다.
S103: 병합할 행의 방향 특징을 추출하고, 방향 특징을 이용하여 병합할 행의 병합 방향을 결정한다.
여기서, 병합 특징은, 대량의 테이블의 특징에 대해 통계 분석을 진행한 다음, 통계 규칙에 따라 획득한, 병합할 행을 결정하는데 사용될 수 있는 특징이다. 병합 방향은 아래행으로의 병합과 윗행으로의 병합을 포함한다. 윗행으로의 병합은 현재 병합할 행의 윗변 및 이에 인접하는 윗행 아래변의 아래변 프레임을 취소하는 것을 가리키고, 아래행으로의 병합은 현재 병합할 행의 아래변 프레임 및 이에 인접하는 아래행의 윗변을 취소하는 것을 가리킨다.
예시적으로, 병합할 행의 방향 특징은, 병합할 행이 사이드 테이블 헤더를 포함하는지 여부, 병합할 행이 사이드 테이블 헤더만 포함하는 것인지 여부, 병합할 행의 문자 영역이 수치형 데이터를 포함하는지 여부, 병합할 행으로부터 이에 인접한 윗행 아래변 사이의 거리와 병합할 행으로부터 이에 인접한 아래행 윗변 사이의 거리의 비, 병합할 행의 문자 영역(또는 문자 프레임으로 칭함)과 윗행 아래변 중 문자 영역 사이의 폭 차이, 및 병합할 행의 문자 영역과 아래행의 문자 영역 사이의 폭 차이 등 특징 중 적어도 하나를 포함하고, 사이드 테이블 헤더는 각 행 중 열독 습관에 따라 테이블의 가장 좌측에 위치한 셀을 가리킨다.
또한, 방향 특징에서, 병합할 행으로부터 이에 인접한 윗행 아래변 사이의 거리와 병합할 행으로부터 이에 인접한 아래행 윗변 사이의 거리의 비는, 병합할 행의 중심축선과 이에 인접하는 윗행 아래변 사이의 거리와 병합할 행의 중심축선과 이에 인접하는 아래행 윗변 사이의 거리의 비를 포함할 수 있고, 병합할 행의 윗변과 이에 인접하는 윗행 아래변 사이의 거리와 병합할 행의 아래변 프레임과 이에 인접하는 아래행 윗변 사이의 거리의 비일 수도 있다.
병합할 행의 문자 영역과 윗행 아래변 중 문자 영역 사이의 폭 차이는 하기와 같이 표시될 수 있다.
Figure pat00001
, 여기서,
Figure pat00002
는 병합할 행 중 i번째 문자 영역의 폭를 나타내고,
Figure pat00003
는 병합할 행 중 i번째 문자 영역에 대응되는 윗행 아래변 중 i번째 문자 영역의 폭를 나타내며, i의 값은 정수이다.
마찬가지로, 병합할 행의 문자 영역과 아래행의 문자 영역 사이의 폭 차이는 하기와 같이 표시될 수 있다.
Figure pat00004
, 여기서,
Figure pat00005
는 병합할 행 중 i번째 문자 영역의 폭를 나타내고,
Figure pat00006
는 병합할 행 중 i번째 문자 영역에 대응되는 아래행 중 i번째 문자 영역의 폭를 나타내며, i의 값은 정수이다. 상기 폭 차이를 획득한 이후, 폭 차이값과 차이 임계값의 관계에 따라, 병합할 행의 병합 방향을 획득할 수 있고, 예를 들어, 폭 차이값이 차이 임계값보다 클 경우 윗행으로의 병합으로 결정하고, 폭 차이값이 차이 임계값보다 작을 경우 아래행으로의 병합으로 결정할 수 있으며, 차이 임계값은 합리적으로 설정될 수 있고 본 출원의 실시예에서는 이에 대해 구체적으로 한정하지 않는다.
구체적으로, 방향 특징을 획득한 이후, 미리 결정된 테이블 방향 특징과 병합할 행의 병합 방향 사이의 연관 관계(즉, 제2 특징과 병합할 행 사이의 규칙성을 표시하기 위한 것임)를 이용하여, 후보 테이블 식별 결과 중 병합할 행의 병합 방향을 결정할 수 있다. 선택 가능하게, 방향 특징과 병합할 행의 병합 방향 사이의 연관 관계는, 머신 러닝 사상에 기반하여 결정될 수 있고, 회귀 분석 사상 등을 포함하나 이에 제한되지 않는다.
예시적으로, 병합할 행에 사이드 테이블 헤더가 포함되거나 병합할 행에 사이드 테이블 헤더만 포함될 때, 기타 행을 현재 행에 병합할 확률이 비교적 크고, 병합할 행으로부터 이에 인접한 윗행 아래변 사이의 거리와 병합할 행으로부터 이에 인접한 아래행 윗변 사이의 거리의 비의 값이 클수록, 병합할 행으로부터 이에 인접한 윗행 아래변 사이의 거리가 비교적 작음을 나타내고, 따라서 병합할 행을 윗행 아래변에 병합할 확률이 아래행에 병합할 확률보다 크며, 병합할 행의 문자 영역과 이에 인접하는 윗행 아래변 중 문자 영역 사이의 폭 차이의 값이 클수록, 병합할 행을 윗행 아래변에 병합할 확률이 높아지고, 마찬가지로, 병합할 행의 문자 영역과 이에 인접하는 아래행의 문자 영역 사이의 폭 차이의 값이 클수록, 병합할 행을 아래행에 병합할 확률이 높아지며, 문자 영역에 수치형 데이터가 포함된 병합할 행을 아래행에 병합할 확률이 상대적으로 크다.
이 밖에, 본 출원의 실시예에서, 판단 타입의 특징에 있어서, 상이한 분기 타입의 특징의 경우, 상이한 문자를 사용하여 표시하도록 사전에 약속할 수 있어, 후보 테이블 식별 결과의 테이블 특징을 기록하기 편리하고, 나아가 후속적인 테이블 구조화 처리에 편리하다. 예를 들어, 병합 특징에서, 후보 테이블 식별 결과 중의 각 행과 후보 테이블 식별 결과 중 테이블 헤더의 상대 위치 관계는, 만약 상기 행이 테이블 헤더의 상측에 위치하면, 상기 행 특징을 1로 기록할 수 있고, 만약 상기 행이 테이블 헤더의 하측에 위치하면, 상기 행 특징을 0으로 기록할 수 있으며, 후보 테이블 식별 결과 중 어느 행의 문자 영역에 기설정된 구분 기호이 포함되면, 상기 행 특징을 1로 기록할 수 있고, 아니면 0으로 기록할 수 있고, 기타 위치의 특징에 있어서는, 전술한 기록 방식이 동일하게 적용되며, 마찬가지로, 방향 특징에 적용되고, 예를 들어, 병합할 행에 사이드 테이블 헤더가 포함되면, 상기 병합할 행의 특징을 1로 기록하고, 아니면 0으로 기록한다.
후보 테이블 식별 결과의 병합 특징과 병합할 행의 병합 방향에 각각 포함되는 각각의 서브 특징은, 병합할 행과 병합 방향을 결정하도록 별도로 사용될 수 있고, 조합하여 사용될 수도 있으며, 우수한 결과를 확보하는 각도에서 고려하면, 서브 특징 사이의 조합 사용이 바람직하고, 즉 복수 개의 서브 특징을 고려하여 종합적 결정을 진행한다.
S104: 병합할 행과 병합할 행의 병합 방향에 따라, 후보 테이블 식별 결과를 조정함으로써, 타깃 테이블 식별 결과를 획득한다.
결정된 병합할 행 및 병합할 행의 병합 방향을 이용하여, 후보 테이블 식별 결과를 조절함으로써, 정확한 타깃 테이블 식별 결과를 획득한다. 도 3은 타깃 이미지 상에 경계선이 없는 테이블이 포함되는 것을 예로 하고, 도 3은 타깃 이미지의 타깃 테이블 식별 결과의 개략도를 도시하며, 본 출원의 실시예에 대한 구체적인 한정으로 이해해서는 아니된다. 도 3은 도 2에 비해, 테이블 중의 일부 행에 대해 병합을 진행하여, 테이블 식별 결과가 더욱 정확하도록 한다.
이 밖에, 타깃 테이블 식별 결과를 획득한 이후, 문자 식별 기술, 예를 들어 OCR(Optical Character Recognition, 광학적 문자 식별) 기술 등을 더 이용하여, 각각의 문자 영역의 문자를 식별한 다음, 식별된 문자를 편집 가능한 파일, 예를 들어 Word 또는 Excel파일에 추출함으로써, 테이블 이미지 상의 내용에 대한 간편 추출을 구현하고, Word 또는 Excel 파일은 도출되어 사용자에게 피드백된다.
본 출원의 실시예의 기술적 해결수단에 따르면, 테이블 검출을 통해 후보 테이블 식별 결과를 획득한 이후, 후보 테이블 식별 결과의 테이블 특징, 즉 병합 특징과 방향 특징을 추출하고, 추출된 테이블 특징을 이용하여 후보 테이블 식별 결과에 대해 구조적인 병합 처리를 진행하여, 병합할 행 및 병합할 행의 병합 방향을 획득하며, 나아가 후보 테이블 식별 결과를 조정함으로써, 최종 타깃 테이블 식별 결과를 획득함으로써, 기존의 테이블 식별 방안 중의 식별 결과가 정확하지 않은 문제를 해결하여, 테이블 식별의 정확성을 향상시킨다.
설명해야 할 것은, 본 출원의 실시예에서, 병합 특징과 방향 특징의 추출 시기에 관해 엄격히 제한하지 않고, 도 1에 도시된 병합 특징과 방향 특징의 추출과 기타 동작의 수행 순서를 본 출원의 실시예에 대한 구체적인 한정으로 이해해서는 아니된다. 예시적으로, 후보 테이블 식별 결과에 기반하여 병합 특징을 추출하는 동시에, 테이블 중 각 행의 방향 특징을 추출하고, 후보 테이블 식별 결과 중의 병합할 행을 결정한 이후, 병합할 행의 방향 특징을 직접 호출하여, 병합할 행의 병합 방향을 결정할 수도 있다.
도 4는 본 출원의 실시예에 따라 개시되는 다른 테이블 식별 방법의 흐름도이고, 상기 기술 수단에 기반하여 추가로 최적화하고 확장하며, 상기 각각의 선택 가능한 실시 형태와 결부할 수 있다. 도 4에 도시된 바와 같이, 상기 방법은 하기와 같은 단계를 포함할 수 있다.
S201: 타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득한다.
S202: 후보 테이블 식별 결과의 병합 특징을 추출하고, 미리 트레이닝한 셀 병합 분류 모델과 병합 특징을 결정하여, 후보 테이블 식별 결과 중의 병합할 행을 결정한다.
S203: 병합할 행의 방향 특징을 추출하고, 미리 트레이닝한 셀 병합 방향 결정 모델과 방향 특징을 이용하여, 병합할 행의 병합 방향을 결정한다.
S204: 결정된 병합할 행과 병합할 행의 병합 방향에 따라, 후보 테이블 식별 결과를 조정함으로써, 타깃 테이블 식별 결과를 획득한다.
여기서, 셀 병합 분류 모델은 미리 트레이닝한, 후보 테이블 식별 결과 중 각 행이 병합에 참여할 필요가 있는지 여부를 판정할 수 있는 임의의 모델일 수 있고, 구체적으로 바이너리 모델일 수 있으며, 즉 각 행에 대한 출력 결과는 병합에 참여할 필요가 있거나 병합에 참여할 필요가 없음을 포함할 수 있다. 셀 병합 방향 결정 모델은 미리 트레이닝한, 병합할 행의 병합 방향을 판정할 수 있는 임의의 모델일 수 있고, 구체적으로 바이너리 모델일 수도 있으며, 즉 각각의 병합할 행에 대한 출력 결과는 윗행으로의 병합 또는 아래행으로의 병합을 포함할 수 있다. 윗행으로의 병합은 현재 병합할 행의 윗변 및 이에 인접하는 윗행 아래변의 아래변 프레임을 취소하는 것을 가리키고, 아래행으로의 병합은 현재 병합할 행의 아래변 프레임 및 이에 인접하는 아래행의 윗변을 취소하는 것을 가리킨다.
상기 기술수단의 기초상에서, 선택 가능하게, 본 출원의 실시예에서 개시되는 방법은 하기와 같은 단계를 더 포함한다.
기설정된 개수의 샘플 테이블을 획득하고, 샘플 테이블 중의 병합할 행 및 상기 병합할 행의 병합 방향을 표기한다. 예를 들어, 샘플 테이블 중 병합할 행을 1로 표기하고, 병합이 필요없는 행을 0으로 표기하며, 병합 방향이 상측 방향으로의 병합일 때 1로 표기하고, 병합 방향이 하측 방향으로의 병합일 때 0으로 표기할 수 있다.
샘플 테이블 중 병합할 행을 결정하기 위한 샘플 병합 특징을 추출하고, 샘플 테이블 중 병합할 행의 병합 방향을 결정하기 위한 샘플 방향 특징을 추출한다.
표기된 병합할 행과 샘플 병합 특징을 이용하여, 트레이닝하여 셀 병합 분류 모델을 획득한다. 즉, 트레이닝 과정에서 병합할 행과 샘플 병합 특징 사이의 연관 관계를 학습하여, 병합할 행 예측에 사용할 수 있다.
표기된 병합할 행의 병합 방향과 샘플 방향 특징을 이용하여, 트레이닝하여 셀 병합 방향 결정 모델을 획득한다. 즉 트레이닝 과정에서 병합할 행의 병합 방향과 샘플 방향 특징 사이의 연관 관계를 학습하여, 병합할 행의 병합 방향 예측에 사용할 수 있다.
마찬가지로, 모델 트레이닝 과정에서, 샘플 병합 특징과 샘플 방향 특징은 동시에 추출될 수 있고, 먼저 샘플 병합 특징을 추출한 다음 샘플 방향 특징을 추출할 수도 있으며, 본 출원의 실시예는 이에 대하여 구체적으로 한정하지 않는다. 셀 병합 분류 모델과 셀 병합 방향 결정 모델은 테이블 식별 과정에서 하나가 선택되어 사용될 수 있고, 동시에 사용될 수도 있으며, 구체적인 것은 처리 수요에 의해 결정될 수 있고, 도 4에 도시된 기술수단이 본 출원의 실시예에 대한 구체적인 한정으로 이해해서는 아니된다.
예시적으로, 샘플 병합 특징은, 샘플 테이블 중 각 행의 유효 열의 개수와 샘플 테이블 중 최대 유효 열의 개수의 차이, 샘플 테이블 중의 각 행과 샘플 테이블 중 테이블 헤더의 상대 위치 관계, 샘플 테이블 중 각 행의 문자 영역이 기설정된 구분 기호를 포함하는지 여부 및 샘플 테이블 중 각 행의 문자 영역이 수치형 데이터를 포함하는지 여부 등 특징 중 적어도 하나를 포함한다. 여기서, 테이블 헤더는, 샘플 테이블에서, 위치 정보에 따라 결정된 대응 유효 열의 개수가 가장 큰 행의 첫번째 셀을 가리킨다. 샘플 테이블 중 각 행의 유효 열의 개수는 상기 행의 문자 영역에 대응 되는 열의 개수를 가리킨다. 샘플 테이블 중 최대 유효 열의 개수는 테이블 중 문자가 있는 영역에 대응되는 열의 최대 개수이다. 기설정된 구분 기호는 테이블에 적용된 문자에 대해 행을 구분하기 위한 임의의 심볼일 수 있고, 예를 들어 수치에 대해 행을 구분하기 위한 소수점 등이다.
샘플 방향 특징은 병합할 행이 사이드 테이블 헤더를 포함하는지 여부, 병합할 행이 사이드 테이블 헤더만 포함하는 것인지 여부, 병합할 행의 문자 영역이 수치형 데이터를 포함하는지 여부, 병합할 행으로부터 이에 인접한 윗행 아래변 사이의 거리와 병합할 행으로부터 이에 인접한 아래행 윗변 사이의 거리의 비, 병합할 행의 문자 영역과 이에 인접하는 윗행 아래변 중 문자 영역 사이의 폭 차이, 및 병합할 행의 문자 영역과 이에 인접하는 아래행의 문자 영역 사이의 폭 차이 등 특징 중 적어도 하나를 포함한다. 사이드 테이블 헤더는 각 행 중 열독 습관에 따라 테이블의 가장 좌측에 위치한 셀을 가리킨다. 모델 트레이닝 단계 특징의 추출과 모델 사용 단계 특징의 추출은 동일한 논리에 속하므로, 제1 샘플 특징과 제2 샘플 특징에 관한 기타 설명은 상기 실시예 중의 후보 테이블 식별 결과의 제1 특징과 제2 특징에 관한 설명을 참조할 수 있고 여기서 더이상 설명하지 않는다.
셀 병합 분류 모델과 셀 병합 방향 결정 모델의 트레이닝 과정에서, 모두 로지스틱 회귀 바이너리 사상, GBDT(Gradient Boosting Decision Tree, 그래디언트 부스팅 회귀 트리) 바이너리 사상, XGBoost(eXtreme Gradient Boosting) 바이너리 사상 또는 SVM(Support Vector Machine, 서포트 벡터 머신) 바이너리 사상 등에 기반하여, 필요한 모델을 트레이닝하여 획득할 수 있고, 자동화 모델링을 결부하여 모델 파라미터 진화를 진행함으로써, 필요한 모델을 획득할 수도 있으며, 모델 융합 방법을 이용하여 필요한 모델을 트레이닝하여 획득할 수도 있다. 본 출원의 실시예는 모델에 대한 구체적인 트레이닝 구현과정에 대해 한정하지 않는다.
본 출원의 실시예의 기술적 해결수단에 따르면, 테이블 검출을 통해 후보 테이블 식별 결과를 획득한 이후, 후보 테이블 식별 결과의 병합 특징과 방향 특징을 추출하여, 후속적으로 정확한 테이블 식별 결과를 획득하는데 데이터 기초를 제공한다. 다음, 미리 트레이닝한 셀 병합 분류 모델과 병합 특징을 이용하여, 후보 테이블 식별 결과 중의 병합할 행을 결정하며, 미리 트레이닝한 셀 병합 방향 결정 모델과 방향 특징을 이용하여, 병합할 행의 병합 방향을 결정한다. 마지막으로, 결정된 병합할 행, 병합 방향 및 후보 테이블 식별 결과에 기반하여, 정확한 타깃 테이블 식별 결과를 획득함으로써, 기존 테이블 식별 방안 중의 식별 결과가 정확하지 않은 문제를 해결하고, 테이블 식별 정확성을 향상시킨다. 또한, 셀 병합 분류 모델과 셀 병합 방향 결정 모델의 사용은, 테이블 식별 결과의 정확성, 신뢰성을 확보하는 기초상에서, 테이블 식별 효율을 효과적으로 향상시키고, 수단이 비교적 광범위한 적용성을 구비하도록 한다.
도 5는 본 출원의 실시예에 따라 개시되는 다른 테이블 식별 방법의 흐름도이고, 상기 기술 수단에 기반하여 추가로 최적화하고 확장하며, 상기 각각의 선택 가능한 실시 형태와 결부할 수 있다. 도 5에 도시된 바와 같이, 상기 방법은 하기와 같은 단계를 포함할 수 있다.
S301: 타깃 이미지 속 테이블 테두리와 타깃 이미지 속 문자 영역을 검출한다.
예시적으로, 기설정된 신경망 모델을 이용하여, 타깃 이미지 속 테이블 테두리를 검출할 수 있다. 여기서, 기설정된 신경망 모델은, Yolov3네트워크 구조 상에 기설정된 개수의 콘볼루션 계층을 추가하여 구현될 수 있다. 기설정된 신경망 모델은 모델 트레이닝을 거쳐 테이블 테두리의 검출 기능을 구비하고, 모델 트레이닝 과정에 필요한 파라미터는 모두 검출 수요에 따라 융통성있게 설정될 수 있다. 구체적으로, 타깃 이미지에 Yolov3네트워크 구조 처리를 거친 다음 결과 출력을 바로 진행하는 것이 아니라, 계속하여 기설정된 개수(구체적인 값은 실제 수요에 의해 결정됨)의 콘볼루션 계층에 입력하여 콘볼루션 연산을 진행하고, 그 다음 다시 완전 연결층을 통해 테이블 테두리의 검출 결과를 출력하며, 이는 Yolov3네트워크 구조 처리를 거치고 바로 테이블 테두리 검출 결과를 출력하는 경우에 비해, 테이블 테두리의 검출 정확성을 향상시킬 수 있다. 아울러, Faster R-CNN 네트워크를 이용하여 테이블 테두리를 검출하는 수단에 비해, 본 출원의 실시예에서 이용한 기설정된 신경망 모델도 테이블 검출의 정확성을 향상시킬 수 있고, 일부 기타 어수선한 문자를 테이블 영역으로 오인하는 현상을 감소할 수 있으며, 동시에 테이블 식별 정확율과 회수율을 고려하며, 이 밖에, 모델 트레이닝 시간과 예측 시간은 Faster R-CNN보다 많이 적다. 기설정된 신경망 모델은 모델 트레이닝 과정에서 크로스 엔트로피 손실 함수를 모델 손실 함수로 사용하여, 모델 트레이닝 과정의 정확성을 확보할 수 있다. 크로스 엔트로피 손실 함수의 구체적인 형식은 선행 기술의 함수 형식을 참조하여 구현될 수 있다.
또한, 문자 레벨 텍스트 검출 방법(Character Region Awareness for Text Detection, CRAFT)을 이용하여 타깃 이미지 속 문자 영역을 검출할 수 있다. CRAFT방법의 핵심 사상은, 단일 문자 분할 및 단일 문자간 분할 방법을 제기한 것에 있고, 타깃 검출 이러한 핵심 개념에 더 부합되며, 텍스트 프레임을 타깃으로 한 것이 아니라 작은 시야를 사용하여도 큰 텍스트와 긴 텍스트를 예측할 수 있고, 전체 텍스트의 실예를 주목할 필요 없이 문자 레벨의 내용을 주목하기만 하면 되며, 텍스트의 경계를 효과적으로 획득할 수 있고, 타깃 이미지에서 문자 영역 검출의 정확성을 확보할 수 있다.
도 6은 본 출원의 실시예에 따라 개시되는 타깃 이미지 속 테이블 테두리와 문자 영역의 검출 결과의 개략도이다. 도 6에 도시된 바와 같이, 테이블 테두리 내에 위치한 문자는 모두 테이블 내용에 속하고, 하나의 문자 영역은 하나의 문자 프레임에 대응되며, 문자 프레임의 개수은 테이블 내용에 의해 결정된다. 테이블 테두리와 각 문자 프레임의 사이즈 크기는 조절할 수 있다.
또한, 타깃 이미지 속 테이블 테두리를 검출하는 과정에서, 본 출원의 실시예에서 개시되는 방법은 타깃 이미지 속 테이블의 테이블명을 검출하는 단계를 더 포함하고, 이에 따라, 타깃 이미지 속 테이블 테두리를 검출하는 단계 이후, 본 출원의 실시예에서 개시되는 방법은, 테이블명의 위치 정보에 따라, 테이블 테두리를 조절하는 단계를 더 포함하여, 테이블명이 차지한 영역도 테이블 영역에 구획하는 것을 피면함으로써, 테이블 테두리의 검출 정확성을 향상시킨다.
예시적으로, 테이블명 검출의 구현에 관하여, 테이블 테두리 검출 기능이 있는 기설정된 신경망 모델을 트레이닝하여 획득하는 과정에서, 동시에 테이블명 검출을 하나의 트레이닝 목표로 하고, 즉 트레이닝 샘플 테이블에 대해 테이블 테두리와 테이블명을 동시에 표기한 다음 모델 트레이닝에 사용하여, 기설정된 신경망 모델이 테이블 테두리 검출 기능과 테이블 명 검출 기능을 동시에 겸비한 하나의 멀티 태스크 모델일 수 있도록 한다. 이 밖에, 테이블명과 테이블 주체, 테이블 헤더 사이의 각각의 위치 관계 등에 따라 테이블명 위치를 검출할 수도 있다.
S302: 테이블 테두리와 문자 영역의 위치 정보에 따라, 타깃 이미지 속 테이블 중 각 행의 영역 범위를 결정한다. 즉 각 행의 상, 하 경계를 결정한다.
S303: 타깃 이미지 속 각 행에 대응되는 문자 영역의 개수에 따라, 타깃 행을 결정한다.
구체적으로, 타깃 이미지 속 테이블의 행을 단위로, 대응되는 문자 영역의 개수가 개수 임계값을 초과한 행, 예를 들어 대응되는 문자 영역의 개수가 가장 큰 행을 타깃 행으로 결정할 수 있다. 각 행 중의 하나의 문자 영역은 하나의 열에 대응될 수 있고, 다시 말해서, 타깃 행에 대응되는 열의 개수는 일정한 정도에서 가장 큰 것이다.
S304: 타깃 행의 행 길이와 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 타깃 이미지 속 테이블 중 각 열의 영역 범위를 결정한다.
구체적으로, 테이블 행 방향의 모든 문자 영역의 범위에 따라, 테이블 열 방향을 따라 테이블 영역을 합리적으로 구획하여, 각 열의 좌측 경계선과 우측 경계선을 결정할 수 있다.
S305: 각 행의 영역 범위와 각 열의 영역 범위에 따라, 타깃 이미지 속 테이블에 대해 그리드 구획을 진행하여, 후보 테이블 식별 결과를 획득한다.
후보 테이블 식별 결과의 모식 효과는 도 2를 참조할 수 있다.
S306: 후보 테이블 식별 결과의 병합 특징을 추출하고, 병합 특징을 이용하여 후보 테이블 식별 결과 중의 병합할 행을 결정한다.
S307: 병합할 행의 방향 특징을 추출하고, 방향 특징을 이용하여 병합할 행의 병합 방향을 결정한다.
S308: 병합할 행과 병합할 행의 병합 방향에 따라, 후보 테이블 식별 결과를 조정함으로써, 타깃 테이블 식별 결과를 획득한다.
상기 기술 수단의 기초상에서, 또한, 타깃 행의 행 길이와 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 타깃 이미지 속 테이블 중 각 열의 영역 범위를 결정하는 단계는,
타깃 행의 행 길이와 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 타깃 이미지 속 테이블 중 각 열의 후보 영역 범위를 결정하는 단계;
각 열의 후보 영역 범위에 따라, 문자 영역을 포함하지 않는 빈 열을 검출하는 단계; 및
빈 열의 후보 영역 범위를 두개 열의 타깃 영역에 병합시켜, 타깃 이미지 속 테이블 중 각 열의 타깃 영역 범위를 획득하는 단계를 포함하고, 두개 열의 타깃 영역은 빈 열에 인접하고 빈 열의 서로 다른 측에 각각 위치하는 열 영역을 가리킨다.
여기서, 일 예시로서, 도 7 중의 제2 열, 제4 열 및 제6열이 빈 열이고, 정상적인 테이블에는 빈 열이 나타나지 않아야 하므로, 테이블 식별의 정확성을 위해, 도 8에 도시된 열 영역 범위와 같이, 빈 열 영역을 빈열 좌우 양측의 열에 병합시켜야 하며, 이로써 더욱 합리적이고 정확한 테이블 식별 결과를 획득한다.
본 출원의 실시예의 기술적 해결수단에 따르면, 타깃 이미지에 대해 테이블 테두리 검출 및 문자 영역 검출을 진행하여, 타깃 이미지 속 테이블의 행 영역 범위와 열 영역 범위를 결정하고, 후보 테이블 식별 결과를 초보적으로 획득하여, 후속적으로 유효한 테이블 구조화 처리 진행을 위해 기초를 제공하며, 후보 테이블 식별 결과에 기반하여 행 특징 추출을 진행하고, 추출된 특징을 이용하여 병합할 행과 병합할 행의 병합 방향을 결정하며, 후보 테이블 식별 결과에 대한 유효 구조화 처리를 구현하여, 정확한 타깃 테이블 식별 결과를 획득하도록 함으로써, 기존 테이블 식별 방안 중의 식별 결과가 정확하지 않은 문제를 해결하고, 테이블 식별 정확성을 향상시킨다.
도 9는 본 출원의 실시예에 따라 개시되는 테이블 식별 장치의 구조 개략도이고, 본 출원의 실시예는 테이블 이미지에 대한 식별에 적용되어 테이블 이미지 속 테이블의 상황을 획득할 수 있으며, 특히는 테이블 이미지 상의 경계선이 없는 테이블에 대해 식별을 진행하는 상황을 획득할 수 있다. 본 출원의 실시예에서 개시되는 장치는 소프트웨어 및/또는 하드웨어 방식을 사용하여 구현될 수 있으며, 컴퓨팅 기능을 구비하는 임의의 전자 기기, 예컨대 서버 또는 단말기 등에 집적될 수 있다.
도 9에 도시된 바와 같이, 본 출원의 실시예에서 개시되는 테이블 식별 장치(400)는 후보 결과 결정 모듈(401), 병합할 행 결정 모듈(402), 병합 방향 결정 모듈(403) 및 타깃 결과 결정 모듈(404)을 포함할 수 있고, 여기서,
후보 결과 결정 모듈(401)은, 타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득하고,
병합할 행 결정 모듈(402)은, 후보 테이블 식별 결과의 병합 특징을 추출하고, 병합 특징을 이용하여 후보 테이블 식별 결과 중의 병합할 행을 결정하며,
병합 방향 결정 모듈(403)은, 병합할 행의 방향 특징을 추출하고, 방향 특징을 이용하여 병합할 행의 병합 방향을 결정하며,
타깃 결과 결정 모듈(404)은, 병합할 행과 병합할 행의 병합 방향에 따라, 후보 테이블 식별 결과를 조정함으로써, 타깃 테이블 식별 결과를 획득한다.
선택 가능하게, 병합할 행 결정 모듈(402)은,
후보 테이블 식별 결과의 병합 특징을 추출하는 병합 특징 추출 유닛; 및
미리 트레이닝한 셀 병합 분류 모델과 병합 특징을 이용하여, 후보 테이블 식별 결과 중의 병합할 행을 결정하는 병합할 행 결정 유닛을 포함한다.
선택 가능하게, 병합 방향 결정 모듈(403)은,
병합할 행의 방향 특징을 추출하는 방향 특징 추출 유닛; 및
미리 트레이닝한 셀 병합 방향 결정 모델과 방향 특징을 이용하여, 병합할 행의 병합 방향을 결정하는 병합 방향 결정 유닛을 포함하고, 병합 방향은 아래행으로의 병합과 윗행으로의 병합을 포함한다.
선택 가능하게, 병합 특징은, 후보 테이블 식별 결과 중 각 행의 유효 열의 개수와 후보 테이블 식별 결과 중 최대 유효 열의 개수의 차이, 상기 후보 테이블 식별 결과 중의 각 행과 후보 테이블 식별 결과 중 테이블 헤더의 상대 위치 관계, 후보 테이블 식별 결과 중 각 행의 문자 영역이 기설정된 구분 기호를 포함하는지 여부 및 후보 테이블 식별 결과 중 각 행의 문자 영역이 수치형 데이터를 포함하는지 여부 중 적어도 하나를 포함하고,
방향 특징은, 병합할 행이 사이드 테이블 헤더를 포함하는지 여부, 병합할 행이 사이드 테이블 헤더만 포함하는 것인지 여부, 병합할 행의 문자 영역이 수치형 데이터를 포함하는지 여부, 병합할 행으로부터 이에 인접한 윗행 아래변 사이의 거리와 병합할 행으로부터 이에 인접한 아래행 윗변 사이의 거리의 비, 병합할 행의 문자 영역과 윗행의 문자 영역 사이의 폭 차이 및 병합할 행의 문자 영역과 아래행의 문자 영역 사이의 폭 차이 중 적어도 하나를 포함하며,
테이블 헤더는, 후보 테이블 식별 결과에서, 위치 정보에 따라 결정된 대응 유효 열의 개수가 가장 큰 행의 첫번째 셀을 가리킨다.
선택 가능하게, 본 출원의 실시예에서 개시되는 장치는,
기설정된 개수의 샘플 테이블을 획득하고, 샘플 테이블 중의 병합할 행 및 상기 병합할 행의 병합 방향을 표기하는 샘플 표기 모듈;
샘플 테이블 중의 병합할 행을 결정하는 샘플 병합 특징을 추출 및 샘플 테이블 중의 병합할 행의 병합 방향을 결정하는 샘플 방향 특징을 추출하는 샘플 특징 추출 모듈;
표기된 병합할 행과 샘플 병합 특징을 이용하여, 트레이닝하여 셀 병합 분류 모델을 획득하는 제1 트레이닝 모듈;
표기된 병합할 행의 병합 방향과 샘플 방향 특징을 이용하여, 트레이닝하여 셀 병합 방향 결정 모델을 획득하는 제2 트레이닝 모듈을 더 포함한다.
선택 가능하게, 후보 결과 결정 모듈(401)은,
타깃 이미지 속 테이블 테두리과 타깃 이미지 속 문자 영역을 검출하는 테두리와 문자 검출 유닛; 및
테이블 테두리와 문자 영역에 따라, 타깃 이미지 속 테이블에 대해 그리드 구획을 진행하여, 후보 테이블 식별 결과를 획득하는 후보 결과 결정 유닛을 포함한다.
선택 가능하게, 후보 결과 결정 유닛은,
테이블 테두리와 문자 영역의 위치 정보에 따라, 타깃 이미지 속 테이블 중 각 행의 영역 범위를 결정하는 행 영역 결정 서브 유닛;
타깃 이미지 속 각 행에 대응되는 문자 영역의 개수에 따라, 타깃 행을 결정하는 타깃 행 결정 서브 유닛;
타깃 행의 행 길이와 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 타깃 이미지 속 테이블 중 각 열의 영역 범위를 결정하는 열 영역 결정 서브 유닛; 및
각 행의 영역 범위와 각 열의 영역 범위에 따라, 타깃 이미지 속 테이블에 대해 그리드 구획을 진행하여, 후보 테이블 식별 결과를 획득하는 그리드 구획 서브 유닛을 포함한다.
선택 가능하게, 열 영역 결정 서브 유닛은,
타깃 행의 행 길이와 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 타깃 이미지 속 테이블 중 각 열의 후보 영역 범위를 결정하는 후보 영역 결정 서브 유닛;
각 열의 후보 영역 범위에 따라, 문자 영역을 포함하지 않는 빈 열을 검출하는 빈 열 검출 서브 유닛;
빈 열의 후보 영역 범위를 두개 열의 타깃 영역에 병합시켜, 타깃 이미지 속 테이블 중 각 열의 타깃 영역 범위를 획득하는 타깃 영역 결정 서브 유닛 - 두개 열의 타깃 영역은 상기 빈 열에 인접하고 상기 빈 열의 서로 다른 측에 각각 위치하는 열 영역을 가리킴 - 을 포함한다.
선택 가능하게, 테두리와 문자 검출 유닛은,
타깃 이미지 속 테이블 테두리를 검출하는 테이블 테두리 검출 서브 유닛; 및
타깃 이미지 속 문자 영역을 검출하는 영역 검출 서브 유닛을 포함하고,
테이블 테두리 검출 서브 유닛은 구체적으로,
기설정된 신경망 모델을 이용하여, 타깃 이미지 속 테이블 테두리를 검출하며, 기설정된 신경망 모델은, Yolov3네트워크 구조 상에 기설정된 개수의 콘볼루션 계층을 추가하여 구현된다.
선택 가능하게, 후보 결과 결정 모듈(401)은,
타깃 이미지 속 테이블의 테이블명을 검출하는 테이블명 검출 유닛; 및
테두리와 문자 검출 유닛에 의해 타깃 이미지 속 테이블 테두리를 검출한 이후, 테이블명의 위치 정보에 따라, 테이블 테두리를 조절하는 테두리 조절 유닛을 더 포함한다.
본 출원의 실시예에서 개시되는 테이블 식별 장치(400)는 본 출원의 실시예에서 개시되는 임의의 하나의 테이블 식별 방법을 수행할 수 있고, 수행 방법에 대응되는 기능 모듈과 유익한 효과를 구비한다. 본 출원의 장치 실시예에서 상세히 설명되지 않은 내용은 본 출원의 임의의 방법 실시예 중의 설명을 참조할 수 있다.
본 출원의 실시예에 따르면, 본 출원의 실시예는 전자 기기 및 판독 가능한 저장 매체를 더 제공한다.
도 10에 도시된 바와 같이, 도 10은 본 출원의 실시예의 테이블 식별 방법을 구현하는 전자 기기의 블록도이다. 전자 기기는 랩톱 컴퓨터, 데스크톱 컴퓨터, 운영 플랫폼, 개인 정보 단말기, 서버, 블레이드 서버, 대형 컴퓨터, 및 다른 적합한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 의미한다. 전자 기기는 개인 디지털 처리, 셀룰러폰, 스마트폰, 웨어러블 기기 및 다른 유사한 컴퓨팅 장치와 같은 다양한 형태의 이동 장치를 의미할 수도 있다. 본 명세서에서 나타낸 부재, 이들의 연결과 관계, 및 이들의 기능은 단지 예시적인 것으로, 본 명세서에서 설명 및/또는 요구된 본 출원의 구현을 한정하지 않는다.
도 10에 도시된 바와 같이, 상기 전자 기기는 하나 또는 다수의 프로세서(501), 메모리(502), 및 고속 인터페이스 및 저속 인터페이스를 포함하는 각 부재를 연결하기 위한 인터페이스를 포함한다. 각 부재는 상이한 버스를 이용하여 서로 연결되고, 공통 메인보드에 장착될 수 있거나 필요에 따라 다른 방식으로 장착될 수 있다. 프로세서는, 메모리에 저장되거나 메모리에서 외부 입력/출력 장치(예를 들어, 인터페이스에 커플링된 표시 기기)에 그래픽 사용자 인터페이스(Graphical User Interface, GUI)의 그래픽 정보를 표시하는 명령어를 포함하는 전자 기기 내에서 실행되는 명령어를 처리할 수 있다. 다른 실시형태에서, 필요에 따라 다수의 프로세서 및/또는 다수의 버스를 다수의 메모리와 함께 사용할 수 있다. 마찬가지로, 다수의 전자 기기를 연결할 수 있고, 각 기기는 일부 필요한 동작(예를 들어, 서버 어레이, 한 그룹의 블레이드 서버, 또는 다중프로세서 시스템)을 제공한다. 도 10에서 하나의 프로세서(501)를 예로 든다.
메모리(502)는 본 출원의 실시예에서 제공되는 비일시적 컴퓨터 판독 가능한 저장 매체이다. 여기서 메모리에는 적어도 하나의 프로세서에 의해 실행 가능한 명령어가 저장되어, 적어도 하나의 프로세서가 본 출원의 실시예에서 제공되는 테이블 식별 방법을 수행하도록 한다. 본 출원의 실시예의 비일시적 컴퓨터 판독 가능한 저장 매체는 컴퓨터 명령어가 저장되고, 상기 컴퓨터 명령어는 컴퓨터가 본 출원의 실시예에서 제공되는 테이블 식별 방법을 수행하도록 한다.
메모리(502)는 비일시적 컴퓨터 판독 가능한 저장 매체로서, 비일시적 소프트웨어 프로그램, 비일시적 컴퓨터 실행 가능한 프로그램, 및 본 출원의 실시예의 비디오 검색 방법에 대응되는 프로그램 명령어/모듈(예를 들어, 도 9에 도시된 후보 결과 결정 모듈(401), 병합할 행 결정 모듈(402) 및 병합 방향 결정 모듈(403) 및 타깃 결과 결정 모듈(404)과 같은 모듈을 저장할 수 있다. 프로세서(501)는 메모리(502)에 저장된 비일시적 소프트웨어 프로그램, 명령 및 모듈을 실행함으로써, 전자 기기의 다양한 기능 애플리케이션 및 데이터 처리를 수행하는데, 즉 상기 방법 실시예의 테이블 식별 방법을 구현한다.
메모리(502)는 프로그램 저장 영역 및 데이터 저장 영역을 포함할 수 있고, 여기서, 프로그램 저장 영역은 운영 체제, 적어도 하나의 기능에 필요한 응용 프로그램을 저장할 수 있으며; 데이터 저장 영역은 비디오 검색 전자 기기의 사용에 따라 구축된 데이터 등을 저장할 수 있다. 이 밖에, 메모리(502)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 적어도 하나의 자기 디스크 메모리, 플래시 메모리, 또는 다른 비일시적 고체 상태 메모리와 같은 비일시적 메모리를 더 포함할 수 있다. 일부 실시예에서, 메모리(502)는 프로세서(501)에 대해 원격으로 설치된 메모리를 선택적으로 포함할 수 있고, 이러한 원격 메모리는 네트워크를 통해 본 실시예 중의 테이블 식별 방법을 구현하는 전자 기기에 연결될 수 있다. 상기 네트워크의 구현예로 인터넷, 인트라넷, 블록체인 네트워크, 근거리 통신망, 이동 통신망 및 이들의 조합을 포함하나 이에 한정되지 않는다.
본 출원의 실시예 중의 테이블 식별 방법을 구현하는 전자 기기는 입력 장치(503) 및 출력 장치(504)를 더 포함할 수 있다. 프로세서(501), 메모리(502), 입력 장치(503) 및 출력 장치(504)는 버스 또는 다른 방식을 통해 연결될 수 있고, 도 10에서 버스를 통해 연결되는 것을 예로 든다.
입력 장치(503)는 입력된 디지털 또는 문자 정보를 수신할 수 있고, 본 실시예 중의 테이블 식별 방법을 구현하는 전자 기기의 사용자 설정 및 기능 제어와 관련된 키 신호 입력을 발생할 수 있으며, 상기 입력 장치는 예를 들어 터치스크린, 키패드, 마우스, 트랙 패널, 터치 패널, 지시 바, 하나 또는 다수의 마우스 버튼, 트랙 볼, 조이스틱 등 입력 장치이다. 출력 장치(504)는 표시 기기, LED와 같은 보조 조명 장치 및 진동 모터와 같은 촉각 피드백 장치 등을 포함할 수 있다. 상기 표시 기기는 액정 표시 장치(Liquid Crystal Display, LCD), 발광 다이오드(LED) 표시 장치 및 플라스마 표시 장치를 포함할 수 있지만 이에 한정되지 않는다. 일부 실시형태에서, 표시 기기는 터치스크린일 수 있다.
여기서 설명된 시스템 및 기술의 다양한 실시형태는 디지털 전자 회로 시스템, 집적 회로 시스템, 전용 집적 회로(Application Specific Integrated Circuit, ASIC), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합에서 구현될 수 있다. 이러한 다양한 실시형태는 하나 또는 다수의 컴퓨터 프로그램에서의 구현을 포함할 수 있고, 상기 하나 또는 다수의 컴퓨터 프로그램은 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템에서 실행 및/또는 해석될 수 있으며, 상기 프로그램 가능 프로세서는 전용 또는 범용 프로그램 가능 프로세서일 수 있고, 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로부터 데이터 및 명령어를 수신할 수 있으며, 데이터 및 명령어를 상기 저장 시스템, 상기 적어도 하나의 입력 장치, 및 상기 적어도 하나의 출력 장치에 전송할 수 있다.
이러한 컴퓨팅 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 또는 코드라고도 함)은 프로그램 가능 프로세서의 기계 명령어를 포함하고, 하이레벨 프로세스 및/또는 객체에 대한 프로그래밍 언어, 및/또는 어셈블리/기계 언어를 이용하여 이러한 컴퓨팅 프로그램을 실행할 수 있다. 본 명세서에서 사용된 바와 같이, 용어 “기계 판독 가능한 매체” 및 “컴퓨터 판독 가능한 매체”는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하기 위한 임의의 컴퓨터 프로그램 제품, 기기, 및/또는 장치(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램 가능 로직 장치(Programmable Logic Device, PLD))를 의미하고, 기계 판독 가능한 신호인 기계 명령어를 수신하는 기계 판독 가능한 매체를 포함한다. 용어 “기계 판독 가능한 신호”는 기계 명령어 및/또는 데이터를 프로그램 가능 프로세서에 제공하기 위한 임의의 신호를 의미한다.
사용자와의 인터랙션을 제공하기 위하여, 컴퓨터에 본 명세서에 설명된 시스템 및 기술을 구현할 수 있고, 상기 컴퓨터는 사용자에게 정보를 표시하기 위한 표시 장치(예를 들어, 음극선관(Cathode Ray Tube, CRT) 또는 LCD 모니터); 및 키보드 및 지향 장치(예를 들어, 마우스 또는 트랙 볼)를 구비하며, 사용자는 상기 키보드 및 상기 지향 장치를 통해 컴퓨터에 입력을 제공한다. 다른 타입의 장치는 또한 사용자와의 인터랙션을 제공할 수 있는데, 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감지 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 소리 입력, 음성 입력, 또는 촉각 입력을 포함하는 임의의 형태로 사용자로부터의 입력을 수신할 수 있다.
여기서 설명된 시스템 및 기술을 백그라운드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 데이터 서버), 또는 미들웨어 부재를 포함하는 컴퓨팅 시스템(예를 들어, 응용 서버), 또는 프론트 엔드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 그래픽 사용자 인터페이스 또는 웹 브라우저를 구비하는 사용자 컴퓨터이고, 사용자는 상기 그래픽 사용자 인터페이스 또는 웹 브라우저를 통해 여기서 설명된 시스템 및 기술의 실시형태와 인터랙션할 수 있음), 또는 이러한 백그라운드 부재, 미들웨어 부재, 또는 프론트 엔드 부재의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현할 수 있다. 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)을 통해 시스템의 부재를 서로 연결시킬 수 있다. 통신 네트워크의 예시로 근거리 통신망(Local Area Network, LAN), 광역 통신망(Wide Area Network, WAN), 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있고 일반적으로 통신 네트워크를 통해 서로 인터랙션한다. 대응되는 컴퓨터에서 실행되고 또한 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램을 통해 클라이언트 및 서버의 관계를 생성한다.
본 출원의 실시예의 기술적 해결수단에 따르면, 테이블 검출을 통해 후보 테이블 식별 결과를 획득한 이후, 후보 테이블 식별 결과의 테이블 특징, 즉 병합 특징과 방향 특징을 추출하고, 추출된 테이블 특징을 이용하여 후보 테이블 식별 결과에 대해 구조적인 병합 처리를 진행하여, 병합할 행 및 병합할 행의 병합 방향을 획득하며, 나아가 후보 테이블 식별 결과를 조정함으로써, 최종 타깃 테이블 식별 결과를 획득함으로써, 기존의 테이블 식별 방안 중의 식별 결과가 정확하지 않은 문제를 해결하여, 테이블 식별의 정확성을 향상시킨다.
위에서 설명한 다양한 형태의 프로세스, 재배열, 추가 또는 삭제 단계를 사용할 수 있음을 이해해야 한다. 예를 들어, 본 출원에 기재된 각 단계는 동시에 수행될 수 있거나 순차적으로 수행될 수 있거나 상이한 순서로 수행될 수 있고, 본 출원에서 개시된 기술적 해결수단이 이루고자 하는 결과를 구현할 수만 있으면, 본 명세서은 여기서 한정하지 않는다.
상기 구체적인 실시형태는 본 출원의 보호 범위를 한정하지 않는다. 본 기술분야의 통상의 기술자는 설계 요구 및 다른 요소에 따라 다양한 수정, 조합, 서브 조합 및 대체를 진행할 수 있음을 이해해야 한다. 본 출원의 정신 및 원칙 내에서 진행한 임의의 수정, 등가적 대체 및 개선 등은 모두 본 출원의 보호 범위 내에 속해야 한다.
501: 프로세서 502: 메모리
503: 입력 장치 504: 출력 장치

Claims (21)

  1. 테이블 식별 방법으로서,
    타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득하는 단계;
    상기 후보 테이블 식별 결과의 병합 특징을 추출하고, 상기 병합 특징을 이용하여 상기 후보 테이블 식별 결과 중의 병합할 행을 결정하는 단계;
    상기 병합할 행의 방향 특징을 추출하고, 상기 방향 특징을 이용하여 상기 병합할 행의 병합 방향을 결정하는 단계; 및
    상기 병합할 행과 상기 병합할 행의 병합 방향에 따라, 상기 후보 테이블 식별 결과를 조정함으로써, 타깃 테이블 식별 결과를 획득하는 단계를 포함하는 테이블 식별 방법.
  2. 제1항에 있어서,
    상기 병합 특징을 이용하여 상기 후보 테이블 식별 결과 중의 병합할 행을 결정하는 단계는,
    미리 트레이닝한 셀 병합 분류 모델과 상기 병합 특징을 이용하여, 상기 후보 테이블 식별 결과 중의 병합할 행을 결정하는 단계를 포함하는 테이블 식별 방법.
  3. 제1항에 있어서,
    상기 방향 특징을 이용하여 상기 병합할 행의 병합 방향을 결정하는 단계는,
    미리 트레이닝한 셀 병합 방향 결정 모델과 상기 방향 특징을 이용하여, 상기 병합할 행의 병합 방향을 결정하는 단계를 포함하고, 상기 병합 방향은 아래행으로의 병합과 윗행으로의 병합을 포함하는 테이블 식별 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 병합 특징은,
    상기 후보 테이블 식별 결과 중 각 행의 유효 열의 개수와 상기 후보 테이블 식별 결과 중 최대 유효 열의 개수의 차이, 상기 후보 테이블 식별 결과 중의 각 행과 상기 후보 테이블 식별 결과 중 테이블 헤더(Table Header)의 상대 위치 관계, 상기 후보 테이블 식별 결과 중 각 행의 문자 영역이 기설정된 구분 기호(separator)을 포함하는지 여부 및 상기 후보 테이블 식별 결과 중 각 행의 문자 영역이 수치형 데이터를 포함하는지 여부 중 적어도 하나를 포함하고,
    상기 방향 특징은,
    상기 병합할 행이 사이드 테이블 헤더를 포함하는지 여부, 상기 병합할 행이 사이드 테이블 헤더만 포함하는 것인지 여부, 상기 병합할 행의 문자 영역이 수치형 데이터를 포함하는지 여부, 상기 병합할 행으로부터 이에 인접한 윗행 아래변 사이의 거리와 상기 병합할 행으로부터 이에 인접한 아래행 윗변 사이의 거리의 비, 상기 병합할 행의 문자 영역과 상기 윗행의 문자 영역 사이의 폭 차이 및 상기 병합할 행의 문자 영역과 상기 아래행의 문자 영역 사이의 폭 차이 중 적어도 하나를 포함하며,
    상기 테이블 헤더는, 상기 후보 테이블 식별 결과에서, 위치 정보에 따라 결정된 유효 열의 개수가 가장 큰 행의 첫번째 셀을 가리키는 테이블 식별 방법.
  5. 제1항에 있어서,
    상기 타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득하는 단계는,
    상기 타깃 이미지 속 테이블 테두리와 상기 타깃 이미지 속 문자 영역을 검출하는 단계; 및
    상기 테이블 테두리와 상기 문자 영역에 따라, 상기 타깃 이미지 속 테이블에 대해 그리드 구획을 진행하여, 후보 테이블 식별 결과를 획득하는 단계를 포함하는 테이블 식별 방법.
  6. 제5항에 있어서,
    상기 테이블 테두리와 상기 문자 영역에 따라, 상기 타깃 이미지 속 테이블에 대해 그리드 구획을 진행하여, 후보 테이블 식별 결과를 획득하는 단계는,
    상기 테이블 테두리와 상기 문자 영역의 위치 정보에 따라, 상기 타깃 이미지 속 테이블 중 각 행의 영역 범위를 결정하는 단계;
    상기 타깃 이미지 속 각 행에 대응되는 문자 영역의 개수에 따라, 타깃 행을 결정하는 단계;
    상기 타깃 행의 행 길이와 상기 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 상기 타깃 이미지 속 테이블 중 각 열의 영역 범위를 결정하는 단계; 및
    상기 각 행의 영역 범위와 상기 각 열의 영역 범위에 따라, 상기 타깃 이미지 속 테이블에 대해 그리드 구획을 진행하여, 후보 테이블 식별 결과를 획득하는 단계를 포함하는 테이블 식별 방법.
  7. 제6항에 있어서,
    상기 타깃 행의 행 길이와 상기 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 상기 타깃 이미지 속 테이블 중 각 열의 영역 범위를 결정하는 단계는,
    상기 타깃 행의 행 길이와 상기 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 상기 타깃 이미지 속 테이블 중 각 열의 후보 영역 범위를 결정하는 단계;
    상기 각 열의 후보 영역 범위에 따라, 문자 영역을 포함하지 않는 빈 열을 검출하는 단계; 및
    상기 빈 열의 후보 영역 범위를 두개 열의 타깃 영역에 병합시켜, 상기 타깃 이미지 속 테이블 중 각 열의 타깃 영역 범위를 획득하는 단계를 포함하고, 상기 두개 열의 타깃 영역은 상기 빈 열에 인접하고 상기 빈 열의 서로 다른 측에 각각 위치하는 열 영역을 가리키는 테이블 식별 방법.
  8. 제5항에 있어서,
    상기 타깃 이미지 속 테이블 테두리를 검출하는 단계는,
    기설정된 신경망 모델을 이용하여, 상기 타깃 이미지 속 테이블 테두리를 검출하는 단계를 포함하고, 상기 기설정된 신경망 모델은, Yolov3 네트워크 구조 상에 기설정된 개수의 콘볼루션 계층을 추가하여 구현되는 테이블 식별 방법.
  9. 제5항에 있어서,
    상기 타깃 이미지 속 테이블 테두리를 검출하는 과정에서, 상기 방법은,
    상기 타깃 이미지 속 테이블의 테이블명을 검출하는 단계를 더 포함하고,
    이에 따라, 상기 타깃 이미지 속 테이블 테두리를 검출하는 단계 이후, 상기 방법은,
    상기 테이블명의 위치 정보에 따라, 상기 테이블 테두리를 조절하는 단계를 더 포함하는 테이블 식별 방법.
  10. 테이블 식별 장치로서,
    타깃 이미지 속 테이블을 검출하여, 후보 테이블 식별 결과를 획득하는 후보 결과 결정 모듈;
    상기 후보 테이블 식별 결과의 병합 특징을 추출하고, 상기 병합 특징을 이용하여 상기 후보 테이블 식별 결과 중의 병합할 행을 결정하는 병합할 행 결정 모듈;
    상기 병합할 행의 방향 특징을 추출하고, 상기 방향 특징을 이용하여 상기 병합할 행의 병합 방향을 결정하는 병합 방향 결정 모듈; 및
    상기 병합할 행과 상기 병합할 행의 병합 방향에 따라, 상기 후보 테이블 식별 결과를 조정함으로써, 타깃 테이블 식별 결과를 획득하는 타깃 결과 결정 모듈을 포함하는 테이블 식별 장치.
  11. 제10항에 있어서,
    상기 병합할 행 결정 모듈은,
    상기 후보 테이블 식별 결과의 병합 특징을 추출하는 병합 특징 추출 유닛; 및
    미리 트레이닝한 셀 병합 분류 모델과 상기 병합 특징을 이용하여, 상기 후보 테이블 식별 결과 중의 병합할 행을 결정하는 병합할 행 결정 유닛을 포함하는 테이블 식별 장치.
  12. 제10항에 있어서,
    상기 병합 방향 결정 모듈은,
    상기 병합할 행의 방향 특징을 추출하는 방향 특징 추출 유닛; 및
    미리 트레이닝한 셀 병합 방향 결정 모델과 상기 방향 특징을 이용하여, 상기 병합할 행의 병합 방향을 결정하는 병합 방향 결정 유닛을 포함하고, 상기 병합 방향은 아래행으로의 병합과 윗행으로의 병합을 포함하는 테이블 식별 장치.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 병합 특징은,
    상기 후보 테이블 식별 결과 중 각 행의 유효 열의 개수와 상기 후보 테이블 식별 결과 중 최대 유효 열의 개수의 차이, 상기 후보 테이블 식별 결과 중의 각 행과 상기 후보 테이블 식별 결과 중 테이블 헤더의 상대 위치 관계, 상기 후보 테이블 식별 결과 중 각 행의 문자 영역이 기설정된 구분 기호를 포함하는지 여부 및 상기 후보 테이블 식별 결과 중 각 행의 문자 영역이 수치형 데이터를 포함하는지 여부 중 적어도 하나를 포함하고,
    상기 방향 특징은,
    상기 병합할 행이 사이드 테이블 헤더를 포함하는지 여부, 상기 병합할 행이 사이드 테이블 헤더만 포함하는 것인지 여부, 상기 병합할 행의 문자 영역이 수치형 데이터를 포함하는지 여부, 상기 병합할 행으로부터 이에 인접한 윗행 아래변 사이의 거리와 상기 병합할 행으로부터 이에 인접한 아래행 윗변 사이의 거리의 비, 상기 병합할 행의 문자 영역과 상기 윗행의 문자 영역 사이의 폭 차이 및 상기 병합할 행의 문자 영역과 상기 아래행의 문자 영역 사이의 폭 차이 중 적어도 하나를 포함하며,
    상기 테이블 헤더는, 상기 후보 테이블 식별 결과에서, 위치 정보에 따라 결정된 유효 열의 개수가 가장 큰 행의 첫번째 셀을 가리키는 테이블 식별 장치.
  14. 제10항에 있어서,
    상기 후보 결과 결정 모듈은,
    상기 타깃 이미지 속 테이블 테두리와 상기 타깃 이미지 속 문자 영역을 검출하는 테두리와 문자 검출 유닛; 및
    상기 테이블 테두리와 상기 문자 영역에 따라, 상기 타깃 이미지 속 테이블에 대해 그리드 구획을 진행하여, 후보 테이블 식별 결과를 획득하는 후보 결과 결정 유닛을 포함하는 테이블 식별 장치.
  15. 제14항에 있어서,
    상기 후보 결과 결정 유닛은,
    상기 테이블 테두리와 상기 문자 영역의 위치 정보에 따라, 상기 타깃 이미지 속 테이블 중 각 행의 영역 범위를 결정하는 행 영역 결정 서브 유닛;
    상기 타깃 이미지 속 각 행에 대응되는 문자 영역의 개수에 따라, 타깃 행을 결정하는 타깃 행 결정 서브 유닛;
    상기 타깃 행의 행 길이와 상기 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 상기 타깃 이미지 속 테이블 중 각 열의 영역 범위를 결정하는 열 영역 결정 서브 유닛; 및
    상기 각 행의 영역 범위와 상기 각 열의 영역 범위에 따라, 상기 타깃 이미지 속 테이블에 대해 그리드 구획을 진행하여, 후보 테이블 식별 결과를 획득하는 그리드 구획 서브 유닛을 포함하는 테이블 식별 장치.
  16. 제15항에 있어서,
    상기 열 영역 결정 서브 유닛은,
    상기 타깃 행의 행 길이와 상기 타깃 이미지 속 테이블 행 방향의 문자 영역에 따라, 상기 타깃 이미지 속 테이블 중 각 열의 후보 영역 범위를 결정하는 후보 영역 결정 서브 유닛;
    상기 각 열의 후보 영역 범위에 따라, 문자 영역을 포함하지 않는 빈 열을 검출하는 빈 열 검출 서브 유닛; 및
    상기 빈 열의 후보 영역 범위를 두개 열의 타깃 영역에 병합시켜, 상기 타깃 이미지 속 테이블 중 각 열의 타깃 영역 범위를 획득하는 타깃 영역 결정 서브 유닛을 포함하고, 상기 두개 열의 타깃 영역은 상기 빈 열에 인접하고 상기 빈 열의 서로 다른 측에 각각 위치하는 열 영역을 가리키는 테이블 식별 장치.
  17. 제14항에 있어서,
    상기 테두리와 문자 검출 유닛은,
    상기 타깃 이미지 속 테이블 테두리를 검출하는 테이블 테두리 검출 서브 유닛; 및
    상기 타깃 이미지 속 문자 영역을 검출하는 문자 영역 검출 서브 유닛을 포함하고,
    상기 테이블 테두리 검출 서브 유닛은 구체적으로,
    기설정된 신경망 모델을 이용하여, 상기 타깃 이미지 속 테이블 테두리를 검출하며, 상기 기설정된 신경망 모델은, Yolov3 네트워크 구조 상에 기설정된 개수의 콘볼루션 계층을 추가하여 구현되는 테이블 식별 장치.
  18. 제14항에 있어서
    상기 후보 결과 결정 모듈은,
    상기 타깃 이미지 속 테이블의 테이블명을 검출하는 테이블명 검출 유닛; 및
    상기 테두리와 문자 검출 유닛에 의해 상기 타깃 이미지 속 테이블 테두리를 검출한 이후, 상기 테이블명의 위치 정보에 따라, 상기 테이블 테두리를 조절하는 테두리 조절 유닛을 더 포함하는 테이블 식별 장치.
  19. 전자 기기로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 통신 연결되는 메모리를 포함하고,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령어가 저장되고, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서가 제1항에 따른 테이블 식별 방법을 수행할 수 있도록 하는 전자 기기.
  20. 컴퓨터 명령어가 저장된 비일시적 컴퓨터 판독 가능한 저장 매체로서,
    상기 컴퓨터 명령어는 상기 컴퓨터가 제1항에 따른 테이블 식별 방법을 수행하도록 하는 비일시적 컴퓨터 판독 가능한 저장 매체.
  21. 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은 프로세서에 의해 실행될 경우 제1항에 따른 테이블 식별 방법을 수행하는 컴퓨터 프로그램.
KR1020210042119A 2020-06-05 2021-03-31 테이블 식별 방법, 장치, 기기, 매체 및 컴퓨터 프로그램 KR102609341B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010508011.6 2020-06-05
CN202010508011.6A CN111695553B (zh) 2020-06-05 2020-06-05 表格识别方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
KR20210042864A true KR20210042864A (ko) 2021-04-20
KR102609341B1 KR102609341B1 (ko) 2023-12-01

Family

ID=72479619

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210042119A KR102609341B1 (ko) 2020-06-05 2021-03-31 테이블 식별 방법, 장치, 기기, 매체 및 컴퓨터 프로그램

Country Status (5)

Country Link
US (1) US11636699B2 (ko)
EP (1) EP3822851A3 (ko)
JP (1) JP7299939B2 (ko)
KR (1) KR102609341B1 (ko)
CN (1) CN111695553B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102342580B1 (ko) * 2021-07-16 2021-12-24 주식회사 애자일소다 딥러닝 알고리즘을 이용한 정형 데이터 처리 장치 및 방법
KR20220146209A (ko) * 2021-04-23 2022-11-01 주식회사 티맥스에이아이 이미지 기반 테이블 경계선 생성 방법
KR20220149028A (ko) * 2021-04-30 2022-11-08 주식회사 티맥스에이아이 이미지 기반 테이블 정보 생성 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112417831A (zh) * 2020-11-23 2021-02-26 中国建设银行股份有限公司 表格合并方法和装置
CN112183511A (zh) * 2020-12-01 2021-01-05 江西博微新技术有限公司 一种图像导出表格的方法、系统、存储介质及设备
CN112632934B (zh) * 2020-12-22 2023-01-17 上海精密计量测试研究所 基于比例计算还原表格图片为可编辑的word文件表格的方法
CN112861865B (zh) * 2021-01-29 2024-03-29 国网内蒙古东部电力有限公司 一种基于ocr技术的辅助审计方法
CN113177397B (zh) * 2021-04-21 2023-03-28 平安消费金融有限公司 表格的调整方法、装置、设备以及存储介质
CN113033170B (zh) * 2021-04-23 2023-08-04 中国平安人寿保险股份有限公司 表格标准化处理方法、装置、设备及存储介质
CN113221519B (zh) * 2021-05-18 2024-03-29 北京百度网讯科技有限公司 用于处理表格数据的方法、装置、设备、介质和产品
CN113158987B (zh) * 2021-05-19 2022-07-05 中国科学技术信息研究所 表格处理方法、装置、设备及计算机可读存储介质
CN113936286A (zh) * 2021-11-29 2022-01-14 中国平安人寿保险股份有限公司 图像文本识别方法、装置、计算机设备及存储介质
CN115273111B (zh) * 2022-06-27 2023-04-18 北京互时科技股份有限公司 一种无模板识别图纸材料表的装置
CN116311301A (zh) * 2023-02-17 2023-06-23 北京感易智能科技有限公司 无线表格识别方法及系统
CN116071771A (zh) * 2023-03-24 2023-05-05 南京燧坤智能科技有限公司 表格重构方法、装置、非易失性存储介质及电子设备
CN116127928B (zh) * 2023-04-17 2023-07-07 广东粤港澳大湾区国家纳米科技创新研究院 表格数据识别方法、装置、存储介质及计算机设备
CN117195846B (zh) * 2023-11-07 2024-03-01 江西五十铃汽车有限公司 一种专家表管理方法、系统、存储介质及设备
CN117217172B (zh) * 2023-11-09 2024-04-23 金蝶征信有限公司 表格信息获取方法、装置、计算机设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190340240A1 (en) 2018-05-03 2019-11-07 Microsoft Technology Licensing, Llc Automated extraction of unstructured tables and semantic information from arbitrary documents

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0602955B1 (en) * 1992-12-17 2000-12-27 Xerox Corporation Text recognition
JP3607753B2 (ja) * 1995-07-31 2005-01-05 株式会社リコー 文書画像の領域分割方法および装置、並びに段組種類判別方法および装置
JPH10307888A (ja) 1997-05-09 1998-11-17 Ricoh Co Ltd 表処理方法、装置および記録媒体
JP3435375B2 (ja) * 1999-10-12 2003-08-11 沖電気工業株式会社 文字認識方法および装置
JP4973063B2 (ja) * 2006-08-14 2012-07-11 富士通株式会社 表データ処理方法及び装置
US8121412B2 (en) 2008-06-06 2012-02-21 Microsoft Corporation Recognition of tabular structures
JP5318742B2 (ja) 2009-12-14 2013-10-16 富士通フロンテック株式会社 文字認識方法、文字認識装置および文字認識プログラム
CN103577817B (zh) * 2012-07-24 2017-03-01 阿里巴巴集团控股有限公司 表单识别方法与装置
US9858476B1 (en) * 2016-06-30 2018-01-02 Konica Minolta Laboratory U.S.A., Inc. Method for recognizing table, flowchart and text in document images
CN108446264B (zh) * 2018-03-26 2022-02-15 阿博茨德(北京)科技有限公司 Pdf文档中的表格矢量解析方法及装置
US11200413B2 (en) * 2018-07-31 2021-12-14 International Business Machines Corporation Table recognition in portable document format documents
JP7289658B2 (ja) 2018-09-07 2023-06-12 株式会社フジクラ 分類装置、分類方法、分類プログラム、及び検査装置
CN110163198B (zh) * 2018-09-27 2022-03-08 腾讯科技(深圳)有限公司 一种表格识别重建方法、装置和存储介质
CN109934181A (zh) * 2019-03-18 2019-06-25 北京海益同展信息科技有限公司 文本识别方法、装置、设备和计算机可读介质
CN110334585B (zh) * 2019-05-22 2023-10-24 平安科技(深圳)有限公司 表格识别方法、装置、计算机设备和存储介质
CN110390269B (zh) * 2019-06-26 2023-08-01 平安科技(深圳)有限公司 Pdf文档表格提取方法、装置、设备及计算机可读存储介质
CN110502985B (zh) * 2019-07-11 2022-06-07 新华三大数据技术有限公司 表格识别方法、装置及表格识别设备
CN110532968B (zh) * 2019-09-02 2023-05-23 苏州美能华智能科技有限公司 表格识别方法、装置和存储介质
CN111062259B (zh) * 2019-11-25 2023-08-25 泰康保险集团股份有限公司 表格识别方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190340240A1 (en) 2018-05-03 2019-11-07 Microsoft Technology Licensing, Llc Automated extraction of unstructured tables and semantic information from arbitrary documents

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220146209A (ko) * 2021-04-23 2022-11-01 주식회사 티맥스에이아이 이미지 기반 테이블 경계선 생성 방법
KR20220149028A (ko) * 2021-04-30 2022-11-08 주식회사 티맥스에이아이 이미지 기반 테이블 정보 생성 방법
KR102342580B1 (ko) * 2021-07-16 2021-12-24 주식회사 애자일소다 딥러닝 알고리즘을 이용한 정형 데이터 처리 장치 및 방법

Also Published As

Publication number Publication date
JP7299939B2 (ja) 2023-06-28
JP2021193549A (ja) 2021-12-23
CN111695553B (zh) 2023-09-08
KR102609341B1 (ko) 2023-12-01
US11636699B2 (en) 2023-04-25
EP3822851A3 (en) 2021-10-20
CN111695553A (zh) 2020-09-22
US20210383105A1 (en) 2021-12-09
EP3822851A2 (en) 2021-05-19

Similar Documents

Publication Publication Date Title
KR102609341B1 (ko) 테이블 식별 방법, 장치, 기기, 매체 및 컴퓨터 프로그램
US11694461B2 (en) Optical character recognition method and apparatus, electronic device and storage medium
US9697193B2 (en) Associating captured image data with a spreadsheet
KR102275413B1 (ko) 플로우 문서를 생성하기 위한 이미지 문서 컴포넌트 검출 및 추출 기법
KR20220013298A (ko) 문자 인식 방법 및 장치
US11861919B2 (en) Text recognition method and device, and electronic device
US20140297276A1 (en) Editing apparatus, editing method, and computer program product
EP3852007B1 (en) Method, apparatus, electronic device, readable storage medium and program for classifying video
KR20210090576A (ko) 품질을 관리하는 방법, 장치, 기기, 저장매체 및 프로그램
CN112541332B (zh) 表单信息抽取方法、装置、电子设备及存储介质
US11462039B2 (en) Method, device, and storage medium for obtaining document layout
KR20210132622A (ko) 데이터 처리 방법, 장치, 전자 설비 및 저장매체
CN114429633A (zh) 文本识别方法、模型的训练方法、装置、电子设备及介质
US9256592B1 (en) System for detecting and correcting broken words
CN113626441A (zh) 基于扫描设备的文本管理方法、装置、设备以及存储介质
KR20210042272A (ko) 지능형 응답 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램
CN113762455A (zh) 检测模型训练方法、单字检测方法、装置、设备及介质
CN114663902B (zh) 文档图像处理方法、装置、设备和介质
CN114120305B (zh) 文本分类模型的训练方法、文本内容的识别方法及装置
CN113887394A (zh) 一种图像处理方法、装置、设备及存储介质
CN112558810A (zh) 检测指尖位置的方法、装置、设备和存储介质
JP2006031129A (ja) 文書処理手法及び文書処理装置
CN116416639A (zh) 表格结构解析方法、装置、电子设备和存储介质
CN117435194A (zh) 交互界面生成方法、装置、电子设备及介质
CN116229490A (zh) 一种图神经网络的版面分析方法、装置、设备及介质

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