СПОСОБ И УСТРОЙСТВО ДЛЯ ВЗАИМОДЕЙСТВИЯ С ВИРТУАЛЬНЫМИ ОБЪЕКТАМИ
METHOD AND DEVICE FOR INTERACTION WITH VIRTUAL OBJECTS

Область техники, к которой относится изобретение.
Данная группа изобретений относится к способам и системам, предназначенным для взаимодействия с виртуальными объектами, при котором определяют орган управления, с помощью которого будет производиться взаимодействие с виртуальными объектами, определяют характерные графические примитивы виртуального объекта, определяют положение в пространстве органа управления, сопоставляют положение в пространстве органа управления с графическими примитивами виртуального объекта, осуществляют желаемые действия по отношению к виртуальному объекту.
В данной работе используются следующие термины.
Виртуальный объект - созданный техническими средствами объект, передаваемый человеку через его ощущения: зрение, слух и другие.
Орган управления - то, что управляет виртуальным объектом, это может быть человек, часть человека, например рука, или предмет, в свою очередь управляемый человеком, например указка.
Библиотека изображений - база данных различных изображений одного и того же объекта или субъекта. Желательно иметь как можно более отличающиеся изображения, чтобы получить максимальное количество информации об объекте
Метод искусственных нейронных сетей - математическая модель, а также ее программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей - сетей нервных клеток живого организма.
Метод Калмана - эффективный рекурсивный фильтр, оценивающий вектор состояния динамической системы, используя ряд неполных и зашумленных измерений.
Смартфон (англ. smartphone - умный телефон) - телефон, дополненный функциональностью карманного персонального компьютера.
Графические примитивы - заранее определенные элементы, которые можно поместить в модель при помощи одной команды. Каждый графический примитив формируется на основании геометрического описания объекта. Это могут быть такие как: точка, линия (отрезок), луч, линия конструкции (прямая), фигура, полоса, дуга, круг, полилиния, прямоугольник, полигон (многоугольник) и другие. Преимущественно, это характерные точки или маркеры.
Уровень техники способа.
Согласно первой из своих сторон настоящее изобретение относится к способу взаимодействия с виртуальными объектами.
В настоящее время все больше людей используют различные электронные устройства и взаимодействуют с виртуальными объектами. Это происходит не только в компьютерных играх, но и в процессе обучения, а также, например, при удаленной торговле товарами, когда покупатель принимает решение о покупке, пользуясь виртуальной моделью товаров.
Известны способы взаимодействия с виртуальными объектами, при которых: определяют орган управления, с помощью которого будет производиться взаимодействие с виртуальными объектами, определяют графические примитивы виртуального объекта, определяют положение в пространстве органа управления, сопоставляют положение в пространстве органа управления с графическими примитивами виртуального объекта, осуществляют желаемые действия по отношению к виртуальному объекту, но при этом определяют положение в пространстве органа управления способом, когда используют специальные устройства, например перчатки, надеваемые на руку пользователя, которые передают данные, необходимые для вычисления положения руки пользователя в пространстве. В этом примере рука пользователя и является органом управления. Пример такой перчатки - Dexmo, см. интернет сайт http://odnako.su/hi-tech/gadgets/-187862-dexmo-perchatka-virtualnoy-realnosti-s-obratnoy-svyazyu/.
Другим примером, когда определяют положение в пространстве органа управления способом, когда используют специальные устройства, является технология с применением устройства Кинект (Kinect), см. интернет сайт http://en.wikipedia.org/wiki/Kinect.
Данный способ является наиболее близким по технической сути и достигаемому техническому результату и выбран за прототип предлагаемого изобретения как способа.
Недостатком этого прототипа является его сложность, так как требуется наличие дополнительных устройств, а именно самого устройства Кинект, подсоединяемого к компьютерному устройству пользователя, и нет возможности взаимодействия с виртуальными объектами с помощью только одного устройства для взаимодействия с виртуальными объектами, имеющего видеокамеру и дисплей, такими как смартфон, компьютерный планшет или устройства типа очков дополненной реальности, которые, как правило, всегда находятся у пользователя с собой.
Действительно, дополнительно устройство необходимо специально покупать и, кроме того, носить с собой постоянно, подключать к устройству для взаимодействия с виртуальными объектами, чтобы при необходимости в любой момент времени иметь возможность взаимодействовать с виртуальными объектами. А необходимость такого рода взаимодействия с каждым годом стремительно растет и тенденция такова, что скоро оно станет повсеместным.
Раскрытие изобретения как способа.
Опирающееся на это оригинальное наблюдение настоящее изобретение, главным образом, имеет целью предложить способ взаимодействия с виртуальными объектами, при котором: определяют орган управления, с помощью которого будет производиться взаимодействие с виртуальными объектами, определяют графические примитивы виртуального объекта, определяют положение в пространстве органа управления, сопоставляют положение в пространстве органа управления с графическими примитивами виртуального объекта, осуществляют желаемые действия по отношению к виртуальному объекту, позволяющие, по меньшей мере, сгладить как минимум один из указанных выше недостатков, а именно обеспечить возможность взаимодействия с виртуальными объектами с помощью только одного устройства для взаимодействия с виртуальными объектами, имеющего видеокамеру и дисплей, такими как смартфон, компьютерный планшет или устройства типа очков добавленной реальности, что и является поставленной технический задачей.
Для достижения этой цели определяют положение в пространстве органа управления путем, когда:
- для получения данных о положении в пространстве органа управления используют изображения с устройства для взаимодействия с виртуальными объектами, имеющего видеокамеру и дисплей, соединенные с вычислительным модулем, обрабатывающим данные,
- создают по полученным изображениям библиотеку изображений органа управления, которая учитывает различные положения в пространстве, яркость, контрастность, освещенность,
- определяют по полученной библиотеке изображений графические примитивы органа управления,
- определяют положение в пространстве органа управления посредством расчета движения в пространстве графических примитивов органа управления,
- рассчитывают движение в пространстве графических примитивов органа управления с применением поправок, компенсирующих вибрацию устройства для взаимодействия с виртуальными объектами.
Благодаря данным выгодным характеристикам появляется возможность определения положения в пространстве органа управления, например руки пользователя, или специального предмета, например указки, с помощью только одного устройства для взаимодействия с виртуальными объектами, имеющего видеокамеру и дисплей, такими как смартфон, компьютерный планшет или устройства типа очков добавленной реальности. В любой момент времени пользователь может видеть на дисплее своего устройства для взаимодействия с виртуальными объектами виртуальный объект и сразу с ним взаимодействовать. То же самое устройство для взаимодействия с виртуальными объектами, специальным образом сконфигурированное, выполняет теперь этапы, которые позволяют строить трехмерную модель органа управления и осуществлять взаимодействие между органом управления и виртуальным объектом.
Существует вариант изобретения, в котором компенсацию вибрации устройства для взаимодействия с виртуальными объектами производят с использованием фильтра Калмана.
Благодаря данной выгодной характеристике появляется возможность упростить способ взаимодействия с виртуальными объектами, так как последовательность операций при использовании фильтра Калмана минимизирует нагрузку на вычислительный модуль, который вынужден рассчитывать поправки, компенсирующие помехи, возникающие при вибрации устройства для взаимодействия с виртуальными объектами. А такие помехи обязательно возникают, так как в качестве устройства для взаимодействия с виртуальными объектами используются смартфон, компьютерный планшет или устройства типа очков добавленной реальности, которые пользователь держит в руках или они, как очки, имеют крепление к голове пользователя.
Действительно, считываемая кадр за кадром информация с камеры сотового телефона типа смартфон, или компьютерного планшета, или устройств типа очков дополненной реальности, будет нести в себе некоторый шум - постоянный разброс коодринат вывода модели вокруг некоторых усредненных точек. В итоге пользователь будет наблюдать постоянную «тряску» 3D-модели.
Для этого и реализован в способе такой этап, при котором предсказывают движения графических примитивов, основанный на модифицированном фильтре Калмана. Фильтр Калмана - эффективный рекурсивный фильтр, оценивающий вектор состояния динамической системы, используя ряд неполных и зашумленных измерений.
Объяснить суть его работы проще всего на примере. Представим, что мы получаем информацию об уровне топлива в баке передвигающегося автомобиля. Из-за неровностей дороги и вибрации двигателя значение будет скачкообразно изменятся вследствие плескания жидкости. Вполне логично посчитать это ошибкой измерения, обращая внимание только на некое усредненное значение. При этом, зная средний расход топлива, можно предположить, каков его уровень будет в следующий момент времени. Идея Калмана состоит в том, чтобы получить наилучшее приближение к истинной координате. Необходимо выбрать «золотую середину» между показанием неточного сенсора и предсказаным по закону расхода топлива значением. Стоит отметить, что точность фильтра зависит от времени его применения, что означает все более стабильный вывод модели на последующих кадрах.
Существует вариант изобретения, в котором захватывают изображения органа управления и осуществляют вывод на дисплей органа управления и виртуального объекта с помощью сотового телефона типа смартфон.
Благодаря данной выгодной характеристике появляется возможность использовать сотовый телефон типа смартфон в качестве устройства для взаимодействия с виртуальными объектами.
Существует вариант изобретения, в котором захватывают изображения органа управления и осуществляют вывод на дисплей органа управления и виртуального объекта с помощью планшетного компьютера.
Благодаря данной выгодной характеристике появляется возможность использовать планшетный компьютер в качестве устройства для взаимодействия с виртуальными объектами.
Существует вариант изобретения, в котором захватывают изображения органа управления и осуществляют вывод на дисплей органа управления и виртуального объекта с помощью устройств типа очков дополненной реальности.
Благодаря данной выгодной характеристике появляется возможность использовать очки дополненной реальности в качестве устройства для взаимодействия с виртуальными объектами.
Существует вариант изобретения, в котором при расчете движения в пространстве графических примитивов органа управления применяют модель искусственных нейронных сетей.
Благодаря данной выгодной характеристике появляется возможность повышать точность расчетов модели за счет возможности организации процесса в виде искусственных нейронных сетей. Искусственная нейронная сеть - математическая модель, а также ее аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей - сетей нервных клеток живого организма. Они применяются в различных областях науки: начиная от систем распознавания речи до распознавания вторичной структуры белка, классификации различных видов рака и генной инженерии. ИНС могут быть созданы путем имитации модели сетей нейронов на компьютере. Используя алгоритмы, которые имитируют процессы реальных нейронов, мы можем заставить сеть «учиться», что помогает решить множество различных проблем. Модель нейрона представляется как пороговая величина. Модель получает данные от ряда других внешних источников, определяет значение каждого входа и добавляет эти значения. Если общий вход выше пороговой величины, то выход блока равен единице, в противном случае - нулю. Таким образом, выход изменяется от 0 до 1, когда общая «взвешенная» сумма входов равна пороговой величине. Предоставив сети заранее известное количество графических примитивов, передавая их группой на вход под разными углами и условиями освещения и контролируя выходные значения, даст возможность использовать заранее обученную нейронную сеть в «движке». В частности, благодаря этому модулю «движок» сможет получать информацию о пространственной ориентации маркера - о его преспективном положении, расположении его графических примитивов относительно друг друга, что позже используется для построения универсальных видовых и проекционных матриц - информации, что позволяет большинству современных графических 3D-редакторов строить на изображении модель под заданным углом и направлением к смотрящему.
Совокупность существенных признаков предлагаемого изобретения не известна из уровня техники для способов аналогичного назначения, что позволяет сделать вывод о соответствии критерию «новизна» для изобретения в отношении способа.
Уровень техники устройства.
Другой своей стороной настоящее изобретение относится к устройству для взаимодействия с виртуальными объектами, содержащему видеокамеру и дисплей, соединенные с вычислительным модулем, обрабатывающим данные.
Такое устройство описано как устройство Кинект (Kinect), см. интернет сайт http://en.wikipedia.org/wiki/Kinect, которое подключается к устройству для взаимодействия с виртуальными объектами.
Данное устройство является наиболее близким по технической сути и достигаемому техническому результату и выбрано за прототип предлагаемого изобретения как устройства.
Недостатком этого прототипа является его сложность, так как требуется наличие целой системы из нескольких устройств, то есть самого устройства для взаимодействия с виртуальными объектами с дисплеем и дополнительных устройств, а именно самого устройства Кинект, подсоединяемого к компьютерному устройству пользователя. При этом нет возможности взаимодействия с виртуальными объектами с помощью только одного устройства для взаимодействия с виртуальными объектами, имеющего видеокамеру и дисплей, такими как смартфон, компьютерный планшет или устройства типа очков добавленной реальности, которые, как правило, всегда находятся у пользователя с собой.
Действительно, дополнительно устройство необходимо специально покупать и, кроме того, носить с собой постоянно, подключать к устройству для взаимодействия с виртуальными объектами, чтобы при необходимости в любой момент времени иметь возможность взаимодействовать с виртуальными объектами.
Раскрытие изобретения как устройства.
Настоящее изобретение, с другой своей стороны, главным образом, имеет целью предложить устройство для взаимодействия с виртуальными объектами, содержащее видеокамеру и дисплей, соединенные с вычислительным модулем, обрабатывающим данные, позволяющее, по меньшей мере, сгладить как минимум один из указанных выше недостатков, а именно обеспечить возможность и взаимодействия с виртуальными объектами с помощью только одного устройства для взаимодействия с виртуальными объектами, имеющего видеокамеру и дисплей, что и является поставленной технической задачей.
Для достижения этой цели устройство дополнительно имеет соединенный с указанным выше вычислительным модулем электронный модуль построения и хранения библиотеки изображений органа управления виртуальным объектом, выход которого соединен с входом электронного модуля построения графических примитивов органа управления по библиотеке изображений, выход которого соединен со входом электронного модуля определения положения в пространстве графических примитивов органа управления, выход которого соединен со входом электронного модуля расчета поправок, компенсирующих вибрацию устройства для взаимодействия с виртуальными объектами.
Благодаря данным выгодным характеристикам появляется возможность определения положения в пространстве органа управления, например руки пользователя, или специального предмета, например указки, с помощью только одного устройства для взаимодействия с виртуальными объектами, имеющего видеокамеру и дисплей, такими как смартфон, компьютерный планшет или устройства типа очков дополненной реальности. В любой момент времени пользователь может видеть на дисплее своего устройства для взаимодействия с виртуальными объектами виртуальный объект и сразу с ним взаимодействовать.
Существует также вариант изобретения, в котором дополнительно устройство содержит модуль расчета движения в пространстве графических примитивов органа управления по модели искусственных нейронных сетей, соединенный с вычислительным модулем.
Благодаря данной выгодной характеристике появляется возможность повышать точность построения моделей, необходимых для взаимодействия с виртуальным объектом, при этом точность растет со временем взаимодействия как результат автоматической настройки устройства.
Совокупность существенных признаков предлагаемого изобретения как устройства не  известна из уровня техники для устройств аналогичного назначения, что позволяет сделать вывод о соответствии критерию «новизна» для изобретения как устройства.
Краткое описание чертежей.
Другие отличительные признаки и преимущества данной группы изобретений ясно вытекают из описания, приведенного ниже для иллюстрации и не являющегося ограничительным, со ссылками на прилагаемые рисунки, на которых
- фигура 1 изображает функциональную схему устройства для взаимодействия с виртуальными объектами согласно изобретению
- фигура 2 схематично изображает этапы способа взаимодействия с виртуальными объектами согласно изобретению,
- фигура 3 схематично изображает оригинальное изображение,
- фигура 4 схематично изображает маркер с найденными ключевыми точками,
- фигура 5 схематично изображает кадр с найденными ключевыми точками,
- фигура 6 схематично изображает обведенный рамкой маркер.
Согласно фигуре 1 устройство для взаимодействия с виртуальными объектами содержит видеокамеру 1 и дисплей 2, соединенные с вычислительным модулем 3, обрабатывающим данные. Устройство дополнительно имеет соединенный с указанным выше вычислительным модулем 3 электронный модуль 4 построения и хранения библиотеки изображений органа управления виртуальным объектом, выход которого соединен со входом электронного модуля 5 построения графических примитивов органа управления по библиотеке изображений, выход которого соединен со входом электронного модуля 6 определения положения в пространстве графических примитивов органа управления, выход которого соединен со входом электронного модуля 7 расчета поправок, компенсирующих вибрацию устройства для взаимодействия с виртуальными объектами.
Дополнительно устройство может содержать модуль 8 расчета движения в пространстве графических примитивов органа управления по модели искусственных нейронных сетей, соединенный с вычислительным модулем.
Осуществление изобретения.
Устройство для взаимодействия с виртуальными объектами работает следующим образом. Приведем наиболее исчерпывающий пример реализации изобретения, имея в виду, что данный пример не ограничивает применения изобретения.
Согласно фигуре 2
Этап А1. Предварительно определяют орган управления, с помощью которого будет производиться взаимодействие с виртуальными объектами, будет ли это, например, часть пользователя или какой-то предмет.
Этап А2. Определяют графические примитивы виртуального объекта.
Этап A3. Определяют положение в пространстве органа управления.
Этап А31. Для получения данных о положении в пространстве органа управления используют изображения с устройства для взаимодействия с виртуальными объектами, имеющего видеокамеру и дисплей, соединенные с вычислительным модулем, обрабатывающим данные.
Этап А32. Создают по полученным изображениям библиотеку изображений органа управления, которая учитывает различные положения в пространстве, яркость, контрастность, освещенность,
Этап А33. Определяют по полученной библиотеке изображений графические примитивы органа управления.
Этап А34. Определяют положение в пространстве органа управления посредством расчета движения в пространстве графических примитивов органа управления.
Этап А35. Рассчитывают движение в пространстве графических примитивов органа управления с применением поправок, компенсирующих вибрацию устройства для взаимодействия с виртуальными объектами. Например, компенсацию вибрации устройства для взаимодействия с виртуальными объектами производят с использованием фильтра Калмана.
Этап А36. При расчете движения в пространстве графических примитивов органа управления применяют модель искусственных нейронных сетей.
Этап А4. Сопоставляют положение в пространстве органа управления с графическими примитивами виртуального объекта.
Этап А5. Осуществляют вывод на дисплей органа управления и виртуального объекта с помощью сотового телефона типа смартфон, или с помощью планшетного компьютера, или устройств типа очков дополненной реальности.
Последовательность этапов является примерной и позволяет переставлять, убавлять, добавлять или производить некоторые операции одновременно без потери возможности обеспечивать взаимодействия с виртуальными объектами.
Пример 1. Технология взаимодействия с виртуальными объектами
Технология взаимодействия реальных и виртуальных объектов основана на распознавании образов, а именно на методе сравнения с шаблоном. Виртуальный объект ассоциируется с неким реальным объектом, причем изменение второго непосредственно сказывается на изменении первого: виртуальный объект можно передвигать, изменять его свойства, передвигая или меняя свойства объекта реального.
Вначале необходимо создать библиотеку изображений реального объекта, с помощью которой будет производится манипуляции над объектом виртуальным (активный маркер). Сам виртуальный объект может выводиться на свой маркер (пассивный маркер) или вообще его не использовать.
В случае плоского маркера необходимо всего одно изображение для каждого маркера. С помощью камеры выполняется поиск заданных изображений в окружающем мире. Маркер может быть нанесен на поверхность любого предмета любым способом, однако он должен сохранять изначальную форму (допускается масштабирование с сохранением пропорций). Как правило, он представляет собой лист плотного материала с нанесенным на него характерным изображением. Однако маркером может выступать не только изображение, но и объемный предмет. В этом случае необходимо несколько изображений маркера (минимум два), добавленных в библиотеку шаблонов.
При детектировании пассивного маркера производится вычисление его перспективы, ориентации, уточнение координат его краев. Относительно его плоскости строится система отсчета. Если маркеров несколько - для каждого строится своя система отсчета, при этом ей задается идентификационный номер. Затем в поле зрения вносится активный маркер. Его перемещения высчитываются относительно системы отсчета пассивного маркера, также находятся его края и ориентация в пространстве, после чего с помощью активного маркера можно взаимодействовать с виртуальным объектом.
На пассивный маркер проецируется ассоциированная с ним 3D-модель, которая может быть как анимированной, так и статичной. Благодаря построенной системе координат при перемещении камеры положение модели относительно маркера не меняется, поэтому виртуальную модель можно также перемещать с помощью движений реального маркера.
Маркеры (пассивный и активный) могут быть соотнесены не только с 3D-моделью, но так же и с аудио- и видеодорожкой, 3D-сценой (набором взаимодействующих 3D-моделей). В последнем случае при взаимодействии с пассивным маркером из сцены могут удалятся или добавляться модели.
Взаимодействие реального и виртуального объектов сводится в общем виде к двум способам: взаимодействие на плоскости и взаимодействие в пространстве.
1) 2D (взаимодействие на плоскости). В этом случае не учитывается глубина, расположение реального и виртуального объектов рассчитывается в плоских координатах. Примером использования этого подхода может служить нажатие на виртуальную кнопку реальным предметом (например, пальцем руки). При перекрытии пассивного маркера маркером активным выполняется заданное действие.
2) 3D (взаимодействие в пространстве). В этом случае учитывается глубина как третья координата. Она может быть получена при обработке нескольких кадров и последующей 3D-реконструкции, а также при использовании дополнительного оборудования, например дальномером или иным устройством, позволяющим измерять расстояние до объекта. В отличие от первого способа, способного работать с первого кадра, здесь требуется большее количество кадров для выяснения геометрических размеров активного маркера и 3D-модели. Этот способ позволяет большую свободу действий. На примере человеческой руки как активного маркера можно не только передвигать виртуальный объект в пространстве, но также, используя определенные жесты пальцами, сжимать его, растягивать, разбирать на составные части (если сама 3D-модель это позволяет).
Пример 2. Возможность манипуляции с виртуальными объектами
Устройство в руках пользователя (например, планшетный компьютер) хранит в своей памяти чертежи некоей сборки деталей. С помощью видеокамеры устройство получает данные из окружающей среды. Этот видеопоток подвергается фильтрации (Лапласианом). На изображении с помощью сравнения дескрипторов ключевых точек находится маркер. Вычисляются томография маркера, ориентация в пространстве, на основе которых на этом маркере строится составная 3D-модель сборки, чей чертеж и является маркером. Далее в кадр как активный маркер вносится рука пользователя, которая является органом управления, библиотека шаблонов которой также имеется в памяти устройства. Благодаря использованию всех трех координат обеспечивается возможность «разборки» конструкции на отдельные детали с помощью рук как активных маркеров. В частности, характеристика глубины здесь используется для выяснения, «схватил» ли пользователь деталь пальцами.
Пример 3. Пример построения трехмерной модели по характерным точкам (графическим примитивам)
В качестве маркера используют бинарное изображение, нанесенное на лист бумаги. На фигуре 3 показано оригинальное изображение.
Предварительно загруженное изображение маркера и кадр, поступающий с камеры, анализируют на наличие графических примитивов - углов, резких перепадов градиента и т.п.
На фигуре 4 показан маркер с найденными характерными точками, а на фигуре 5 - кадр с найденными характерными точками.
Далее вычисляют дескрипторы точек маркера и кадра. После вычисления дескрипторы сравниваются. Это сравнение позволяет узнать пространственную направленность изображения маркера и в первом приближении обвести его рамкой. (См. фиг. 6). Разные цвета сторон рамки на данном этапе позволяет отследить правильность вычисления пространственной направленности маркера в кадре.
Промышленная применимость.
Предлагаемые способ и система взаимодействия с виртуальными объектами могут быть осуществлены специалистом на практике и при осуществлении обеспечивают реализацию заявленного назначения, что позволяет сделать вывод о соответствии критерию «промышленная применимость» для изобретения.
В соответствии с предложенным изобретением изготовлен опытный образец устройства для взаимодействия с виртуальными объектами.
Испытания опытного образца системы показали, что она обеспечивает возможность:
- получения данных о положении в пространстве органа управления по изображениям с устройства для взаимодействия с виртуальными объектами,
- создания по полученным изображениям библиотеки изображений органа управления, которая учитывает различные положения в пространстве, яркость, контрастность, освещенность,
- определения по полученной библиотеке изображений графических примитивов органа управления,
- определения положения в пространстве органа управления посредством расчета движения в пространстве графических примитивов органа управления,
- вычисления движения в пространстве графических примитивов органа управления с применением поправок, компенсирующих вибрацию устройства для взаимодействия с виртуальными объектами,
- дальнейшего взаимодействия с виртуальными объектами при использовании всего лишь одного устройства для взаимодействия с виртуальными объектами.
Таким образом, в данном изобретении достигнута поставленная задача - обеспечение возможности взаимодействия с виртуальными объектами с помощью только одного устройства для взаимодействия с виртуальными объектами, имеющего видеокамеру и дисплей.