Например, Бобцов

МОДЕЛИРОВАНИЕ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ

ВИЗУАЛИЗАЦИЯ И ОБРАБОТКА ИЗОБРАЖЕНИЙ

УДК 004.414.23

М. С. ЛАРИН
МОДЕЛИРОВАНИЕ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ

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

Ключевые слова: виртуальное пространство, дополненная реальность.

Теоретические основы моделирования виртуального пространства. Виртуальное

пространство моделируется с использованием аффинных преобразований [1], когда вершина

для отображения ее на экране преобразуется из трехмерных координат в двухмерные. Вход-

ными данными являются координаты, а выходными — изображение. При построении допол-

ненной реальности — наложении виртуальных объектов на изображение, фиксируемое

веб-камерой [2, 3], — необходимо решить обратную задачу, где входными данными будет

изображение, а выходными — координаты. Подобные преобразования используются в фото-

грамметрии для определения размеров объектов. Основная проблема при построении допол-

ненной реальности заключается в определении относительных систем координат сцены (изо-

бражения) и видеокамеры, т.е. в локализации веб-камеры. Эта задача состоит из нескольких

подзадач: сопоставить неподвижную систему координат со сценой; выбрать эквивалент вир-

туальной камеры и установить ее положение, при этом положение камеры определяется ее

вращением и смещением относительно центра координат, так чтобы проекции изображений,

фиксируемых веб- и виртуальной камерами, совпадали.

Как известно [4], виртуальную камеру можно задать двумя 4×4-матрицами:

⎡a 0 f 0⎤

А

=

⎢⎢0 ⎢0

b 0

g c

0 d

⎥ ⎥ ⎥

,

⎣⎢0

0

e

0

⎥ ⎦

(1)

⎡ RYx RYy RYz Tx ⎤

В

=

⎢ ⎢

RPx

⎢ ⎢

RRx

RPy RRy

RPz RRz

Ty Tz

⎥ ⎥ ⎥ ⎥

.

⎣⎢ 0 0 0 1 ⎦⎥

(2)

Коэффициенты a, b, c, d, e, f, g матрицы А (1) образуют фрустум [1] — пирамидальную

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

угла зрения камеры, отношения высоты виртуального окна к его ширине и значения глубины

Z-буфера.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2010. Т. 53, № 2

Моделирование дополненной реальности

53

Матрица В (2) состоит из 3×3-матрицы R вращения вокруг трех осей (RY — yaw, ось направлена вверх; RP — pitch, ось направлена вправо; RR — roll, ось направления) и вектора

смещения T вдоль осей x, y, z соответственно.

Проекция вершины на ближнюю плоскость экрана строится в соответствии с формулой

⎡a

⎡S ⎣⎢S

x y

⎤ ⎥ ⎦

=

⎢⎢0 ⎢0 ⎣⎢0

0 b 0 0

f g c e

0 0 d 0

⎤ ⎥ ⎥ ⎥ ⎥ ⎦



⎡ ⎢ ⎢ ⎢ ⎢ ⎢⎣

RYx RPx RRx
0

RYy RPy RRy
0

RYz RPz RRz
0

Tx Ty Tz 1

⎤ ⎥ ⎥ ⎥ ⎥ ⎥⎦



⎡Vx ⎢⎢Vy ⎢⎢⎢⎣V1z

⎤ ⎥ ⎥ ⎥ ⎥ ⎦⎥

,

(3)

которая преобразует трехмерный вектор [Vx, Vy, Vz, 1]T виртуального пространства в двухмерный вектор [Sx, Sy]T экранного пространства. При решении задачи локализации камеры 3D- и

2D-векторы в формуле (3) известны, а матрицы А и В, состоящие из внешних и внутренних

параметров веб-камеры, неизвестны, эти параметры и необходимо найти.

Матрица В содержит внешние параметры (Extrinsic Parameters) камеры: угол ее поворо-

та и смещение относительно центра сцены. Задача нахождения матрицы В сводится к сопос-

