티스토리 뷰

작성자 : 한양대학원 융합로봇시스템학과 유승환 석사과정 (CAI LAB)

 

 이번에는 OCR 모델 학습을 위한 한글 & 영문 이미지 데이터를 제작하는 일을 진행해보겠습니다. OCR 데이터 제작은 파이썬 패키지로 제공하는 trdg(Text Recognition Data Generator)를 사용합니다. 글자 이미지에 필터를 넣거나 배경을 입힐 수도 있는데, 저는 그런 데이터는 필요가 없어서 따로 언급하지는 않겠습니다. (AI 허브에도 한글 OCR 데이터를 제공해주는데, 라벨링 방식이 제가 사용하는 방법과 달라서... 직접 OCR 데이터를 생성하는 방법을 선택했습니다.)


[작업 환경 정보]

  • OS : Window 10
  • python_version : 3.8.5
  • trdg_version : 1.6.0
  • anaconda3

[참고 링크]

0. trdg-pypi (Python Package Index) 링크 : https://pypi.org/project/trdg/

 

trdg

TextRecognitionDataGenerator: A synthetic data generator for text recognition

pypi.org

 

1. 깃헙 링크 (영문) : https://github.com/Belval/TextRecognitionDataGenerator

 

Belval/TextRecognitionDataGenerator

A synthetic data generator for text recognition. Contribute to Belval/TextRecognitionDataGenerator development by creating an account on GitHub.

github.com

2. 깃헙 링크 (한글) : https://github.com/parksunwoo/ocr_kor

 

parksunwoo/ocr_kor

딥러닝을 활용한 한글문장 OCR 연구. Contribute to parksunwoo/ocr_kor development by creating an account on GitHub.

github.com


1. 필요한 패키지 설치하기

1-1) pip 명령어를 이용하여 trdg 패키지 설치

  • 아나콘다 환경에서도 똑같이 pip3 명령어로 설치하시면 됩니다.
  • 아나콘다 설치 명령어는 따로 제공하지 않는 것 같습니다
# install trdg
pip3 install trdg

2. 데이터 생성하기

2-1) trdg 인자 설명

  • 로컬 환경으로 설치한 경우 C:/Users/(사용자 이름)/AppData/Local/Programs/Python/Python36/Lib/site-packages/trdg/ 경로에 trdg 패키지가 설치 되어 있습니다.
  • 아나콘다 환경으로 설치한 경우 c:/anaconda3/envs/(환경 이름)/lib/site-packages /trdg/ 경로에 설치되어 있습니다.
  • run.pyOCR 데이터를 생성하는 코드입니다. 우리의 환경에 맞게 코드에 input을 넣어야 하는데,  parse_arguments 함수(line 30)를 보면 input 인자 들이 설명되어 있습니다.
  • 아래에서 대표적인 인자를 설명해보겠습니다.

  • c : 생성할 데이터(=OCR 이미지) 갯수 
  • ex) -c 100 : 100장의 OCR 이미지 생성

 

  • w : 하나의 데이터에 생성할 단어 갯수
  • ex) -w 1 : 한 이미지에 1개의 단어 생성

 

  • f : OCR 이미지 높이(height) 설정 
  • ex) -f 64 : 이미지 높이를 64픽셀로 설정

 

  • l : 언어 (dicts(txt 파일)) 설정 
  • ex) -l en : ~/trdg/dicts/ 위치에 있는 en.txt를 활용하여 생성할 데이터 언어를 영어로 설정

 

  • na : 라벨 텍스트 생성
  • ex) -na 2

 

  • cs : 하나의 단어 간 공백 생성 
  • ex) -cs 100 : 단어 간에 100pixel만큼 공백을 줌 (예를 들어 단어  -> 단            어)

 

  • font_dir : 언어를 생성할 폰트 경로 설정
  • ex) --font_dir C:/Users/사용자이름/AppData/Local/Programs/Python/Python36/Lib/site-packages/trdg/fonts/en/

 

  • output_dir : 생성한 OCR 이미지를 저장할 경로 설정
  • ex) --output_dir C:/results/ : C:/results/ 위치에 생성한 이미지 저장

2-2) 수정이 필요한 폴더 & 파일 설명 (1) : dicts 폴더

  • 생성할 단어들이 적혀있는 txt 파일이 존재합니다. 즉 단어 사전이라고 생각하시면 됩니다.
  • 한글과 관련된 파일은 없으므로, 생성하고 싶은 한글 단어를 직접 적어서 ko.txt를 만들어야 합니다.
  • 영문+특수기호 등의 특수 글자(ex : 7-SHD25)를 생성하고 싶어도 새로운 텍스트 파일을 만들어야 합니다.

2-2) 수정이 필요한 폴더 & 파일 설명 (2) : fonts 폴더

  • 폰트 파일(ttf)이 존재합니다.
  • 이 역시 한글과 관련된 폰트가 없어서, 한글과 관련된 폰트(ex : 맑은 고딕)을 다운받아야 합니다.
  • 맑은 고딕과 같은 일반 폰트를 사용하려면, 윈도우 기준 C:/winodws/Fonts 폴더에서 복붙하시면 됩니다.

2-3) 데이터 생성

  •  영문 데이터 생성
trdg -c 20000 -w 1 -f 70 -l en_0713_total --output_dir C:\0713_train_en/

# C:\0713_train_en/ 위치에서 en_0713_total.txt에 있는 단어를 기반으로 20000장의 글자 이미지 생성
# 이미지 높이는 70 픽셀, 한 이미지에 1개의 단어만 생성

 


 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 29 30 31