Keras_ocr 사용 방법
1. Keras_ocr
Keras OCR은 Keras 및 TensorFlow를 기반으로 하는 Optical Character Recognition (OCR) 라이브러리이며 컴퓨터가 이미지나 스캔된 문서에서 텍스트를 인식하고 추출할 수 있게 해주는 기술이다.
Keras OCR은 오픈 소스 신경망 라이브러리로, 2015년에 처음 출시되었고 초기 OCR 시스템은 규칙 기반 기술과 패턴 인식을 사용했지만, 딥러닝과 컨볼루션 신경망 (CNN)의 발전으로 인해 OCR의 성능이 크게 향상되었다고 한다.
이전 포스팅(EasyOCR)에서도 얘기했듯이 성능만 따진다면 Keras OCR이 가장 좋지만 다른 OCR 프레임워크 보다 어려운(?) 방법 때문에 사용하지 않게 되었다. 추후에 SBC에서 독립적으로 동작하는 번역기를 만들텐데 그때 아마도 Keras_ocr을 사용해보지 않을까 생각된다.
2. 설치
python을 기본으로 지원하기 때문에 설치가 간편하다.
keras-ocr은 tensorflow를 기반으로 사용하기 때문에 tensorflow가 설치되어 있어야 한다.
- Tensorflow 2.x 버전 설치
pip install tensorflow
- Tensorflow GPU 버전 설치
pip install tensorflow-gpu
GPU 버전의 경우 CUDA와 cuDNN도 버전에 맞게 설치해야 하기 때문에 공식 설치 사이트를 참조 바란다.
https://pypi.org/project/keras-ocr/
pip install keras-ocr
제대로 설치되었는지 확인해보려면 필자가 OCR 테스트 했던 python으로 테스트 해보면 된다.
import matplotlib.pyplot as plt
import keras_ocr
ocr_keras = keras_ocr.pipeline.Pipeline()
img_ocr = [keras_ocr.tools.read(img_ocr) for img_ocr in ['test.jpg', 'test.jpg',]]
predict = ocr_keras.recognize(img_ocr)
fig, axs = plt.subplots(nrows=len(img_ocr), figsize=(10, 20))
for ax, image, predictions in zip(axs, img_ocr, predict):
keras_ocr.tools.drawAnnotations(image=image, predictions=predictions, ax=ax)
img = predict [1]
for keras_text, box in img:
print(keras_text)
혹시나 import 에러가 난다면 keras_ocr 또는 tensorflow 설치에 문제가 있는 것이다.
3. 결론
다른 오픈 OCR 보다 성능이나 속도가 빠르지만 일단 다른 OCR들 보다 코드가 길다(?)
추후에 임베디드 보드에서 따로 돌려볼 때 NPU 사용 전/후 속도 차이를 볼 수 있을 것 같긴 한데
easyOCR이 잘된다면 아마도 사용하지는 않을 것 같다.
끝 :)
도움이 되셨다면 더 좋은 정보 공유를 위해 광고 클릭 부탁 드립니다 :)
0 댓글