DOI QR코드

DOI QR Code

Structure Recognition Method in Various Table Types for Document Processing Automation

문서 처리 자동화를 위한 다양한 표 유형에서 표 구조 인식 방법

  • Lee, Dong-Seok (AI Grand ICT Research Center, Dong-Eui University) ;
  • Kwon, Soon-Kak (Dept. of Computer Software Engineering, Dongeui University)
  • Received : 2022.05.21
  • Accepted : 2022.05.31
  • Published : 2022.05.31

Abstract

In this paper, we propose the method of a table structure recognition in various table types for document processing automation. A table with items surrounded by ruled lines are analyzed by detecting horizontal and vertical lines for recognizing the table structure. In case of a table with items separated by spaces, the table structure are recognized by analyzing the arrangement of row items. After recognizing the table structure, the areas of the table items are input into OCR engine and the character recognition result output to a text file in a structured format such as CSV or JSON. In simulation results, the average accuracy of table item recognition is about 94%.

Keywords

1. 서 론

디지털 시대로의 돌입으로 인해 문서 기반의 업무를 자동화하는 문서 처리 자동화 솔루션이 증가하고 있다.기존 문서 처리에서는 사람이 인쇄된 문서 또는 이미지 파일 형태의 문서를 직접 보고 수작업을 통해 시스템에 입력한다. 이때 내용을 다른 항목에 잘못 입력하거나, 타이핑 실수 등으로 잘못된 내용이 입력되어 시간적, 금전적 손해가 발생할 수 있다. 문서 처리 자동화는 사람이 직접 서류를 보는 대신 광학 문자 인식(OCR, Opticalcharacterrecognition)을통해 이미지화된 문서에서 글자들을 인식하고, 해당 문자들을 자동으로 디지털 시스템에 입력한다. 문서처리 자동화를 통해 해당 업무를 수행하는 직원들의 피로를 경감할 수 있고, 사람이 직접 문서를 처리할 때 발생하는 실수를 경감시켜 업무 효율을 증대시킬 수 있다.

최근 OCR분야는 딥러닝 알고리즘이 적용됨으로써[1-3] 인식 정확도가 대폭 개선되었다. 하지만 문서 이미지에 OCR만 적용할 경우 문자는 잘 인식되지만, 문서의 구조를 고려하지 않아 실제 문서 처리 자동화에 적용이 어렵다는 문제가 있다. 특히 업무에서 많이 쓰이는 표가 포함된 문서는 해당 표 내부 각각의 항목에 해당 항목의 제목과 내용이 들어가 있는데, OCR을 그대로 적용한다면 이러한 항목별로 얻을 수 있는 정보들이 무시된다는 문제가 있다. 문서의 구조 또는 양식이 통일되어 있다면 항목별 고유위치를 기반으로 한 문서 처리 자동화를 고려할 수 있다.하지만 다양한 문서의 양식을 처리해야 하는 경우, 예를 들어 다양한 업체에서 발행한 인보이스문서를 처리해야 하는 경우를 생각할 수 있는데, 이 경우 각각의 문서 유형마다 항목의 위치가 다르다는 문제가 있다. 또한, 문서 유형마다 항목을 구분하는 방법도 다양한데, 이는 선으로 둘러싸인 경우, 수평선으로 행을 구분하고 열 항목은 공백으로 구분되는 경우, 제목과 내용이 하나의 박스로 구분된 경우 등의 형식이 있을 수 있다. 항목 영역을 검출하기 위해서는 이러한 각각의 경우를 고려해야 한다.

이전 연구[4]에서는 항목이 선으로 둘러싸였을 경우의 표 구조를 인식하고 문자 인식을 통해 문서 처리 자동화를 수행하는 방법을 제안하였다. 하지만 이전 연구의 방법은 항목이 선 없이 공백으로 나뉜 표에 대해 표 및 표 항목을 인식할 수 없다는 문제가 있다.본 논문에서는 다양한 표 유형에 대해서도 표구 조를 인식하는 방법을 제안한다.선으로 표 내 셀들이 둘러싸인 경우나 박스로 항목이 둘러싸인 경우는 수평선 또는 수직선을 검출하여 항목 영역을 검출한다. 공백으로 항목이 분리된 경우에는 문자의 정렬 형태를 기준으로 각 항목 영역을 검출한다. 줄 단위로 단어 또는 문장 블록을 검출하고, 줄 단위로 같은 문장의 배치가 반복되면 이를 하나의 표로 검출하고, 각각의 영역을 표 내부 항목으로 검출하는 것이다. 그 후 항목 영역별로 문자 인식을 수행하여 표 내부항목별 문자 인식 결과를 구조화된 텍스트 파일 형태로 출력한다.

