Полуавтоматический метод - Моделирование эффектов
На данном этапе было принято решение сменить инструмент для создания трехмерной модели объекта. В качестве такого инструмента был выбран itSeez3D. iPad-приложение Itseez3D, использующее технологии компьютерного зрения, может превратить картинку, полученную с помощью камеры iOS-устройства, в 3D-объект. Чтобы программа выполнила свою задачу, к iPad нужно прикрепить структурный сенсор -- устройство Structure Sensor. Устройство надевается на планшет, после чего нужно сделать несколько снимков нужного объекта. Сфотографировать объект нужно с разных сторон. После этого фотографии передаются в приложение Itseez3D, которое обрабатывает их и создает трехмерную их модель.
При этом созданная трехмерная модель в точности передаст цвет, структуру объекта, преобразуя данные в весьма реалистичную модель. Единственное требование - при съемке объекта камера должна находиться в максимально неподвижном состоянии Приложение Itseez3D создаст трехмерное "селфи" // 3d-expo. ru URL: 3d-expo Источник: http://3d-expo. ru/ru/prilozhenie-itseez3d-sozdast-trehmernoe-selfi (дата обращения: 02.05.2015)..
Данное приложение подаст на вход алгоритму следующие данные:
- - model_mesh. ply - финальная трехмерная модель объекта в системе координат rgb-камеры; - model_texture. jpg - финальная текстура объекта; - planeCoeffs. yml - уравнение плоскости стола в системе координат rgb-камеры; - intrinsics_ios. yml - внутренние параметры rgb-камеры; - ios_image_00000.jpg - изображение стола без объекта; - ios_image_00001.jpg - изображения стола с объектом (будет использоваться для сравнения).
Для создания полуавтоматического метода была использована возможность Blender работать со скриптами, написанными на языке Python. Python - это интерпретируемый, интерактивный, объектно-ориентированный язык программирования. Он включает модули, исключения, динамическую типизацию, очень высокоуровневые динамические типы данных и классы. Python комбинирует потрясающую мощность с очень ясным синтаксисом.
Скрипты на Python - сильный и универсальный способ расширения функциональных возможностей Blender'а. Большинство областей Blender'а может быть заскриптовано, включая: анимацию, визуализацию, импорт и экспорт, создание объектов и автоматизация повторяющихся задач.
Алгоритм:
- - Строим модель в itSeez3D, получаем данные, описанные выше; - Создаем сцену в Blender без объекта; - С помощью автоматического скрипта на Python: O Создаем плоскость на основе полученного уравнения; O Выставляем камеру согласно параметрам; O Вставляем объект, текстурируем его; O Выставляем источники освещения; O Запускаем рендеринг с помощью Cycle Render метода рендеринга изображения по слоям.
Отдельно следует остановиться на возникшей задаче конвертации параметров камеры, которые использует Itseez3D и Blender. Программное обеспечение Itseez3D использует модель "pinhole camera model" библиотеки алгоритмов компьютерного зрения OpenCV. В данной модели вид сцены формируется с помощью проекции трехмерных точек на плоскость изображения, используя трансформацию:
Или
, где
- координаты трехмерной точки;
- координаты проекции точки в пикселях;
- матрица камеры (внутренних параметров);
- принципиальная точка (обычно центр изображения);
- фокусное расстояние, выраженное в пикселях.
Камера в Blender имеет следующие параметры:
Lens -- характеризует размер линзы, в миллиметрах;
Resolution_x/resolution_y - характеризует разрешение итогового изображения;
Angle_x/angle_y - позволяет задать фокусное расстояние;
Sensor_width/sensor_height - позволяет задать соотношение сторон (например, 4:3).
Для конвертации была написана следующая функция:
Def getCameraParameters(K_list):
K = np. reshape(np. array(K_list), (3,3))
Resolution_x = round(2 * K[0, 2] + 1)
Resolution_y = round(2 * K[1, 2] + 1)
Fx = K[0, 0]
Fy = K[1, 1]
Angle_x = 2 * math. atan(resolution_x/(2 * fx))
Angle_y = 2 * math. atan(resolution_y/(2 * fy)) return CameraBlender(resolution_x, resolution_y, angle_x, angle_y)
Для выставления параметров камеры в Blender была написана следующая функция:
Def setCameraParameters(camera_blender):
Bpy. context. scene. objects. active=bpy. data. objects['Camera']
Bpy. context. scene. camera = bpy. data. objects['Camera']
Scene = bpy. data. scenes["Scene"]
Scene. render. resolution_x = camera_blender. resolution_x
Scene. render. resolution_y = camera_blender. resolution_y
Scene. render. resolution_percentage = 100
Bpy. data. cameras[0].sensor_width = 25.4 * 4
Bpy. data. cameras[0].sensor_height = 25.4 * 3
Bpy. data. cameras[0].lens_unit == 'FOV'
Bpy. data. cameras[0].angle_x = camera_blender. angle_x
Bpy. data. cameras[0].angle_y = camera_blender. angle_y
Scene. camera. data. angle_x = camera_blender. angle_x
Scene. camera. data. angle_y = camera_blender. angle_y
# Set camera rotation in euler angles
Scene. camera. rotation_mode = 'XYZ'
Scene. camera. rotation_euler[0] = math. radians(180)
Scene. camera. rotation_euler[1] = 0
Scene. camera. rotation_euler[2] = 0
# Set camera translation
Scene. camera. location. x = 0
Scene. camera. location. y = 0
Scene. camera. location. z = 0
Автоматический скрипт выставляет объект и плоскость под ним, камеру, а также создает необходимые материалы для объекта. Листинг представлен в Приложении 1. Результат работы скрипта представлен на рисунке ниже.
Рисунок 39
Рисунок 40
Результат работы автоматического скрипта представлен на рисунке ниже (слева направо: настоящая фотография, смоделированное изображение без эффектов освещения). Рисунок демонстрирует точность позиции объекта).
Рисунок 41
Результат работы алгоритма с эффектами освещения представлен на рисунке ниже:
Рисунок 42
Было выявлено, что данный способ имеет ряд преимуществ:
- 1. Качество полученной модели существенно выше; 2. Доступна дополнительная информация о сцене, позволяющая точно вставить объект, задать параметры камеры; 3. Существенная часть работы автоматизирована; 4. Автоматизация дает возможность дальнейшего поиска наилучшего способа смоделировать тени для достижения максимальной реалистичности.
Похожие статьи
-
Базовый алгоритм - Моделирование эффектов
В качестве базового был разработан следующий алгоритм. Исходные данные: - фотография сцены с объектом (одна) - фотография сцены без объекта (одна) -...
-
Некоторые ручные Liebowitz D., Criminisi A., Zisserman A. Creating architectural models from images //Computer Graphics Forum. - Blackwell Publishers...
-
Rendering Synthetic Objects into Legacy Photographs - Моделирование эффектов
Более подробно остановимся на методе, описанном в работе "Rendering Synthetic Objects into Legacy Photographs" Karsch K. et al. Rendering synthetic...
-
Image-based Content Creation В работе Lalonde Lalonde J. F. et al. Photo clip art //ACM Transactions on Graphics (TOG). - ACM, 2007. - Т. 26. - №. 3. -...
-
Метрика "индекс структурного сходства" - Моделирование эффектов
Исторически объективные методы оценки качества изображений основывались на простых математических выражениях, таких как среднеквадратичная ошибка или...
-
Практическая часть, Постановка задачи, Инструмент рендеринга - Моделирование эффектов
Постановка задачи В качестве практической задачи необходимо разработать следующий алгоритм. Вход: - фотография, в которую будет вставлен синтетический...
-
Обоснование выбранного метода При дизайне системы согласно требованиям или при оптимизации существующей необходимо ввести модель, позволяющую не только...
-
Полуавтоматический метод с моделированием материалов, RSOLP based алгоритм - Моделирование эффектов
Следующий этап улучшения алгоритма - работа со способами моделирования освещения. Характер теней существенно зависит от материалов объекта и плоскости....
-
По Р. Шеннону (Robert E . Shannon - профессор университета в Хантсвилле, штат Алабама, США ), "имитационное моделирование - Есть процесс конструирования...
-
Пересечение луча с поверхностью - Моделирование эффектов
Алгоритм расчета пересечения луча с ограниченной поверхностью, представленный на рис.1 имеет следующие шаги: Рисунок 1 Шаг 1. Рассчитываются все точки...
-
Введение - Моделирование эффектов
Компьютерную графику можно рассматривать как искусство создания реалистичной иллюзии действительного Мира. С другой стороны, методами компьютерного...
-
Сравнение с эталоном - Моделирование эффектов
Фотореалистичность являетя субъективным критерием, поэтому применим метод сравнения полученного изображения с эталоном. За эталон будем брать реальную...
-
Трассировка лучей и метод фотонных карт - 3D моделирование
Пожалуй, один из самых распространенных методов для построения реалистических изображений является трассировка лучей. При построении изображения луч...
-
Предлагаемый метод моделирования, Структура системы. - Искусственный интеллект
В каждый момент времени анимат находится в некоторой области, которой соответствует некоторая когнитивная карта. Такая карта называется активной...
-
Лучевые методы построения оптических эффектов - Моделирование эффектов
Для решения задач построения оптических эффектов: тени, отражения и преломления, - применяются методы прямой и обратной трассировки лучей. Отмечают...
-
Сравнение, Скорость рендеринга - Моделирование эффектов
Для сравнения полученных изображений были выбраны следующие метрики: 1. Скорость рендеринга; 2. Субъективная (экспертная) оценка с использованием...
-
Обратная трассировка лучей - Моделирование эффектов
Для отсекания лучей, не попавших в приемник, достаточно рассматривать наблюдателя S в качестве источника обратных лучей. В данном методе полагают трассу...
-
Метод трассировки лучей - Моделирование эффектов
Основная идея метода заключается в повторении на ЭВМ всех геометрических преобразований, которые бы совершил световой луч на пути источник - объект -...
-
Основные определения Свет -- в физической оптике электромагнитное излучение, воспринимаемое человеческим глазом. Источник света -- любой объект,...
-
Заключение, Список литературы - Моделирование эффектов
В результате проведенной работы были выполнены поставленные задачи, а именно изучены базовые понятия аналитической геометрии, решены базовые задачи в...
-
Тень точки q на произвольной поверхности образуется в точке пересечения с ней прямого луча. При дальнем источнике света рекомендуется задавать вектор его...
-
Прямая трассировка лучей - Моделирование эффектов
В данном методе генерируется пучок лучей, выходящих из источника во всевозможных направлениях. На рис.6 показаны варианты распространения лучей в сцене,...
-
При запуске программы с входными параметрами {"-makexls" "filename. xls" "температурная_точка" "отклонение" "элемент"} происходит извлечение результатов...
-
Предложенный подход к решению задач исследования Используя в качестве основы присутствующее в наличии программное обеспечение, которое применимо к...
-
SPSS Modeler [29] - это программный комплекс, позволяющий строить прогностические модели и применять эту информацию при принятии решений на уровне...
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
При достижении целей внедрения организация получает следующие эффекты: *Обеспечение прозрачности бизнес-процессов; Возможность оперативно отслеживать...
-
Отражение луча от поверхности, Преломление луча на поверхности - Моделирование эффектов
Зеркальное отражение луча от поверхности строится по законам отражения (рис.4) Отражение (физика) // Википедия. [2015--2015]. Дата обновления:...
-
Освещение, Визуализация - 3D моделирование
Наилучшее освещение должно являться почти подсознательным: это когда оно присутствует, но не является навязчивым. Оно подчеркивает свойства сцены,...
-
В среде электронного ресурса ИИС "MD_SLAGMELT" (Рис. 6) для доступа к компоненту "моделирование" необходима учетная запись (пара логин/пароль) (Рис.7)....
-
Анимация, Виртуальная студия - 3D моделирование
Трехмерный графика моделирование Анимация -- один из самых сложных этаов трехмерного моделирования. Для трехмерной анимации мы должны иметь широкие...
-
Для упрощения работы с трехмерной моделью на любом этапе проектирования и повышения ее наглядности в SolidWorks используется Дерево Построений (Feature...
-
Рисунок 10. Архитектура программы В структуре программы обработки сложноструктурированных данных для научного эксперимента в ИИС "Шлаковые расплавы"...
-
Разработка интерфейса, Разработка запросов - Высокоуровневые методы информатики и программирования
Программа, будет начинать работу с вывода главной формы, на которой будет располагаться самое главное меню, т. е. другими словами "панель навигации"....
-
Описание пакета Simulink - Среда визуального моделирования Simulink
С помощью Simulink возможно быстрое создание, моделирование и управление детализированной блок-диаграммой системы, использующей предопределенные блоки....
-
Рассмотрим иерархическую структуру информации на примере использования психологического теста для оценки психологических качеств сотрудников и влияния...
-
Моделирование - 3D моделирование
Чтобы моделирование было успешным нужно заранее рассчитать, каким образом наблюдаемые (или воображаемые) объекты окружающего мира можно будет превратить...
-
Построение модели предметной области с помощью описания структур данных и программного кода является классическим подходом в разработке ИС. Зачастую...
-
Разработка концептуальной модели базы данных При проектировании программ выясняются запросы и пожелания клиента и определяется возможный подход к решению...
-
В ходе разработки программы было использовано программное обеспечение Microsoft® Windows® "Подключение к удаленному рабочему столу" для извлечения...
Полуавтоматический метод - Моделирование эффектов