Программа для создания 3д моделей из фотографий

Обновлено: 03.07.2024

Всё же фотограмметрией данный метод можно назвать с некоторой натяжкой. В чём заключается его идея? Всё очень просто. Мы делаем некоторое количество фотографий одного и того же объекта, причём так, чтобы изображения с двух разных точек съёмки немного пересекались. На основании этих данных можно построить трёхмерную модель снимаемого объекта. Если делать это вручную, то можно получить близкий к идеальному результат. Однако времени на это уйдёт очень много. По-хорошему надо учитывать и множество других факторов: угол наклона и позицию камеры, искажения изображения из-за несовершенства оптики и так далее.

Прикинув объём ручной работы, многие сразу теряют всякий интерес к подобным затеям. Но не всё так плохо. В мире софта уже давно есть программы, которые заметно облегчают этот процесс или как минимум автоматизируют ряд действий. Но и у них есть пара заметных недостатков. Во-первых, для любительских экспериментов стоят они больно много. Во-вторых, эти программы порой требуют значительных вычислительных мощностей. Что же делать? Решение очень простое — воспользоваться специализированными сайтами или, если хотите, облачными сервисами.

Такой подход разом избавляет нас от массы трудностей. Остаётся только сделать подходящие фотографии или снять видео, залить все это на сервер, а на выходе получить приемлемый результат. Недостатки этого метода очевидны: мы не можем контролировать процесс создания 3D-модели и нам приходится ждать, пока обрабатываются исходные данные. Впрочем, для апробирования методики можно с этим смириться. Тем более что рассматриваемые нами сервисы совершенно бесплатны.

Итак, первый сервис, о котором пойдёт речь, — это разработка известной компании Autodesk под названием 123D Catch. Данная программа по сути является клиентом к облачному сервису. Через неё мы отправляем фотографии на удалённый сервер, где и происходит вся обработка. Для скачивания программы надо зарегистрироваться или авторизоваться с помощью учетной записи Facebook. Проект пока что находится на стадии бета-тестирования и не отличается стабильностью, так что с некоторыми его глюками и тормозами придётся смириться. После установки программы на ПК можно приступать к фотосъёмке нужного нам объекта. Для начала настоятельно рекомендуется ознакомиться с обучающими видео. В первом из них приведены основные советы по правильной съёмке объектов.

В принципе, их (советов или требований) не так уж много. Надо избегать прозрачных или блестящих поверхностей и бликов. Не рекомендуется попадание в кадр повторяющихся текстур. Также объект всегда должен быть неподвижным — надо самому перемещаться с камерой вокруг него. Опять-таки кадры должны хоть немного перекрываться. Ну и надо следить за освещением. Желательно чтобы оно было достаточным (без шумов в кадре) и более-менее равномерным. Использование вспышки не рекомендуется. Использовать ли зеркалку или простую мыльницу, а то и вовсе камеру в смартфоне — не так уж принципиально. Лишь бы кадры не были размытыми, а снимаемый объект оставался в фокусе. И ещё один нюанс: особого смысла делать фотографии с полным разрешением в десяток-другой мегапикселей смысла нет. Достаточно будет 3-4 мегапикселей. Важнее, чтобы объект занимал по возможности большую часть кадра. И ещё, ни в коем случае не используйте телескопические или fish-eye объективы!



В любом случае всё «приходит с опытом». Придётся отснять не один десяток фотографий, прежде чем получится достойная модель. Потренируйтесь сначала на каких-нибудь простых геометрических фигурах, расположенных на однородном фоне. Кстати, попытка воссоздать сложные поверхности вроде меха или волос практически наверняка будет провальной. А пока рассмотрим вкратце работу с программой. Тут всё очень просто. После запуска кликаем Create a new Photo Scene и выбираем фотографии, по которым будет строиться объект. Для начала стоит взять набор из 15-20 кадров, снятых с разных ракурсов, но под одним углом к поверхности, на которой стоит объект. Потом можно будет добавить к сцене и другие фото.



Нажимаем кнопку Compute Photo Scene, вводим имя и e-mail и соглашаемся с условиями использования сервиса. Обязательно вводите рабочий почтовый адрес, так как на него потом будут приходить уведомления и ссылки на готовые сцены. Впрочем, если у вас есть желание и время, то в следующем диалоге можно выбрать Wait вместо Email Me. Тогда программа свернётся и в фоне загрузит все фотографии на сервер, дождётся результата и снова активируется. В среднем загрузка файлов на сервер занимает несколько минут, а время выдачи готового результата составляет не более 10-15 минут. Если вы добавляете к сцене ещё несколько фотографий или меняете её, то все файлы заново заливаются на сервер и обсчитываются, что несколько раздражает.