2. 관련 연구

2.1 영상 내 문자 인식 기술

OCR에서는 문자 영역 검출 단계를 통해 영상에서 문자가 있는 영역을 검출한 다음, 해당 영역에 대해 문자를 인식하는 문자 인식 단계를 수행한다. 기존에는 기계학습을 통해 문자 영역 검출 및 문자 인식을 수행하였다.딥러닝 신경망이 등장한 이후, OCR에 딥러닝을 적용함으로써 문자 영역 검출 및 문자 인식성능이 크게 향상되었다. 최근에는 딥러닝을 통해 문자 영역 검출 단계와 문자 인식 단계가 통합되는 추세이다.

딥러닝 신경망을 이용한 OCR에서는 콘볼루션 신경망(CNN, Convolutionalneuralnetwork)을 통해 검출된 영상 특징으로부터 문자 영역을 인식하고, 각각의 문자를 분류한다. 한 문장 내에서 특정 문자는 앞 또는 뒤에 나타나는 문자와 연관성이 높다는 특징이 있다. 이는 문장 또는 문자 열은 일종의 시계열 데이터로써, 이를 처리하는 신경망인 순환 신경망 (RNN, Recurrentneuralnetwork), 장단기 메모리 (LSTM, Longshort-termmemory)신경망 등을 적용할 수 있다. 딥러닝을 통한 OCR에서는 이러한 특징을 사용하여 CNN과 RNN을 통해 문자를 인식한다. B.Shi[5]는 CNN을 통해 시각적 특징을 추출하고, 양방향 장단기 메모리(Bi-LSTM, Bidirectional LSTM) 구조의 신경망을 통해 문자열을 예측하였다. J.Wang[6]은 게이트 순환 유닛(GRU, Gatedre- currentunits)을 통해 문자열이 가지는 시계열 데이터의 특성을 처리함으로써 성능이 개선되었다. Z. Cheng[7]은 Attention알고리즘[8]을 적용하여 문자를 인식하였다. 이때 해당 Attention알고리즘을 통해 가중치가 올바로 책정되었는지를 평가하는 네트워크를 통해 문자 인식을 정확하게 수행한다.

문자 영역 검출 단계와 문자 인식 단계를 통합하는 연구도 이루어졌다. 이를 통해 선형으로 구성된 문자뿐만 아니라 곡선으로 이루어진 문자도 인식할 수 있다.Aster[1]는 딥러닝을 통해 선형 형태로 정렬되지 않은 문장이 포함된 이미지를 조작하여 선형으로 정렬하여 다양한 형태의 문장에 대해 문자 인식을 하였다.TextSpotter[2]는 다중 스케일의 특징을 검출하는 특징 피라미드 신경망(FPN, Feature pyr- amidnetwork)을 적용하여 다양한 크기의 문자에 대해 정확한 문자 인식을 수행할 수 있다. DocTr[3]은입력 영상에 대해 Self-Attention[8]을 통해 영상 내 문자의 형태적 왜곡 및 음영을 감지하여 수정하여 문자 인식 성능을 높였다.

2.2 표 항목 검출 방법

