Разделы презентаций


Распознаем документы с помощью FPN и Tesseract

Содержание

Who are you, again?2015-2019 Бакалавриат Data Science2018-nowРазработчик машинного обучения

Слайды и текст этой презентации

Слайд 1Распознаем документы с помощью FPN и Tesseract
Панченко Иван
Telegram: @piaxar
Mail: i.a.panchenko@icloud.com

Распознаем документы с помощью FPN и TesseractПанченко ИванTelegram: @piaxarMail: i.a.panchenko@icloud.com

Слайд 2Who are you, again?
2015-2019
Бакалавриат Data Science
2018-now
Разработчик машинного обучения

Who are you, again?2015-2019 Бакалавриат Data Science2018-nowРазработчик машинного обучения

Слайд 3Глава 1 О проблеме

Глава 1   О проблеме

Слайд 4Описание проблемы
Пользователь
Электронная подпись
Шаг 1
Шаг 2
Шаг 3

Описание проблемыПользовательЭлектронная подписьШаг 1Шаг 2Шаг 3

Слайд 5Описание проблемы
Пользователь
Электронная подпись
Шаг 1
Шаг 2
Шаг 3
Заполнить данные в форму

Описание проблемыПользовательЭлектронная подписьШаг 1Шаг 2Шаг 3Заполнить данные в форму

Слайд 6Описание проблемы
Пользователь
Электронная подпись
Шаг 1
Шаг 2
Шаг 3
Распечатать и подписать заявление

Описание проблемыПользовательЭлектронная подписьШаг 1Шаг 2Шаг 3Распечатать и подписать заявление

Слайд 7Описание проблемы
Пользователь
Электронная подпись
Шаг 1
Шаг 2
Шаг 3
Отправить на проверку
и дождаться одобрения

Описание проблемыПользовательЭлектронная подписьШаг 1Шаг 2Шаг 3Отправить на проверкуи дождаться одобрения

Слайд 8Описание проблемы
Пользователь
Электронная подпись
Шаг 1
Шаг 2
Шаг 3

Описание проблемыПользовательЭлектронная подписьШаг 1Шаг 2Шаг 3

Слайд 9Описание проблемы
Шаг 1
Шаг 2
Шаг 3

Описание проблемыШаг 1Шаг 2Шаг 3

Слайд 10Описание проблемы
Шаг 1
Шаг 2
Шаг 3

Описание проблемыШаг 1Шаг 2Шаг 3

Слайд 11Описание проблемы
Шаг 1
Шаг 2
Шаг 3

Описание проблемыШаг 1Шаг 2Шаг 3

Слайд 12Описание проблемы
Шаг 1
Шаг 3
Шаг 2

Описание проблемыШаг 1Шаг 3Шаг 2

Слайд 13Интересные цифры
Время оператора
на 1 заявление:
2 МИН.

Интересные цифрыВремя операторана 1 заявление:2 МИН.

Слайд 14Интересные цифры
Время оператора
на 1 заявление:
2 МИН.
Время ожидания
очереди к оператору:
2-4

ЧАСА
x кол-во ошибок

Интересные цифрыВремя операторана 1 заявление:2 МИН.Время ожидания очереди к оператору:2-4 ЧАСАx кол-во ошибок

Слайд 15Решение
Распознаем скан/фото и предупреждаем об ошибках:
не совпадает дата
не совпадает номер

телефона
не совпадают реквизиты паспорта
нет подписи

РешениеРаспознаем скан/фото и предупреждаем об ошибках:не совпадает датане совпадает номер телефонане совпадают реквизиты паспортанет подписи…

Слайд 16Глава 2 О том, как устроена архитектура решения

Глава 2   О том, как устроена архитектура решения

Слайд 17Цели
Быстро для создания
Контролируемо
Поменьше велосипедов

ЦелиБыстро для созданияКонтролируемоПоменьше велосипедов

Слайд 18Заявление

Заявление

