Вступление :

Рост искусственного интеллекта в последние годы был обусловлен явлением цифровизации, которое повсеместно присутствует во всех профессиональных средах. Эта цифровая трансформация была инициирована большинством компаний, больших и малых, и одним из основных направлений трансформации является оцифровка данных. Именно для этой цели была разработана служба компьютерного зрения: оптическое распознавание символов (OCR), широко известная как OCR.

Происхождение OCR восходит к 1950-м годам, когда Дэвид Шепард основал Intelligent Machines Research Corporation (IMRC), первого в мире поставщика систем OCR, используемых частными компаниями для преобразования печатных сообщений в машинный язык для компьютерной обработки.

Сегодня уже нет необходимости в системе, предназначенной для определенного шрифта. OCR-сервисы интеллектуальны, а OCR даже является одной из самых важных ветвей компьютерного зрения и, в более общем плане, искусственного интеллекта. Благодаря OCR можно получить текстовый файл со многих цифровых носителей:

  • PDF-файл
  • PNG, изображение JPG, содержащее надписи
  • Рукописные документы

Использование OCR для рукописных документов, изображений или документов в формате PDF может касаться компаний во всех областях и сферах деятельности. У некоторых компаний может быть более острая потребность в OCR для распознавания символов почерка в сочетании с обработкой естественного языка (NLP): анализ текста. Например, в банковской сфере OCR используется для утверждения чеков (данные, подпись, имя, сумма и т. д.) или для проверки кредитных карт (номер карты, имя, срок действия и т. д.). OCR широко используется во многих других секторах бизнеса, таких как здравоохранение (сканирование историй болезни), полиция (распознавание номерных знаков) или таможня (извлечение паспортной информации) и т. д.‍

Как работает распознавание текста:

Технология OCR состоит из 3 шагов:

  • Этап предварительной обработки изображения, который состоит из обработки изображения, чтобы его можно было использовать и оптимизировать для распознавания символов. Манипуляции перед обработкой включают в себя: повторное выравнивание, устранение интерференции, бинаризацию, удаление строк, зонирование, обнаружение слов, распознавание сценариев, сегментацию, нормализацию и т. д.
  • Извлечение статистических свойств изображения. Это ключевой шаг для поиска и идентификации символов на изображении, а также их структур.
  • Этап постобработки, заключающийся в преобразовании изображения таким, каким оно было до анализа, путем выделения «ограничивающих рамок» (прямоугольников, разграничивающих текст на изображении) идентифицированных последовательностей символов:

В этой статье кратко рассказывается, как использовать OCR с JavaScript. В этой статье мы увидим, что есть много способов сделать это, включая механизмы с открытым исходным кодом и облачные API.

Движки с открытым исходным кодом доступны бесплатно, такие решения часто можно найти на github. Вам просто нужно скачать библиотеку и использовать эти движки прямо с вашей машины. Напротив, облачные движки OCR предоставляются поставщиками ИИ, они продают вам запросы, которые вы можете обрабатывать через их API. Они могут продавать запросы по лицензионной модели (вы платите ежемесячную подписку, соответствующую определенному количеству запросов) или модели с оплатой по факту использования (вы платите только за отправляемые вами запросы).

Как выбрать между открытым исходным кодом и облачными движками?

Когда вы ищете механизм OCR, первый вопрос, который вы должны себе задать: какой тип механизма я выберу?

Конечно, главное преимущество двигателей OCR с открытым исходным кодом заключается в том, что они имеют открытый исходный код. Это означает, что это можно использовать бесплатно, и вы можете использовать код так, как хотите. Это позволяет потенциально изменять исходный код, гиперпараметризировать модель. Кроме того, у вас не будет проблем с конфиденциальностью данных, потому что вам придется размещать движок на своем собственном сервере, что также означает, что вам нужно будет настроить этот сервер, поддерживать его и гарантировать, что у вас будет достаточно вычислительной мощности для обработки все запросы.

С другой стороны, облачные механизмы OCR платят, но поставщик ИИ будет управлять сервером для вас, поддерживать и улучшать модель. В этом случае вы должны согласиться с тем, что ваши данные будут переданы в облако провайдера. Взамен провайдер обрабатывает миллионы данных, чтобы обеспечить очень производительный движок. Поставщик OCR также имеет серверы, которые могут поддерживать миллионы запросов в секунду без потери производительности или скорости.