Через некоторое время в 123D Catch будет загружена готовая сцена (в настройках можно задавать её качество, то есть детализацию). Эту сцену необходимо сохранить в небольшой 3dp-файл, который можно будет открыть и на другом ПК, так как фотографии и всё остальное всё равно будет загружено с серверов Autodesk. Готовую сцену можно экспортировать в некоторые популярные форматы (DWG, OBJ и другие). В идеальном случае сервис автоматически будет «сшивать» фотографии в 3D-модель. Но и ему свойственно ошибаться. Необработанные кадры помечаются иконкой с восклицательным знаком. Их можно удалить или же вручную откорректировать, кликнув правой кнопкой мыши и выбрав пункт Manual Stitch.



В открывшемся окне надо отметить одни и те же точки (желательно все четыре) на трёх выбранных фотографиях. После выбора точки на одной-двух фотографиях программа зачастую сама предлагает точку на третьей. Можно кликнуть по ней и точно спозиционировать её при большом увеличении. После корректировки модель снова отправится на обсчёт в облако. Помимо экспорта объекта можно сделать видеоролик, задав позиции камеры и задержку на каждой из них. Например, облёт вокруг модели или панораму (если вы снимали какую-нибудь площадь, находясь в её центре). Видео кодируется уже на клиентской машине, а не в облаке.



Пример съёмки объекта для Hypr3D

Опять-таки не годятся прозрачные или бликующие, а также движущиеся объекты, нетекстурированный фон (или с повторяющейся структурой), объективы с сильными искажениями, очень однородный или движущийся фон, расфокусировка и смазанность в кадре, неровное и недостаточное освещение, сильный шум на фото и так далее. Съёмка также должна вестись при перемещении камеры вокруг объекта. В итоге должно получиться где-то от 30 до 60 кадров с одним и тем же углом наклона камеры. Короче говоря, здесь тоже придётся помучиться, прежде чем начнут получаться хорошие 3D-модели.



Перейдём к особенностям работы с указанными сервисами. Начнём с Hypr3D. Нажимаем кнопку Upload и переходим к загрузке исходных файлов. Выбираем нужные изображения или видео, вбиваем название и теги для нашего проекта и жмём Submit for processing. У этого сервиса один нюанс: он без проблем работает с видео, снятым на iPhone/iPod Touch (обычно хватает полуминутного ролика с «облётом» объекта), но для всех прочих требует наличия thm-файла. Впрочем, сервису удалось успешно скормить файлы MOV и 3GP, снятые смартфонами.






My3DScanner генерирует субъективно менее качественные модели, чем Hypr3D. Тем не менее пользоваться им вполне можно. Начать создание проекта надо с выбора пункта My Studio → Create. Задаём имя и загружаем фото или видео, обязательно упакованные в архив. Время обработки зависит от загруженности сервиса. На видео, естественно, уходит больше времени. А вообще даже примерные сроки назвать очень трудно. Один из тестовых примеров обработался за 20 минут, а на другой ушло почти три часа.



Модели можно просматривать в любом браузере с поддержкой WebGL в виде нетекстурированного объекта или облака точек. Экспорт доступен только в форматы OBJ и PLY. У My3DScanner есть забавный глюк: он нередко вполне успешно создаёт неплохую модель отснятого объекта, но при этом накрывает его своеобразным «куполом», тянущимся с краёв подставки, на которой стоит сам объект. В целях экономии создатели сервиса хранят готовые модели в течение нескольких дней, а потом удаляют. Так что позаботьтесь о сохранении ваших «оцифровок» в более надёжном месте.

У всех трёх сервисов качество готовых моделей хоть и удовлетворительное, но всё равно требует ручной доработки. В основном придётся «отрезать» лишние детали или подложку. По крайней мере большую часть работы по оцифровке объекта берёт на себя автоматика. После экспериментов с «облачными» сервисами можно потренироваться работать в standalone-приложениях вроде 3DSom (Strata Foto 3D CX), iModeller, PhotoModeller и других. Возни с ними больше, но и результат гораздо более впечатляющий. Ну а потом можно и вовсе окунуться в мир настоящего 3D-моделирования. Но это уже совсем другая история. Удачи!


Сегодня же мы предлагаем Вашему вниманию обзор бесплатных программ для фотограмметрии и 3D моделирования.

