Назад к вакансиям

Инженер-программист компьютерного зрения БПЛА

Дело техникиЕкатеринбургУдалённоот 3 лет5/2Полная занятость
PythonGitC#C++MLPyTorchEmbeddedCVNEONYOLOEdgeUltralytics YOLO

Описание

Компания УДЗ ищет Инженера-программиста компьютерного зрения для команды разработки ПО для управления БПЛА в автоматическом режиме, использования передовых технологий в области распознавания объектов, математических моделей для расчета их расположений в пространстве, категоризации, идентификации и трекинга.

Обязанности

  • Разработка, внедрение и тестирование программных решений, в основном с использованием языков программирования C++ и Python для навигации и управления БПЛА
  • Разработка алгоритмов распознавания и отслеживания объектов для анализа видеоданных с целью принятия автономных решений
  • Разработка и оптимизация CV-пайплайнов: детекция, трекинг, визуальная навигация
  • Развёртывание пайплайнов на встроенных системах с ограниченными ресурсами, оптимизация под конкретное железо
  • Профилирование и устранение узких мест в C++ и Python коде
  • Доводка метрик качества на реальных данных
  • Интеграция ML\CV-модулей в общую систему совместно с командой
  • Калибровка камер и работа с видеопотоком на системном уровне
  • Обучение, дообучение и тестирование нейросетевых моделей компьютерного зрения, в том числе YOLO
  • Оценка качества моделей: precision, recall, mAP, анализ ошибок распознавания
  • Оптимизация работы моделей по скорости и точности
  • Вывод нейросетевых моделей в продакшн на целевом железе (CPU/GPU/NPU)
  • Участие в постановке задач, оценка применимости подходов под ограничения платформы
  • Работа с данными для разметки
  • Создание синтетических данных и работа с ними
  • Понимание принципов обучения моделей

Требования

  • Высшее профильное образование
  • 3 года опыта разработки программного обеспечения, с акцентом на программирование на C++ и Python
  • Подтвержденный опыт разработки программного обеспечения для платформ БПЛА, таких как Pixhawk, ArduPilot, INAV и Betaflight
  • Опыт работы с теорией управления и алгоритмами применительно к БПЛА
  • Классическое CV: опыт построения и оптимизации пайплайнов детекции, трекинга, визуальной навигации
  • Доводка метрик качества на реальных данных
  • Embedded/Edge: развёртывание CV-пайплайнов на встроенных системах с ограниченными ресурсами, оптимизация производительности под них
  • C++: высокопроизводительный код, векторизация (NEON/SIMD), многопоточность (OpenMP, thread pools), опыт профилирования
  • Python: многопоточный код, не упирающийся в GIL; ускорение узких мест через нативные модули (pybind/ctypes) или JIT (numba)
  • Практический опыт обучения или дообучения моделей YOLO
  • Опыт работы с PyTorch или Ultralytics YOLO
  • Понимание процесса подготовки данных для обучения нейросетей
  • Опыт работы с изображениями, видеофайлами и видеопотоками
  • Понимание метрик качества моделей компьютерного зрения
  • Опыт работы с Git

Будет плюсом

  • Обучение и вывод в продакшн нейросетевых моделей (ONNX)
  • RKNN-Toolkit, запуск моделей на NPU
  • OpenCL и выгрузка вычислений на GPU
  • Знание устройства камеры: pinhole-модель, модели дисторсии, практический опыт калибровки
  • Системная работа с видео: zero-copy, GStreamer, MIPI, DMA-буферы
  • Знание математики и геометрии CV (линейная алгебра, теория вероятности, мат. статистика, эпиполярной геометрии)
  • Знание робототехники и навигации (фильтры Калмана, sensor fusion, VIO/SLAM, GPS-denied environments)
  • Знание оценок качества моделей ML/CV метрики (trade-off Precision/Recall, mAP, MOTA, IDF1)

Условия

  • Трудоустройство по ТК РФ
  • Стабильная "белая" заработная плата
  • График 5/2 с 9:00 до 18:00
  • Доставка до места работы на служебном транспорте (район Кольцово). Работа в Екатеринбурге
  • Корпоративное питание
  • Конкурентная заработная плата
  • Интересные проекты и работа с передовыми технологиями
  • Современное оборудование, любое аппаратное обеспечение для эффективного выполнения задач
  • Возможности для саморазвития: тренинги, конференции, обучение
  • Окончательный уровень ЗП определяется по результатам технического собеседования в соответствии с опытом, знаниями и навыками кандидата

Процесс отбора

  • Откликнуться
  • Окончательный уровень ЗП определяется по результатам технического собеседования