тавлению проекций, фиксируемых реальной и виртуальной камерами [5, 6]. Как только мат-

рица В становится известной, задачу локализации камеры можно считать решенной.

Проблемы реализации модели дополненной реальности. Технические проблемы

реализации связаны не только с производительностью компьютера, на котором выполняется

приложение, но и с техническими показателями используемой камеры, такими как размер

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

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

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

темы. Относительно требований к камере, следует учитывать, что чем больше и четче область

фиксируемого изображения, тем выше точность расчетов. Помимо качества изображения, не-

обходимо чтобы скорость его фиксирования была не менее 30 кадров/с, так как от этого зави-

сит максимальная скорость работы программы в

целом.

Идеальное изображение Реальное изображение

Некоторые недостатки камеры можно ком-

(без дисторсии)

(искажено)

пенсировать, в отличие от размера получаемого

изображения и скорости работы используемой ка-

меры, которые изменить невозможно. Например,

такой недостаток, как дисторсия (рис. 1), возни-

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

Рис. 1

том координат изображения. Для этого необходимо найти координаты центра дисторсии и ее

значение; эти данные, называемые внутренними параметрами камеры (Intrinsic Parameters), оп-

ределяют отношение идеальных и реальных параметров веб- и виртуальной камер:

d 2 = (xi − x0 )2 + ( yi − y0 )2 ;
p = (1 − fd 2 );

⎫ ⎪ ⎬

xd

= p(xi − x0 ) + x0 ,

yd

=

p( yi



y0 )

+

y0

,⎪ ⎭

(4)

здесь f — значение дисторсии; ( xd , yd ) — координаты центра дисторсии; (x0 , y0 ), (xi , yi ) — координаты точек изображения, фиксируемого веб-камерой.

При переводе изображения из реального в идеальное необходимо учесть, что вследствие

компенсации дисторсии изображение получается не прямоугольным (рис. 2), и по его краям

появляются незаполненные области (которые могут негативно влиять на нахождение маркера).

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2010. Т. 53, № 2

54 М. С. Ларин

Чтобы устранить эти области, необходимо изменить масштаб изображения, используя коэф-

фициент масштаба (s).

Тогда система уравнений (4) преобразуется к следующему виду:

x = s(xi − x0 ), y = s( yi − y0 );⎫

d2 = x2 + y2;

⎪⎪

p = (1 − fd 2 );

⎬ ⎪

xd = px + x0 , yd = py + y0. ⎭⎪

(5)

Внутренние параметры камеры (или калибровка) определяются один раз и используют-

ся как константа, тогда как внешние параметры изменяются при каждом кадре в зависимости

от положения и ориентации камеры.

Рис. 2
Алгоритмические проблемы. Главная проблема при моделировании дополненной реальности состоит в извлечении неизвестной информации о пространстве. Проблему недостатка информации можно решить разными способами, например добавлением объекта, параметры которого заранее известны. Сопоставление фиксируемых веб- и виртуальной камерами изображений лучше всего производить по специальным областям, соответствие между которыми известно, такие области называются “feature” — особенность, черта, особая точка. Как правило, это области наибольшего перепада освещенности, углы объектов или специально приготовленные маркеры. Нахождение соответствий по маркерам дает некоторые преимущества, например: известно количество особых точек и ориентация маркера, также известно, что все особые точки компланарны (в идеале). Маркер обычно состоит из четырех особых точек, которые расположены в ярко выраженных углах (например, углы белого квадрата, изображенного на черном квадрате большего размера). Процесс обработки маркеров схематически представлен на рис. 3, где а — маркер, найденный на изображении; б — извлеченная область с необходимой информацией об ориентации маркера и символ для различения нескольких маркеров; в — уменьшенная/увеличенная до установленных размеров копия для оптимального поиска соответствия изображений по базе маркеров.
а) б) в)

