Стажировка по проекту
Компания: ООО «ОТР 2000»
Система распознавания документов
Суть проекта
Задача
Для чего
Вводные данные
Выходные данные
Распознавание данных паспортов, СНИЛС, ИНН по фотографии
Повышение эффективности процесса найма сотрудников, сокращение времени и трудозатрат при кадровом делопроизводстве
База изображений заказчиком не предоставлялась, участники стажировки собирали ее самостоятельно
Паспорт - 300 шт
СНИЛС - 320 шт
ИНН - 150 шт
Достигнутая точность распознавания
Паспорт - 60%
СНИЛС - 85%
ИНН - 85%
Участники команды проекта
1 этап
  • Хабаров Иван
    Тимлид проекта
    Иван - руководитель группы разработчиков, отвечал за полную разработку проекта
  • Глебов Павел
    Наладчик технологического оборудования
    • Обучение моделей YOLOV5;
    • Формирование синтетических данных;
    • Анализ данных/поиск материалов;
    • Разметка данных.
  • Ламыкина Анна
    Работала в сфере импорта и экспорта для проекта Газпрома
    • Обучение моделей YOLOV5;
    • Анализ данных/поиск материалов;
    • Разработка механизма автоматического поворота документов;
    • Разметка данных.
  • Белкина Эльвира
    Специалист биллинговых систем операторов связи
    • Обучение моделей YOLOV5;
    • Анализ данных/поиск материалов;
    • Разработка механизма автоматического поворота документов;
    • Разметка данных.
  • Ивченко Андрей
    Инженер АСУ ТП
    Работал в проектах на Северном потоке и в Сирии
    • Обучение моделей YOLOV5;
    • Анализ данных/поиск материалов;
    • Разработка механизма автоматического поворота документов;
    • Рразметка данных.
  • Носов Дмитрий
    Программист VBA (Excel)
    • Сборка итогового модуля;
    • Обучение моделей YOLOV5, EasyOCR;
    • Разработка механизма автоматического поворота документов;
    • Формирование синтетических данных;
    • Разметка данных.
  • Шубин Илья
    Инженер-комплектовщик в Спортмастере
    • Обучение моделей YOLOV5, EasyOCR;
    • Анализ данных/поиск материалов;
    • Разработка механизма автоматического поворота документов;
    • Разметка данных.
  • Макаров Алексей
    Руководитель направления по развитию ИИ в компании
    • Обучение моделей YOLOV5, EasyOCR;
    • Разработка механизма автоматического поворота документов;
    • Формирование синтетических данных;
    • Анализ данных/поиск материалов;
    • Разметка данных.
Участники команды проекта
2 этап
  • Терещенко Алексей
    Тимлид проекта
    Алексей - руководитель группы разработчиков, отвечал за полную разработку проекта
  • Драгинда Юлия
    Научный сотрудник (CIRMMT, Монреаль, Канада)
    • Сбор и предварительная обработка базы данных, подготовка данных для обучения моделей распознавания;
    • Построение моделей распознавания текста на основе CTC loss, эксперименты с различной архитектурой. Получилось создать достаточно надежные модели и улучшить точность распознавания для проблемных полей в паспортах («Кем выдан паспорт», «ФИО», «Место рождения»);
    • Построение и эксперименты OCR модели с архитектурой ViTSTR (TrOCR) на основе трансформеров ViT и RuBERT;
    • Создание различных лингвистических n-gram моделей (KenLM) и обучение автокорректировки jamspell;
    • Тестирование итоговых моделей и подготовка отчетных демонстрационных ноутбуков
  • Костылев Павел
    Python-разработчик
    • Поиск подходов к решению поставленной задачи;
    • Сбор и анализ данных: выбор данных, которые требуются для обучения нейронной сети;
    • Предварительная обработка данных для подготовки к обучению;
    • Обучение нейронной сети и эксперименты с различными подходами и архитектурами нейросетей;
    • Тестирование, анализ и фиксирование результатов в ходе экспериментов: проведение тестов для оценки качества обучения;
    • Компоновка обученной модели в программный комплекс для решения реальных задач
  • Прокопчук Андрей
    Инженер-электрик, фриланс Python
    • Работа с распознанием с Py Tesseract;
    • Работа с определением границ паспорта, использовал Make Sense;
    • Дополнение базы для обучения - TextRecognitionDataGenerator, обработка фото -cv2, PIL. AutoML: KerasTuner;
    • Подготовка и визуализация данных: Pandas, Numpy, Sklearn, Matplotlib, распознавание (OCR): CTC loss, Easy OCR, Tesseract;
    • Подготовка отчетных демонстрационных ноутбуков
  • Задрутский Александр
    Инженер АСУ ТП: работал в проектах на Северном потоке
    • Сбор и предварительная обработка базы данных, подготовка данных для обучения моделей распознавания;
    • Подготовка данных для тренировки EASY OCR и обучения моделей;
    • Проработка первого варианта с CTC Loss;
    • Генерация синтетического датасета для чисел для Паспортов, ИНН, СНИЛС, и обучение модели для чисел;
    • Сбор конечного класса из моделей
  • Матвеев Константин
    • Анализ данных/поиск материалов;
    • Предобработка данных;
    • Эксперименты с аугментацией и синтетическими данными;
    • Эксперименты с различными подходами и архитектурами нейросетей;
    • Реализация бинарной классификации для определения пола;
    • Тестирование различных гипотез
Демонстрация проекта
1 этап
Принцип работы:
1. Поворот документа (на основе yolov5)
2. Детекция необходимых полей (на основе yolov5)
3. Распознавание данных внутри полей (текстовые данные и все поля паспорта распознаются при помощи фреймворка EasyOCR, а числовые данные снилс и инн распознаются при помощи yolov5)
Распознавание СНИЛС
Распознавание ИНН
Демонстрация проекта
2 этап
Благодарность университета