Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Видеосъемка с дронов в последние годы действительно пережила бурный рост, и есть огромное количество талантливых пилотов, которые снимают самые акробатические видеоролики, используя свои квадрокоптеры и гарнитуры с видом от первого лица. Мой брат Джонни 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-печати, или они могут стать частью сюрреалистического ландшафта виртуальной реальности.