Лучшие практики
Общие практики
Чтобы получить максимальную отдачу от нашего SDK, ознакомьтесь со справочным руководством по основному интерфейсу библиотеки C++. Наши обертки созданы на его основе, и в руководстве можно найти описание полезных функций.
Инициализация движка распознавания может занять некоторое время. Однако следует учитывать, что в процессе распознавания движок остается неизменным. Его можно инициализировать только один раз, после чего из одного и того же движка можно запустить несколько сеансов распознавания. Сеансы могут создаваться параллельно, не оказыая влияния друг на друга.
Судить об уверенности системы в результате распознавания мы рекомендуем по значению флага isAccepted. Для более точного понимания уровня уверенности, вы можете ориентироваться на значение Confidence каждого текстового поля.
Избегайте предварительной обработки входных изображений. Наши продукты лучше всего работают с изображениями, полученными непосредственно с устройства захвата (камеры или сканера).
Избегайте слишком больших изображений. Не всегда высокое разрешение изображение влияет на качество его распознавания, а только увеличивает время обработки.
Для номеров телефонов и номеров банковских карт (не путать с распознаванием банковских карт) необходимо изображение с пропорциями 2:1. Например, если ширина изображения 500px, то его высота должна быть около 250px. Это ограничение связано с тем, что в этих пропорциях искомый объект занимает максимальную площадь на изображении. Именно на этот сценарий обучена наша поисковая сеть.
Мобильный SDK
Не храните свою персонализированную подпись в читаемом виде (т.е. в ресурсах). Всегда храните ее либо закодированной в бинарном файле приложения, либо подгружайте удаленно.
В мобильных SDK работайте с интерфейсом библиотеки асинхронно. Совмещайте инициализацию библиотеки и создание сессии до момента или вместе с открытием камеры. Это позволит сделать доступной кнопку сканирования документов практически сразу.
Инициализацию экземпляра движка распознавания следует выполнять один раз. Поскольку это самая ресурсоемкая операция, включая анализ изображений, инициализацию следует проводить вне UI-потока.
В мобильных SDK по умолчанию включена ленивая инициализация библиотеки. Рекомендуется оставить ее включенной и в ваших решениях.
Частым случаем интерфейса экрана распознавания является рисунок документа, наложенный на превью камеры. Это помогает пользователю совместить документ с камерой. Мы не рекомендуем делать обрезку изображения по вашему рисунку, поскольку алгоритм поиска этого типа документов работает очень быстро и объект может быть распознан раньше, чем пользователь поместит его в необходимую зону.
Серверный SDK
- Можно отключить внутреннюю многопоточность механизма распознавания, что заставит библиотеку загружать все ресурсы одновременно. Это позволит эффективно измерить максимальное потребление памяти.
- Если вы загружаете изображения из файла, убедитесь, что загруженные файлы размещены на высокопроизводительном дисковом устройстве. На некоторых устройствах время загрузки изображения из файла может превышать время самого распознавания.
- В серверных SDK по умолчанию отключена ленивая инициализация библиотеки. Рекомендуется оставить ее отключенной и в ваших решениях. Это сократит потребление памяти.