Computer Vision Engineer
2500 - 3500 EURПро продукт
Ми будуємо систему візуального трекінгу яка повинна тримати ціль у кадрі в реальному часі: 30 fps, бюджет ≈33 мс на кадр, обмежені обчислювальні ресурси (edge computing). Працюємо з малими об'єктами (12-40 px на 1280×720), складними сценаріями: швидкий рух камери, тимчасові occlusion події, нестабільне освітлення. Стек: Python 3.10, OpenCV, PyTorch, GStreamer, pytest, NumPy. Архітектура модульна — мульти-стейджевий пайплайн з чітким separation tracker / detector / postprocessing.
Чим будеш займатись
Real-time tracking — головний фокус (~70 %)
Розвиток і оптимізація гібридного трекера (Lucas-Kanade + Shi-Tomasi + RANSAC + template-match recovery).
Власні алгоритми боротьби з типовими failure modes: point swap, scale-feedback bbox bloat, occlusion recovery.
Інтеграція state-of-the-art підходів: Siamese trackers (NanoTrack, LightTrack, FEAR-S), ByteTrack / SORT для association.
Експерименти з context-aware tracking: virtual outer bbox, dual-affine для target vs context points, motion compensation за зовнішніми сигналами.
Edge ML pipeline (~20 %)
Quantization (INT8) PyTorch моделей під edge-target.
Розвиток custom detection моделей (YOLO-family) під специфіку наших сцен.
Профілювання та оптимізація inference latency.
Continuous integration: golden-baseline test gates на кожен PR.
Підвищення точності та надійності (~10 %)
Benchmarking suite на реальному відео (golden-baseline regression тести з ±3 px tolerance).
A/B порівняння трекерів, ablation studies на конкретних сценаріях.
Робота з ground truth: labeling pipeline, calibration.
Camera geometry: lens distortion correction, angular targeting math.
Що ми очікуємо (must-have)
Python 3+ років з реальним production-коду (типізація, тести, профілювання, threading).
Глибоке знайомство з OpenCV: Lucas-Kanade, template matching, feature detectors, geometric transforms, calibration. Маєш розуміти що відбувається всередині, а не лише викликати функції.
Класичний computer vision: affine/perspective, RANSAC, image pyramids, NCC, color spaces, optical flow.
Один з deep learning стеків: PyTorch (приорітет) або TensorFlow. Розуміння inference на edge — ONNX, quantization, обмеження edge-target.
Лінійна алгебра, geometric vision, probability: можеш сам вивести Kalman update без копіювання.
Linux / embedded досвід: знаєш як подивитися де реально йде час (perf, py-spy, cProfile), розумієш shared memory, lock contention, GIL.
Робота з відео: GStreamer pipeline, frame queues, real-time constraints, синхронізація між потоками.
Англійська на рівні читання технічної документації та академічних papers.
Дуже допоможе (nice-to-have)
Досвід деплою CV моделей на edge / NPU.
Multi-object tracking: ByteTrack, SORT, DeepSORT, FairMOT.
Siamese trackers: SiamFC/RPN/CAR, TransT, MixFormer, LightTrack, NanoTrack.
Sensor fusion: візуальні + інерційні дані, ego-motion compensation.
Profiling та оптимізація для ARM (NEON, threading, memory bandwidth).
Open-source CV проекти, академічні публікації, Kaggle competitions у CV.
Чого НЕ варто очікувати
Generic ML моделювання — у нас real-time edge constraint, accuracy без latency не цікавить.
Robust але повільні алгоритми — або 33 мс, або не йде в production.
"Просто запустимо state-of-the-art модель з GitHub" — переважно треба адаптувати під 12-px цілі та INT8.
Багато data-engineering — focus саме на трекінгу і perception.
