Научная статья на тему 'Методы имитации водных поверхностей в 3D-сценах'

Методы имитации водных поверхностей в 3D-сценах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
132
49
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зинкович И.А., Фаворская М.Н.

Рассматриваются методы имитации движения волн и визуализации водных поверхностей. Анализируются методы симуляции поведения водной поверхности.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Методы имитации водных поверхностей в 3D-сценах»

Актуальные проблемы авиации и космонавтики. Информационные технологии

УДК 004.936

С. Н. Зинин Научный руководитель - М. Н. Фаворская Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск

ОПРЕДЕЛЕНИЕ ДВИЖЕНИЯ ПЕШЕХОДОВ НА ВИДЕОПОСЛЕДОВАТЕЛЬНОСТИ

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

При определении движущегося пешехода возникает ряд проблем, присущих всем задачам определения объектов на изображении [1]:

1. Проблемы со светом (флуктуация, недостаточная освещенность и т. д.).

2. Объекты фона могут быть классифицированы неверно.

3. Дефекты принятого изображения или дефекты самого объекта.

Существуют дополнительные проблемы, связанные с движением:

1. Неожиданность появления объектов в кадре.

2. Большое разнообразие данных на входе (различие в походке, поведении).

3. Движение фона или движение камеры.

Как правило, необходимо определить движущийся объект, направление или траекторию его движения. Текущая задача предполагает использование неподвижной камеры. Первым этапом является нахождение областей движения в кадре. Здесь возникает проблема пересечения траекторий двух или более объектов [2; 3]. Для ее решения предлагается использование форсированных гистограмм, которые позволяют классифицировать объекты и разделить их общую область движения в случае необходимости. На этом этапе решается вторая задача классификации объектов.

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

жения каждого объекта и области. На этом этапе решается третья задача определения траектории движения объекта.

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

Библиографические ссылки

1. Laptev I. Improving object detection with boosted histograms, IEEE Transactions on Image Processing, 2009. Р. 329-339.

2. Bierling M. View-independent action recognition, SPIE Conf., 2010. Р. 912-931.

3. Haritaoglu L. S. Efficient subwindow search, CVPR08, 2008. Р. 22-22.

© Зинин С. Н., Фаворская М. Н., 2010

УДК 004.932

И. А. Зинкович Научный руководитель - М. Н. Фаворская Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск

МЕТОДЫ ИМИТАЦИИ ВОДНЫХ ПОВЕРХНОСТЕЙ В 3Б-СЦЕНАХ

Рассматриваются методы имитации движения волн и визуализации водных поверхностей. Анализируются методы симуляции поведения водной поверхности.

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

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

Секция «Информатика и автоматизированные системы»

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

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

Для создания анимации вершин водной поверхности, её можно представить в виде некоторой функции H(x, y,t) = z , заданной на двухмерном наборе данных. Наиболее простой метод представление данной функции на GPU (Graphics Processing Unit) - это суперпозиция нескольких синусоидальных волн с собственной амплитудой, периодом, начальной фазой и направлением распространения:

.

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

Для управления «остротой» волн было предложено использовать линейную интерполяцию двух функций:

w(u) = cos(2n u) и w(u) = 8(u - 0.5)2 -1,

где ue [0..1) и w(0) = w(1).

Вместо этого для уменьшения количества вычислений и достижения большего реализма, была использована формула Gerstner - модификация суперпозиции синусов, которая как бы «сдвигает» вершины волны:

Sx+2 ^pApE^eos {щЩ * (ж, у) - ^t)

,

2 * (ж,у) -

где Q¡ - это параметр контролирующий «остроту» волн. При Qi = 0, волна становится обычной

«плавной» волной, а при = —-—, волна стано-

пг(лс

вится максимально острой, при Q. Т-'*-, волна

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

виде параметра (9<е[0...1] , при этом Qf — гДе

n - количество волн [1].

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

Алгоритм управления детализацией можно наложить несколько формальных требований:

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

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

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

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

- алгоритм должен иметь возможность заранее задавать сложность получаемой модели (т. е. иметь возможность управлять изменениями качества) [2].

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

Библиографические ссылки

1. Елыков Н. А., Белаго И. В., Лаврентьев М. М. Некрасов Ю. Ю. Генерация изображения водной поверхности в реальном времени // Труды конференции GraphiCon'2000. С. 268-275.

2. Mark Finch "Effective Water Simulation from Physical Models " GPU Gems 2004.

© Зинкович И. А., Фаворская М. Н., 2010

i Надоели баннеры? Вы всегда можете отключить рекламу.