Слайд 2Directum Ario
Классификация документов (договор, акт выполненных работ, счёт и пр.).
Извлечение фактов из
документов (наименования организаций, даты, адреса и пр.).
Сравнение документов.
Поиск подписей и печатей.
Слайд 3План доклада
Проблема.
Поиск подписей при помощи OpenCV.
Введение в нейронные сети.
Поиск подписей с помощью
нейронных сетей.
Итоги.
Слайд 4Проблема
Пришёл заказчик, которому требовалось определять наличие подписи для валидации анкеты.
Слайд 5Поиск подписей при помощи OpenCV
Слайд 6Алгоритм
переводим в ч/б
находим контуры
берём наибольший
???
PROFIT!
Слайд 8Классификация “подпись/не подпись”
68%
Слайд 15Слои нейронной сети
Полносвязный слой (Dense layer).
Свёрточный слой (Convolutional layer).
Рекуррентный слой (Recurrent layer).
Слайд 16Слои нейронной сети
Полносвязный слой (Dense layer).
Свёрточный слой (Convolutional layer).
Рекуррентный слой (Recurrent layer).
Слайд 19Поиск подписей с помощью нейронных сетей
Слайд 20Работа в проекте с нейронными сетями
Постановка задачи.
Выбор метрик качества.
Поиск, подбор, разметка данных.
Выбор
и настройка нейронной сети.
Если метрики не устраивают возвращаемся к п.3.
Встраивание в сервис.
Слайд 28Что делать с результатом работы нейронной сети?
Подбираем порог на котором режем подписи:
фиксированный
вычисляемый
Слайд 32Прямоугольная разметка
Разметка подписей обрамляющими прямоугольниками
F1-мера: 72%
Слайд 33Аугментация
горизонтальное и вертикальное отражение
повороты на 90, 180, 270 градусов
F1-мера: 76%
Слайд 34Полигональная разметка
Разметка полигонами, приближенными к подписи
F1-мера: 82%
Слайд 35Тюнинг сети
добавили слои
изменили размер входного слоя
F1-мера: 87%
Слайд 36Плюсы
относительно быстрое обучение нейронной сети
небольшой размер обученной модели
простая и понятная архитектура
быстрое выполнение
на CPU
приемлемое качество
простое обучение
просто обучить на поиск других объектов
Слайд 37Минусы
сложно разделить “слипшиеся” объекты
из коробки не получилось обучить для нескольких классов (подписи,
печати)
из коробки качество местами не очень
могут возникнуть проблемы, если необходимо искать объекты разных размеров
Слайд 38Что дальше?
Deep Watershed Transform
другие архитектуры сетей
Слайд 39Ссылки
Keras U-Net starter
Understanding Semantic Segmentation with UNET
U-Net: Convolutional Networks for Biomedical Image
Segmentation
Глубокое обучение на Python