Render.ru

Позиционирование камеры в модели по панорамной фотографии

Azat Akhmetshin

Пользователь сайта
Рейтинг
2
#1
Подскажите, пжлст, есть ли в 3ds max инструмент для позиционирования камеры при наложения модели территории на панорамное фото территории с дрона?
Поясню.
1. есть территория стройки;
2. есть 3д модель территории со зданиями и подземными коммуникациями с колодцами;
3. есть панорамное фото территории с дрона.
Надо сделать панораму, где на панорамное фото с дрона будет наложен панорамный рендер модели. Соответственно, чтобы рендер и панорама с дрона совпадали, надо как-то определить координаты размещения камеры в модели, чтобы они совпали с реальными координатами съемки панорамы.

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

ЛМА

Смотритель
Рейтинг
1 181
#2
надо как-то определить координаты размещения камеры в модели, чтобы они совпали с реальными координатами съемки панорамы.
Помимо координат камеры. как я понимаю, нужны еще и координаты источника освещения (что бы совпали тени) и совпадение фокусного расстояния камеры в 3д максе и камеры дрона (что бы совпали искажения перспективы).
А так в максе для этого есть встроенный инструмент CAMERA MATCH (percpective match), правда он, как я понимаю, рассчитан на совмещение модели в обычном фото, а не в панораму 360 градусов которая на самом деле состоит из склейки нескольких кадров у каждого из которых могут оказаться свои собственные перспективные искажения, т.е. что впишется один кадр, может уже не вписаться в другой. Но это так, просто размышления, сам я это никогда не делал за ненадобностью.
https://www.3dsociety.ru/lessons/compositing-foto-3d

на панорамное фото с дрона будет наложен панорамный рендер модели
А разве рендер модели не перекроет фото? Ведь по вашим словам у вас там построена в 3д вся ситуация полностью, т.е. она перекрывает все фото. Или это для какой то презентации, где на панорамном фото с дрона (т.е. то, что есть сейчас) можно будет по желанию зрителя проявить то, что там будет в итоге?
 
Последнее редактирование:
#3
Я думаю вам может помочь такая программа fSpy . Правда она больше предназначена для Blender. В других программах, в вашем случае 3ds max, значения камеры надо вбивать вручную. С ней как раз можно выставить камеру для панорамы. А потом вставить модель и совместить с панорамой.
 

Azat Akhmetshin

Пользователь сайта
Рейтинг
2
#4
Помимо координат камеры. как я понимаю, нужны еще и координаты источника освещения (что бы совпали тени) и совпадение фокусного расстояния камеры в 3д максе и камеры дрона (что бы совпали искажения перспективы).
Это техническое фото, все равно как на колодцы будет падать свет.) Фокусное расстояние камеры в случае панорамной фотографии теряет смысл, т.к. все приводится к камере с обзором 360 х 180 градусов. Разница между разными исходными камерами будет только в том, как приложение для склейки панорам справляется с тем или иным фокусным расстоянием. В моем случае такие искажения приемлемы.
А так в максе для этого есть встроенный инструмент CAMERA MATCH (percpective match), правда он, как я понимаю, рассчитан на совмещение модели в обычном фото, а не в панораму 360 градусов которая на самом деле состоит из склейки нескольких кадров у каждого из которых могут оказаться свои собственные перспективные искажения, т.е. что впишется один кадр, может уже не вписаться в другой.
Я смотрел камера матч, насколько я понял для панорамных фото инструмент не подойдет. Т.к. в панорамной фото, приведенной к плоской из прямых линий остаются только вертикальные, все что не вертикальное - изогнутое.
А разве рендер модели не перекроет фото? Ведь по вашим словам у вас там построена в 3д вся ситуация полностью, т.е. она перекрывает все фото. Или это для какой то презентации, где на панорамном фото с дрона (т.е. то, что есть сейчас) можно будет по желанию зрителя проявить то, что там будет в итоге?
В рендер не включается поверхность земли. Т.е. в рендере остаются только здания и коммуникации.
 

Azat Akhmetshin

