{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Почему ИИ сложно распознать текст на фото и как ему в этом помочь — пошаговая инструкция

Нейросетям по-прежнему тяжело находить текст на фото. Они справляются с отсканированными документами, но теряются в работе с фотографиями. Почему это происходит и как помочь ИИ в работе — рассказываем ниже.

Технологией распознавания документов сегодня уже никого не удивить. Мы за две минуты регистрируемся в каршеринге — для этого достаточно отправить фотографию паспорта и селфи, а также берём кредиты, не выходя из дома. И нет нужды перепечатывать многострочное «кем выдано» в нужную формочку, уж тем более идти в офис для подтверждения личности.

Несмотря на прогресс, мы по-прежнему вводим данные руками

Дело в том, что распознать текст на фотографии сложно. Низкое качество съедает отдельные слова, а из-за того, что мы фотографируем документ под углом, появляются перспективные искажения, с которыми алгоритму не справиться.

Также на результат влияет нестандартный фон (например, вместо белой стены — бабушкин ковер), в таком случае алгоритм не может определить границы документа.

Для сравнения возьмём сканер: он выдаёт текст на чистом белом фоне, где видны все поля и нет искажений. Отсканированные документы похожи друг на друга, поэтому достаточно сотни примеров, чтобы обучить нейросеть.

Скан VS Фото 

Один алгоритм хорошо, а четыре — лучше

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

Шаг 1: выравниваем изображение

Первый алгоритм, который вступает в игру, — выравниватель. Он находит границы документа и устраняет искажение на картинке. Даже в самом запущенном случае алгоритм исправит перспективу на фотографии, под каким бы углом её ни сняли, и найдёт края документа, если их нет в кадре.

Вжух — и перспектива исправлена 

Шаг 2: обрезаем поля

С углами разобрались, теперь эстафету перенимает второй алгоритм, чья задача найти поля на фото. Тут есть проблема: у каждого документа (паспорт, страховка, водительское удостоверение) своё расположение полей.

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

Готовим документ к распознаванию — находим все поля 

Шаг 3: распознаём текст

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

Волнительный момент — нейросеть переводит текст в цифру 

Шаг 4: исправляем ошибки

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

Что теперь

Это лишь вопрос времени, когда технология распознавания документов будет работать с фотографиями так же успешно, как со сканами. Однако добиться высокой точности можно уже сейчас — при использовании нескольких алгоритмов в одной цепочке процессов.

Больше историй про ИИ — в нашем Telegram-канале.

0
10 комментариев
Написать комментарий...
Smoke Dead

Если бы такие алгоритмы были встроены в стандартные приложения смартфонов(без скачивания левых приложений и тд).

Ответить
Развернуть ветку
Dmitry Putincev

А по существу, после "Даже в самом запущенном случае алгоритм исправит перспективу на фотографии, под каким бы углом её ни сняли, и найдёт края документа, если их нет в кадре." уже можно не читать)))

Ответить
Развернуть ветку
Алексей Хахунов

если у вас есть вопросы к тексту, я могу на них ответить. На данный момент ваше сообщение его не содержит.

Ответить
Развернуть ветку
Dmitry Putincev

Смотрим 17 марта 2015 года - http://www.cnews.ru/news/line/smart_engines_vypustila_reshenie_dlya Уже больше 4 лет паспорта РФ и другие документы можно распознавать на фото и в видеопотоке. При этом весь процесс обработки изображений и OCR могут выполняться автономно даже на обычном телефоне...

Ответить
Развернуть ветку
Алексей Хахунов

Дмитрий, спасибо за ваш комментарий. Боюсь вы имеете сильный байес к написанному тексту будучи директором по продажам в компании Smart Engines :)

Ответить
Развернуть ветку
Dmitry Putincev

Да, это действительно так))) а какое-то это имеет значение к факту распознавания паспорта РФ на фотографии?

Ответить
Развернуть ветку
Dmitry Putincev

Алексей, вопрос к тексту очевидный: вы действительно считаете, что ваш алгоритм исправит перспективу на фотографии снятой под любым углом?

Ответить
Развернуть ветку
Dmitry Putincev

Алексей, жду вашего ответа по существу статьи...

Ответить
Развернуть ветку
Алексей Хахунов

конечно же не под любым, но это дает нам возможность распознавать документы даже в очень сложных условиях съемок

Ответить
Развернуть ветку
Дмитрий Путинцев

Алексей, отличный ответ! И если бы вы писали эту статью, то была бы и отличная статья... Думаю, клиентам было бы очень интересно, если бы вы рассказали как распознаете данные паспорта РФ на изображениях, если алгоритм не смог найти документ на фотографии. Насколько я понимаю, в этот момент у вас подключается человек, который видит все изображение целиком и помогает ИИ, и хочется понять как решается вопрос обработки персональных данных?

Ответить
Развернуть ветку
7 комментариев
Раскрывать всегда