10
개요 : 한글 OCR 데이터 셋이란? 인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition) 인식 성능 개선을 위한 대규모 학습데이터 구축 사업으로, 손글씨(370만자)와 인쇄체(280만자) 각각 구축하고, 실사 데이터(간판 등 실생활 글자) 10만장(이미지 기준)을 추가 구축 하였다. 1차(2019년) 구축은 한글을 중심으로 한글 글자 11,172자를 전체(실생활에 서는 사용하지 않은 글자도 일부 포함)를 대상으로 가장 기본이 되는 데이터 구 축을 하였다. 한글은 서체와 폰트의 종류가 상당히 많으며(약 3000여종 외 고서체, 타자 및 일러스트 등), 또한, AI OCR을 학습 시켜 궁극적으로 실생활과 산업현 장에서 쓰이는 문장, 글을 독해 하기 위한 것으로 한글의 가로쓰기, 세로 쓰기 및 산업 현장의 특징(서체 및 서식) 등을 고려한 학습데이터 구축으 로 지속적 축적이 되어야 한다. 이번 1차(2019) 사업은 이를 위한 가장 기초적인 데이터를 구축한 사업이 다. 이를 통해 손글씨와 인쇄체 등 AI OCR을 연구하거나, 적용하려는 산 업 분야에서는 기초적 학습 데이터로 활용 가능 할 수 있다. 무엇보다, AI OCR 인식엔진 학습 모델 및 학습 알고리즘을 선택하고 비 교, 분석 연구하기 위한 목적으로 활용할 수 있을 것으로 판단되며, 실제 산업에서 활용하기에는 학습데이터의 다양성이 더욱 확보, 축적되어야 한 다. 따라서 다양한 AI 인식 엔진 중 어떤 것이 한글에 적합한지를 연구하 거나, 선정된 엔진을 학습하기 위한 학습 모델 비교, 학습 성과 등을 분석 하기 위한 기초 데이터로 활용하는 것을 권장하고자 한다. 데이터 셋의 구성 본 데이터 셋은 일반적인 기계학습을 고려하여 학습용 글자(글자,단어, 문 장)이미지와 어노테이션(라벨링 데이터) 파일(Json)으로 데이터 셋을 구성 되어 있다. 1차 구축된 데이터 셋 손글시 370만, 인쇄체 280만자는 기존 한글 AI OCR 연구 분야에서는 없었던 최초의 대규모 학습데이터로, 기초적인 학 습 훈련과 모델 연구에 큰 도움이 될 수 있는 양이다. 특히 한글 OCR은 단순 인식이 아니라 반드시 Detection – Recognition

개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

□ 개요 : 한글 OCR 데이터 셋이란?

〇 인공지능 기반 한글 광학글자인식 (OCR, Optical Character

Recognition) 인식 성능 개선을 위한 대규모 학습데이터 구축 사업으로,

손글씨(370만자)와 인쇄체(280만자) 각각 구축하고, 실사 데이터(간판 등

실생활 글자) 10만장(이미지 기준)을 추가 구축 하였다.

〇 1차(2019년) 구축은 한글을 중심으로 한글 글자 11,172자를 전체(실생활에

서는 사용하지 않은 글자도 일부 포함)를 대상으로 가장 기본이 되는 데이터 구

축을 하였다.

〇 한글은 서체와 폰트의 종류가 상당히 많으며(약 3000여종 외 고서체, 타자

및 일러스트 등), 또한, AI OCR을 학습 시켜 궁극적으로 실생활과 산업현

장에서 쓰이는 문장, 글을 독해 하기 위한 것으로 한글의 가로쓰기, 세로

쓰기 및 산업 현장의 특징(서체 및 서식) 등을 고려한 학습데이터 구축으

로 지속적 축적이 되어야 한다.

〇 이번 1차(2019) 사업은 이를 위한 가장 기초적인 데이터를 구축한 사업이

다. 이를 통해 손글씨와 인쇄체 등 AI OCR을 연구하거나, 적용하려는 산