Слайд 19Заявление
QR код
Таблица
Дата
Паспортные данные
Блок подписей
+ печать
Телефон

ЗаявлениеQR кодТаблицаДатаПаспортные данныеБлок подписей+ печатьТелефон

Слайд 201 giant model
End2End

1 giant modelEnd2End

Слайд 211 giant model
End2End – way too heavy
Долго и сложно создавать
Очень

сложно контролировать

1 giant modelEnd2End – way too heavyДолго и сложно создаватьОчень сложно контролировать

Слайд 22OCR
OCR + rules
rules

OCROCR + rulesrules

Слайд 23OCR
OCR + rules – way too unstable
rules
Низкое качество
Сложные и нестабильные

правила

OCROCR + rules – way too unstablerulesНизкое качествоСложные и нестабильные правила

Слайд 24QR код
Таблица
Дата
Паспортные данные
Блок подписей
+ печать
Телефон

QR кодТаблицаДатаПаспортные данныеБлок подписей+ печатьТелефон

Слайд 25QR код
Таблица
Дата
Паспортные данные
Блок подписей
+ печать
Телефон

QR кодТаблицаДатаПаспортные данныеБлок подписей+ печатьТелефон

Слайд 26Таблица
Дата
Паспортные данные
Блок подписей
+ печать
Телефон

ТаблицаДатаПаспортные данныеБлок подписей+ печатьТелефон

Слайд 27Pipeline
Segmentation
Text recognition
Дата
Телефон
Другие данные
ФИО, серия, номер
Multilabel classification
Есть печать
Есть подпись субъекта
Есть расшифровка

PipelineSegmentationText recognitionДатаТелефонДругие данныеФИО, серия, номерMultilabel classificationЕсть печатьЕсть подпись субъектаЕсть расшифровка

Слайд 28Pipeline
Segmentation
Text recognition
Multilabel classification
Есть печать
Есть подпись субъекта
Есть расшифровка
Orientation
Дата
Телефон
Другие данные
ФИО, серия, номер

PipelineSegmentationText recognitionMultilabel classificationЕсть печатьЕсть подпись субъектаЕсть расшифровкаOrientationДатаТелефонДругие данныеФИО, серия, номер

Слайд 29Pipeline
Segmentation
Text recognition
Multilabel classification
Есть печать
Есть подпись субъекта
Есть расшифровка
Orientation
Box extraction
Дата
Телефон
Другие данные
ФИО, серия,

номер

PipelineSegmentationText recognitionMultilabel classificationЕсть печатьЕсть подпись субъектаЕсть расшифровкаOrientationBox extractionДатаТелефонДругие данныеФИО, серия, номер

Слайд 30Технологии
Text recognition
Multilabel classification
Есть печать
Есть подпись субъекта
Есть расшифровка
Дата
Телефон
Другие данные
ФИО, серия, номер
Segmentation
Orientation
Box

extraction
MobileNet
FFT / MobileNet для поворотов

FPN для сегментации
Tesseract + эвристики

ТехнологииText recognitionMultilabel classificationЕсть печатьЕсть подпись субъектаЕсть расшифровкаДатаТелефонДругие данныеФИО, серия, номерSegmentationOrientationBox extractionMobileNetFFT / MobileNet для поворотовFPN для сегментации

Слайд 31Глава 3 О граблях, технологиях и озарениях

Глава 3   О граблях, технологиях  и озарениях

Слайд 32Segmentation
Text recognition
Multilabel classification
Есть печать
Есть подпись субъекта
Есть расшифровка
Orientation
Box extraction
Предобработка картинки
Сегментация
Распознавание текста
Дата
Телефон
Другие

данные
ФИО, серия, номер

SegmentationText recognitionMultilabel classificationЕсть печатьЕсть подпись субъектаЕсть расшифровкаOrientationBox extractionПредобработка картинкиСегментацияРаспознавание текстаДатаТелефонДругие данныеФИО, серия, номер

