Трехмерная фотограмметрия— преобразование серии цифровых фотографий в трехмерную модель при помощи специализированного программного обеспечения. Для создания модели достаточно вооружиться фотоаппаратом и компьютером с предустановленным софтом. Объект для съемки может быть любым, лучше всего подходят рельефные объекты, скульптуры и т.п. Фотограмметрия — настоящая находка для владельцев 3D-принтеров, разработчиков игр, особенно для тех, кто еще не завел себе 3D-сканер. Этот метод позволит использовать принтер не только для создания шаблонных моделей из интернета, но и для распечатки уникальных объектов.
Именно она помогает преодолеть основное препятствие на пути начинающих владельцев 3D-принтеров — отсутствие понимания того, где взять 3D-модели для работы.
Обычно, чтобы получить модель для печати на 3D-принтере требуется сфотографировать объект максимально возможное количество раз с максимально возможным качеством. Рекомендуется делать 3 прохода: сначала сфотографировать объект со всех сторон с расстояния 2-3 метра для захвата общей формы, потом с расстояния около полуметра для фиксации мелких деталей, и в конце уделить внимание проблемным зонам: темным, труднодоступным или тонким элементам.
Этот тип сканирования может сильно выручить, если вы занимаетесь обрисовкой объектов: есть такие детали, которые сложно измерить линейкой или штангенциркулем из-за их геометрической формы и других особенностей. Это особый случай, когда легче отрисовать объект по готовой 3D-модели (даже в очень низком качестве), чем пытаться угадать с размерами и изобразить что-то похожее.
Попробуем применить метод фотограмметрии для быстрого создания трехмерной модели без профессиональной техники, какого-либо специального оборудования и максимально быстро.
Камера для сканирования
Разрешение фотографий должно быть как можно выше, поэтому лучше всего подойдет, конечно же, профессиональная зеркальная фотокамера. Для простых объектов достаточно и обычного смартфона с хорошей камерой.
Место съемки должно иметь равномерное освещение. Любое искажение пагубно повлияет на конечный результат и осложнит постобработку фотографий. В первую очередь стоит уделить внимание теням и бликам: программа не сможет корректно распознать объект при неравномерном освещении с резкими тенями. Поэтому никакой вспышки и только матовые поверхности на фоне.
В статье использовался Honor 9, 2017 года выпуска с двойной камерой 20 + 12 МП, но подойдет и любой другой смартфон.
Смартфон Xiaomi Mi 9 128 ГБ черный
Смартфон Asus Zenfone Max Pro M2 ZB631KL 64 ГБ синий6.39"
Смартфон Huawei Mate 20 Pro 128 ГБ черный
Программное обеспечение
Для фотограмметрии существует программа Agisoft PhotoScan. Она платная, но с 30 дневным триалом. Этого достаточно, чтобы ознакомиться с азами технологии. В мануале можно найти множество рекомендаций по созданию фотографий и их обработке, чтобы добиться максимального качества 3D-объекта.
Другие аксессуары
Снимать объект нужно на равномерном фоне. Для фотографирования мелких вещей подойдут софтбоксы (осветители с рассеивателями). Они равномерно осветят место съемки и устранят резкие тени. Но такое оборудование тоже есть не у каждого, поэтому для быстрой оцифровки подойдут и домашние лампы.
В качестве фона возьмем однотонный матовый силиконовый коврик для ручных работ. Одна из его поверхностей не имеет рисунка, она-то и нужна.
Задачи
В идеале на один объект желательно делать фото в количестве 50–100 штук при хорошем освещении, низком ISO, в высоком разрешении (скажем 5000 х 8000) и иметь для их обработки мощный компьютер.
Однако поскольку в приоритете скорость — начальный набор инструментов для этой статьи прост донельзя: смартфон двухлетней давности, обычный домашний ПК, силиконовый коврик и солнечный свет.
Оцифровка объекта
1. Сканировать будем домик, напечатанный на 3D-принтере. Чтобы оценить степень сложности оцифровки объектов, достаточно сделать пару десятков фотографий с разного ракурса. Съемку ведем на одинаковом расстоянии. Между ракурсами должен быть интервал, но не слишком большой: программа не сможет состыковать фото, если между кадрами будет много недостающих элементов.
2. Полученные фото загружаем в программу.
Если компьютер средней мощности, а фотографий не слишком много (для тестовой попытки 18 штук будет достаточно) — обработка пройдет быстро, около пары минут.
3. Теперь нужно зайти в пункт меню «обработка» и выровнять фотографии с высокой точностью.
На этом этапе можно определить, все ли распознается правильно.
4. После прогрузки всех ракурсов получилось некое облако точек.
На удивление, даже для тестовой попытки с небольшим количеством фотографий и далеко не профессиональным оборудованием и условиями съемки, PhotoScan правильно определила ракурсы абсолютно всех фотографий — об этом свидетельствуют зеленые галочки под каждой картинкой.
5. Может возникнуть ситуация, когда программа делает ошибки в определении местонахождения фотографий.
В этом случае для корректной обработки необходимо поставить на каждой из фотографий маркеры-подсказки, по которым софт сможет ориентироваться. К примеру, поставим пару маркеров на первых двух фотографиях. Один из них будет стоять на углу крыши дома, второй установим в основании.
6. Далее программа автоматически доставит маркеры на остальных фотографиях, если сумеет распознать на них один и тот же объект.
Если есть несовпадения, придется вручную передвигать маркеры на нужное место. На всех снимках маркеры нужно подтверждать, кликнув мышкой по точкам. Стоит отметить, что маркеры помогают, но не дают гарантии, что ракурс будет распознаваться правильно.
7. Для проверки результата нужно еще раз составить облако точек с такой же высокой точностью.Устанавливаем галочку «сбросить текущее выравнивание».
8. После второго прохода облако точек показывает примерно ту же картину, что и до установки маркеров.
Вывод таков: информации было достаточно изначально, поэтому проводить этап с ручной установкой маркеров необходимо только если фотография (или несколько) некорректно определилась.
9. Следующий этап — построение более плотного облака точек.
Настройки детализации нужно выставить на уровень «Высокая». В «максимальной» смысла нет, так как перед нами стоит задача быстро добиться приемлемого результата. Иначе процесс оцифровки затянется в несколько раз.
10. Через пятнадцать минут на мониторе можно разглядеть довольно четкий рисунок фигурки.Правда, вместе с фигуркой присутствует немного голубого фона.
С фоном придется поработать чуть позже. А на этом этапе нужно окончательно конвертировать облако точек в трехмерный объект. Для этого надо зайти в подпункт «обработка» и выполнить операцию «построить модель». Тип поверхности — произвольный (3D), исходные данные — плотное облако точек. Количество полигонов нужно установить на максимум, а после этого требуется только нажать кнопку «ОК».
11. Результат.
Получилось неплохо, но модель портит голубой фон.
12. Чтобы избавиться от фона, нужно вручную обрезать его на всех фотографиях в одном из редакторов изображений.
Agisoft PhotoScan поддерживает маски для каждой фотографии (это специальный канал изображения, который будет сообщать программе что обрабатывать, а что трогать не стоит). Обрезка — нудное занятие, автоматизировать его не получится, однако результат окупит все старания.
13. Импортируем маски в программу.
Важное замечание: чтобы не делать нудную работу по добавлению маски к каждой фотографии, сохраняйте маски с тем же именем, что и оригинал, приписывая в конце имени файла «_mask».
14. Далее нужно перейти в программу, затем выделить все изображения и выбрать правой кнопкой мыши опцию «маски — импорт масок».
В диалоговом окне нужно выставить режим «из файла», операция «замена». Шаблон имени файла нужно оставить неизменным. «Применение» — весь проект. Нажимаем кнопку «ОК» и выбираем папку с масками.
15. После добавления масок при просмотре фотографий будет виден выраженный белый контур.
Это свидетельствует о правильном добавлении файлов в программу. В разделе фотографии можно кликнуть на иконку «показать маски».
16. Теперь нужно заново проделать операции по преобразованию фотографий в облако точек: «выровнять фотографии», затем «построить плотное облако точек».
17. Голубой фон пропал, лишь плотное облако точек обрисовывает фигуру.Осталось преобразовать их в 3D-модель и оценить окончательный результат.
Итоги работы
Если пытаться сделать фотограмметрию на камеру телефона, итог вряд ли сильно впечатлит вас, однако приемлемых результатов добиться все-таки можно. Многое зависит от самой модели: ее текстуры, отражающей способности, цвета, дизайна.
Свои коррективы вносит и фон, на котором производится фотосъемка объекта. Так, глянцевый материал отражает много света на текстуру модели, поэтому лучше использовать матовые однородные фоны.
Если же учесть все нюансы, то можно добиться действительно качественных результатов. Следует помнить, что 3D-модель, полученная с помощью фотограмметрии в домашних условиях, почти наверняка потребует доработки в 3D-редакторе.
Тем не менее, такой метод сканирования может сэкономить вам уйму времени при моделировании сложных деталей. Кроме того, он служит альтернативой трехмерному сканеру, покупка которого сильно ударила бы по карману.