В нашем обзоре бесплатных программ для фотограмметрии мы дадим краткие описания программ и ссылки на их бесплатное скачивание. Как правило, разработчики этих программ неплохо документируют все функции и приемы работы с их ПО. Если после самостоятельного изучения этих фотограмметрических программ у Вас, тем не менее, останутся вопросы по их практическому использованию и применению, то наши специалисты с радостью помогут Вам разобраться во всех тонкостях.

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

Бесплатная программа для фотограмметрии Colmap

COLMAP


Поскольку это программа создана энтузиастами и имеет открытый код COLMAP вобрал в себя много разных плагинов и дополнений. Все эти дополнения устанавливаются по желанию и при необходимости расширить стандартные возможности этой замечательной бесплатной программы для фотограмметрии. Например, вы можете определить точно определить параметры камеры, которая использовалась для фотографирования. То же самое относится и к процессу извлечения дополнительной формации из фото-файла, это поможет улучшить полученный результат. Хотя программа и может экспортировать трехмерную поверхность но ее алгоритмы работают только с плотным облаком точек в окне просмотра. К сожалению программа не умеет работать с сеткой поверхности 3D объекта и для очисти и улучшения 3D-модели, вам придется использовать сторонние программы, например как MeshLab.

Для создания облака плотного точек достаточно использовать COLMAP без плагинов в несколько шагов. Для продвинутых пользователей программа позволяет настраивать огромное множество различных параметров. Не все из них интуитивно понятны для новичка. Для быстрого получения результата в COLMAP нет необходимости менять какие-либо параметры, достаточно использовать стандартные настройки. Значения параметров по умолчанию являются компромиссом между качеством и скоростью работы.

Для тех кто хочет изучить все возможности необходимо будет погрузиться в исходный код программы. Он содержит подробнейшую документацию для всех параметров.

Трехмерное моделирование может напугать новичка. И это один из тех случаев, когда создание 3D моделей из 2D изображений может быть наиболее подходящим вариантом способом для ознакомления с миром 3D печати. На текущий момент есть несколько способов конвертировать файлы JPG и PNG в файлы STL, чтобы получить 3D модель из изображения.

Но прежде чем мы разберем эти методы, давайте поговорим о том, чем они не являются. Хотя это и правда, что 3D модели можно создавать из плоских изображений, методы, описанные в этой статье, не позволяют создавать полные, детализированные 3D модели. Вместо этого предложенные варианты больше подходят для придания плоскому 2D изображению трехмерности, котора все равно будет требовать доработки.


Так что если вам интересно, получите ли вы сразу же бюст Моны Лизы, используя ее изображение, ответ - нет (так что придется потратить время и усилия на дальнейшую пост обработку полученной 3D модели). Но это не значит, что приведенные ниже методы бесполезны!

Вариант 1 - 3D Builder (Windows)


Первый и, вероятно, самый простой вариант - использовать приложение 3D Builder, которое предустановлено практически на любом компьютере с современной ОС Windows. В приложении есть функция, которая может очень легко конвертировать изображение в файл STL или OBJ. Обратите внимание, что этот вариант только для пользователей операционной систему на Windows 10. Вот как это делается:

  • Если на вашем компьютере еще нет приложения 3D Builder, загрузите его из Microsoft Store.
  • После того, как вы загрузили и установили приложение, перетащите изображение в рабочую область или нажмите "Add" в меню "Insert" и выберите изображение.
  • Отрегулируйте ползунки "Levels" и "Smooth", пока изображение не станет четким и ясным. Вы также можете попереключаться между настройками "Contour", "Height Map", "Edge", и "Stamp" для добавления различных полезных эффектов.
  • Когда 3D модель вас устроит, нажмите кнопку "Import Image". Здесь вы можете изменить масштаб с помощью инструмента "Scale" в нижней части рабочего пространства. При масштабировании рекомендуется зафиксировать пропорции, щелкнув значок замка в том же меню.

Вариант 2 - Cura


Если у вас нет компьютера с OC Windows, второй вариант - использовать встроенную функцию Ultimaker’s Cura. Инструмент не такой мощный, как в 3D Builder, но работает отлично. Это также отличный вариант для тех, кто в принципе использует Cura для слайсинга, потому что вам не придется экспортировать и импортировать модель в разных приложениях.

  • Загрузите слайсер Ultimaker Cura с веб-сайта Ultimaker, если вы еще не используете его.
  • Импортируйте изображение в Cura, перетащив его в рабочую область.
  • Когда вы импортировали изображение, появится меню с другими настройками. Здесь вы можете изменить высоту, ширину, толщину, гладкость и многое другое.
  • Наконец, вы можете экспортировать его как STL или OBJ, нажав "File", затем "Export", или вы можете сразу нарезать его для 3D-печати.

