Стаття · · 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. Це відсікає кілька популярних дослідницьких кодових баз, і перевіряти це варто до того, як писати код, а не після.

Проєкт, з якого ця стаття: Real2sim →

Схожа задача?

Напишіть, що ви будуєте і які дані маєте. Я відповім, як би це вирішував.

Обговорити проєкт →