표 검출 및 표 내부 항목 인식 방법은 크게 수직선 및 수평선 성분 검출을 통한 방법, 문자 배치를 분석하여 표 항목을 검출하는 방법, 그리고 문서 이미지 파일의 화소 분포를 통한 딥러닝 방법으로 분류할 수 있다. 선분 검출을 통한 표 항목 검출 방법[4, 10] 은영상 처리를 통해 수직 성분과 수평 성분의 선분을 검출한 다음, 이를 통해 사각형의 항목을 검출하는 방법이다.이 방법은 구현하기가 편하고, 선분으로 둘러싸인 표 항목에 대해 정확하게 인식할 수 있다는 장점이 있지만, 공백으로 항목을 분류한 표에 대해서는 표 영역 검출이 불가능하다는 단점이 있다. 문자배치를 분석하여 항목을 검출하는 방법[11-13]은 문자 영역을 검출한 후, 해당 문자들의 정렬 형태를 분석하여 수직 방향으로 배치된 문자 영역 간 공간 폭이 유사하다면 같은 열로 간주하여 표 및 항목을 검출하는 방법이다. 해당 방법은 선분으로 둘러싸이지 않은 표 형태에 대해서도 표 및 항목을 인식할 수 있다는 장점이 있다. 하지만 다른 표를 검출하는 경우나 일부 표를 검출하지 못하는 오검출이 발생하는 경우가 있고, 문자 영역을 얻기 위해서 OCR 과정을 수행하여야 하므로 비효율적이라는 단점이 있다.T. T.Anh[14]은 선분 검출 방법과 텍스트 배치 방법을 혼합하여 표 항목을 검출하는 방법을 제안하였다.

최근 딥러닝 기술의 발달로 인해 딥러닝을 통해 표 및 표 항목을 검출하는 연구도 이루어졌다. P. Forczmański[15]는 CNN를 사용한 객체 검출을 통해 표를 검출하는 방법을 제안하였다. 우표, 로고, 텍스트 블록, 표 등의 항목을 라벨링한 문서 이미지 데이터 셋을 통해 객체 검출 신경망을 학습시켰다.S. R.Qasim[16]은 CNN과 그래프 뉴럴 네트워크(GNN, Graphneuralnetwork)가 조합된 딥러닝 신경망을 통해 표 항목을 검출한다.CNN은 시각적 특징을 추출하고, GNN은 추출된 시각적 특징을 바탕으로 그래프로 구조화하여 표 항목을 검출한다.TableNet [17]은 단일 입력 이미지에서 표 영역 검출과 열 검출 두 개의 결과를 출력한다. 해당 딥러닝 네트워크는 단일 객체 검출 모델인 VGG-19를 사용하여 객체의 시각적 특징을 추출한 후, 두 개의 디코더 구조를 통해 결과들을 출력한다.

3. 다양한 표 유형에서 표 구조 인식을 통한 문서처리 자동화

3.1 딥러닝을 통한 문서 내 표 항목 분류

Fig.1은 문서 영상에서 보이는 다양한 표 형태를 보인다.이때 Fig.1(a)는 항목들이 사각형으로 둘러싸인 형태이고, Fig.1(b)는 표 내 각각의 내용이 상자로 둘러싸인 경우, Fig.1(c)는 일부의 수평선이 보조적으로 사용되었지만, 공백과 줄 바뀜으로 항목이 분류된 경우이다.

Fig. 1. Various table types. (a) ruling lines surrounding table items, (b) boxes surrounding table item contents, and (c) items separated by spaces and line break.

Fig.1(a)-(b)의 경우를 검출하기 위해 선분 검출기반의 방법[4]을 사용한다. 먼저 Canny 알고리즘을 통해 영역 내 외곽선을 검출하고, Douglas-Peucker 알고리즘을 적용하여 외곽선을 이루는 꼭짓점을 검출한다. 연결된 하나의 외곽선에서 꼭짓점이 4개일 경우, 해당 외곽선을 표를 이루는 구분자로 검출한다. 표 전체의 외곽을 둘러싸는 사각형이 검출되는 경우를 고려하여 검출된 사각형 간 포함관계를 조사하여 2개 이상의 사각형을 포함하는 사각형은 제외한다. Fig.2은 선분 검출 기반의 항목 검출 결과를 보인다.

Fig. 2. Table item detection when items are surrounded by lines. (a) original table image, (b) detecting table contour, and (c) detecting table item areas.

