이전 포스트에서 TextRecognitionDataGenerator 프로젝트를 이용해 생성한 학습데이터는 학습을 위한 deep-text-recognition-benchmark 프로젝트에서 요구하는 데이터 구조는 아니었고, 또한 바로 사용할 수 없었다. 필요에 의해 다음과 같이 단순한 데이터 변환 기능을 갖는 프로젝트를 만들어 공유하고자 한다.
프로젝트명: TRDG2DTRB (TextRecognitionDataGenerator to deep-text-recognition-benchmark)
참고로, 이전 단계인 '학습데이터 생성하기' 과정은 아래 링크를 통해 확인 가능하다.
[Development/OCR] - EasyOCR 사용자 모델 학습하기 (2) - 학습데이터 생성
2. 학습데이터 변환
2.1 프로젝트 설치
다음 명령 구문을 통해 TRDG2DTRB 프로젝트 소스코드를 내려받고, 프로젝트에서 요구하는 환경을 구축한다.
# 소스코드 내려받기
$ git clone https://github.com/DaveLogs/TRDG2DTRB.git
2.2 학습데이터 변환
이제 학습데이터 변환을 진행하는데, 이전 포스트에서 생성한 학습데이터가 저장된 경로를 그대로 사용한다면, 특별히 입력 데이터 구조에 신경 쓸 필요가 없다.
2.2.1 입력 데이터 구조
/input
# [gt]_[idx].[ext]
├── abcd_00001.jpg
├── efgh_00002.jpg
├── ijkl_00003.jpg
└── ...
2.2.2 데이터 변환하기
다음 명령 구문으로 데이터 변환을 진행한다. 물론 Python 가상 환경 하에서 실행한다.
(venv) $ python3 convert.py \
--input_path ./input \
--output_path ./output
2.2.3 결과 데이터 구조
결과 데이터는 이미지 파일 목록과 각 이미지 파일의 label이 저장된 gt.txt 파일로 구성된다.
- 이미지 파일 목록 구조
/output
├── gt.txt
└── /images
# image_[idx].[ext]
├── image_00001.png
├── image_00001.png
├── image_00001.png
└── ...
- 'gt.txt' 파일 구조
# {filename}\t{label}\n
images/image_00001.png abcd
images/image_00002.png efgh
images/image_00003.png ijkl
...
2.3 학습데이터 변환 확인하기
아래와 같이 데이터가 변환된 것을 확인할 수 있다.
여기까지 학습데이터 변환 과정을 마무리했다.
이제 다음 포스트에서 deep-text-recognition-benchmark 프로젝트를 이용해 신경망 학습을 진행한다.
[Development/OCR] - EasyOCR 사용자 모델 학습하기 (4) - 모델 학습
'Development > OCR' 카테고리의 다른 글
EasyOCR 사용자 모델 학습하기 (5) - 모델 적용 및 테스트 (9) | 2021.05.27 |
---|---|
EasyOCR 사용자 모델 학습하기 (4) - 모델 학습 (22) | 2021.05.25 |
EasyOCR 사용자 모델 학습하기 (2) - 학습데이터 생성 (0) | 2021.05.22 |
EasyOCR 사용자 모델 학습하기 (1) - 시작하기 전에 (0) | 2021.05.22 |
Tesseract OCR 사용하기 (with command line tools on Ubuntu) (0) | 2021.05.04 |