딥러닝 - Keras-ocr 튜토리얼

미남로그·2021년 10월 29일
0

https://brunch.co.kr/@kakao-it/318

OCR은 이미지 속에서 영문을 Bounding box로 찾고, B-box 내 어떤 text가 포함되는지 알 수 있는 시스템입니다.

Text Detection(이미지 속에서 문자 영역을 찾아내는 것)은 Segmentation 기반의 CRAFT를 활용한 keras-ocr을 활용할 예정입니다.

Recognition 모델로는 keras-ocr이 있는데 이를 간단히 살펴보겠습니다.


Keras-ocr

Keras-ocr은 Keras CRNN 구현 및 CRAFT 텍스트 감지 모델의 패키지된 버전입니다. 텍스트 감지 및 OCR 파이프라인 교육을 위한 고급 API를 제공합니다.


Getting Started

Installation


Using

패키지는 이 리포지토리의 CRAFT 텍스트 감지 모델과CRNN 인식 모델의 사용하기 쉬운 구현과 함께 제공됩니다.

import matplotlib.pyplot as plt

import keras_ocr

# keras-ocr will automatically download pretrained
# weights for the detector and recognizer.
pipeline = keras_ocr.pipeline.Pipeline()

# Get a set of three example images
images = [
    keras_ocr.tools.read(url) for url in [
        'https://upload.wikimedia.org/wikipedia/commons/b/bd/Army_Reserves_Recruitment_Banner_MOD_45156284.jpg',
        'https://upload.wikimedia.org/wikipedia/commons/b/b4/EUBanana-500x112.jpg'
    ]
]

# Each list of predictions in prediction_groups is a list of
# (word, box) tuples.
prediction_groups = pipeline.recognize(images)

# Plot the predictions
fig, axs = plt.subplots(nrows=len(images), figsize=(20, 20))
for ax, image, predictions in zip(axs, images, prediction_groups):
    keras_ocr.tools.drawAnnotations(image=image, predictions=predictions, ax=ax)

해당 github에서 제공하는 'https://upload.wikimedia.org/wikipedia/commons/e/e8/FseeG2QeLXo.jpg'의 주소는 url이 없어졌는지 404 error가 떠서 지웠습니다.

※ 원래 불러올 이미지는 아래 사진 참고

Keras-ocr에서는 Convolution layer와 RNN을 결합하고 CTC로 학습된 CRNN을 사용하며 recognition을 지원합니다.

profile
미남이 귀엽죠

0개의 댓글