DCS

Специалист по компьютерному зрению (высоконагруженные системы видеоаналитики)

Не указана
  • Москва
  • Полная занятость
  • Удаленная работа
  • От 3 до 6 лет
  • PyTorch
  • TensorFlow
  • OpenCV
  • Keras
  • Python
  • CI/CD
  • GitLab CI
  • GitHub
  • PostgreSQL
  • ETL

Требования:

  1. Опыт работы:
    • 2+ года коммерческого опыта в разработке и оптимизации систем компьютерного зрения для обработки видеопотоков в реальном времени.
    • Участие в проектах, связанных с высоконагруженными системами (более 1000 кадров/сек), включая декодирование/кодирование видео на GPU (NVENC, NVDEC, FFmpeg, GStreamer).
    • Опыт оптимизации производительности ML-моделей: quantization, pruning, дистилляция, использование TensorRT, OpenVINO, ONNX Runtime.
  2. Технические навыки:
    • Профильное знание Python и фреймворков: PyTorch, TensorFlow, OpenCV, Keras, Dask или Ray для распределенных задач.
    • Глубокое понимание алгоритмов детекции (YOLO, Faster R-CNN), сегментации (Mask R-CNN, U-Net), трекинга (DeepSORT, SiamRPN), а также их метрик (mAP, IoU, MOTA).
    • Опыт работы с GPU/TPU (CUDA, cuDNN), оптимизации инференса моделей под аппаратные ускорители.
    • Знание инструментов для обработки видеопотоков: FFmpeg, GStreamer, RTSP, WebRTC.
    • Уверенное владение Docker, Kubernetes, Airflow.
  3. Инфраструктура:
    • Опыт настройки CI/CD (GitLab CI, GitHub Actions), мониторинга (Prometheus, Grafana) и логирования (ELK Stack).
    • Знание баз данных для работы с большими данными: PostgreSQL, Redis, TimescaleDB.
  4. GitHub:
    • Публичные проекты с примерами оптимизированного кода для задач реального времени, включая обработку видео и интеграцию с GPU.

Функциональные обязанности:

  1. Разработка и оптимизация ML-моделей и пайплайнов для анализа видеопотоков в реальном времени с учетом ограничений по latency (менее 50 мс/кадр).
  2. Интеграция алгоритмов детекции, сегментации и трекинга в высоконагруженные системы (микросервисная архитектура, распределенные вычисления).
  3. Работа с низкоуровневой оптимизацией:
    • Декодирование видеопотоков на GPU.
    • Асинхронная обработка кадров с использованием многопоточности (asyncio, Celery).
    • Сокращение нагрузки на CPU/GPU за счет эффективного управления памятью и batch-обработки.
  4. Анализ и улучшение метрик качества моделей, A/B-тестирование алгоритмов.
  5. Проектирование отказоустойчивых конвейеров обработки данных с балансировкой нагрузки.
  6. Взаимодействие с DevOps для деплоя решений на облачных платформах (AWS, GCP, Azure) и edge-устройствах.

Ключевые задачи компьютерного зрения:

  • Реализация алгоритмов для работы в условиях частичной потери данных (артефакты сжатия, низкое качество видео).
  • Трекинг объектов в сценах с высокой плотностью (crowd detection) и динамическим фоном.
  • Оптимизация пайплайна "frame capture → preprocessing → inference → postprocessing" для минимизации задержек.

Навыки написания продакшн-кода:

  • Умение писать код, готовый к масштабированию (чистые интерфейсы, модульность, кэширование).
  • Знание принципов тестирования (unit, integration, нагрузочные тесты).

Soft Skills:

  • Способность аргументировать выбор архитектурных решений (например, TorchScript vs ONNX).
  • Опыт менторства junior-разработчиков.
  • Умение работать в Agile/Scrum, декомпозировать задачи с учетом бизнес-требований.

Будет плюсом:

  • Публикации или доклады на темы оптимизации ML-моделей.
  • Знание C++ для написания высокопроизводительных модулей.
  • Опыт работы с edge-устройствами (NVIDIA Jetson, Intel Movidius).

Условия:

  • Работа над продуктами, обрабатывающими >200 часов видео ежедневно.
  • Внедрение решений, напрямую влияющих на ключевые метрики бизнеса.
  • Удаленный формат работы с 09.00 до 18.00 по мск;
  • Сильная команда, в которой есть возможность для реализации творческих идей и профессионального роста.