Используйте OCR-технологии с элементами искусственного интеллекта

ContentReader® Engine. Многофункциональный OCR SDK для разработчиков

Многоядерные процессоры и параллельная обработка

Гибкая и масштабируемая архитектура ContentReader® Engine позволяет использовать многоядерные процессоры для обработки изображений в параллельных потоках, что значительно повышает скорость распознавания.
По умолчанию ContentReader® Engine определяет, использовать ли параллельную обработку автоматически в зависимости от нескольких факторов, таких как, число доступных физических и логических ядер процессора, число ядер в параметрах лицензии и числа страниц в документе. При необходимости настройки параллельной обработки можно изменить и выбрать необходимое число активных процессов.
ContentReader® Engine поддерживает два разных объекта, за счет которых обеспечивается параллельная обработка — FRDocument и BatchProcessor. Выбирайте объекты в зависимости от сценария использования.

Конвертация многостраничных документов с большим числом страниц

Данный сценарий подразумевает обработку больших документов и книг. В этом случае можно распараллелить распознавание страниц документа, а затем выполнить этапы синтеза и экспорта в главном процессе. Кроме того, можно организовать одновременную обработку нескольких многостраничных документов с использованием нескольких экземпляров SDK (pool of Engines), но при этом нужно быть готовым к тому, что возможны существенные утечки памяти, которые могут привести к сбоям программы.

Для параллельной обработки многостраничных документов Content AI рекомендует использовать объект FRDocument. Использование данного объекта наименее трудозатратно, поскольку разработчику не нужно реализовывать никаких дополнительных интерфейсов. В этом случае параллельно производятся только предобработка, анализ и распознавание, а синтез и экспорт выполняются последовательно в главном процессе.

Конвертация большого числа одностраничных документов

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

ContentReader® Engine позволяет решить данную задачу двумя способами:

Использование BatchProcessor
Преимущества этого метода заключаются в том, что его можно использовать для любого числа и типа документов, которые необходимо обработать прямо при поступлении. Этот метод, однако, требует больше усилий: пользователям понадобится реализовать интерфейсы файлового адаптера и пользовательского источника изображений. Документы открываются, предварительно обрабатываются, анализируются и распознаются параллельно.

Использование нескольких экземпляров SDK (a pool of Engines), загруженных в качестве
out-of-process COM-сервера
Это наиболее эффективный метод, который позволяет обеспечить высокую скорость и автоматически устраняет трудности, связанные с использованием многопоточности: все операции с объектами ContentReader® Engine сериализуются при помощи COM.

Закажите эффективное решение

Заполните форму и получите консультацию, как наиболее эффективно использовать наши решения для задач вашего бизнеса.