Програміст / інженер Computer Vision — виявлення та трекінг об’єктів
Кого шукаємо
Потрібен програміст / інженер Computer Vision із практичним досвідом виявлення та супроводу об’єктів класичними математичними методами без нейромереж.
Основний напрям роботи — обробка відео, компенсація руху камери, визначення координат і параметрів руху цілей, стійкий трекінг на складному фоні.
Рішення мають працювати локально на ARM/Linux-пристроях з обмеженими обчислювальними ресурсами. Передбачається подальше розширення алгоритмів для виявлення та супроводу різних типів цілей.
Основні задачі
- Розробка алгоритмів виявлення рухомих і малорозмірних об’єктів.
- Супровід однієї та кількох цілей у послідовності кадрів.
- Компенсація руху камери за зображенням і даними інерціальних датчиків.
- Відокремлення руху цілі від руху фону та паралаксу.
- Визначення координат, напрямку руху й зміни масштабу об’єктів.
- Збереження ідентифікаторів цілей, обробка короткочасних втрат і відновлення супроводу.
- Підтвердження подій за кількома кадрами та формування сигналів за заданими критеріями.
- Зменшення хибних спрацювань від бликів, засвічення, тіней, шуму та вібрацій.
- Робота з різними фонами, освітленням і якістю відео.
- Інтеграція даних камери, гіроскопа, акселерометра та інших датчиків.
- Розробка бібліотек і Linux-сервісів на C/C++.
- Оптимізація швидкодії, затримки та використання пам’яті.
- Винесення робочих параметрів у конфігурацію.
- Перевірка алгоритмів на відеозаписах і відтворюваних сценаріях.
- Адаптація рішення для нових типів цілей.
Обов’язкові вимоги
- Практичний досвід класичного Computer Vision та object tracking.
- Досвід роботи з рухомою камерою і складним фоном.
- Знання C і C++, досвід розробки під Linux.
- Розуміння оптичного потоку, геометричних перетворень, моделей руху та часової фільтрації.
- Досвід оптимізації алгоритмів під ARM/Linux.
- Розуміння відеоформатів, буферів кадрів, часових міток і синхронізації потоків.
- Вміння вимірювати точність, пропуски, хибні спрацювання та затримку.
- Готовність передавати вихідний код, конфігурації та технічну документацію.
Бажано
- Досвід із Raspberry Pi, Orange Pi або іншими ARM-платформами.
- Досвід роботи з V4L2, USB-камерами та аналоговим відео.
- Знання Lucas–Kanade, RANSAC, фільтра Калмана, кореляційних методів і зіставлення ознак.
- Досвід калібрування камер, корекції дисторсії та роботи з IMU.
- Досвід багатoоб’єктного трекінгу й асоціації спостережень.
- Знання CMake, systemd та ARM NEON.
- Досвід створення рішень без Python-залежностей на цільовому пристрої.
Очікуваний результат
Робочі алгоритми та програмні модулі, які можна зібрати, встановити й використовувати на Linux-пристрої.
До результату входять вихідний код, конфігурації, інструкція збірки та встановлення, відтворювані перевірки й звіт із виміряними показниками та обмеженнями.
Як відгукнутися
У відгуку коротко вкажіть:
- Які задачі виявлення та трекінгу ви реалізували.
- Які класичні алгоритми використовували.
- Чи працювали з рухомою камерою, малими цілями та складним фоном.
- Чи інтегрували відео з даними IMU.
- На яких пристроях запускали рішення.
- Ваш досвід із C/C++, Linux та оптимізацією під ARM.
- Приклади релевантних робіт, доступність і можливу дату початку.
Потрібен практичний досвід класичного Computer Vision. Досвіду лише з YOLO або іншими нейромережами недостатньо.