OCR의 역사는 오래되었으나, 근래들어 기업들의 활용도가 높아 지고 있으며 시장 역시 2025년 133억 달러에 이를 것을 예상할 정도로 커지고 있습니다.
OCR이 중요한 이유는 레거시 산업(전통적인 농업, 제조, 서비스 등)의 대부분의 데이터는 아날로그화되어있기 때문입니다. OCR은 이를 Digitization하는 역할을 수행하는 주요한 도구가 됩니다. 기존의 아날로그 데이터를 디지털화하는 것을 사람이 해서는 비용과 시간측면에서 너무 과도하게 소요되기도 하거니와 실제로는 불가능에 가까울 것입니다.
사용부터 오픈소스 또 클라우드 기반의 서비스들까지 다양한 OCR 도구가 존재합니다. 제각기 특징과 성능이 다르기 때문에 모든 툴의 성능을 측정해 본것은 아니며 정확한 지표는 아니지만 지금까지 경험한 OCR의 특징과 장단점 간략히 소개해보겠습니다.
상대적으로 유구한 역사를 가진 Open Source OCR 툴입니다. HP에서 개발을 시작해서 Open Source화 한 이후 Google의 개발자들이 유지보수하고 있습니다.
유명하기도 하거니와 현재 4.0(stable 기준)까지 오면서 꾸준히 업데이트되어 왔습니다.
Source Repository: https://github.com/tesseract-ocr/tesseract
Open Source이기 때문에 사용과 활용에 무료입니다. 성능(정확도)도 사용하기에 좋은 편입니다. 다만 단점으로는 속도가 느린편이고, GPU 지원이 안된다는 점입니다. py-tesseract와 같이 여러 wrapper library들도 풍부하게 존재하고, 엄청나게 다양한 option이 제공된다는 점에서 활용가치가 클 것 같습니다.
또한 google에서 꾸준히 1-2년 단위로 메이저 업데이트를 하기 때문에 유지보수도 계속 지원하고 있다고 보면 됩니다.
국문 폰트는 3-4가지 정도로만 학습을 시켰기 때문에, 다양한 폰트로 추가 학습시 성능향상이 기대됩니다.
학습에 참고할 만한 git repo도 소개합니다.
Source Repository: https://github.com/whoareyouwhoami/tess4korean
비교적 최근에 개발된 Open Source OCR 툴입니다. 위에서 소개한 Tesseract보다 정확도 면에서도 향상되었으며, GPU 연산을 지원하기 때문에 성능(속도)면에서도 개선되었다고 주장합니다. 그러나 테스트결과 정확도 면에서는 성능향상이 된것 으로 보이나 속도면에서는 큰 개선이 된것인지는 의문이 듭니다(좀 더 테스트해봐야 할 듯합니다.)
현 시점에서 굉장히 활발하게 개발을 진행하고 있으며, 이슈/질문의 대응에도 굉장히 적극적입니다. 라이선스도 아파치 2.0으로 상용에 이용하는 것도 가능해보입니다. 또한, 추가 학습등도 용이하여 필요시 추가 폰트 등을 통해 정확도 향상이 가능할 것으로 생각합니다. 특히 앞서 이야기한 것과 같이 활발하게 개발이 이루어지고 요구사항도 적극 반영되고 있기 때문에 향후 개선이 기대됩니다.
Source Repository: https://github.com/JaidedAI/EasyOCR
참고로 이 도구는 Naver에서 만들어 공개한 CRAFT라는 Text Detection도구를 이용하였습니다.
박선우라는 분께서 Naver에서 연구하여 공개한 Deep-text-recognition-benchmark를 한국어로 학습시킨 OCR 툴입니다. 다만, Text Detection 부분이 없기 때문에 일반 문서의 OCR은 수행하지 못합니다. (바꾸어 말하면 Text Detection 부분을 붙이면 Tesseract나 EasyOCR과 같은 형태의 문서에 대한 OCR로서 사용이 가능할것입니다.)
Source Repository: https://github.com/parksunwoo/ocr_kor
또한, 학습 데이터 생성기를 제공하는 등 추가 학습이 가능한 형태입니다. 개인이 연구 목적으로 개발한 것이기 때문에, 더 이상의 추가 개발이나 성능 향성을 기대하기는 어려울 것으로 보여 조금 아쉬움이 있습니다.
잘 정리된 글이 도움이 많이 되었습니다~