Вариант 3 - Литофан конвертер


Еще один способ преобразовать изображение в файл для 3D печати - это сделать литофан. Вы спросите, что такое литофан? Литофан - это трехмерный объект, который за счет разницы в толщине изменяет количества проходящего света. Эти различия в толщине создают темные и светлые части изображения, которые кажутся "встроенными" в объект. Таким образом, изображение видно только тогда, когда сзади есть свет, и оно не может состоять из более чем одного цвета.

Есть много способов сделать литофан, но самый простой - использовать онлайн преобразователь изображения в литофан, гораздо более мощный инструмент с большим количеством настроек и дающий более качественный результат, чем метод преобразования изображения в 3D модель в Cura.

Трехмерное моделирование может напугать новичка. И это один из тех случаев, когда создание 3D моделей из 2D изображений может быть наиболее подходящим вариантом способом для ознакомления с миром 3D печати. На текущий момент есть несколько способов конвертировать файлы JPG и PNG в файлы STL, чтобы получить 3D модель из изображения.

Но прежде чем мы разберем эти методы, давайте поговорим о том, чем они не являются. Хотя это и правда, что 3D модели можно создавать из плоских изображений, методы, описанные в этой статье, не позволяют создавать полные, детализированные 3D модели. Вместо этого предложенные варианты больше подходят для придания плоскому 2D изображению трехмерности, котора все равно будет требовать доработки.


Так что если вам интересно, получите ли вы сразу же бюст Моны Лизы, используя ее изображение, ответ - нет (так что придется потратить время и усилия на дальнейшую пост обработку полученной 3D модели). Но это не значит, что приведенные ниже методы бесполезны!

Вариант 1 - 3D Builder (Windows)


Первый и, вероятно, самый простой вариант - использовать приложение 3D Builder, которое предустановлено практически на любом компьютере с современной ОС Windows. В приложении есть функция, которая может очень легко конвертировать изображение в файл STL или OBJ. Обратите внимание, что этот вариант только для пользователей операционной систему на Windows 10. Вот как это делается:

  • Если на вашем компьютере еще нет приложения 3D Builder, загрузите его из Microsoft Store.
  • После того, как вы загрузили и установили приложение, перетащите изображение в рабочую область или нажмите "Add" в меню "Insert" и выберите изображение.
  • Отрегулируйте ползунки "Levels" и "Smooth", пока изображение не станет четким и ясным. Вы также можете попереключаться между настройками "Contour", "Height Map", "Edge", и "Stamp" для добавления различных полезных эффектов.
  • Когда 3D модель вас устроит, нажмите кнопку "Import Image". Здесь вы можете изменить масштаб с помощью инструмента "Scale" в нижней части рабочего пространства. При масштабировании рекомендуется зафиксировать пропорции, щелкнув значок замка в том же меню.

Вариант 2 - Cura


Если у вас нет компьютера с OC Windows, второй вариант - использовать встроенную функцию Ultimaker’s Cura. Инструмент не такой мощный, как в 3D Builder, но работает отлично. Это также отличный вариант для тех, кто в принципе использует Cura для слайсинга, потому что вам не придется экспортировать и импортировать модель в разных приложениях.

  • Загрузите слайсер Ultimaker Cura с веб-сайта Ultimaker, если вы еще не используете его.
  • Импортируйте изображение в Cura, перетащив его в рабочую область.
  • Когда вы импортировали изображение, появится меню с другими настройками. Здесь вы можете изменить высоту, ширину, толщину, гладкость и многое другое.
  • Наконец, вы можете экспортировать его как STL или OBJ, нажав "File", затем "Export", или вы можете сразу нарезать его для 3D-печати.

Вариант 3 - Литофан конвертер


Еще один способ преобразовать изображение в файл для 3D печати - это сделать литофан. Вы спросите, что такое литофан? Литофан - это трехмерный объект, который за счет разницы в толщине изменяет количества проходящего света. Эти различия в толщине создают темные и светлые части изображения, которые кажутся "встроенными" в объект. Таким образом, изображение видно только тогда, когда сзади есть свет, и оно не может состоять из более чем одного цвета.

Есть много способов сделать литофан, но самый простой - использовать онлайн преобразователь изображения в литофан, гораздо более мощный инструмент с большим количеством настроек и дающий более качественный результат, чем метод преобразования изображения в 3D модель в Cura.

Читайте также: