회사에서 OCR 모델을 구축하게 되었다. PaddleOCR의 text recognizer를 fine-tuning하기 위해 text detection과정을 거치는 도중, annotation 방법을 공유하고자 포스팅하게 되었다.
처음에는 roboflow를 활용했지만,,, annotation을 마무리한 후 데이터를 generate한 결과 화질이 깨져있었다. 어떤 글자인지 알아볼 수 없을 정도로 깨져서 labelme를 활용해 다시 annotation을 진행하였다. 나중에 annotation할 일이 있을 때 보다 수월하게 labelme를 사용할 수 있도록 하기 위해 기록을 남긴다.
https://github.com/labelmeai/labelme#windows
원래 labelme 설치는 간단하다. 그냥 가상서버 구축 후, pip install labelme로 설치하면 된다.
하지만,,, 계속 오류가 났다.
기본적으로 encoding이 cp949로 세팅되어있어서 발생한 오류인 것 같다. 이를 해결하기 위해서는 setup.py파일에서 encoding을 utf-8로 바꾸어 주어야 한다.
번거롭지만 git clone으로 setup.py를 포함한 파일들을 다운받는다.
git clone https://github.com/labelmeai/labelme.git
받은 labelme 폴더 내 setup.py에 들어가서 오류 부분을 찾는다.
기존에 없었던 'encoding = 'utf-8'을 추가해준 모습이다.
이후 shell(anaconda prompt)에서 labelme폴더로 경로설정을 한 후 pip install .을 치면 수동으로 다운받을 수 있다.
C:\Users\cykim\Desktop\labelme> pip install .
설치가 끝난 후 shell에 labelme를 입력하면 창이 뜬다. 어떤 경로에서 실행하던 상관없다.
C:\Users\cykim\Desktop\labelme> labelme
위와 같은 창이 뜬다면 성공적으로 labelme를 실행한 것이다.
사용 방법은 해당 블로그에서 자세히 확인할 수 있을 것이다.