Слайд 33Предобработка картинки
Сегментация
Распознавание текста
Как сделать поворот картинок?

Предобработка картинкиСегментацияРаспознавание текстаКак сделать поворот картинок?

Слайд 34Предобработка картинки
Сегментация
Распознавание текста
Как максимально глупо (но очень быстро) сделать поворот

картинки?

Предобработка картинкиСегментацияРаспознавание текстаКак максимально глупо (но очень быстро) сделать поворот картинки?

Слайд 35Предобработка картинки
Сегментация
Распознавание текста
Как максимально глупо (но очень быстро) сделать поворот

картинки?
сделать обучающую разметку на глаз
начать с модели (MobileNet), вместо алгоритма
обучать

как классификацию на 360 классов
Loss: categorical_crossentropy
Предобработка картинкиСегментацияРаспознавание текстаКак максимально глупо (но очень быстро) сделать поворот картинки?сделать обучающую разметку на глазначать с модели

Слайд 36Предобработка картинки
Сегментация
Распознавание текста
Как максимально глупо (но очень быстро) сделать поворот

картинки?
сделать обучающую разметку на глаз
начать с модели, вместо алгоритма
обучать как

классификацию на 360 классов
Loss: categorical_crossentropy

Loss (2 градуса разницы) = Loss (45 градусов разницы)

Предобработка картинкиСегментацияРаспознавание текстаКак максимально глупо (но очень быстро) сделать поворот картинки?сделать обучающую разметку на глазначать с модели,

Слайд 37Предобработка картинки
Сегментация
Распознавание текста
Как максимально глупо поворачивать картинку?
Метрика: среднее отклонение угла
Было
Предсказание

Предобработка картинкиСегментацияРаспознавание текстаКак максимально глупо поворачивать картинку?Метрика: среднее отклонение углаБылоПредсказание

Слайд 38Предобработка картинки
Сегментация
Распознавание текста
Вывод:
Иногда самое тупое решение может оказаться неплохим baseline-ом.
P.S.

В конечном итоге мы используем Fast Fourier transform (FFT)

Предобработка картинкиСегментацияРаспознавание текстаВывод:Иногда самое тупое решение может оказаться неплохим baseline-ом.P.S. В конечном итоге мы используем Fast Fourier

Слайд 39Segmentation
Text recognition
Multilabel classification
Есть печать
Есть подпись субъекта
Есть расшифровка
Orientation
Box extraction
Предобработка картинки
Сегментация
Распознавание текста
Дата
Телефон
Другие

данные
ФИО, серия, номер

SegmentationText recognitionMultilabel classificationЕсть печатьЕсть подпись субъектаЕсть расшифровкаOrientationBox extractionПредобработка картинкиСегментацияРаспознавание текстаДатаТелефонДругие данныеФИО, серия, номер

Слайд 40Предобработка картинки
Сегментация
Распознавание текста
FPN – Feature Pyramid Network
https://arxiv.org/abs/1612.03144

Предобработка картинкиСегментацияРаспознавание текстаFPN – Feature Pyramid Networkhttps://arxiv.org/abs/1612.03144

Слайд 41Предобработка картинки
Сегментация
Распознавание текста
https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c
FPN:
ну очень быстрый обзор

Предобработка картинкиСегментацияРаспознавание текстаhttps://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106cFPN:ну очень быстрый обзор

Слайд 42Предобработка картинки
Сегментация
Распознавание текста
https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c
FPN:
ну очень быстрый обзор
U

Предобработка картинкиСегментацияРаспознавание текстаhttps://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106cFPN:ну очень быстрый обзорU

Слайд 43Предобработка картинки
Сегментация
Распознавание текста
https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c
Bottom-up:
понижаем разрешение, увеличиваем семантический смысл картинки

Предобработка картинкиСегментацияРаспознавание текстаhttps://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106cBottom-up:понижаем разрешение, увеличиваем семантический смысл картинки

