Образовательный форум по искусственному интеллекту, математике и физике 2025

Задача 4:
Классификация сложных случаев выпускных данных книжных изданий
Задача предоставлена компанией МТС Web Services и MTS AI

Описание задачи

В данном кейсе необходимо разработать систему, которая, используя сканы первых и последних листов издания, способна определять, какие страницы содержат обложку, титульный лист, оборот титульного листа (страница с аннотациями, авторскими знаками, УДК) и страницу с выпускными данными (с информацией о подготовке, выпуске и печати книги). Система должна распознавать текст и визуальные элементы на каждой странице и присваивать каждой уникальный идентификатор, отражающий её тип.

Цель проекта 
Автоматическая идентификация страниц: разработать алгоритмы, позволяющие анализировать сканы страниц издания и определять их тип (обложка, титульный лист, оборот титульного листа, страница с выпускными данными). 
Присвоение меток: обеспечить автоматическое присвоение уникальных идентификаторов каждой странице для последующей обработки. 
Точность распознавания: использовать сочетание OCR и методов компьютерного зрения для высокой точности классификации страниц. 
Интеграция с базой данных: организовать хранение сканов и результатов идентификации, а также возможность экспорта данных. 
Масштабируемость: обеспечить обработку большого количества сканов с минимальными задержками.

Требования к решению, которое необходимо разработать

1. Функциональные требования

1.1 Распознавание страниц 
• Анализ сканов первых и последних листов издания. 
• Определение типа страницы: обложка, титульный лист, оборот титульного листа (страница с аннотациями, авторскими знаками, УДК) и страница с выпускными данными. 
• Применение OCR для извлечения текстовой информации, позволяющей различать типы страниц по содержанию.

1.2 Присвоение идентификаторов
• Автоматическая генерация уникальных идентификаторов для каждой страницы на основе распознанного типа. 
• Формирование отчёта, в котором каждая страница снабжена меткой, указывающей её тип.

1.3 Ручная корректировка 
• Предоставление веб-интерфейса для просмотра результатов распознавания с возможностью ручного изменения идентификаторов в случае ошибок.

1.4 Интеграция и экспорт данных
• RESTful API для передачи результатов идентификации другим системам. 
• Хранение сканов и результатов в базе данных с возможностью экспорта для дальнейшей аналитики.

2. Нефункциональные требования

Производительность: система должна обеспечивать быструю обработку сканов с минимальными задержками.
Масштабируемость: возможность обработки большого количества сканов без потери производительности. 
Надёжность: корректная обработка ошибок и исключений, устойчивость к сбоям. 
Юзабилити: удобный и интуитивно понятный интерфейс для просмотра и корректировки результатов идентификации.

Архитектура решения

5.1 Компоненты системы 
Frontend (интерфейс пользователя): 
– Веб-приложение для отображения сканов и результатов идентификации с возможностью ручной корректировки. 
Backend (серверная часть): 
– RESTful API для управления процессом идентификации, хранения сканов и результатов в базе данных. 
Модуль идентификации
– Алгоритмы компьютерного зрения и OCR для распознавания текстовой и визуальной информации, позволяющие классифицировать страницы.

5.2 Поток данных 
1. Импорт сканов страниц издания в систему. 
2. Автоматическая обработка сканов с применением OCR и алгоритмов классификации. 
3. Присвоение уникальных идентификаторов каждой странице на основе распознанного типа. 
4. Отображение результатов через веб-интерфейс. 
5. Возможность ручной корректировки результатов. 
6. Экспорт данных через API.

Технологический стек 

• Frontend: React или Vue.js для создания веб-интерфейса. 
• Backend: Python с FastAPI или Flask для реализации RESTful API.
• Модуль идентификации: библиотеки OCR (например, Tesseract OCR), OpenCV и модели машинного обучения для классификации страниц.
• База данных: PostgreSQL или NoSQL (например, MongoDB) для хранения сканов и результатов. 
• DevOps: Docker для контейнеризации, CI/CD системы (GitHub Actions, GitLab CI) для автоматизированного тестирования и развёртывания.

План реализации

1. Исследовательский этап:
– Анализ существующих решений для распознавания и классификации страниц издания. 
– Проведение экспериментов с OCR и методами классификации. 
2. Разработка прототипа: 
– Создание базового модуля идентификации страниц с применением OCR и алгоритмов классификации. 
– Реализация API для обмена данными между компонентами. 
3. Разработка UI: 
– Проектирование и реализация веб-интерфейса для отображения сканов и результатов распознавания. 
– Интеграция функционала для ручной корректировки идентификаторов. 
4. Интеграция и оптимизация:
– Интеграция всех компонентов системы. 
– Оптимизация обработки сканов и повышения точности распознавания. 
5. Тестирование и отладка:
– Проведение функционального, нагрузочного и интеграционного тестирования. 
– Исправление выявленных ошибок и оптимизация производительности. 

Критерии приемки результата 

При оценке проекта будут использоваться следующие критерии (по 5-балльной шкале): 
1. Соответствие проекта техническому заданию – реализованы все задачи кейса (включая идентификацию обложки, титульного листа, оборота титульного листа и страницы с выпускными данными). 
2. Работоспособность проекта – весь реализованный функционал работает без ошибок, базовые и дополнительные функции функционируют корректно. 
3. Креативность решения – применение нестандартных и интересных технических решений для распознавания и классификации страниц на основе OCR и компьютерного зрения. 
4. Культура защиты проекта – логичное и аргументированное изложение материала, четкое обозначение целей, задач и выводов, оригинальное представление результатов. 
5. Командная работа – грамотное распределение ролей, видимый вклад каждого участника команды, четкая интеграция всех компонентов системы.

Риски и ограничения 

• Производительность: возможны задержки при обработке большого количества сканов. 
• Точность распознавания: ошибки OCR или неправильная классификация страниц могут потребовать дополнительной ручной корректировки. 
• Интеграция компонентов: сложности в синхронизации работы модулей идентификации, API и пользовательского интерфейса. 
• Ограниченность исходных данных: качество сканов может существенно влиять на точность распознавания.
Контакты с организатором хакатона
Ссылка на Telegram для информации и вопросов:
https://t.me/+OZs7igGZHeE1N2Ri

Здесь будем выкладывать данные, отвечать на вопросы.

Место проведения: (сообщим позднее)
Организации-партнеры кейса