29 июля 2007 г.
Компьютерные стимулы использования Джеки дракона в качестве модели.
Здравствуйте, меня зовут Кевин У., я представляю Центр интегративного изучения поведения животных Университета Маккуори в Сиднее, Австралия. В данной видеостатье я расскажу об использовании компьютерной анимации в экспериментах по изучению поведения животных. В частности, я опишу процесс создания одной из таких моделей.
В настоящее время анимация становится очень популярной в современной культуре, однако она редко используется в науке или в исследованиях, связанных с ней. Тем не менее первые попытки создания научной анимации начинались с очень простых процессов; зачастую эти методы включали послойное сканирование отдельных частей объекта или конкретного образца. Также применялись техники, схожие с анализом биологического движения, например, использование точечных источников света для сопоставления определенных частей тела с анимацией. Более того, для создания подобной анимации требовалось разрабатывать всё с самого начала.
Использование анимации позволило нам изучить многие аспекты поведения животных, такие как спаривание, ухаживание, а в данной работе я подробно остановлюсь на коммуникации, а именно на визуальной коммуникации. Применение анимации является гораздо более совершенным методом по сравнению с традиционными способами, такими как наблюдение за живыми особями или инвазивные методы, например, хирургическое вмешательство. В данной статье я представлю общий обзор процесса создания этой конкретной модели, а также мы рассмотрим, как проводится сканирование этой модели.
Мы рассмотрим процесс добавления текстур, создание костей UV-развертки, настройку весов шейдинга, способы захвата стимула для ротоскопирования и, наконец, процесс полного рендеринга до получения готовой последовательности кадров. Создание всей анимации состоит из восьми основных этапов. Первый этап заключается в получении 3D-скана всего объекта.
Это обеспечивает базовую форму объекта. Затем необходимо добавить текстуру, которая, очевидно, придает ему более реалистичный вид; эта текстура затем развертывается в UV-карту, что позволяет точно наложить определенные участки текстуры на объект. После этого потребуется манипулировать объектом, а затем добавить риггинг, на основе которого создаются кости.
Затем добавляется затенение весов, чтобы придать объекту общую сбалансированную перспективу при движении. Далее необходимо зафиксировать конкретные стимулы, на основе которых можно смоделировать движение объекта. Затем мы выполняем ротоскопирование этих движений поверх полученных изображений, и, наконец, рендерим последовательности в читаемый формат для последующего воспроизведения видео. В качестве модели мы использовали таксидермический образец.
В данном видео мы используем систему Konica Minolta vi-9i для воспроизведения трехмерного объекта. Konica Minolta использует цифровую фотографию и обеспечивает высокую точность измерений за счет применения 3D-алгоритма для связывания фотографических сегментов между собой. Система определяет форму и размеры модели и преобразует изображения в цифровые 3D-данные.
3D-сканирование позволяет захватить отдельные сегменты реального объекта и перенести их в модель, предназначенную для компьютерной анимации. Затем этот объект воссоздается путем размещения данных сегментов в соответствующих позициях. В результате получается объект, которым можно манипулировать в программном обеспечении для анимации.
Здесь представлена демонстрационная установка, показывающая процесс фотографирования объекта и его последующего преобразования в трехмерную анимированную модель. Сначала объект фотографируют под разными углами, затем полученные изображения приводятся в правильную ориентацию, что позволяет сгладить соединительные контуры. В данной методике используются фотограмметрические системы, позволяющие добиться высокой детализации и точности воспроизведения объекта.
В данной системе используются как покрытые маркеры, так и масштабные линейки с контролируемым размером для картирования координат референсных маркеров. Эти координаты образуют трехмерную конфигурацию, которая используется для точного определения контуров и расстояний между отдельными секциями фотографий. Данные были собраны с помощью raindrop geomagic, которая использовалась для получения единой полигональной сетки морфологической формы данных.
Для создания анимации мы решили использовать программу LightWave 3D. Несмотря на наличие других доступных программ для 3D-анимации, мы выбрали LightWave благодаря ее удобному интерфейсу и способности считывать совместимые выходные файлы. Кроме того, LightWave состоит из двух отдельных программ: моделлера (modeler) и редактора компоновки (layout).
Программа LightWave Modeler позволяет манипулировать объектом путем выделения конкретных полигонов для внесения изменений, создания слоев объекта, добавления цвета и текстуры, а также создания скеганов. LightWave Layout используется для создания сцен, необходимых для завершения анимационной последовательности. Modeler представляет собой среду, в которой формируются характеристики объекта.
Именно здесь мы можем добавить текстуру, UV-развертку, начальный скелет, который впоследствии будет преобразован в кости, а также настроить веса. Shading Modeler является предшествующим этапом перед использованием LightWave, где фактически создаются сцены, поэтому именно здесь объекту изначально присваиваются все его характеристики. LightWave Layout — это программа, в которой создается сама сцена, за исключением сетки, в которой объект будет размещен. В этой плоскости X, Y и Z есть еще две специфические функции.
В вашем распоряжении имеется камера, которая непосредственно снимает сцену; ее можно расположить под любым углом, в зависимости от того, какой ракурс вам необходим. Также используются осветительные приборы. Вы можете задействовать один или несколько источников света, которые помогают осветить как сцену, так и объект, позволяя создавать различные варианты освещения.
Макет световых волн позволяет рассмотреть сцену с нескольких разных ракурсов. Максимально доступное количество ракурсов — четыре разные перспективы. Это оптимальный способ просмотреть объект в сцене под максимально возможным количеством различных углов перед получением окончательного результата.
В программе LightWave Layout существует три разные оси вращения. Первая — координата X, которая отвечает за тангаж. Вторая — координата Y, которая определяет курс, и третья — координата Z, которая отвечает за крен.
Эти три различные координаты относятся к перемещению, в ходе которого мы можем манипулировать не только объектом, но и камерами и освещением в нашей сцене. Сначала мы выбрали ящерицу рода Jackie, схожую по массе и длине с нашей таксидермической моделью. Затем мы получили текстуру объекта, сфотографировав текстуру и узоры этой живой ящерицы Jackie.
Затем ящерицу сфотографировали с разных ракурсов, включая фронтальный и ортогональный, в различных положениях (фронтальном, ортогональном, вентральном и дорсальном), а также отдельные части тела, такие как животное целиком, голова, туловище, хвост и конечности, на белом листе бумаги. Затем мы сбалансировали изображение по значениям чистого белого цвета RGB. Чтобы получить правильную текстуру, мы взяли живую ящерицу и сфотографировали ее с нескольких разных ракурсов. Снимки были сделаны с трех ракурсов и в трех различных положениях.
Использовались три ракурса съемки — ортогональный, дорсальный и вентральный, и три положения — переднее, центральное и заднее. Для фотографирования ящериц использовалась цифровая камера Canon ES. Затем фотографии импортировались в Adobe Photoshop, где объекты отделялись от фона.
Затем эти фрагменты были приведены к значениям RGB и подвергнуты балансировке белого, чтобы исключить любые цветовые различия. Для наложения текстуры на объект мы создали UV-развертку (Atlas UV map). Данная UV-развертка была создана в программе LightWave Modeler.
Карта UV-развертки Atlas разделяет объект на фрагменты, состоящие из соединенных полигонов. Поскольку объект не имел простой формы, такой как куб или цилиндр, карта UV-развертки Atlas разделяет его на несколько более простых плоских поверхностей без углов в 90 градусов. Однако при этом карта UV-развертки Atlas разбивает объект на несколько разрозненных сегментов из соединенных полигонов.
Затем карта атласа в УФ-спектре была зафиксирована с помощью программы Grab для создания отдельного изображения в формате JPEG. После этого данное изображение было встроено в качестве фонового слоя в Adobe Photoshop Elements. Сохранив JPEG без изменения размера изображения, мы сберегли пропорции, которые можно использовать для сопоставления областей на Jackie Dragon с объектом.
Затем различные фотографии Jackie Dragons были совмещены в Adobe Photoshop elements для создания целостных моделей Jackie Dragons в нескольких ракурсах, таких как фронтальный, ортогональный, вентральный и дорсальный; после чего полигоны были сопоставлены с соответствующими областями на модели Jackie Dragon. Затем в LightWave Modeler мы снова выделили эти полигоны на UV-развертке атласа, что позволило нам идентифицировать конкретную область на модели Jackie Dragon.
Затем эта область была обрезана и наложена на соответствующие участки фоновой UV-карты атласа в формате jpeg для конкретных зон Jackie Dragon, которые были сфотографированы, затем обрезаны и наложены на эти специфические полигоны. Когда все фотографические фрагменты были наслоены на UV-карту атласа в формате jpeg, фон был удален и был создан один TIF-файл. Затем TIF-файл был импортирован обратно в LightWave Modeler и назначен соответствующим UV-координатам.
UV-развертка заключается в том, что мы берем сегменты, которые ранее были сфотографированы с живой ящерицы, разделяем их и накладываем на нашу анимированную модель ящерицы. Это выполняется в программе LightWave Modeler. С помощью программы LightWave Modeler мы используем инструмент UV Atlas map, который позволяет разделить объект на несколько различных сегментов.
Разделив объект на несколько различных сегментов, мы можем использовать текстуры, полученные с фотографий, и наложить их на эти конкретные части. В отличие от однотонных или цилиндрических объектов, не имеющих прямых углов, данный объект разделяется на несколько разных сегментов. Здесь представлен крупный план некоторых небольших полигональных сегментов на нашей UV-развертке.
Мы можем выделить эти конкретные сегменты, чтобы определить, какие именно полигоны соответствуют определенным частям тела. Сегменты объекта на фотографиях, сделанных при освещении ящерицы, были разделены, а затем наложены на наши разделенные части. С помощью карты UV-развертки эти сегменты были сопоставлены, что позволило наложить текстуру поверх нашего объекта.
Скеган (skegans) и кости встроены в объект, что позволяет осуществлять его общее перемещение и манипуляцию. Сначала в моделлере LightWave в объект были встроены скеганы, которые служат заполнителями для виртуальных костей, создаваемых в Layout LightWave. В частности, для нашего объекта всего было создано 61 кость.
Сначала в программе LightWave Modeler был открыт слой, и объект был отображен в виде каркаса. Эта программа позволяет просматривать несколько слоев каркаса, что предотвращает случайное выделение или перемещение определенных полигонов при создании скегана. В нашей модели мы создали искусственный спинной стержень, который должен был выполнять функцию шейных позвонков от шеи вниз до крестцовых позвонков у кончика хвоста.
Здесь с помощью skegan был воссоздан скелет настоящего Jackie Dragon. Однако для головы мы использовали только один большой скелетный пистолет. Затем мы создали четыре конечности, каждая из которых состояла из четырех skegan; далее skegan были объединены в качестве грудных позвонков, а затем задние конечности также были прикреплены к тазовому поясу.
Затем скеганы были объединены для создания иерархической системы, в которой позвоночник служил центральным основанием для всех движений конечностей. После создания всех скеганов объект был синхронизирован с раскладкой световых волн, и скеганы были преобразованы в кости. Каждая кость, как и сам объект в режиме раскладки, также имеет три плоскости вращения.
Скеганы (Skeigans) являются предшественниками костей. Сначала скеганы создаются в Lightweight Modeler. Именно здесь мы устанавливаем эти скеганы, чтобы в дальнейшем преобразовать их в кости с помощью LightWave Layout.
Ske guns представляют собой начальный процесс, который обеспечивает гибкость и возможность манипулирования, позволяя изменять форму и положение объекта. Сначала в Light wave modeler можно добавить ske guns, которые помогают управлять объектом. Теперь эти skegan размещены в объекте в качестве маркеров позиционирования для последующего преобразования в кости.
В LightWave Layout мы преобразуем эти скеганы в кости. На данной диаграмме также представлена полигональная сетка, которая точно показывает размеры и количество полигонов конкретного объекта в LightWave Layout. В следующей сцене вы увидите, как эти кости взаимодействуют друг с другом для манипулирования объектом. Настройка весов (weight painting) обеспечивает объектам гибкость и задает ограничения при движении.
Карты весов имеют общие значения в диапазоне от -100% до +100% в распределении движения. Таким образом, например, независимые карты весов, предназначенные для конкретных областей объекта, должны действовать антагонистично, чтобы обеспечить плавное и реалистичное движение объекта. Значение веса указывает на то, что чем больше отклонение от 0% (что означает отсутствие эффекта), тем сильнее будет воздействие на движение данной части тела.
Весовые коэффициенты (weight shading) определенной области также влияют на движение костей. Однако неправильная настройка весов может привести к заторможенному движению объекта относительно движения костей, например, кости могут выступать за пределы объекта при движении в одном общем направлении, либо к гипердвижению, когда перемещение объекта опережает положение костей в общем направлении. Здесь в LightWave Modeler мы разделяем ракурс на четыре окна (quad perspective).
Это позволяет нам видеть антагонистические пары весового затенения (Weight shading). Чтобы продемонстрировать вам на близком примере, как здесь происходит весовое затенение, мы сначала применили весовой слой к хвосту. Добавляя весовое затенение к определенной части объекта, нам потребуется добавить противовес, чтобы сбалансировать движение объекта.
Здесь мы добавили противовес в верхней части, чтобы сбалансировать чрезмерные движения, которые мог бы создавать хвост. Для начала ротоскопирования нам сначала необходимо собрать последовательности, на основе которых мы сможем смоделировать наши двигательные паттерны. Сначала мы симулировали взаимодействия самцов между собой с использованием особей, содержащихся в неволе.
Самцов помещали в стеклянные террариумы IPOing, после чего независимо друг от друга снимали их социальные displays. Полученные последовательности были заархивированы для других экспериментов и использования при ротоскопировании. Из записанного цифрового видеоматериала были выбраны последовательности двигательных паттернов, такие как движение хвостом (tail flick), отжимания (pushup), раскачивание тела (body rock) и медленные взмахи передними конечностями (slow arm wave); эти сегменты были экспортированы в виде последовательностей изображений — серии последовательных файлов jpeg — в Apple QuickTime.
Изначально мы снимали взаимодействия живых животных, которые были необходимы и сохранены в качестве архивного видеоматериала для проведения захвата стимулов. Эти архивные кадры с ящерицами демонстрировались живой ящерице, находившейся в террариуме. Реакции этой живой ящерицы записывались с помощью цифрового камкордера, и в итоге эти записи стали последовательностями, которые мы использовали для ротоскопирования.
Ротоскопинг — это техника, при которой модель накладывается на фоновое изображение или серию изображений, движения которых объект должен имитировать в покадровой последовательности. Программа LightWave Layout служит средой, в которой создается сцена для анимационной последовательности. В режиме Layout мы можем контролировать среду представления нашей анимации, устанавливая параметры освещения, камеры, характеристики объекта и фона.
В макете. Стимул также используется в финальной сцене, которая будет зафиксирована только тогда, когда материал окажется в поле зрения камеры. Сначала первое изображение в формате jpeg импортируется в фон обзора камеры.
Затем объектом манипулируют, используя параметры движения костей, которые также наложены поверх фонового изображения. После этого устанавливается ключевой кадр, что позволяет сохранить положение объекта и всех костей для данного конкретного кадра. Затем фоновое изображение удаляется и заменяется следующим последовательным снимком.
На последовательности изображений объект снова перемещается в положение и позу, соответствующие фоновому изображению, после завершения манипуляций с каждым кадром. Затем для каждого кадра создаются ключевые кадры, и по завершении сцены последовательность можно экспортировать как набор отдельных изображений или отрендерить в одну общую последовательность. Чтобы продемонстрировать ротоскопинг, который представляет собой воссоздание реалистичного движения на основе записанных видеопоследовательностей, мы начнем с того, что покажем изображение, которое мы обычно используем в качестве исходного фона.
Итак, в этой первой последовательности вы увидите пустую ветку, на которой обычно сидит ящерица. Затем я покажу вам последовательность с живой ящерицей, которую мы будем использовать для ротоскопирования. И в-третьих, вы увидите последовательность с анимированной ящерицей, которая наложена поверх живой ящерицы.
Здесь я демонстрирую, куда импортируется объект в окне компоновки LightWave. Как видите, область компоновки можно разделить на несколько разных экранов, что обеспечивает лучший обзор при манипуляциях с объектом. Однако самым важным является верхний вид — вид из камеры; на нем видны безопасные зоны, обозначенные прямоугольными рамками вокруг ящерицы.
Все, что видно или находится внутри этой безопасной зоны, будет зафиксировано камерой и в конечном итоге использовано при рендеринге для создания сцены. Ротоскопинг представляет собой покадровую обработку объекта, наложенного на фоновые изображения.
Таким образом, в качестве пошагового процесса мы экспортировали последовательность изображений в отдельные кадры. Затем мы использовали эти отдельные кадры, разместив их на фоне нашей анимированной последовательности. После этого нам потребовалось переместить нашу анимированную последовательность так, чтобы она совпадала с положениями, видимыми на фоне.
Таким образом, сопоставляя кадр за кадром, мы можем воссоздать движение, основанное на реальной последовательности изображений. Как я упоминал ранее, нам потребуется импортировать каждый кадр последовательности по отдельности для ротоскопирования изображения. В данном кадре мы импортировали первую последовательность на задний план, что позволяет нам видеть положение объекта относительно фонового изображения.
Затем мы можем добавить вид рентгеновского снимка костей и схему световых волн, что позволит нам видеть кости сквозь текстуру объекта. Благодаря возможности видеть кости сквозь текстуру объекта, мы можем манипулировать объектом так, чтобы он соответствовал фоновой последовательности каждого конкретного изображения. После этого мы импортируем следующую последовательность кадров, на которую необходимо будет наложить наш ротоскопированный образ.
Затем эта операция повторяется покадрово для всей последовательности кадров. Короткие последовательности можно рендерить непосредственно из режима компоновки (layout) в различные форматы изображений или сразу в видеопоследовательности. Все длинные последовательности рендерятся с помощью функции рендеринга.
Farm Commander от Bruce Rain Render. Farm Commander или RFC позволяет всем компьютерам в локальной сети сократить время рендеринга путем распределения задач между подключенными компьютерами. В нашей лаборатории мы использовали четыре компьютера Apple Mac G5 с двухпроцессорной конфигурацией, что обеспечило восемь потоков для распределенного рендеринга.
Так, например, обработка последовательности из 9 000 кадров, что эквивалентно шести минутам по стандарту Pal DV, может быть завершена за 12 часов с использованием одного процессора G5 и сокращена до четырех часов при распределении на восемь потоков или четыре двухъядерных процессора G5. Использование RFC для пакетной обработки эффективно, когда имеется не более двух больших последовательностей. Однако RFC позволяет создавать любое количество отдельных графических файлов.
Тем не менее, мы решили сохранить обе последовательности, длинную и короткую, в виде отдельных файлов JPEG. Для наглядности: здесь представлена наша исходная последовательность, на которой ящерица выполняет стандартное движение «отжимание» — раскачивание тела, используемое для социального общения и агрессивного взаимодействия. А теперь перед нами итоговая последовательность с анимированной ящерицей, которая в точности повторяет движение «отжимания», зафиксированное на исходной видеозаписи.
Просмотрите полный транскрипт и получите доступ к тысячам научных видео
В данной статье рассматривается использование компьютерно-генерируемых стимулов, в частности, использование дракона Jacky в качестве модели для экспериментов по изучению поведения животных. Особое внимание уделяется растущей популярности анимации в научных исследованиях и методам создания таких моделей.
Сгенерированные компьютером стимулы моделей животных позволяют точно изолировать и манипулировать переменными визуальной коммуникации, что способствует поиску гипотез в поведенческой и сенсорной биологии. Данный подход повышает прогностическую уверенность при валидации мишеней на ранних этапах за счет возможности контролируемого и воспроизводимого тестирования конкретных морфологических характеристик и особенностей движения. Адаптивность этого метода к различным видам и модальностям передачи сигналов делает его востребованным ресурсом для трансляционных исследований и снижения рисков при изучении механизмов в портфелях НИОКР биофармацевтических компаний.
Данный метод интегрируется в континуум от этапа открытия до доклинических исследований, предоставляя стандартизированную платформу для проверки гипотез, поведенческого скрининга и количественного анализа.