업 분야에서는 기초적 학습 데이터로 활용 가능 할 수 있다.

〇 무엇보다, AI OCR 인식엔진 학습 모델 및 학습 알고리즘을 선택하고 비

교, 분석 연구하기 위한 목적으로 활용할 수 있을 것으로 판단되며, 실제

산업에서 활용하기에는 학습데이터의 다양성이 더욱 확보, 축적되어야 한

다. 따라서 다양한 AI 인식 엔진 중 어떤 것이 한글에 적합한지를 연구하

거나, 선정된 엔진을 학습하기 위한 학습 모델 비교, 학습 성과 등을 분석

하기 위한 기초 데이터로 활용하는 것을 권장하고자 한다.

□ 데이터 셋의 구성

〇 본 데이터 셋은 일반적인 기계학습을 고려하여 학습용 글자(글자,단어, 문

장)이미지와 어노테이션(라벨링 데이터) 파일(Json)으로 데이터 셋을 구성

되어 있다.

〇 1차 구축된 데이터 셋 손글시 370만, 인쇄체 280만자는 기존 한글 AI

OCR 연구 분야에서는 없었던 최초의 대규모 학습데이터로, 기초적인 학

습 훈련과 모델 연구에 큰 도움이 될 수 있는 양이다.

〇 특히 한글 OCR은 단순 인식이 아니라 반드시 Detection – Recognition

Page 2: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

단계를 거쳐야 하며, 이런 단계에서 각각의 최적의 모델과 학습 알고리즘

을 최적화하거나, 개선하는 용도로 활용 할 수 있도록 단어 및 문장 이미

지를 추가 하였다.

〇 또한 증강(Augmentation) 데이터 추가(2,634,300장/인쇄체) 하였으며,

이는 실제 산업현장을 고려, 원본이미지의 기울기, 바탕색의 변형 등을 정

용하는 모델을 사용 하였다. 본 사업을 통해 제공 되는 증강 데이터는 기

본적인 증강데이터로, 학습 및 연구자들이 원본 이미지를 이용 산업 특성

을 고려한 증강 시나리오를 각각 추가하는 것을 권고하고자 한다.

[증강변수 및 증강 데이터 생성 ]

□ 데이터 셋의 설계 기준과 유형

〇 1차 사업에서 데이터 셋 설계 시 가장 중요시 고려한 점은, 인쇄체의 경우

는 폰트와 그 활용도이며, 손글씨는 작성자의 연령, 성별 분포도의 밸런스

였다.

〇 인쇄체의 경우 “한국전자문서협회” 114개 회원사를 대상 기업에서 주로

사용하는 폰트를 조사하였으며, SNS를 통해 개인들에게 또한 주 사용 폰

트 설문을 조하하고, 공공기관의 경우 공공기관용 배포 폰트 등을 조사하

여 대표 50개의 폰트를 선정하였다.

번호 폰트명 번호 폰트명 번호 폰트명

1 바탕 18 대한민국정부 상징 35 함초롱돋움

Page 3: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

〇 손글씨의 경우 의 경우 다양성을 확보하기 위해 260여명의 작업자로 성

병, 연령별 비율을 두어 워크시트를 제공 데이터 셋을 생성하였다.

글자 단어 문장

번호 폰트명 번호 폰트명 번호 폰트명

2 돋움 19 호국 36 함초롱바탕

3 굴림 20 서울남산 37 농협희망

4 맑은고딕 21 서울한강 38 하나

5 궁서 22 제주 한라산 39 조선명조

6 휴먼명조 23 제주 명조 40 한겨레

7 휴먼고딕 24 제주 고딕 41 대한

8 중고딕 25 부산 42 가는안상수체

9 나눔고딕 26 고양 43 수화명조

10 나눔바른고딕 27 전북 44 태룡고딕

11 나눔고딕 코딩 28 푸른전남 45 EBS훈민정음새론

12 나눔명조 29 아리따부리 46 EBS훈민정음

