티스토리 뷰
작성자 : 한양대학원 융합로봇시스템학과 유승환 석사과정 (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/
1. 깃헙 링크 (영문) : https://github.com/Belval/TextRecognitionDataGenerator
2. 깃헙 링크 (한글) : https://github.com/parksunwoo/ocr_kor
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.py : OCR 데이터를 생성하는 코드입니다. 우리의 환경에 맞게 코드에 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개의 단어만 생성
'sinanju06 > 딥러닝 환경 셋팅 및 코드 분석' 카테고리의 다른 글
NVIDIA Jeston 환경 셋팅 3편 (ROS, RealSense-SDK, RealSense-ROS설치) (16) | 2020.11.17 |
---|---|
NVIDIA Jeston 환경 셋팅 1-1편 (JetPack 설치 On AGX Xavier) (8) | 2020.10.30 |
YOLO V5 환경 셋팅 및 모델 아키텍쳐 분석하기 (104) | 2020.08.18 |
네이버 deep-text-recognition 모델을 custom data로 학습 & 아키텍쳐 분석 (74) | 2020.05.18 |
Ubuntu 18.04 환경에서 CUDA 10.1, cuDNN 7.5.0, NVIDIA-Driver 그리고 Pytorch 1.3.1 설치하기 (9) | 2020.05.18 |
댓글