3D-модели из видеоматериалов с дронов Freestyle: 4 шага
3D-модели из видеоматериалов с дронов Freestyle: 4 шага
Anonim
3D-модели из кадров с дронов Freestyle
3D-модели из кадров с дронов Freestyle

Видеосъемка с дронов в последние годы действительно пережила бурный рост, и есть огромное количество талантливых пилотов, которые снимают самые акробатические видеоролики, используя свои квадрокоптеры и гарнитуры с видом от первого лица. Мой брат Джонни FPV - один из этих пилотов, поэтому я хотел посмотреть, можно ли реконструировать среду, в которой он летает, по его фристайлу.

Устойчивые кадры, снятые с дронов с привязкой к интересующим объектам, безусловно, могут создать 3D-модель с высокой точностью, как обсуждается здесь, но что происходит, когда кадры такие безумные, как эта?

Шаг 1. Предварительная обработка видео

Предварительная обработка вашего видео
Предварительная обработка вашего видео
Предварительная обработка вашего видео
Предварительная обработка вашего видео

После того, как у вас есть кадры с воздуха, потребуется некоторая предварительная обработка. Я использую Adobe Media Encoder, но почти любое программное обеспечение для редактирования видео должно справиться с этим.

Я выбрал короткий клип (~ 11 секунд), изменил частоту кадров с 29,77 до 30 кадров в секунду и сохранил новое видео в желаемой папке.

Затем я использую FFMPEG для экспорта каждого кадра видео в формате jpg. Если вы не знакомы, FFMPEG - это набор инструментов командной строки, который позволяет обрабатывать и преобразовывать практически ЛЮБОЙ вид аудио или видео, о которых вы можете подумать. Существует платное программное обеспечение, которое позволит вам делать многие из тех же вещей, но если вы хотите немного поработать с командной строкой, это может быть невероятно мощным инструментом.

Хорошее руководство по установке FFMPEG доступно здесь.

Вам нужно сменить каталог на расположение файла изображения (cd), а затем использовать следующий скрипт:

ffmpeg -i (имя вашего видеофайла) -vf fps = 15 exp% 03d.jpg

Изменение частоты кадров естественным образом изменит количество изображений, экспортируемых за секунду видео. Это восходит к тому, почему я изменил частоту кадров видео с 29,97 на 30 - захват 15 изображений в секунду теперь просто захватывает каждый второй кадр из видео. Если вам нужен каждый шестой кадр, вы должны установить его на 5 кадров в секунду… и т. Д.

"exp% 03d.jpg" приведет к тому, что изображения будут сохранены как exp000.jpg, где изображения пронумерованы последовательно тремя цифрами - если у вас более длинный видеоклип и вы хотите экспортировать более 999 изображений, запись% 04d будет нумеровать все изображения с четырьмя цифрами; вы можете экспортировать до 9999.

(примечание: «ffmpeg -i (имя вашего видеофайла) -r (частота кадров) -f image2 exp% 03d.jpg» также работает для извлечения кадров из видео, но по какой-то причине я получаю лучшие облака точек из изображений, обработанных в прежний метод)

Шаг 2. Импортируйте фотографии и создайте облако точек

Импорт фотографий и создание облака точек
Импорт фотографий и создание облака точек
Импорт фотографий и создание облака точек
Импорт фотографий и создание облака точек
Импорт фотографий и создание облака точек
Импорт фотографий и создание облака точек

Когда у вас есть набор изображений, вы можете начать обычный рабочий процесс фотограмметрии. Я использую Agisoft PhotoScanPro, но другие программы, такие как Autodesk Remake, вероятно, будут столь же (если не более) успешными.

После импорта фотографий я также установил калибровку камеры на «Рыбий глаз», поскольку эти кадры изначально были сняты с помощью GoPro. Через несколько минут обработки начинает появляться некоторая трехмерная информация! Облако точек может выглядеть не так уж и много и состоит всего из нескольких тысяч точек, так что этого недостаточно для вычисления сетки. Из этого я построил плотное облако точек, и теперь у меня есть около 200 тысяч точек для работы.

Шаг 3. Создайте сетку

Построить сетку
Построить сетку
Построить сетку
Построить сетку

Теперь, когда у нас есть все эти точки, с которыми можно работать, можно рассчитать сетку. Я использую относительно большое количество граней и включаю интерполяцию - это сделает сетку немного «нечеткой», но в конечном итоге в ней будет гораздо меньше недостающих поверхностей и отверстий. После нескольких минут обработки мы начинаем получать результат, напоминающий архитектуру, вокруг которой летал дрон!

Шаг 4: Текстура и окончательные результаты

Текстура и окончательные результаты
Текстура и окончательные результаты
Текстура и окончательные результаты
Текстура и окончательные результаты

Photoscan также позволяет создавать текстуру для вашей сетки из входных изображений, что дает последний штрих к деталям модели. У меня смешанные чувства по поводу результатов этого процесса (есть способы лучше создать точную модель), но в целом я думаю, что это удивительно, что любая модель вообще может получиться из таких сумасшедших кадров!

Дальнейшие направления, которые я мог бы использовать в этом проекте, могут заключаться в том, чтобы сделать поверхности водонепроницаемыми моделями для 3D-печати, или они могут стать частью сюрреалистического ландшафта виртуальной реальности.