공백으로 항목들이 구분된 표에 대해서는 항목 간 간격을 분석하여 표 및 항목을 분석하는 방법을 사용한다[18]. 이를 위해 먼저 실행 길이 평활 알고리즘 (RLSA, Run-lengthsmoothingalgorithm)[19]를 통해 문서 이미지를 이진화한다. 이는 문서 내 흰색 화소에 대해 만약 수직 또는 수평 방향으로 임의의 거리 l화소거리 이내에 글자를 구성하는 화소가 존재한다면 해당 화소를 255로 변환하여 이진화한다. 해당 방법을 통해 Fig.3(b)와 같이 표 영역을 그룹화할 수 있다. 그 후 그룹화된 영역의 경계상자를 계산하여 표 영역을 검출한다. 표 항목 요소들은 RLSA를 수평으로만 적용하여 Fig.3(c)와 같이 구한다. 이때경우에 따라 검출된 표가 겹치는 경우가 발생할 수도 있다.예를 들어 하나의 표에 외부 영역의 경계 상자와 내부 영역 경계 상자가 검출될 수도 있다. 이는검출된 표 경계상자 간 겹침 여부를 확인한 뒤, 겹치는 경우 두 경계 상자를 합침으로서 해결할 수 있다.

Fig. 3. Detection of table items by RLSA[18]. (a) original image, (b) table detection by RLSA in vertical and horizontal directions, and (c) items detection by RLSA in horizontal direction.

하나의 표 내부의 항목 요소들이 수직 방향으로 겹치는지 여부를 확인함으로써 같은 행에 속하는 항목 요소들을 구할 수 있다. 즉 두 항목 요소들의 경계 상자에 대해 상대적으로 상단에 있는 경계 상자를 A, 하단에 있는 경계 상자를 B라 했을 때, 아래 조건을 통해 수직 방향으로 겹치는지 여부를 확인한다. 이때 (ymin(A), ymax(A)), (ymin(B), ymax(B))는 각각 경계 상자 A, B의 수직 좌표이다.

\(y_{\min }(\mathrm{A}) \leqq y_{\max }(\mathrm{B})\)       (1)

각 열에 속하는 항목 요소들을 구하기 위해 표 내부 최상단의 요소들을 기준으로 한다. 이때 같은 열에 속하는 항목 요소들은 같은 방향으로 정렬된다는가 정을 통해 열 방향으로 항목을 검출한다. 이를 위해 위로부터 같은 행에 속하는 요소들의 개수를 센 후, 해당 요소들의 개수가 1개가 되지 않는 맨 처음의행을 해당 표의 첫 행으로 한다. 그 후 각각의 요소들에 대해 세 개의 기준점을 찍는다.이는 항목 요소의 경계 상자의 맨 왼쪽 끝과 오른쪽 끝, 그리고 중앙을 기준으로 한다.그 후 아래 행들 각각에 속한 항목요소에서 3개의 점 각각의 수평 좌표와 거리 차이가 d이하인 구성 요소를 같은 열에 속한 항목으로 Fig. 4와 같이 구한다.

Fig. 4. Finding items in same column by three points

Fig.5는 해당 방법을 통해 표 내부의 항목을 구조화한 결과를 보인다.

3.2 표 항목 문자 인식을 통한 문서처리자동화

인식 된 표 및 표 내부 항목을 토대로 문서 인식을 수행한다.이때 문서 내 표의 형태에 따라 선분 검출기반의 방법과 항목 간격 분석 방법의 결과가 다를 수 있다. 일반적으로는 항목 간격 분석 방법을 적용하여 표 항목을 인식할 경우 선분으로 둘러싸인 표도 인식이 된다. 하지만 Fig. 1(b)와 같이 상자에 항목 내용이 있는 경우에는 항목 간격 분석 방법으로 표 항목을 인식할 수 없는 한계가 있다. 이를 고려하여 표 검출 단계에서 두 개의 표 항목 검출 방법의 결과를 제시한다. 만약 하나의 방법에서 표 항목 검출이 제대로 되지 않으면 표 검출이 된 방법의 결과를 사용하지만, 두 방법에서 모두 표 항목 검출이 되었다면 사용자에게 두 결과 중 하나를 선택 할 수 있도록 한다.

표 항목 내 문자 인식은 DocTr[3]을 사용한다. 해당 엔진에 각각의 표 내부 항목 영역의 영상을 입력하여 인식 결과를 얻는다. 그 후 구해진 표 구조를 통해 쉼표와 줄 나뉨으로 항목이 구분되는 파일인 CSV포맷이나 JSON으로 출력하여 문서 처리 자동화를 수행한다. Fig. 6은 입력 표에 대한 인식 결과를 보인다.

