Исследование и практика технологии OCR CreditEase|Живое стенографирование

Идентификация изображения

Исследование и практика технологии OCR CreditEase | Полное воспроизведение видео

​ Поделитесь записью

1. Обзор оптического распознавания символов

1.1 Эволюция технологии распознавания текста

  • Традиционные изображения, обработка изображений Гонсалесом.

  • Обработка сигналов, анализ в частотной области и различные алгоритмы: SIFT, HOG, HOUGH, Harris, Canny... все отлично.

  • С 2016 года индустрия в основном повернулась к глубине, потому что эффект действительно хороший.

1.2 Бизнес-услуги технологии OCR

  • Класс удостоверения личности относительно прост, но не так просто делать сложные сцены.

  • Счета-фактуры и деловые документы относительно сложны.Помимо идентификации более важным является анализ макета.

  • Распознавание таблиц в последнее время относительно популярно, и все усердно работают над его достижением.

  • Мобильная магистральMobileNet или tesseract+opencv

2. Наш бизнес-сценарий

2.1 Бизнес-требования

Удовлетворение потребностей бизнеса является первой потребностью. В отличие от крупных фабрик, API внешних служб требует сильного параллелизма и полного разнообразия. Мы подчеркиваем, что единый продукт должен максимально соответствовать бизнес-требованиям, и подчеркиваем возможность настройки, которая может быть распределена и обратная связь может быть предоставлена, чтобы продолжать совершенствоваться.

2.2 Проблемы, которые необходимо решить в процессе идентификации

3. Подробное объяснение алгоритма OCR

3.1 Обзор алгоритма — принцип совместного использования

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

Модель, чтобы быть полностью понятой, требует:

  • Какова цель, цель, смысл?

  • Какова структура сети?

  • Что такое потеря?

  • Как сделать образец?

  • Что дала постобработка?

3.2 Обзор алгоритма — три основных сектора

  • Обнаружение текста: кадрируйте текст и уменьшите его до минимального диапазона, тем самым уменьшив сложность распознавания.

  • Распознавание текста: после обнаружения текст может быть распознан инструментом распознавания (алгоритмом), например, средним изображением.

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

3.3 Обзор алгоритма — алгоритм обнаружения

  • Алгоритмы обнаружения в таблице отсортированы снизу вверх по эффекту: все лучше и лучше

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

CTPN: Алгоритм поиска ящиков.

Окончательный результат прогноза: смещение по координате Y 10 якорей, значение корректировки высоты и вероятность того, является ли это передним планом или нет. Выходные данные — передний план и вероятности переднего плана [N, 10, 2], значения регулировки y, w [N, 10, 2]. Он подходит только для пейзажа или портрета, но не для обоих одновременно.

  • Модель в основном понимается из следующих аспектов

  • Основные моменты и основные идеи: окно предсказания и алгоритм построения текстовой строки.

  • Что такое потеря (функция потери): привязка вероятности переднего плана и фона, настройка y, w

  • Как сделать метку: сделайте большую рамку, превратите ее в маленькую рамку, а затем сбалансируйте положительный и отрицательный образцы.

  • Постобработка

  • Алгоритм назван EAST (Efficient and Accuracy Scene Text), потому что это эффективный и точный конвейер обнаружения текста сцены.

  • Во-первых, изображение загружается в сетевую структуру FCN, и создаются одноканальная карта характеристик текстовой оценки на уровне пикселей и многоканальная карта характеристик геометрии. Для текстовых областей были приняты две геометрии: повернутый прямоугольник (RBOX) и горизонтальная (QUAD), и для каждой геометрии были разработаны разные функции потерь; геометрия считалась допустимой и сохранялась для последующего немаксимального подавления. Результат после NMS считается окончательным результатом конвейера.

  • Последний прогноз: карта результатов, текстовое поле, вращение текста

  • Аннотации: маска, 4 изображения, расстояние между верхом, низом, левым и правым и угол: всего 3.

  • Соответственно можно получить убыток. Прогнозируется каждая точка плюс угол, это 1 ящик, ящиков слишком много, поэтому нам нужно объединиться с LANMS (алгоритм объединения). Почему бы не использовать socremap напрямую, я думаю, что уверенности недостаточно, поэтому нам нужно добавить bbox для усиления проверки.

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

  • FPN, используйте resnet50 слева. Почему resnet50, причина в том, что эффект хороший, а параметры умеренные.

  • В статье 6 масштабов, одного мало? Я понимаю, что нужно полностью разделить разные линии, постепенно расширять и постепенно масштабировать, чтобы предотвратить пересечение друг друга, ха-ха

  • И FPN, и UNET объединяются, а FCN добавляет детали.

  • После использования модуля БД операция бинаризации становится дифференцируемой и может быть добавлена ​​в сеть для обучения.

