WO2021211002A1 - Пособ оптико-инерциального трекинга пользователя - Google Patents

Пособ оптико-инерциального трекинга пользователя Download PDF

Info

Publication number
WO2021211002A1
WO2021211002A1 PCT/RU2020/000200 RU2020000200W WO2021211002A1 WO 2021211002 A1 WO2021211002 A1 WO 2021211002A1 RU 2020000200 W RU2020000200 W RU 2020000200W WO 2021211002 A1 WO2021211002 A1 WO 2021211002A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
data
inertial
tracking
optical
Prior art date
Application number
PCT/RU2020/000200
Other languages
English (en)
French (fr)
Inventor
Дмитрий Алексеевич ДУДАРЕВ
Original Assignee
Общество С Ограниченной Ответственностью "Психо Технолоджи"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Психо Технолоджи" filed Critical Общество С Ограниченной Ответственностью "Психо Технолоджи"
Publication of WO2021211002A1 publication Critical patent/WO2021211002A1/ru

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/03Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by measuring coordinates of points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Definitions

  • the present technical solution relates to the field of computer technology, in particular, to a computer-implemented method for optical-inertial tracking of a user.
  • information source US10071306 B2, 09/11/2018 discloses a virtual reality tracking system that accurately determines one or more orientations of the controller using data from security cameras and / or an inertial measurement unit (IMU) built into each controller.
  • Each controller has two or more distinctive light-emitting tracking markers.
  • the tracking system determines the location of the tracking markers based on the position of the tracking markers in the tracking camera images.
  • the tracking system determines the orientation of the controller using the locations of the tracking markers and orientation data from the IMU. When it is difficult to see markers from the camera, the tracking system relies solely on less accurate orientation data from the IMU.
  • the information source WO2019 / 122950 A1 has been selected, which discloses a method and a system of optical-inertial tracking of a moving object.
  • the method includes the following steps: (a) emitting a plurality of markers of light in the infrared range; (B) reading, with the first processing device, image data from an optical sensor that is physically connected to the mobile object, and detecting pixels in the read image that satisfy predetermined conditions; (c) identifying based on the identified pixels and using the first marker image data processing device and determining the parameters of said marker images; (d) reading with the first data processing device from at least one inertial sensor that is physically connected to the mobile object; (e) generating, by the first data processing device, a combined data stream containing the parameters of the marker images and data from said at least one inertial sensor, and transmitting said data stream by the first communication device to the second communication device; (f) receiving the combined data stream by the second communication device and determining, based on said data stream, positional data of the
  • the proposed technical solution differs from the solutions known from the prior art in that inertial sensors are fixed on the user's body by means of optical and inertial systems, in addition, they calculate the parameters of optical tracking by means of cameras that cover the tracking space.
  • the technical problem to be solved by the claimed technical solution is to eliminate the drawbacks of the solutions known from the prior art and to create a computer-implemented method for optical-inertial tracking of the user, which is described in the independent claim. Additional embodiments of the present invention are presented in the dependent claims.
  • the technical result consists in increasing the accuracy of determining the coordinates and orientation of body parts of users in real time for transferring movements to virtual characters and capturing the movements of several users. Also, the technical result is to ensure the possibility of deep immersion of users in the virtual environment.
  • a computer-implemented method for optical-inertial tracking of a user in which the processor performs the following steps: a preparatory stage, at which: by means of optical tracking, the user's parameters are calculated; by means of at least one inertial sensor attached to the user's body, calculating the orientation of the user's body; working stage, at which: the server receives data packets from inertial sensors, where each data packet is calculated according to the inverse kinematics algorithm; according to the results obtained in the previous step, the absolute coordinates of the extreme points of the user's body are obtained, relative to which the user's movement in space is calculated; the error of the absolute coordinates of the extreme points is calculated, which accumulates over time; the virtual model is rebuilt using the data obtained from the optical tracking.
  • the optical tracking data is received at a frequency of at least 30 Hz.
  • the parameters of the user are at least the height of the user.
  • the inertial sensors are an accelerometer, gyroscope, magnetometer.
  • the inertial sensors are attached to the body, two sensors for each arm, leg, and one sensor attached to the back.
  • the data from the inertial sensors are received at a frequency of at least 100 Hz.
  • the orientation of the body is calculated from two positions of the user: standing upright and with arms bent and arms extended.
  • FIG. 1 illustrates the structure and function of a virtual reality suit.
  • FIG. 2 illustrates an illustration of the structure of an optical tracking system.
  • FIG. 3 illustrates a block diagram of a computing device.
  • the present invention is directed to providing a computer-implemented method for optical-inertial tracking of a user.
  • the proposed optical tracking system operates at significantly lower frequencies (40 GHz), which can greatly reduce the cost of equipment.
  • the optical tracking system determines the position and orientation of users in space and other objects provided with markers.
  • An optical tracking system is an unlimited set of optical cameras located in the tracking area at a certain height above the floor level (2-4m), covering the tracking area so that each point in the area is visible by at least two cameras simultaneously.
  • the computers connected to the cameras via the USB bus perform the task of receiving and processing frames and sending data to a central server. From 1 to 10 cameras are connected to one computer. Computers are connected to a local area network (LAN) with cables, for example, but not limited to twisted pair, optical cables.
  • LAN local area network
  • the central server executes algorithms for processing data from the tracking system and suits.
  • the central server receives data on the coordinates of the marks on the camera frames, sends commands to inertial suits to control the markers and calculate the final three-dimensional coordinates, and the orientation of the users' virtual reality glasses, as well as other objects equipped with markers.
  • the installation locations are arbitrary, meeting two requirements: the height is from two to four meters, each point in the space must be visible at least two cameras.
  • each camera is connected via the USB bus to one of them (from 1 to 10 cameras in each computer).
  • computers software is installed for reading and processing frames from cameras in real time.
  • a central server is installed in an arbitrary place.
  • the central server together with all computers, is connected by LAN wires, for example, but not limited to, twisted pair, optical cables, to one local network.
  • the inertial suit determines the orientation of the user's skeleton elements, interacts with the optical tracking system (active control of LED markers), and sends data to the central server. In addition, the inertial suit performs the determination of the user's coordinates in the absence of optical tracking.
  • An inertial suit is a set of inertial sensors containing three-axis accelerometers, gyroscopes, magnetometers, vibration motors, and microcontrollers.
  • the sensors are attached to the user's body using elastic bands, two on each arm and leg, and one on the back.
  • Two optical LED markers are attached to the user's virtual reality glasses.
  • the central inertial sensor mounted on the user's back, polls the rest of the sensors connected to the same bus, transmits packets with all data to the central server, and also receives commands to activate vibration or control optical markers.
  • the system of optical capture of finger movements is fixed on the user's virtual reality glasses.
  • a special calibration mode is launched on the central server, in which the data coming from all computers is stored in memory.
  • the user picks up a special calibration marker (for example, but not limited to an LED with a ball-shaped diffuser) and slowly walks with it along the tracking zone along an arbitrary trajectory, trying to evenly cover the entire area.
  • the calibration mode is stopped on the central server and a sequence of algorithms for iterative calculation of coordinate transformation matrices from the global system to the local one for each camera is started. This is how the fundamental matrices of each pair of the three initial chambers are found first.
  • Essential matrices are decomposed. Iterative finding of the internal (intrinsic) and external (extrinsic) matrices for each of the other cameras.
  • Internal matrix means a matrix consisting of camera parameters - focal distance along two axes (fx, fy) and the coordinate of the focus center (cx, cy), and the external matrix is understood as the matrix of stretching, rotation and transfer of the model, which sets the position of the lens in space.
  • the resulting matrices contain information about the position, orientation and focal length of the lens of each camera. They are saved to non-volatile memory for later use each time you start tracking.
  • the method contains the following steps.
  • parameters are calculated by means of optical tracking, namely, the height of the user.
  • the user's height is calculated from the height of the marker attached to the helmet at the time of calibration.
  • Each VR headset has at least two LED ball markers on it.
  • a pair of active markers attached to virtual reality glasses are tracked by cameras, calculating the position of the head in space and its orientation at a frequency of 40Hz.
  • Each suit is connected to a local network via a wireless connection, such as but not limited to WI-FI.
  • the frames from the cameras are transmitted to computers, where a special algorithm finds bright circles and sends the coordinates of their centers and colors to a central server.
  • the central server receives the data and, using the saved coordinate transformation matrices, builds rays in three-dimensional space, at the intersections of which markers should be located. At each cycle, the central server builds ray sorting and ray binding to specific markers and an assessment of the classification reliability. If the score is below the threshold, the central server sends a request to the suit to change the color of one of the markers on the glasses. As soon as the color has changed, the central server updates the ray bindings for the given suit.
  • the central server chooses the two best rays and finds their intersection (midpoint of the shortest perpendicular to both rays). Determining the coordinates of two markers on one suit also allows you to determine the azimuth of the user's head.
  • the orientation of the user's body is calculated.
  • the relative position of the key points of the user's skeleton is determined based on data coming from the virtual reality suit with a frequency of more than 100 Hz.
  • the user's orientation is determined in two positions: standing straight and with bent arms, and outstretched arms.
  • Calibration control is performed using a special application on a computing device connected to a local network via a wireless connection, for example, but not limited to WI-FI.
  • a command is sent from the computing device to the central server to save the current orientations of the sensors and the height of the markers on it as calibration.
  • the microcontroller reads the sensor readings and performs filtering (based on the Magwick filter) to calculate the quaternion of the current sensor orientation.
  • the central sensor located on the user's back in addition to calculating its own quaternion, polls the rest of the sensors connected to the common RS485 bus. Then the obtained quaternions are multiplied by the calibration quaternions calculated during the suit calibration to compensate for the angular displacements of the sensors on the user's body.
  • the sensor transmits packets with all quaternions to a central server via USB or Bluetooth.
  • error is understood as the difference between the coordinates obtained from optical tracking (correct coordinates) and coordinates obtained by integrating steps from the suit.
  • the user's head tracking data is updated with the frequency of data arrival from the suit (more than 100 Hz), which allows for a comfortable immersion in virtual reality on low-speed optical tracking systems.
  • FIG. 3 a general diagram of computing devices (300) will be presented below, providing data processing necessary for the implementation of the claimed solution.
  • the device (300) contains such components as: one or more processors (301), at least one memory (302), data storage means (303), input / output interfaces (304), I / O means ( 305), networking tools (306).
  • the processor (301) of the device performs the basic computational operations necessary for the operation of the device (300) or the functionality of one or more of its components.
  • the processor (301) executes the necessary computer readable instructions contained in the main memory (302).
  • Memory (302) is made in the form of RAM and contains the necessary program logic that provides the required functionality.
  • the data storage medium (303) can be performed in the form of HDD, SSD disks, raid array, network storage, flash memory, optical information storage devices (CD, DVD, MD, Blue-Ray disks), etc.
  • the means (303) allows performing long-term storage of various types of information, for example, the aforementioned files with user data sets, a database containing records of time intervals measured for each user, user identifiers, etc.
  • Interfaces (304) are standard means for connecting and working with the server side, for example, USB, RS232, RJ45, LPT, COM, HDMI, PS / 2, Lightning, FireWire, etc.
  • the choice of interfaces (304) depends on the specific implementation of the device (200), which can be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, etc.
  • a keyboard should be used.
  • the hardware design of the keyboard can be any known: it can be either a built-in keyboard used on a laptop or netbook, or a stand-alone device connected to a desktop computer, server or other computer device.
  • the connection can be either wired, in which the connecting cable of the keyboard is connected to the PS / 2 or USB port located on the system unit of the desktop computer, or wireless, in which the keyboard exchanges data via a wireless communication channel, for example, a radio channel, with base station, which, in turn, is directly connected to the system unit, for example, to one of the USB ports.
  • I / O data can also include: joystick, display (touchscreen display), projector, touchpad, mouse, trackball, light pen, speakers, microphone, etc.
  • Networking means (306) are selected from a device providing network reception and transmission of data, for example, Ethernet card, WLAN / Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, REID module, GSM modem, etc.
  • the means (305) provide the organization of data exchange via a wired or wireless data transmission channel, for example, WAN, PAN, LAN, Intranet, Internet, WLAN, WMAN or GSM.
  • the components of the device (300) are interconnected via a common data bus (310).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

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

