OCR 모델을 이용하여 약국이나 편의점에서 살 수 있는 일반의약품의 상품명을 인식해보는 과정을 담아보는 글.
OCR 데이터셋은 어떻게 생겼을까?
앞서 언급한 OCR 대회를 주최하는 ICDAR 학회에서 제공하는 데이터셋들을 둘러보자. 대회 Task별로 데이터셋의 형태는 다양하다. 내가 그중에서 찾고자 하는 것은 Text Recognition Task의 데이터셋이다. 2015년에 열린 ICDAR IC(Incidental Scene Text) 대회의 Task 4.3 Word Recognition을 한 번 보자.
IC15 Dataset(Task 4.3)
보통 Text Recognition의 데이터셋은 단어가 잘린(cropped)형태로 이미지 데이터와 이미지 파일 이름과 매칭 되는 단어 정답('gt.txt') 형태로 존재한다. 왜냐하면 Text Detection모델이 영상에서 검출된 단어들을 위와 같이 bounding box 형태로 알려준다. 따라서 저 형태 그대로 Text Recognition모델의 input으로 들어가 학습을 시키면 편리하기 때문이다.
한글 데이터셋
ICDAR 학회는 국제 학회이며 많이 쓰는 영어를 기반으로 데이터셋을 만들기 때문에 나의 문제를 해결하기 위해서는 한글 데이터셋이 필요하다. 공개되어있는 Text Recognition 모델들의 github 저장소를 보게 되면 한국어를 학습한 모델이 없어 쉽게 가져다 쓸 수 없다. 이를 위해 공개적으로 제공하는 대량의 한글 이미지 데이터셋이 필요하며 마침 AI hub에서 이를 제공하고 있다.
AI Hub
정부에서 주관하는 사이트로 인공지능 관련하여 경진대회나 연구과제 공고, 학습에 필요한 데이터셋 등을 공개하고 생각보다 유용한 자료들이 있다.
[한국어 글자체 AI 이미지 데이터] - Korean Font Image AI Training Dataset
AI Hub에서 제공하는 한글 이미지 데이터는 손글씨, 인쇄체, Text in the Wild(실제 생활 속 한글 이미지)로 세가지 종류가 있다. 다양한 종류의 한글 이미지를 제공하고 있기 때문에 사용하고자 하는 목적에 맞게 데이터를 선택할 수 있다. 나는 약 봉투 또는 일반 약 포장지 속 한글을 인식하고 싶기 때문에 인쇄체나 Text in the Wild 데이터가 필요하다. 그중에서 나는 일단 'Text in the Wild'데이터를 이용해 학습해보기로 했다.
Text in the Wild
Text in the Wild 데이터는 세부적으로 책(Book), 상품(Goods), 간판(Signboard), 교통 표지판(Traffic Sign) 4 종류의 이미지로 10만장의 파일이 존재한다. 그중 책과 상품 이미지를 다운로드하여 봤는데 각각 16,333장과 37,200장으로 구성되어 있었다. 하나의 이미지 안에 태깅되어 있는 단어는 더 많을 테니까 일단 상품 이미지들로 학습하기로 하였다. 근데... 태깅 데이터인 '데이터 정보'는 네 종류의 이미지 데이터를 다 포함하는 하나의 json 파일이라 262MB의 크기를 갖고 있어 윈도우 환경에서 단순히 더블 클릭으로 열었다가는 멘붕의 상황이 올 것이다 😂
다음 글에서 다룰 내용
다음 글에서는 다운받은 데이터를 코드상에서 확인해보고 학습을 위한 전처리 과정을 수행하는 부분에 대해 다룰 예정이다.
'Deep Learning > OCR' 카테고리의 다른 글
[#05] Text Recognition Model 학습하기(deep-text-recognition-benchmark) (8) | 2021.04.12 |
---|---|
[#04] AI Hub 한국어 글자체 AI 이미지 데이터 전처리 (11) | 2021.03.31 |
[#02] 내가 찾은 모델 CRAFT, deep-text-recognition-benchmark (1) | 2021.03.29 |
[#01] OCR 모델 조사 (0) | 2021.03.29 |
[#00] OCR? 딥러닝을 이용해 문자 인식하기 - 개념 정리 (0) | 2021.03.23 |