13 나눔손글씨펜 30 SKT 뫼비우스 47 KBIZ 한마음고딕

14 나눔손글씨붓 31 빙그레따옴 48 KBIZ 한마음명조

15 노토산스 32 티몬소리 49 만화진흥원

16 본고딕 33 미생 50 이롭게바탕

17 노토세리프 34 스포카한산스    

Page 4: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

〇 실사 글자 경우 사진원본의 정확도와 품질의 중요성을 고려 사진 촬영 전

문가를 통해 획득을하였다. 또한 책표지, 일러스트 등에는 일부 저작권이

있으므로 원본 이미지 자체가 아닌 학습용 데이터를 위한 한글 문장, 글자

단위로 이미지를 후처리하여 확보하였다. 학습시에도 원본이미지를 활용

하는 것이 아니므로, 문자, 글자 중심의 Crop 이미지를 확보하였다. 이번

1차 사업에서의 실사 글자는 추가제안으로 실험적 10만장의 이미지만 확

보하였으며, 향후 한글 이미지는 학습데이터에서 가장 많은 확보와 지속적

획득이 필요한 분야이기도 하다.

〇 특히 자율주행 분야에서의 문자, 기호 인식, 사회적 약자 및 장애우를 위

한 한글 인식 서비스, 로봇 분야의 글자 인식, RPA 분야의 인식을 위해서

는 정제된 인쇄체, 손글씨 뿐 아니라, 산업 현장, 실사 그자체의 문자 학습

데이터 수집이 중요한 상황이다.

간판 이정표 상품

□ 데이터 구조

〇 데이터 셋의 라벨링 구조화 Json 파일 구조는 아래와 같다. 1)데이터 셋

정보 2)이미지정보 3) 어노테이션 정보 그리고 라이센스가 있는 경우 4)

라이센스 정보로 구성되 있다.

Page 5: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

□ 데이터 구조 예시

JSON 형식

{

"info": info,

"images": [image],

"annotations": [annotation],

"licenses": [license]

}

info{

"name": str, // 데이터 셋 이름

"description": str, // 데이터 셋 설명

(optional)

"url": str, // 데이터 셋 홈페이지 (optional)

"date_created": datetime, // JSON 파일이 만

들어진 날짜/시간

}

images{

"id": str, // 이미지 아이디

"width": int, // 이미지 width

"height": int, // 이미지 height

"file_name": str, // 이미지 파일 이름

"license": str, // 라이센스 이름 (optional)

"date_captured": datetime // 사진 찍힌 날짜

/시간 (optional)

}

annotations{

"id": str, // annotation 아이디

"image_id": str, // 이미지 아이디

"text": str, // 이미지에서 보이는 문장 내용

"attributes": object // annotation 특이사항

(optional, 손글씨의 경우 작성자의 성별, 연령

대 등의 정보가 들어가며 인쇄체 데이터의 경

우 font의 종류와 크기 등 생성에 사용된 변수

들이 기록됨)

}

licenses{

"name": str, // 라이센스 이름 (license안에서

unique 해야 함)

"url": str // 라이센스 내용이 들어 있는 링

크}

// JSON 예시

{

"info": {

"name": “한글 OCR용 손글씨 데이터

셋”,

"date_created":

"2000-01-01T00:00:00+00:00"

},

"images": [

{

"id":

"12345678-1234-5678-1234-567812345678",

"width": 1920,

"height": 1080,

"file_name": "test.jpg",

"license": "Attribution License",

"date_captured":

"2000-01-01T00:00:00+00:00"

}

],

"annotations": [

{

"id":

"87654321-8765-4321-8765-432187654321",

"image_id":

"12345678-1234-5678-1234-567812345678",

"text": "안녕"

}

],

"licenses": [

{

"name": "Attribution License",

"url":

"http://creativecommons.org/licenses/by/2.0/"

}

]

}

구축 DB 1 (손글씨/인쇄체)

Page 6: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)
Page 7: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

// JSON 형식

{

"info": info,

"images": [image],

"annotations": [annotation],

"licenses": [license]

}

