УДК 004.5; УДК 004.92; УДК 623.438
П. А. КАЧАНОВ, А. А. ЗУЕВ, К. Н. ЯЦЕНКО
ЭФФЕКТ ПРОЕКЦИИ ПАНИНИ КАК СРЕДСТВО УМЕНЬШЕНИЯ ПЕРСПЕКТИВНЫХ ИСКАЖЕНИЙ
Национальный технический университет «Харьковский политехнический институт»
В статье описан метод на основе проекции Панини для уменьшения перспективных искажений изображений с большим углом обзора. Проведен анализ особенностей построения проекции Панини. Предложена реализация эффекта на графических ускорителях как результата постобработки. Показано, что перспективное проецирование трехмерной сцены на поверхность параболического цилиндра уменьшает искажения.
Введение
Имитационно-тренажерные комплексы военной техники представляют собой системы реального времени, алгоритмы и методы которых оптимизированы на потребление малых вычислительных ресурсов при удовлетворении своих функциональных параметров. Система визуализации таких комплексов, которая направленна на создание реалистичных изображений внекабинной обстановки, является главным потребителем ресурсов предоставляемых центральным процессором и графическим ускорителем вычислительной системы. В свою очередь, создание визуальных эффектов для таких систем так же требует учета затрачиваемых ресурсов на выполнение алгоритмов.
Создание различных визуальных эффектов направлено в первую очередь на улучшение взаимодействия между оператором (экипажем боевой машины) и тем окружением, которое воспроизводит система визуализации тренажерного комплекса. Для визуализации трехмерной сцены на плоском экране необходимо ее преобразование в двумерное изображение. Классическая перспективная проекция, применяемая в компьютерной графике, при угле обзора больше 60 градусов создает периферические искажения и сверхудаляет предметы сцены расположенные вдали. Как показано в работе [1], проекция Панини позволяет значительно повысить информативность синтези-
руемого изображения благодаря изменению пространственных искажений, заложенных в ее модели, с углом обзора 75-120 градусов. Такой угол обзора позволяет оператору более эффективно взаимодействовать с системой, в результате получения изображения близкого к воспринимаемому в физическом пространстве и зрительному восприятию человека.
Цель работы заключается в практическом подтверждении уменьшения перспективных искажений используя эффект проекции Пан-нини. Для этого поставлены следующие задачи:
- Сделать анализ особенностей построения проекции Панини.
- Реализовать эффект проекции Панини для систем реального времени, на графических ускорителях, как результат постобработки.
- Сделать анализ полученных результатов на основе обработанных изображений.
1. Методы преобразования информационного содержания изображений трехмерного пространства
Для изменения информационной составляющей двумерной проекции трехмерной виртуальной сцены возможны несколько подходов. Реализация метода основанного на изменении непосредственно самой трехмерной сцены или метода проецирования описано в работах [2, 3].
Для некоторых приложений, модифицирование камеры трансформации и проекции предпочтительнее для изменения трехмерной фор-
мы отрисованного объекта. Баярди предложил метод не планарной перспективной проекции базирующийся на вычислении новых абсолютных координат для преобразования через проекционную матрицу [2].
Барр использовал метод нелинейной трассировки лучей для рендеринга деформированных объектов [3]. Однако приведенные методы требуют больших вычислительных затрат и являются неподходящими для систем реального времени с большими и сложными виртуальными сценами. Кроме этого, изменение геометрии сцены влечет за собой и необходимость преобразований всей физической модели системы.
Другими подходом является изменение непосредственно самого изображения. Карпен-дейл представила исследование посвященное использованию нелинейного искажения для визуализации информации [6]. В работе показано, что различные деформации и растяжения двумерного изображения отображают определенные изменения структуры трехмерной модели, если бы они были проделаны с ней непосредственно в трёхмерном пространстве.
В работах Боурка [4] и Янга [5] описываются модели для создания эффекта сферической и нелинейной проекции соответственно. Данный подход успешно может быть реализован на графических ускорителях как эффект постобработки, поскольку при простоте проекционной модели не потребуется больших вычислительных ресурсов.
Искажения, которые вносит перспективная проекция (особенно заметны с увеличением угла обзора), создает неправильное представление у наблюдателя о структуре трехмерной сцены. Поскольку избежать искажений возникающих при проецировании трехмерного изображения на плоскость невозможно [7], в работе [1] выдвигается концепция, согласно которой, необходимо ввести предопределенные искажения картинной плоскости, известные наблюдателю, которые были бы полностью наблюдаемы, т. е. представляли собой деформированную картинную плоскость.
Базируясь на предположении в работе [7], а также исходя из исследований Карпендейл [6] в данной работе рассматривается реализация эффекта проекции Панини, как метода для уменьшения перспективных искажений, на гра-
фических процессорах, с использованием моделей предложенных в работах [4, 5].
2. Особенности построения проекции Панини. Эффект проекции Панини как результат постобработки
Проекция Панини детально описана в работах [1, 8] и представляет собой гномониче-скую проекцию трехмерного цилиндрического изображения, которое является линейной проекцией изображения сферы на касательный цилиндр. В классической реализации проекции исходным является изображение, полученное с помощью сверхширокоугольного объектива, которое затем проецируется на цилиндрическую поверхность, с центром проекции на расстоянии й (центр гномической проекции) от оси цилиндра в направлении оси наблюдения (совпадает с осью 7), а с нее - на картинную плоскость (ортогональным проецированием), используя гномонический проекционный масштабный коэффициент для точки:
5 = -
й +1
й + cos(ф)
(1)
где й + 1 - расстояние от центра проекции до картинной плоскости, а й + со8(ф) - расстояние от центра проекции до параллельной плоскости содержащей точку цилиндра, угол ф -долгота в полярных координатах.
Из формулы (1) видно, что масштабный коэффициент 5 является параболой. Благодаря этому, в частности, создаются два боковых центра проекции.
В предлагаемой реализации, исходным выступает изображение, полученное с помощью классической для компьютерной графики линейной перспективы.
Двумерная проекция сцены трехмерных объектов, которые находятся в пределах объема ограниченного передней и задней плоскостями отсечения, отображается на плоскости проекции (проекции вида) [9]. Синтез растрового изображения происходит на этапе растеризации графического конвейера. Используемая на этом этапе матрица проецирования включает масштабирующие коэффициенты по вертикали w и горизонтали h, которые зависят от поля зрения камеры ^ОУ):
w =-1-, (2)
tan(FOWw /2)
а б
Рис. 1. Тестовая трехмерная сцена: а - общий вид; б - вид из камеры с углом обзора 45°
ta ¿a^i^lt Lr
а
в
Рис. 2. Результаты работы для FOV(слева - исходное изображение): а - 90°; б - 120°; в - 150°
- Переместить начало координат в центр экрана:
float2P.xy = q * (2.0 * TexCoord.xy-1.0) * tan (radians(FOV / 2)). Переменная q является дополнительным параметром линейного масштабирования изображения. В переменной P хранятся координаты каждого пиксела изображения.
- Вычислить для каждой точки масштабирующий коэффициент:
h =-1-. (3)
tan(FOWh /2)
В работе предлагается для реализации эффекта проекции Панини спроецировать полученное перспективное изображение на параболический цилиндр у = d - х2. Реализация пиксельного шейдера состоит из следующих этапов:
float m = (d - (P.x * P.x) / a). Переменная a служит параметром для задания необходимого вида параболы.
- Получить новые координаты uv для каждой точки:
uv.x = P.x /z + 0.5; uv.y = P.y /z + 0.5.
3. Результаты обработки перспективных изображений эффектом проекции Панини
Эксперименты проводились в программе RenderMonkey 1.82, с использованием шейдер-ной модели 3.0. Использовалась тестовая трехмерная сцена (рис. 1).
Изменяя угол обзора FOV камеры, а также параметры a и q, были получены следующие результаты, представленные на рис. 2.
Для сравнения показаны исходные перспективные изображения.
4. Эффект проекции Панини как средство уменьшения перспективных искажений
Из полученных результатов видно, что перспективные искажения, которые увеличиваются с ростом угла обзора FOV, значительно уменьшены. Вся сцена немного приближенна, а пространство сцены вблизи вогнуто к наблюдателю - результат создания двух боковых точек проекции - не влияет на общую интерпозицию объектов сцены. Этот эффект уменьшается по мере удаления объектов.
При перемещении камеры вида следует подчеркнуть гладкость создаваемого динамического изображения, отсутствие каких-либо резких переходов. Таким образом, поверхность параболического цилиндра, ввиду его оптических свойств, можно использовать для проецирования изображений проектора, что так же позволит уменьшить искажения при больших углах обзора.
Чем дальше от центра в картинной плоскости (вверх или вниз) расположены объекты,
тем сильнее проявляются искажения. Однако, в свою очередь, эти искажения показывают наблюдателю (оператору) на какую поверхность проецируется сцена, поскольку новые искажения отображены в плоскости полностью доступной для наблюдения. При необходимости (особенно вблизи), на основе этого, оператор имеет возможность, исходя из знания характера искажений, оценить исходную форму объектов.
Заключение
В данной работе представлена практическая реализация эффекта проекции Панини, как метод уменьшения перспективных искажений. Эффект был реализован в виде микропрограммы для графических ускорителей и, ввиду малых вычислений, может использоваться в системах визуализации реального времени без существенных вычислительных затрат. Большинство существующих систем визуализации имитационно-тренажерных комплексов военной техники ограничивают угол обзора оператора в пределах 60 градусов, а предложенный метод позволяет расширить его до 120 градусов с приемлемым качеством изображения. Модель также хорошо работает и с большими углами, однако, ввиду выбранного метода реализации, увеличивается зернистость изображения и ухудшается его качество.
Используя поверхность параболического цилиндра в качестве проекционной, для проекторов, также можно уменьшить перспективные искажения изображений с большим углом обзора.
Для повышения качества результирующего изображения дальнейшие исследования планируется проводить в плане улучшения метода реализации - получения и преобразования исходного изображения.
Литература
1. Качанов, П. А. Анализ восприятия пространства в проекции Панини и ее применение в компьютерной графике / П. А. Качанов, А. А. Зуев, К. Н. Яценко // Восточно-Европейский журнал передовых технологий. - 2015. - Т. 4, № 2(76). - С. 36-43.
2. Bayarri, S. Computing Non-Planar Perspectives in Real Time / S. Bayarri // Computers & Graphics. - 1995. - Vol. 19, № 3. - P. 431-440.
3. Barr, A. H. Ray Tracing Deformed Surfaces / A. Barr // ACM SIGGRAPH Computer Graphics. - 1986. Vol. 20, № 4. -P. 287-296.
4. Bourke, P. Computer Generated Angular Fisheye Projections / P. Bourke // Home page [Electronic resource]. - 2011. -Mode of access: http://paulbourke.net/dome/fisheye/. - Date of access: 01.08.2015.
5. Yang, Y. Nonlinear Projection: Using Deformations in 3D Viewing / Y. Yang, J. Chen // IEEE Computing in Science and Engineering. - 2003. - Vol. 5, № 2. - P. 54-59.
6. Carpendale, M. S. T. Extending Distortion Viewing from 2D to 3D / M. S. T. Carpendale, D. J. Cowperthwaite, F. D. Fracchia // IEEE Computer Graphics & Applications. - 1997. - Vol. 17, № 4. - P. 42-51.
7. Раушенбах, Б. В. Пространственные построения в живописи. Очерк основных методов. Приложения 1-9 / Б. В. Раушенбах. - М.: Наука, 1980. - 289 с.
8. Sharpless, T. K. Pannini: a new projection for rendering wide angle perspective images / T. K. Sharpless, B. Postle, D. M. German // In Proceedings of the Sixth international conference on Computational Aesthetics in Graphics, Visualization and Imaging. - 2010. - P. 9-16.
9. Projection Transform (Direct3D 9) // Programming Guide for Direct3D 9 [Electronic resource]. - 2010. - Mode of access: https://msdn.microsoft.com/en-us/library/windows/desktop/bb147302(v=vs.85).aspx. - Date of access: 01.08.2015.
Поступила 25.08.15 После доработки 22.09.15
P. A. KACHANOV, A. A. ZUEV, K. N. YATSENKO
PANINI PROJECTION EFFECT AS MEANS OF REDUCING PERSPECTIVE DISTORTIONS
The method based on Panini projection to reduce perspective distortions of images with wide viewing angle is considered. The analysis of the features of construction of Panini projection is provided. A realization of the effect on the graphic accelerators as a result of post-processing is proposed. The results of using the described effect in computer graphics were obtained. A comparison of images in the perspective projection and Panini projection was carried out. It is shown that perspective projection of a three-dimensional scene onto the surface of a parabolic cylinder reduces distortions.