В данной работе рассматриваются особенности применения технологии OCR на мобильных устройствах. На основе проведенного исследования были выявлены наиболее перспективные методы решения проблем, связанных с использованием данной технологии, которые позволят применять оптическое распознавание символов на мобильных устройствах повсеместно для сокращения временных затрат на выполнение поиска необходимой информации.
Ключевые слова: OCR, оптическое распознавание символов, коррекция ошибок, предварительная обработка изображений.
На сегодняшний день поиск в сети Интернет является незаменимой вещью. Популярные поисковые системы обрабатывают несколько сотен миллионов запросов в день. Поисковые системы также активно применяются для осуществления внутреннего поиска в крупных веб-ресурсах. Во время исследований Baymard Institute [1] было выявлено, что 60 % пользователей начинали взаимодействие с сайтом именно с поиска.
Важным фактором при осуществлении поиска является время, затрачиваемое на получение необходимого результата. Условно процесс поиска информации можно разделить на три этапа: создание запроса, выполнение поиска, получение результата. Оптимизация каждого из этих этапов позволит сократить временные затраты на нахождение необходимой информации, при этом большое внимание уделяется этапу формирования запроса.
На этапе создания запроса пользователю необходимо ввести ключевые слова, по которым будет производиться поиск. Для получения наиболее точного результата необходимо как можно более конкретно сформулировать запрос, а при вводе данных вручную на этот процесс затрачивается большое количество времени.
В настоящей работе будет описано, как использование технологии оптического распознавания символов способно сократить временные затраты на выполнение поиска необходимой информации, а также особенности применения OCR на мобильных устройствах.
Оптическое распознавание символов (OCR — optical character recognition) — это процесс обнаружения и чтения текста с изображения при помощи компьютерного зрения [2]. Использование OCR позволяет поисковым системам производить поиск без ввода запроса вручную. Система способна распознавать текст с изображения, формировать запрос и осуществлять поиск по сформированному запросу. Однако такой подход может быть применен лишь в мобильных поисковых системах, так как требует доступа к камере устройства.
В настоящее время данная технология используется в мобильном приложении Google Lens. Оно способно считывать текст с изображения, определять предметы и места, изображенные на фото. Фотографию можно как загрузить из галереи, так и сделать прямо в приложении. После выполнения распознавания текста пользователю предлагается выделить его часть, содержащую поисковой запрос.
Применение технологии OCR в данном приложении действительно сокращает время на формирование запроса по сравнению с вводом данных вручную, когда запрос содержит большое количество информации, математические формулы, иностранные слова и т. д. За время существования Google Lens приложение было установлено на мобильные устройства более миллиарда раз, что указывает на актуальность использования OCR при осуществлении поиска. Однако данная технология не используется в аналогичных поисковых системах ввиду ряда особенностей ее применения, которые будут рассмотрены далее.
В случае использования OCR на мобильных устройствах возникают две трудности: ограничения на вычислительные мощности и неконтролируемые условия съемки. При работе с персональными документами или банковскими бумагами важно обеспечить максимум конфиденциальности и минимизировать риск утечки данных, что обеспечивается распознаванием текста непосредственно на устройстве [3]. Однако при этом накладываются ограничения на вычислительную сложность алгоритмов, так как важно, чтобы система работала быстро и была как можно менее ресурсоемкой.
Кроме того, меньшие ограничения на условия съемки значительно расширяют диапазон возможных искажений. Появляются проективные искажения, смазывание, перепады яркости, блики и многое другое [3]. Все это существенно влияет на этапы предобработки и постобработки.
На практике выделяют следующие базовые задачи предварительной обработки изображений:
— обрезка изображения для выделения области, содержащей текст;
— повышение контрастности;
— поворот изображения;
— создание зеркального отражения;
— изменение масштаба.
Существуют OCR-библиотеки, которые содержат встроенный продвинутый функционал, необходимый для предварительной обработки изображений, что значительно повышает точность распознавания текста. Примером такой библиотеки является ABBYY FineReader Engine. Однако из-за высокой стоимости таких библиотек на практике применяются следующие возможности: использование OCR-библиотек с ограниченным числом функций предобработки изображений, использование сторонних библиотек для улучшения качества изображений, обработка изображений вручную.
На этапе пост-процессинговой коррекции ошибок возможна корректировка большинства статистически значимых ошибок распознавания, включая самые распространенные — ошибки сегментации и орфографии [4].
Основные подходы по реализации машинной пост-процессинговой коррекции ошибок включают в себя:
— проверку правописания с использованием нейронных сетей;
— сверку с шаблонами;
— коррекцию наиболее вероятных ошибок с использованием статистического анализа;
— проверку орфографии сторонними библиотеками, например Google Spell Check.
Использование нескольких видов пост-процессинговой коррекции ошибок снижает количество ошибок в распознанном тексте, однако результат зависит от качества исходного текста, что достигается на этапе предварительной обработки изображения.
Вопросы, связанные с эффективностью алгоритмов распознавания текста, также решаются несколькими способами. При отсутствии конфиденциальной информации на изображении допустимо применение облачных сервисов, поддерживающих технологию OCR. Примером такого сервиса является Google Cloud Vision API. Он работает на основе REST API и не требует нагрузки на процессор телефона, однако его использование подразумевает наличие у мобильного устройства постоянного доступа к сети Интернет.
Для выполнения распознавания текста непосредственно на устройстве необходимо придумывать абсолютно новые алгоритмы и переосмысливать уже известные подходы. Примером переосмысления старых подходов можно считать замену алгоритмов сегментации, основанных на обработке изображений, на сегментирующие нейронные сети. Наиболее многообещающей моделью для данного подхода является полносверточная нейронная сеть [3]. Такой подход может использоваться в том случае, когда невозможно выделить отдельные буквы из текста и корректно их распознать.
Таким образом, дальнейшее исследование путей увеличения точности распознавания текста и создание в результате программного обеспечения для автоматизированной предобработки изображений позволит применять оптическое распознавание символов на мобильных устройствах повсеместно. Также перспективным направлением является применение облачных сервисов при работе с OCR, однако для этого необходимо обеспечить конфиденциальность данных, передаваемых по сети Интернет.
Литература:
- Deconstructing E-Commerce Search: The 8 Most Common Query Types. — Текст: электронный // Baymand Institute: [сайт]. — URL: https://baymard.com/blog/ecommerce-search-query-types (дата обращения: 03.12.2021).
- Optical Character Recognition: What is It and How Does it Work. — Текст: электронный // V7: [сайт]. — URL: https://www.v7labs.com/blog/ocr-guide (дата обращения: 03.12.2021).
- Что такое OCR? Зачем нужно оптическое распознавание символов в современном мире мобильных технологий? — Текст: электронный // Smart Engines: [сайт]. — URL: https://smartengines.ru/blog/chto-znachit-raspoznavanie-ocr/ (дата обращения: 10.12.2021).
- Шакиров, И. Ш. Автоматизация ручной корректировки ошибок оптического распознавания символов / И. Ш. Шакиров, Б. А. Калаков. — Текст: непосредственный // Инженерные решения. — 2020. — № 3 (13). — С. 7–13.