Fig. 5. Structuring items in table.

Fig. 6. Recognition result for table image. (a) original image and (b) Character recognition result in CSV format.

4. 실험결과

본 논문에서 제안한 표 구조 인식 방법에 대해 모의실험을 수행하였다. 모의실험을 위해 선으로 항목이 둘러싸인 표가 포함된 15장의 문서 영상과 공백으로 항목이 구분되는 15장의 문서 영상, 총 30장의 문서 영상을 사용하였다[20-21].Fig.8은 모의실험에 사용한 문서 영상의 일부를 보인다.Fig.7(a)는 항목들이 선으로 둘러싸인 표이며, Fig.8(b)는 각 항목이 공백으로 분리된 표이다.

Fig. 7. Document images with table (a) table items surrounded by lines and (b) table items separated by spaces.

Fig. 8. Table item recognition results for table items surrounded by lines. (a) by detecting lines and (b) by analyzing arrangement of row.

Fig.8은 Fig.7(a)에 대해 표 항목 검출을 한 결과이다. 이때 Fig.8(a)는 선분 검출 기반의 표 항목 검출 방법을 적용한 결과로, 선분 검출 기반의 표 검출이 잘 되었음을 보인다.Fig.8(b)는 제안한 항목 간격 분석 방법을 통해 표를 인식한 결과이다. 해당 방법도 어느 정도 표 내 항목을 인식하는 모습을 보인다. 하지만 Fig.8(b)의 맨 오른쪽 경우와 같이 한 항목 내 글자 간 간격이 매우 클 경우 별개의 항목으로 오인식된 것을 보인다.

Fig.9는 Fig.7(b)에 대해 표 항목 검출을 한 결과이다. Fig.7(b)의 표 유형들은 선분 검출 기반의 방법으로는 표를 검출하지 못한다. 제안한 항목 간격 분석 방법을 통해 표를 인식한 결과 항목들이 잘 인식됨을 보인다.

Fig. 9. Table item recognition results for table items separated by spaces.

본 논문에서 제안한 표 항목 검출의 정확도를 측정한 결과는 Table1과 같다. 이때 총 353개의 항목 중 정상적으로 인식된 항목은 335개로 약 94%의 검출 적중률을 보인다.

Table 1. Accuracy of table item detection. Total

5. 결 론

본 논문에서는 표가 포함된 서류 영상에 대해 다양한 표 형태에서 표 항목을 인식하는 방법과, 이를 통한 문서 처리 자동화 방법을 제안하였다. 먼저 선분 기반 표 항목 검출 방법과 항목 구조 분석 기반 표 항목 검출 방법을 적용하여 다양한 표 형식에서 도표 항목을 검출할 수 있도록 하였다. 그 후 표 항목영역을 OCR에 입력하여 인식 결과를 구조화된 텍스트 파일 형태로 출력하였다. 제안된 방법을 통해 서류 영상의 구조를 유지한 디지털화를 수행할 수 있게 되어 문서 처리 자동화를 원활하게 수행할 수 있다. 이를 통해 서류 처리 업무 효율이 증가하고, 실수로 인한 손실을 줄일 수 있을 것이다.

References

  1. B. Shi, M. Yang, X. Wang. P. Lyu, C. Yao, and X. Bai, "ASTER: An Attentional Scene Text Recognizer with Flexible Rectification," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 41, No. 9, pp. 2035-2048, 2019. https://doi.org/10.1109/tpami.2018.2848939
  2. T. He, Z. Tian, W. Huang, C. Shen, Y. Qiao and C. Sun, "An End-to-End TextSpotter with Explicit Alignment and Attention," Proceeding of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 5020-5029, 2018.
  3. H. Feng, Y. Wang, W. Zhou, J. Deng, and H. Li, "DocTr: Document Image Transformer for Geometric Unwarping and Illumination Correction," Proceeding of ACM International Conference on Multimedia, pp. 273-281, 2021.
  4. D.S. Lee and S.K. Kwon, "Methods of Classification and Character Recognition for Table Items through Deep Learning," Journal of Korea Multimedia Society, Vol. 24, No. 5, pp. 651-658, 2021. https://doi.org/10.9717/KMMS.2020.24.5.651
  5. B. Shi, X. Bai, and C. Yao, "An End-to-End Trainable Neural Network for Image-Based Sequence Recognition and Its Application to Scene Text Recognition," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 39, No. 11, pp. 2298-2304, 2017. https://doi.org/10.1109/TPAMI.2016.2646371
  6. J. Wang and X. Hu, "Gated Recurrent Convolution Neural Network for OCR," Proceeding of International Conference on Neural Information Processing Systems, pp. 334-343, 2017.
  7. Z. Cheng, P. Bai, Y. Xu, G. Zheng, S. Pu, and S. Zhou, "Focusing Attention: Towards Accurate Text Recognition in Natural Images," Proceeding of IEEE International Conference on Computer Vision, pp. 5076-5084, 2017.
  8. D. Bahdanau, K. Cho, and Y. Bengio, "Neural Machine Translation by Jointly Learning to Align and Translate," Proceeding of International Conference on Learning Representations, pp. 1-15, 2015.
  9. A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin, "Attention is All you Need," Proceeding of Neural Information Processing Systems, pp. 5998-6008, 2017.
  10. B. Gatos, D. Danatsas, I. Pratikakis and S. J. Perantonis, "Automatic Table Detection in Document Images," Proceeding of International Conference on Advances in Pattern Recognition, pp. 612-621, 2005.
  11. F. Shafait and R. Smith, "Table Detection in Heterogenous Documents," Proceeding of International Workshop on Document Analysis Systems, pp. 65-72, 2010.
  12. T. Kasar, P. Barlas, S. Adam and C. Chatelain, "Learning to Detect Tables in Scanned Document Images Using Line Information," Proceeding of International Conference on Document Analysis and Recognition, pp. 1185-1189, 2013.
  13. S. Mandal, S.P. Chowdhury, A.K. Das, and B. Chanda, "A Simple and Effective Table Detection System from Document Images," International Journal of Document Analysis and Recognition, Vol. 8, No. 2, pp. 172-182, 2006. https://doi.org/10.1007/s10032-005-0006-5
  14. T.T. Anh, N.I. Seop, and K.S. Hyung, "A Hybrid Method for Table Detection from Document Image," Proceeding of Asian Conference on Pattern Recognition, pp. 131-135, 2015,
  15. P. Forczmanski, A. Smolinski, A. Nowosielski, and K. Malecki, "Segmentation of Scanned Documents Using Deep-learning Approach," Proceeding of International Conference on Computer Recognition Systems, pp. 141-152, 2019.
  16. S.R. Qasim, H. Mahmood, and F. Shafait, "Rethinking Table Recognition using Graph Neural Networks," Proceeding of International Conference on Document Analysis and Recognition, pp. 142-147, 2019.
  17. S.S. Paliwal, V.D.R. Rahul, M. Sharma, and L. Vig, "TableNet: Deep Learning Model for End-to-end Table Detection and Tabular Data Extraction from Scanned Document Images," Proceeding of International Conference on Document Analysis and Recognition, 2019, pp. 128-133, 2019.
  18. M.D. Ajij, S. Pratihar, D.S. Roy, and T. Hanne, "Robust Detection of Tables in Documents Using Scores from Table Cell Cores," SN Computer Science, Vol. 3, No. 161, pp. 1-19, 2022. https://doi.org/10.1007/s42979-021-00920-1
  19. K.Y. Wong, R.G. Casey, and F.M. Wahl, "Document Analysis System," IBM Journal of Research and Development, Vol. 26, No. 6, pp. 647-656, 1982. https://doi.org/10.1147/rd.266.0647
  20. M. Li, L. Cui, S. Huang, F. Wei, M. Zhou, and Z. Li, "TableBank: A Benchmark Dataset for Table Detection and Recognition," Proceeding of Conference on Language Resources and Evaluation, pp. 1918-1925, 2020.
  21. Public Administration Documents for OCR (2020), https://aihub.or.kr/aidata/30724 (accessed May 25, 2022.