Что такое полигональная модель

Виды 3Д моделирования: полигональное, сплайновое и NURBS моделирование.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Категория: 3D Технологии

Голосов: 479 Рейтинг: 4.1419624217119

МЫ СПЕЦИАЛИЗИРУЕМСЯ НА БРЕНД-ДИЗАЙНЕ

Сбор референсов для игры

Разработка игр разных жанров

Разработка гиперказуальной игры под ключ

ПРИСОЕДИНЯЙТЕСЬ К НАМ

Существует несколько способов 3Д моделирования, которые использует 3Д моделлер: полигональное, сплайновое и NURBS моделирование. Они могут применяться как отдельно, так и комплексно.

Полигональное моделирование

Полигональное моделирование – это вид 3Д моделирования, который появился в то время, когда для определения местонахождения точки необходимо было вручную вводить ее координаты по осям X, Y, Z. Если три точки координат задать как вершины и соединить их ребрами, то получится треугольник, который в 3Д моделировании называют полигоном.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модельЧто такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Полигон с тремя вершинами называется триангулированным полигоном, с четырьмя вершинами – квадриангулированным полигоном. Если посмотреть на модели, созданные с помощью полигонов, то можно заметить, что большинство из них созданы именно полигонами с четырьмя и тремя вершинами. Каждый полигон может иметь собственную текстуру и цвет, а объединив несколько полигонов можно получить модель любого объекта. Соединенные между собой полигоны образуют полигональную сетку или полигональный объект.

Для того, чтобы края модели не имели граненого вида, необходимо, чтобы полигоны были малого размера, а поверхность объекта состояла из маленьких плоскостей.

Если предполагается точное моделирование объекта (высокополигональное моделирование), либо в дальнейшем увеличение его изображения, то необходимо строить модель с большим количеством полигонов, хотя, если на модель объекта смотреть издали без приближения, достаточно будет небольшого количества полигонов. Такие модели будут называться высокополигональными и низкополигональными соответственно.

Несмотря на то, что полигональное моделирование используется довольно таки часто, особенно в создании трехмерных компьютерных игр реального времени, в последнее время наблюдается переход от моделирования полигонов к работе со сплайнами (сплайновое моделирование).

Сплайновое моделирование

Сплайновое моделирование – это вид 3Д моделирования, при котором модель создается при помощи сплайнов (Сплайн − от англ. spline – гибкое лекало, в 3D – это трехмерная кривая). Линии сплайнов задаются трехмерным набором контрольных точек в пространстве, которые и определяют гладкость кривой. Все сплайны сводятся к сплайновому каркасу, на основе которого уже будет создаваться огибающая трехмерная геометрическая поверхность.

Кроме того, в сплайновом моделировании используются сплайновые примитивы (параметрические объекты, используемые для моделирования объекта). Базовыми сплайновыми примитивами являются:

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

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

Сплайновое или полигональное моделирование?

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

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

Формы кувшина, созданные с помощью полигонов, имеют различную степень детализации между плоскостями. Изделие с 260 полигонами имеет степень детализации 35 градусов, с 520 полигонами – 25 градусов, с 1280 полигонами – 10 градусов между гранями. Несмотря на то, что издалека изделие кажется гладким, а количество полигонов более 1000, при изготовлении такого объекта будут небольшие шероховатости, поскольку даже на маленьком объекте заметен угол в 10 градусов между плоскостями.

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

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

3Д модели, созданные с помощью сплайнового или полигонального моделирования, сохраняются, как правило, в двух форматах: форматы IGES и STL соответственно. Чаще всего на установках прототипирования используются форматы STL, но с помощью специальных программ формат IGES можно перевести в STL. Обратите внимание, что обратное преобразование невозможно.

Частным случаем сплайнового моделирования, который уже стал отдельным видом 3Д моделирования, является NURBS моделирование.

NURBS моделирование

NURBS моделирование или технология Non-Uniform Rational B-Spline – это технология неоднородных рациональных В-сплайнов, создание плавных форм и моделей, у которых нет острых краев, как у полигональных моделей. Именно из-за этой отличительной черты технологию NURBS применяют для построения органических моделей и объектов (растений, животных, людей).

