Стаття · · 6 хв читання
Фотореалістичний цифровий двійник з відео дрона за $0,75
Планування зйомки дроном, structure from motion на орендованому GPU і Gaussian splat з 597 тис. гаусіан з 88 фото — як перший крок до синтетичних даних для навчання детекторів на дронах.
Моделям детекції для дронів потрібні тисячі розмічених аерофото тих місць, над якими вони літатимуть. Розмічати реальні зйомки — повільно. Ідея Real2sim — один раз відтворити реальне місце з відео дрона, а потім генерувати розмічені дані всередині копії.
Спланувати зйомку до вильоту
Якість реконструкції вирішується в повітрі. План, яким я користуюсь: 30–60 м над землею, 1–2,5 см на піксель, сітка плюс щонайменше три орбіти й фасади, перекриття між фото 65–80%. Замале перекриття — камери не зіставляться; завелика висота — деталі зникають.
Від відео до положень камер
ffmpeg витягує різкі кадри з відео, а положення беруться з телеметрії SRT дрона. COLMAP на хмарному GPU відновлює положення камер і вирівнює модель по GPS. У локальному тесті похибка репроєкції була 0,57 пікселя. Важкі кроки справді потребують GPU: локальний процесор витратив 60 хвилин лише на 16 фото.
Сплат
splatfacto-big з MCMC навчає фотореалістичну сцену. Перший хмарний прогін дав 597 тис. гаусіан з 88 фото з дрона на RTX 4090, а весь прогін разом із налагодженням коштував $0,75 орендованого часу GPU.
У симулятор
Спрощена сітка колізій плюс сплат ідуть у USD і в Isaac Sim, де PX4 веде дрон над двійником; локально PX4 SITL уже літає в WSL2. Далі Replicator вставляє об'єкти й експортує розмітку в COCO з конвертацією в YOLO. Навчання починається на синтетичних даних і донавчається на реальних кадрах.
Обмеження, що визначило все
Дозволені лише ліцензії, придатні для комерції: Apache, BSD і Isaac для R&D. Це відсікає кілька популярних дослідницьких кодових баз, і перевіряти це варто до того, як писати код, а не після.