1. Data Collection
1.1 OCR 학습 및 평가 데이터는 어디에서 오나요?
2. Public Dataset
1) 서비스향 AI 모델 개발 시 한시라도 빨리 답을 가지고 있어야 하는 질문들
- 몇 장을 학습을 시키면 어느 정도 성능이 나오는가?
- 어떤 경우가 일반적이고 어떤 경우가 희귀 케이스인가?
- 현재 최신 모델의 한계는 무엇인가?
-> 이런 질문들은 바로 말해주어야하는데 이를 해결하기 위해
공개되어 있는 데이터셋으로 공개되어 있는 최신 모델을 학습시켜 성능을 분석한다!
2) 검색 방법
- 대회
- Kaggle: OCR 관련 대회 존재
- RRC(Robust Reading Challenges): 2년마다 열리는 OCR 전문 대회
- 논문
- OCR 데이터셋 논문
- Arixv (ai 모든 논문), cvpr, iccv, aaai, icdar (OCR전문 학회)
- 전문 사이트
- Google Datasearch (데이터 전용 검색 플랫폼)
- Zenodo.org
- Datatang(데이터유료구매)
3) OCR용어
4) ICDAR Data set
시간이 지남에 따라 문제도 더 어려워지고, 데이터셋도 더 어려워짐
2.1 ICDAR 15 : Incidental Scene Text Dataset
- ICDAR 15는 가장 많이 사용됨
Incidental Scene Text: 풍경 이미지 속에 우연히 글자가 잡힌 경우
- 총 1500장의 이미지와 그에 해당하는 ground truth (GT) text file
- train 1000장, test 500장
- care, don’t care로 구분하여 전사
- care: 검출할 영역. 라틴문자
- don’t care: 검출하지 않을 영역. 육안상 알아보기 힘든 글자, 라틴문자가 아닌 글자 (한자 등)
2.2 ICDAR 17 : Multi-Lingual SceneText Dataset
MLT로 많이 알려져있음
- Multilingual
- 9가지 언어: Chinese, Japanese, Korean, English, French, Arabic, Italian, German and Indian
- 6가지 문자: "Arabic", "Latin", "Chinese", "Japanese", "Korean", "Bangla" + “symbols”, “mixed”
- 총 18000장
- Train 9000 (각 언어별 1000장), test 9000
- Focused (Intentional) Scene Text
- 우연히 찍힌 글자가 아닌, 글자 영역을 위주로 촬영된 이미지
- 길거리 표지판, 광고판, 가게 간판, 지나가는 자동차 및 웹 microblog에 올라간 유저 사진 등
- gt파일 형식은 ICDAR 2015와 유사
2.3 Recent Datasets
1) ICDAR 2019
- ArT (Arbitrary shaped Text)라고도불림
- 굴곡져있는 텍스트도 포함 (난이도가올랐음)
- 기존에 존재하던 Total-Text, SCUT-CTW1500, Baidu Curved Scene Text 에 추가로 데이터를 수집 (3055장 + 7011장)
- train: 5603장 , test: 4563장
- horizontal, multi-oriented, curved 등 다양한 형태 포함
2.4 AI Hub 야외 실제 촬영 한글 이미지
AIHub에 많은 데이터셋이 있다 (한자도있음)
- 일상에서 접할 수 있는 다양한 한글 이미지를 촬영한 text-in-the-wild 이미지 데이터
- 간판, 메뉴판, 책표지, 상품명 등을 촬영한 Focused Scene Text
- 총 약 50만 건
- 1600*1200 해상도의 한글 이미지
- 그 이미지와 1:1 쌍을 이루는 JSON 파일
- 특징
- 이미지에 단어가 여러 개 있는 경우 글자 영역은 전체를 라벨링하되 transcription은 가장 잘 보이는 한글 위주로 최대 3개까지만 라벨링 작업을 실시함
- 단어 기준 10자 이하만 transcription 라벨링
- 인식대상을 제외한 한글의 경우 BBOX를 그린 후 don’t care처리(xxx 표기) 함
문제점
- 각각의 Public dataset마다 annotation format이 다르다.
3. UFO(Upstage Format for OCR)
3.1 UFO가 무엇인가요?
1) UFO의 목적
- 각각의 Public Dataset의 파일 형식(json, txt, xml, csv 등)을 하나로 통합함
- Detector, Recognizer, Parser 등 서로 다른 모듈에서 모두 쉽게 사용할 수 있어야 함
- 모델 개선을 위해 필요한 case에 대한 정보를 데이터에 포함 시킬 수 있음
- 예: 이미지 단위의 특징 (손글씨, blur 등), 글자 영역 단위의 특징 (가려짐, 글자 진행 방향 등)
2) UFO 포맷의 특징
- json 파일 안에서 element 탐색이 쉽게 Graph Structure을 기반으로 만들어졌음
- 하나의 이미지 내의 정보는 모두 parallel하게 존재함
3.2 UFO 포맷 자세히 알아보기
1) Dataset 레벨
- 한 데이터셋 내의 모든 이미지들에 관해 하나의 ufo 형식의 Json파일을 만든다.
{
images:{
"lucy_business.png": {},
”image_002.jpg": {},
"image_003.jpg": {},
"image_004.jpg": {}, ...
}
}
2) Image 레벨
- 각 이미지 별로 아래와 같은 정보가 담겨있다.
- paragraphs
- words
- characters
- image width
- image height
- image tag
- annotation log
- license tag
- 각각의 정보는 위계를 가지지 않고, parallel하게 존재한다.
3) 공통 요소
- Ids: paragraph, image, character 레벨 각각에서 모두 id 넘버를 매김 (순서는 의미 없음)
- points: 각 라벨의 위치 좌표. 글자를 읽는 방향의 왼쪽 위에서부터 시계방향으로 x, y좌표를 nested list 형태로 기록함 - 4points의 bbox가 기본적이나, 6, 8 등 2n 개의 points로 이루어진 polygon도 가능하다.
- [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]
- language: 사용된 언어
- “en”, “ko", “others”, [“en”, “ko”] …
- tags: 성능에 영향을 주지만 별도로 기록하기 애매한 요소를 사전에 정의한 태그로 표시
- 이미지 레벨의 image tag, 단어 레벨의 word tag
- confidence: ocr 모델이 예측한 pseudo-label의 경우 confidence score를 함께 표시
4) Annotation log, License Tag
- Annotation log: 이슈 추적을 위한 정보 기록
- Worker: 서버 내 로그인 아이디
- Timestamp: 해당 파일이 만들어진 날짜와 시간
- Tool_version: 작업자별 tool 정보
- License tag: 라이센스 정보
- Usability: 데이터 사용 가능 여부
- public: public dataset 여부
- commercial: 상업적으로 사용 가능 여부
- type: 라이센스의 구체적 종류
- holder: 원본 데이터셋의 소유자
4. Challenge Dataset!
4.1 챌린지 테스트셋 소개
- 데이터 source:
- 네이버 및 구글에서 크롤링된 데이터 (크롤링 키워드: 간판, 광고판, 손글씨, 화환, 버스노선도 등)
- 상업적 활용 가능한 license
- 데이터 annotation 방식:
- Ufo포맷 사용
- Image, word 레벨 정보만 태깅되어 있음
TIPS
- detector 학습을 위한 영어 및 한국어 public dataset이 많이 있으니 이를 잘 활용하는 것이 좋다.
- 학습 목적에 맞는 데이터를 잘 선택하여 학습시키면 좋다.
- 다양한 형태의 데이터셋을 통합하기 위해 UFO처럼 하나의 통일된 포맷을 만드는 것이 실험에 편리하다.
'부스트캠프 AI Tech 2기 > 2기 CV 데이터제작' 카테고리의 다른 글
성능 평가 방식 (0) | 2021.11.14 |
---|---|
Annotation Guide (0) | 2021.11.09 |
Text Detection 소개 (0) | 2021.11.09 |
데이터 제작의 중요성 2 (0) | 2021.11.09 |
데이터 제작의 중요성 I (0) | 2021.11.09 |