NURBS-кривые, используемые в данном моделировании, бывают двух видов: Р (Point) кривые и CV (Control Vertex) кривые. Point кривые управляются вершинами, находящимися непосредственно на самой линии или объекте, а Control Vertex кривые управляются точками, лежащими за пределами линии или объекта. Разницу наглядно видно на иллюстрации:

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Программы для 3Д моделирования

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Команда 3Д дизайнеров и моделлеров KOLORO обладает большим опытом в создании 3Д моделей, мы используем различные виды моделирования и различные программы для моделирования объектов. К каждому заказчику у нас индивидуальный подход, и в процессе работы с ним, мы оказываем необходимую поддержку, консультируем по спорным и сопутствующим вопросам. Мы гарантируем высокое качество выполненных нами работ и четкое соблюдение условий и требований клиента.

Источник

Модели из бумаги

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Содержание

​Бумажное моделирование – увлекательное хобби для детей и взрослых, неудивительно, что сейчас оно находится на пике популярности, хотя имеет многовековую историю. Впервые бумажные модели живых и неживых предметов начали делать в 15 веке во Франции. Конечно, сначала это были плоские изображения.

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

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

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональное моделирование, и каким оно бывает

​Сейчас особенно популярно полигональное моделирование из бумаги, когда объемная модель представляет собой многогранник, выстроенный по всем правилам геометрии. Его грани – это полигоны, отсюда и название. Строго говоря, это 3D-моделирование. Оно появилось, когда люди научились определять точки в пространстве и задавать координаты по трем осям X, Z, Y.

​Если в этих координатах поставить точки как вершины и соединить их ребрами, то мы получим как раз полигон. Соединив несколько полигонов, мы получим полигональную сетку. Таким образом, можно создать какие угодно модели – животных, людей, популярных персонажей, неживых предметов, техники и т. д. Готовая модель смотрится очень эффектно.Другое название техники – паперкрафт.

​Различают следующие виды полигонального моделирования.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Полигональные модели служат прекрасным оригинальным украшением интерьера, помогают стильно и со вкусом оформить праздник, а также их можно использовать как детские игрушки, которые ребенок с удовольствием сделает своими руками.

Где брать схемы для моделирования?

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

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Сделать бесплатные схемы можно самому, используя специальные компьютерные программы для 3D-моделирования, например:

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

Как сделать развертку в программе PepakuraDesigner, показано в этом видео:

Как построить модель из бумаги

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

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

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

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

Существует два вида сгибов – внешний и внутренний. Первый обозначается пунктирной линией (точки). Деталь сгибается так, чтобы получилось что-то вроде горы, линия сгиба должна находиться выше, чем сгибаемые стороны. Внутренний сгиб обозначается штрих пунктирной линией (точка-тире). Деталь сгибается так, чтобы получилась долина, а линия сгиба оказалась ниже сгибаемых сторон.

Клей наносится только на специальные вкладки. На них обычно нанесены цифры, которые есть либо на распечатанной развертке, либо их можно посмотреть в электронном файле. Логика простая: вкладку с цифрой 1 склеиваем с вкладкой 1, вкладку 567 – с вкладкой 567 и так далее. Наносите клей капелькой и распределяйте ее по бумаге кисточкой или зубочисткой. Излишки осторожно промокайте салфеткой. Если одна деталь соединяется с другой, то клей наносят на одну из боковых граней.

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

Материалы и инструменты

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Для создания объемной полигональной модели потребуется следующее:

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

​Можно сразу взять цветную бумагу или картон или потом покрасить готовое изделие краской на нитро основе из баллончика. Краски на водной или масляной основе лучше не брать, так как они деформируют бумагу.

​Бумага – идеальный материал для начинающих. Опытные мастера часто используют для 3D-моделирования пластик или металл.

​Что касается клея, то лучше всего взять клеящий карандаш или прозрачный клей-момент. Главное, чтобы он не имел водной основы, быстро схватывался и не оставлял следов на бумаге. В труднодоступных местах для нанесения используйте зубочистку. Некоторые умельцы соединяют детали при помощи двустороннего скотча, но он не всегда удобен.