Рис. 3
Решение прикладных задач. Рассмотрим некоторые задачи, для решения которых можно использовать разработанную программу. Например, для оцифровки объектов требуется специализированная аппаратура, в отличие от рассматриваемой системы с применением мобильной веб-камеры. Кроме того, специализированные системы оцифровки, как правило, стационарны и громоздки. С помощью подходов, используемых для построения дополненной реальности, можно реализовать и оцифровку объектов, что позволит устранить недостатки стационарных систем. Систему можно использовать также для измерения длин различных объектов, т.е. как оптическую рулетку, что позволит упростить некоторые затратные по времени измерения, как, например, паспортизация зданий, или измерения, при проведении которых
ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2010. Т. 53, № 2

Моделирование дополненной реальности

55

присутствие человека невозможно. Высокая мобильность системы — ее главное достоинство, вероятные же недостатки зависят от программной реализации.
На примере виртуального музея Рериха [7] с использованием его работ была написана программа, посвященная обработке изображений с целью воздействия на восприятие. Программа может представлять двухмерные изображения в прямой и обратной перспективе, осуществлять нанесение изображения на цилиндрические поверхности с изменяемым радиусом кривизны и на поверхность тора со смещением текстурных координат. В программе предусмотрено изменение освещенности изображений посредством перемещения источника света и изменение общей цветовой гаммы с помощью интерактивной палитры, где можно задать любой из основных цветов и его насыщенность. Также рассматривалась возможность компенсации потери третьей координаты при проецировании на экран с помощью метода анаглифии.
Для построения дополненной реальности также была написана программа, упрощенная структурная схема которой представлена на рис. 4. Программа представляет собой виртуальную сцену со свободной камерой; в системе координат сцены, извлеченной из видеоряда с изображением маркера, отображаются главные оси и положение камеры относительно них. Информации о проекции объекта достаточно для определения направлений осей системы координат, в которой он находится, что позволяет измерять длины различных объектов.

Начало

Ввод данных, в том числе оптических

Обработка изображения, извлечение системы координат
из распознанного маркера

Перевод модели в систему координат сцены и вывод результирующего
изображения на экран

Нет
Рис. 4 X

Условие выхода (клавиша “Exit”)
Да Выход
Z

z
Y x y
Рис. 5
На рис. 5 представлена система координат сцены, изображенная ортами X, Y, Z; в левом верхнем углу — изображение, фиксируемое веб-камерой; белый куб с локальной системой координат x, y, z описывает рассчитанное положение и направление веб-камеры относительно сцены; белая точка — пересечение оптической оси камеры с плоскостью сцены.
ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2010. Т. 53, № 2

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

СПИСОК ЛИТЕРАТУРЫ

1. Википедия, свободная энциклопедия [Электронный ресурс]: .

2. Augmented Reality Tool Kit, домашняя страница [Электронный ресурс]: .

3. Ларин М. С. Работа с пакетом программ Open Computer Vision // Науч.-техн. вестн. СПбГУ ИТМО. 2008. Вып. 48. С. 95.

4. OpenGL Projection Matrix, домашняя страница [Электронный ресурс]: .

5. Roger Y. Tsai. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using offthe-shelf TV cameras and lenses // IEEE J. of Robotics and Automation. 1987. Vol. RA-3, N 4. P. 323—344.

6. Roger Y. Tsai. An efficient and accurate camera calibration technique for 3D machine vision // Proc. of IEEE Conf. on Computer Vision and Pattern Recognition. Miami Beach, FL, 1986. P. 364—37.

7. Ларин М. С. Среда виртуального пространства // Сб. докл. 8-й сессии Междунар. школы „Фундаментальные и прикладные проблемы надежности и диагностики машин и механизмов“. СПб: СПбГУ ИТМО, 2007. С 146—149.

Михаил Сергеевич Ларин

Сведения об авторе — студент; Санкт-Петербургский государственный университет инфор-
мационных технологий, механики и оптики, кафедра мехатроники; E-mail: exirity@mail.ru

Рекомендована кафедрой мехтроники

Поступила в редакцию 15.06.09 г.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2010. Т. 53, № 2