WO2020089675A1 - Способ и система обратного оптического трекинга подвижного объекта - Google Patents

Способ и система обратного оптического трекинга подвижного объекта Download PDF

Info

Publication number
WO2020089675A1
WO2020089675A1 PCT/IB2018/058492 IB2018058492W WO2020089675A1 WO 2020089675 A1 WO2020089675 A1 WO 2020089675A1 IB 2018058492 W IB2018058492 W IB 2018058492W WO 2020089675 A1 WO2020089675 A1 WO 2020089675A1
Authority
WO
WIPO (PCT)
Prior art keywords
tracking
elementary
patterns
optical
markers
Prior art date
Application number
PCT/IB2018/058492
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 Общество С Ограниченной Ответственностью "Альт"
Priority to EP18938810.1A priority Critical patent/EP3876198A4/en
Priority to SG11202104325UA priority patent/SG11202104325UA/en
Priority to CN201880099238.0A priority patent/CN112955930A/zh
Priority to JP2021523061A priority patent/JP2022520140A/ja
Priority to PCT/IB2018/058492 priority patent/WO2020089675A1/ru
Publication of WO2020089675A1 publication Critical patent/WO2020089675A1/ru

Links

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Definitions

  • the invention relates to a method and system for tracking a moving object and can be used in virtual or augmented reality systems, in internal logistics systems, in robotic systems, in control systems
  • Tracking (tracking) of a moving object is used in many systems - virtual reality systems (VR, Virtual Reality) or augmented reality (AR, Augmented Reality), internal logistics systems (for example, warehouse, production or trading), robotic systems, unmanned mobile control systems objects (e.g. vehicles), etc. Further, the main attention is paid to tracking in VR / AR systems, however, the basic principles of tracking are essentially similar in other systems mentioned above.
  • direct tracking is distinguished, in which the sensor or several sensors are located in space outside the movable tracked object, and the reference point or several reference points used for tracking are located on the tracked object, and reverse tracking, in which the sensor or several sensors are located on the tracked object, and the reference point or several reference points used for tracking are located in a space outside the moving tracked object.
  • optical tracking is distinguished, in which optical sensors are used, for example, cameras operating in the visible or infrared range of light, and inertial tracking, in which inertial sensors are used, for example, gyroscopes and accelerometers.
  • tracking systems use magnetic field sensors (magnetometers), altitude sensors (altimeters) and some other types of sensors.
  • markerless tracking systems including those based on the method of simultaneous localization and map building (SLAM,
  • light-emitting or retroreflective markers which are reference points for optical tracking, are fixedly fixed in a predetermined manner on the site or in the premises of the working area, it is important to quickly and accurately determine the tracking area.
  • the tracking system In the case of a fixed (previously known) tracking zone, the tracking system should provide quick selection of the tracking zone configuration and loading of its parameters. In the case of a variable tracking zone (if the shape and dimensions of the tracking zone are not known in advance), the tracking system should provide the ability to quickly and accurately configure the tracking zone. At the same time, it is highly desirable that calibration of the tracking system before its operation was not required or would be as automated as possible.
  • Patent applications US2008285854A1, US2013106833 Al, US2017086941A1, WO2014199196A1, W02017050761 A1 give an overview of the state of the art in the field of tracking systems.
  • Patent applications DE102015013551A1, EP1645241A1 (US2006082789A1), EP2339537A1, ETS2017168592A1 and patent ETS6787750B1 disclose the use of active IR markers in tracking systems.
  • ETS6787750B 1 also discloses
  • Patent applications ETS2011079703 Al, US2017358139A1 describe tracking systems using an optical sensor (camera) and an inertial sensor (gyroscope or accelerometer) mounted on a moving object.
  • Patent applications EP2012170A1, ETS2004080548A1 disclose the use of active IR markers in tracking systems using an optical sensor (camera) and an inertial sensor (gyroscope or accelerometer) mounted on a moving object.
  • Patent applications W02007102857A2, W02016102721 A1 disclose the use of active IR markers in tracking systems using an optical sensor (camera) and an inertial sensor (gyroscope or accelerometer) mounted on moving object, and recognition of optical patterns formed by fixed markers.
  • Patent Application WO2016187609A1 discloses recognition of optical patterns formed by fixed markers
  • W02013071981A1 disclosed the use of an optical sensor (camera) and
  • an inertial sensor (gyroscope or accelerometer) mounted on a moving object, and recognition of optical patterns formed by fixed markers.
  • Non-patent document [1] describes the identification of a linear pattern
  • Non-patent document [2] describes the identification of a linear pattern
  • the non-patent document [3] describes the use of complex contrast planar markers in VR systems based on general-purpose portable electronic devices.
  • the non-patent document [4] describes the identification of various patterns (from single-point to volumetric multi-point) formed by reflective IR markers using several cameras (direct tracking).
  • the non-patent document [5] describes a method for identifying and identifying reflective IR markers by a point cloud using multiple cameras — the point-cloud-based tracking method (direct tracking).
  • Non-Patent Document [6] describes the use of Kalman filters to detect and identify reflective IR markers using
  • the non-patent document [7] describes the use of color reflective markers for motion capture (motion capture) with the subsequent formation of a 3D model in the ZI animation (direct tracking).
  • the non-patent document [8] describes the use of complex contrast planar markers in a reverse optical tracking system.
  • Non-patent document [9] describes the use of linear patterns formed by a plurality of light-emitting diodes mounted on the ceiling using a single camera (reverse tracking), indicating the possibility
  • Non-patent document [10] describes the use of a planar pattern with a concentric arrangement of markers for optical tracking of any kind.
  • Non-patent document [11] describes the use of temporal modulation of the radiation intensity of LED markers for optical tracking of any kind.
  • the non-patent document [12] describes the use of the Wii controller for direct tracking of wireless headphones equipped with four light-emitting diodes forming a rectangular planar optical pattern for creating a realistic dynamic sound picture.
  • the tracking system should provide quick selection of tracking zone configuration and loading of its parameters.
  • the tracking system should provide the ability to quickly and accurately configure the tracking zone. At the same time, it is highly desirable that calibration of the tracking system before its operation was not required or would be as automated as possible.
  • the tracking method of a moving object includes the following steps:
  • Setting up the tracking zone can include the following steps:
  • Steps S4, S5, S6 and S13 can be performed with respect to each ⁇ "constellation" - the candidate and the ID of each of his daughter "constellations" of the candidates.
  • step S2 it is possible to divide the projection of the tracking zone into cells, and the size of the tracking window in step S2 may be expressed in the number of such cells.
  • Tracking a change in the position and / or orientation of a moving object may include the following steps:
  • Step S21 may include the following steps:
  • Step S22 may include the following steps:
  • the tracking system of a moving object contains:
  • At least one tracker located on a moving object (for example, on a user of a VR / AR system) and containing an optical sensor;
  • the optical sensor may be a matrix optical sensor. At least a portion of the marker strips may be located on the floor or other base. Marker strips can be integrated with resilient precast flooring. At least a portion of the marker strips may be located on a ceiling, walls, beams, masts, or otherwise secured in a tracking area above a floor or other base.
  • Active markers can be markers that emit light in the infrared range.
  • the elementary optical pattern may be a linear or non-linear elementary optical pattern.
  • the tracker may comprise a data processing device partially executing the method of tracking a moving object described above.
  • the tracker and the central data processing device may be connected by a wireless data channel for transmitting data settings when performing the step of automatically adjusting the tracking zone and data on the position and / or orientation of the tracker when performing the tracking step in the method of tracking a moving object described above.
  • This system can be configured to automatically adjust the tracking zone by identifying and registering unique combinations of elementary optical patterns in the manner described above.
  • This system can also be configured to track changes in the position and / or orientation of a moving object by identifying unique combinations of elementary optical patterns and matching them with elementary optical patterns,
  • FIG. 1 shows an example implementation of a VR / AR system in accordance with the invention.
  • FIG. 2 shows a block diagram of a tracker.
  • FIG. 3 shows an example of a marker strip in expanded form.
  • FIG. 4 shows an example of a rolled up marker strip.
  • FIG. Figure 5 shows an example of the installation of markers using elements of elastic prefabricated floor coverings (puzzle floor mats).
  • FIG. Figure 6 shows an example of the location of marker strips on the floor.
  • FIG. 7 shows an example of mounting marker strips on the ceiling.
  • FIG. Figure 8 shows the placement of a marker strip in an elastic prefabricated floor covering, each element of which corresponds to a cell of a tracking zone.
  • FIG. 9 shows an example of numbering cells in a tracking zone.
  • FIG. 10 shows an elementary optical pattern formed by a marker strip, with a circle marked its conditional center, and an arrow shows its conditional direction, which may have a numerical designation (encoding 0, 1, 2, 3).
  • FIG. 11 shows an example of the arrangement of elementary optical patterns in a square tracking zone.
  • FIG. 12A shows an example of a unique combination of elementary optical patterns.
  • FIG. 12B shows an example of a non-unique combination of elementary optical patterns.
  • FIG. 13 A B presents a block diagram of an algorithm for registering unique combinations of elementary optical patterns (“constellations”).
  • FIG. Figure 14 shows an example of marker shading in a multi-user system.
  • FIG. 15 is a flowchart of a tracking algorithm.
  • FIG. 16 shows an example of an image obtained from an optical sensor.
  • FIG. 17 shows an example of the image of FIG. 16 after payment
  • FIG. 18 shows an example of the image of FIG. 17 after rationing.
  • FIG. 19 shows an example of the image of FIG. 18, in which, for clarity, the position of the elementary optical patterns relative to the grid is shown.
  • FIG. 20 is a flowchart of an algorithm for reading and preprocessing an image from an optical sensor.
  • FIG. 21 is a flowchart of an algorithm for detecting elementary optical patterns in an image from an optical sensor.
  • FIG. 22 shows an example of the nominal and actual position of the third point of an elementary optical pattern.
  • FIG. 23 shows an example of a non-collinear arrangement of elementary optical patterns.
  • the tracking zone can undergo changes, in particular, the shape and size of the tracking zone can change during operation of the system in connection with its transfer to another site or other room, with a change in the number of users or with a script implemented in the VR / AR.
  • Changing the shape and size of the tracking zone requires reconfiguring the tracking system.
  • tracking system configuration is required each time the system is deployed.
  • the task of automatically adjusting the tracking zone is solved, the accuracy and reliability of tracking, including in multi-user mode, is improved.
  • tracking is located on a moving tracking object, and light sources (active markers), forming characteristic combinations on
  • FIG. 1 shows an example implementation of a VR / AR system 1 comprising a head display 5 in the form of a helmet or glasses, a tracker 10 located on the head display 5, a central data processing device 6 (host) also located on the head display 5, tracker 20, tracker 30 , and a marker strip 4 containing active markers 40, 41, 42.
  • the head display 5 provides a demonstration to user 7 of an image generated by the system 1 based on tracking data received from trackers 10, 20, 30.
  • the image shown to the user may be depicting virtual real nosti or 3 D-image augmented reality. Tracking data,
  • trackers 10, 20, 30, contain data on the location of the trackers and, consequently, the corresponding parts of the user's body 7, on their orientation in space, and (optionally) on the parameters of their movement — direction, speed and acceleration.
  • the tracker 10 (Fig. 2) contains an optical sensor 101 and one or more inertial sensors 102.
  • the tracker 10 includes a data processing device 103.
  • the data processing device 103 provides synchronization of all sensors, obtaining data from the optical sensor and from one or more inertial sensors and processing data from the optical sensor to obtain information about the markers contained in the frame and determine the position and orientation of the tracker.
  • the tracker 10 also includes a power source 104, a communication device 105, a storage device 106, and other parts necessary for it
  • the tracker 10 is connected to the central data processing device 6 by a wireless communication channel, examples of which are WiFi, Bluetooth, etc. channels for transmitting setting data and tracking data.
  • the tracker 20 and the tracker 30 may be identical to the tracker 10 or may have differences related to the different nature of the movement of their corresponding body parts of the user.
  • the trackers 20, 30 connected to the game controllers in the hands of the user may be able to track faster and more abrupt movements than the tracker 10 located on the user's head. Nevertheless, the general principle of the tracking system remains essentially unchanged.
  • Various tracker options are described in detail in patent applications PCT / IB2017 / 058068 and
  • Marker strip 4 (Fig. 3) contains a base, which is a narrow flexible strip of polymer material with flexible conductors that provide power to the active markers 40, 41, 42.
  • the base material can be woven or non-woven.
  • the flexibility of the base and conductors ensures the compactness of the marker strip when folded during storage and transportation (Fig. 4), while the design of the base ensures its sufficient rigidity in the transverse direction (in the plane of its installation) and a constant distance between the markers, which is necessary to ensure geometric stability optical pattern.
  • Conductors can be metal, metallized, oxide, composite, made by thick-film or thin-film technology, providing safe voltage supply at a power consumption of several watts.
  • tape metal conductors are used, and active markers 40, 41, 42 are attached to the base with magnetic connectors, which allow fast mounting of markers on the base and dismounting from it, while the ease of dismantling the markers prevents marker strip 4 from being destroyed in case of Unintentional physical contact of the user with markers.
  • Power to the markers 40, 41, 42 is supplied from the power source 45 through the cable 44 and the electrical connector 43.
  • active markers 40 In an illustrative embodiment, active markers 40,
  • 41, 42 are light emitting infrared markers. In other embodiments
  • active markers 40, 41, 42 can operate in other frequency ranges, for example, in the visible light range.
  • the power source 45 may be any mains or autonomous power source providing the necessary safe voltage (for example, 5, 6, 12, 24, 36, or 48 V) of direct or alternating current.
  • a 5 V or 12 V DC PowerBank battery used to power / charge mobile devices, or a 12.6 V DC Booster battery designed to facilitate the starting of car engines with insufficient charge main battery.
  • power can be supplied centrally from one common power source, or power can be distributed when each marker strip 4 is powered by a separate power source.
  • Centralized power may be preferred in stationary commercial VR / AR systems, especially if marker strip 4 is embedded in the floor or located on the walls or ceiling of the room. Distributed power may be preferred in mobile amateur VR / AR systems, particularly suitable for outdoor use.
  • Cable 44 and electrical connector 43 may be of any suitable type. Their choice is a trivial task for a specialist, therefore their description is omitted.
  • Each of the active markers 40, 41, 42 is an infrared LED emitter with a near-hemispherical radiation pattern.
  • the required radiation pattern is provided by the location and orientation of one or more LED crystals, as well as a diffuser, for example, made on the basis of a Fresnel lens.
  • the marker may contain a driver,
  • the combination of active markers 40, 41, 42 arranged in a predetermined manner forms an elementary optical pattern (hereinafter, for brevity, it can be called an elementary pattern), the presence and location of which in space is determined by host 6 based on data about markers present in the data stream from tracker 10
  • the use of active (light emitting) markers is determined by the principle of reverse tracking and provides a number of advantages compared to the use of passive (reflective) markers.
  • additional power is not required for the tracker to provide illumination for passive markers, which is especially important when the tracker is placed on a moving object.
  • the maximum size of the tracking zone is related to the size and brightness of the markers.
  • Powered active markers from network or stand-alone power sources can repeatedly increase the radiation power of markers, thereby increasing the size of the tracking zone. At the same time, the energy consumption of the tracker itself remains unchanged.
  • An elementary pattern can be a linear pattern, which is identified by the marker data processing algorithm.
  • the linear pattern is characterized by a predetermined ratio of the distances between the markers.
  • the distance between the markers 40 and 41 is twice as large as the distance between the markers 41 and 42.
  • the ratio the distance between the markers may be different, provided that it is possible to reliably identify such an elementary pattern in the system.
  • the working area can be scaled by increasing the length of the marker strip 4 while maintaining the ratio of distances and providing a sufficient area of the luminous surface of the markers and the brightness of their glow. This makes it possible to significantly increase the working area while maintaining high tracking characteristics while maintaining the angular and brightness parameters of marker images in the frame of the optical sensor.
  • an elementary pattern can be a linear pattern with a large number of markers, for example, with four, five, etc. markers;
  • the elementary pattern can also be a nonlinear pattern, i.e. Markers may not be on the same line.
  • the system determines the presence in the frame of previously known elementary patterns and then determines the location of these patterns relative to each other. This makes it possible to design a combination of elementary patterns in such a way that, based on the map of elementary patterns constructed when setting up the tracking zone, the tracking system can uniquely determine the position of the tracker within the working area.
  • Such an approach can be used to build not only a simple working area in one room, but also a complex working area, including one distributed across several adjacent rooms.
  • marker strips may be on the floor, on the walls or on the ceiling. Combined options are also possible, for example, with marker strips on the walls and on the ceiling or on the floor and walls.
  • markers can be embedded in the floor, to walls or to the ceiling.
  • markers can be embedded in a collapsible floor, which is part of the exhibition installation kit. It is also possible to fix marker strips on racks, beams, consoles and other supporting structures, including collapsible and mobile ones.
  • the marker strips can be assembled from elements of elastic prefabricated floor coverings (puzzle floor mats) (Fig. 5), which are engaged with each other in the working position, which ensures high geometric accuracy of the construction of the working area, the stability of its shape and size and, accordingly, simplifies the preparation of the VR / AR system for work.
  • Markers can be installed at predetermined locations of such coating elements.
  • the predetermined installation locations of the markers can be holes of the corresponding shape into which the markers are mounted, and unused holes can be closed with plugs of the same material as the coating itself.
  • the power wires of the markers can be located under the coating and can be ribbon wires, which eliminates their manifestation in the form of irregularities on the working surface of the coating.
  • a floor-standing option may be preferable, in which the user can place marker strips on the floor, forming a figure close to a rectangle from them, and connect them to one or more
  • the installation time for such a system is usually no more than two minutes.
  • a wall or ceiling arrangement of marker strips may be preferred option with a wall or ceiling arrangement of marker strips (Fig. 7, the ceiling is not shown conventionally). It should be noted that with ceiling placement of marker strips, the size of the working area can significantly exceed the size of the figure bounded by marker strips, however, in this case you may need several additional markers located on the floor to determine the position of the floor plane relative to the marker strips, or use an additional system calibration procedure, for example, temporarily placing one or more trackers on the floor for the duration of the calibration.
  • the following describes the principles for detecting an optical pattern when determining a fixed (not requiring calibration) zone of optical tracking and during tracking of a moving object using the VR / AR system as an example and provides options for their practical implementation.
  • Tracking zone an area of space in which tracking of a moving object is provided.
  • the moving object may be a user or a part of the user's body, for example, the head, arm, leg, to which the tracker is attached.
  • a tracked moving object may also be an object held by a user, for example, in a hand.
  • the tracked moving object can be any other moving object, for example, a working body of a robotic system or a material handling vehicle in an internal logistics system.
  • Tracking of a moving object is carried out in the volume of the tracking zone.
  • the projection of this zone on the working (usually horizontal) surface for example, the surface of the floor or ceiling in the room, is divided into fragments - cells, which can have a different shape.
  • the square shape of the cells is preferred.
  • the cell size is determined depending on the technical implementation of the VR / AR system - the minimum and maximum size of the tracking zone, the required tracking accuracy, the type of markers, the type and size of elementary patterns formed by markers, etc.
  • the cell size may be equal to the element size of such a coating, for example, 60x60 cm.
  • a marker strip is 1.5 m long with three markers, as shown in FIG. 3, is placed in three cells, and, depending on the orientation of the elementary pattern, markers can have different relative positions on the plane (Fig. 8).
  • the orientation of the elementary pattern in FIG. 8 is conventionally shown by arrows on the marker strip.
  • the length of the marker strip can be greater or less than 1.5 m and it can be placed in more or less cells.
  • the marker strip corresponding to the elementary pattern can be located in two cells.
  • the surface is divided into cells, each of which has its own coordinates.
  • Cell coordinates can be set in various ways, for example, in Cartesian or polar coordinates.
  • the cells are numbered in a predetermined manner and the coordinates of each cell are uniquely determined by its number. An example of cell numbering is shown in FIG. 9. The position of each elementary pattern in such a coordinate grid
  • the conditional center of the elementary pattern is marked with a circle, and the arrow shows its conditional direction.
  • the direction of the elementary pattern may have a numerical designation (coding), as shown in FIG. 10.
  • FIG. 11 shows an example of the arrangement of elementary patterns in a tracking area of a square shape.
  • the tracking zone may have a shape other than square.
  • Pattern combinations that are not unique are discarded
  • FIG. 12A and FIG. 12B shows examples of a unique and non-unique combination of elementary patterns: shown in FIG. 12A, the combination of patterns is unique, and the one shown in FIG. 12B, the combination of patterns is not unique, since it has central symmetry and rotation of its image by 180 ° relative to the center of the image leads to
  • the size of the tracking zone may be larger than the size of the field of view of the tracker.
  • the tracker can receive an image not of the entire tracking area, but only of a certain part of it, while the tracker’s field of view at any time depends on its position and orientation.
  • the field of view of the tracker may be called the tracking window.
  • the tracker To determine the position and orientation According to the optical sensor, it is necessary for the tracker to have at least one “constellation” in the tracking window.
  • the result of this algorithm is a table containing records of all the "constellations" in the tracking zone. Each record contains the identifier (W) of the "constellation” and identifiers
  • the constellation ID contains the coordinates of each elementary pattern in the constellation, which are represented by the cell number at which the center of this elementary pattern is located, and the direction of the elementary pattern, represented by a rotation code, and the identifier of the elementary pattern is its serial number specified in the configuration of the tracking zone when marking it.
  • the structure ⁇ of the "constellation" may differ from that described above.
  • FIG. 13A, B The block diagram of the algorithm for identifying and registering "constellations" when setting up the tracking zone is shown in FIG. 13A, B.
  • a tracking zone is determined which will be used when the tracking system is operating.
  • the determination of the tracking zone can be carried out by performing its marking or by reading the finished marking from the memory of the tracking system.
  • the principles for marking the tracking area are described in earlier patent applications PCT / W2017 / 058068 and US 15844967 of the same applicant, all of which are incorporated herein by reference.
  • step S2 the size of the tracking window is selected based on the technical
  • optical sensor viewing angle, resolution, etc.
  • image processing speed in the tracking system maximum complexity
  • the size of the 4x4 cell tracking window in an exemplary embodiment of the invention is selected to facilitate understanding. In practice, the size of the tracking window depends on the physical dimensions of the tracking zone, the purpose of the VR / AR system, the number of users, etc. and can be, for example, 6x6 cells or 10x 10 cells. Moreover, the length of the ID "constellation" will be greater.
  • the tracking window is set to its initial position.
  • the position in the lower left corner of the tracking zone is selected as the initial one.
  • the starting point may be another convenient position.
  • step S3 all elementary patterns that completely fall into the tracking window are determined.
  • the ID of the “constellation” of the candidate is formed, which contains elementary patterns that fall into the tracking window.
  • step S5 the “constellation” of the candidate is checked for uniqueness, and if an identical ID of the “constellation” of the candidate already exists in the table, then the ID of such a “constellation” of the candidate and all of its child “constellations” of the candidates are marked as non-unique.
  • step S7 the tracking window is rotated by a predetermined angle, and in step S8, steps S2-S6 are repeated with respect to the rotated tracking window.
  • a rotation is required to verify the uniqueness of the "constellations" of candidates observed from different angles. In an exemplary embodiment of the invention, this rotation is performed 90 ° counterclockwise. Of course, this rotation can be performed at a different angle and / or clockwise.
  • step S9 the turn and steps S7, S8 are performed several times until the tracking area returns to the position before the start of the turn. In particular, when turning through 90 °, the turning and steps S7, S8 must be performed four times.
  • step S 10 the tracking window moves over the entire tracking zone and in step S11, IDs are generated for each position of the window
  • this movement is performed in two cells.
  • this movement can be performed with another step, for example, one or three cells.
  • this movement may have different vertical and horizontal steps.
  • the step of moving the tracking window vertically can be one cell
  • the step of moving the tracking window horizontally can be two cells, or vice versa.
  • step S12 the coverage of the entire tracking zone is checked and after the entire tracking zone was covered during the operation of the algorithm described above, all non-unique IDs of the “constellations” are deleted from the “constellations” table in step S13 - candidates. This completes the formation of the table of "constellations” and the work of the algorithm for registering "constellations” ends.
  • the task of automatically adjusting the tracking zone is solved before the start of the tracking system. Further, during the operation of the tracking system, the tracking of a moving object with which the tracker is physically connected is carried out using the results of this automatic setup.
  • step S21 the image from the optical sensor of the tracker is read and its preliminary processing is performed, the algorithm of which is described in more detail below with reference to FIG. twenty.
  • step S22 all elementary patterns are detected that are present in the image from the optical sensor of the tracker and completely fall into the tracking window.
  • the algorithm for detecting elementary patterns is described in more detail below with reference to FIG. 21.
  • step S23 the “constellation” ID identified in the tracking window is generated.
  • the “constellation” ID format and the method of its formation are generally similar to those described previously for the “constellation” registration algorithm.
  • step S24 the correspondence of the formed “constellation” to one of the unique combinations of elementary patterns recorded in the table is determined
  • step S25 based on the identified “constellations” from the table
  • steps S21-S25 are repeated.
  • the tracking system must detect at least one “constellation” in order to determine the position and orientation of the tracker and begin tracking the moving object.
  • the inability to detect one or more “constellations” in the next image from the optical sensor does not lead to a malfunction of the tracking system, since this system is able to determine the position and orientation of the tracker due to inertial tracking, i.e. on the basis of data obtained from inertial sensors for a time sufficient to obtain a new image from the optical sensor and resume optical tracking.
  • this system can determine the position and orientation of the tracker due to only inertial tracking, then based on the information about the configuration of the tracking zone, this system can determine the nominal position of individual markers (i.e. points or areas of space at which markers are most likely to be detected). In this case, tracking can be continued by identifying only individual markers and reconciling their actual
  • the frequency of data received from the optical sensor is approximately 60 frames per second, and the frequency of data received from the inertial sensor is approximately 2000 samples per second. In other embodiments of the invention, the frequency of receipt of data from the optical sensor can be increased to approximately 400 frames per second.
  • step S31 an image is read from the optical sensor.
  • FIG. sixteen An example of an image obtained from an optical sensor is shown in FIG. sixteen.
  • the dashed line conventionally shows the line connecting the emitters of one elementary pattern.
  • step S32 the compensation of geometric distortions caused by the optics and deviations from the nominal dimensions in the design of the optical sensor of the tracker is performed.
  • An example of an image after compensation for geometric distortions is shown in FIG. 17.
  • step S33 the image is projected onto the work plane after compensation.
  • Such projection of an image onto a plane is performed based on the direction of each marker (i.e., the geometric ray) in the coordinate system of the tracker in which this marker is detected, and the known upward direction, determined from the data of one or more inertial sensors.
  • projection of an image onto a work plane may not be required, in particular if the markers are already located on the work plane (for example, on a floor whose plane is accepted as the work plane).
  • the upward direction is determined by accelerometer data.
  • this direction can be determined by the data of another inertial sensor, for example, a gyroscope, or by the data of a group of homogeneous or heterogeneous inertial sensors, for example, an accelerometer and a gyroscope.
  • Methods for determining the desired direction according to inertial sensors are well known to specialists in this field of technology, therefore, their description is omitted for brevity.
  • the upward direction can be determined from other sensors, for example, an electric or magnetic field sensor.
  • the image projected onto the plane is the projection of the image received from the optical sensor onto the plane with respect to which the upward direction is normal, i.e. on the horizontal plane.
  • the horizontal plane is the floor plane of the room in which the VR / AR-3oHa is located.
  • the horizontal plane can be a different plane lying in the volume of the tracking zone, for example, the plane of the ceiling of the room with marker stripes on the ceiling. Images projected onto parallel horizontal planes are related by a relation of mathematical similarity and their information value is essentially the same.
  • step S34 the image is normalized, i.e. a grid is applied to this image, corresponding to dividing the tracking zone into cells, as described above, then this image is rotated so that the direction of each elementary linear pattern is essentially parallel to one of the directions of the grid, and is shifted so that the center of each elementary linear pattern turned out to be essentially in the center of any cell.
  • An example of the image of the tracking window after normalization is shown in FIG. 18, and in FIG. 19 for clarity, shows the position of elementary patterns relative to the grid. Methods of such image processing are well known to specialists in this field of technology, therefore, their description is omitted for brevity.
  • a tracking window is highlighted in the image, the size and location of which are similar to those described in step S 1 of the algorithm performed when setting up the tracking zone.
  • the algorithm for detecting elementary optical patterns the block diagram of which is shown in FIG. 21.
  • step S41 three points are arbitrarily selected in the tracking window
  • step S42 two reference points are determined from the selected three points.
  • the reference points may be, for example, the points farthest from each other. In another example, the reference points may be the points closest to each other.
  • step S43 the nominal position of the third point is determined for these two points, i.e. its position so that the entire triple of points corresponds to an elementary pattern.
  • step S44 the deviation d of the geometric position of the third point from its nominal position is determined.
  • FIG. 22 shows an example of the nominal and actual position of the third point located between the two most
  • step S45 a check of the deviation d is performed. If this deviation does not exceed a predetermined threshold value e, then in step S46 the triple of points is fixed as an elementary candidate pattern, and if this deviation exceeds a predetermined threshold value e, then in step S47 the triple of points is rejected, i.e. excluded from further consideration.
  • step S48 a check is made to see if all combinations of the three points are processed in steps S41-S47.
  • the list of elementary candidate patterns in step S49 is sorted by their value d, which is an indicator of the quality of elementary candidate patterns.
  • step S50 an elementary candidate pattern with a minimum value of d is selected, and in step S51, the presence of points in it is checked, already
  • step S52 such an elementary candidate pattern is moved to the list of valid elementary patterns, while the points included in this elementary pattern are marked as used. If at least one of its points is marked as used, then in step S53 such an elementary candidate pattern is rejected, i.e. excluded from further consideration.
  • step S54 steps S50-S53 are repeated with respect to the remaining elementary candidate patterns.
  • the algorithm for detecting elementary optical patterns described above can also be performed with respect to elementary optical patterns containing a different number of points, for example, four or five.
  • such an algorithm can divide the set of points of an elementary optical pattern into subsets of three points and, for each triple of points, perform the processing essentially as described above, and then aggregate the processing results, or such an algorithm can process the entire set of points at once to determine the values deviations di, d 2 , etc.
  • the result of the algorithm for detecting elementary optical patterns is a list of valid elementary patterns, further used in the algorithm for registering "constellations" and in the tracking algorithm described above.
  • the algorithm for detecting elementary optical patterns in steps S41-S54 is described with respect to a linear three-point elementary pattern.
  • the number of dots in an elementary pattern may differ from three and be, for example, four or five points.
  • the appearance of an elementary pattern may differ from a linear one, i.e. points of an elementary pattern may not lie on one straight line, but form a predetermined geometric figure.
  • the direction of each elementary linear pattern is chosen substantially parallel to one of the grid directions.
  • the linear patterns may be arranged differently, for example, in a sawtooth pattern as shown in FIG. 23. This arrangement of linear patterns avoids situations where the algorithm for detecting elementary patterns mistakenly takes the active marker of one linear pattern for the active marker of another (neighboring) linear pattern.
  • each process corresponding to steps S21-S25 and S41-S54 is performed independently on data from each tracker, i.e. multi-threaded data processing is implemented, while the number of streams is a multiple of the number of active trackers in the VR / AR system.
  • this method and / or system is fully applicable in any other field for solving problems related to determining the position and / or orientation and / or motion parameters of a moving object.
  • the technical solutions described above can be successfully applied to track the movements of goods and operators in warehouse, production or trade logistics systems, to track the movements of participants in the educational process in educational systems, to determine the position and orientation of the working bodies of robotic systems, to control manned or unmanned moving objects, including aircraft, and to solve a variety of tasks related to tracking moving objects In other systems, existing or those that will be developed in the future.
  • RETNE- Tag a high accuracy fiducial marker with strong occlusion resilience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Abstract

Изобретение относится к способу и системе трекинга подвижного объекта и может применяться в системах виртуальной или дополненной реальности, системах внутренней (складской, производственной, торговой) логистики, робототехнических системах, системах управления беспилотными подвижными объектами и других системах производственного, научного, учебного и иного назначения. Способ трекинга включает в себя шаг автоматической настройки зоны трекинга, на котором выявляют и регистрируют уникальные сочетания элементарных оптических паттернов, и шаг отслеживания изменения положения и/или ориентации подвижного объекта, на котором выявляют уникальные сочетания элементарных оптических паттернов и сопоставляют их с зарегистрированными при настройке зоны системы трекинга. Система трекинга подвижного объекта содержит, по меньшей мере, один трекер, размещенный на подвижном объекте и содержащий оптический датчик; по меньшей мере, одну маркерную полосу, содержащую активные маркеры, образующие элементарные оптические паттерны на изображении, полученном с оптического датчика; и центральное устройство обработки данных.

Description

СПОСОБ И СИСТЕМА ОБРАТНОГО ОПТИЧЕСКОГО ТРЕКИНГА ПОДВИЖНОГО
ОБЪЕКТА
Область техники
Изобретение относится к способу и системе трекинга подвижного объекта и может применяться в системах виртуальной или дополненной реальности, в системах внутренней логистики, в робототехнических системах, в системах управления
беспилотными подвижными объектами и в других системах производственного, научного, учебного и иного назначения.
Уровень техники
Отслеживание (трекинг) подвижного объекта применяется во многих системах - системах виртуальной реальности (VR, Virtual Reality) или дополненной реальности (AR, Augmented Reality), системах внутренней (например, складской, производственной или торговой) логистики, робототехнических системах, системах управления беспилотными подвижными объектами (например, транспортными средствами) и т.д. Далее основное внимание уделяется трекингу в системах VR/AR, тем не менее, основные принципы трекинга по существу сходны и в других упомянутых выше системах.
По конфигурации системы трекинга различают прямой трекинг, в котором датчик или несколько датчиков расположены в пространстве вне подвижного отслеживаемого объекта, а опорная точка или несколько опорных точек, используемых для отслеживания, находится на отслеживаемом объекте, и обратный трекинг, в котором датчик или несколько датчиков расположены на отслеживаемом объекте, а опорная точка или несколько опорных точек, используемых для отслеживания, находятся в пространстве вне подвижного отслеживаемого объекта.
По виду датчиков различают оптический трекинг, в котором использованы оптические датчики, например, камеры, работающие в видимом или инфракрасном диапазоне света, и инерциальный трекинг, в котором использованы инерциальные датчики, например, гироскопы и акселерометры. Кроме того, в системах трекинга применяются датчики магнитного поля (магнетометры), датчики высоты над уровнем моря (альтиметры) и некоторые другие виды датчиков.
Существуют также системы трекинга с использованием централизованных систем позиционирования - глобальных или локальных, спутникового или наземного
базирования. Кроме того, существуют безмаркерные системы трекинга, в том числе, основанные на методе одновременной локализации и построения карты (SLAM,
Simultaneous Localization and Mapping). Большинство систем трекинга, предназначенных для применения в игровых, развлекательных и обучающих системах VR/AR, представляют собой комбинированные системы. В частности, широкое распространение получили оптико-инерциальные системы трекинга, основанные на совместном применении оптических и инерциальных датчиков, дополняющих друг друга и компенсирующих недостатки друг друга.
Для систем обратного оптического и оптико-инерциального трекинга, в которых видео камера расположена на подвижном отслеживаемом объекте, а оптические
светоизлучающие или световозвращающие маркеры, представляющие собой опорные точки для оптического трекинга, неподвижно установлены заранее заданным образом на площадке или в помещении рабочей зоны, важно быстрое и точное определение зоны трекинга.
В случае фиксированной (заранее известной) зоны трекинга система трекинга должна обеспечивать быстрый выбор конфигурации зоны трекинга и загрузку ее параметров. В случае вариабельной зоны трекинга (если форма и размеры зоны трекинга заранее не известны) система трекинга должна обеспечивать возможность быстрой и точной настройки зоны трекинга. При этом весьма желательно, чтобы калибровка системы трекинга до начала ее работы не требовалась или была бы максимально автоматизирована.
Патентные заявки US2008285854A1, US2013106833 Al, US2017086941A1, WO2014199196A1, W02017050761 А1 дают общее представление об уровне техники в области систем трекинга.
В патентных заявках DE102015013551A1, ЕР1645241А1 (US2006082789A1), ЕР2339537А1, ETS2017168592A1 и патенте ETS6787750B1 раскрыто применение активных ИК-маркеров в системах трекинга. В патенте ETS6787750B 1 также раскрыто
автоматическое определение зоны трекинга.
В патентных заявках ETS2011079703 Al, US2017358139А1 описаны системы трекинга с использованием оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте.
В патентных заявках ЕР2012170А1, ETS2004080548A1 раскрыто применение активных ИК-маркеров в системах трекинга с использованием оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте.
В патентных заявках W02007102857A2, W02016102721 А1 раскрыто применение активных ИК-маркеров в системах трекинга с использованием оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте, и распознавание оптических паттернов, образованных неподвижными маркерами.
В патентной заявке WO2016187609A1 раскрыто распознавание оптических паттернов, образованных неподвижными маркерами, а в патентной заявке
W02013071981A1 раскрыто использование оптического датчика (камеры) и
инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте, и распознавание оптических паттернов, образованных неподвижными маркерами.
В непатентном документе [1] описано выявление линейного паттерна,
образованного четырьмя светоотражающими ИК-маркерами, и планарного паттерна с использованием двух камер (прямой трекинг).
В непатентном документе [2] описано выявление линейного паттерна,
образованного четырьмя светоотражающими ИК-маркерами, и плоского паттерна с использованием нескольких камер (прямой трекинг).
В непатентном документе [3] описано применение сложных контрастных планарных маркеров в системах VR на основе носимых электронных устройств общего назначения.
В непатентном документе [4] описано выявление различных паттернов (от одноточечного до объемного многоточечного), образованных светоотражающими ИК- маркерами, с использованием нескольких камер (прямой трекинг).
В непатентном документе [5] описан способ выявления и идентификации светоотражающих ИК-маркеров по облаку точек с использованием нескольких камер - point-cloud-based tracking method (прямой трекинг).
В непатентном документе [6] описано применение фильтров Калмана для выявления и идентификации светоотражающих ИК-маркеров с использованием
нескольких камер без выявления паттернов на изображении (прямой трекинг).
В непатентном документе [7] описано применение цветных светоотражающих маркеров для захвата движения (motion capture) с последующим формированием 3D- модели в ЗИ-анимации (прямой трекинг).
В непатентном документе [8] описано применение сложных контрастных планарных маркеров в системе обратного оптического трекинга.
В непатентном документе [9] описано применение линейных паттернов, образованных множеством светоизлучающих диодов, установленных на потолке, с использованием одной камеры (обратный трекинг), указано на возможность
масштабирования зоны трекинга. В непатентном документе [10] описано применение планарного паттерна с концентрическим расположением маркеров для оптического трекинга любого вида.
В непатентном документе [11] описано применение временной модуляции интенсивности излучения СИД-маркеров для оптического трекинга любого вида.
В непатентном документе [12] описано применение контроллера Wii для прямого трекинга пользователя беспроводных головных телефонов, оснащенных четырьмя светоизлучающими диодами, образующими прямоугольный планарный оптический паттерн, для создания реалистичной динамической звуковой картины.
Техническое решение согласно непатентному документу [9] представляется наиболее близким к данному изобретению по технической сути, в нем применены светодиодные линейки, установленные на потолке помещения равномерно по его площади. Линейки представляют собой повторяющиеся последовательности линейных паттернов на основе последовательности де Брёйна, преобразованной в циклический манчестерский код.
Тем не менее, авторам ни одного из вышеупомянутых патентных и непатентных документов не удалось решить задачу автоматической настройки зоны трекинга по совокупности однотипных оптических паттернов, образованных неподвижными активными ИК-маркерами, установленными заранее заданным образом на площадке или в помещении и ограничивающими рабочую зону, при обратном оптическом или оптико- инерциальном трекинге подвижного объекта с применением трекера, установленного на подвижном объекте и содержащего оптический датчик и (опционально) инерциальный датчик. Следует отметить, что такая задача в уровне техники до сих пор даже не ставилась.
В настоящее время на рынке не представлено систем трекинга, имеющих такую функцию и предназначенных для применения в системах виртуальной или дополненной реальности игрового, развлекательного или учебного назначения. Авторам данного изобретения также не известны системы трекинга, имеющие такую функцию и
предназначенные для применения в системах складской, производственной или торговой логистики, в робототехнических системах, для управления пилотируемыми или беспилотными подвижными объектами и т.д.
Раскрытие изобретения
Для любых систем, связанных с отслеживанием подвижных объектов, в особенности, для систем VR/AR, важно обеспечить быструю готовность системы к работе после ее включения, перезагрузки, изменения конфигурации или рабочего сценария. В случае фиксированной (заранее известной) зоны трекинга система трекинга должна обеспечивать быстрый выбор конфигурации зоны трекинга и загрузку ее параметров. В случае вариабельной зоны трекинга (если форма и размеры зоны трекинга заранее не известны) система трекинга должна обеспечивать возможность быстрой и точной настройки зоны трекинга. При этом весьма желательно, чтобы калибровка системы трекинга до начала ее работы не требовалась или была бы максимально автоматизирована.
Задача автоматической настройки зоны трекинга при обратном оптическом или оптико-инерциальном трекинге подвижного объекта с применением трекера,
установленного на подвижном объекте и содержащего оптический датчик и
(опционально) инерциальный датчик, решена с применением способа и системы трекинга подвижного объекта согласно изобретению.
Способ трекинга подвижного объекта включает в себя следующие шаги:
- шаг автоматической настройки зоны трекинга, на котором выявляют и регистрируют уникальные сочетания элементарных оптических паттернов;
- шаг отслеживания изменения положения и/или ориентации подвижного объекта, на котором выявляют уникальные сочетания элементарных оптических паттернов и сопоставляют их с элементарными оптическими паттернами,
зарегистрированными при настройке зоны трекинга.
Настройка зоны трекинга может включать в себя следующие шаги:
(51) определяют зону трекинга;
(52) определяют размер окна трекинга и устанавливают окно трекинга в начальное положение;
(53) определяют в окне трекинга элементарные оптические паттерны,
образованные маркерами;
(54) формируют ID «созвездия»-кандидата;
(55) проверяют уникальность каждого «созвездия»-кандидата и маркируют Ш неуникального «созвездия»-кандидата;
(56) записывают ID «созвездия»-кандидата в таблицу «созвездий»;
(57) поворачивают окно трекинга на заранее заданный угол;
(58) выполняют шаги S2-S6 для повернутого окна трекинга;
(59) проверяют, выполнено ли требуемое количество поворотов окна трекинга, и при необходимости повторяют шаги S7, S8;
(S10) перемещают окно трекинга с заранее заданным шагом;
(Sl 1) выполняют шаги S2-S9 для перемещенного окна трекинга;
(S12) проверяют, покрыта ли вся зона трекинга и при необходимости повторяют шаги S10, S11; (S13) удаляют неуникальные ID «созвездий»-кандидатов из таблицы «созвездий».
Шаги S4, S5, S6 и S13 могут выполняться в отношении каждого Ш «созвездия»- кандидата и ID каждого из его дочерних «созвездий»-кандидатов. До выполнения шага S2 возможно разделение проекции зоны трекинга на ячейки и размер окна трекинга на шаге S2 может выражаться в количестве таких ячеек.
Отслеживание изменения положения и/или ориентации подвижного объекта может включать в себя следующие шаги:
(521) считывают изображение с оптического датчика, расположенного на подвижном объекте, и выполняют его предварительную обработку;
(522) выявляют в окне трекинга элементарные оптические паттерны,
образованные маркерами;
(523) формируют Ш «созвездия»;
(524) идентифицируют сформированный ID «созвездия» по таблице «созвездий»;
(525) определяют положение и ориентацию подвижного объекта на основе «созвездия», идентифицированного на шаге S24.
Шаг S21 может включать в себя следующие шаги:
(531) считывают изображение с оптического датчика;
(532) выполняют компенсацию геометрических искажений считанного
изображения;
(533) опционально проецируют изображение на рабочую плоскость;
(534) нормируют изображение;
(S35) выделяют окно трекинга на изображении.
Шаг S22 может включать в себя следующие шаги:
(541) в окне трекинга произвольно выбирают три точки, соответствующие маркерам;
(542) из выбранных трех точек определяют две опорные точки;
(543) для опорных точек определяют номинальное положение третьей точки в соответствии с элементарным оптическим паттерном;
(544) определяют отклонение d геометрического положения третьей точки от ее номинального положения;
(545) выполняют проверку величины d; если величина d не превышает заранее заданного порогового значения, то (S46) тройку точек вносят в список элементарных оптических паттернов-кандидатов, а если величина d превышает заранее заданное пороговое значение, то (S47) тройку точек отбраковывают; (548) выполняют проверку того, все ли сочетания трех точек обработаны и при необходимости повторяют шаги S41-S47;
(549) сортируют список элементарных оптических паттернов-кандидатов по величине d;
(550) из списка элементарных паттернов-кандидатов выбирают элементарный оптический паттерн-кандидат с минимальной величиной d;
(551) выполняют проверку наличия в элементарном оптическом паттерне- кандидате использованных точек; если в нем обнаружена, по меньшей мере, одна использованная точка, (S52) такой элементарный оптический паттерн-кандидат отбраковывают, если использованных точек не обнаружено, (S53) его перемещают в список действительных элементарных оптических паттернов, при этом точки, входящие в этот элементарный оптический паттерн, помечают как использованные;
(S54) выполняют шаги S50-S53 в отношении оставшихся элементарных оптических паттернов-кандидатов.
Система трекинга подвижного объекта содержит:
- по меньшей мере, один трекер, размещенный на подвижном объекте (например, на пользователе системы VR/AR) и содержащий оптический датчик;
- по меньшей мере, одну маркерную полосу, содержащую активные маркеры, образующие элементарные оптические паттерны на изображении, полученном с оптического датчика;
- центральное устройство обработки данных, частично выполняющее способ трекинга подвижного объекта, охарактеризованный в любом из пи. 1-7.
Оптический датчик может представлять собой матричный оптический датчик. По меньшей мере, часть маркерных полос может быть расположена на полу или ином основании. Маркерные полосы могут быть интегрированы с упругим сборным покрытием для пола. По меньшей мере, часть маркерных полос может быть расположена на потолке, стенах, балках, мачтах или иным образом закреплена в зоне трекинга над полом или иным основанием.
Активные маркеры могут представлять собой маркеры, излучающие свет в инфракрасном диапазоне. Элементарный оптический паттерн может представлять собой линейный или нелинейный элементарный оптический паттерн. Трекер может содержать устройство обработки данных, частично выполняющее способ трекинга подвижного объекта, описанный выше.
Трекер и центральное устройство обработки данных могут быть связаны беспроводным каналом передачи данных, предназначенным для передачи данных настройки при выполнении шага автоматической настройки зоны трекинга и данных о положении и/или ориентации трекера при выполнении шага отслеживания в способе трекинга подвижного объекта, описанном выше.
Эта система может быть выполнена с возможностью автоматической настройки зоны трекинга путем выявления и регистрации уникальных сочетаний элементарных оптических паттернов описанным выше способом. Эта система также может быть выполнена с возможностью отслеживания изменения положения и/или ориентации подвижного объекта путем выявления уникальных сочетаний элементарных оптических паттернов и сопоставления их с элементарными оптическими паттернами,
зарегистрированными при настройке зоны трекинга, описанным выше способом.
Краткое описание чертежей
На фиг. 1 показан пример реализации системы VR/AR в соответствии с изобретением.
На фиг. 2 представлена структурная схема трекера.
На фиг. 3 показан пример маркерной полосы в развернутом виде.
На фиг. 4 показан пример маркерной полосы в свернутом виде.
На фиг. 5 показан пример установки маркеров с использованием элементов упругих сборных покрытий для пола (puzzle floor mats).
На фиг. 6 показан пример расположения маркерных полос на полу.
На фиг. 7 показан пример монтажа маркерных полос на потолке.
На фиг. 8 показано размещение маркерной полосы в упругом сборном покрытии для пола, каждый элемент которого соответствует ячейке зоны трекинга.
На фиг. 9 показан пример нумерации ячеек зоны трекинга.
На фиг. 10 показан элементарный оптический паттерн, образованный маркерной полосой, при этом окружностью отмечен его условный центр, а стрелкой показано его условное направление, которое может иметь числовое обозначение (кодировку 0, 1, 2, 3).
На фиг. 11 показан пример расположения элементарных оптических паттернов в зоне трекинга квадратной формы.
На фиг. 12А показан пример уникального сочетания элементарных оптических паттернов.
На фиг. 12Б показан пример неуникального сочетания элементарных оптических паттернов.
На фиг. 13 А, Б представлена блок-схема алгоритма регистрации уникальных сочетаний элементарных оптических паттернов («созвездий»). На фиг. 14 показан пример затенения маркеров в многопользовательской системе
VR/AR.
На фиг. 15 представлена блок-схема алгоритма отслеживания.
На фиг. 16 показан пример изображения, полученного с оптического датчика.
На фиг. 17 показан пример изображения с фиг. 16 после компенсации
геометрических искажений и проецирования на рабочую плоскость.
На фиг. 18 показан пример изображения с фиг. 17 после нормирования.
На фиг. 19 показан пример изображения с фиг. 18, в котором для наглядности показано положение элементарных оптических паттернов относительно сетки.
На фиг. 20 представлена блок-схема алгоритма считывания и предварительной обработки изображения с оптического датчика.
На фиг. 21 представлена блок-схема алгоритма выявления элементарных оптических паттернов на изображении с оптического датчика.
На фиг. 22 показан пример номинального и фактического положения третьей точки элементарного оптического паттерна.
На фиг. 23 показан пример неколлинеарного расположения элементарных оптических паттернов.
Осуществление изобретения
В системах VR/AR зона трекинга может подвергаться изменениям, в частности, форма и размеры зоны трекинга могут меняться при эксплуатации системы в связи с ее переносом на другую площадку или в другое помещение, с изменением количества пользователей или со сценарием, реализованном в системе VR/AR. Изменение формы и размера зоны трекинга требует перенастройки системы трекинга. В мобильных системах VR/AR настройка системы трекинга требуется каждый раз при развертывании системы. В системе трекинга согласно данному изобретению решена задача автоматической настройки зоны трекинга, повышена точность и надежность трекинга, в том числе, в многопользовательском режиме.
В системе обратного оптико-инерциального трекинга устройство,
обеспечивающее трекинг (трекер) расположено на подвижном объекте отслеживания, а источники света (активные маркеры), образующие характерные сочетания на
фиксируемом трекером изображении (оптические паттерны), неподвижны и расположены в пространстве рабочей зоны системы VR/AR. Система VR/AR может содержать один или несколько трекеров, при этом каждый трекер позволяет определять положение и ориентацию соответствующего подвижного объекта (или его части) независимо от других трекеров. На фиг. 1 показан пример реализации системы 1 VR/AR, содержащей головной дисплей 5 в виде шлема или очков, трекер 10, размещенный на головном дисплее 5, центральное устройство 6 обработки данных (хост), также размещенное на головном дисплее 5, трекер 20, трекер 30, и маркерную полосу 4, содержащую активные маркеры 40, 41, 42. Головной дисплей 5 обеспечивает демонстрацию пользователю 7 изображения, формируемого системой 1 на основе данных трекинга, полученных от трекеров 10, 20, 30. Изображение, демонстрируемое пользователю, может быть ЗИ-изображением виртуальной реальности или 3 D-изображением дополненной реальности. Данные трекинга,
формируемые трекерами 10, 20, 30, содержат данные о местоположении трекеров и, следовательно, соответствующих частей тела пользователя 7, об их ориентации в пространстве, и (опционально) о параметрах их движения - направлении, скорости и ускорении.
Трекер 10 (фиг. 2) содержит оптический датчик 101 и один или несколько инерциальных датчиков 102. Для обработки данных трекинга трекер 10 содержит устройство 103 обработки данных. Устройство 103 обработки данных обеспечивает синхронизацию всех датчиков, получение данных с оптического датчика и с одного или нескольких инерциальных датчиков и обработку данных с оптического датчика для получения информации о маркерах, содержащихся в кадре, и определения положения и ориентации трекера. Трекер 10 также содержит источник 104 питания, устройство 105 связи, запоминающее устройство 106 и другие части, необходимые для его
функционирования в составе системы 1 VR/AR. Трекер 10 связан с центральным устройством 6 обработки данных каналом беспроводной связи, примерами которого являются каналы WiFi, Bluetooth и т.д., для передачи данных настройки и данных трекинга.
Трекер 20 и трекер 30 могут быть идентичными трекеру 10 или могут иметь отличия, связанные с иным характером движения соответствующих им частей тела пользователя. В частности, трекеры 20, 30, соединенные с игровыми контроллерами в руках пользователя, могут быть способны отслеживать более быстрые и резкие движения, чем трекер 10, расположенный на голове пользователя. Тем не менее, общий принцип работы системы трекинга при этом остается по существу неизменным. Подробно различные варианты трекеров описаны в патентных заявках PCT/IB2017/058068 и
US 15844967 этого же заявителя, все содержание которых включено в данный документ посредством ссылки. Конструкция оптического датчика, пригодного для применения в данном изобретении, описана в патентных заявках PCT/RU2014/001019 и US15540313 этого же заявителя, все содержание которых также включено в данный документ посредством ссылки.
Маркерная полоса 4 (фиг. 3) содержит основание, представляющее собой узкую гибкую полосу из полимерного материала с гибкими проводниками, обеспечивающими подачу питания к активным маркерам 40, 41, 42. Материал основания может быть тканым или нетканым. Гибкость основания и проводников обеспечивает компактность маркерной полосы в свернутом виде при хранении и транспортировке (фиг. 4), при этом конструкция основания обеспечивает ее достаточную жесткость в поперечном направлении (в плоскости ее установки) и постоянство расстояния между маркерами, что необходимо для обеспечения геометрической стабильности оптического паттерна. Проводники могут быть металлическими, металлизированными, оксидными, композитными, выполненными по толстопленочной или тонкопленочной технологии, обеспечивающими подачу безопасного напряжения при мощности потребления величиной в несколько ватт. Активные маркеры
40, 41 , 42 могут прикрепляться к основанию любым подходящим способом,
обеспечивающим надежное крепление в заранее заданных местах и подвод напряжения питания. В иллюстративном варианте осуществления изобретения использованы ленточные металлические проводники, а активные маркеры 40, 41 , 42 крепятся к основанию с помощью магнитных разъемов, обеспечивающих быстрый монтаж маркеров на основание и демонтаж с него, при этом легкость демонтажа маркеров предохраняет маркерную полосу 4 от разрушения в случае непреднамеренного физического контакта пользователя с маркерами. Питание на маркеры 40, 41, 42 подается с источника 45 питания через кабель 44 и электрический соединитель 43.
В иллюстративном варианте осуществления изобретения активные маркеры 40,
41, 42 представляют собой светоизлучающие ИК-маркеры. В других вариантах
осуществления изобретения активные маркеры 40, 41, 42 могут работать в других частотных диапазонах, например, в диапазоне видимого света.
Источник 45 питания может быть любым сетевым или автономным источником питания, обеспечивающим необходимое безопасное напряжение (например, 5, 6, 12, 24, 36 или 48 В) постоянного или переменного тока. Например, в качестве автономного источника питания возможно использование аккумулятора типа PowerBank напряжением 5 В или 12 В постоянного тока, используемого для питания/заряда мобильных устройств, или аккумулятора типа Booster напряжением 12,6 В постоянного тока, предназначенного для облегчения запуска автомобильных двигателей при недостаточном заряде основного аккумулятора. При использовании в системе 1 нескольких маркерных полос 4 питание может осуществляться централизованно, от одного общего источника питания, или же питание может быть распределенным, когда каждая маркерная полоса 4 питается от отдельного источника питания. Централизованное питание может быть предпочтительным в стационарных коммерческих системах VR/AR, особенно, если маркерные полосы 4 встроены в пол или расположены на стенах либо на потолке помещения. Распределенное питание может быть предпочтительным в мобильных любительских системах VR/AR, в частности, пригодных для использования вне помещений.
Кабель 44 и электрический соединитель 43 могут быть любого подходящего типа. Их выбор представляет собой тривиальную задачу для специалиста, поэтому их описание опущено.
Каждый из активных маркеров 40, 41 , 42 представляет собой светодиодный излучатель в ИК -диапазоне с диаграммой направленности, близкой к полусферической. Требуемая диаграмма направленности обеспечивается расположением и ориентацией одного или нескольких кристаллов светодиодов, а также рассеивателем, например, выполненным на основе линзы Френеля. Маркер может содержать драйвер,
обеспечивающий работоспособность светодиодного излучателя в широком диапазоне напряжений питания.
Комбинация активных маркеров 40, 41 , 42, расположенных заранее заданным образом, образует элементарный оптический паттерн (далее для краткости может называться элементарным паттерном), наличие и расположение которого в пространстве определяется хостом 6 на основе данных о маркерах, присутствующих в потоке данных с трекера 10. Использование активных (светоизлучающих) маркеров определяется принципом обратного трекинга и обеспечивает ряд преимуществ по сравнению с использованием пассивных (светоотражающих) маркеров. В частности, при применении активных маркеров не требуется дополнительного питания трекера для обеспечения подсветки пассивных маркеров, что особенно важно, когда трекер размещен на подвижном объекте. Максимальный размер зоны трекинга связан с размером и яркостью маркеров. Питание активных маркеров от сетевых или автономных источников питания позволяет многократно увеличивать мощность излучения маркеров, тем самым увеличивая размер зоны трекинга. При этом энергопотребление самого трекера остается неизменным.
Элементарный паттерн может быть линейным паттерном, который выявляется алгоритмом обработки данных о маркерах. Линейный паттерн характеризуется заранее заданным соотношением расстояний между маркерами. В частности, в варианте осуществления изобретения с 3 маркерами, лежащими на одной линии в
последовательности 40-41-42, как показано на фиг. 3, расстояние между маркерами 40 и 41 вдвое больше, чем расстояние между маркерами 41 и 42. Разумеется, что соотношение расстояний между маркерами может быть иным при условии сохранения возможности надежной идентификации такого элементарного паттерна в системе.
Рабочую зону можно масштабировать, увеличивая длину маркерной полосы 4 с сохранением соотношения расстояний и обеспечивая достаточную площадь светящейся поверхности маркеров и яркость их свечения. Это дает возможность существенного увеличения рабочей зоны с сохранением высоких характеристик отслеживания при условии сохранения угловых и яркостных параметров изображений маркеров в кадре оптического датчика.
Разумеется, что элементарный паттерн может быть линейным паттерном с большим количеством маркеров, например, с четырьмя, пятью и т.д. маркерами;
элементарный паттерн также может быть нелинейным паттерном, т.е. маркеры могут быть расположены не на одной линии.
Помимо описанного выше способа увеличения рабочей зоны, существует возможность практически бесконечного масштабирования рабочей зоны за счет
добавления дополнительных маркерных полос. В этом случае в картину трекинга добавляются не комбинации отдельных маркеров, а комбинации элементарных паттернов. Таким образом, система определяет наличие в кадре заранее известных элементарных паттернов и затем определяет расположение этих паттернов друг относительно друга. Это дает возможность спроектировать комбинацию элементарных паттернов таким образом, чтобы на основе карты элементарных паттернов, построенной при настройке зоны трекинга, система трекинга могла однозначно определить положение трекера в пределах рабочей зоны. Такой подход возможно использовать для построения не только рабочей зоны простой формы в одном помещении, но и рабочей зоны сложной формы, в том числе, распределенной по нескольким смежным помещениям.
Таким образом, одним из преимуществ изобретения является простое
масштабирование зоны трекинга за счет добавления новых маркерных полос и
автоматическая настройка зоны трекинга после такого масштабирования. В системах прямого оптического трекинга с маркерами на подвижном объекте для расширения зоны трекинга требуется добавление дополнительных камер, что, в большинстве случаев, технически сложно и дорого. В заявленной системе стоимость маркерных полос невелика и трудоемкость их монтажа незначительна.
В зависимости от сценария, маркерные полосы могут находиться на полу, на стенах или на потолке. Возможны также комбинированные варианты, например, с расположением маркерных полос на стенах и на потолке или на полу и на стенах. В стационарных вариантах осуществления изобретения маркеры могут быть встроены в пол, в стены или в потолок. В передвижных вариантах осуществления изобретения, например, в выставочных образцах, маркеры могут быть встроены в разборный пол, являющийся частью выставочного инсталляционного комплекта. Возможен также вариант закрепления маркерных полос на стойках, балках, консолях и иных несущих конструкциях, в том числе, разборных и передвижных.
В качестве альтернативы, и в стационарных, и в передвижных вариантах осуществления изобретения маркерные полосы могут быть собраны из элементов упругих сборных покрытий для пола (puzzle floor mats) (фиг. 5), которые в рабочем положении находятся в зацеплении друг с другом, что обеспечивает высокую геометрическую точность построения рабочей зоны, стабильность ее формы и размеров и, соответственно, упрощает подготовку системы VR/AR к работе. Маркеры могут быть установлены в заранее заданных местах таких элементов покрытий. Заранее заданные места установки маркеров могут представлять собой отверстия соответствующей формы, в которые устанавливаются маркеры, а неиспользуемые отверстия могут закрываться заглушками из того же материала, что и само покрытие. Провода питания маркеров могут располагаться под покрытием и могут быть ленточными проводами, что исключает их проявление в виде неровностей на рабочей поверхности покрытия. Возможно также совместное применение маркерных полос, показанных на фиг. 3, со сборными покрытиями для пола.
Для любительского использования, когда важными факторами являются легкость монтажа и простота применения, предпочтительным может быть напольный вариант, в котором пользователь может расположить маркерные полосы по полу, образовав из них фигуру, близкую к прямоугольнику, и подключить их к одному или нескольким
источникам питания (фиг. 6). Время инсталляции подобной системы обычно составляет не более двух минут.
Для коммерческого использования, в частности для VR-парков, может быть важно расположить ленты с маркерами вне досягаемости пользователей, чтобы они своими действиями не могли изменить характеристики рабочей зоны, определенные при инициализации системы и/или заданные в параметрах настройки системы. Кроме того, коммерческие системы VR/AR часто бывают многопользовательскими и при выборе расположения маркерных полос целесообразно учитывать возможность экранирования маркеров пользователями при их перемещении по рабочей зоне. В этом случае
предпочтительным может быть вариант с настенным или потолочным расположением маркерных полос (фиг. 7, потолок условно не показан). Следует отметить, что при потолочном размещении маркерных полос размер рабочей зоны может существенно превышать размер фигуры, ограниченной маркерными полосами, однако в этом случае может потребоваться несколько дополнительных маркеров, расположенных на полу, для определения положения плоскости пола относительно маркерных полос, либо применение дополнительной процедуры калибровки системы, например, с временным размещением одного или нескольких трекеров на полу на время калибровки.
Далее описаны принципы выявления оптического паттерна при определении фиксированной (не требующей калибровки) зоны оптического трекинга и в ходе трекинга подвижного объекта на примере системы VR/AR и приведены варианты их практической реализации.
Зона трекинга - область пространства, в которой обеспечивается отслеживание подвижного объекта. Согласно изобретению, в системе VR/AR отслеживаемым
подвижным объектом может быть пользователь или часть тела пользователя, например, голова, рука, нога, к которым прикреплен трекер. Отслеживаемым подвижным объектом также может быть предмет, удерживаемый пользователем, например, в руке. Тем не менее, отслеживаемым подвижным объектом может быть любой другой подвижный объект, например, рабочий орган робототехнической системы или погрузочно-транспортное средство в системе внутренней логистики.
Отслеживание подвижного объекта выполняется в объеме зоны трекинга. Для автоматического определения зоны трекинга проекция этой зоны на рабочую (обычно горизонтальную) поверхность, например, поверхность пола или потолка в помещении, разделена на фрагменты - ячейки, которые могут иметь различную форму. При
использовании ортогональной системы координат предпочтительной является квадратная форма ячеек. Размер ячейки определяется в зависимости от технической реализации системы VR/AR - минимального и максимального размера зоны трекинга, требуемой точности трекинга, вида маркеров, вида и размера элементарных паттернов, образуемых маркерами, и т.д. В частности, при использовании сборного покрытия для пола (фиг. 5) размер ячейки может быть равен размеру элемента такого покрытия, например, 60x60 см. В этом случае маркерная полоса длиной 1,5 м с тремя маркерами, как показано на фиг. 3, размещается в трех ячейках, причем, в зависимости от ориентации элементарного паттерна, маркеры могут иметь различное взаимное положение на плоскости (фиг. 8). Ориентация элементарного паттерна на фиг. 8 условно показана стрелками на маркерной полосе. Разумеется, что длина маркерной полосы может быть большей или меньшей 1,5 м и она может размещаться в большем или меньшем количестве ячеек. Например, при большей плотности маркеров маркерная полоса, соответствующая элементарному паттерну, может располагаться в двух ячейках. Таким образом, поверхность разделена на ячейки, каждая из которых имеет свои координаты. Координаты ячейки могут быть заданы различными способами, например, в декартовых или полярных координатах. В иллюстративном варианте осуществления изобретения ячейки пронумерованы заранее заданным образом и координаты каждой ячейки однозначно определяются ее номером. Пример нумерации ячеек представлен на фиг. 9. Положение каждого элементарного паттерна в такой координатной сетке
определено номером ячейки, содержащей центр элементарного паттерна и направлением этого паттерна. На фиг. 10 окружностью отмечен условный центр элементарного паттерна, а стрелкой показано его условное направление. Направление элементарного паттерна может иметь числовое обозначение (кодировку), как показано на фиг. 10. На фиг. 11 показан пример расположения элементарных паттернов в зоне трекинга квадратной формы. Разумеется, что зона трекинга может иметь форму, отличную от квадратной.
Элементарные паттерны образуют уникальные сочетания, условно именуемые далее «созвездиями». В системе VR/AR положение и ориентация трекера в пространстве определяется по «созвездиям», подобно морской, воздушной или сухопутной навигации по звездному небу. Иными словами, выявив на изображении, полученном с оптического датчика трекера в пределах зоны трекинга, уникальные сочетания элементарных паттернов, система VR/AR способна однозначно определить положение и ориентацию трекера. Поэтому столь важна задача выявления и регистрации «созвездий» на этапе настройки зоны оптического трекинга перед началом работы системы VR/AR.
Сочетания паттернов, не являющиеся уникальными, отбраковываются
алгоритмом регистрации «созвездий». На фиг. 12А и фиг. 12Б показаны примеры уникального и неуникального сочетания элементарных паттернов: представленное на фиг. 12А сочетание паттернов является уникальным, а представленное на фиг. 12Б сочетание паттернов является неуникальным, поскольку оно обладает центральной симметрией и поворот его изображения на 180° относительно центра изображения приводит к
получению идентичного изображения, технически неотличимого от первоначального, поэтому сочетание элементарных паттернов на фиг. 12Б не может быть использовано для определения положения и ориентации трекера и связанного с ним подвижного объекта.
Следует отметить, что в общем случае размер зоны трекинга может быть больше размера зоны обзора трекера. Это означает, что трекер может получать изображение не всей зоны трекинга, а лишь некоторой ее части, при этом зона обзора трекера в каждый момент времени зависит от его положения и ориентации. В дальнейшем зона обзора трекера может называться окном трекинга. Для определения положения и ориентации трекера по данным оптического датчика необходимо, чтобы в окно трекинга попало, по меньшей мере, одно «созвездие».
Далее описана последовательность действий алгоритма регистрации «созвездий», выполняемого при настройке зоны трекинга, в частности, при инициализации системы VR/AR после ее включения или после перезагрузки, в связи с изменением ее
конфигурации или в связи с изменением рабочего сценария. Результатом работы этого алгоритма является таблица, содержащая записи обо всех «созвездиях» в зоне трекинга. Каждая запись содержит идентификатор (Ш) «созвездия» и идентификаторы
элементарных паттернов, составляющих это «созвездие». В иллюстративном варианте осуществления изобретения ID «созвездия» содержит координаты каждого элементарного паттерна в составе «созвездия», которые представлены номером ячейки, в которой находится центр этого элементарного паттерна, и направление элементарного паттерна, представленное кодом поворота, а идентификатором элементарного паттерна является его порядковый номер, заданный в конфигурации зоны трекинга при ее разметке. Разумеется, что структура Ш «созвездия» может отличаться от описанной выше.
Блок-схема алгоритма выявления и регистрации «созвездий» при настройке зоны трекинга представлена на фиг. 13А, Б.
На шаге S 1 определяется зона трекинга, которая будет использована при работе системы трекинга. Определение зоны трекинга может выполняться путем выполнения ее разметки или путем считывания готовой разметки из памяти системы трекинга. Принципы разметки зоны трекинга описаны в более ранних патентных заявках РСТ/Ш2017/058068 и US 15844967 этого же заявителя, все содержание которых включено в настоящую заявку посредством ссылки.
На шаге S2 выбирается размер окна трекинга, исходя из технических
характеристик оптического датчика (угла обзора, разрешающей способности и т.д.), скорости обработки изображения в системе трекинга и максимальной сложности
«созвездия» (максимального количества элементарных паттернов в составе одного
«созвездия»), с учетом разделения зоны трекинга на ячейки.
В иллюстративном варианте осуществления изобретения окно трекинга принято равным квадрату размером 4x4 ячейки (на фиг. 9 окно трекинга выделено жирной линией) и для каждого элементарного паттерна возможно 4x4=16 вариантов положения центра паттерна (требует 4 бита) и четыре варианта поворота с шагом 90° (требует 2 бита). Если максимальную сложность «созвездия» ограничить 8 элементарными паттернами, то длина ID «созвездия» составит 8х(4+2)=48 битов. Разумеется, что размер окна трекинга 4x4 ячейки в иллюстративном варианте осуществления изобретения выбран для упрощения понимания. На практике размер окна трекинга зависит от физических размеров зоны трекинга, назначения системы VR/AR, количества пользователей и т.д. и может составлять, например, 6x6 ячеек или 10x 10 ячеек. При этом и длина ID «созвездия» окажется большей.
Например, если окно трекинга принять равным квадрату размером 6x6 ячеек, то для каждого элементарного паттерна возможно 6x6=36 вариантов положения центра паттерна (требует 6 битов) и четыре варианта поворота с шагом 90° (требует 2 бита). Если при этом максимальную сложность «созвездия» ограничить 8 элементарными паттернами, то длина ID «созвездия» составит 8х(6+2)=64 бита, а если максимальную сложность «созвездия» ограничить 16 элементарными паттернами, то длина Ш «созвездия» составит 16х(6+2)=128 битов.
Уменьшение максимальной сложности «созвездия» и уменьшение размера окна трекинга позволяет ускорить обработку данных и, следовательно, уменьшить общую задержку реагирования системы VR/AR на действия пользователя. В то же время, увеличение максимальной сложности «созвездия» позволяет увеличить надежность трекинга, особенно при затенении маркеров пользователями в многопользовательской системе VR/AR. Таким образом, выбор размера окна трекинга и максимальной сложности «созвездия» представляет собой компромиссное решение с учетом всех параметров системы VR/AR.
Затем окно трекинга устанавливается в начальное положение. В иллюстративном варианте осуществления изобретения в качестве начального выбрано положение в левом нижнем углу зоны трекинга. Разумеется, что начальным может быть другое удобное положение.
На шаге S3 определяются все элементарные паттерны, полностью попавшие в окно трекинга.
На шаге S4 формируется ID «созвездия»-кандидата, содержащего элементарные паттерны, попавшие в окно трекинга.
При этом в ходе работы алгоритма отслеживания, описанного далее, возможна ситуация, когда на изображении с оптического датчика трекера присутствуют не все элементарные паттерны, попавшие в окно трекинга. Это может быть вызвано, например, затенением маркеров руками или игровым инвентарем пользователя, с которым связан данный трекер, или другими пользователями в многопользовательской системе VR/AR (см. фиг. 14). В частности, если в окно трекинга попали четыре элементарных паттерна, на изображении с оптического датчика трекера могут быть выявлены только три или только два из них. Поэтому для такого ID «созвездия»-кандидата, в общем случае, содержащего N элементарных паттерна, при настройке зоны трекинга формируются также Ш всех его дочерних «созвездий»-кандидатов, содержащих по N-l, N-2, N-3, ... элементарных паттернов.
В итоговую таблицу «созвездий» должны попасть только уникальные сочетания элементарных паттернов. Если сочетание элементарных паттернов не является
уникальным, оно не может быть использовано для определения положения и ориентации трекера и связанного с ним подвижного объекта.
Поэтому на шаге S5 «созвездие»-кандидат проверяется на уникальность и если в таблице уже существует идентичный ID «созвездия»-кандидата, то ID такого «созвездия»- кандидата и Ш всех его дочерних «созвездий»-кандидатов помечаются как неуникальные.
После формирования ID «созвездий»-кандидатов для текущего окна трекинга они записываются в таблицу «созвездий» на шаге S6.
Затем на шаге S7 окно трекинга поворачивается на заранее заданный угол и на шаге S8 шаги S2-S6 повторяются в отношении повернутого окна трекинга. Поворот требуется для проверки уникальности «созвездий»-кандидатов, наблюдаемых с разных ракурсов. В иллюстративном варианте осуществления изобретения этот поворот выполняется на 90° против часовой стрелки. Разумеется, что этот поворот может выполняться на другой угол и/или по часовой стрелке. На шаге S9 поворот и шаги S7, S8 выполняются несколько раз, пока зона трекинга не вернется в положение до начала поворота. В частности, при повороте на 90° поворот и шаги S7, S8 необходимо выполнить четыре раза.
В дальнейшем при работе алгоритма на шаге S 10 окно трекинга перемещается по всей зоне трекинга и на шаге S11 для каждого положения окна формируются ID
«созвездий», полностью попадающих в это окно, как описано выше для шагов S2-S9. В иллюстративном варианте осуществления изобретения это перемещение выполняется на две ячейки. Разумеется, что это перемещение может выполняться с другим шагом, например, на одну или три ячейки. В некоторых вариантах осуществления изобретения это перемещение может иметь различный шаг по вертикали и по горизонтали. Например, шаг перемещения окна трекинга по вертикали может составлять одну ячейку, а шаг перемещения окна трекинга по горизонтали может составлять две ячейки или наоборот.
Далее на шаге S12 выполняется проверка покрытия всей зоны трекинга и после того, как при работе описанного выше алгоритма была покрыта вся зона трекинга, из таблицы «созвездий» на шаге S13 удаляются все неуникальные ID «созвездий»- кандидатов. На этом формирование таблицы «созвездий» заканчивается и работа алгоритма регистрации «созвездий» завершается.
Описанным выше образом решается задача автоматической настройки зоны трекинга перед началом работы системы трекинга. Далее в ходе работы системы трекинга осуществляется отслеживание подвижного объекта, с которым физически связан трекер, с использованием результатов этой автоматической настройки.
В процессе отслеживания подвижного объекта выполняется алгоритм
отслеживания, блок-схема которого представлена на фиг. 15.
На шаге S21 считывается изображение с оптического датчика трекера и выполняется его предварительная обработка, алгоритм которой более подробно описан далее со ссылкой на фиг. 20.
На шаге S22 выявляются все элементарные паттерны, присутствующие на изображении с оптического датчика трекера и полностью попавшие в окно трекинга. Алгоритм выявления элементарных паттернов более подробно описан далее со ссылкой на фиг. 21.
На шаге S23 формируется ID «созвездия», выявленного в окне трекинга. Формат ID «созвездия» и способ его формирования в целом аналогичны описанным ранее для алгоритма регистрации «созвездий».
На шаге S24 определяется соответствие сформированного Ш «созвездия» одному из уникальных сочетаний элементарных паттернов, зафиксированных в таблице
«созвездий» при настройке зоны трекинга системы VR/AR.
На шаге S25 на основе идентифицированного «созвездия» из таблицы
«созвездий» определяется положение и ориентация трекера в пространстве. Способы определения положения и ориентации объекта с использованием внешних ориентиров (в частности, способы навигации с использованием карт звездного неба) хорошо известны специалистам в данной области техники, поэтому их описание опущено для краткости изложения.
Далее при поступлении нового изображения с оптического датчика трекера шаги S21- S25 повторяются.
Следует отметить, что системе трекинга необходимо обнаружить, по меньшей мере, одно «созвездие», чтобы определить положение и ориентацию трекера и начать трекинг подвижного объекта. В дальнейшем в процессе трекинга невозможность обнаружения одного или нескольких «созвездий» в очередном изображении с оптического датчика (например, вследствие перекрытия маркеров пользователем, с которым связан данный трекер, или другими пользователями в многопользовательской системе VR/AR, или в результате неудачного расположения пользователя в зоне трекера в некоторый момент времени) не приводит к сбою в работе системы трекинга, поскольку эта система способна определять положение и ориентацию трекера за счет инерциального трекинга, т.е. на основе данных, получаемых с инерциальных датчиков, в течение времени, достаточного для получения нового изображения с оптического датчика и возобновления оптического трекинга.
Кроме того, в некоторых вариантах осуществления изобретения возможно продолжение трекинга подвижного объекта на основе не только «созвездий», но и на основе выявленных отдельных элементарных паттернов или даже отдельных маркеров. Например, поскольку система трекинга способна в течение некоторого времени
определять положение и ориентацию трекера за счет только инерциального трекинга, то на основе информации о конфигурации зоны трекинга эта система может определять номинальное положение отдельных маркеров (т.е. точки или области пространства, в которых наиболее вероятно обнаружение маркеров). В этом случае возможно продолжение трекинга путем выявления лишь отдельных маркеров и сверки их фактического
положения с номинальным положением. Очевидно, что надежность такого трекинга может оказаться ниже, но его использование в течение некоторого времени, достаточного для получения изображения с оптического датчика со всеми «созвездиями», может быть вполне оправданным.
Эти свойства системы трекинга согласно данному изобретению позволяют повысить точность и надежность трекинга, в том числе в многопользовательском режиме.
В иллюстративном варианте осуществления изобретения частота поступления данных с оптического датчика составляет приблизительно 60 кадров в секунду, а частота поступления данных с инерциального датчика составляет приблизительно 2000 выборок в секунду. В других вариантах осуществления изобретения частота поступления данных с оптического датчика может быть повышена до приблизительно 400 кадров в секунду. Технические решения средств оптического трекинга и инерциального трекинга и их взаимодействие для решения этой задачи описаны в более ранних патентных заявках PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в настоящую заявку посредством ссылки.
Далее подробно описан алгоритм считывания и предварительной обработки изображений, блок-схема которого представлена на фиг. 20.
На шаге S31 выполняется считывание изображение с оптического датчика.
Пример изображения, полученного с оптического датчика, представлен на фиг. 16. Штриховой линией условно показана линия, соединяющая излучатели одного элементарного паттерна.
На шаге S32 выполняется компенсация геометрических искажений, вызванных оптикой и отклонениями от номинальных размеров в конструкции оптического датчика трекера. Пример изображения после компенсации геометрических искажений представлен на фиг. 17.
На шаге S33 изображение после компенсации проецируется на рабочую плоскость. Такое проецирование изображения на плоскость выполняется на основании направления на каждый маркер (т.е. геометрического луча) в системе координат того трекера, в данных которого обнаружен этот маркер, и известного направления «вверх», определяемого по данным одного или нескольких инерциальных датчиков. Это
направление может определяться в полярных координатах. Способ определения луча, направленного на конкретный маркер, описан в более ранних патентных заявках
PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в настоящую заявку посредством ссылки. В некоторых вариантах осуществления изобретения проецирование изображения на рабочую плоскость может не потребоваться, в частности, если маркеры уже расположены в рабочей плоскости (например, на полу, плоскость которого принята в качестве рабочей плоскости).
В иллюстративном варианте осуществления изобретения направление «вверх» определяется по данным акселерометра. Разумеется, что это направление может определяться по данным другого инерциального датчика, например, гироскопа, или по данным группы однородных или разнородных инерциальных датчиков, например, акселерометра и гироскопа. Способы определения требуемого направления по данным инерциальных датчиков хорошо известны специалистам в данной области техники, поэтому их описание опущено для краткости изложения. Кроме того, направление «вверх» может определяться по данным других датчиков, например, датчика электрического или магнитного поля.
Спроецированное на плоскость изображение представляет собой проекцию изображения, полученного с оптического датчика, на плоскость, по отношению к которой направление «вверх» является нормальным, т.е. на горизонтальную плоскость. В иллюстративном варианте осуществления изобретения горизонтальная плоскость представляет собой плоскость пола помещения, в котором расположена VR/AR-3oHa.
Такое решение оптимально при расположении маркерных полос на полу. Разумеется, что горизонтальная плоскость может представлять собой иную плоскость, лежащую в объеме зоны трекинга, например, плоскость потолка помещения при расположении маркерных полос на потолке. Изображения, спроецированные на параллельные горизонтальные плоскости, связаны отношением математического подобия и их информационная ценность по существу одинакова.
На шаге S34 изображение нормируется, т.е. на это изображение накладывается сетка, соответствующая разбиению зоны трекинга на ячейки, как описано выше, затем это изображение поворачивается таким образом, чтобы направление каждого элементарного линейного паттерна оказалось по существу параллельным одному из направлений сетки, и смещается таким образом, чтобы центр каждого элементарного линейного паттерна оказался по существу в центре какой-либо ячейки. Пример изображения окна трекинга после нормирования представлен на фиг. 18, а на фиг. 19 для наглядности показано положение элементарных паттернов относительно сетки. Способы такой обработки изображений хорошо известны специалистам в данной области техники, поэтому их описание опущено для краткости изложения.
На шаге S35 на изображении выделяется окно трекинга, размер и расположение которого аналогичны описанным на шаге S 1 алгоритма, выполняемого при настройке зоны трекинга.
Далее подробно описан алгоритм выявления элементарных оптических паттернов, блок-схема которого представлена на фиг. 21.
На шаге S41 в окне трекинга произвольно выбираются три точки,
предположительно соответствующие маркерам.
На шаге S42 из выбранных трех точек определяются две опорные точки.
Опорными могут быть, например, наиболее удаленные друг от друга точки. В другом примере опорными могут быть наиболее близкие друг к другу точки.
На шаге S43 для этих двух точек определяется номинальное положение третьей точки, т.е. такое ее положение, чтобы вся тройка точек соответствовала элементарному паттерну.
На шаге S44 определяется отклонение d геометрического положения третьей точки от ее номинального положения. На фиг. 22 представлен пример номинального и фактического положения третьей точки, расположенной между двумя наиболее
удаленными друг от друга точками.
На шаге S45 выполняется проверка величины отклонения d. Если это отклонение не превышает заранее заданного порогового значения e, то на шаге S46 тройка точек фиксируется как элементарный паттерн-кандидат, а если это отклонение превышает заранее заданное пороговое значение e, то на шаге S47 тройка точек отбраковывается, т.е. исключается из дальнейшего рассмотрения. На шаге S48 производится проверка того, все ли сочетания трех точек обработаны на шагах S41-S47.
После завершения обработки всех сочетаний трех точек в окне трекинга список элементарных паттернов-кандидатов на шаге S49 сортируется по их величине d, которая является показателем качества элементарных паттернов-кандидатов.
Затем на шаге S50 выбирается элементарный паттерн-кандидат с минимальной величиной d и на шаге S51 выполняется проверка наличия в нем точек, уже
использованных в действительных элементарных паттернах. Если ни одна из его точек не помечена как использованная, на шаге S52 такой элементарный паттерн-кандидат перемещается в список действительных элементарных паттернов, при этом точки, входящие в этот элементарный паттерн, помечаются как использованные. Если, по меньшей мере, одна из его точек помечена как использованная, то на шаге S53 такой элементарный паттерн-кандидат отбраковывается, т.е. исключается из дальнейшего рассмотрения.
Далее на шаге S54 шаги S50-S53 повторяются в отношении оставшихся в списке элементарных паттернов-кандидатов.
Разумеется, что описанный выше алгоритм выявления элементарных оптических паттернов может выполняться и в отношении элементарных оптических паттернов, содержащих другое количество точек, например, четыре или пять. При этом такой алгоритм может разделять множество точек элементарного оптического паттерна на подмножества по три точки и для каждой тройки точек выполнять обработку, по существу, как описано выше, а затем агрегировать результаты обработки, или такой алгоритм может выполнять обработку сразу всего множества точек с определением величин отклонения di, d2 и т.д.
Результатом работы алгоритма выявления элементарных оптических паттернов является список действительных элементарных паттернов, в дальнейшем используемых в алгоритме регистрации «созвездий» и в алгоритме отслеживания, описанных выше.
В иллюстративном варианте осуществления изобретения алгоритм выявления элементарных оптических паттернов на шагах S41-S54 описан в отношении линейного трехточечного элементарного паттерна. Очевидно, что в других вариантах осуществления изобретения количество точек в элементарном паттерне может отличаться от трех и составлять, например, четыре или пять точек. Кроме того, вид элементарного паттерна может отличаться от линейного, т.е. точки элементарного паттерна могут не лежать на одной прямой, а образовывать заранее заданную геометрическую фигуру. В описанных выше вариантах осуществления изобретения направление каждого элементарного линейного паттерна выбрано по существу параллельным одному из направлений сетки. Тем не менее, в других вариантах осуществления изобретения линейные паттерны могут быть расположены иным образом, например, пилообразно, как представлено на фиг. 23. Такое расположение линейных паттернов позволяет избегать ситуаций, когда алгоритм выявления элементарных паттернов ошибочно принимает активный маркер одного линейного паттерна за активный маркер другого (соседнего) линейного паттерна.
Следует отметить, что каждый процесс, соответствующий шагам S21-S25 и S41— S54, выполняется в отношении данных с каждого трекера независимо, т.е. реализуется многопоточная обработка данных, при этом количество потоков кратно количеству действующих трекеров в системе VR/AR.
Следует также отметить, что в приведенном выше описании отражены лишь те действия, которые наиболее существенны для достижения цели изобретения. Специалисту понятно, что для функционирования системы следует выполнить и другие необходимые действия, например, подключение оборудования, его инициализацию, запуск
соответствующего программного обеспечения, передачу и прием команд и
подтверждений, обмен служебными данными, синхронизацию и т.п., описание которых опущено для краткости изложения.
Кроме того, следует отметить, что в приведенном выше описании отражены лишь те части систем и устройств, которые наиболее существенны для достижения цели изобретения. Специалисту понятно, что эти системы и устройства должны или могут содержать и другие части, обеспечивающие функционирование системы VR/AR, описание которых опущено для краткости изложения.
Устройства и их части, способы и их части, упомянутые в описании и чертежах, относятся к одному или нескольким определенным вариантам осуществления
изобретения, если они упоминаются со ссылкой на числовое позиционное обозначение, или ко всем вариантам осуществления изобретения, в которых возможно их применение, если они упоминаются без ссылки на числовое позиционное обозначение.
Устройства и их части, упомянутые в описании, чертежах и формуле изобретения, представляют собой программно-аппаратные средства, при этом аппаратные части одних устройств могут отличаться, частично совпадать или полностью совпадать с аппаратными частями других устройств, если иное не указано в явном виде. Аппаратные части устройств могут располагаться в различных частях других устройств, если иное не указано в явном виде. Программные части (модули) могут быть реализованы в виде программного кода, содержащегося в запоминающем устройстве.
Последовательность действий в описании способа носит иллюстративный характер и в различных вариантах осуществления изобретения эта последовательность может отличаться от описанной при условии сохранения выполняемой функции и достигаемого результата.
Части и признаки данного изобретения могут сочетаться в различных вариантах осуществления изобретения, если они не противоречат друг другу. Описанные выше варианты осуществления изобретения приведены исключительно с иллюстративной целью и не предназначены для ограничения объема настоящего изобретения,
определяемого формулой изобретения. Все разумные модификации, модернизации и эквивалентные замены в составе, конструкции и принципе действия настоящего
изобретения, выполненные в пределах его сущности, входят в объем данного изобретения.
Следует также отметить, что приведенное выше описание изобретения относится к использованию способа и/или системы для выявления оптического паттерна при трекинге подвижного объекта в системах виртуальной или дополненной реальности.
Вместе с тем, этот способ и/или система в полной мере применимы в любой другой области для решения задач, связанных с определением положения и/или ориентации и/или параметров движения подвижного объекта.
В частности, описанные выше технические решения могут быть с успехом применены для отслеживания перемещений грузов и операторов в системах складской, производственной или торговой логистики, для отслеживания перемещений участников учебного процесса в системах учебного назначения, для определения положения и ориентации рабочих органов робототехнических систем, для управления пилотируемыми или беспилотными подвижными объектами, включая летательные аппараты, и для решения разнообразных задач, связанных с отслеживанием подвижных объектов в других системах, ныне существующих или тех, что будут разработаны в будущем.
Список непатентных документов
1. R. van Liere, J.D. Mulder. Optical tracking using projective invariant marker pattern properties. DOI: 10.1109/VR.2003.1191138
2. Manuel Loaiza, Alberto Raposo, Marcelo Gattass. A novel optical tracking algorithm for point-based projective invariant marker patterns. ISVC 2007: Advances in Visual Computing, Part I, LNCS 4841, pp. 160-169, 2007.
3. Daniel Wagner, Dieter Schmalstieg. ARToolKitPlus for pose tracking on mobile devices. Computer Vision Winter Workshop, St. Lambrecht, Austria, February 6-8, 2007. 4. Thomas Pintaric, Hannes Kaufmann. Affordable infrared-optical pose-tracking for virtual and augmented reality. Proceedings of Trends and Issues in Tracking for Virtual
Environments Workshop, 2007.
5. Aijen van Rhijn, Jurriaan D. Mulder. Optical tracking and calibration of tangible interaction devices. IPT & EGVE Workshop, 2005.
6. Klaus Dorfmiiller-Ulhaas. Robust optical user motion tracking using a Kalman filter. Report 2003-06, Institut fur Informatik, ETniversi tat Augsburg, Germany.
7. A. Kolahi, M. Hoviattalab, T. Rezaeian, M. Alizadeh, M. Bostan, H. Mokhtarzadeh. Design of a marker-based human motion tracking system. Biomedical Signal Processing and Control, 2, 2007, pp. 59-67.
8. David Claus, Andrew W. Fitzgibbon. Reliable automatic calibration of a marker- based position tracking system. Proceedings of IEEE Workshop on Motion and Video
Computing Motion, 2005, Application of Computer Vision, 2005. WACV/MOTIONS Ό5 Volume.
9. Steven Maesen, Patrik Goorts, Philippe Bekaert. Scalable optical tracking for navigating large virtual environments using spatially encoded markers. Proceedings of the l9th ACM Symposium on Virtual Reality Software and Technology VRST Ί3, pp. 101-110.
10. Filippo Bergamasco, Andrea Albarelli, Emanuele Rodola, Andrea Torsello. RETNE- Tag: a high accuracy fiducial marker with strong occlusion resilience. DOT
10.1109/CVPR.2011.5995544.
11. Leonid Naimark, Eric Foxlin. Encoded LED system for optical trackers. DOT 10.1109/ISMAR.2005.28.
12. Yashar Deldjoo, Reza Ebrahimi Atani. A low-cost infrared-optical head tracking solution for virtual 3D audio environment using the Nintendo Wii-remote. Entertainment Computing, vol.l2, 2016, pp. 9-27.

Claims

ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Способ трекинга подвижного объекта, включающий в себя следующие шаги:
- выполняют автоматическую настройку зоны трекинга путем выявления и регистрации уникальных сочетаний элементарных оптических паттернов;
- отслеживают изменение положения и/или ориентации подвижного объекта путем выявления уникальных сочетаний элементарных оптических паттернов и
сопоставления их с элементарными оптическими паттернами, зарегистрированными при настройке зоны трекинга.
2. Способ по п. 1, в котором шаг настройки зоны трекинга включает в себя следующие шаги:
(51) определяют зону трекинга;
(52) определяют размер окна трекинга и устанавливают окно трекинга в начальное положение;
(53) определяют в окне трекинга элементарные оптические паттерны,
образованные маркерами;
(54) формируют ID «созвездия»-кандидата;
(55) проверяют уникальность каждого «созвездия»-кандидата и маркируют Ш неуникального «созвездия»-кандидата;
(56) записывают ID «созвездия»-кандидата в таблицу «созвездий»;
(57) поворачивают окно трекинга на заранее заданный угол;
(58) выполняют шаги S2-S6 для повернутого окна трекинга;
(59) проверяют, выполнено ли требуемое количество поворотов окна трекинга, и при необходимости повторяют шаги S7, S8;
(S10) перемещают окно трекинга с заранее заданным шагом;
(Sl 1) выполняют шаги S2-S9 для перемещенного окна трекинга;
(512) проверяют, покрыта ли вся зона трекинга и при необходимости повторяют шаги S10, S11;
(513) удаляют неуникальные ID «созвездий»-кандидатов из таблицы «созвездий».
3. Способ по и. 2, в котором шаги S4, S5, S6 и S13 выполняют в отношении каждого ID «созвездия»-кандидата и ID каждого из его дочерних «созвездий»-кандидатов.
4. Способ по и. 2, в котором до выполнения шага S2 разделяют проекцию зоны трекинга на ячейки и размер окна трекинга на шаге S2 выражают в количестве таких ячеек. 5. Способ по п. 1, в котором шаг отслеживания изменения положения и/или ориентации подвижного объекта включает в себя следующие шаги:
(521) считывают изображение с оптического датчика, расположенного на подвижном объекте, и выполняют его предварительную обработку;
(522) выявляют в окне трекинга элементарные оптические паттерны,
образованные маркерами;
(523) формируют Ш «созвездия»;
(524) идентифицируют сформированный ID «созвездия» по таблице «созвездий»;
(525) определяют положение и ориентацию подвижного объекта на основе «созвездия», идентифицированного на шаге S24.
6. Способ по п. 5, в котором шаг S21 включает в себя следующие шаги:
(531) считывают изображение с оптического датчика;
(532) выполняют компенсацию геометрических искажений считанного изображения;
(533) опционально проецируют изображение на рабочую плоскость;
(534) нормируют изображение;
(S35) выделяют окно трекинга на изображении.
7. Способ по п. 5, в котором шаг S22 включает в себя следующие шаги:
(541) в окне трекинга произвольно выбирают три точки, соответствующие маркерам;
(542) из выбранных трех точек определяют две опорные точки;
(543) для опорных точек определяют номинальное положение третьей точки в соответствии с элементарным оптическим паттерном;
(544) определяют отклонение d геометрического положения третьей точки от ее номинального положения;
(545) выполняют проверку величины d; если величина d не превышает заранее заданного порогового значения, то (S46) тройку точек вносят в список элементарных оптических паттернов-кандидатов, а если величина d превышает заранее заданное пороговое значение, то (S47) тройку точек отбраковывают;
(548) выполняют проверку того, все ли сочетания трех точек обработаны и при необходимости повторяют шаги S41-S47;
(549) сортируют список элементарных оптических паттернов-кандидатов по величине d;
(550) из списка элементарных паттернов-кандидатов выбирают элементарный оптический паттерн-кандидат с минимальной величиной d; (S51) выполняют проверку наличия в элементарном оптическом паттерне- кандидате использованных точек; если в нем обнаружена, по меньшей мере, одна использованная точка, то (S52) такой элементарный оптический паттерн-кандидат отбраковывают, а если использованных точек не обнаружено, то (S53) его перемещают в список действительных элементарных оптических паттернов, при этом точки, входящие в этот элементарный оптический паттерн, помечают как использованные;
(S54) выполняют шаги S50-S53 в отношении оставшихся элементарных оптических паттернов-кандидатов.
8. Система трекинга подвижного объекта, содержащая:
- по меньшей мере, один трекер, размещенный на подвижном объекте и содержащий оптический датчик;
- по меньшей мере, одну маркерную полосу, содержащую активные маркеры, образующие элементарные оптические паттерны на изображении, полученном с оптического датчика;
- центральное устройство обработки данных, частично выполняющее способ трекинга подвижного объекта, охарактеризованный в любом из пи. 1-7.
9. Система по и. 8, в которой оптический датчик представляет собой матричный оптический датчик.
10. Система по и. 8, в которой, по меньшей мере, часть маркерных полос расположена на полу или ином основании.
11. Система по и. 10, в которой маркерные полосы интегрированы с упругим сборным покрытием для пола.
12. Система по и. 8, в которой, по меньшей мере, часть маркерных полос расположена на потолке или стенах или иным образом закреплена над полом или иным основанием.
13. Система по и. 8, в которой активные маркеры представляют собой маркеры, излучающие свет в инфракрасном диапазоне.
14. Система по и. 8, в которой элементарный оптический паттерн представляет собой линейный элементарный оптический паттерн.
15. Система по и. 8, в которой элементарный оптический паттерн представляет собой нелинейный элементарный оптический паттерн.
16. Система по и. 8, в которой трекер содержит устройство обработки данных, частично выполняющее способ трекинга подвижного объекта, охарактеризованный в любом из пи. 1-7. 17. Система по п. 8, в которой трекер и центральное устройство обработки данных связаны беспроводным каналом передачи данных, предназначенным для передачи данных настройки при выполнении шага автоматической настройки зоны трекинга и данных о положении и/или ориентации трекера при выполнении шага отслеживания в способе, охарактеризованном в любом из пп. 1-7.
18. Система по п. 8, выполненная с возможностью автоматической настройки зоны трекинга путем выявления и регистрации уникальных сочетаний элементарных оптических паттернов способом, охарактеризованным в любом из пп. 1-7.
19. Система по п. 8, выполненная с возможностью отслеживания изменения положения и/или ориентации подвижного объекта путем выявления уникальных сочетаний элементарных оптических паттернов и сопоставления их с элементарными оптическими паттернами, зарегистрированными при настройке зоны трекинга способом, охарактеризованным в любом из пп. 1-7.
20. Система по п. 8, в которой трекер дополнительно содержит, по меньшей мере, один инерциальный датчик и которая выполнена с возможностью отслеживания изменения положения и/или ориентации подвижного объекта с использованием данных, по меньшей мере, одного инерциального датчика, в те периоды времени, когда
невозможно идентифицировать «созвездия» способом, охарактеризованным в любом из пп. 1-7.
PCT/IB2018/058492 2018-10-30 2018-10-30 Способ и система обратного оптического трекинга подвижного объекта WO2020089675A1 (ru)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP18938810.1A EP3876198A4 (en) 2018-10-30 2018-10-30 Method and system for the inside-out optical tracking of a movable object
SG11202104325UA SG11202104325UA (en) 2018-10-30 2018-10-30 System and method for the reverese optical tracking of a moving object
CN201880099238.0A CN112955930A (zh) 2018-10-30 2018-10-30 用于对移动对象进行反向光学跟踪的系统和方法
JP2021523061A JP2022520140A (ja) 2018-10-30 2018-10-30 移動オブジェクトのリバース光学的追跡のためのシステム及び方法
PCT/IB2018/058492 WO2020089675A1 (ru) 2018-10-30 2018-10-30 Способ и система обратного оптического трекинга подвижного объекта

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2018/058492 WO2020089675A1 (ru) 2018-10-30 2018-10-30 Способ и система обратного оптического трекинга подвижного объекта

Publications (1)

Publication Number Publication Date
WO2020089675A1 true WO2020089675A1 (ru) 2020-05-07

Family

ID=70461828

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2018/058492 WO2020089675A1 (ru) 2018-10-30 2018-10-30 Способ и система обратного оптического трекинга подвижного объекта

Country Status (5)

Country Link
EP (1) EP3876198A4 (ru)
JP (1) JP2022520140A (ru)
CN (1) CN112955930A (ru)
SG (1) SG11202104325UA (ru)
WO (1) WO2020089675A1 (ru)

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5856844A (en) * 1995-09-21 1999-01-05 Omniplanar, Inc. Method and apparatus for determining position and orientation
US20040080548A1 (en) 2002-10-29 2004-04-29 Daily Michael J. Method and apparatus for augmented reality hybrid tracking system with fiducial-based heading correction
US20040113885A1 (en) * 2001-05-31 2004-06-17 Yakup Genc New input devices for augmented reality applications
US6787750B1 (en) 2000-06-29 2004-09-07 Siemens Corporate Research, Inc. Method and apparatus for robust optical tracking with beacon markers
EP1645241A1 (de) 2004-10-05 2006-04-12 BrainLAB AG Positionsmarkersystem mit Punktlichtquellen
WO2007102857A2 (en) 2006-03-08 2007-09-13 Electronic Scripting Products, Inc. Optical navigation apparatus using fixed beacons and a centroid sensing device
US20080285854A1 (en) 2006-08-11 2008-11-20 Canon Kabushiki Kaisha Marker arrangement information measuring apparatus and method
EP2012170A1 (en) 2007-07-06 2009-01-07 Harman Becker Automotive Systems GmbH Head-tracking system and operating method thereof
US20110079703A1 (en) 2009-10-02 2011-04-07 Teledyne Scientific & Imaging, Llc Object tracking system
EP2339537A1 (en) 2009-12-23 2011-06-29 Metaio GmbH Method of determining reference features for use in an optical object initialization tracking process and object initialization tracking method
US20130106833A1 (en) 2011-10-31 2013-05-02 Wey Fun Method and apparatus for optical tracking of 3d pose using complex markers
WO2013071981A1 (en) 2011-11-18 2013-05-23 Metaio Gmbh Method of matching image features with reference features and integrated circuit therefor
WO2014199196A1 (en) 2013-06-11 2014-12-18 Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi Pose determination from a pattern of four leds
WO2016102721A1 (es) 2014-12-23 2016-06-30 Universidad De Cantabria Método w sistema de localización espacial mediante marcadores luminosos para cualquier ambiente
WO2016148461A2 (ko) * 2015-03-13 2016-09-22 한현정 증강현실 마커가 인쇄된 바닥 매트 및 이를 포함하는 증강현실 시스템
WO2016187609A1 (en) 2015-05-21 2016-11-24 Castar, Inc Retroreflective surface with integrated fiducial markers for an augmented reality system
WO2017050761A1 (en) 2015-09-21 2017-03-30 Navigate Surgical Technologies, Inc. System and method for determining the three-dimensional location and orientation of identification markers
US20170086941A1 (en) 2015-09-25 2017-03-30 Atracsys Marker for Optical Tracking System
WO2017058068A1 (en) 2015-09-29 2017-04-06 Telefonaktiebolaget Lm Ericsson (Publ) Network node and method in a wireless telecommunications network
DE102015013551A1 (de) 2015-10-20 2017-04-20 Hochschule RheinMain University of Applied Sciences Wiesbaden Rüsselsheim Geisenheim System zur Positions-und Lagebestimmung von Objekten
US20170168592A1 (en) 2015-12-14 2017-06-15 Volodymyr Mishyn System and method for optical tracking
US20170358139A1 (en) 2016-06-09 2017-12-14 Alexandru Octavian Balan Robust optical disambiguation and tracking of two or more hand-held controllers with passive optical and inertial tracking
US20180108179A1 (en) * 2016-10-17 2018-04-19 Microsoft Technology Licensing, Llc Generating and Displaying a Computer Generated Image on a Future Pose of a Real World Object

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004298977A (ja) * 2003-03-28 2004-10-28 Sony Corp 行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置
WO2006065563A2 (en) * 2004-12-14 2006-06-22 Sky-Trax Incorporated Method and apparatus for determining position and rotational orientation of an object
WO2009007917A2 (en) * 2007-07-10 2009-01-15 Koninklijke Philips Electronics N.V. Object motion capturing system and method
US20090143670A1 (en) * 2007-11-30 2009-06-04 Daigneault Emmanuel Optical tracking cas system
US9740922B2 (en) * 2008-04-24 2017-08-22 Oblong Industries, Inc. Adaptive tracking system for spatial input devices
KR101850048B1 (ko) * 2012-02-22 2018-05-30 아셀산 엘렉트로닉 사나이 베 티카렛 아노님 시르케티 트래커 시스템을 최적화하는 시스템 및 방법
WO2016059930A1 (ja) * 2014-10-17 2016-04-21 ソニー株式会社 装置、方法及びプログラム

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5856844A (en) * 1995-09-21 1999-01-05 Omniplanar, Inc. Method and apparatus for determining position and orientation
US6787750B1 (en) 2000-06-29 2004-09-07 Siemens Corporate Research, Inc. Method and apparatus for robust optical tracking with beacon markers
US20040113885A1 (en) * 2001-05-31 2004-06-17 Yakup Genc New input devices for augmented reality applications
US20040080548A1 (en) 2002-10-29 2004-04-29 Daily Michael J. Method and apparatus for augmented reality hybrid tracking system with fiducial-based heading correction
EP1645241A1 (de) 2004-10-05 2006-04-12 BrainLAB AG Positionsmarkersystem mit Punktlichtquellen
US20060082789A1 (en) 2004-10-05 2006-04-20 Gunter Goldbach Positional marker system with point light sources
WO2007102857A2 (en) 2006-03-08 2007-09-13 Electronic Scripting Products, Inc. Optical navigation apparatus using fixed beacons and a centroid sensing device
US20080285854A1 (en) 2006-08-11 2008-11-20 Canon Kabushiki Kaisha Marker arrangement information measuring apparatus and method
EP2012170A1 (en) 2007-07-06 2009-01-07 Harman Becker Automotive Systems GmbH Head-tracking system and operating method thereof
US20110079703A1 (en) 2009-10-02 2011-04-07 Teledyne Scientific & Imaging, Llc Object tracking system
EP2339537A1 (en) 2009-12-23 2011-06-29 Metaio GmbH Method of determining reference features for use in an optical object initialization tracking process and object initialization tracking method
US20130106833A1 (en) 2011-10-31 2013-05-02 Wey Fun Method and apparatus for optical tracking of 3d pose using complex markers
WO2013071981A1 (en) 2011-11-18 2013-05-23 Metaio Gmbh Method of matching image features with reference features and integrated circuit therefor
WO2014199196A1 (en) 2013-06-11 2014-12-18 Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi Pose determination from a pattern of four leds
WO2016102721A1 (es) 2014-12-23 2016-06-30 Universidad De Cantabria Método w sistema de localización espacial mediante marcadores luminosos para cualquier ambiente
WO2016148461A2 (ko) * 2015-03-13 2016-09-22 한현정 증강현실 마커가 인쇄된 바닥 매트 및 이를 포함하는 증강현실 시스템
WO2016187609A1 (en) 2015-05-21 2016-11-24 Castar, Inc Retroreflective surface with integrated fiducial markers for an augmented reality system
WO2017050761A1 (en) 2015-09-21 2017-03-30 Navigate Surgical Technologies, Inc. System and method for determining the three-dimensional location and orientation of identification markers
US20170086941A1 (en) 2015-09-25 2017-03-30 Atracsys Marker for Optical Tracking System
WO2017058068A1 (en) 2015-09-29 2017-04-06 Telefonaktiebolaget Lm Ericsson (Publ) Network node and method in a wireless telecommunications network
DE102015013551A1 (de) 2015-10-20 2017-04-20 Hochschule RheinMain University of Applied Sciences Wiesbaden Rüsselsheim Geisenheim System zur Positions-und Lagebestimmung von Objekten
US20170168592A1 (en) 2015-12-14 2017-06-15 Volodymyr Mishyn System and method for optical tracking
US20170358139A1 (en) 2016-06-09 2017-12-14 Alexandru Octavian Balan Robust optical disambiguation and tracking of two or more hand-held controllers with passive optical and inertial tracking
US20180108179A1 (en) * 2016-10-17 2018-04-19 Microsoft Technology Licensing, Llc Generating and Displaying a Computer Generated Image on a Future Pose of a Real World Object

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
A. KOLAHIM. HOVIATTALABT. REZAEIANM. ALIZADEHM. BOSTANH. MOKHTARZADEH: "Design of a marker-based human motion tracking system", BIOMEDICAL SIGNAL PROCESSING AND CONTROL, vol. 2, 2007, pages 59 - 67, XP022082903, DOI: 10.1016/j.bspc.2007.02.001
ARJEN VAN RHIJNJURRIAAN D. MULDER: "Optical tracking and calibration of tangible interaction devices", IPT & EGVE WORKSHOP, 2005
DANIEL WAGNERDIETER SCHMALSTIEG: "ARToolKitPlus for pose tracking on mobile devices", COMPUTER VISION WINTER WORKSHOP, ST. LAMBRECHT, AUSTRIA, 6 February 2007 (2007-02-06)
DAVID CLAUSANDREW W. FITZGIBBON: "Reliable automatic calibration of a marker-based position tracking system", PROCEEDINGS OF IEEE WORKSHOP ON MOTION AND VIDEO COMPUTING MOTION, 2005, APPLICATION OF COMPUTER VISION, 2005
FILIPPO BERGAMASCOANDREA ALBARELLIEMANUELE RODOLAANDREA TORSELLO, RUNE-TAG: A HIGH ACCURACY FIDUCIAL MARKER WITH STRONG OCCLUSION RESILIENCE. DOI: 10.1109/CVPR.2011.5995544
KLAUS DORFMULLER-ULHAAS: "Report 2003-06", June 2003, INSTITUT FUR INFORMATIK, UNIVERSITAT AUGSBURG, article "Robust optical user motion tracking using a Kalman filter"
LEONID NAIMARKERIC FOXLIN, ENCODED LED SYSTEM FOR OPTICAL TRACKERS. DOI: 10.1109/ISMAR.2005.28
MANUEL LOAIZAALBERTO RAPOSOMARCELO GATTASS: "A novel optical tracking algorithm for point-based projective invariant marker patterns", ISVC 2007: ADVANCES IN VISUAL COMPUTING, PART I, LNCS, vol. 4841, 2007, pages 160 - 169, XP019083492
R. VAN LIEREJ.D. MULDER, OPTICAL TRACKING USING PROJECTIVE INVARIANT MARKER PATTERN PROPERTIES. DOI: 10.1109/VR.2003.1191138
See also references of EP3876198A4
STEVEN MAESENPATRIK GOORTSPHILIPPE BEKAERT: "Scalable optical tracking for navigating large virtual environments using spatially encoded markers", PROCEEDINGS OF THE 19TH ACM SYMPOSIUM ON VIRTUAL REALITY SOFTWARE AND TECHNOLOGY VRST, vol. 13, pages 101 - 110, XP055565049, DOI: 10.1145/2503713.2503733
THOMAS PINTARICHANNES KAUFMANN: "Affordable infrared-optical pose-tracking for virtual and augmented reality", PROCEEDINGS OF TRENDS AND ISSUES IN TRACKING FOR VIRTUAL ENVIRONMENTS WORKSHOP, 2007
YASHAR DELDJOOREZA EBRAHIMI ATANI: "A low-cost infrared-optical head tracking solution for virtual 3D audio environment using the Nintendo Wii-remote", ENTERTAINMENT COMPUTING, vol. 12, 2016, pages 9 - 27, XP029375620, DOI: 10.1016/j.entcom.2015.10.005

Also Published As

Publication number Publication date
EP3876198A1 (en) 2021-09-08
JP2022520140A (ja) 2022-03-29
CN112955930A (zh) 2021-06-11
EP3876198A4 (en) 2022-06-29
SG11202104325UA (en) 2021-05-28

Similar Documents

Publication Publication Date Title
EP2976599B1 (en) Indoor navigation system and method
US10949980B2 (en) System and method for reverse optical tracking of a moving object
Krajník et al. A practical multirobot localization system
Nakazawa et al. Indoor positioning using a high-speed, fish-eye lens-equipped camera in visible light communication
RU2697942C1 (ru) Способ и система обратного оптического трекинга подвижного объекта
US11614743B2 (en) System and method for navigating a sensor-equipped mobile platform through an environment to a destination
EP1983397A2 (en) Landmark navigation for vehicles using blinking optical beacons
US20060203090A1 (en) Video surveillance using stationary-dynamic camera assemblies for wide-area video surveillance and allow for selective focus-of-attention
Krajník et al. External localization system for mobile robotics
CN108257177B (zh) 基于空间标识的定位系统与方法
CN113984081B (zh) 定位方法、装置、自移动设备和存储介质
CN108007456A (zh) 一种室内导航方法、装置及系统
Nüchter et al. Irma3D—An intelligent robot for mapping applications
CN111596259A (zh) 一种红外定位系统、定位方法及其应用
RU2758036C1 (ru) Способ и система для оптико-инерциального трекинга подвижного объекта
WO2020089675A1 (ru) Способ и система обратного оптического трекинга подвижного объекта
Sun et al. Real-time monocular visual self-localization approach using natural circular landmarks for indoor navigation
Meng et al. Arpico: Using pictures to build localization service for indoor iot applications
US11915449B2 (en) Method and apparatus for estimating user pose using three-dimensional virtual space model
CN116710975A (zh) 提供导航数据以控制机器人的方法、控制机器人的方法、制造至少一个预定义点对称区域的方法和设备
JPH10149435A (ja) 環境認識システム並びに該システムに用いるマーク
Karakaya et al. A hybrid indoor localization system based on infra-red imaging and odometry
Holter et al. Relative visual localization for unmanned aerial systems
KR101858488B1 (ko) 구 형상의 좌표계 장치와 그를 이용한 lbs 위치 정보 산출 방법, 어플리케이션 및 서버
CN107918499B (zh) 光学定位系统及方法、定位用光学观测设备

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: 18938810

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021523061

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018938810

Country of ref document: EP

Effective date: 20210531