fine-tunnig결과 성능이 저조한 커스텀 모델 대신 easyOCR 기본 모델을 사용하기로 했습니다. 기본 모델의 글자 인식 및 추출 능력은 우수했으나 한 가지 문제가 있었는데, 가로 줄 단위로 글자를 인식하다보니 어떤 단어가 줄 바꿈으로 떨어지면 각각 다른 단어가 되버렸습니다. import easyocr from PIL import Image, ImageDraw img_path = './cosmetics_00026_crop.jpg' reader = easyocr.Reader(['ko','en'], gpu=False) detected_result = reader.detect(img_path) # Load the image img = Image.open(img_path) # Create an Image..
로컬 훈련 우선 대여받은 노트북에 CUDA개발환경을 셋팅했습니다. 노트북의 gpu는 RTX 3050이었고, 열심히 검색하며 구축한 CUDA 개발 환경은 다음과 같습니다. python 3.9 / CUDA Toolkit 11.3 / cuDNN v8.9.0 설치한 pytorch 버전과 라이브러리입니다. conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch 총 4번의 훈련을 진행했고 저장공간의 한계로 데이터를 미리 만들어 놓지 않고 매 훈련마다 train lmdb와 validation lmdb를 만들었습니다. AIhub의 이미지들에서 필요한 부분만 크롭하고, 미처 코드로 걸러내지 못한 필요없는..
easyOCR을 fine-tunning하는 방법은 다양한 블로그에 잘 설명되어있었습니다. 주로 참고한 블로그는 다음과 같습니다 EasyOCR과 OpenCV를 이용한 광학식문자인식기술 프로젝트 스타트10팀 velog.io EasyOCR 사용자 모델 학습하기 (4) - 모델 학습 신경망 모델 학습하기에 앞서 학습에 필요한 학습데이터 생성 및 변환 등에 대한 내용은 이전 포스트를 참고하기 바란다. [Development/OCR] - EasyOCR 사용자 모델 학습하기 (1) - 시작하기 전에 [Developme davelogs.tistory.com 네이버 deep-text-recognition 모델을 custom data로 학습 & 아키텍쳐 분석 작성자 : 한양대학원 융합로봇시스템학과 유승환 석사과정 (CAI..