Description

СПОСОБ ОПТИКО-ИНЕРЦИАЛЬНОГО ТРЕКИНГА ПОЛЬЗОВАТЕЛЯ
ОБЛАСТЬ ТЕХНИКИ
Настоящее техническое решение относится к области вычислительной техники, в частности, к компьютерно-реализуемому способу оптико-инерциального трекинга пользователя.
УРОВЕНЬ ТЕХНИКИ
Из уровня техники известен источник информации US10071306 В2, 11.09.2018, раскрывающий систему отслеживания виртуальной реальности, точно определяющую одну или несколько ориентаций контроллера, используя данные от камер слежения и / или инерциальный блок измерения (IMU), встроенный в каждый контроллер. Каждый контроллер имеет два или более отличительных светоизлучающих маркера отслеживания. Система отслеживания определяет местоположение маркеров отслеживания на основе расположения маркеров отслеживания на изображениях камеры слежения. Система слежения определяет ориентацию контроллера, используя местоположения маркеров слежения и данные об ориентации из IMU. Когда вид на маркеры с камеры затруднен, система слежения полагается исключительно на менее точные данные ориентации из IMU.
В качестве наиболее близкого аналога, выбран источник информации WO2019/122950 А1, раскрывающий способ и систему оптико-инерционного слежения за подвижным объектом. Способ включает в себя следующие этапы: (а) излучение множеством маркеров света в инфракрасном диапазоне; (Ь) считывание с помощью первого устройства обработки данных изображения с оптического датчика, который физически соединен с мобильным объектом, и выявление в считанном изображении пикселей, которые удовлетворяют заданным условиям; (с) идентифицируют на основе идентифицированных пикселей и используют первое устройство обработки данных изображения маркеров и определяют параметры упомянутых изображений маркеров; (d) считывание с помощью первого устройства обработки данных по меньшей мере от одного инерциального датчика, который физически соединен с мобильным объектом; (е) генерирование с помощью первого устройства обработки данных, объединенный поток данных, содержащий параметры изображений маркеров и данные от упомянутого, по меньшей мере, одного инерциального датчика, и передачу упомянутого потока данных с помощью первого устройства связи на второе устройство связи; (f) прием объединенного потока данных посредством второго устройства связи и определение на основе упомянутого потока данных позиционных данных трекера в системе координат зоны движения мобильного объекта; (g) проверка с помощью второго устройства обработки данных и использование позиционных данных трекера математической модели траектории движения трекера; (h) экстраполяция с помощью второго устройства обработки данных и использование утвержденной математической модели траектории движения трекера позиционных данных трекера к горизонту экстраполяции.
Предлагаемое техническое решение отличается от известных из уровня техники решений тем, что определяют трекинг пользователя посредством оптических и инерциальных систем инерционные датчики закрепляются на теле пользователя, кроме того, вычисляют параметры оптического трекинга посредством камер, которые покрывают трекинговое пространство.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Технической проблемой, на решение которой направлено заявленное техническое решение, является устранение недостатков решений, известных из уровня техники и создание компьютерно-реализуемого способа оптико-инерциального трекинга пользователя, который охарактеризован в независимом пункте формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.
Технический результат заключается в повышении точности определения координат и ориентации частей тела пользователей в реальном времени для переноса движений на виртуальных персонажей и захвата движений нескольких пользователей. Также технический результат заключается в обеспечение возможности глубокого погружения пользователей в виртуальную среду.
В предпочтительном варианте реализации заявлен компьютерно-реализуемый способ оптико-инерциального трекинга пользователя, в котором процессор выполняет следующие этапы: подготовительный этап, на котором: посредством оптического трекинга вычисляют параметры пользователя; посредством по меньшей мере одного инерциального датчика, закрепленного на теле пользователя, вычисляют ориентацию тела пользователя; рабочий этап, на котором: сервер получает пакеты данных с инерциальных датчиков, где каждый пакет с данными рассчитывают согласно алгоритму инверсной кинематики; по результатам, полученным на предыдущем шаге, получают абсолютные координаты крайних точек тела пользователя, относительно которых рассчитывают движение пользователя в пространстве; вычисляют ошибку абсолютных координат крайних точек, которая накапливается со временем, перестраивают виртуальную модель, посредством полученных данных с оптического трекинга.
В частном варианте реализации, данные с оптического трекинга поступают с частотой по меньшей мере 30 Гц.
В другом частном варианте реализации, параметрами пользователя является по меньшей мере рост пользователя.
В другом частном варианте реализации, инерциальные датчики представляют собой акселерометр, гироскоп, магнитометр.
В другом частном варианте реализации, инерциальные датчики закрепляют на теле, по два датчика на каждую руку, ногу и один датчик закрепляют на спине.
В другом частном варианте реализации, данные с инерциальных датчиков поступают с частотой по меньшей мере 100 Гц.
В другом частном варианте реализации, вычисляют ориентацию тела по двум позициям пользователя: стоя прямо и с согнутыми руками и вытянутыми руками.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
Фиг. 1 иллюстрирует структуру и функционирование костюма виртуальной реальности.
Фиг. 2 иллюстрирует иллюстрация структуры системы оптического трекинга.
Фиг. 3 иллюстрирует блок-схему вычислительного устройства.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В приведённом ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчётливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять понимание особенностей настоящего изобретения. Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.
Настоящее изобретение направлено на обеспечение компьютерно-реализуемого способа оптико-инерциального трекинга пользователя.
Для комфортного погружения в виртуальную реальность, требуется высокая частота обновления данных трекинга головы пользователя (минимум 90Гц). Предлагаемая система оптического трекинга работает на значительно более низких частотах (40Г ц), что позволяет сильно сократить себестоимость оборудования.
Для достижения достаточных частот обновления позиционирования используется связка оптического трекинга с инерциальным.
Система оптического трекинга определяет положение и ориентацию пользователей в пространстве и других объектов, снабженных маркерами.
Система оптического трекинга представляет собой неограниченный набор оптических камер, расположенных в зоне трекинга на некоторой высоте над уровнем пола (2-4м), покрывающий зону трекинга так, чтобы каждая точка зоны была видна минимум двумя камерами одновременно.
Компьютеры, подключенные к камерам шиной USB, выполняют задачу приема и обработки кадров и отправки данных на центральный сервер. К одному компьютеру подключаются от 1 до 10 камер. Компьютеры подключены к локальной сети LAN кабелями, например, но не ограничиваясь, витая пара, оптические кабели.
Центральный сервер, в реальном времени выполняет алгоритмы обработки данных, поступающих с системы трекинга и костюмов. Центральный сервер принимает данные о координатах меток на кадрах камер, отсылает команды инерциальным костюмам на управление маркерами и выполняющий расчет итоговых трехмерных координат, и ориентацию очков виртуальной реальности пользователей, а также других объектов, снабженных маркерами.
В помещении, где предполагается использовать трекинг, по всей площади устанавливаются камеры. Места установок произвольные, удовлетворяющие двум требованиям: высота от двух до четырех метров, каждая точка пространства должна быть видна минимум двумя камерами.
Затем монтируются компьютеры, так чтобы каждая камера была подключена через шину USB к одному из них (от 1 до 10 камер в каждом компьютере). На компьютеры устанавливается программное обеспечение для чтения и обработки кадров с камер в реальном времени.
В произвольном месте устанавливается центральный сервер. Центральный сервер вместе со всеми компьютерами подключается LAN проводами, например, но не ограничиваясь, витая пара, оптические кабели, к одной локальной сети.
Инерциальный костюм определяет ориентацию элементов скелета пользователя, взаимодействует с системой оптического трекинга (активное управление светодиодными маркерами), отправляет данные на центральный сервер. Кроме того, инерциальный костюм выполняет определение координат пользователя при отсутствии оптического трекинга.
Инерциальный костюм представляет собой набор инерциальных датчиков, содержащих трехосевые акселерометры, гироскопы, магнитометры, вибромоторы и микроконтроллеры. Датчики закрепляются на тело пользователя с помощью эластичных лент, по два на каждой руке и ноге, и один на спине. Два оптических светодиодных маркера, закрепляются на очках виртуальной реальности пользователя. Центральный инерциальный датчик, закрепленный на спине пользователя, выполняет опрос остальных датчиков, подключенных к одной шине, передает пакеты со всеми данными на центральный сервер, а также принимает команды на включение вибрации или управление оптическими маркерами. Система оптического захвата движений пальцев рук, закрепляется на очках виртуальной реальности пользователя.
Перед началом работы калибруют оптическую систему трекинга, чтобы определять положение и ориентацию каждой установленной камеры.
Любым способом, например, но не ограничиваясь, с помощью лазерного дальномера и нивелира, измеряют координаты положения любых трех камер в глобальной системе координат. На центральном сервере запускают специальный калибровочный режим, в котором данные, идущие со всех компьютеров, сохраняются в память. Пользователь берет в руки специальный калибровочный маркер (например, но не ограничиваясь, светодиод с шарообразным рассеивателем) и медленно проходит с ним по зоне трекинга по произвольной траектории, стараясь равномерно покрыть всю площадь. После этого калибровочный режим останавливается на центральном сервере и запускается последовательность алгоритмов итерационного расчета матриц преобразования координат из глобальной системы в локальную для каждой камеры. Так вначале находят фундаментальные матрицы каждой пары из трех начальных камер. Осуществляют декомпозицию основных (essential) матриц. Итерационное нахождение внутренней (intrinsic) и внешней (extrinsic) матриц для каждой из остальных камер. Под внутренней матрицей понимается матрица, состоящая из параметров камеры - фокальное расстояние по двум осям (fx, fy) и координата центра фокуса (сх, су), а по внешней матрице понимается матрица растяжения, поворота и переноса модели, которая задает положение объектива в пространстве. Полученные матрицы содержат в себе информацию о положении, ориентации и фокусном расстоянии объектива каждой камеры. Они сохраняются в постоянную память для последующего использования при каждом запуске трекинга.
Способ содержит следующие шаги. На подготовительном этапе посредством оптического трекинга вычисляют параметры, а именно рост пользователя. Рост пользователя вычисляется по высоте маркера, закрепленного на шлеме в момент калибровки.
На каждых очках виртуальной реальности горят, по меньшей мере, по два шарообразных светодиодных маркера. Пара активных маркеров, закрепленных на очках виртуальной реальности, отслеживается камерами, вычисляя положение головы в пространстве и ее ориентацию с частотой 40Гц. Каждый костюм подключен к локальной сети, посредством беспроводного соединения, например, но не ограничиваясь, WI-FI. Кадры с камер передаются на компьютеры, где специальный алгоритм находит яркие круги и отправляет координаты их центров и цвета на центральный сервер.
Центральный сервер принимает данные и с помощью сохраненных матриц преобразования координат, строит лучи в трехмерном пространстве, на пересечениях которых должны находиться маркеры. На каждом цикле центральный сервер строит сортировку лучей и привязку лучей к конкретным маркерам и оценку достоверности классификации. Если оценка ниже порогового значения, центральный сервер отправляет на соответствующий костюм запрос на изменение цвета одного из маркеров на очках. Как только цвет изменился, центральный сервер обновляет привязки лучей для данного костюма.
Для каждого маркера центральный сервер выбирает два наилучших луча и находит их пересечение (середина кратчайшего перпендикуляра к обоим лучам). Определение координат двух маркеров на одном костюме позволяет определить так же азимут головы пользователя.
Посредством по меньшей мере одного инерциального датчика, вычисляют ориентацию тела пользователя. Относительное положение ключевых точек скелета пользователя определяется на основе данных, поступающих с костюма виртуальной реальности с частотой более 100Гц.
После того, как пользователь надел костюм, производится калибровка, определяющая ориентацию закрепленных на пользователе датчиков относительно его тела, а также определяется рост пользователя (по данным оптического трекинга, как было описано выше). Пропорционально росту пользователя, вычисляются длины его костей по стандартным коэффициентам. В материалах настоящей заявки, под стандартными коэффициентами понимаются коэффициенты, определяющие отношение длин костей среднего человека, например, считается, что длина бедренной кости человека равна 25% от его роста. Кроме того, определяют ориентацию пользователя по двум позициям: стоя прямо и с согнутым руками, и вытянутыми руками. Управление калибровкой производится с помощью специального приложения на вычислительном устройстве, подключенном к локальной сети посредством беспроводного соединения, например, но не ограничиваясь, WI-FI. С вычислительного устройства отсылается команда на центральный сервер, на сохранение на нем текущих ориентаций датчиков и высоты маркеров в качестве калибровочных.
Микроконтроллер считывает показания сенсоров и выполняет фильтрацию (на базе фильтра Мэджвика) для вычисления кватерниона текущей ориентации датчика. Центральный датчик, расположенный на спине пользователя, помимо вычисления собственного кватерниона, выполняет опрос остальных датчиков, подключенных к единой шине RS485. Далее полученные кватернионы домножаются на калибровочные кватернионы, вычисленные во время калибровки костюма для компенсации угловых смещений датчиков на теле пользователя. Затем датчик передает пакеты со всеми кватернионами на центральный сервер через USB или Bluetooth.
Центральный сервер получает пакеты данных с инерциальных датчиков, где каждый пакет с данными рассчитывается согласно алгоритму инверсной кинематики (например, алгоритмы раскрытые на интернет ресурсе https ://www. informit.com/articles/article .aspx?p=2767093 ). производя процедуру интегрирования перемещений каждой точки скелета. По результатам расчетов, получают абсолютные координаты крайних точек тела модели пользователя, имеющие минимальную высоту и относительно которых рассчитывается движение пользователя в пространстве (фиг.1). Данные крайние точки считаются неподвижными, относительно Земли. По ориентациям костей пользователя определяется величина и направление каждого шага. Шаги интегрируются, позволяя вести трекинг перемещений пользователя в пространстве. Это возможно так как в системе считается что пол плоский и отсутствует проскальзывание ног относительно пола.
С каждым пришедшим новым пакетом данных с костюма, накапливается ошибка интегрирования абсолютных положений, но при этом не теряется чувствительность системы к перемещениям. С приходом пакета данных с оптического трекинга, производится вычисление накопившихся ошибок, перестройка модели и компенсация этих ошибок на последующих кадрах. В контексте настоящей заявки, под ошибкой понимается разница между координатами, полученными по оптическому трекингу (правильные координаты) и координатами, полученными по интегрированию шагов с костюма.
Обновление данных трекинга головы пользователя производится с частотой прихода данных с костюма (более 100Гц), что позволяет производить комфортное погружение в виртуальную реальность на низкоскоростных системах оптического трекинга.
Таким образом, имея костюм с инерциальными датчиками и систему дешевого низкоскоростного оптического трекинга, выполняется высокочастотный точный абсолютный трекинг всех частей тела пользователя.
На Фиг. 3 далее будет представлена общая схема вычислительных устройств (300), обеспечивающих обработку данных, необходимую для реализации заявленного решения.
В общем случае устройство (300) содержит такие компоненты, как: один или более процессоров (301), по меньшей мере одну память (302), средство хранения данных (303), интерфейсы ввода/вывода (304), средство В/В (305), средства сетевого взаимодействия (306).
Процессор (301) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (300) или функциональности одного или более его компонентов. Процессор (301) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (302).
Память (302), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.
Средство хранения данных (303) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (303) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.
Интерфейсы (304) представляют собой стандартные средства для подключения и работы с серверной частью, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п. Выбор интерфейсов (304) зависит от конкретного исполнения устройства (200), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.
В качестве средств В/В данных (305) в любом воплощении системы, реализующей описываемый способ, должна использоваться клавиатура. Аппаратное исполнение клавиатуры может быть любым известным: это может быть, как встроенная клавиатура, используемая на ноутбуке или нетбуке, так и обособленное устройство, подключенное к настольному компьютеру, серверу или иному компьютерному устройству. Подключение при этом может быть, как проводным, при котором соединительный кабель клавиатуры подключен к порту PS/2 или USB, расположенному на системном блоке настольного компьютера, так и беспроводным, при котором клавиатура осуществляет обмен данными по каналу беспроводной связи, например, радиоканалу, с базовой станцией, которая, в свою очередь, непосредственно подключена к системному блоку, например, к одному из USB- портов. Помимо клавиатуры, в составе средств В/В данных также может использоваться: джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.
Средства сетевого взаимодействия (306) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi- Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, REID модуль, GSM модем и т.п. С помощью средств (305) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
Компоненты устройства (300) сопряжены посредством общей шины передачи данных (310).
В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.

Claims

Формула
1. Компьютерно-реализуемый способ оптико-инерциального трекинга пользователя, в котором процессор выполняет следующие этапы: подготовительный этап, на котором: посредством оптического трекинга вычисляют параметры пользователя; посредством по меньшей мере одного инерциального датчика, закрепленного на теле пользователя, вычисляют ориентацию тела пользователя; рабочий этап, на котором: сервер получает пакеты данных с инерциальных датчиков, где каждый пакет с данными рассчитывают согласно алгоритму инверсной кинематики по результатам, полученным на предыдущем шаге, получают абсолютные координаты крайних точек тела пользователя, относительно которых рассчитывают движение пользователя в пространстве; вычисляют ошибку абсолютных координат крайних точек, которая накапливается со временем, перестраивают виртуальную модель, посредством полученных данных с оптического трекинга.
2. Способ по п.1 отличающийся тем, что данные с оптического трекинга поступают с частотой по меньшей мере 30 Гц.
3. Способ по. 1 отличающийся тем, что параметрами пользователя является по меньшей мере рост пользователя.
4. Способ по п.1, отличающийся тем, что инерциальные датчики представляют собой акселерометр, гироскоп, магнитометр.
5. Способ по п.4, отличающийся тем, что инерциальные датчики закрепляют на теле, по два датчика на каждую руку, ногу и один датчик закрепляют на спине.
6. Способ по п.1 отличающийся тем, что данные с инерциальных датчиков поступают с частотой по меньшей мере 100 Гц.
7. Способ по п.1 отличающийся тем, что вычисляют ориентацию тела по двум позициям пользователя: стоя прямо и с согнутыми руками и вытянутыми руками.
PCT/RU2020/000200 2020-04-13 2020-04-29 Пособ оптико-инерциального трекинга пользователя WO2021211002A1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2020113429 2020-04-13
RU2020113429 2020-04-13

Publications (1)

Publication Number Publication Date
WO2021211002A1 true WO2021211002A1 (ru) 2021-10-21

Family

ID=78083772

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2020/000200 WO2021211002A1 (ru) 2020-04-13 2020-04-29 Пособ оптико-инерциального трекинга пользователя

Country Status (1)

Country Link
WO (1) WO2021211002A1 (ru)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160140930A1 (en) * 2014-11-13 2016-05-19 WorldViz LLC Methods and systems for virtual and augmented reality
US20170123493A1 (en) * 2014-09-05 2017-05-04 Echostar Uk Holdings Limited Gaze-based security
US20170192496A1 (en) * 2015-11-25 2017-07-06 Jakob Balslev Methods and systems of a motion-capture body suit with wearable body-position sensors
CN110139115A (zh) * 2019-04-30 2019-08-16 广州虎牙信息科技有限公司 基于关键点的虚拟形象姿态控制方法、装置及电子设备
RU2697942C1 (ru) * 2018-10-30 2019-08-21 Общество С Ограниченной Ответственностью "Альт" Способ и система обратного оптического трекинга подвижного объекта
WO2020009715A2 (en) * 2018-05-07 2020-01-09 Finch Technologies Ltd. Tracking user movements to control a skeleton model in a computer system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170123493A1 (en) * 2014-09-05 2017-05-04 Echostar Uk Holdings Limited Gaze-based security
US20160140930A1 (en) * 2014-11-13 2016-05-19 WorldViz LLC Methods and systems for virtual and augmented reality
US20170192496A1 (en) * 2015-11-25 2017-07-06 Jakob Balslev Methods and systems of a motion-capture body suit with wearable body-position sensors
WO2020009715A2 (en) * 2018-05-07 2020-01-09 Finch Technologies Ltd. Tracking user movements to control a skeleton model in a computer system
RU2697942C1 (ru) * 2018-10-30 2019-08-21 Общество С Ограниченной Ответственностью "Альт" Способ и система обратного оптического трекинга подвижного объекта
CN110139115A (zh) * 2019-04-30 2019-08-16 广州虎牙信息科技有限公司 基于关键点的虚拟形象姿态控制方法、装置及电子设备

Similar Documents

Publication Publication Date Title
US10521011B2 (en) Calibration of inertial measurement units attached to arms of a user and to a head mounted device
US10416755B1 (en) Motion predictions of overlapping kinematic chains of a skeleton model used to control a computer system
CN104658012B (zh) 一种基于惯性与光学测量融合的运动捕捉方法
US10540006B2 (en) Tracking torso orientation to generate inputs for computer systems
US9524436B2 (en) Augmented reality camera registration
CN111353355B (zh) 动作追踪系统及方法
US11150318B2 (en) System and method of camera-less optical motion capture
CN109461208A (zh) 三维地图处理方法、装置、介质和计算设备
US11079860B2 (en) Kinematic chain motion predictions using results from multiple approaches combined via an artificial neural network
US10593065B2 (en) Method and device for camera pose estimation
US20200387227A1 (en) Length Calibration for Computer Models of Users to Generate Inputs for Computer Systems
CN109781104B (zh) 运动姿态确定及定位方法、装置、计算机设备及介质
WO2022188334A1 (zh) 定位初始化方法和装置、设备、存储介质、程序产品
JP7114686B2 (ja) 拡張現実装置及び位置決め方法
CN104266648A (zh) Android平台MARG传感器的室内定位系统
CN111307146A (zh) 一种基于双目相机和imu的虚拟现实头戴显示设备定位系统
CN110044377A (zh) 一种基于Vicon的IMU离线标定方法
WO2020009715A2 (en) Tracking user movements to control a skeleton model in a computer system
CN105184268A (zh) 手势识别设备、手势识别方法及虚拟现实系统
KR102095135B1 (ko) 실내 측위 방법 및 이를 수행하는 장치들
WO2018166051A1 (zh) 一种姿态数据获取方法及装置
US10551195B2 (en) Portable device with improved sensor position change detection
CN112114660A (zh) 一种利用人体足部在小空间范围内的运动来实现虚拟世界人物大范围移动的方法
WO2021211002A1 (ru) Пособ оптико-инерциального трекинга пользователя
US11454646B2 (en) Initiation of calibration of multiple sensor modules related to an orientation of a user of the sensor modules

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20930830

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20930830

Country of ref document: EP

Kind code of ref document: A1