Не упустите лучшие вакансии!
Подключите наш Telegram-бот и получайте мгновенные уведомления о новых предложениях из 10+ источников. Будьте первым, кто откликнется!
Подключить ботаComputer Vision Engineer
Описание задачи: Доработка системы визуальной локализации БПЛА (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 и рассчитывается для демонстрации возможностей. Указанные задачи реально выполнить за две недели.
Ваше резюме увидят первым!
Автоматическое поднятие на HeadHunter каждые 4 часа. Увеличьте свои шансы на успех в 10 раз!
Подключить автоподнятие