Распознавание символов нового поколения с использованием машинного обучения.
Обзор
В этой статье я собираюсь разработать приложение React + FastAPI, которое захватывает изображения с веб-камеры и использует обученную модель OCR для обнаружения текста.
PaddleOCR - это инструментарий распознавания текста, который я использую. По результатам моего тестирования, это легкая и высокопроизводительная библиотека ML OCR. Он поддерживает более 80 языков и может быть развернут на сервере, мобильных, встроенных устройствах и устройствах Интернета вещей с использованием таких языков, как Python, C ++ и т. д.
Приложение
Приложение захватывает изображение с помощью веб-камеры и вызывает внутренний API для распознавания текста.
Области, в которых обнаруживаются символы, выделяются рамками, а результаты отображаются с вероятностями.
Дополнительные примеры показаны ниже.
Новости и документы
Счет
Номерной знак
CAPTCHA
Пользовательский шрифт
Код
Бэкэнд
Внутренние API-интерфейсы разрабатываются с использованием FastAPI. WebSocket используется для отправки и получения данных.
Захваченное изображение принимается в виде строк в кодировке base64 и обрабатывается моделью OCR. Результат и обработанное изображение отправляются через WebSocket обратно во внешний интерфейс.
Фрагмент кода приведен ниже.
Модуль распознавания текста показан ниже.
Внешний интерфейс
Интерфейс - это приложение на React. Компонент Viewer захватывает изображение, вызывает API и показывает результаты.
Dockerfile
Я запускаю приложение с помощью Docker. Ниже приведены файлы Docker как для интерфейса, так и для серверной части.
Полный исходный код приложения можно найти в этом репозитории.
Альтернатива
Еще одна библиотека OCR, которую стоит попробовать, - EasyOCR с более чем 80 поддерживаемыми языками и всеми популярными письменными скриптами, включая латынь, китайский, арабский, деванагари, кириллицу и т. Д.
Также ознакомьтесь с этими статьями!