УСТРОЙСТВО ДЛЯ ОРГАНИЗАЦИИ ИНТЕРФЕЙСА С ОБЪЕКТОМ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ
DEVICE FOR ORGANISATION OF INTERFACE WITH OBJECT OF VIRTUAL REALITY

Изобретение относится к технике телевизионных измерительных систем и может быть использовано для построения трехмерных пользовательских интерфейсов в системах трехмерной виртуальной реальности.
Известно устройство ввода данных жестикуляцией, разработанное компанией Microsoft (коммерческое название продукта - Kinect ХВОХ-360), которое позволяет взаимодействовать с объектами виртуальной реальности, посредством отслеживания положения рук и тела оператора. Устройство включает в себя датчик, состоящий из телевизионной камеры ИК (инфракрасного)-диапазона и оптически сопряженного с ней ИК-излучателя, формирующего набор лучей, телевизионной камеры видимого диапазона и связанного с ними вычислительного устройства. Датчик дальности определяет пространственное положение подсвечиваемых на операторе точек, а камера видимого диапазона предназначена для выявления жестов и мимики лица.
К недостаткам данного устройства можно отнести его низкую помехоустойчивость.
Наиболее близким по техническому решению к предлагаемому изобретению является патент РФ "Устройство для трехмерной манипуляции". В этом устройстве используются два источника подсветки и оптически сопряженная с ними телевизионная камера ИК-диапазона, причем ее поле зрения охватывает часть периметра контролируемой поверхности. При этом регистрируются изображения контролируемой поверхности подсвеченной попеременно первым и вторым источниками подсветки, а находящийся на пути подсветки указатель - палец оператора или стилус - создает на подсвечиваемой поверхности затемненные участки. Вводя положение затемненных участков в вычислительное устройство, можно определить пространственные координаты и ориентацию указателя.
Недостатками данного устройства являются ограниченные функциональные возможности, не позволяющие взаимодействовать человеку-оператору с виртуальными пространственными объектами, формируемыми мониторами трехмерного изображения (3D-мониторами).
Задачей предлагаемого изобретения является расширение функциональных возможностей, а именно возможность взаимодействия человека-оператора с виртуальными пространственными объектами.
Для этого в устройство для организации интерфейса пользователя с объектом виртуальной реальности, содержащее источник ИК-подсветки, телевизионную камеру ИК-диапазона, причем выход телевизионной камеры подключен к вычислителю 3D-положения реального пространственного указателя, дополнительно вводится вторая телевизионная камера ИК-диапазона, оптически сопряженная с первой, выход второй телевизионной камеры подключен ко второму входу вычислителю 3D-положения реального пространственного указателя, причем источник ИК-подсветки оптически сопряжен с экраном вновь введенного 3D-монитора таким образом, что отраженное от него излучение направляется в сторону первой и второй телевизионных камер ИК-диапазона, причем первая и вторая телевизионные камеры оптически сопряжены с глазами человека-оператора системы, наблюдающего формируемые на 3D-мониторе изображения с помощью соответствующих 3D-монитору очков, причем 3D-монитор подключен к вновь введенному формирователю объектов виртуальной реальности, например персональному компьютеру, связанному, в свою очередь, с вычислителем 3D-положения реального пространственного указателя. При этом рабочая область устройства образуется пересечением телесных углов обзора телевизионных камер с телесными углами обзора глаз человека-оператора системы и ограничена плоскостью экрана 3D-монитора.
Причем в качестве рассеивающей поверхности используется экран введенного 3D-монитора с соответствующими ему очками пользователя-оператора, кроме того, введен интерфейсный модуль, вырабатывающий видеосигналы для левого и правого глаза оператора, представляющие собой 3D-изображение объекта виртуальной реальности, и изменяющий его в зависимости от координат реального пространственного указателя, находящегося в рабочей зоне устройства, которые поступают на вход интерфейсного модуля с выхода вычислителя 3D-положения реального пространственного указателя, которое, в свою очередь, определяет эти координаты по плоским координатам изображений реального пространственного указателя, поступающих с выхода первой и второй телевизионных камер ИК-диапазона, а оператор наблюдает изображение объекта виртуальной реальности и реальное изображение пространственного указателя, и, изменяя положение указателя в пространстве, может совместить 3D-изображение объекта виртуальной реальности, формируемое 3D-монитором, с реальным положением указателя, а при их совпадении, интерфейсный модуль производит изменение 3D-образа объекта виртуальной реальности и его положения, с выработкой соответствующего этому событию сигнала управления.
Интерфейсный модуль необходим для изменения положения пространственного указателя на экране 3D-монитора, а также для взаимодействия устройства с компьютером.
Вторая телевизионная камера ИК-диапазона необходима для формирования зоны стереообзора устройства.
3D-монитор используется для формирования изображения и для отражения излучения от источника подсветки до телевизионных камер ИК-диапазона.
На фиг.1 приведена функциональная схема предлагаемого устройства, где:
1
2
1, 2 - первая и вторая телевизионные ИК-камеры, с телесными углами обзора ψ и ψ соответственно,
3 - экран 3D-монитора,
4 - ИК-излучатель с потоком ω,
5 - реальный пространственный указатель,
6 - очки,
7 - вычислитель 3D-положения реального пространственного указателя,
8 - интерфейсный модуль.
На фиг.2 приведена оптико-геометрическая схема устройства, где:
9 - поток излучения, формируемый ИК-излучателем 4 и падающий на экран 3D-монитора,
10 - отраженный от экрана поток излучения, направленный в сторону телевизионных камер 1 и 2.
На фиг.3 приведена оптико-геометрическая схема формирования изображений подсвечиваемого экрана 3D-монитора, где:
11, 12 - фотоприемные матрицы,
13, 14 - оптические центры объективов,
15, 16 - изображения засвечиваемой поверхности экрана 3D-монитора на фотоприемных матрицах,
17 - рабочая зона стереоосистемы, для телевизионных камер 1 и 2.
На фиг.4 приведена оптико-геометрическая схема формирования изображений реального пространственного указателя, где:
18, 19 - изображения реального пространственного указателя на фотоприемных матрицах телевизионных камер 1 и 2.
На фиг.5 приведена геометрическая схема образования рабочего пространства устройства, где:
20 - человек-оператор системы,
21 - зона стереовидения человека-оператора,
22 - зона стереообзора телевизионных камер 1 и 2,
23 - рабочее пространство системы.
На фиг.6 приведена иллюстрация сдвига плоских изображений на экране 3D-монитора, формирующих объект виртуальной реальности (далее ОВР), где:
τ - межзрачковое расстояние человека-оператора,
ρ - параллакс (сдвиг) изображений вдоль горизонтальной оси,
s - расстояние от зрачка до экрана 3D-монитора,
q - расстояние от зрачка до точки, принадлежащей объекту виртуальной реальности,
0XYZ - система координат, связанная с левым зрачком человека-оператора.
На фиг.7 приведена иллюстрация формирования на экране 3D-монитора объекта виртуальной реальности, где:
24, 25 - изображения на экране 3D-монитора, формирующие ОВР,
26 - объект виртуальной реальности, наблюдаемый оператором.
На фиг.8 показаны примеры изображений на фотоприемных матрицах, где:
L, P - изображения указателя,
L
L
L
P
a и b, a, b - информативные точки изображения указателя на фотоприемных матрицах телевизионных камер 1 и 2.
На фиг.9 изображен пример объекта виртуальной реальности - переключающий рычаг, где:
27 - начальное положение рычага,
28 - положение рычага после прикосновения с ним пространственного указателя.
На фиг.10 приведена функциональная схема по второму зависимому пункту формулы изобретения.
Устройство функционирует следующим образом:
Интерфейсный модуль вырабатывает видеосигналы для левого и правого глаза оператора, представляющие собой 3D-изображение объекта виртуальной реальности, и изменяет его в зависимости от координат реального пространственного указателя, находящегося в рабочей зоне устройства, которые поступают на вход интерфейсного модуля с выхода вычислительного устройства, которое, в свою очередь, определяет эти координаты по плоским координатам изображений реального пространственного указателя, поступающих с выхода первой и второй телевизионных камер, а оператор наблюдает изображение объекта виртуальной реальности и реальное изображение пространственного указателя, и, изменяя положение указателя в пространстве, может совместить 3D-изображение объекта виртуальной реальности, формируемое 3D-монитором, с реальным положением указателя, а при их совпадении интерфейсный модуль производит изменение 3D-образа объекта виртуальной реальности и его положения, с выработкой соответствующего этому событию сигнала управления.
Излучатель 4 (фиг.1) создает поток ИК-излучения, телесный угол распространения которого охватывает экран 3D-монитора 3 и размещен таким образом, чтобы его излучение, отражаясь от него, направлялось в сторону реального пространственного указателя 5 и телевизионных камер 1 и 2, что иллюстрируется на фиг.2.
Интерфейсный модуль 8 формирует видеосигнал, создающий на экране 3D-монитора стереоизображение, состоящее из 2-х плоских изображений, сдвинутых вдоль горизонтальной оси монитора и оптически разделяемых с помощью очков 6.
Вычислитель 3D-положения реального пространственного указателя по стереоизображению, получаемому с помощью телевизионных камер ИК-диапазона, определяет пространственные координаты указателя и передает их в интерфейсный модуль, который определяет моменты совпадения пространственных координат указателя с пространственными координатами объекта виртуальной реальности, и в соответствии с этим изменяет его изображение на экране 3D-монитора и вырабатывает соответствующие сигналы интерфейса.
Учитывая разный спектральный диапазон формируемого на экране 3D-монитора изображения (видимый) и ИК телевизионных камер 1 и 2, принимаемый ими сигнал не зависит от самого изображения, формируемого на экране монитора. При этом высокий контраст, связанный с затенением экрана монитора, переотражающего поток ИК-излучения, обеспечивает получение высокой помехоустойчивости. ОВР-ом, построению интерфейса с которым предназначено предлагаемое устройство может быть, например мнимое изображение пульта управления, содержащего кнопки, индикаторы, переключатели и прочие объекты, состояния которых в пространстве можно изменять по командам, посылаемым интерфейсный модуль 8, «касаясь» их пространственных изображений реальным указателем 5. При этом сдвиг элементов (параллакс), плоских составляющих (для левого и правого глаз оператора системы) изображений объекта виртуальной реальности, определяется соотношением, выводимым из фиг.6, и имеет вид:
<mrow><mi>ρ</mi><mo>−</mo><mrow><mo>(</mo><mrow><mfrac><mrow><mi>s</mi><mo>−</mo><mi>q</mi></mrow><mi>q</mi></mfrac><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow><mi>τ</mi><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
где: ρ - параллакс (сдвиг) изображений вдоль горизонтальной оси, q - расстояние от зрачка до точки, принадлежащей объекту виртуальной реальности, s - расстояние от зрачка до экрана 3D-монитора, τ - межзрачковое расстояние человека-оператора.
Чтобы обеспечить наложение пространственного указателя 5, «действующего» в реальном пространстве с объектом виртуальной реальности, необходимо совместить зону стереовидения человека-оператора данной системы с рабочей зоной стереообзора телевизионных камер 1 и 2.
1
2
Рабочая зона системы образуется пересечением рабочей зоны стереовидения 21 человека-оператора 20 системы с зоной стереообзора 22 телевизионных камер 1 и 2. Причем зона стереообзора телевизионных камер в свою очередь образуется пересечением телесных углов ψ и ψ.
Расчет пространственного положения указателя 5 осуществляется по координатам его изображений на фотоприемных матрицах. Изображения вводятся в вычислитель 3D-положения реального пространственного указателя 7 в виде потока цифрового видеосигнала, а на фиг.6 показан пример изображений на фотоприемных матрицах. При этом расчет пространственного положения указателя 5 осуществляется согласно следующему алгоритму:
L
L
P
P
1. Поиск на изображениях характерных точек указателя (точки a, b, a, b),
2. Расчет пространственного положения этих точек согласно формулам перспективного преобразования, определенных ниже.
Формулы расчета пространственного положения точек выглядят следующим образом:
<mrow><mrow><mo>{</mo><mrow><mtable><mtr><mtd><mrow><mover accent="true"><mi>A</mi><mo>˜</mo></mover><mo>=</mo><msup><mi>P</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><msub><mover accent="true"><mi>a</mi><mo>˜</mo></mover><mi>L</mi></msub><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><mover accent="true"><mi>A</mi><mo>˜</mo></mover><mo>=</mo><msup><mi>T</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><msup><mi>P</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><msub><mover accent="true"><mi>a</mi><mo>˜</mo></mover><mi>P</mi></msub><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><mover accent="true"><mi>B</mi><mo>˜</mo></mover><mo>=</mo><msup><mi>P</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><msub><mover accent="true"><mi>b</mi><mo>˜</mo></mover><mi>L</mi></msub><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><mover accent="true"><mi>B</mi><mo>˜</mo></mover><mo>=</mo><msup><mi>T</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><msup><mi>P</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><msub><mover accent="true"><mi>b</mi><mo>˜</mo></mover><mi>P</mi></msub><mo>;</mo></mrow></mtd></mtr></mtable><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></mrow></mrow>
где:
<maths num="3"><math display="block"><mrow><msup><mi>P</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo>−</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mfrac><mn>1</mn><mi>f</mi></mfrac></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mrow><mo>]</mo></mrow></mrow></math><img file="00000003.tif" he="32" wi="40" img-content="undefined" img-format="tif" /></maths>
- матрица обратного перспективного преобразования, причем f - фокусное расстояние объектива,
<maths num="4"><math display="block"><mrow><msup><mi>T</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo>=</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mi>Δ</mi><mi>x</mi></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mrow><mo>]</mo></mrow></mrow></math><img file="00000004.tif" he="29" wi="43" img-content="undefined" img-format="tif" /></maths>
- матрица, обратная матрице сдвига вдоль оси 0X на величину Δx - сдвиг правой телевизионной камеры относительно левой.
<mover accent="true"><mi>A</mi><mo>˜</mo></mover>
<mover accent="true"><mi>B</mi><mo>˜</mo></mover>
,
- однородные координаты точек A и B,
<mrow><msub><mover accent="true"><mi>a</mi><mo>˜</mo></mover><mi>L</mi></msub></mrow>
<mrow><msub><mover accent="true"><mi>a</mi><mo>˜</mo></mover><mi>P</mi></msub></mrow>
<mrow><msub><mover accent="true"><mi>b</mi><mo>˜</mo></mover><mi>L</mi></msub></mrow>
<mrow><msub><mover accent="true"><mi>b</mi><mo>˜</mo></mover><mi>P</mi></msub></mrow>
L
p
L
P
,
,
,
- однородные координаты точек a, a,b, b, и могут быть получены, исходя из теории перспективных преобразований, изложенной, например, в [3].
Раскрытие системы 2 приводит к 12 линейным уравнениям относительно 6 составляющих координат точек А и В.
<mrow><mo stretchy="false">(</mo><msub><mi>X</mi><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mi>Y</mi><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mi>Z</mi><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mover accent="true"><mi>X</mi><mo>˙</mo></mover><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mover accent="true"><mi>Y</mi><mo>˙</mo></mover><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mover accent="true"><mi>Z</mi><mo>˙</mo></mover><mi>A</mi></msub><mo stretchy="false">)</mo></mrow>
Далее может быть найдена ориентация указателя (углы Эйлера) относительно координат 0XYZ, и изменения координат точки А во времени, т.е набор
- фазовое состояние точки А. Это позволит в дальнейшем определить направление подхода пространственного указателя к заданной точке объекта виртуальной реальности.
Таким образом, вычислитель 3D-положения реального пространственного указателя реализует описанный выше алгоритм (пункты 1 и 2), расчет ориентации пространственного указателя и фазовое состояние точки А, принадлежащей указателю. Данные расчеты могут быть выполнены на базе производительного процессора, ориентированного на обработку видеоинформации, например TMS320DM368 DaVinci [4].
Для определения момента совпадения пространственных координат, вычисленных по формулам (2) с формируемым на экране 3D-монитора 3 ОВРа, в интерфейсный модуль 8 вводятся координаты пространственного указателя 5. При их совпадении с координатами отдельных элементов объекта виртуальной реальности, интерфейсный модуль 8 изменяет положение отдельных элементов объекта виртуальной реальности и «переводит» его в новое пространственное состояние. Например, мнимое изображение пространственного рычага управления переводится в новое положение при «прикосновении» указателя 5 (совпадении координат указателя 5 с координатой определенной точки 3D-изображения) с мнимым изображением этого рычага. Сказанное иллюстрируется фиг.9, где исходное 3D-изображение рычага 27 изменяется на изображение 28 после совпадения координаты точки пространственного указателя с координатами точки 3D-изображения этого рычага. Естественно, что возможно определенное количество промежуточных 3D-изображений объекта виртуальной реальности, делающих процесс перехода объекта виртуальной реальности из одного пространственного положения в другое более плавным.
Сказанное иллюстрируется следующим алгоритмом, описывающим работу интерфейсного модуля:
<mrow><msubsup><mi>R</mi><mi>I</mi><mi>J</mi></msubsup><mi>i</mi></mrow>
1. Проверить, попадает ли в заданную для некоторого i-го объекта виртуальной реальности, находящегося в состоянии I область
, фазовые координаты точки А, принадлежащие данному пространственному указателю в момент времени t
<mrow><msub><mrow><mo stretchy="false">(</mo><msub><mi>X</mi><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mi>Y</mi><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mi>Z</mi><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mover accent="true"><mi>X</mi><mo>˙</mo></mover><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mover accent="true"><mi>Y</mi><mo>˙</mo></mover><mi>A</mi></msub><mo>,</mo><mtext> </mtext><msub><mover accent="true"><mi>Z</mi><mo>˙</mo></mover><mi>A</mi></msub><mo stretchy="false">)</mo></mrow><mi>t</mi></msub><mo>∈</mo><msubsup><mi>R</mi><mi>I</mi><mi>J</mi></msubsup></mrow>
.
2. Если данное условие выполняется, i-й объект виртуальной реальности переходит в новое состояние i+1, изображение которого перестраивается на экране 3D-монитора.
Обнаружение реального пространственного указателя 5 может осуществляться также и путем непосредственной подсветки его излучателем 4, при этом излучатель должен располагаться в районе телевизионных камер 1 и 2, как это изображено на фиг.10. Яркость источника подсветки должна обеспечивать обнаружение полезного сигнала, на фоне паразитных излучений окружающей сцены, и обеспечивать подсветку указателя в рабочей зоне устройства (определенной выше как пересечение зоны стереовидения человека-оператора зоной стереообзора телевизионных камер 1 и 2). Кроме того, в рабочей зоне не должно находится бликующих объектов, переотражающих излучение в объективы телевизионных камер 1 и 2. Таким образом, излучатель в данном случае должен быть оптически сопряжен с телевизионными камерами 1 и 2.
Данный алгоритм работы может быть реализован на специализированном вычислительным устройством или на типовом персональном компьютере.
Источники информации
1. Патент США US 20100199228. Gesture Keyboarding.
2. Патент РФ №2362216. Устройство для трехмерной манипуляции (прототип).
3. Р.Дуда, П.Харт, Распознавание образов и анализ сцен. М., Мир, 1976 г.