Этапы создания полигональной модели

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Приготовьте все инструменты и материалы, положите на стол коврик для моделирования и настройте освещение рабочего места.

Так как клей часто имеет резкий неприятный запах, работайте в хорошо проветриваемом помещении.

Мастер-класс: как сделать полигональную фигурку своими руками

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

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

Если что-то осталось непонятным, посмотрите вот это видео. Здесь наглядно показан каждый этап работы.

Источник

3ds Max. Часть 4. Основы полигонального моделирования

Без знания основ полигонального моделирования невозможно спроектировать чуть более сложные объекты, чем примитивы. Разбираемся с вертексами и рёбрами.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Перед тем как начать моделирование такого сложного 3D-объекта, как автомобиль, нужно понимать основные принципы полигонального моделирования и знать назначение и функциональные возможности инструментов.

Что такое полигон

Полигон — плоскость, состоящая из нескольких точек в пространстве, соединённых рёбрами.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Автор статей по дизайну. В веб-дизайн пришел в 2013 году, осознанно начал заниматься с 2015 года. Параллельно освоил верстку. Время от времени публикую переводы на хабре.

Что такое полигональное моделирование (polygonal modeling)

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

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Разбираемся с полигональным моделированием на примере

Давайте создадим примитив box, конвертируем его в Editable Poly (редактируемые полигоны) и на этом примере детально рассмотрим, что такое полигон и из чего он состоит. В этом уроке вы можете посмотреть, как создать примитив.

Чтобы конвертировать объект в редактируемые полигоны, нажмите правой кнопкой мыши в активном окне проекции и в контекстном меню выберите Convert To — Convert to Editable Poly.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Итак, вы создали примитив box и перевели его в Editable Poly. Далее рассмотрим, из каких подобъектов состоит Editable Poly.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Уровень подобъектов Editable Poly

Нажмите стрелку на командной панели во вкладке Modify перед названием Editable Poly, чтобы перейти на уровень подобъектов. Их мы и будем сейчас разбирать.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Vertex (вершины)

Чтобы работать с этим уровнем подобъектов, нажмите клавишу 1 на клавиатуре. Вершина — это одномерный объект (точка) в пространстве. Если соединить, например, две вершины, получится ребро.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Edge (рёбра)

Нажмите на клавишу 2 на клавиатуре, чтобы работать с этим уровнем подобъектов. Ребро — это двумерный объект, который определяется двумя вершинами и представляет собой линию. Три ребра и более образуют многоугольник.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Border (граница)

Нажмите на клавишу 3 на клавиатуре, чтобы работать с этим уровнем подобъектов.

В том виде, в котором сейчас представлен наш объект, Border выделить не получится. Border — это граница, где что-то должно заканчиваться, а у нас объект замкнутый.

Перейдите на подобъект, выделите любой видимый полигон и удалите его по нажатию на Del на клавиатуре. Теперь края удалённого полигона и будут тем самым бордером.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Polygon (полигон)

Polygon вызывается по клавише 4 на клавиатуре. Состоит из трёх и более рёбер.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Element (элемент)

Element вызывается по клавише 5 на клавиатуре. Этот подобъект необходим в случае, когда нужно выделить целиком весь объект.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

В свитке Selection иконками представлены все подобъекты Editable Poly. Когда вы выбираете один из подобъектов, там активируется нужная иконка, и наоборот: когда вы нажимаете на какую-либо из иконок, у вас будет выделяться один из подобъектов в списке.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Заключение

Всё полигональное моделирование основано на взаимодействии с рассмотренными подобъектами — вершинами, рёбрами, полигонами и так далее. Посредством Editable Poly создаются большинство моделей и сцен, которые можно применить где угодно — от анимационной презентации архитектурной застройки до локаций для игр.

Обратите внимание на наш курс «Визуализация в 3ds Max и V-Ray»: под руководством опытных преподавателей вы научитесь работать с 3ds Max, создавать качественные фотореалистичные визуализации и использовать одну из самых популярных программ для рендеринга V-Ray.