Теперь, когда вы знаете плюсы и минусы движков с открытым исходным кодом и облачных движков, подумайте о том, что есть третий вариант: создать свой собственный движок OCR. С помощью этой опции вы можете построить движок на основе ваших собственных данных, что гарантирует вам хорошую производительность. Вы также сможете сохранить свои данные в безопасности и конфиденциальности. Однако у вас будет такое же ограничение на размещение вашего движка. Конечно, этот вариант можно рассматривать только в том случае, если у вас в компании есть способности к науке о данных. Вот краткое изложение того, когда следует выбирать между использованием существующих движков (облачных или с открытым исходным кодом) и созданием собственного:

Подсистемы OCR с открытым исходным кодом:

Существует несколько доступных OCR-движков с открытым исходным кодом, большинство из них можно найти на github. Вот самые известные из них:

Тессеракт:

Tesseract — это инструмент оптического распознавания символов (OCR) для JavaScript. То есть он распознает и «прочитает» текст, встроенный в изображения.

Существует обертка, которая заставляет Tesseract работать с JavaScript. Tesseract имеет поддержку Unicode (UTF-8) и может распознавать более 100 языков "из коробки".

Tesseract поддерживает различные форматы вывода: обычный текст, hOCR (HTML), PDF, PDF только для невидимого текста, TSV и ALTO.

докТР

docTR — это сквозное распознавание текста, предоставляемое Mindee. Он использует двухэтапный подход: обнаружение текста (локализация слов), затем распознавание текста (определение всех символов в слове). Таким образом, вы можете выбрать архитектуру, используемую для обнаружения текста, и архитектуру для распознавания текста из списка доступных реализаций.

Облачные механизмы OCR:

На рынке существует множество облачных OCR-модулей, и у вас возникнут проблемы с выбором правильного. Вот лучшие поставщики рынка:

  • Base64
  • облачный
  • OCR-пространство
  • Распознавание текста Google Cloud Vision
  • Амазонка Текст
  • Компьютерное зрение Microsoft Azure OCR

Все эти поставщики OCR могут обеспечить вам хорошую производительность для вашего проекта. В зависимости от языка, качества, формата и размера ваших документов лучший движок может варьироваться между всеми этими поставщиками. Единственный способ узнать, какого поставщика выбрать, — это сравнить производительность с вашими собственными данными.

API Eden AI OCR:

Именно здесь Eden AI вступает в ваш процесс. Eden AI OCR API позволяет использовать механизмы всех этих поставщиков с уникальным API, уникальным токеном и простой документацией по JavaScript.

Используя Eden AI, вы сможете сравнивать всех провайдеров с вашими данными, менять провайдера в любое время и звонить нескольким провайдерам одновременно. Вы будете платить ту же цену за запрос, как если бы вы подписались напрямую на API-интерфейсы поставщиков, и вы не потеряете производительность задержки.

Вот как использовать механизмы OCR в JavaScript с Eden AI SDK:

Если вы хотите позвонить другому провайдеру, вам достаточно изменить значение параметра провайдеры. Вы можете увидеть всех доступных провайдеров в Документации Eden AI. Конечно, вы можете вызвать несколько провайдеров в одном запросе, чтобы сравнить или объединить их.

Заключение

Как вы могли видеть в этой статье, существует множество вариантов использования OCR с JavaScript. Для разработчиков, у которых нет навыков работы с данными или которые хотят быстро и просто использовать механизмы OCR, доступно множество облачных и открытых движков. Каждый вариант имеет свои плюсы и минусы, вы знаете, что у вас есть подсказки, чтобы выбрать лучший вариант для вас.

Если вы выберете облачный механизм OCR, вам понадобится помощь, чтобы найти лучший вариант в соответствии с вашими данными. Более того, поставщики OCR часто обновляют и обучают свои модели. Это означает, что вам, возможно, придется изменить выбор вашего провайдера в будущем, чтобы сохранить максимальную производительность для вашего проекта. С Eden AI вся эта работа упрощается, и вы можете настроить механизм распознавания текста на JavaScript менее чем за 5 минут и в любой момент переключиться на лучшего поставщика.

Вы можете создать свою учетную запись Eden AI здесь и получить токен API, чтобы приступить к реализации механизма OCR в JavaScript!