728x90
반응형
이번에는 EasyOCR에서 제공하는 API를 통해 OCR 기능을 이용할 때 사용되는 기본 신경망 모델이 아닌, 사용자가 직접 학습시키고자 하는 데이터를 준비해 학습하고, 원하는 성능의 모델을 만들어 사용하는 과정을 정리해 보았다.
이전에 또 다른 오픈소스 기반의 유명한 Tesseract OCR을 이용하기 위한 신경망 모델 학습 및 사용과 관련된 내용은 아래 포스트를 참고하기 바란다.
[Development/OCR] - Tesseract OCR 4.x 모델 학습하기 (1)
또, 단순히 EasyOCR이 어떤 것인지 확인해 보고자 한다면 아래 포스트를 참고하기 바란다.
[Development/OCR] - EasyOCR 사용하기
0. 시작하기 전에
EasyOCR에서 사용하고 있는 신경망 모델은 학습의 각 단계별로 다음과 같은 또 다른 오픈소스 기반 프로젝트를 이용한다. 따라서, 여기서도 각 단계별로 나누어 포스트를 작성할 예정이다.
- 학습데이터 생성: TextRecognitionDataGenerator
- 학습데이터 변환: TRDG2DTRB
- 모델 학습 및 배포: Deep-Text-Recognition-Benchmark
- 사용자 학습 모델 사용: EasyOCR
또, Tesseract OCR 학습 때와 마찬가지로, 미세조정을 통한 학습 방법으로 진행할 계획이다. 그 외에 아래와 같은 다른 방법은 별도로 다루지 않을 예정이다.
- 미세조정 (Fine tune, Transfer Learning): 기존의 학습된 네트워크 (Pre-Trained Network)를 기반으로 하여 특정 추가 데이터로 미세하게(?) 학습하는 방법
- 네트워크 최상위 계층을 잘라내고 새 데이터를 사용하여 최상위 계층을 학습하는 방법
- 처음부터 다시 학습 (Retrain from scratch): 학습데이터가 충분히 많은 경우 사용하는 방법. 단, 제대로 된 학습이 아니라면 정확히 동작하지 않거나 학습데이터에 과적합된 네트워크가 될 소지가 있다.
이제 다음 포스트에서 첫 번째 단계인 '학습데이터 생성'을 진행한다.
[Development/OCR] - EasyOCR 사용자 모델 학습하기 (2) - 학습데이터 생성
728x90
반응형
'Development > OCR' 카테고리의 다른 글
EasyOCR 사용자 모델 학습하기 (3) - 학습데이터 변환 (3) | 2021.05.22 |
---|---|
EasyOCR 사용자 모델 학습하기 (2) - 학습데이터 생성 (0) | 2021.05.22 |
Tesseract OCR 사용하기 (with command line tools on Ubuntu) (0) | 2021.05.04 |
Tesseract OCR 4.x 모델 학습하기 (2) (0) | 2021.05.04 |
Tesseract OCR 4.x 모델 학습하기 (1) (2) | 2021.05.04 |