Данная утилита определяет является ли присланная пользователем форма согласия на обработку персональных данных корректно заполненной.
- Попытка развернуть присланную форму так, чтобы она совпадала с шаблонной формой. Развернуть - сделать так, чтобы структура присланной формы совпадала со структурой шаблона.
- Определение того, на сколько совпадают присланная пользователем форма и исходная.
- Анализ каждого поля в присланной форме на предмет того, является ли оно заполненным.
- Распределение на пять категорий, учитывая полученные на предыдущих этапах данные
Пример работы утилиты - по ссылке.
Слева - присланное изображение, справа - развернутое, с размеченными полями. Автоматически такое изображение не сохраняется,
но эту функцию можно включить, выставив debug_mode
параметру значение 1
.
- Скорее всего некорректное согласие. Сразу отправляется реакция пользователю.
- На проверку модератору — нельзя с уверенностью определить, к какой группе относится согласие.
- Скорее всего корректное согласие.
- Изображение уже встречалось в базе (по вычисленному хешу это определяется)
- Работа утилиты была завершена с ошибкой (дополнительно выводит код ошибки)
utils.py
- отвечает за короткие функции помощникиimage_class.py
- хранится логика работы с присланным пользователем согласиемtemplate_class.py
- логика работы с template образом - пустой формойmanager_class.py
- интерфейс для управления image и template классамиrecognition.py
- функции для работы с уже развернутым изображением, оценка того, на сколько оно корректно заполнено.alignment.py
- разворачивание изображения, для приведения его к стандартному видуimage_preprocessing
- функции для загрузки и обработки изображенияexample.py
- приведен пример работы утилиты.save_fields.py
- для добавления новой формы в систему нужно найти на форме поля, куда пользователь вводит информацию. В этом файле содержатся функции для того, чтобы из пустой формы с выделенными рамками полями (например в paint) получить словарь с координатами полей, формат которого подходит для самой утилиты.
В файле task_solution_description.md
- детальное описание задачи и разбор решения.
В файде extract_frames_info.md
- инструкция к работе созданной нами утилиты по извлечению координат полей из шаблона формы.
В папке template_data
находятся шаблоны и связанные с ними данные
sogl{номер формы}_image.jpg
- шаблон согласия.sogl{номер формы}_fields.json
- файл с полями для анализа форма [["Название поля", (y2, y1), (x2, x1)], ...]sogl{номер формы}_stop_sha256.json
- самые популярные хэши присланных согласий - для мгновенного их отбрасывания.
- opencv
- numpy
- poppler
- pdf2image
- imutils
Азаренков Георгий https://github.com/azarenkovgd
Владислав Ковалев https://github.com/VladKovalevv