Проект представляет собой REST API сервис для автоматического обнаружения логотипа Т-Банка на изображениях. Сервис принимает изображения в форматах JPEG, PNG, BMP, WEBP и возвращает координаты найденных логотипов в формате bounding boxes.
Разработать систему детекции логотипа Т-Банка, способную:
- Обнаруживать логотипы в различных условиях (разные размеры, углы поворота, освещение)
- Игнорировать логотипы "Тинькофф"
- Обрабатывать изображения за время не более 10 секунд
- Работать на видеокарте с 16GB видеопамяти
Запуск сервиса осуществляется с помощью docker/podman контейнера и доступен по адресу http://localhost:8000:
docker build -t tbank-logo-detector .
docker run -p 8000:8000 tbank-logo-detectorWarning
Если в результате запуска контейнера было получено сообщение с ошибкой Error: Failed to download model weights.,
то вероятно сервис github usercontent недоступен (на момент 18.09.2025 недоступен с провайдером Ростелеком).
В таком случае можно перейти по ссылке на Яндекс Диск и скачать файл weights.pt вручную.
После этого контейнер запустить с помощью команды (/абсолютный/путь -- абсолютный путь к директории, куда скачан файл weights.pt):
docker run --mount type=bind,source=/абсолютный/путь,target=/app/weights -p 8000:8000 tbank-logo-detectorВеса модели скачиваются автоматически при запуске контейнера. Они доступны для скачивания на странице релизов, как и датасет валидационной выборки.
Чтобы избежать скачивания весов при повторном запуске контейнера, можно использовать docker volumes:
docker volume create weights
docker run -v weights:/app/weights -p 8000:8000 tbank-logo-detectorNote
Подробнее о процессе обучения моделей и обработки данных см. в файле docs/ML.md.
Проведенные эксперименты задокументированы в файле docs/EXPERIMENTS.md. В конце находятся результаты валидации последнего цикла обучения.
sirius-ml/
├── src/ # Исходный код проекта и сервиса
├── configs/ # Конфигурационные файлы
├── data/ # Данные для обучения и валидации
├── assets/ # Другие данные
├── weights/ # Веса моделей
├── tests/ # Тесты
├── docs/ # Документация
├── Dockerfile # Конфигурация Docker
└── pyproject.toml # Зависимости проекта
Сервис предоставляет единственный эндпоинт:
- POST /detect - загрузка изображения и получение результатов детекции
Подробная документация по API доступна после запуска сервиса по адресу http://localhost:8000/docs.
Проект распространяется под лицензией AGPL. Подробнее см. в файле LICENSE.
В качестве базовых используются модели Ultralytics YOLO.

