본문 바로가기

Development/OCR

EasyOCR 사용자 모델 학습하기 (3) - 학습데이터 변환

728x90
반응형

출처: https://www.jaided.ai/

 

이전 포스트에서 TextRecognitionDataGenerator 프로젝트를 이용해 생성한 학습데이터는 학습을 위한 deep-text-recognition-benchmark 프로젝트에서 요구하는 데이터 구조는 아니었고, 또한 바로 사용할 수 없었다. 필요에 의해 다음과 같이 단순한 데이터 변환 기능을 갖는 프로젝트를 만들어 공유하고자 한다. 

 

프로젝트명: TRDG2DTRB (TextRecognitionDataGenerator to deep-text-recognition-benchmark)

 

DaveLogs/TRDG2DTRB

Convert TextRecognitionDataGenerator's result data to deep-text-recognition-benchmark's input data. - DaveLogs/TRDG2DTRB

github.com

 

참고로, 이전 단계인 '학습데이터 생성하기' 과정은 아래 링크를 통해 확인 가능하다.

 

[Development/OCR] - EasyOCR 사용자 모델 학습하기 (2) - 학습데이터 생성

 

EasyOCR 사용자 모델 학습하기 (2)

첫 번째 단계인 '학습데이터 생성'부터 진행해 보도록 하겠다. 전체 단계에 대한 설명은 이전 포스트인 아래 링크를 참고하기 바란다. [Development/OCR] - EasyOCR 사용자 모델 학습하기 (1) 1. 학습데이

davelogs.tistory.com

 


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

 

728x90

 

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) - 모델 학습

 

EasyOCR 사용자 모델 학습하기 (4) - 모델 학습

신경망 모델 학습하기에 앞서 학습에 필요한 학습데이터 생성 및 변환 등에 대한 내용은 이전 포스트를 참고하기 바란다. [Development/OCR] - EasyOCR 사용자 모델 학습하기 (1) - 시작하기 전에 EasyOCR

davelogs.tistory.com

 

728x90
반응형