Пользователь сайта
Рейтинг
2
#5
Я думаю вам может помочь такая программа fSpy . Правда она больше предназначена для Blender. В других программах, в вашем случае 3ds max, значения камеры надо вбивать вручную. С ней как раз можно выставить камеру для панорамы. А потом вставить модель и совместить с панорамой.
Я смотрел fspy, он только для плоских изображений к сожалению.
 

ЛМА

Смотритель
Рейтинг
1 181
#6
Если удастся разобраться как это сделать, отпишитесь, если не сложно, как решили эту проблему. Наверняка кому то пригодится.
 

Azat Akhmetshin

Пользователь сайта
Рейтинг
2
#7
Если удастся разобраться как это сделать, отпишитесь, если не сложно, как решили эту проблему. Наверняка кому то пригодится.
Пока делаю в блендере вручную, по этому видео
.
Только рендер делаю панорамным, в вьюпорте Rendered двигаю по осям x,y,z камеру, в редакторе шейдеров поворачиваю окружение.
 
#8
Я смотрел fspy, он только для плоских изображений к сожалению.
Тогда может могла бы помочь такая старая программа Autodesk Imagemodeler, вроде последяя версия вроде 2009 года. Там в нее вставляешь панораму выставляешь точки и потом все это переносится в 3ds max.
 

ЛМА

Смотритель
Рейтинг
1 181
#9
панорамное фото территории с дрона
Подумалось... По идее это панорамное фото с дрона сделано с одной точки с какой то высоты. Т.е. он висел над какой то точкой на местности, а значит по этому фото можно определить эту точку если посмотреть на фото строго вниз. Так же по идее, в метаданых этого фото могут быть помимо прочих данных еще и данные и о высоте полета с которого сделано фото (кстати, там могу быть и географические координаты точки съемки). Вообщем попробуйте посмотреть метаданные этой панорамы, если там есть координаты и высота, то вы легко найдете нужную вам точку. После чего найти эту точку на вашей модели и поднять камеру на высоту указанную в метаданных не составит труда. Так же в метаданных должны быть и параметры камеры при съемке, в том числе и фокусное расстояние, которое можно выставить в камере 3д макса.
 
Последнее редактирование:

Azat Akhmetshin

Пользователь сайта
Рейтинг
2
#10
Подумалось... По идее это панорамное фото с дрона сделано с одной точки с какой то высоты. Т.е. он висел над какой то точкой на местности, а значит по этому фото можно определить эту точку если посмотреть на фото строго вниз. Так же по идее, в метаданых этого фото могут быть помимо прочих данных еще и данные и о высоте полета с которого сделано фото (кстати, там могу быть и географические координаты точки съемки). Вообщем попробуйте посмотреть метаданные этой панорамы, если там есть координаты и высота, то вы легко найдете нужную вам точку. После чего найти эту точку на вашей модели и поднять камеру на высоту указанную в метаданных не составит труда. Так же в метаданных должны быть и параметры камеры при съемке, в том числе и фокусное расстояние, которое можно выставить в камере 3д макса.
Все верно для идеальных условий.
На деле это территории, где сигнала gps просто нет, а обычные дроны падают только так.
Будь там с этим все в порядке, было бы еще проще. Т.к. модель территории у меня в локальной местной системе координат и есть RTK дрон, который может фиксировать координаты с точностью до нескольких десятков см. Все что остается - конвертировать координаты из системы координат WGS84, в которых пишет дрон в местную систему координат и прописать эти координаты в камеру.
Без RTK дрона все не так радужно, ошибка обычного GPS до 10 м. А по опыту ручного выставления камеры, значение имеет до 0,2 м по каждой координате (x, y, z, поворот) для высот от 60 м.
Высота, кстати есть, т.к. дрон ее кроме как из жпс отдельно определяет ее и пишет в метаданные еще и по датчику давления. Но такие данные сильно приблизительные т.к. 1. измеряются относительно точки взлета, которая может располагаться в низинах / на возвышенностях, 2. сам датчик измерения высоты по изменению давления не самая точная штука.
 
Сверху