Skip to content

dangooddd/tbank-sirius-cv

Repository files navigation

Детекция логотипа Т-Банка

Проект представляет собой 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-detector

Warning

Если в результате запуска контейнера было получено сообщение с ошибкой 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-detector

Пример работы модели

Структура

Note

Подробнее о процессе обучения моделей и обработки данных см. в файле docs/ML.md.

Проведенные эксперименты задокументированы в файле docs/EXPERIMENTS.md. В конце находятся результаты валидации последнего цикла обучения.

sirius-ml/
├── src/           # Исходный код проекта и сервиса
├── configs/       # Конфигурационные файлы
├── data/          # Данные для обучения и валидации
├── assets/        # Другие данные
├── weights/       # Веса моделей
├── tests/         # Тесты
├── docs/          # Документация
├── Dockerfile     # Конфигурация Docker
└── pyproject.toml # Зависимости проекта

API документация

Сервис предоставляет единственный эндпоинт:

  • POST /detect - загрузка изображения и получение результатов детекции

Подробная документация по API доступна после запуска сервиса по адресу http://localhost:8000/docs.

Лицензия

Проект распространяется под лицензией AGPL. Подробнее см. в файле LICENSE.

В качестве базовых используются модели Ultralytics YOLO.

About

CV кейс для смены по ML в Сириусе (Т-Банк)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors