Keras와 TensorFlow를 이용한 종합 OCR 파이프라인
파이썬에서 간단하지만 강력한 텍스트 인식을 위해 Keras-OCR을 사용하세요
Keras-OCR API란?
Keras-OCR은 Keras와 TensorFlow의 힘을 빌어 OCR(광학 문자 인식) 작업을 간소화하는 고수준의 오픈소스 파이썬 라이브러리입니다. 복잡한 설정이 필요한 기존 OCR 시스템과 달리, Keras-OCR은 텍스트 감지(CRAFT 알고리즘 사용)와 텍스트 인식(CRNN 모델 사용)을 위한 사전 훈련된 모델을 갖춘 종합 파이프라인을 제공합니다. 이를 통해 개발자는 단 몇 줄의 코드로 이미지, 스캔 문서, 심지어 손글씨 메모에서도 텍스트를 추출할 수 있습니다.
이 라이브러리는 다음과 같은 실제 사용 사례에 최적화되어 있습니다:
- 문서 디지털화: 종이 문서나 PDF를 검색 가능한 텍스트로 변환
- 자동 데이터 입력: 청구서, 영수증 또는 양식에서 텍스트 추출
- 접근성 도구: 웹 애플리케이션의 이미지에 대한 대체 텍스트 생성
- SNS 분석: 밈이나 사용자 생성 콘텐츠에 포함된 텍스트 처리
일괄 처리 지원과 선택적 GPU 가속 기능을 통해 Keras-OCR은 사용 편의성과 성능을 적절히 조화시켜 프로토타이핑과 실제 운영 환경 모두에 이상적입니다.
Keras-OCR의 주요 기능
- 사전 훈련된 모델: CRAFT(감지기)와 CRNN(인식기)이 즉시 사용 가능
- 쉬운 설정: 최소한의 의존성(Keras, TensorFlow, OpenCV)
- 일괄 처리: 여러 이미지를 동시 처리하여 효율성 향상
- 맞춤형 훈련: 자신의 데이터셋으로 모델 미세 조정 가능
- GPU 불필요: CPU에서 작동하지만 GPU로 가속 가능
- 바운딩 박스 출력: 공간 분석을 위한 좌표와 함께 텍스트 반환
- 오픈소스: 무료, 커뮤니티 주도, MIT 라이선스
설치 방법
pip를 통해 Keras-OCR 설치(Python 3.6+ 필요):
Keras-OCR 설치
pip install keras-ocr
GPU 지원을 위해서는 TensorFlow GPU 버전이 설치되어 있어야 합니다:
TensorFlow GPU 설치
pip install tensorflow-gpu
코드 예제
Keras-OCR을 사용하여 이미지에서 텍스트를 추출하는 실용적인 예제입니다.
예제 1: 기본 텍스트 감지 및 인식
사전 훈련된 파이프라인을 사용하여 이미지에서 텍스트를 추출하는 방법:
기본 OCR 파이프라인
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)
예제 2: 일괄 처리
효율성을 위해 여러 이미지를 한 번에 처리:
일괄 처리
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["image1.jpg", "image2.jpg", "image3.jpg"]
batch_predictions = pipeline.recognize(images)
for prediction in batch_predictions:
print(prediction)
예제 3: 바운딩 박스 시각화
감지된 텍스트 상자를 원본 이미지에 표시:
결과 시각화
import matplotlib.pyplot as plt
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
image = keras_ocr.tools.read("document.jpg")
predictions = pipeline.recognize([image])
keras_ocr.tools.drawAnnotations(image, predictions[0])
plt.imshow(image)
plt.show()
결론
Keras-OCR은 바로 사용할 수 있는 파이프라인으로 텍스트 추출을 단순화하며, 복잡한 설정 없이도 빠르고 정확한 OCR이 필요한 개발자에게 완벽한 선택입니다. Keras와 TensorFlow와의 통합은 사용자 정의를 가능하게 하며, 일괄 처리는 확장성을 보장합니다.
문서 스캐너 구축, 데이터 입력 자동화, SNS 콘텐츠 분석 등 어떤 용도로든 Keras-OCR은 가볍지만 강력한 솔루션을 제공합니다.