Повноцінний OCR-пайплайн з Keras та TensorFlow
Використовуйте Keras-OCR для простого, але потужного розпізнавання тексту на Python.
Що таке Keras-OCR API?
Keras-OCR - це високорівнева бібліотека Python з відкритим кодом, призначена для спрощення завдань оптичного розпізнавання символів (OCR) з використанням Keras та TensorFlow. На відміну від традиційних OCR-систем, які вимагають складної конфігурації, Keras-OCR пропонує готовий пайплайн з попередньо навченими моделями для виявлення тексту (алгоритм CRAFT) та розпізнавання тексту (модель CRNN). Це дозволяє розробникам видобувати текст із зображень, сканованих документів або навіть рукописних нотаток лише за кілька рядків коду.
Бібліотека оптимізована для реальних завдань, таких як:
- Оцифрування документів: Перетворення паперових документів або PDF у текст для пошуку.
- Автоматизоване внесення даних: Видобування тексту з рахунків, квитанцій або форм.
- Інструменти доступності: Генерація альтернативного тексту для зображень у веб-додатках.
- Аналіз соціальних мереж: Обробка тексту в мемах або контенті, створеному користувачами.
З підтримкою пакетної обробки та опціональним прискоренням на GPU, Keras-OCR поєднує простоту використання з високою продуктивністю, що робить її ідеальною як для прототипування, так і для промислового використання.
Ключові особливості Keras-OCR
- Попередньо навчені моделі: Включає CRAFT (детектор) та CRNN (розпізнавач).
- Проста установка: Мінімальні залежності (Keras, TensorFlow, OpenCV).
- Пакетна обробка: Одночасна обробка кількох зображень.
- Налаштування моделей: Донавчання на власних датасетах.
- GPU не обов'язковий: Працює на CPU, але прискорюється на GPU.
- Вивід координат: Повертає текст із координатами для аналізу.
- Відкритий код: Безкоштовна, з відкритим вихідним кодом (ліцензія MIT).
Встановлення
Встановіть Keras-OCR через pip (потрібен 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 дозволяє кастомізацію, а пакетна обробка забезпечує масштабованість.
Чи то сканування документів, автоматизація введення даних чи аналіз контенту соціальних мереж - Keras-OCR пропонує легке, але потужне рішення.