Друзья, хочу поделиться опытом, который я приобрел в процессе практического изучения такой дисциплины, как фотограмметрия.
Буду рад, если кто-нибудь из вас выскажет свое мнение, поправит меня или укажет на допущенные вами ошибки.
Возможно, эта статья о моем изучении фотограмметрии поможет и окажется вам полезной.
Моя работа описана на примере фотосъемки природы в городском парке Центральной России в период август–сентябрь 2017 года.
Итак, начнем с самого начала: прочитав и просмотрев определенное количество информации по этой теме, я остановил свой выбор на программе Agisoft PhotoScan, которая помогает получать текстурированные 3D-модели на основе исходных изображений.
Принимая во внимание инструкцию от Agisoft PhotoScan - по правильной фотосъемке, правила которой необходимо соблюдать, чтобы получить наилучший результат. Известно, что существует множество программ на эту тему: Photoscan (Agisoft), 123D Catch (Autodesk), ReCap360 (Autodesk), Arch3D (проект Epoch), Bundler/PMVS2, Apero/MicMac, 3DF Zephyr (3DFlow), сканер Photomodeller. (EOS)), Smart3D (Acute3D).
Следующий этап работы включает в себя настройку фотоаппарата, фотоаппарата, изображения и подготовку необходимого оборудования для съемки.
- Объектив.
Мой опыт и инструкция советуют отдавать предпочтение объективам с фиксированным фокусным расстоянием: 35мм, 50мм, 85мм.
При использовании зум-объективов установите зум в одно из крайних положений (минимальное или максимальное).
В противном случае каждый зум-объектив потребует отдельной калибровки.
Я рекомендую свести к минимуму разнообразие моделей камер/объективов и фокусных расстояний.
- Настройка камеры: Предпочтительно использовать изображения формата RAW, преобразованные в несжатый формат TIFF, поскольку преобразование в формат JPG делает изображения более шумными, снижая их качество.
Рекомендую снимать в максимально возможном разрешении.
Я рекомендую снизить ISO до минимума, чтобы уменьшить шум.
Для достижения достаточной глубины резкости рекомендую уменьшить значение диафрагмы, F-Stop 11+.
Важно, чтобы все части предмета были четкими и не размытыми.
Выдержка должна быть достаточно быстрой, чтобы предотвратить размытие изображения, желательно 1/125+.
- Изображения: PhotoScan работает с исходными изображениями.
Вы не должны деформировать фотографии, то есть не масштабировать, обрезать, поворачивать или иным образом изменять исходные фотографии.
- Что еще может нам пригодиться: штатив, монопод, пульт для фотоаппарата, поляризационный фильтр, также можно взять с собой небольшой хромакей (одноцветный фон); лучше синий, на тот случай, если мы хотим сфотографировать мелкие предметы, и для их разделения нужен фон, чтобы потом можно было легко сделать маску для этих фотографий.
? стрельба из крана
После необходимой подготовки и выбора благоприятного дня лучше всего подойдет пасмурная погода; он наиболее благоприятен для фотографии; нам нужно нейтральное освещение, так как при дальнейших действиях мы получим 3D модель с текстурой и настроим ей нужное освещение; конечно, мы можем сфотографировать объект и в солнечную погоду - если вам нужна только 3д модель и в этом случае текстуру можно подправить в фотошопе, но это дополнительные манипуляции, об этом способе я напишу дальше.Идем в лесопарк или в то место, где находится нужный нам предмет. Итак, приехав на место съемки, я постарался найти более интересные объекты с выраженной фактурой.
Природа создает по своей красоте и форме такие экземпляры с неповторимой расцветкой, узором, от которого невозможно отвести взгляд, наша задача позаимствовать все это великолепие и перенести его в наш 3D мир.
Начнем фотографировать.
Для осуществления процесса фотосъемки необходимо обеспечить перекрытие кадров примерно на 60% при съемке каждого последующего кадра; именно эти 60% и составят нашу модель с текстурой.
Разрешение желательно максимальное, которое может позволить ваша камера; нужно обойти объект полностью, т.е.
совершить обход на 360% и сделать примерно 36 снимков за круг; стрелковых кругов может быть несколько.
Повторяю, масштабировать ни в коем случае нельзя; если вам нужно запечатлеть какие-то детали, то вам нужно подойти поближе, сесть или лечь, чтобы сделать нужную фотографию.
Если объект имеет вогнутости и выпуклости, а съемка ведется только стоя и объект не снимается снизу, то в некоторых местах, которые смотрят «нормально» в землю и не попадают в кадр, на этих участках будут будут дыры в 3д модели и соответственно не будет текстуры, такие моменты мы исправим позже в программах, но лучше этого избегать с самого начала.
Должен заменить еще один важный момент: старайтесь не включать в кадр веточки и траву, которые расположены возле корней и у основания нужных нам объектов, потому что позже эти объекты будут отпечатываться на нашей текстуре, и мы будем ее очищать.
, что в некоторых случаях неизбежно.
Я нашел этот интересный пенек.
Итак, сделав необходимое количество фотографий всех понравившихся нам объектов, начался следующий этап.
Обработка фотографий и создание 3D-моделей
Многие знают, что существуют программы для редактирования форматов Raw, среди них CameraRaw и Lightroom, я остановился на Lightroom. Затем мы импортируем все наши изображения в формате Raw в Lightroom и устанавливаем следующие настройки.Уменьшаем Highlights и увеличиваем Shadows, убирая хроматические аберрации и дисторсию объектива.
На основе настроек одной фотографии создаем Пресет, чтобы еще больше ускорить процесс обработки фотографий; их может быть разное количество от нескольких десятков до нескольких тысяч, в зависимости от того, какая у вас задача и сколько у вас объектов съемки.
Применяем созданный нами Пресет к остальным фотографиям и экспортируем их в формате TIFF в соответствующую папку для каждого объекта отдельно и библиотеки данной категории.
Лучше всего организовать рабочий процесс с самого начала, чтобы избежать последующего хаоса и потери необходимых файлов, мы удаляем Raw-файлы.
Добавление фотографий
Откройте Agisoft PhotoScan и добавьте наши фотографии.Для достижения наилучших результатов необходимо покрыть маской все второстепенные объекты на исходных фотографиях.
Создаем маски вокруг объекта, маски можно создавать разными способами в PhotoScan Lasso и затем добавлять выделение или в Photoshop также с помощью инструмента Lasso, но также создаем Actions, чтобы пропустить рутинный процесс создания маски, добавив ее в канал и сохраняем файл.
Если вы снимали в студии и у вас был однородный фон, то вам нужно зайти в Инструменты/Импортировать маску и применить к выбранным камерам метод Из фона.
Можно обойтись вообще без создания масок, но это усложнит процесс.
Выравнивание фотографий
На этом этапе PhotoScan определяет положение камер и на основе фотографий строит разреженное облако точек.
Если мы создали маски, то ставим галочку «Учитывать маски».
После этого шага мы можем оценить качество наших фотографий и в появившемся окне выбрать все камеры.
Мы можем фильтровать наши фотографии по качеству, я это уже сделал и самые плохие фотографии оказываются вверху, но не обязательно именно так определяется качество размытия.
Алгоритм оценки качества изображения анализирует контраст между пикселями, когда контраста много, то изображение воспринимается как хорошее.
Единственный способ убедиться, что все ваши изображения в норме, — это визуально проверить их при увеличении 200%.
Ужасно скучная работа.
Самые плохие изображения, те, которые очень размыты, можно отключить.
Следующий шаг — выбрать наш объект с помощью инструмента «Выделение», нажать «Обрезать» и очистить наш объект. Клавиша пробела помогает нам переключаться между инструментами, такими как выбор и навигация.
Установка площади строительства
Настроим Box, в этом поможет NumPad; он позволяет переключаться между камерами, перспективой и ортогональной проекцией.
Построение плотного облака точек
На основе рассчитанных положений камеры программа строит плотное облако точек.Качество: Сверхвысокое (чем выше желаемое качество, тем больше времени и вычислительных ресурсов потребуется для прохождения этапа).
Агрессивный (если реконструируемая сцена имеет сложную геометрию с множеством мелких деталей или нетекстурированные поверхности, например, крыши зданий, рекомендуется установить параметр Мягкий).
Вот что мы получили.
Немного почистив объект инструментами выделения, получаем вот такой результат.
Построение полигональной модели
Теперь на основе полученного плотного облака точек можно построить трехмерную полигональную модель.
Тип поверхности: Карта высот. Исходные данные: Плотное облако.Вот результат нашей 3D-моделиКоличество полигонов: Высокое (в скобках рядом со значением параметра указано максимальное количество полигонов в модели, которая будет построена.
Значения, предлагаемые программой, рассчитываются на основе данных о количестве точек в плотном облаке).
Интерполяция: включена (по умолчанию).
Редактирование полученной геометрии
Выберите «Редактировать» и нажмите «Постепенное выделение»; все отдельные фрагменты геометрии, которые нам нужно удалить, будут выделены красным цветом.
После этого нам нужно закрыть все отверстия в нашем объекте, для этого выбираем Инструменты, Сетка, Закрыть отверстия.
?Экспортная модель
Теперь давайте экспортируем нашу модель в Zbrush для дальнейшего редактирования.
Создание низкополигональной модели
Импортируйте модель в Zbrush и продублируйте ее.
используйте команду Zremesher и экспортируйте в Maya.
Импортируем модель в Maya, выполняем операцию «Выдавливание» и экспортируем обратно в Zbrush.
В Zbrush мы используем операции DynaMesh и Zremesher,
экспортируйте в Maya и удалите ненужные полигоны.
Конечно, вы также можете уточнить низкополигональную сетку вручную и уменьшить больше полигонов, но сейчас я не буду этого делать.
Если есть желание, можете попробовать и написать о результате, все файлы прикреплю к статье.
?Экспортируйте в UVLayout и создайте UV-макет.
Создание цветной текстуры
Импортируем low-poly с готовой UV-разверткой в Zbrush и выполняем команду ProjectAll, dist. нам нужно каждый раз увеличивать и уменьшать ее, чтобы не было артефактов, сразу запекайте карту Displacement в Zbrush. Ээкспортировать результат, полученный после Project High-poly.Откройте PhotoScan и удалите модель на ее месте через меню Инструменты и импортируйте полученную High-poly модель.
После импорта модели создайте текстуру в формате Tif и экспортируйте ее.
Откройте текстуру в Фотошопе и Инструментом «Волшебная палочка» кликните по области, где текстуры нет и в этом месте есть черное пятно.
Выберите инструмент «Лассо» и в меню «Правка» выберите команду «Заливка», заливка с учетом содержимого (Content-Aware Fill).
Вот что у нас получилось, всего несколько секунд и текстура готова.
Конечно, вы можете использовать и другие методы, например, Штамповать и закрашивать ручками все пробелы.
Также можно воспользоваться другими программами, например 3D - Coat, импортировать в него High-poly и цветную текстуру и с помощью инструмента «Штамп» закрасить нужные места на текстуре, те же манипуляции можно повторить в Substance Painter, также можно используйте инструмент DraqRect в Zbrush, но это все занимает много времени и возможно в какой-то ситуации именно так и нужно будет пойти по одному из этих путей.
Запекание и создание текстур
1. Запускаем Substance Painter, создаём новый проект, загружаем low-poly с уже готовой UV-развёрткой, после создания проекта переходим в меню «TextureSet Settings» и нажимаем «Baketextures».В окне запекания убираем ненужные нам карты и загружаем High-poly из PhotoScan. Запеченные карты будут автоматически вставлены в соответствующие слоты в настройках набора текстур.
2. Следующий шаг — замена нашей низкополигональной модели на высокополигональную.
чтобы при генерации дополнительных текстур, таких как зеркальность, шероховатость и т. д., мы могли четко видеть нужную нам текстуру.
3. Генерируем нужные нам карты, так как текстурирование каналов - очень увлекательное занятие, наряду с различными фильтрами и очень гибкими генераторами, которые нам в этом очень помогут и ускорят весь рабочий процесс получения нужных текстур.
Например, создаем слой заливки (Добавить слои заливки), заливаем нужным цветом или текстурой, отключаем все ненужные каналы, подключаем к слою заливки черную или белую маску, генераторы, фильтры, в общем, творчество в работе.
ваши руки.
4. После получения желаемого результата мы можем создавать Смарт-материалы, чтобы в дальнейшем не повторять одни и те же действия, ведь мы стремимся облегчить и ускорить процесс работы, так как время – это ресурс, который нельзя вернуть или купить.
5. Когда мы полностью удовлетворены результатом, мы можем экспортировать все нужные нам текстуры в различные рендереры/движки для дальнейшей визуализации.
В документе «Экспорт» есть Конфиг, который поможет нам выбрать настройки экспорта текстур для дальнейшего использования.
Вот что у нас было и вот что мы получили быстро и без особых усилий.
Подводя итог, такая дисциплина, как Фотограмметрия, очень интересна, необходима и может помочь значительно ускорить рабочий процесс при создании объектов окружающей среды (деревьев, растений, камней и т. д.), предметов интерьера (микрофон, музыкальный динамик, стул и т. д.).
.
).
и т. д.), органическое вещество (человек, черепаха и т. д.), ландшафт и здания и т. д. Область применения фотограмметрии очень широка! Итак, друзья, процесс завершен.
Я открыт для ваших личных вопросов и общения относительно опыта работы.
С уважением, Евгений А.
Материалы Теги: #Игровой дизайн #Работа с 3D-графикой #CGI (графика) #3d сканирование #фотограмметрия #agisoft photoscan #трехмерное сканирование
-
Самый Быстрый Проект Кабельной Системы
19 Oct, 24 -
Об Идиоме Raii И Блокировках
19 Oct, 24 -
Фотоальбом
19 Oct, 24 -
Apple Может Обменять Google На Bing
19 Oct, 24 -
Альфа-Версия Qutim 0.2 Ждет Вас
19 Oct, 24