Computer Vision Engineer

от 350 000 до 450 000 ₽

Требования

Инженер по компьютерному зрению
Senior
OpenCV
Компьютерное зрение

Условия

Можно удалённо
Москва

Компания

Информационные технологии

Описание вакансии

Описание задачи: Доработка системы визуальной локализации БПЛА (VLOC)

О проекте:

MVP-версия дашборда для трекинга дрона в реальном времени. Система принимает видеопоток, сопоставляет его с эталонными видеозаписями (к которым привязаны координаты) и отображает положение дрона на карте Leaflet. Проект рассчитан на локальный запуск (1-2 потока одновременно).

Железо: Ноутбук с мобильной RTX 5050.

Стек: Python 3.10+, FastAPI, SQLite, Docker. Фронтенд: чистый JS + Leaflet.js.

Что уже РЕАЛИЗОВАНО :

Вся обвязка и инфраструктура готовы и работают:

  • Захват потока (RTSP/WebSocket) с аппаратным декодированием (NVDEC).
  • Zero-latency буфер (алгоритм всегда забирает только самый свежий кадр, пропуская очередь).
  • API-эндпоинты (FastAPI) и передача данных на фронтенд по WebSockets.
  • База данных (SQLite), где лежат эталонные кадры и их GPS-координаты.
  • Модели SuperPoint и LightGlue уже заведены в проект и крутятся на CUDA.

В чем текущая проблема

Сейчас модуль локализации работает по принципу примитивного Image Retrieval. Он использует ResNet18: находит максимально похожий кадр в базе и копирует его координаты. Из-за этого нет Pose Estimation, если дрон летит параллельно эталонному маршруту, метка на карте не смещается, а прилипает к эталонному треку.

Что нужно сделать:

  • Необходимо переписать математику, осуществив переход от Retrieval к честному Pose Estimation и добавив расчет геометрии для видео-слоя.
  • Задача 1: Точная локализация (Метка дрона)
  • Feature Matching: Использовать связку SuperPoint + LightGlue для нахождения соответствий между Live-кадром и ближайшим кадром из эталона.
  • Metric Offset: На основе найденных матчей вычислять вектор смещения в метрах (через матрицу гомографии или PnP) с учетом перспективных искажений.
  • GPS-коррекция: Прибавлять полученное метрическое смещение к координатам эталонного кадра для получения реальной точки .
  • Фильтрация: Жесткий RANSAC для исключения выбросов (ложных матчей на лесах/полях), чтобы метка не прыгала. Выдача индикатора уверенности 0-100% .
  • Задача 2: Real-time Video-to-Map Overlay (слой на карте)
  • На бэкенде рассчитывать точные GPS-координаты 4-х углов текущего кадра ( проекция на плоскость земли). 
  • Трансформация перспективного изображения в ортофотоплан (вид сверху) в real-time.
  • Temporal Smoothing: Внедрить сглаживание координат углов (фильтр Калмана или экспоненциальное среднее). Видео аналоговое, матчи могут шуметь, углы не должны дрожать на фронтенде.
  • Отдавать эти 4 точки по сокету на фронтенд (там они уже будут применяться к видео-контейнеру через CSS matrix3d).

Ограничения и нюансы:

  • Телеметрии и данных IMU в базе нет (дрон летит в один конец). Всю геометрию, наклон камеры и смещение нужно вытаскивать исключительно из визуальных признаков (разложение гомографии) с учетом известной примерной высоты из эталона.
  • Обязательна привязка расчетов к PTS видеопотока для исключения рассинхрона видео и метки.

Требования к исполнителю:

  • Уровень Senior (от 5 лет в CV).
  • Опыт работы с Visual SLAM, 6DoF Pose Estimation, Visual Odometry.
  • Уверенное владение OpenCV , глубокое понимание матриц проекции, гомографии и перевода пикселей в метрическую систему координат.
  • Опыт оптимизации пайплайнов под real-time (TensorRT/ONNX Runtime).
  • Проект Mvp и рассчитывается для демонстрации возможностей. Указанные задачи реально выполнить за две недели.