Слайд 44Предобработка картинки
Сегментация
Распознавание текста
https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c
Top-down:
восстанавливаем разрешение картинки

Предобработка картинкиСегментацияРаспознавание текстаhttps://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106cTop-down:восстанавливаем разрешение картинки

Слайд 45Предобработка картинки
Сегментация
Распознавание текста
https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c
1x1 свертки:
повторяют смысл skip-connections в ResNet

Предобработка картинкиСегментацияРаспознавание текстаhttps://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c1x1 свертки:повторяют смысл skip-connections в ResNet

Слайд 46Предобработка картинки
Сегментация
Распознавание текста
https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c
Предсказания каждого слоя скейлятся к нужному размеру и

соединяются в финальное предсказание.

Предобработка картинкиСегментацияРаспознавание текстаhttps://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106cПредсказания каждого слоя скейлятся к нужному размеру и соединяются в финальное предсказание.

Слайд 47Предобработка картинки
Сегментация
Распознавание текста
More on segmentation model
Модель сегментации:
FPN
Backbone – ResNet, предтренированный

на Imagenet
https://github.com/qubvel/segmentation_models

Предобработка картинкиСегментацияРаспознавание текстаMore on segmentation modelМодель сегментации:FPNBackbone – ResNet, предтренированный на Imagenethttps://github.com/qubvel/segmentation_models

Слайд 48Предобработка картинки
Сегментация
Распознавание текста
More on segmentation model
Модель сегментации
FPN
Backbone – ResNet, предтренированный

на Imagenet
https://github.com/qubvel/segmentation_models
Input shape: (512, 512, 3)

Output shape:
(512, 512, 7)
6 classes

+ 1 background
Предобработка картинкиСегментацияРаспознавание текстаMore on segmentation modelМодель сегментацииFPNBackbone – ResNet, предтренированный на Imagenethttps://github.com/qubvel/segmentation_modelsInput shape: (512, 512, 3)Output shape:(512,

Слайд 49Предобработка картинки
Сегментация
Распознавание текста
More on segmentation model
Модель сегментации
FPN
Backbone – ResNet, предтренированный

на Imagenet
https://github.com/qubvel/segmentation_models
Input shape: (512, 512, 3)

Output shape:
(512, 512, 7)
6 classes

+ 1 background

Optimizer: Adam
Loss: bce_jaccard_loss
Metric: IOU-score

Предобработка картинкиСегментацияРаспознавание текстаMore on segmentation modelМодель сегментацииFPNBackbone – ResNet, предтренированный на Imagenethttps://github.com/qubvel/segmentation_modelsInput shape: (512, 512, 3)Output shape:(512,

Слайд 50Предобработка картинки
Сегментация
Распознавание текста
Spinoff
bce_jaccard_loss


Balanced cross entropy +
Jaccard loss
IoU metric

Предобработка картинкиСегментацияРаспознавание текстаSpinoffbce_jaccard_loss Balanced cross entropy + Jaccard lossIoU metric

Слайд 51Предобработка картинки
Сегментация
Распознавание текста
More on segmentation model
Модель сегментации
FPN
Backbone – ResNet, предтренированный

на Imagenet
https://github.com/qubvel/segmentation_models
Input shape: (512, 512, 3)

Output shape:
(512, 512, 7)
6 classes

+ 1 background

Optimizer: Adam
Loss: bce_jaccard_loss
Metric: IOU-score

Augmentations
https://github.com
/albumentations-team/albumentations

60 epochs
BS: 24

Предобработка картинкиСегментацияРаспознавание текстаMore on segmentation modelМодель сегментацииFPNBackbone – ResNet, предтренированный на Imagenethttps://github.com/qubvel/segmentation_modelsInput shape: (512, 512, 3)Output shape:(512,

Слайд 52Предобработка картинки
Сегментация
Распознавание текста
Вывод
Value: 0.9847

Предобработка картинкиСегментацияРаспознавание текстаВыводValue: 0.9847

