일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- wandb
- DeepLearning
- 완전탐색
- 코딩테스트
- Kubernetes
- 프로그래머스
- Kaggle
- FDS
- docker
- python
- PytorchLightning
- vscode
- 백준
- datascience
- 알고리즘
- GIT
- Matplotlib
- rnn
- github
- leetcode
- GCP
- pytorch
- FastAPI
- torchserve
- autoencoder
- 네이버AItech
- NLP
- pep8
- NaverAItech
- GitHub Action
- Today
- Total
Sangmun
ICDAR2019 Competition on Scanned Receipt OCR and Information Extraction 본문
https://arxiv.org/abs/2103.10213
Introduction
SROIE는 Scanned receipts OCR and key information extraction (SROIE)라는 뜻으로 영수증의 내용을 OCR 기반의 기술을 인식하고 그 중에서 중요한 key 정보들만을 추출해내는 task이다. 해당 태스크는 산업에 광범위하게 응용될 수 있어 많은 잠재력을 가졌으나 정확도가 매우 중요한 task의 특성상 아직은 해결해야될 부분이 많은 task이다.
또한 본 논문의 저자들은 receipt OCR과 그에 따른 key information으로 이어지는 task에 대해서는 그동안 연구되었던 것이 적었던것을 지적하며 관련 분야에 관심을 불러일으키기 위해 ICDAR 2019 competition on SROIE을 개최하였다고 한다.
SROIE의 task는 3가지로 이루어지며 아래에 상세하기 기술하겠지만 Scanned Receipt Text Localisation, Scanned Receipt OCR, Key Information Extraction from Scanned Receipts로 이루어져 있으며 2개의 task에 대해서는 새로운 통합적인 평가 metric을 제안하였다.
또한 dataset도 새롭게 제안하였으며 그동안의 OCR dataset과의 차이점은 영수증 데이터라는 특성을 반역하기 위하여 영수증 이미지의 낮은 퀄리티, 잉크와 프린팅이 제대로 되지 않는 특성을 반영하여 데이터셋을 제공한다.
Dataset and Annotiontions
데이터셋은 총 1000개로 이루어져 있으며 trainval이 600개 test가 400개로 구성되어 있다. 각각의 영수증 이미지는 대략 4개의 중요 텍스트 필드를 가지고 있으며 text anntation들은 영어와 숫자로만 구성되어있다.
receipt detection과 OCR task를 위해서 각각의 text box마다 bounding box(bbox)와 transcript로 이루어져 있으며 좌표 정보는 맨위부터 시작해서 시계방향으로 구성되어 있다.
Information extraction task를 위해서는 각각의 이미지의 중요정보는 아래의 format형태로 저장이 되어있다.(Fig.1(b))
Competition Tasks
Task 1 - Scanned Receipt Text Localisation
영수증에서 text를 4개의 축을 기반으로 찾아 인식하는 task로 text레벨로 인식을 한다.
평가는 mean average precision(mAP), average recall이 사용되었으며 f1으로 등수를 계산한다.
Task2 - Scanned Receipt OCR
두번째 task는 영수증 이미지에서 text를 정확하게 인식하는 것으로 위치정보는 필요가 없다. 본 task의 ground truth는 transcription에서 나타나는 글자 전부이다.
평가는 ground truth에서 나타나는 단어 전체이며 만약 ground truth에서 어떠한 단어가 반복이 된다면 예측값에서 해당 단어가 반복되어야 한다. precision, recall, f1을 metric으로 사용하였다.
Task3 - Key Information Extraction from Scanned receipts
세번째 task는 추출된 text에서 key information만을 추출하는 것으로 추출된 정보는 json파일로 저장하여 제출한다.
평가방법은 제출된 text와 text의 카테고리가 ground truth와 정확히 일치해야하며 그렇지 않으면 정답으로 인식이 되지 않는다. 평가 metric으로는 mAP, F1이 사용되었다.
Discussion
위의 task와 dataset에 따라 대회가 진행되었고 많은팀이 제출을 해주었으나 본 포스팅을 쓰는 시점에는 다소 트렌드가 지난 모델들이라 따로 기술은 하지 않을 예정이다.
전체적으로 task1과 task2에 해당하는 detection와 OCR의 결과는 매우 우수하였으며 task1에서 16개의 팀이 90%이상의 Hmean을 얻었으며 task2에서는 7개의 팀이 90%이상의 Hmean을 획득하였다. 하지만 영수증 인식이라는 task의 관점에서 보면 99%의 정확도가 요구됨으로 아직은 해결해야 할 부분이 남았음을 알 수 있다.
Task 3의 key information extraction의 결과를 보면 오직 한가지의 솔루션이 90% 이상의 Hmean을 획득하였고 대부분은 80%대의 점수를 얻었다. 따라서 Task 3에 대해서도 역시 해결해야 할 부분이 많이 있음을 확인할 수 있었다.
Conclusion
결론적으로 본 논문의 저자들은 해당 대회를 개최함으로서 SROIE라는 task에 대해서 새롭게 정의를 하고 관심을 불러일으키는데는 성공했으며 어느 정도 성능이 보장되는 솔루션들을 확인하였다. 하지만 아직은 요구되는 성능과는 큰 차이가 있는것을 확인하였으면 추후 연구를 통하여 해결해야 되는 부분을 확인하였다.