Источник

3D ML. Часть 1: формы представления 3D-данных

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Сегодня появляется все больше 3D датасетов и задач, связанных с 3D данными. Это связано с развитием робототехники и машинного зрения, технологий виртуальной и дополненной реальности, технологий медицинского и промышленного сканирования. Алгоритмы машинного обучения помогают решать сложные задачи, в которых необходимо классифицировать трехмерные объекты, восстанавливать недостающую информацию о таких объектах, или же порождать новые. Несмотря на достигнутые успехи, в области 3D ML остаются еще нерешенными ряд задач, и эта серия заметок призвана популяризировать направление среди русскоязычного сообщества.

В первой части будут рассмотрены основные формы и форматы представления пространственных данных и их особенности.

Серия 3D ML на хабре:

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

Заметка от партнера IT-центра МАИ и организатора магистерской программы “VR/AR & AI” — компании PHYGITALISM.

Введение

Слабый искусственный интеллект, по определению [1] призван имитировать частные сенсорные и когнитивные функции человеческого или иного разума. Одним из важнейших сенсорных навыков живых организмов является пространственное восприятие окружающего мира. Для того, чтобы ориентироваться в пространстве, живые организмы используют информацию самого разного свойства:

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Можно ориентироваться по гравитационному вектору, чтобы отделять понятие “низ” и “верх”. Осязание, помогает прочувствовать детали изучаемых объектов которые не видны зрению, определить негеометрические качества объекта, такие как температура.

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

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

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