Слайд 53Segmentation
Text recognition
Multilabel classification
Есть печать
Есть подпись субъекта
Есть расшифровка
Orientation
Box extraction
Предобработка картинки
Сегментация
Распознавание текста
Дата
Телефон
Другие

данные
ФИО, серия, номер

SegmentationText recognitionMultilabel classificationЕсть печатьЕсть подпись субъектаЕсть расшифровкаOrientationBox extractionПредобработка картинкиСегментацияРаспознавание текстаДатаТелефонДругие данныеФИО, серия, номер

Слайд 54Предобработка картинки
Сегментация
Распознавание текста
Дано:

Предобработка картинкиСегментацияРаспознавание текстаДано:

Слайд 55Предобработка картинки
Сегментация
Распознавание текста
Мы распознаем текст с помощью Tesseract
https://github.com/tesseract-ocr/
Open Source OCR

Engine

OCR – Optical Character Recognition

Предобработка картинкиСегментацияРаспознавание текстаМы распознаем текст с помощью Tesseracthttps://github.com/tesseract-ocr/Open Source OCR EngineOCR – Optical Character Recognition

Слайд 56Предобработка картинки
Сегментация
Распознавание текста
Tesseract – очень хорош

Предобработка картинкиСегментацияРаспознавание текстаTesseract – очень хорош

Слайд 57Предобработка картинки
Сегментация
Распознавание текста
Tesseract – очень хорош, но капризен
Detected:

322->

Предобработка картинкиСегментацияРаспознавание текстаTesseract – очень хорош, но капризенDetected:

Слайд 58Предобработка картинки
Сегментация
Распознавание текста
Tesseract – очень хорош, но капризен
Detected: + 9

322-
Detected: +7 (937) 322-00-70,
86% -> 96% accuracy

Предобработка картинкиСегментацияРаспознавание текстаTesseract – очень хорош, но капризенDetected: + 9 322-Detected: +7 (937) 322-00-70,86% -> 96% accuracy

Слайд 59Предобработка картинки
Сегментация
Распознавание текста
Магия для Tesseract’а

Предобработка картинкиСегментацияРаспознавание текстаМагия для Tesseract’а

Слайд 60Предобработка картинки
Сегментация
Распознавание текста
Магия для Tesseract’а
Padding
Scaling

Предобработка картинкиСегментацияРаспознавание текстаМагия для Tesseract’аPaddingScaling

Слайд 61Предобработка картинки
Сегментация
Распознавание текста
Что ещё полезно знать о Tesseract
Используйте Tesseract V4,

у которого под капотом LSTM
Смотрите за версиями языковых пакетов, разница

в точности распознавания ~ 5%
Tesseract best – медленнее в 1,5 раза, но + 1,5% точности
Предобработка картинкиСегментацияРаспознавание текстаЧто ещё полезно знать о TesseractИспользуйте Tesseract V4, у которого под капотом LSTMСмотрите за версиями

Слайд 62Предобработка картинки
Сегментация
Распознавание текста
Вывод:
Tesseract – на удивление простое в использовании и

качественное решение.

Зная о тонкостях работы с ним и используя некоторые

трюки, можно получить стабильное решение для production-а.
Предобработка картинкиСегментацияРаспознавание текстаВывод:Tesseract – на удивление простое в использовании и качественное решение.Зная о тонкостях работы с ним

Слайд 63Глава 4: Завершающая

Глава 4:   Завершающая

Слайд 64Итоги
Accuracy so far:
даты: 98%
телефоны: 96%
паспортные данные: 86%
Summary:
FPN – очень сильная

архитектура для подобных задач
Tesseract – используем аккуратно и радуемся
иногда странные

вещи тоже могут работать
ИтогиAccuracy so far:даты: 98%телефоны: 96%паспортные данные: 86%Summary:FPN – очень сильная архитектура для подобных задачTesseract – используем аккуратно

Слайд 65 Готов ответить на ваши вопросы

Готов ответить на ваши вопросы

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика