Исследование и практика технологии 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, что устраняет необходимость адаптации версии
Сервисный контейнер:
-
Определите свой собственный базовый образ веб-контейнера
-
Автоматически создавать контейнеры, динамически оркестрировать
Автор статьи: Лю Чуанг, Исиньский технологический институт