Задачи, подобные описанным выше, сегодня требуется решать не только человеку, но и технике. Аналогично тому, как бинокулярное зрение помогает нам определять расстояния до объектов, специальные глубинные камеры или RGB-D сенсоры, такие как Intel Realsense или Microsoft Azure Kinect, способны получать поток RGB-D изображений [обычное цветное (RGB изображение + карта глубины (depth map)], Как работают камеры глубины, и как можно использовать их для решения задачи сканирования помещений, можно прочитать в нашей статье. Аппараты МРТ способны восстанавливать трехмерную карту плотности тканей живых организмов по множествам двумерных срезов, аналогично тому как человек может представлять себе форму объекта, который он осмотрел с разных сторон и в разных разрезах.

Существует ряд практических задач, в которых требуется определять структуру пространства:

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

Сегодня для решения данного вопроса всё чаще прибегают к методам машинного обучения. Если представлять работту алгоритма машинного обучения в виде “чёрного ящика” (black box), которому на вход подаются данные заданного типа и на выходе алгоритм выдает предсказание в форме данных заданного типа, то в случае, если на входе и/или выходе представлены данные, кодирующие трехмерные структуры, говорят об области машинного обучения, которая называется 3D ML (three dimensional data machine learning problems) или, часто встречается термин Geometrical deep learning, если речь идет о применении глубоких архитектур.

Для всех, кто хотел бы глубже погрузиться в тематику 3D ML, мы рекомендуем ознакомиться с материалами сайта geometricdeeplearning.com. Особенно полезно будет прочитать обзорную статью по всей области «M. M. Bronstein, J. Bruna, Y. LeCun, A. Szlam, P. Vandergheynst, Geometric deep learning: going beyond Euclidean data, IEEE Signal Processing Magazine 2017».

Типы задач, которые необходимо решать в области 3D ML могут быть самыми разными:

анимирование статичного меша и многие другие.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель
Рис.1 3D ML IDF0 scheme.

В последнее время большую популярность в области 3D ML получили методы глубокого обучения. Это можно объяснить тем, что для работы большинства классических алгоритмов машинного обучения необходимы аналитические функции для манипулирования над данными. Например, для того чтобы построить метрические алгоритмы классификации / кластеризации, нужно ввести метрику в пространстве 3D моделей. Такие метрики можно конструировать с помощью трехмерных дескрипторов Цернике [2] — спектрального разложение двумерных многообразий, аналог преобразования Фурье (мы написали заметку про применению таких дескрипторов в задачи поиска среди 3D моделей).

Так, например, авторы в работе “Characterizing Structural Relationships in Scenes Using Graph Kernels” [3] используют трехмерные дескрипторы Зернике для построения метрического ядра для кластеризации сложных трехмерных сцен, а в “Fast human pose estimation using 3D Zernike descriptors” [4] авторы используют дескрипторы для построение быстрой и устойчивой модели оценки человеческой позы в пространстве. Но для большинства задач 3D ML, подобрать подобные функцией оказывается большим испытанием. В этом случае использование нейронных сетей является более понятной и простой альтернативой.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Рис.2 Слева сверху — оригинальная вокселизированная 3D модель космического корабля. Остальные изображения — меш, восстановленный из изоповерхностей, описываемых дескрипторами Цернике. Число N обозначает количество различных моментов Цернике, использованных для восстановления. Иллюстрация из статьи [2].

На сегодняшний день существует уже множество различных архитектур глубокого обучения для решения задач в области 3D ML, но все их можно условно разделить на несколько видов, в зависимости от типа задачи и типа данных. В данной заметке мы рассмотрим только одну задачу 3D ML, а именно задачу single image 2D-to-3D, чья формальная постановка будет описана в следующей заметке.
Но перед тем как разбираться с постановкой задачи, нужно описать существующие наиболее распространенные способы представления 3D данных и их особенности.

Формы представления 3D данных

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

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

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

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

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Рис.3 Сравнение форм представления 3D данных: основные 4 типа в порядке возрастания пространственной информативности, их 2D аналоги. Иллюстрация из статьи [5].

Для области же 3D ML, на сегодняшний день нет единой формы представления данных, которая была бы одновременно компактна, вычислительно эффективна и легко извлекалась из реальных данных.

Далее будет рассматривать примеры работы с данными на Python, используя наиболее популярные фреймворки для работы с 3D:

Примеры кода и данные для тестов можно найти в репозитории на GitHub.

Для начала, загрузим все необходимые для работы библиотеки и, если есть такая возможность, установим в качестве устройства для обработки тензоров pytorch CUDA совместимую видеокарту.

Чаще всего, например как в работе [5], выделяют четыре основных способа представления трехмерных данных.

Полигональные модели (Mesh, polygonal models)

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

К преимуществам полигональных моделей можно отнести:

К недостаткам полигональных моделей можно отнести:

Во всех своих phygital-проектах мы используем именно эту форму представления трехмерных данных, так как она является стандартом для игровых движков, таких как Unity 3D.

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

Создание полигональной икосферы sphere.obj с 4 уровнями subdivision:

Создание полигональной модели кролика bunny.obj:

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

Подготовка дифференциального рендерера сцены:

Рендеринг наших моделей:

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Красиво отрендеренная модель это прекрасно, но зачастую, для того, чтобы лучше понять с какими данными мы работаем, необходимо интерактивно взаимодействовать с ней (вращать и масштабировать, выделять составные части и многое другое). Такую возможность предоставляет библиотека trimesh с ее интерактивной визуализацией:

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

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

Воксели (Voxels)

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

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

Для вокселизации имеющийся у нас модели воспользуемся встроенным вокселезатором из trimesh:

К преимуществам воксельного подхода можно отнести:

К недостаткам воксельного подхода можно отнести:

Для того, чтобы визуально оценить качество вокселизации модели в trimesh имеется встроенный интерактивный визуализатор:

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

С одной стороны, воксельный подход является на сегодняшний день наиболее распространённым из-за простоты его описания, также из-за корпускулярности данная форма наиболее приспособлена для физических симуляций разрушаемых объектов, с другой стороны, данный подход ограничен низким разрешением пространственной сетки. Типичным диапазоном разрешений воксельной сетки является диапазон от Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модельдо Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель. Несмотря на то, что исследователи пытаются решить проблему низкой размерности, так, например, в [6] авторы использовали октодеревья для построения архитектуры глубокого обучения OGN (Octree Generating Networks), которая позволила работать с сеткой более высокого разрешение чем в предшествующих работах, у данного подхода есть ещё ряд других нерешенных проблем.

Облака точек (Point clouds)

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Облако точек является типичной формой данных о пространстве в робототехнике и компьютерном зрении. Физически облако точек представляет собой неупорядоченное множество трехмерных радиус-векторов. Иногда для каждого такого вектора (точки) можно дополнительно указать ее цвет, как дополнительное составляющей не влияющее на геометрию. Такая форма представления пространственных данных часто на практике встречается в задачах сканирования помещений или отдельно взятых объектов. Камеры глубины в качестве результата работы возвращают изображение вместе с его картой глубины (RGBD), что является частным случаем облака точек. Восстановления карты глубины для данного изображения часто называют задачами 2.5D, указывая на то, что, снятый глубинной камерой объект с одного ракурса, не может быть дополнен пространственной информацией с другого ракурса. В этом смысле облако точек содержит в себе больше информации о геометрии объектов чем RGBD изображения.

К преимуществам облака точек можно отнести:

К недостаткам облака точек можно отнести:

Мы можем воспользоваться методом, встроенным в pytorch3d, тем более что он позволяет помимо самих координат точек генерировать и нормали для них:

Визуализируем заданное облакоточек функцией:

Посмотрим на результат визуализации облаков точек для наших моделей (pytorch3d):

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Проблема неупорядоченности данных (повернув или отмасштабировав 3D модель, данные её описывающее существенно меняются, при этом по сути модель остаётся прежней) характерна и для полигональных моделей, несмотря на это, облако точек самая редко используемая форма данных в области 3D ML. Если говорить о задаче 2D-to-3D, то изображение в данный формат вообще не принято переводить, вместо этого решают другую задачу PC2Mesh (восстановление полигональной модели из облака точек).

Твердотельные/функциональные модели (CAD models, functions)

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Основной идеей функционального подхода (т. н. твердотельные модели) является использование функционального описания поверхностей и функциональное описание физических свойств объектов. Например, помимо формы объекта, заданной некоторой функцией, можно хранить распределение массовой плотности, и тем самым иметь возможность не только корректно визуализировать объект на всех масштабах, но использовать эту же модель для расчета физических свойств. Для создания и работы с твердотельными моделями существуют специальные системы автоматического проектирования и моделирования (САПР), также в английском эквиваленты CAD и CAM системы. Форматов твердотельных моделей сегодня существует намного больше, чем любых других форматов хранения трехмерных данных. Это связано с тем, что для различных инженерных приложений, существуют различные CAD системы и у каждой присутствует свой специфический формат данных.

Функция, с помощью которой описывается геометрия объекта, может иметь разный смысл: с одной стороны это может быть аналитическое описание поверхности, которая ограничивает твёрдое тело в пространстве, с другой стороны, это может быть некоторая специфическая функция, например плотность вероятности случайной величины, которая должна с наибольшей вероятностью принадлежать внутренности объекта (пример из [5]).
Одним из наиболее распространенных способов функционального описания в 3D ML является т.н. signed distance function (SDF) — функция, которая каждой точке в пространстве ставит в соответствие расстояние до ближайшей точки поверхности объекта. Формально можно записать ее следующим образом.

Пусть рассматриваемый нами 3D объект представляется из себя подмножество Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модельнекоторого метрического пространства Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель, т.е. Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель, а поверхность нашей модели — граница этого множества, обозначаемая Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель.

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

В данном случае, расстояние от точки до границы множества вычисляется по формуле:

Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель

Тогда сама поверхность является множеством решений уравнения: Что такое полигональная модель. Смотреть фото Что такое полигональная модель. Смотреть картинку Что такое полигональная модель. Картинка про Что такое полигональная модель. Фото Что такое полигональная модель. Например, такой подход использован в модели DeepSDF [10]. Авторы этой же работы реализовали библиотеку mesh_to_sdf, которая позволяет вычислять значение SDF функции в окрестности произвольной 3D модели.

Рассмотрим пример вычисления SDF функции для внутренних и внешних точек рассматриваемых нами моделей:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *