Преобразование двухмерных форм в трехмерные объекты
Мы уже научились создавать и редактировать плоские формы, но каким же образом они превращаются в трехмерные объекты? Фактически, можно использовать несколько различных операций с небольшим количеством форм и получить неожиданно широкий диапазон результатов. Наиболее часто применяются операции выдавливания (extrude), вращения (lathe), развертки (sweep) и наложения (skin В этих операциях также имеет значение разрешение формы, поскольку программа, как правило, позволяет задавать уровень возрастания (шагов или сегментов), используемый для преобразования формы из плоской в объемную. К слову сказать, чтобы форму можно было использовать в объемных сценах, она не обязательно должна иметь глубину. После того, как двухмерная форма превратится в плоский полигон с поверхностью, на него можно наложить текстурную карту и применять в модели как и любой другой объект.
Наиболее простой способ преобразования двухмерной формы в трехмерную — это ее выдавливание. При выполнении операции выдавливания (extrude) двухмерная форма просто «проталкивается» в третье измерение, получая Z-ось глубины 17 В результате появляется трехмерный объект, обладающий шириной, высотой и глубиной.
Для создания выдавленного объекта, в первую очередь, необходимо определить двухмерные формы с помощью ломаных линий или сплайнов. Обратите внимание, что при создании вложенных форм, например, двух кругов на рисунке, внутренний круг будет образовывать сквозное отверстие в объекте. Следует отметить необходимые формы и использовать выдавливание, задав глубину объекта мышью или вводом значений с клавиатуры.
Следующим методом формирования трехмерного объекта является вращение (lathing В деревообработке lathe (токарные станок) — это механизм, с большой скоростью вращающий деревянный брусок и подрезающий его острым резцом. С помощью вращения создаются замысловатые вырезанные цилиндрические объекты, например, ножки стульев или стойки кровати. В трехмерном моделировании благодаря этой операции двухмерная форма вращается вокруг оси и, по ходу дела, постепенно вдавливается вовнутрь 18
Для создания кругового объекта с помощью ломаных линий или сплайнов создайте двухмерный объект или объекты, которые будут использоваться в качестве поперечного сечения. Выберите команду вращения (lathe) для определения оси, вокруг которой предполагается вращать поперечное сечение, в результате чего получится радиально симметричный трехмерный объект.
Вращение не обязательно должно проводиться на все 360° — это может быть 90°, 180° или 272°, результатом чего будет частичное вращение Подобное вращение облегчает возможность создания разрезов объектов или же устранения лишних элементов формы, когда, например, часть объекта находится внутри другого объекта.
Несмотря на широкое распространение, следующие две операции преобразования плоских форм в объемные имеют разные (иногда противоположные) названия в зависимости от программы, в которой они используются. К примеру, в программе 3D Studio эта операция называется лофтитом (lofting) или созданием объектов на основе опорных сечений, а во многих других программах — разверткой (sweep), как и мы будем называть ее далее. Развертка — это одинарное двухмерное поперечное сечение, протягиваемое вдоль определенного пути 20)
Создание объекта развертки начинается с задания двухмерного поперечного сечения с помощью ломаных линий или сплайнов Затем ломаными линиями или сплайнами задается путь, по которому будет вытягиваться поперечное сечение. Следует отметить, что этот путь может быть открытым или замкнутым Далее определяется поперечное сечение для пути или наоборот. Это сечение не обязательно должно центрироваться по отношению к пути или быть перпендикулярным ему. Хотя его ориентация, безусловно, повлияет на конечный результат. И, наконец, выполняется операция развертки, создающая трехмерный объект с помощью выдавливания поперечного сечения вдоль пути.
Развертка, в зависимости от пути, бывает трех видов: открытая, замкнутая и спиралевидная. Хотя спиралевидная развертка может рассматриваться в качестве разновидности незамкнутой, благодаря частому использованию она заслужила отдельное название.
· Незамкнутая развертка (open sweep) создается с помощью пути, имеющего две конечных точки Такие развертки позволяют выдавливать объекты по криволинейной траектории, что невозможно сделать посредством изначальной операции выдавливания (extrude Незамкнутая развертка используется для создания моделей проводов, веревок, труб, стволов растений, змей или любых изогнутых промышленных изделий.
· Спиралевидная развертка (helical sweep) является разновидностью незамкнутой, путь в которой извивается подобно пружине, для создания которой эта развертка, в основном, и применяется. Кроме того, с ее помощью можно создавать винтовую резьбу. Большинство программ предлагают средства управления, облегчающие формирование спиралевидного пути для такой развертки.
· Замкнутая развертка (closed sweep) создается посредством замкнутого пути таким образом, что поперечное сечение по мере продвижения вдоль пути возвращается в исходную точку. С помощью замкнутых разверток удобно создавать повязки футбольных болельщиков, картинные рамки, орнаменты или окантовки объектов.
Последним из распространенных способов превращения плоских форм в объемные является наложение/натяжка текстуры (skinning Эта операция аналогична развертке (sweep), за исключением того, что здесь можно использовать несколько различных поперечных сечений для одного пути. В сущности, программа создает «кожу», охватывающую этот путь-остов подобно тому, как натягивают на металлические спицы ткань или пластик при создании зонтика.
В зависимости от метода реализации, для операции наложения может потребоваться дополнительная настройка. Например, в некоторых программах требуется, чтобы все поперечные сечения имели равное число вершин. В этом случае к некоторым формам придется добавлять вершины для выравнивания их общего количества.
Как правило, результат наложения зависит от расположения первой вершины (см. описание выше) на каждом из поперечных сечений. Это связано с тем, что программа начинает операцию наложения именно с этих вершин. Желательно, чтобы первые вершины всех поперечных сечений находились примерно на одной линии, иначе объект может получиться перекрученным. Грамотное сочетание количества вершин и их расположения зависит от тщательного предварительного планирования.
После подготовки поперечных сечений для определения глубины конечного объекта создается путь (прямой или криволинейный Последний этап — назначение поперечных сечений — может быть реализован по-разному, в зависимости от про-|граммного обеспечения. В одних программах требуется сначала разместить поперечные сечения на необходимую глубину, а затем выполнить операцию наложения, поочередно выбирая каждое из поперечных сечений. В других программах поперечные сечения можно оставить на исходных местах и затем определить их местоположение в единицах измерения или с помощью процентного соотношения от пути. В любом случае, наложение — это замечательный способ создания моделей автомобильных запчастей, оружейных стволов, игрушечных машинок и прочих объектов средней сложности.
ДОМАШНЕЕ ЗАДАНИЕ
Создание анимационного ролика.
Дата добавления: 2014-01-20 ; Просмотров: 1169 ; Нарушение авторских прав?
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
LiveInternetLiveInternet
—Рубрики
—Подписка по e-mail
—Поиск по дневнику
—Статистика
2D-3D конверсия (2D to 3D conversion)
Метод псевдостерео.
Это выделение объектов исходной картинки, их смещение относительно друг друга и геометрические преобразования.
Величина смещения определяется «глубиной» объекта в сцене.
При смещении объектов в изображении возникают разрывы, которые необходимо либо «закрашивать», т.е. дорисовывать части изображения, которых нет в оригинале, либо увеличивать объекты, чтобы они закрыли разрыв.
Кроме смещения применяют геометрические преобразования объектов (растяжение, сжатие и т.д.).
Для выделения, смещения и преобразований используют графические редакторы (Corel Photopaint, Adobe Photoshop и др.).
Использование специальных программ
На рынке существуют программы, которые создают стерео последовательность на основе стереопары или по заданным картам глубины. Карта глубины может представлять собой grayscale-файл, в котором яркость каждого пиксела задает глубину соответствующего элемента исходного плоского изображения.
Некоторые из таких программ (автор Е.Вазенмиллер):
Bas-relief преобразует двухмерное изображение в трехмерное с использованием карты глубины.
DepthMapCreator создает карту глубины, анализируя изображения для левого и правого глаза. Работает с программой Bas-relief.
StereomorpherPlus предназначена для создания новых ракурсов (промежуточных и внешних) на основе стереопары.
3D-моделирование плоских изображений (с сайта Алексея Ельцова).
«. для каждого видимого на плоской картинке объекта строится трехмерная сеточная модель (mesh model). Эта модель играет роль своеобразной трехмерной болванки, на которую «натягивается» текстура исходного изображения. Особенность этого метода в том, что исходная текстура остается не искаженной, дорисовываются только невидимые на боковых ракурсах участки.
Таким образом, если при классическом 3d-моделировании сначала создается модель, а затем происходит подготовка и подгонка текстур, то в данном случае имеет место обратный процесс: в заданную текстуру встраивается точная трехмерная модель. «
Прошло несколько десятилетий с того момента, как был изобретен растровый способ воспроизводства стереоизображения, но лишь концу двадцатого века наконец получили достаточно широкое распространение и сами линзовые растры, и технические средства, позволяющие при помощи цифровых технологий готовить изображение для них.
Не требующий для просмотра специальных навыков и устройств, линзовый растр в первую очередь привлекателен для рекламной продукции, как прекрасное средство привлечения внимания. Однако, он имеет и другие, не менее интересные области применения. Одной из таких областей является стереорепродукция — воссоздание объемного изображения по мотивам плоского живописного полотна. Использование стереоизображения в качестве дополнительного выразительного средства позволяет по-новому взглянуть на ряд произведений классической живописи.
Стереорепродукция — жанр, точнее ремесло, возникшее на стыке технологии и изобразительного искусства, стала возможна лишь в последние годы. Дело в том, что в былые времена растровые стереоизображения, как правило, ограничивались форматом календарика или открытки. Технические средства, позволяющие получать формат, сопоставимый с исходным живописным полотном, появились относительно недавно. Современные линзовые растры позволяют воспроизводить хотя пока еще не большой, но уже приемлемый для ряда живописных произведений объем.
Известно не так уж много способов перевода плоского изображения в объемное. Наиболее распространено так называемое псевдо стерео преобразование. Современные графические редакторы легко позволяют порезать картинку на слои, задать смещение и получить стереопару, или даже несколько ракурсов для растра. Не смотря на свою популярность и простоту реализации, псевдо стерео изображения имеют ряд недостатков. Конечно, мы наблюдаем некоторую иллюзию объема, видим несколько разнесенных в пространстве планов, но это ПЛОСКИЕ планы. А в случае живописи простого объема не достаточно — хочется еще и ощущения рельефа, такого, какой мы видим, например, в случае многоракурсной стереофотографии.
Существует единственный способ преобразования двумерного изображения, позволяющий получить настоящий, реалистичный объем. При этом для каждого видимого на плоской картинке объекта строится трехмерная сеточная модель (mesh model). Эта модель играет роль своеобразной трехмерной болванки, на которую «натягивается» текстура исходного изображения. Особенность этого метода в том, что исходная текстура остается не искаженной, дорисовываются только невидимые на боковых ракурсах участки.
Таким образом, если при классическом 3d-моделировании сначала создается модель, а затем происходит подготовка и подгонка текстур, то в данном случае имеет место обратный процесс: в заданную текстуру встраивается точная трехмерная модель.
Следует отметить безальтернативность этого метода 3d-конверсии для тех случаев, когда имеется единственная проекция (уникальная фотография, живописное полотно). Процесс восстановления формы объекта, для которого имеется хотя бы 2 ракурса теоретически возможно автоматизировать, так как в исходных кадрах имеется информация о пространственном расположении объектов. Давно разработан математический аппарат, появляется программное обеспечение, позволяющее этот процесс реализовать. Однако, восстановить пространственную форму объекта по единственной проекции можно только базируясь на априорных представлениях о реконструируемой поверхности, т. е. как-либо автоматизировать этот процесс невозможно в принципе. Таким образом, процесс перевода плоского изображения в стереоскопическое всегда будет связан с кропотливой ручной работой, а результат будет зависеть в первую очередь от квалификации и терпения 3d моделлера
Nvidia создала нейросеть, которая преобразует двухмерные объекты в трехмерные
Nvidia создала AI-систему DIB-R (differentiable interpolation-based renderer), которая построена на основе ML-фреймворка PyTorch. Система способна преобразовывать двухмерные изображения в трехмерные объекты.
DIB-R обрабатывает картинку, а затем преобразует ее в высокоточную 3D-модель. Учитываются формы, текстура, цвета и освещение объекта. При этом задействована архитектура кодера-декодера, типа нейронной сети, которая преобразует входные данные в вектор, используемый для прогнозирования конкретной информации.
Вся работа занимает менее чем 100 миллисекунд.
Однако на тренировку самой системы уходит двое суток на одном GPU Nvidia V100.По мнению разработчиков, при использовании GPU этот процесс может растянуться на недели.
AI-системе показали несколько датасетов с изображениями птиц. DIB-R смогла создать качественные модели по одной 2D-картинке.
Система «видит» двухмерное изображение и делает выводы на основе трехмерного «понимания» мира. Это похоже на то, как люди переводят двухмерный видимый объект в трехмерный мысленный образ.
В Nvidia полагают, что система поможет автономным роботам с восприятием глубины и повысит их точность и безопасность. Также она улучшит ориентацию на местности и умение манипулировать предметами. Фреймворк DIB-R интегрирован в разработанную Nvidia PyTorch-библиотеку Kaolin.
Санья Фидлер, директор AI в Nvidia, заявила: «Представьте, что вы можете просто сделать фотографию, и у вас появится 3D-модель, а это значит, что вы можете теперь смотреть на ту сцену, где сделали снимок со всех видов точек обзора… Такие инструменты, как Google Maps, могут стать более захватывающими, чем когда-либо. И, возможно, креативщики, более опытные в фотографии или живописи, чем в кодировании и разработке, могут оставить всю тяжелую разработку для машин».
Ранее Google презентовала «объяснимый» ИИ (Explainable AI). Его алгоритм расширен для улучшения интерпретируемости пользователями с помощью специальных модулей-пояснений. Пояснения количественно определяют вклад каждого элемента данных в выходные данные модели машинного обучения. Используя эти модули можно понять, почему модель приняла определенные решения, также эту информацию можно использовать для дальнейшей адаптации моделей машинного обучения.
Теперь компания ведет исследование в рамках разработки объяснимого ИИ. Оно касается изучения функций, которые позволяют AI сделать тот или иной прогноз. Разработка видит одной из проблем то, что по мере разрастания системы становится все труднее увидеть точные причины конкретных прогнозов. Таким образом, одной из задач разработки объяснимого ИИ Google считает представление работы этой системы в форме, которая будет понятна.