В данной статье речь пойдет про видеограмметрию-создание 3d моделей объектов на основе видео. Видеограмметрия появилась давно, но до сих пор используется редко из-за необходимости в более мощном "железе", чем при построении 3d моделей местности/объектов с помощью лидаров. В 2024 году производительность ПК настолько выросла, что теперь можно в течении разумного времени строить модели на домашних компьютерах и даже ноутбуках. Сначала покажу, какие модели получились у меня, затем поделюсь лайфхаками, которые помогут сразу строить модели обходя технические сложности, а в конце расскажу чем видеограмметрия может быть полезна.
Здесь те же самые модели, но их можно покрутить мышкой на ПК или пальцем на смортфоне
Все эти модели построены в бесплатной, опенсорсной программе для фотограмметрии Meshroom (или ее упрощеной версии MeshroomCL сообщество в вк). Есть много других платных и бесплатных программ: https://rec3d.ru/rec-wiki/vosem-besplatnykh-programm-dlya-fotogrammetrii/
Про "железо":
Запускать программы фото/видеограмметрии на ноутбуках вполне реально лишь для простых проектов ( 150-200 кадров, извлеченных из 1-2 минутных видео). Для построения хороших моделей часто используют 500-1000 кадров. Поэтому лучше использовать домашний ПК с видеокартой не хуже 4060ti.
Про камеры:
Резутьтат видеограмметрии сильно зависит от качества камеры. На дронах обычно ставят качественные большие фотоматрицы, а на смартфонах бывает по-разному. Сейчас использую смортфон с большой матрицей формата 1/1,4. Тестил также другие смартфоны с матрицами поменьше ( 1/2 дюйма, 1/1,66 дюйма и 1/1,5 дюйма), там Meshroom отбраковывает гораздо больше кадров из-за недостаточной четкости, поэтому качество конечной 3D модели заметно хуже)
Про качество 3D моделей
За год я сделал порядка 100 3D моделей с помощью видеограмметрии. Примерно половина по видео с дрона, половина по видео со смартфона. Около 30 моделей выложил в открытый доступ:
Возможно кому-то покажется не очень хорошим качество этих моделей, поэтому приведу ссылки на гораздо более качественные результаты, полученные на гораздо более мощном "железе":
Видеограмметрия от Nvidia
Видеограмметрия стартапа Mosaic
Фото/видеограмметрия от Google
Из ролика Nvidia понятно, что сейчас начинают использоваться нейросети для построения 3D моделей местности. Это уже не совсем те классичекие методы фотограмметрии, которые использует Meshroom и другие программы.
Я бы выделил три основных метода построения 3D модели местности:
Классическая фото/видеограмметрия (Meshroom и другие подобные программы)
Фото/видеограмметрия с использованием нейросетей (Nvidia и др.)
Построение 3D модели местности на основе распознавания объектов ( Tesla и другие системы автопилота)
так 3d модель местности строит автопилот Tesla
Фактически автопилот распознает находящиеся рядом 3D объекты (соседние авто) и на этой основе строит модель окружающего пространства. Неизвестно как именно работает автопилот Tesla, но один из методов распознавания 3d объектов я описал в предыдущей статье (там процесс распознавания 3d объектов показан на примере лиц, но сам способ не использует никаких антропологических признаков, поэтому его можно использовать для распознавания любых 3d объектов, включая автомобили)
Для создания системы распознавания 3d объектов (автомобилей) необходима база этих 3d объектов. Поэтому мы с другом собрали открытую базу сканов автомобилей:
Вместо вывода
Возможно комуто покажется нелогичным, что эта статья начиналась с "Построения 3d модели местности с дрона", а закончилась "Построением 3d модели местности беспилотником Tesla".
Ответ простой: потому что я считаю, что построение 3d модели местности-это важная и интересная задача. А уж как она решается, с помощью классичекой фото/видеогграмметрии (meshroom), нейросетевой фото/видеограмметрии (nvidia) или с помощью распознавания 3d объектов (tesla) это уж дело личное. Все идут своей дорогой. Кто окажется прав-покажет время.