сетевой выход

  • Карта вероятностей, представляющая вероятность того, что пиксель является текстом.

  • thresholdmap, порог для каждого пикселя

  • бинарная карта, рассчитанная из 1,2, формула расчета - формула БД

изготовление этикеток

  • Карта вероятностей может быть составлена ​​по методу pse, а коэффициент сжатия установлен равным 0,4.

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

3.4 Обзор алгоритма — алгоритм распознавания

  • Внимание: самая ранняя попытка извлечения структурированной информации на основе внимания из изображений просмотра улиц-2017.

Очень классический алгоритм, основным ядром которого является алгоритм CTC: Connectionist Temporal Classification (CTC) подходит для алгоритмов, которые не знают, выровнены ли входные и выходные данные, поэтому CTC подходит для задач распознавания речи и распознавания рукописных символов.

Недостаток: вектор признаков нельзя точно связать с соответствующей целевой областью на входном изображении, явление, называемое рассеянием внимания.

Взаимное обучение:

  • Что мы знаем? Какой персонаж, сколько? Эта информация!

  • Какой персонаж? Найдите этого персонажа, сколько? Затем сравните с порядком в образце

  • Какой первый персонаж? По сравнению с персонажем на соответствующей позиции

  • Таким образом, в образце не может быть повторяющихся символов.

4. Наша практика

4.1 Путь практики

  • Недокументы: соотношение сторон, соотношение белых пикселей и т. д.

  • Угол поворота: как упоминалось ранее, путем поворота модели и распределения проекций

  • Несколько документов: несколько документов вместе, сквозная проекция, настройка порогового гиперпараметра

  • Распознавание таблиц: используйте метод mask-rcnn для поиска краев больших таблиц.

  • Постобработка: исправление ошибок с помощью НЛП, которое будет подробно рассмотрено позже.

4.2 Путь к практике — вращение модели

суждение общего направления

Первое издание:

  • VGG как магистраль, полное подключение, четыре классификации

  • Образец: ручная аннотация, улучшение

  • 90% правильный курс

второе издание:

  • Вырезать, 256x256

  • Используйте MSER для поиска альтернатив

  • Миниатюра обучения

  • Режим выбирает наиболее вероятное направление

  • Правильная ставка 99,7%

тонкая настройка

  • Вертикальная проекция на каждый поворот на 1°

  • Угол с наибольшей дисперсией является углом точной настройки.

4.3 Яма, с которой мы столкнулись

  • Замените пользовательскую сеть cnn в документе crnn на resnet, но resnet в 32 раза меньше, поэтому его нужно растянуть до 512.

  • Первый: набор образцов составляет 10 миллионов (500 000 штук, с доверительной вероятностью 95%+) 1 миллион реальных + 1 миллион часто используемых слов (сделанных) + 2 миллиона цифровых временных английских (сделанных) + 6 миллионов других китайских иероглифов. (сделано) Вероятно, потребуется 3-4 дня

  • Далее для обучения: Resnet50, 5-6 дней Resize увеличено, 1024, => 512x8, 256x8

В процессе работы жадный алгоритм нуждается в доработке:

    =>beam_search/merge_repeated=True

    单独测是有问题,但是在置信度很高的情况下,两者差距很小,但是得到了极大的速度改进,28秒=>10秒,batch=128,size是512x32

  • Поскольку есть вероятность crnn, исправление ошибок является целевым, и подозрительное слово заменяется определенным словом,

  • Проба имеет детализацию, если она стоит рядом со словом "__ I I __", берется самая большая проба,

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

4.4 Наш опыт

1. Опыт разработки

2. Опыт производства

Контейнер тензорного потока

  • Развертывание модели использует официально рекомендованный контейнерный метод tensorflowserving.

  • Дозирование не включено, контролируйте дозирование самостоятельно

  • Хосту нужен только драйвер видеокарты Контейнер содержит CUDA и cuDNN, что устраняет необходимость адаптации версии

Сервисный контейнер:

  • Определите свой собственный базовый образ веб-контейнера

  • Автоматически создавать контейнеры, динамически оркестрировать

Автор статьи: Лю Чуанг, Исиньский технологический институт