Распознавание символов нового поколения с использованием машинного обучения.

Обзор

В этой статье я собираюсь разработать приложение 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 поддерживаемыми языками и всеми популярными письменными скриптами, включая латынь, китайский, арабский, деванагари, кириллицу и т. Д.

Также ознакомьтесь с этими статьями!







использованная литература