info{

"name": str, // 데이터 셋 이름

"description": str, // 데이터 셋 설명

(optional)

"url": str, // 데이터 셋 홈페이지 (optional)

"date_created": datetime, // JSON 파일이 만

들어진 날짜/시간

}

images{

"id": str, // 이미지 아이디

"width": int, // 이미지 width

"height": int, // 이미지 height

"file_name": str, // 이미지 파일 이름

"license": str, // 라이센스 이름 (optional)

"date_captured": datetime // 사진 찍힌 날짜/

시간 (optional)

}

annotations{

"id": str, // annotation 아이디

"image_id": str, // 이미지 아이디

"bbox": [x, y, width, height], // text의 위치

정보

"text": str, // 이미지에서 보이는 문장 내용

"attributes": object // annotation 특이사항

(optional, 글자가 기울어지거나 뒤집어졌는지,

난이도 등이 기입될 수 있음)

}

licenses{

"name": str, // 라이센스 이름 (license안에서

unique 해야 함)

"url": str // 라이센스 내용이 들어 있는 링

크}

// JSON 예시

{

"info": {

"name": "한글 OCR용 text-in-the-wild 데이

터 셋",

"date_created": "2000-01-01T00:00:00+00:00"

},

"images": [

{

"id":

"12345678-1234-5678-1234-567812345678",

"width": 1920,

"height": 1080,

"file_name": "test.jpg",

"license": "Attribution License",

"date_captured":

"2000-01-01T00:00:00+00:00"

}

],

"annotations": [

{

"id":

"87654321-8765-4321-8765-432187654321",

"image_id":

"12345678-1234-5678-1234-567812345678",

"bbox": [5, 7, 20, 10],

"text": "안녕"

}

],

"licenses": [

{

"name": "Attribution License",

"url":

"http://creativecommons.org/licenses/by/2.0/"

}

]

}

구축 DB 2 (Text-in-the-wild)

Page 8: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

□ 데이터 구축 과정

〇 한글 OCR의 인식 알고리즘 개선 학에 필요한 다양성을 확보하기 위해 해

상도, 글자체, 변형 정도, 이미지 노이즈, 색상 등 다양한 성질을 변화시켜

다양한 조건의 문자를 인식 할 수 있는 인공지능 모델 구축에 활용될 수

있도록 데이터 획득 단계를 설계하였으며, 사용 빈도 및 활용 방법에 따라

그에 맞는 증강등의 변형을 적용하였다.

[ 주요 공정 단계 및 구축 단계별 활동 ]

〇 데이터 정제 및 어노테이션은 공정관리 툴을 활용 1차적으로 확보된 이미

지를 인공지능 기반 이미지 품질 검사기 및 OCR 두단계를 통해 정제를 한

뒤 숙련된 검사자에게 전달 최종 정제를 하였다.

〇 어노테이션 툴을 통해, 작업자가 쉽게 문서 및 이미지에서 단어 및 글자를

Page 9: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

Crop 할 수 있게하고, 해당 라벨(텍스트)입력을 수행 하도록 하였다.

〇 검사자는 라벨 입력자의 결과 이미지 : 라벨 데이터를 검수하고, 이미지 :

Json 파일의 정합성을 검수 할 수 있도록 하였다.

[ 이미지와 라벨 데이터 검사 ] [ 이미지와 Json 파일 검사 ]

□ 데이터 품질 검수

〇 전체 구축 데이터셋 중 무작위 표본 추출(Random sampling) 방식을 통

해 sample 데이터를 공정단계 별 추출

〇 참여 기관인 슈퍼브 AI의 자체 전문 검증 인원을 활용 sample 데이터에

대한 검증 진행하였다.

Page 10: 개요 한글 OCR 데이터셋이란20%E... · 2020. 12. 14. · 개요: 한글OCR 데이터셋이란? 〇인공지능 기반 한글 광학글자인식 (OCR, Optical Character Recognition)

[ 품질 검증 절차 및 검사 활동]