[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2023132269A1 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
WO2023132269A1
WO2023132269A1 PCT/JP2022/047534 JP2022047534W WO2023132269A1 WO 2023132269 A1 WO2023132269 A1 WO 2023132269A1 JP 2022047534 W JP2022047534 W JP 2022047534W WO 2023132269 A1 WO2023132269 A1 WO 2023132269A1
Authority
WO
WIPO (PCT)
Prior art keywords
local
failure
information
map
information processing
Prior art date
Application number
PCT/JP2022/047534
Other languages
English (en)
French (fr)
Inventor
友己 小野
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2023132269A1 publication Critical patent/WO2023132269A1/ja

Links

Images

Classifications

    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a program, and more particularly to an information processing device, an information processing method, and a program that make it easier to use an application program to which XR technology is applied on a plurality of client devices.
  • AR Augmented Reality
  • VR Virtual Reality
  • MR Magnetic Reality
  • XR Extended Reality
  • CG Computer Graphics
  • SLAM Simultaneous Localization And Mapping
  • Patent Document 1 As a technology that uses this SLAM and VR technology, for example, a technology has been proposed that avoids the risk of a user in a digital space colliding with a real obstacle (see Patent Document 1).
  • Initialization of SLAM means combining local maps generated by individual client devices, unifying them so that they can be used in a common coordinate system, and comprehensively sharing self-localization results among multiple client devices. This is the process of generating a global map to represent. When the SLAM is initialized, the global map generated by that process is updated sequentially.
  • each client device when each of a plurality of users uses a client device to execute an application program using XR technology, each client device is connected to a global map using satellite images, and the above-mentioned SLAM initial stage is performed.
  • SLAM initial stage There has been proposed a technique for realizing processing corresponding to the conversion (see Patent Document 3).
  • the user can take action to resolve the failure if the cause of the failure is known.
  • the present disclosure has been made in view of such circumstances, and in particular, when using an application program to which XR technology is applied by a plurality of client devices, the failure of SLAM initialization for the global map can be detected by the user himself. make it easier to resolve.
  • An information processing device and a program include a generation unit that generates a global map by combining local maps generated in each of a plurality of other information processing devices, and the generation unit includes the local An information processing device and a program for presenting guide information for solving the failure of local map combination when map combination fails.
  • An information processing method generates a global map by combining local maps generated in each of a plurality of other information processing apparatuses, and if the combining of the local maps fails, the local map
  • a global map is generated by combining local maps generated in each of a plurality of other information processing apparatuses, and if the combining of the local maps fails, the combining of the local maps is performed. guide information is presented to resolve the failure.
  • FIG. 4 is a diagram illustrating processing of generating a global map from a local map of the present disclosure; It is a figure explaining the outline of this indication.
  • 1 is a block diagram illustrating a configuration example of a preferred embodiment of a communication system of the present disclosure
  • FIG. 7 is a diagram illustrating a configuration example of a client device in FIG. 6
  • FIG. 7 is a diagram illustrating a configuration example of a server in FIG. 6
  • FIG. 4 is a diagram explaining the data structures of a local map and a global map;
  • FIG. 4 is a diagram for explaining a position and orientation detection method and a mapping method based on keyframes; It is a figure explaining the connection method of a local map.
  • FIG. 10 is a diagram for explaining the cause and solution of local map combination failure;
  • FIG. 10 is a diagram illustrating a display example of guide information when the cause of failure of combination is the absence of a common field of view.
  • FIG. 10 is a diagram illustrating a display example of guide information when the cause of failure of combination is the absence of a common field of view.
  • FIG. 10 is a diagram for explaining a display example of guide information when communication interruption is the cause of a connection failure;
  • FIG. 11 is a diagram for explaining a display example of guide information when the cause of failure of combining is that there are not enough key points to be feature points;
  • FIG. 11 is a diagram for explaining a display example of guide information when insufficient movement parallax is the cause of failure in combining.
  • FIG. 8 is a flowchart for explaining SLAM initialization processing by the client device of FIG. 7;
  • FIG. 9 is a flowchart for explaining SLAM initialization processing by the server of FIG. 8;
  • FIG. FIG. 20 is a flowchart illustrating failure notification processing in the flowchart of FIG. 19;
  • FIG. 4 is a diagram illustrating an example of guide information displayed when an object recognition unit is provided in a client device in the communication system of the present disclosure
  • 7 is a diagram illustrating a configuration example of the client device of FIG. 6 provided with an object recognition unit
  • FIG. 23 is a flowchart for explaining SLAM initialization processing by the client device of FIG. 22
  • FIG. 20 is a flowchart illustrating an application example of failure notification processing of the flowchart of FIG. 19
  • FIG. 1 shows a configuration example of a general-purpose computer
  • XR Extended Reality
  • VR Virtual Reality
  • MR Magnetic Reality
  • CG Computer Graphics
  • SLAM Simultaneous Localization And Mapping
  • SLAM is initialized in these application programs that use XR technology.
  • Initialization of SLAM means combining local maps generated based on self-location information estimated by SLAM in individual client devices, and unifying them so that they can be used in a common coordinate system. This is a process of generating a global map that exhaustively expresses the relative positional relationship between
  • users 31-1 to 31-3 each have client devices 32-1 to 32-3 such as smartphones and tablets, and the client devices 32-1 to 32-3 have client devices 32-1 to 32-3.
  • -3 individually run SLAM to estimate self-location and generate local maps M1-M3.
  • the user 31 and the client device 32 are simply referred to, and other configurations are also referred to in the same way.
  • the local maps M1 to M3 of the client devices 32-1 to 32-3 are combined to be unified so that they can be used as a common coordinate system, thereby generating the global map 33. It is expressed that it will be done.
  • the client devices 32-1 to 32-3 use a common CG according to the positional relationship between the client devices 32-1 to 32-3 and their respective positions and postures, and display them at natural angles. It is possible to superimpose display with .
  • each of the client devices 32-1 to 32-3 when a moving image of the physical space is picked up by a camera (not shown), the imaged result is displayed on the display unit (not shown). be done.
  • images are displayed on the specific subject in the image according to the positions and orientations of the client devices 32-1 to 32-3.
  • a common application program is executed in which a CG of a specific character is superimposed as an AR image at a natural angle.
  • SLAM is individually executed based on the captured image, the self position is estimated, and a local map is generated.
  • the client devices 32-1 to 32-3 when a global map is generated and shared by combining the generated local maps, the client devices 32-1 to 32-3, when a specific subject enters an image captured by themselves, A CG of a specific character is displayed superimposed as an AR image on a specific subject at an angle corresponding to the position and posture of the character based on the global map.
  • a specific subject in a common real space is If you take an image that fits within the angle of view, you can view the image in which the CG of the specific character is superimposed on the specific subject as an AR image at a natural angle according to your position and posture. becomes.
  • a plurality of users 31-1 to 31-3 in their respective positions and postures, can display the CG of the character superimposed as an AR image on a specific subject that actually exists in the image to be captured. It is possible to view the image as if it exists as a real image on the subject.
  • the characters are superimposed and displayed as an AR image on a specific subject at a natural angle corresponding to the mutual positional relationship.
  • CG can be viewed.
  • the plurality of users 31-1 to 31-3 can view the CG of the common character in real time as if it were a real image in a state corresponding to the mutual positional relationship in addition to the respective positions and postures. It is possible to realize an experience as if you were there.
  • the local maps M1 to M3 are first supplied from the client devices 32-1 to 32-3 and combined to unify the coordinate system and generate the global map 33. Initialization of SLAM to generate maps.
  • each of the client devices 32-1 to 32-3 individually starts SLAM and starts generating the local maps M1 to M3 is SLAM initialization for generating the local maps.
  • the coordinate system of the local map generated by one of the client devices 32-1 to 32-3 is used as the reference coordinate system, and the information of other local maps is added to the global map.
  • the map 33 is generated.
  • the information of the local maps M2 and M3 generated by the client devices 32-2 and 32-3 are displayed on the local map M1 generated by the client device 32-1 with respect to the coordinate system of the local map M1.
  • a global map 33 is generated by adding the coordinates.
  • the server 41 constructs a global map 33 using a technique called SfM (Structure-from-Motion: 3D reconstruction) based on the images P1 to P3 transmitted from the client devices 32-1 to 32-3. .
  • SfM Structure-from-Motion: 3D reconstruction
  • each of the client devices 62-1 to 62-3 owned by each of the users 61-1 to 61-3 generates the local maps M1 to M3 by SLAM, and sends them to the server 64. Send.
  • the server 64 acquires the local maps M1 to M3 transmitted from each of the client devices 62-1 to 62-3, the respective coordinate systems are unified into the reference coordinate system, and the local maps M1 to M3 are combined. to generate the global map 65 .
  • the information transmitted to the server 64 is the local maps M1 to M3, and the transmission data amount is smaller than the images P1 to P3.
  • the processing load on the server 64 can be reduced.
  • the server 64 generates a global map by superimposing and combining common portions of a plurality of local maps.
  • the server 64 causes the user 61 to present, via the client device 62, a countermeasure according to the cause of the SLAM initialization failure for the global map. Induce successful initialization.
  • the server 64 successfully initializes SLAM for the global map so as to prompt the client devices 62-11, 62-12 to act such that the local map is built on the intersection of both. Guide information is supplied so that it can be displayed on each of the client devices 62-11 and 62-12.
  • the server 64 images a common subject 71 for the client devices 62-11 and 62-12 so that a common portion in the local map occurs for both users 61-11 and 61-12.
  • Guide information is supplied to prompt the users 61-11 and 61-12 to present it.
  • the server 64 when the initialization of SLAM for the global map fails, the server 64 presents the user 61 via the client device 62 with guide information as a countermeasure according to the cause of the failure, By guiding the user 61 to eliminate the cause of the failure, SLAM initialization for the global map succeeds.
  • the communication system 101 in FIG. 6 is composed of client devices 111-1 to 111-n, a server 112, and a network 113.
  • the client devices 111-1 to 111-n and the server 112 can mutually exchange data and programs via a network 113 such as the Internet or a public line.
  • the client devices 111-1 to 111-n are so-called smart phones, tablets, etc. possessed by users.
  • client devices 111-1 to 111-n when there is no particular need to distinguish between the client devices 111-1 to 111-n, they will simply be referred to as the client device 111, and other configurations will be referred to in the same way.
  • each user of the client devices 111-1 to 111-n exists in a common space (either a real space or a virtual space) where they can recognize their mutual positional relationship. That is, for example, in a real space, it is assumed that a plurality of users exist in a mutually visible positional relationship.
  • the client device 111 is equipped with an imaging unit 138 (FIG. 7), and performs SLAM when various application programs using XR technology are executed, for example, based on the captured image while capturing an image. Then, it realizes self-position estimation (estimation of position and orientation) from the positional relationship with the surroundings, and generates a local map consisting of its own coordinate system based on the obtained position and orientation.
  • an imaging unit 138 FIG. 7
  • the client device 111 transmits the generated local map to the server 112, and uses the global map generated by combining the local maps from the other client devices 111 in a unified reference coordinate system. Get position and pose information
  • the client device 111 In the application program using the XR function, the client device 111 superimposes and displays various images based on the acquired position and orientation information with reference to the global map.
  • the client device 111 when executing an application program that operates by applying AR technology, the client device 111 superimposes and displays an AR image based on position and orientation information based on the acquired global map. do.
  • each of the client devices 111-1 to 111-n displays an AR image based on its own position and orientation on the global map constructed in the unified reference coordinate system.
  • Each of the users 111-1 to 111-n can view AR images corresponding to positions and postures with respect to other users.
  • the users of the client devices 111-1 to 111-n can view XR images superimposed at natural angles based on their respective positions and orientations on the global map constructed in the reference coordinate system. Therefore, it is possible to realize a common experience in real time.
  • the server 112 is managed on the network 113 by an organization that operates application programs using XR technology that are executed by the client devices 111-1 to 111-n. This configuration is realized by cloud computing.
  • the server 112 acquires the local map transmitted from the client devices 111-1 to 111-n when the client devices 111-1 to 111-n execute an application program using XR technology, By combining the local maps, a global map consisting of a unified reference coordinate system is generated, and information on the positions and orientations of the client devices 111-1 to 111-n based on the generated global map is transmitted to each of them. .
  • the server 112 specifies the type of the cause, and guides the user to resolve the unsuccessful combination according to the type of the cause. Information is generated and transmitted to the client device 111 .
  • the client device 111 When the client device 111 acquires the guide information sent from the server 112 to guide the user to resolve the local map combination failure, the client device 111 presents the guide information to the user.
  • the client device 111 includes a control unit 131, an input unit 132, an output unit 133, a storage unit 134, a communication unit 135, a drive 136, a removable storage medium 137, and an imaging unit 138. It is connected and can send and receive data and programs.
  • the control unit 131 is composed of a processor and memory, and controls the overall operation of the client device 111 .
  • the control unit 131 also includes a SLAM processing unit 151 and an AR superimposition processing unit 152 .
  • the SLAM processing unit 151 executes SLAM based on the image captured by the imaging unit 138, generates a local map of its own coordinate system based on the self-position estimation result, which is the processing result of the SLAM, and stores it in the storage unit 134. be memorized.
  • the SLAM processing unit 151 controls the communication unit 135 to transmit the local map stored in the storage unit 134 to the server 112.
  • the SLAM processing unit 151 controls the communication unit 135 to acquire position and orientation information based on the global map transmitted from the server 112 and store it in the storage unit 134 .
  • the SLAM processing unit 151 After acquiring the position and orientation information based on the global map, the SLAM processing unit 151 executes various application programs using various XR technologies. to perform processing based on the information in
  • the SLAM processing unit 151 receives a guide from the server 112 when local map merging fails and guides the user to resolve the merging failure according to the type of the cause of the local map merging failure. Information is acquired and displayed on a display or the like that constitutes the output unit 133 .
  • the AR superimposition processing unit 152 when an application program realized using AR technology is executed, generates a position based on the local map stored in the storage unit 134 or the global map supplied from the server 112. And based on the posture information, the AR image is processed to a natural angle and superimposed and displayed.
  • an XR image may be superimposed and displayed with position and orientation information based on a local map or a global map.
  • the input unit 132 is composed of input devices such as a keyboard, mouse, touch panel for inputting operation commands, and a microphone for inputting voice, and supplies various input signals to the control unit 131 .
  • the output unit 133 is controlled by the control unit 131 and has a display unit and an audio output unit.
  • the output unit 133 outputs and displays an operation screen and images of processing results on a display unit including a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence). Also, the output unit 133 controls an audio output unit including an audio output device to output various sounds.
  • the storage unit 134 consists of a HDD (Hard Disk Drive), SSD (Solid State Drive), semiconductor memory, or the like, is controlled by the control unit 131, and writes or reads various data and programs including content data.
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • semiconductor memory or the like
  • the communication unit 135 is controlled by the control unit 131, and realizes communication represented by LAN (Local Area Network), Bluetooth (registered trademark), etc., by wire or wirelessly. Sends and receives various data and programs to and from other devices.
  • LAN Local Area Network
  • Bluetooth registered trademark
  • the drive 136 includes magnetic disks (including flexible disks), optical disks (including CD-ROMs (Compact Disc-Read Only Memory) and DVDs (Digital Versatile Discs)), magneto-optical disks (including MDs (Mini Discs)), Alternatively, data is read from and written to a removable storage medium 137 such as a semiconductor memory.
  • a removable storage medium 137 such as a semiconductor memory.
  • the imaging unit 138 is composed of a CMOS (Complementary Metal Oxide Semiconductor) image sensor or the like, and is controlled by the control unit 131 to capture an image.
  • CMOS Complementary Metal Oxide Semiconductor
  • the server 112 comprises a control unit 201, an input unit 202, an output unit 203, a storage unit 204, a communication unit 205, a drive 206, and a removable storage medium 207, which are interconnected via a bus 208. Data and programs can be sent and received.
  • the control unit 201 is composed of a processor and memory, and controls the overall operation of the server 112 .
  • the controller 201 also includes a local map combiner 221 , a position estimator 222 and a global map updater 223 .
  • the local map combining unit 221 combines the local maps composed of respective coordinate systems supplied from the plurality of client devices 111 as a SLAM initialization process for the global map, and integrates them into a unified reference coordinate system (global coordinate system ) to generate a global map.
  • the local map combining unit 221 specifies the type of the cause, and guides the user to resolve the unsuccessful combination according to the type of the cause. It generates guide information and transmits it to the client device 111 .
  • Position estimating unit 222 generates a global map by combining local maps, which is SLAM initialization processing for the global map. , estimate the position and orientation of the client device 111 with respect to the global map.
  • the global map update unit 223 sequentially updates the global map based on the local map transmitted from the client device 111, and continues updating according to changes in the environment.
  • the input unit 202, the output unit 203, the storage unit 204, the communication unit 205, the drive 206, and the removable storage medium 207 are the input unit 132, the output unit 133, the storage unit 134, the communication unit 135, and the drive 136 in FIG. , and the removable storage medium 137, the description thereof will be omitted.
  • a local map and a global map are aggregates of a plurality of pieces of information extracted from images selected according to predetermined selection criteria from images captured by the imaging unit 138 called key frames.
  • a key point which is a feature point in an image extracted from a key frame, its feature quantity, the two-dimensional coordinates of the feature point in the image, and the three-dimensional space of the landmark that is the object at the feature point coordinates (three-dimensional coordinates) in , and the position and orientation of the imaging unit 138 when an image serving as a key frame is captured.
  • the feature values of the key points KP1 and KP2, the coordinates KP1 (x1, y1) and KP2 (x2, y2), and the coordinates of the landmarks It consists of LM1 (x11, y11, z11), LM2 (x12, y12, z12), and the position and orientation P of the imaging unit 138 when the key frame KF was captured. It should be noted that the position and orientation are both represented by a single symbol "P" here.
  • the SLAM processing unit 151 selects a key frame KF according to a predetermined selection criterion based on images continuously captured by the image capturing unit 138, and selects key points to be feature points from the key frame KF based on the texture. Determine and extract features.
  • the SLAM processing unit 151 identifies the two-dimensional coordinates of the keypoints in the keyframe KF, and also identifies the three-dimensional coordinates of the landmarks for each keypoint using moving parallax.
  • the SLAM processing unit 151 uses the pair information of the two-dimensional coordinates of each of a plurality of key points and the three-dimensional coordinates of the corresponding landmarks to determine the position and orientation of the imaging unit 138 when capturing the key frame KF, That is, the position and orientation of the client device 111 are substantially calculated.
  • the RANSAC estimation method uses the poses estimated by the PnP estimation method for n-point pairs to estimate the number of n-point pairs that are sufficiently close to the keypoint (inlier number) when the other pair information is projected onto the image. ) and adopts the posture with the maximum inlier number when the n-point pair information used for posture estimation by the PnP estimation method is randomly changed.
  • the orientation estimation of the imaging unit 138 can be realized with high accuracy by using pairs of 100 points or more uniformly distributed over the entire key frame KF.
  • the SLAM processing unit 151 realizes self-position estimation and surrounding mapping by connecting a plurality of key frames KF obtained in this way with common landmarks.
  • the keyframe KFA in FIG. 10 includes landmarks L11 and L12 in the coordinate system W of the client device 111
  • the keyframe KFB includes landmarks L11 to L14 in the coordinate system W of the client device 111
  • the key frame KFC has landmarks L 13 and L 14 in the coordinate system W of the client device 111 .
  • the key frames KFA and KFB have common landmarks LM11 and LM12 within the common field of view Z1.
  • the SLAM processing unit 151 calculates the position of the keyframe KFB based on the common landmarks LM11 and LM12 and the position and orientation PA of the keyframe KFA. and pose PB.
  • the key frames KFB and KFC have common landmarks LM13 and LM14 in a region Z2 that is a common field of view.
  • the position and orientation PB of the keyframe KFB are known as described above, so the SLAM processing unit 151, based on the common landmarks LM13 and LM14 and the position and orientation PB of the keyframe KFB, Identify the position and pose PC of the keyframe KFC.
  • the SLAM processing unit 151 estimates the time-series position and orientation PA, PB, PC of the imaging unit 138 based on the information of the consecutive key frames KFA, KFB, KFC.
  • the SLAM processing unit 151 maps the surroundings of the imaging unit 138 using landmarks L11 to L14 based on the information of consecutive key frames KFA, KFB, and KFC.
  • the SLAM processing unit 151 estimates the position and orientation of the imaging unit 138 based on a set of key frames in this way, and forms a local map by mapping the surroundings. do.
  • a local map is defined as a result of estimating the position and orientation of the imaging unit 138 reproduced based on an aggregate of a plurality of key frames, and a result of mapping the surroundings.
  • a collection of a plurality of keyframes is the data structure of the local map, so the collection of a plurality of keyframes itself is hereinafter simply referred to as a local map.
  • the global map is also an aggregate of a plurality of keyframes.
  • the global map is different in that it is formed by a reference coordinate system that is common to multiple client devices 111 .
  • a local map A composed of keyframes KF1 and KF2 indicated by solid lines and a local map B composed of keyframes KF11 and KF12 indicated by dotted lines are combined. Think about the case.
  • the key frame KF1 has landmarks LM31 and LM32 of the coordinate system WA
  • the key frame KF2 has landmarks LM33 and LM34 of the coordinate system WA.
  • the key frame KF11 has landmarks LM33 and LM34 of the coordinate system WB
  • the key frame KF12 has landmarks LM35 and LM36 of the coordinate system WB.
  • the key frame KF2 of the local map A and the key frame KF11 of the local map B have common landmarks LM33 and LM34 in the common field of view Z11.
  • the local map combining unit 221 combines the three-dimensional coordinates of the landmarks LM33 and LM34 in the coordinate system WB with the landmarks LM33 and LM34 in the coordinate system WA. Based on the correspondence with the three-dimensional coordinates, the position and orientation of the imaging unit 138 in the coordinate system WB in the key frame KF11 are converted into the position and orientation of the imaging unit 138 in the coordinate system WA, and the land in the coordinate system WB is converted. The three-dimensional coordinates of the marks LM33 and LM34 are transformed into the three-dimensional coordinates of the landmarks LM33 and LM34 in the coordinate system WA.
  • the local map combining unit 221 also generates a key frame based on the correspondence relationship between the three-dimensional coordinates of the landmarks LM33 and LM34 in the coordinate system WB and the three-dimensional coordinates of the landmarks LM33 and LM34 in the coordinate system WA.
  • the position and orientation of the imaging unit 138 in the coordinate system WB in KF12 are converted into the position and orientation of the imaging unit 138 in the coordinate system WA, and the three-dimensional coordinates of the landmarks LM35 and LM36 in the coordinate system WB are converted to the coordinate system WA to the three-dimensional coordinates of landmarks LM35 and LM36.
  • the three-dimensional coordinates of the landmarks of the key frames KF1, KF2, KF11, and KF12, and the position and orientation of the imaging unit 138 in each of them are all made in the common reference coordinate system WA.
  • local maps A and B are combined to generate a global map consisting of key frames KF1, KF2, KF11, and KF12, and initialization of SLAM for the global map is realized.
  • the first case is a case where the local map connection fails, and the second case is a case where the client device 111 alone fails. be.
  • a case where a common field of view with others cannot be obtained means, for example, that the area Z11 that becomes the common field of view described with reference to FIG. This is a failure due to the inability to transform the coordinate system due to the absence of keyframes.
  • users 251-1 through 251-5 each possess client devices 111-1 through 111-5, and the client devices 111-1 through 111-3 and a group of client devices 111-4 to 111-5, the local maps have been successfully combined within each group, but the local maps have not been combined between the groups. Think about when you are failing.
  • guide information 261, 261' as shown in FIG. 14 is presented.
  • both the guide information 261 and 261' indicate that the group of the client devices 111-1 to 111-3 and the group of the client devices 111-4 and 111-5 have successfully combined the local maps within each group. but failed to join between groups.
  • FIG. 14 is a display example of the guide information 261 presented on each of the client devices 111-1 to 111-3. Icons 251v-1 to 255v-3 and icons 255v'-4 and 255v'-5 are displayed.
  • the icons 251v-1 to 255v-3 of the users belonging to the groups of the client devices 111-1 to 111-3, to which the local map to which the client device 111 belongs have been successfully combined, have a background of Icons 251v′-4 and 255v′-5 corresponding to users whose client device 111 does not belong and whose local map has failed to join with their own group are displayed in white with a gray background.
  • the users 251-1 through 251-3 of the client devices 111-1 through 111-3 can determine that they belong to the group of the client devices 111-1 through 111-3, and the combined local map. succeeds, but fails to combine the local map with the group of client devices 111-4, 111-5.
  • FIG. 14 shows a display example of guide information 261' presented on the client devices 111-4 and 111-5, and icons corresponding to users 251-1 to 255-5 are shown. 251v'-1 to 255v'-3 and icons 255v-4 and 255v-5 are displayed.
  • the icons 251v-4 and 255v-5 of the users belonging to the groups of the client devices 111-4 and 111-5, to which the local maps to which their own client device 111 belongs have been successfully combined are , icons 251v′-1 to 255v′-3 corresponding to users whose client device 111 does not belong and whose local map has failed to be combined with their own group are displayed with a gray background. is displayed.
  • the users 251-4 and 251-5 of the client devices 111-4 and 111-5 belong to the group of the client devices 111-4 and 111-5, and the local map It can be recognized that the association is successful, but the association of the local map with the group of client devices 111-1 through 111-3 is unsuccessful.
  • each user 251-1 through 251-5 of the client devices 111-1 through 111-5 can capture an image of the common field of view with the client device 111 of the user 251 failing to combine local maps. , it can be recognized that it is easy to resolve the failure of joining local maps.
  • FIG. 14 shows an example of the guide information 261, 261' when there are two groups of client devices 111 whose local maps have been successfully combined, but more groups are presented.
  • the backgrounds of the respective icons 251v and 251v' are colored white and gray, but they may be distinguished by more colors.
  • an example is shown in which the success or failure of local map merging is represented by the background color of another user represented by an icon. may be expressed by a method other than the example in FIG. For example, a list of users whose local maps have failed to be combined may be displayed for each user. At this time, a list of users whose local maps have been successfully combined may also be displayed.
  • guide information 271 prompting reconnection, such as "It seems that communication has been interrupted. Please reconnect.”
  • a case where sufficient feature points cannot be obtained is, for example, a state in which texture is insufficient in the captured image and no feature points can be obtained.
  • guide information 281 includes a comment guide 281a such as "Insufficient feature points. Please capture an image with sufficient texture.” and a feature point gauge 281b. to indicate that it is necessary to capture a scene with sufficient texture, and how many feature points are required to capture the scene with sufficient texture. You can also prompt
  • the feature point gauge 281b in FIG. 16 is a SLAM for the number of key points that become feature points (the number of pair information, which is the number of pair information of two-dimensional coordinate information and three-dimensional coordinate information of corresponding landmarks).
  • the ratio of the number of currently detected keypoints to the minimum number of keypoints required for the processing of is expressed by the number of white squares to the total number of squares.
  • the feature point gauge 281b in FIG. 16 has 10 squares in total, whereas 7 squares are displayed in white. It shows that the merging of local maps has failed because only 70% of the keypoints are obtained for the number.
  • the guide information 281 including the comment guide 281a and the feature point gauge 281b By displaying the guide information 281 including the comment guide 281a and the feature point gauge 281b, such as "Insufficient feature points. Please capture an image with sufficient texture.” It is possible to prompt the imaging of a certain scene.
  • the user can recognize that there is a possibility of resolving the failure of combining local maps by capturing a scene with sufficient texture.
  • an image that constitutes a keyframe is divided into blocks of a fixed size, and the number of blocks satisfying the condition that the number of keypoints to be feature points in each block exceeds the minimum required number of keypoints is counted,
  • the ratio to the number of blocks satisfying the minimum conditions required for SLAM processing may be expressed by the number of white squares to the total number of squares.
  • the user can obtain the number of pair information of the two-dimensional coordinate information of the key point that is the feature point and the three-dimensional coordinate information of the corresponding landmark, and the entire image that constitutes the key frame. It is possible to recognize how much pair information number is necessary after taking into consideration the distribution of areas that satisfy the information of the number of pair information.
  • the failure can be resolved by moving the client device 111 in the horizontal direction to forcibly prompt the generation of moving parallax.
  • a display image in which a person moves a smartphone, which is the client device 111, in a horizontal direction is displayed together with guide information 291 written as "Please move the smartphone horizontally.” may be displayed.
  • Guide information 291 as shown in FIG. 17 enables the user to recognize that local map combination has failed due to insufficient movement parallax. It becomes possible to recognize that there is a possibility that the failure can be eliminated by moving horizontally.
  • FIG. 18 is a flowchart explaining the processing of the client device 111
  • FIG. 19 is a flowchart explaining the processing of the server 112.
  • step S11 the SLAM processing unit 151 activates the imaging unit 138.
  • step S12 the SLAM processing unit 151 controls the imaging unit 138 to start imaging and sequentially supply imaging results.
  • step S13 the SLAM processing unit 151 initializes SLAM for the local map.
  • step S14 the SLAM processing unit 151 executes SLAM based on the captured image and extracts key frames.
  • the SLAM processing unit 151 extracts the feature points as keypoints, identifies the two-dimensional coordinates, calculates the feature amount, calculates the three-dimensional coordinates of the landmarks corresponding to the keypoints based on the moving parallax, and extracts the keypoints. Paired information of the two-dimensional coordinates of and the three-dimensional coordinates of the landmark is detected.
  • the SLAM processing unit 151 then generates a local map as an aggregation of keyframes and stores it in the storage unit 134 .
  • step S15 the SLAM processing unit 151 controls the communication unit 135 to transmit the local map stored in the storage unit 134 together with information identifying itself to the server 112 via the network 113.
  • step S31 the local map combining unit 221 of the server 112 controls the communication unit 205 to determine whether the local map has been transmitted from any client device 111 via the network 113. , the same process is repeated until it is sent.
  • step S31 When the local map is transmitted from the client device 111 in step S31, the process proceeds to step S32.
  • step S32 the local map combining unit 221 controls the communication unit 205 to acquire the local map transmitted from the client device 111, and stores it in the storage unit 204 in association with the information identifying the client device 111. .
  • step S33 the local map combining unit 221 determines whether or not the predetermined time has passed, and if it is determined that the predetermined time has not passed, the process returns to step S31. That is, the process of accepting transmission of the local map from the client device 111 is repeated until the predetermined time elapses.
  • step S33 determines whether the predetermined time has elapsed. If it is determined in step S33 that the predetermined time has elapsed, the process proceeds to step S34. It should be noted that each time a local map is accepted, the process may proceed to step S34, and in this case, the process of step S33 may be deleted.
  • step S34 the local map combining unit 221 combines the local maps from all the client devices 111 stored in the storage unit 204. More specifically, the local map combining unit 221 repeats the process of combining local maps from all client devices 111 stored in the storage unit 204 by the method described with reference to FIG.
  • step S35 the local map linking unit 221 determines whether linking of the local maps has failed and initialization of SLAM for the global map has failed.
  • step S34 when it becomes impossible to combine all local maps for some reason, it is determined that the local maps have failed to combine. .
  • step S35 If it is determined in step S35 that the connection of the local maps has failed and the initialization of the SLAM for the global map has failed, the process proceeds to step S36.
  • step S36 the local map combining unit 221 identifies the cause of the combining failure.
  • step S37 the local map combining unit 221 executes failure notification processing, generates guide information for resolving the failure corresponding to the cause of the combining failure, and notifies it to the client device 111, and the process proceeds to step S31. back to At this time, the local map combining unit 221 resets the elapsed time in step S33 and erases the local map stored in the storage unit 204.
  • FIG. 1 the local map combining unit 221 executes failure notification processing, generates guide information for resolving the failure corresponding to the cause of the combining failure, and notifies it to the client device 111, and the process proceeds to step S31. back to At this time, the local map combining unit 221 resets the elapsed time in step S33 and erases the local map stored in the storage unit 204.
  • steps S31 to S37 is repeated until all local maps are combined and SLAM initialization for the global map is completed. Details of the failure notification process in step S37 will be described later with reference to the flowchart of FIG.
  • step S35 if it is determined that the connection of the local maps did not fail and the initialization of the SLAM for the global map was successful, the process proceeds to step S38.
  • step S38 the local map combining unit 221 controls the communication unit 205 to successfully combine the local map for the client device 111 stored in association with the local map stored in the storage unit 204. and notifies the completion of SLAM initialization for the global map.
  • step S39 the local map combining unit 221 causes the storage unit 204 to store the generated global map.
  • the position estimation unit 222 estimates the position and orientation of each client device 111 from the information of the local map of each client device 111 based on the global map, controls the communication unit 205, and The location information is sent to the client device 111 and the process ends.
  • SLAM initialization for the global map is completed, the global map is constructed, stored in the storage unit 204 , and the position and orientation of each is estimated and transmitted to each client device 111 .
  • the global map update unit 223 sequentially updates the global map stored in the storage unit 204 based on the local map transmitted from the client device 111 as information on the reference coordinate system of the global map. Repeat process.
  • step S16 the SLAM processing unit 151 controls the communication unit 135 to determine whether or not the server 112 reports that the local map has been successfully combined. .
  • step S16 if the local map combination success was not notified, that is, if the guide information corresponding to the cause of the local map combination failure was notified, the process proceeds to step S17.
  • step S17 the SLAM processing unit 151 controls the communication unit 135 to acquire guide information transmitted from the server 112 according to the cause of the local map combination failure.
  • step S18 the SLAM processing unit 151 controls the display unit of the output unit 133 to present the acquired guide information, and the process returns to step S14.
  • steps S14 to S18 is repeated until the local maps are combined successfully, and the guide information transmitted from the server 112 corresponding to the cause of the unsuccessful combination is acquired and presented to the user. Repeated.
  • step S16 when it is notified that the connection of the local maps has succeeded, that is, the initialization of SLAM for the global map has succeeded, the process proceeds to step S17.
  • step S19 the SLAM processing unit 151 controls the communication unit 135 to acquire information on its own position and orientation in the reference coordinate system of the global map transmitted from the server 112.
  • the SLAM processing unit 151 can generate a local map generated in its own SLAM processing as information on the reference coordinate system of the global map, and sequentially transmit the information to the server 112. It is possible to implement updating of the global map in the server 112 .
  • the guide information corresponding to the cause of the failure in merging is displayed until the merging of the local maps succeeds.
  • step S51 the local map combining unit 221 determines whether or not the local map combining failure is due to a single client device 111 failure.
  • step S51 If it is determined in step S51 that the connection has failed due to the client device 111 alone, the process proceeds to step S52.
  • step S52 the local map combining unit 221 determines whether or not the cause of the combining failure is that sufficient feature points cannot be obtained.
  • step S52 If it is determined in step S52 that the cause of the unsuccessful combination is that sufficient feature points (key points) cannot be obtained, the process proceeds to step S53.
  • step S ⁇ b>53 the local map combining unit 221 generates guide information that prompts the user to capture a scene with sufficient texture, controls the communication unit 205 , and transmits the guide information to the client device 111 .
  • the guide information that prompts the user to capture a scene with sufficient texture is, for example, the guide information 281 including the comment guide 281a and the feature point gauge 281b described with reference to FIG.
  • the display enables the user to recognize that sufficient feature points have not been obtained. Also, the user can recognize whether or not a scene with sufficient texture has been captured by looking at the ratio of white squares in the feature point gauge 281b.
  • the user can select a scene and shoot while recognizing which scene image has sufficient texture while shooting various images. That is, it is possible to guide the initialization of SLAM to the global map to success.
  • step S52 If it is determined in step S52 that the cause of the unsuccessful combination is not the inability to obtain sufficient feature points, the process proceeds to step S54.
  • step S54 the local map combining unit 221 determines whether or not the cause is that sufficient movement parallax cannot be obtained and the three-dimensional coordinates of landmarks cannot be obtained.
  • step S54 If it is determined in step S54 that the cause is that sufficient movement parallax cannot be obtained and the three-dimensional coordinates of the landmark cannot be obtained, the process proceeds to step S55.
  • step S ⁇ b>55 the local map combining unit 221 generates guide information that prompts the client device to move horizontally, controls the communication unit 205 , and transmits it to the client device 111 .
  • the guide information that prompts the client device to move in the horizontal direction is, for example, the guide information 291 described with reference to FIG. , it is possible to make the user aware that the failure to obtain the three-dimensional coordinates of the landmark is the cause of the failure. Further, the guide information 281 allows the user to recognize that there is a possibility that the local map combination failure can be resolved by moving the client device 111 in the horizontal direction.
  • the user can forcibly perform actions that cause movement parallax, and as a result, it is possible to lead the local map connection, that is, SLAM initialization to the global map to success.
  • step S51 If it is determined in step S51 that the client device 111 alone has not failed to combine, it is considered that the local map has failed to combine, and the process proceeds to step S56.
  • step S56 the local map combining unit 221 determines whether or not the failure to combine a plurality of local maps is due to the lack of a common field of view.
  • step S56 If it is determined in step S56 that the failure to combine is due to the lack of a common field of view between a plurality of local maps, the process proceeds to step S57.
  • step S ⁇ b>57 the local map combining unit 221 generates guide information that prompts capturing of an image that provides a common field of view, controls the communication unit 205 , and transmits the guide information to the client device 111 .
  • the guide information that prompts the imaging of an image that provides a common field of view is, for example, the guide information 261, 261′ described with reference to FIG. is successful, and whose client device 111 has failed to be combined with the local map is displayed. It becomes possible to
  • the user can, for example, agree with the user whose local map combination has failed, and perform an operation to capture an image of the same subject, thereby generating a common field of view.
  • step S56 If it is determined in step S56 that the lack of a common field of view between a plurality of local maps is not the cause of the unsuccessful combination, the process proceeds to step S58.
  • step S58 the local map combining unit 221 determines whether or not the cause of the local map combining failure is the interruption of communication.
  • step S58 If it is determined in step S58 that the cause of the local map combination failure is that the communication has been interrupted, the process proceeds to step S59.
  • step S ⁇ b>59 the local map combining unit 221 generates guide information prompting reconnection, controls the communication unit 205 , and transmits it to the client device 111 .
  • the guide information prompting reconnection is, for example, the display of the guide information 271 described with reference to FIG. can be recognized. Also, the user can recognize that there is a possibility that the failure can be resolved by reconnection.
  • the user can, for example, control the communication unit 135 to perform operations such as reconnection.
  • step S54 If it is determined in step S54 that insufficient movement parallax is not the cause, or if it is determined in step S58 that the communication is not interrupted, the process proceeds to step S60. move on.
  • step S60 the local map combining unit 221 controls the communication unit 205 and notifies that although the cause cannot be identified, local map combining has failed and SLAM initialization for the global map has not been achieved. .
  • the user is presented with guide information for resolving the failure according to the cause, so that even if the connection of the local maps fails, the user can make the connection of the local maps successful by his or her own actions. It becomes possible.
  • the object recognition processing is applied to the image captured by the client device 111 of the user to which the local map is not combined, and the subject necessary for forming the common field of view is determined from the object recognition result. may be specified, and guide information prompting imaging of the specified subject may be presented.
  • a client device 111-51 possessed by a user 251-51 captures an image of a subject 301 consisting of a flower and recognizes that it is a “flower” through object recognition processing
  • the client When the device 111-51 transmits the local map to the server 112, the device 111-51 transmits the object recognition result of "flower” in association with it.
  • the server 112 Guide information 302 such as "Please take a picture of a flower” as shown in the client device 111-52 in FIG. 21 is generated and transmitted based on the "flower" information that is the object recognition result.
  • the client device 111-52 When the client device 111-52 acquires the guide information 302 such as "Please take a picture of the flower", it controls the display section of the output section 133 of the output section 113-52 and presents it.
  • the users 251-52 cannot recognize which of the client devices 111-52 possessed by themselves has failed to join the local map with the client device 111 possessed by the user 251. , can recognize that the local map binding is failing.
  • the user 251-52 is presented with the guide information 302 as shown in FIG. It is possible to recognize that there is a possibility that the failure of
  • the client device 111' in FIG. 22 basically has the same functions as the client device 111 in FIG. 22
  • the object recognition unit 311 is configured to recognize an object based on an image by machine learning such as deep learning.
  • the result is supplied to the SLAM processing unit 151 .
  • the SLAM processing unit 151 generates a local map, adds the corresponding object recognition result, controls the communication unit 135, and transmits it to the server 112. 21 from the server 112, the SLAM processing unit 151 acquires the guide information 302, controls the display unit of the output unit 133, and presents it.
  • the local map combining unit 221 of the server 112 cannot obtain a common field of view and the combining fails, for example, as shown in FIG. 21 is generated based on the object recognition result and transmitted to the client device 111-52 for which a common field of view with 51 has not been obtained.
  • SLAM initialization processing by the client device 111' in FIG. 22 will be described with reference to the flowchart in FIG.
  • the processing of steps S111 to S114 and S117 to S120 in the flowchart of FIG. 23 is the same as the processing of steps S11 to S14 and S16 to S19 in FIG. 18, so the description thereof will be omitted.
  • step S115 when the local map is generated by the processing of steps S111 to S114, the processing proceeds to step S115.
  • step S ⁇ b>115 the object recognition unit 311 executes object recognition processing within the image used as the key frame, and supplies the object recognition result to the SLAM processing unit 151 .
  • step S116 the SLAM processing unit 151 associates the generated local map with the object recognition result, controls the communication unit 135, and transmits them to the server 112.
  • step S118 the guide information 302 as shown in FIG. 21 is generated, and acquired in step S118. It is presented in step S119.
  • steps S151 to S156 and S158 to S160 in the flowchart of FIG. 24 is the same as the processing of steps S51 to S56 and S58 to S60 of FIG. 20, so description thereof will be omitted.
  • step S156 determines whether the cause of the unsuccessful combination is that a common field of view is not obtained between a plurality of local maps. If it is determined in step S156 that the cause of the unsuccessful combination is that a common field of view is not obtained between a plurality of local maps, the process proceeds to step S157.
  • step S ⁇ b>157 the local map combining unit 221 generates guide information that prompts capturing of an image that provides a common field of view, controls the communication unit 205 , and transmits the guide information to the client device 111 .
  • the guide information that prompts the imaging of an image that provides a common field of view is, for example, the guide information 302 as described with reference to FIG.
  • guide information is generated that prompts the other client device 111 for which local map combination has failed to take an image of the subject corresponding to the object recognition result. .
  • the user cannot recognize which client device 111 the local map cannot be combined with, but the same common field of view can be obtained by imaging the target subject. It becomes possible to recognize that the image containing the image can be captured.
  • the user can, for example, take an image of the same object as the other client device 111 whose local map combination has failed, thereby generating a common field of view. Become.
  • the server 112 acquires the local map from the client device 111, combines them to generate a global map, and, in the event of a failure in combining, transmits guide information according to the cause of the failure. I've given you an example of how to do it.
  • any one of the plurality of client devices 111 can represent the client device 111 and realize the function as the server 112. good.
  • Example of execution by software By the way, the series of processes described above can be executed by hardware, but can also be executed by software. When a series of processes is executed by software, the programs that make up the software are built into dedicated hardware, or various functions can be executed by installing various programs. installed from a recording medium, for example, on a general-purpose computer.
  • FIG. 25 shows a configuration example of a general-purpose computer.
  • This computer incorporates a CPU (Central Processing Unit) 1001 .
  • An input/output interface 1005 is connected to the CPU 1001 via a bus 1004 .
  • a ROM (Read Only Memory) 1002 and a RAM (Random Access Memory) 1003 are connected to the bus 1004 .
  • the input/output interface 1005 includes an input unit 1006 including input devices such as a keyboard and a mouse for the user to input operation commands, an output unit 1007 for outputting a processing operation screen and images of processing results to a display device, and programs and various data.
  • LAN Local Area Network
  • magnetic discs including flexible discs
  • optical discs including CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc)), magneto-optical discs (including MD (Mini Disc)), or semiconductors
  • a drive 1010 that reads and writes data from a removable storage medium 1011 such as a memory is connected.
  • the CPU 1001 reads a program stored in the ROM 1002 or a removable storage medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, installs the program in the storage unit 1008, and loads the RAM 1003 from the storage unit 1008. Various processes are executed according to the program.
  • the RAM 1003 also appropriately stores data necessary for the CPU 1001 to execute various processes.
  • the CPU 1001 loads, for example, a program stored in the storage unit 1008 into the RAM 1003 via the input/output interface 1005 and the bus 1004, and executes the above-described series of programs. is processed.
  • a program executed by the computer (CPU 1001) can be provided by being recorded on a removable storage medium 1011 such as a package medium, for example. Also, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage section 1008 via the input/output interface 1005 by loading the removable storage medium 1011 into the drive 1010 . Also, the program can be received by the communication unit 1009 and installed in the storage unit 1008 via a wired or wireless transmission medium. In addition, programs can be installed in the ROM 1002 and the storage unit 1008 in advance.
  • the program executed by the computer may be a program that is processed in chronological order according to the order described in this specification, or may be executed in parallel or at a necessary timing such as when a call is made. It may be a program in which processing is performed.
  • the CPU 1001 in FIG. 22 realizes the functions of the control units 131 and 201 in FIGS. 7, 8 and 22.
  • a system means a set of multiple components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules in one housing, are both systems. .
  • the present disclosure can take the configuration of cloud computing in which a single function is shared by multiple devices via a network and processed jointly.
  • each step described in the flowchart above can be executed by a single device, or can be shared by a plurality of devices.
  • one step includes multiple processes
  • the multiple processes included in the one step can be executed by one device or shared by multiple devices.
  • a generation unit that generates a global map by combining local maps generated in each of a plurality of other information processing devices, The information processing apparatus, wherein, when the local map combination fails, the generation unit presents guide information for solving the local map combination failure.
  • the generation unit presents guide information for solving the failure according to the type of the cause of the failure in the combination of the local maps.
  • the types of causes for failure in combining the local maps include a cause that occurs when the local maps are combined and a cause that occurs when the local maps are generated.
  • the cause that occurs when combining the local maps is the cause that a common field of view is not included in the key frames that constitute the local map;
  • the cause of the failure to combine the local maps is a cause that occurs when the local maps are combined, and is caused by the fact that the keyframes that make up the local maps do not include a common field of view
  • the generation unit indicates a group of the other information processing devices for which the local map has been successfully combined and a group of the other information processing devices for which the local map has failed to be combined, Presenting information prompting capture of an image including the common field of view with the other information processing device belonging to the group in which the local map combination has failed, as the guide information for solving the local map combination failure.
  • the information processing apparatus according to ⁇ 5>.
  • the generation unit presents information of a subject captured by the other information processing device for which the local map combination has failed, and prompts the capturing of the subject to generate an image including the common field of view.
  • the information processing apparatus in which the information prompting the imaging of the local map is presented as the guide information for solving the failure of combining the local maps.
  • the cause of the local map combination failure is a cause that occurs when the local maps are combined and is caused by a disconnection of communication related to the transfer of the local map, the generation unit
  • the information processing apparatus according to ⁇ 4>, wherein the information prompting reconnection of the communication is presented as the guide information for solving the failure of combining the local maps.
  • the cause that occurs when the local map is generated is the cause that a sufficient number of key points cannot be obtained from the key frames that constitute the local map. and a cause caused by not being able to obtain the moving parallax for obtaining the three-dimensional coordinates of the landmark in the key frame.
  • the cause of the failure to combine the local maps is a cause that occurs when the local map is generated, and is caused by an inability to obtain a sufficient number of key points from the key frames that constitute the local map.
  • the information processing apparatus according to ⁇ 10>, wherein the generation unit presents information prompting an image with sufficient texture to be captured as the guide information for solving a failure in combining the local maps.
  • the generation unit provides information prompting the user to capture an image with sufficient texture and a ratio of the number of keypoints obtained from the current keyframe to the minimum number of keypoints.
  • the information processing apparatus in which the information indicating is presented as the guide information for solving the failure of combining the local maps.
  • the generating unit includes information prompting the user to capture an image with sufficient texture, and the minimum number of keypoints per region when the keyframe is divided into regions of a fixed size. Information indicating the ratio of the number of areas satisfying the condition where more keypoints are obtained than the number of areas to the minimum number of areas is presented as the guide information for solving the failure of combining the local maps.
  • the information processing apparatus according to ⁇ 11>.
  • the cause of the local map combination failure is the cause that occurs when the local map is generated, and the cause that occurs because the moving parallax for obtaining the three-dimensional coordinates of the landmark in the key frame cannot be obtained.
  • the information processing apparatus according to ⁇ 10>, wherein the generation unit presents information prompting the user to capture an image while moving in the horizontal direction as the guide information for solving the failure of combining the local maps. . ⁇ 15>
  • the generation unit converts the common coordinate system into a common coordinate system based on the three-dimensional coordinates of common landmarks between keyframes forming a local map generated in a different information processing apparatus,
  • the information processing apparatus according to any one of ⁇ 1> to ⁇ 14>, which combines local maps.
  • ⁇ 16> The information processing device according to any one of ⁇ 1> to ⁇ 15>, wherein the local map is generated by SLAM (Simultaneous Localization And Mapping) executed in the other information processing device.
  • SLAM Simultaneous Localization And Mapping
  • ⁇ 17> Generating a global map by combining local maps generated in each of a plurality of other information processing devices, The information processing method, comprising the step of: presenting guide information for solving the failure of combining the local maps when the combining of the local maps fails.
  • ⁇ 18> causing the computer to function as a generation unit that generates a global map by combining local maps generated in each of a plurality of other information processing devices; A program, wherein, when the combination of the local maps fails, the generation unit presents guide information for solving the failure of the combination of the local maps.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本開示は、複数のクライアント装置でXR技術を適用したアプリケーションプログラムを利用し易くする情報処理装置、および情報処理方法、並びにプログラムに関する。 サーバにおいて、クライアント装置で生成されるローカルマップを結合してグローバルマップを生成し、グローバルマップに対するSLAMの初期化処理を実行する際、ローカルマップの結合に失敗した場合、サーバは、失敗の原因に応じた結合の失敗を解消するためのガイド情報をクライアント装置に送信してユーザに提示させる。XR技術を利用したアプリケーションプログラムに適用することができる。

Description

情報処理装置、および情報処理方法、並びにプログラム
 本開示は、情報処理装置、および情報処理方法、並びにプログラムに関し、特に、複数のクライアント装置でXR技術を適用したアプリケーションプログラムを利用し易くする情報処理装置、および情報処理方法、並びにプログラムに関する。
 XR(Extended Reality)に総称されるAR(Augmented Reality)、VR(Virtual Reality)、MR(Mixed Reality)などを利用した技術が一般に普及しつつある。
 このXRを利用する技術の一つであるアプリケーションプログラムにおいて、CG(Computer Graphics)を、クライアント装置を構成するデバイスの位置や姿勢(デバイスの向き)に応じて違和感なく、重畳して表示するために、SLAM(Simultaneous Localization And Mapping)と呼ばれる自己位置推定技術が用いられる。
 このSLAMとVR技術を利用したものとして、例えば、デジタル空間にいるユーザが現実の障害物に衝突する危険を回避する技術が提案されている(特許文献1参照)。
 ところで、従来は、クライアント装置において、個別にSLAMが動作し、個別の自己位置推定結果に基づいて、CGが重畳表示されていた。
 一方で、近年、5G(第5世代移動通信システム)などの通信性能の飛躍的な向上に伴い、複数のクライアント装置が互いの自己位置推定結果を共通化して共有し、共有されている位置情報推定結果に基づいてCGを重畳表示することが可能になってきている。
 これにより、例えば、XR技術を利用したゲームにおいては、複数のユーザのクライアント装置上で、それぞれの位置や姿勢に応じた状態で共通のCGを重畳表示させることが可能となり、複数のユーザが、それぞれのクライアント装置を利用しながら、リアルタイムで共通の体験を実現することが可能となっている。
 また、XR技術を利用したゲームなどでは、物理的に離れたユーザ同士でも、それぞれのクライアント装置において表示されるデジタル空間上で、互いの位置関係を把握しながらインタラクションすることが可能となっている。
 ところで、これらのXR技術を利用したアプリケーションプログラムにおいては、SLAMの初期化が必要とされる。
 SLAMの初期化とは、個々のクライアント装置で生成されるローカルマップを結合し、共通の座標系で利用できるように統一化を図り、複数のクライアント装置における相互の自己位置推定結果を網羅的に表現するグローバルマップを生成する処理である。SLAMの初期化が図られると、その処理で生成されるグローバルマップが順次更新される。
 そこで、XR技術を利用したアプリケーションプログラムによる処理を実現する上で、このSLAMの初期化を高速化する技術が提案されている(特許文献2参照)。
 また、複数のユーザのそれぞれがクライアント装置を利用して、XR技術を利用したアプリケーションプログラムを実行するに当たって、衛星画像を使った世界規模のマップ上に各クライアント装置を接続し、上述したSLAMの初期化に対応する処理を実現する技術が提案されている(特許文献3参照)。
 さらに、複数のユーザのそれぞれがクライアント装置を利用して、XR技術を利用した共有体験をしているときに、環境変化に応じて、共通の座標系で利用可能となったグローバルマップを更新する技術が提案されている(特許文献4参照)。
特開2021-2290号公報 特表2016-502712号公報 特開2021-111385号公報 特開2011-186808号公報
 上述した複数のクライアント装置で利用するアプリケーションプログラムにおける、グローバルマップに対するSLAMの初期化においては、個々のクライアント装置において、何らかの理由でローカルマップを生成できないといった失敗や、ローカルマップの結合ができないといった失敗など、様々な要因によりグローバルマップの生成ができず、SLAMの初期化が失敗することがある。
 グローバルマップに対するSLAMの初期化が失敗した場合、ユーザは、失敗の原因がわかっていれば、失敗を解消するための行動をとるといった対処が可能である。
 しかしながら、一般に、グローバルマップに対するSLAMの初期化が失敗した場合、XR技術を適用したアプリケーションプログラムの利用ができない状態になるだけであり、その原因は不明であることから、ユーザはなす術がなく、XR技術を適用したアプリケーションプログラムの利用ができない状態を解消させることができなかった。
 本開示は、このような状況に鑑みてなされたものであり、特に、複数のクライアント装置によるXR技術を適用したアプリケーションプログラムの利用にあたって、グローバルマップに対するSLAMの初期化の失敗を、ユーザ自身で、解消し易くする。
 本開示の一側面の情報処理装置およびプログラムは、複数の他の情報処理装置のそれぞれにおいて生成されるローカルマップを結合することによりグローバルマップを生成する生成部を備え、前記生成部は、前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗を解決するガイド情報を提示させる情報処理装置およびプログラムである。
 本開示の一側面の情報処理方法は、複数の他の情報処理装置のそれぞれにおいて生成されるローカルマップを結合することによりグローバルマップを生成し、前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗を解決するガイド情報を提示させるステップを含む情報処理方法である。
 本開示の一側面においては、複数の他の情報処理装置のそれぞれにおいて生成されるローカルマップが結合されることによりグローバルマップが生成され、前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗を解決するガイド情報が提示される。
ローカルマップとグローバルマップを説明する図である。 ローカルマップからグローバルマップを生成する例を説明する図である。 ローカルマップからグローバルマップを生成する例を説明する図である。 本開示のローカルマップからグローバルマップを生成する処理を説明する図である。 本開示の概要を説明する図である。 本開示の通信システムの好適に実施の形態の構成例を説明するブロック図である。 図6のクライアント装置の構成例を説明する図である。 図6のサーバの構成例を説明する図である。 ローカルマップおよびグローバルマップのデータ構造を説明する図である。 キーフレームに基づいた、位置および姿勢の検出方法と、マッピング方法を説明する図である。 ローカルマップの結合方法を説明する図である。 ローカルマップの結合の失敗の原因と解決法を説明する図である。 共通視野が存在しないことが結合失敗の原因であるときのガイド情報の表示例を説明する図である。 共通視野が存在しないことが結合失敗の原因であるときのガイド情報の表示例を説明する図である。 通信が途切れることが結合失敗の原因であるときのガイド情報の表示例を説明する図である。 特徴点となるキーポイントが充分でないことが結合失敗の原因であるときのガイド情報の表示例を説明する図である。 移動視差が充分でないことが結合失敗の原因であるときのガイド情報の表示例を説明する図である。 図7のクライアント装置によるSLAM初期化処理を説明するフローチャートである。 図8のサーバによるSLAM初期化処理を説明するフローチャートである。 図19のフローチャートの失敗通知処理を説明するフローチャートである。 本開示の通信システムにおいてクライアント装置に物体認識部を設けるようにしたときに表示されるガイド情報の例を説明する図である。 物体認識部を設けるようにした図6のクライアント装置の構成例を説明する図である。 図22のクライアント装置によるSLAM初期化処理を説明するフローチャートである。 図19のフローチャートの失敗通知処理の応用例を説明するフローチャートである。 汎用のコンピュータの構成例を示している。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.好適な実施の形態
 2.応用例
 3.ソフトウェアにより実行させる例
 <<1.好適な実施の形態>>
 <本開示の概要>
 本開示は、特に、グローバルマップの生成に失敗した場合、失敗の原因に応じたガイド情報を提示することで、グローバルマップの生成の失敗をユーザ自身で解消し易くし、複数のクライアント装置によるXR技術を適用したアプリケーションプログラムを利用し易くするものである。
 AR(Augmented Reality)、VR(Virtual Reality)、MR(Mixed Reality)などの総称であるXR(Extended Reality)技術を利用したアプリケーションプログラムにおいては、CG(Computer Graphics)を、クライアント装置を構成するデバイスの位置や姿勢(デバイスの向き)に応じて違和感なく、重畳して表示するために、SLAM(Simultaneous Localization And Mapping)と呼ばれる自己位置推定技術が用いられる。
 従来、複数のクライアント装置は、それぞれが個別にSLAMを動作させ、それぞれの自己位置推定結果に基づいて、個別にCGを重畳表示していた。
 一方で、近年、5G(第5世代移動通信システム)などの通信性能の飛躍的な向上に伴い、複数のクライアント装置が互いの相対的な自己位置推定結果を共通化して共有し、共有された情報に基づいてCGを重畳表示することが可能になってきている。
 これにより、例えば、XR技術を利用したゲームにおいては、複数のユーザのクライアント装置上で、それぞれの位置や姿勢に応じた状態で共通のCGを重畳表示させることで、複数のユーザが、それぞれのクライアント装置を利用しながら、リアルタイムで共通の体験を実現することが可能となっている。
 ところで、これらのXR技術を利用したアプリケーションプログラムにおいては、SLAMの初期化がなされる。
 SLAMの初期化とは、個々のクライアント装置におけるSLAMにより推定された自己位置情報に基づいて生成されるローカルマップを結合し、共通の座標系で利用できるように統一化を図り、複数のクライアント装置の相対的な位置関係を網羅的に表現するグローバルマップを生成する処理である。
 ここで、図1の通信システム11を参照して、具体的にSLAMの初期化について説明する。
 図1の通信システム11においては、ユーザ31-1乃至31-3のそれぞれが、例えば、スマートフォンやタブレットなどのクライアント装置32-1乃至32-3を所持しており、クライアント装置32-1乃至32-3のそれぞれが、個別にSLAMを実行して自己位置を推定し、ローカルマップM1乃至M3を生成する。
 尚、ユーザ31-1乃至31-3、および、クライアント装置32-1乃至32-3のそれぞれを特に区別する必要がない場合、単に、ユーザ31、およびクライアント装置32と称するものとし、その他の構成についても同様に称する。
 また、ユーザ31-1乃至31-3は、相互の位置関係を認識可能な共通の空間(実空間または仮想空間のいずれでもよい)に存在することを前提する。
 図1においては、クライアント装置32-1乃至32-3のそれぞれのローカルマップM1乃至M3が結合されることにより、共通の座標系として利用できるように統一化されることで、グローバルマップ33が生成されることが表現されている。
 また、グローバルマップ33上には、ローカルマップM1乃至M3が結合されることにより、ユーザ31-1乃至31-3が所持するクライアント装置32-1乃至32-3のそれぞれの位置情報33a-1乃至33a-3が登録されていることが表現されている。
 クライアント装置32-1乃至32-3は、このグローバルマップ33を基準として、クライアント装置32-1乃至32-3間の位置関係や、それぞれの位置や姿勢に応じて共通のCGを、自然な角度で重畳表示させることが可能となる。
 より具体的には、クライアント装置32-1乃至32-3のそれぞれにおいて、図示せぬカメラ(不図示)により現実空間の動画像が撮像されると、撮像結果が表示部(不図示)に表示される。ここで、例えば、現実空間に存在する特定の被写体が撮像されて、表示部に表示されるとき、画像内の特定の被写体上に、クライアント装置32-1乃至32-3の位置や姿勢に応じて、自然な角度で特定のキャラクタのCGがAR画像として重畳表示されるような共通のアプリケーションプログラムが実行されている場合について考える。
 この場合、クライアント装置32-1乃至32-3のそれぞれにおいて、撮像される画像に基づいて、SLAMが個別に実行されて、自己位置が推定され、ローカルマップが生成される。
 そして、生成されたローカルマップが結合されることによりグローバルマップが生成されて共有されると、クライアント装置32-1乃至32-3は、自らが撮像した画像内に、特定の被写体が入り込むとき、特定の被写体上に、グローバルマップに基づいた、自らの位置と姿勢とに対応する角度で、特定のキャラクタのCGをAR画像として重畳表示する。
 これにより、例えば、複数のユーザ31-1乃至31-3が、それぞれクライアント装置32-1乃至32-3を利用して、動画像を撮像する中で、共通する現実空間内の特定の被写体が画角内に入り込むような画像を撮像すると、自らの位置と姿勢に応じた自然な角度で、特定の被写体上に特定のキャラクタのCGがAR画像として重畳表示された画像を視聴することが可能となる。
 結果として、複数のユーザ31-1乃至31-3は、それぞれの位置や姿勢で、撮像する画像内の現実に存在する特定の被写体上にAR画像として重畳表示されるキャラクタのCGを、現実空間の被写体上に実像として存在しているかのように視聴することが可能になる。
 また、複数のユーザ31-1乃至31-3は、それぞれの位置と姿勢に加えて、相互の位置関係に対応した、自然な角度で、特定の被写体上にAR画像として重畳表示されるキャラクタのCGを視聴することが可能となる。
 結果として、複数のユーザ31-1乃至31-3は、リアルタイムで、共通のキャラクタのCGを、それぞれの位置と姿勢に加えて、相互の位置関係に対応した状態で、あたかも実像として視聴しているかのような体験を実現することが可能となっている。
 グローバルマップ33は、一度生成された後は、クライアント装置32-1乃至32-3から供給されるローカルマップM1乃至M3に基づいて、順次更新される処理が繰り返される。
 ここで、クライアント装置32-1乃至32-3からローカルマップM1乃至M3が最初に供給されて、結合されることにより、座標系が統一化されて、グローバルマップ33が生成される処理が、グローバルマップを生成するためのSLAMの初期化である。
 尚、クライアント装置32-1乃至32-3のそれぞれが個別にSLAMを開始して、ローカルマップM1乃至M3の生成を開始する処理は、ローカルマップを生成するためのSLAMの初期化である。
 すなわち、SLAMの初期化には、ローカルマップに対するものと、グローバルマップに対するものとがそれぞれ存在するが、本開示においては、グローバルマップに対する初期化を対象とする。
 <グローバルマップに対するSLAMの初期化(その1)>
 グローバルマップを生成するためのSLAMの初期化を実現する手法については、いくつかの手法がある。
 例えば、図2で示されるように、クライアント装置32-1乃至32-3のいずれかが生成したローカルマップの座標系を基準座標系として、他のローカルマップの情報を追加していくことによりグローバルマップ33が生成される手法がある。
 すなわち、図2では、クライアント装置32-1が生成したローカルマップM1上に、クライアント装置32-2,32-3において生成されたローカルマップM2,M3の情報が、ローカルマップM1の座標系を基準座標にして追加されることにより、グローバルマップ33が生成される。
 この場合、ローカルマップを結合させる必要がなくなるので、処理は簡易なものとなるが、クライアント装置32のうちのいずれのローカルマップを基準とするのかを決定する必要がある上、全てのローカルマップが、同一の基準座標を含むようにする必要があることから、全てのクライアント装置32-1乃至32-3は、共通の視野が含まれるような画像を利用する必要があり、UX(User eXperience)上の制約が多くなる。
 <グローバルマップに対するSLAMの初期化(その2)>
 また、図3で示されるように、クライアント装置32-1乃至32-3は、ローカルマップを生成するためのSLAMを実現する上で必要な画像P1乃至P3を、サーバ41に向けて送信する。
 サーバ41は、クライアント装置32-1乃至32-3から送信される画像P1乃至P3に基づいて、SfM(Structure-from-Motion:3D再構築)と呼ばれる技術を用いて、グローバルマップ33を構築する。
 図3の場合、図2を参照して説明したグローバルマップに対するSLAMの初期化と比較すると、UX上の制約はない反面、クライアント装置32-1乃至32-3は、画像をサーバ41に送信するため、送信データ量が大きく、またサーバ41側の処理負荷が大きい。
 <本開示のグローバルマップに対するSLAMの初期化>
 そこで、本開示のグローバルマップに対するSLAMの初期化は、図4の通信システム51で示されるような構成により実現されるようにする。
 すなわち、図4の通信システム51においては、ユーザ61-1乃至61-3のそれぞれが所持するクライアント装置62-1乃至62-3のそれぞれがローカルマップM1乃至M3をSLAMにより生成し、サーバ64に送信する。
 サーバ64は、クライアント装置62-1乃至62-3のそれぞれから送信されてくるローカルマップM1乃至M3を取得すると、それぞれの座標系を基準座標系に統一し、ローカルマップM1乃至M3を結合することで、グローバルマップ65を生成する。
 このような構成により、本開示の通信システム51においては、UXの制約がなく、サーバ64に送信される情報は、ローカルマップM1乃至M3であり、画像P1乃至P3と比較すると送信データ量を小さくすることができる上、サーバ64に掛かる処理負荷を低減させることが可能となる。
 また、サーバ64は、複数のローカルマップにおけるそれぞれの共通部分を重ね合わせるように結合することで、グローバルマップを生成する。
 しかしながら、複数のローカルマップの全てにおける共通部分が存在せず、全てのローカルマップが結合できない、十分な移動視差がなくローカルマップに対するSLAMが失敗する等、様々な理由でグローバルマップを構築することができず、グローバルマップに対するSLAMの初期化に失敗することがある。
 これまで、グローバルマップに対するSLAMの初期化が失敗するような状態となるとき、ユーザは、グローバルマップに対するSLAMの初期化に失敗していることは認識できても、何が原因であるのかを認識すること、およびどのようにすればSLAMの初期化を成功させることができるのかを認識することはできなかった。
 そこで、本開示においては、サーバ64が、グローバルマップに対するSLAMの初期化が失敗している原因に応じて、その対処法を、クライアント装置62を介してユーザ61に提示させ、グローバルマップに対するSLAMの初期化を成功できるように誘導する。
 例えば、複数のローカルマップの全てにおける共通部分が存在せず、全てのローカルマップが結合できないことが原因でグローバルマップに対するSLAMの初期化に失敗するような場合、結合しようとするローカルマップに双方の共通部分が構築されるようにすることで、グローバルマップに対するSLAMの初期化を実現可能とすることができる。
 より具体的には、図5で示されるように、ユーザ61-11,61-12の双方が所持するクライアント装置62-11,62-12のグローバルマップに対するSLAMの初期化が失敗しており、その原因が、双方のローカルマップにおける共通部分が存在しないことが原因であるようなときについて考える。
 このような場合、サーバ64は、クライアント装置62-11,62-12に対して、ローカルマップに双方の共通部分が構築されるような行動を促すように、グローバルマップに対するSLAMの初期化を成功できるようなガイド情報を供給し、クライアント装置62-11,62-12のそれぞれで提示されるようにする。
 例えば、サーバ64は、クライアント装置62-11,62-12に対して、双方のユーザ61-11,61-12に対してローカルマップにおける共通部分が発生するように、共通の被写体71を撮像するように促すガイド情報を供給し、ユーザ61-11,61-12に提示させる。
 ユーザ61-11,61-12は、このガイド情報の提示に基づいて、クライアント装置62-11,62-12を用いて共通の被写体71を撮像すると、双方のローカルマップに共通部分が発生することになるので、双方のローカルマップが結合できるようになり、結果として、グローバルマップに対するSLAMの初期化を成功させることが可能となる。
 このように本開示においては、サーバ64が、グローバルマップに対するSLAMの初期化が失敗する場合、失敗の原因に応じた対処法となるガイド情報を、クライアント装置62を介してユーザ61に提示させ、失敗の原因が解消するようにユーザ61を誘導することで、グローバルマップに対するSLAMの初期化を成功させる。
 これにより、グローバルマップに対するSLAMの初期化の失敗をユーザ自身で解消し易くできるので、複数のクライアント装置によるXR技術を適用したアプリケーションプログラムを利用し易くすることが可能となる。
 <本開示の通信システムの構成例>
 次に、図6を参照して、本開示の通信システムの構成例について説明する。
 図6の通信システム101は、クライアント装置111-1乃至111-n、サーバ112、およびネットワーク113より構成される。
 クライアント装置111-1乃至111-n、およびサーバ112は、インターネットや公衆回線等からなるネットワーク113を介して、相互にデータやプログラムの授受が可能とされる。
 クライアント装置111-1乃至111-nは、ユーザにより所持される、いわゆるスマートフォンやタブレットなどである。
 尚、以降において、クライアント装置111-1乃至111-nを特に区別する必要がない場合、単にクライアント装置111と称するものとし、その他の構成についても同様に称する。
 また、クライアント装置111-1乃至111-nのそれぞれのユーザは、相互の位置関係を認識可能な共通の空間(実空間または仮想空間のいずれでもよい)に存在することを前提する。すなわち、例えば、実空間であれば、複数のユーザは、相互に視認可能な位置関係に存在することを前提とする。
 クライアント装置111は、撮像部138(図7)を備えており、画像を撮像すると共に、撮像した画像に基づいて、例えば、XR技術を利用した各種のアプリケーションプログラムが実行される際、SLAMを実行し、周囲との位置関係から自己位置推定(位置および姿勢の推定)を実現すると共に、求められた位置と姿勢に基づいて、自らの座標系からなるローカルマップを生成する。
 クライアント装置111は、生成したローカルマップをサーバ112に送信すると共に、他のクライアント装置111からのローカルマップが、統一した基準となる座標系で、結合されることで生成されるグローバルマップを基準とした、位置および姿勢の情報を取得する。
 クライアント装置111は、XR機能を利用したアプリケーションプログラムにおいて、取得したグローバルマップを基準とした位置および姿勢の情報に基づいて、各種の画像を重畳表示する。
 クライアント装置111は、例えば、AR技術を適用して動作するアプリケーションプログラムを実行させているような場合、取得したグローバルマップを基準とした位置および姿勢の情報に基づいて、AR画像を重畳して表示する。
 これにより、クライアント装置111-1乃至111-nは、いずれも統一された基準座標系で構築されたグローバルマップ上の自らの位置と姿勢に基づいてAR画像を表示することになるため、クライアント装置111-1乃至111-nのそれぞれのユーザは、他のユーザとの位置や姿勢に対応したAR画像を視聴することが可能となる。
 結果として、クライアント装置111-1乃至111-nのユーザは、それぞれ基準座標系で構築されたグローバルマップ上の位置と姿勢に基づいて、自然な角度で重畳されたXR画像を視聴することが可能となるので、リアルタイムで共通の体験を実現することが可能となる。
 サーバ112は、ネットワーク113上において、クライアント装置111-1乃至111-nで実行されるXR技術を利用したアプリケーションプログラムを運営する団体により管理されるものであり、例えば、単体のサーバコンピュータ、または、クラウドコンピューティングにより実現される構成である。
 サーバ112は、クライアント装置111-1乃至111-nでXR技術を利用したアプリケーションプログラムが実行される際に、クライアント装置111-1乃至111-nより送信されてくるローカルマップを取得すると、それぞれのローカルマップを結合することで、統一された基準座標系からなるグローバルマップを生成し、生成したグローバルマップを基準としたクライアント装置111-1乃至111-nの位置および姿勢の情報をそれぞれに送信する。
 また、サーバ112は、ローカルマップの結合にあたって、何らかの原因でローカルマップを結合できなかった場合、その原因の種別を特定し、原因の種別に応じて、結合の失敗を解消させるように誘導するガイド情報を生成して、クライアント装置111に送信する。
 クライアント装置111は、サーバ112より送信されてくるローカルマップの結合の失敗を解消させるように誘導するガイド情報を取得すると、そのガイド情報をユーザに対して提示する。
 これにより、ユーザは、ローカルマップの結合に失敗しグローバルマップが取得できないことを認識することが可能になると共に、どのようにすればローカルマップの結合の失敗を解消して、グローバルマップを取得できるのかを認識することが可能となる。
 結果として、ユーザ自らでローカルマップの結合が失敗してしまう状況を解消させることが可能となるので、ユーザに対して、XR技術を利用したアプリケーションプログラムを、快適で、利用し易いものとすることが可能となる。
 <クライアント装置の構成例>
 次に、図7を参照して、クライアント装置111の構成例について説明する。
 クライアント装置111は、制御部131、入力部132、出力部133、記憶部134、通信部135、ドライブ136、およびリムーバブル記憶媒体137、撮像部138より構成されており、相互にバス139を介して接続されており、データやプログラムを送受信することができる。
 制御部131は、プロセッサやメモリから構成されており、クライアント装置111の動作の全体を制御する。また、制御部131は、SLAM処理部151、およびAR重畳処理部152を備えている。
 SLAM処理部151は、撮像部138により撮像される画像に基づいて、SLAMを実行し、SLAMの処理結果である自己位置推定結果に基づいて、自らの座標系のローカルマップを生成し記憶部134に記憶させる。
 SLAM処理部151は、通信部135を制御して、記憶部134に記憶されているローカルマップをサーバ112に送信する。
 SLAM処理部151は、通信部135を制御してサーバ112より送信されてくるグローバルマップを基準とした位置および姿勢の情報を取得して、記憶部134に記憶させる。
 SLAM処理部151は、グローバルマップを基準とした位置および姿勢の情報を取得した後は、各種のXR技術を利用した各種のアプリケーションプログラムの実行にあたっては、取得したグローバルマップを基準とした位置および姿勢の情報に基づいて処理を実行する。
 SLAM処理部151は、サーバ112よりローカルマップの結合が失敗したときに送信されてくる、ローカルマップの結合の失敗の原因の種別に応じた、結合の失敗を解消させるように誘導するためのガイド情報を取得し、出力部133を構成するディスプレイ等に表示する。
 AR重畳処理部152は、AR技術を利用して実現されるアプリケーションプログラムが実行される際、記憶部134に記憶されているローカルマップ、または、サーバ112より供給されるグローバルマップを基準とした位置および姿勢の情報に基づいて、AR画像を自然な角度に加工して重畳して表示する。
 尚、図7のクライアント装置111においては、XR技術のうち、AR画像を表示させるアプリケーションプログラムが実行される例について説明するものとするが、XR技術のその他を利用したものであってもよく、同様にローカルマップまたはグローバルマップに基づいた位置および姿勢の情報によりXR画像が重畳表示されるようにしてもよい。
 入力部132は、操作コマンドを入力するキーボード、マウス、タッチパネルや音声を入力するマイクロフォンなどの入力デバイスより構成され、入力された各種の信号を制御部131に供給する。
 出力部133は、制御部131により制御され、表示部、および音声出力部を備えている。出力部133は、操作画面や処理結果の画像を、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)などからなる表示デバイスからなる表示部に出力して表示する。また、出力部133は、音声出力デバイスからなる音声出力部を制御して、各種の音声を出力する。
 記憶部134は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、または、半導体メモリなどからなり、制御部131により制御され、コンテンツデータを含む各種のデータおよびプログラムを書き込む、または、読み出す。
 通信部135は、制御部131により制御され、有線または無線により、LAN(Local Area Network)やブルートゥース(登録商標)等に代表される通信を実現し、必要に応じてネットワーク113を介して、各種の装置との間で各種のデータやプログラムを送受信する。
 ドライブ136は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体137に対してデータを読み書きする。
 撮像部138は、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどからなり、制御部131により制御されて、画像を撮像する。
 <サーバの構成例>
 次に、図8を参照して、サーバ112の構成例について説明する。
 サーバ112は、制御部201、入力部202、出力部203、記憶部204、通信部205、ドライブ206、およびリムーバブル記憶媒体207より構成されており、相互にバス208を介して接続されており、データやプログラムを送受信することができる。
 制御部201は、プロセッサやメモリから構成されており、サーバ112の動作の全体を制御する。また、制御部201は、ローカルマップ結合部221、位置推定部222、およびグローバルマップ更新部223を備えている。
 ローカルマップ結合部221は、グローバルマップに対するSLAMの初期化処理として、複数のクライアント装置111より供給されてくる、それぞれの座標系からなるローカルマップを結合し、統一された基準座標系(グローバル座標系)からなるグローバルマップを生成する。
 ローカルマップ結合部221は、ローカルマップの結合にあたって、何らかの原因でローカルマップを結合できなかった場合、その原因の種別を特定し、原因の種別に応じて、結合の失敗を解消させるように誘導するガイド情報を生成して、クライアント装置111に送信する。
 位置推定部222は、グローバルマップに対するSLAMの初期化処理であるローカルマップが結合されて、グローバルマップが生成された後に、クライアント装置111より送信されてくるローカルマップにおける位置および姿勢の情報に基づいて、クライアント装置111の、グローバルマップを基準とした位置および姿勢を推定する。
 グローバルマップ更新部223は、クライアント装置111より送信されてくるローカルマップに基づいて、順次グローバルマップを更新し、環境の変化に応じた更新を続ける。
 尚、入力部202、出力部203、記憶部204、通信部205、ドライブ206、およびリムーバブル記憶媒体207については、図7の入力部132、出力部133、記憶部134、通信部135、ドライブ136、およびリムーバブル記憶媒体137と基本的に同様の構成であるので、その説明は省略する。
 <ローカルマップおよびグローバルマップを構成するデータ構造>
 次に、図9を参照して、ローカルマップおよびグローバルマップを構成するデータ構造について説明する。
 ローカルマップおよびグローバルマップは、キーフレームと呼ばれる撮像部138により撮像される画像より所定の選択基準により選択された画像から抽出される複数の情報の集合体である。
 より具体的には、キーフレームから抽出される画像内における特徴点であるキーポイントと、その特徴量、画像内の特徴点の2次元座標、特徴点における被写体であるランドマークの3次元空間内における座標(3次元座標)、およびキーフレームとなる画像を撮像したときの撮像部138の位置および姿勢からなる。
 例えば、図9で示されるキーフレームKFの場合、特徴点であるキーポイントKP1,KP2の特徴量と、それぞれの座標KP1(x1,y1),KP2(x2,y2)、それぞれのランドマークの座標LM1(x11,y11,z11),LM2(x12,y12,z12)、およびキーフレームKFを撮像したときの撮像部138の位置および姿勢Pからなる。尚、ここでは、位置および姿勢については、併せて1つの符号「P」で表現するものとする。
 すなわち、SLAM処理部151は、撮像部138により連続的に撮像される画像に基づいて、所定の選択基準によりキーフレームKFを選択し、キーフレームKFよりテクスチャに基づいて特徴点となるキーポイントを決定し、特徴量を抽出する。
 SLAM処理部151は、キーフレームKF内におけるキーポイントの2次元座標を特定すると共に、移動視差を利用して各キーポイントに対するランドマークの3次元座標を特定する。
 SLAM処理部151は、複数のキーポイントのそれぞれの2次元座標と、対応するランドマークの3次元座標とのペア情報を用いて、キーフレームKFを撮像したときの撮像部138の位置および姿勢、すなわち、実質的にクライアント装置111の位置および姿勢を算出する。
 3点以上のキーポイントのそれぞれの2次元座標と、対応するランドマークの3次元座標とのペア情報が取得されていれば、PnP(Perspective-n-Point)推定法を利用したアルゴリズムにより撮像部138の姿勢を推定できることが知られている。
 尚、PnP推定法での姿勢推定については、誤差の影響や同一平面上に3点がある状態を回避する必要があるため、一般的には、RANSAC(Random sample consensus)推定法と呼ばれる手法と組み合わせたPnP-RANSAC法が用いられる。
 RANSAC推定法は、n点のペアで、PnP推定法により推定された姿勢を使って、他のペア情報を画像上に投影したときに、それらがキーポイントと十分近い距離にいる数(inlier数)をカウントし、PnP推定法による姿勢推定に使用されるn点のペア情報をランダムに変えたときに最大のinlier数をもつ姿勢を採用する推定法である。
 ただし、撮像部138の姿勢推定は、キーフレームKFの全体に一様に分布した100点以上のペアを用いることで、精度よく実現される。
 SLAM処理部151は、このように求められた複数のキーフレームKFを共通のランドマークで接続することにより、自己位置の推定と周囲のマッピングとを実現する。
 <SLAMによるローカルマップの生成原理>
 次に、SLAMによるローカルマップの生成原理について説明する。ここで、例えば、図10で示されるようなキーフレームKFA,KFB,KFCが時系列に連続して存在するものとする。
 ここで、図10のキーフレームKFAは、クライアント装置111の座標系WにおけるランドマークL11,L12を備えており、キーフレームKFBは、クライアント装置111の座標系WにおけるランドマークL11乃至L14を備えており、キーフレームKFCは、クライアント装置111の座標系WにおけるランドマークL13,L14を備えているものとする。
 図10で示されるように、キーフレームKFA,KFBは、共通視野となる領域Z1内に共通のランドマークLM11,LM12を備えている。
 これにより、キーフレームKFAの位置および姿勢PAが既知である場合、SLAM処理部151は、共通のランドマークLM11,LM12と、キーフレームKFAの位置および姿勢PAとに基づいて、キーフレームKFBの位置および姿勢PBを推定する。
 また、図10においては、キーフレームKFB,KFCは、相互に共通視野となる領域Z2内に共通のランドマークLM13,LM14を備えている。
 これにより、キーフレームKFBの位置および姿勢PBは上述のように既知となったので、SLAM処理部151は、共通のランドマークLM13,LM14と、キーフレームKFBの位置および姿勢PBとに基づいて、キーフレームKFCの位置および姿勢PCを特定する。
 このように、SLAM処理部151は、連続するキーフレームKFA,KFB,KFCの情報に基づいて、撮像部138の時系列の位置および姿勢PA,PB,PCを推定する。
 また、同様に、SLAM処理部151は、連続するキーフレームKFA,KFB,KFCの情報に基づいて、ランドマークL11乃至L14を用いて、撮像部138の周囲をマッピングする。
 SLAM処理部151は、SLAMを実行することで、このように複数のキーフレームの集合体に基づいて、撮像部138の位置および姿勢を推定すると共に、周囲をマッピングすることで、ローカルマップを形成する。
 尚、ここでは、複数のキーフレームの集合体に基づいて再現される撮像部138の位置および姿勢の推定結果と、周囲のマッピング結果とからなるものをローカルマップと称しているが、実質的に、複数のキーフレームの集合体がローカルマップのデータ構造であるため、以降においては、複数のキーフレームの集合体そのものを、単に、ローカルマップとも称する。
 また、グローバルマップについても、複数のキーフレームの集合体であることに変わりがないが、ローカルマップは、各キーフレームの座標系が、クライアント装置111の個別の座標系であるのに対して、グローバルマップは、複数のクライアント装置111において共通となる基準座標系で形成される点で異なる。
 <ローカルマップの結合>
 次に、図11を参照して、ローカルマップの結合について説明する。
 例えば、図11で示されるように、実線で示されるキーフレームKF1,KF2から構成されているローカルマップAと、点線で示されるキーフレームKF11,KF12から構成されているローカルマップBとを結合させる場合について考える。
 ここで、ローカルマップAは、キーフレームKF1が、座標系WAのランドマークLM31,LM32を備え、キーフレームKF2が、座標系WAのランドマークLM33,LM34を備えるものとする。
 また、ローカルマップBにおいては、キーフレームKF11が、座標系WBのランドマークLM33,LM34を備え、キーフレームKF12が、座標系WBのランドマークLM35,LM36を備えるものとする。
 この時、共通視野となる領域Z11において、ローカルマップAのキーフレームKF2とローカルマップBのキーフレームKF11とは、共通のランドマークLM33,LM34を備えている。
 そこで、例えば、座標系WAをグローバルマップにおける基準座標系にする場合、ローカルマップ結合部221は、座標系WBのランドマークLM33,LM34の3次元座標と、座標系WAのランドマークLM33,LM34の3次元座標との対応関係に基づいて、キーフレームKF11における、座標系WBの撮像部138の位置および姿勢を、座標系WAの撮像部138の位置および姿勢に変換すると共に、座標系WBのランドマークLM33,LM34の3次元座標を、座標系WAのランドマークLM33,LM34の3次元座標に変換する。
 このとき、ローカルマップ結合部221は、併せて座標系WBのランドマークLM33,LM34の3次元座標と、座標系WAのランドマークLM33,LM34の3次元座標との対応関係に基づいて、キーフレームKF12における、座標系WBの撮像部138の位置および姿勢を、座標系WAの撮像部138の位置および姿勢に変換すると共に、座標系WBのランドマークLM35,LM36の3次元座標を、座標系WAのランドマークLM35,LM36の3次元座標に変換する。
 このような処理により、キーフレームKF1,KF2,KF11,KF12のランドマークの3次元座標、並びにそれぞれにおける撮像部138の位置および姿勢は、いずれも共通の基準座標系WAのものとされ、座標系の共通化が図られ、ローカルマップA,Bが結合されて、キーフレームKF1,KF2,KF11,KF12からなるグローバルマップが生成されて、グローバルマップに対するSLAMの初期化が実現される。
 <グローバルマップに対するSLAMの初期化の失敗の原因と解決策>
 次に、図12を参照して、グローバルマップに対するSLAMの初期化の失敗の原因と解決策について説明する。
 <共通視野が得られず失敗する場合>
 グローバルマップに対するSLAMの初期化の失敗は、大きく2つのケースに分けられ、第1のケースは、ローカルマップ結合で失敗するケースであり、第2のケースは、クライアント装置111単体で失敗するケースである。
 ローカルマップ結合で失敗するケースについては、他人との共通視野が得られず結合に失敗する場合と、通信が途中で途切れてしまって失敗するケースが挙げられる。
 他人との共通視野が得られない場合とは、例えば、図11を参照して説明した共通視野となる領域Z11が得られず、座標系を変換するために使用する同一のランドマークを備えたキーフレームが存在しないことにより、座標系の変換ができないことに起因する失敗である。
 そこで、この場合、解決策としては、誰との共通視野が得られていないのか、それによって、共通視野を形成するようにするにはどこを写せばよいのかを促すことで、ローカルマップの結合の失敗を解消させる。
 例えば、図13で示されるように、ユーザ251-1乃至251-5のそれぞれがクライアント装置111-1乃至111-5を所持している場合であって、クライアント装置111-1乃至111-3からなるグループと、クライアント装置111-4乃至111-5からなるグループとは、それぞれのグループ内においてローカルマップの結合が成功しているが、グループ間でのローカルマップが結合されておらず、結果として失敗している場合について考える。
 このような場合、クライアント装置111-1乃至111-3のグループに属するいずれかの撮像視野が、クライアント装置111-4,111-5のグループに属するいずれかの撮像視野と同一になるような画像を撮像することで、共通視野を確保することができ、グループ間のローカルマップが結合されて、結合の失敗が解消される。
 または、クライアント装置111-4,111-5のグループのいずれかの撮像視野が、クライアント装置111-1乃至111-3のグループのいずれかの撮像視野と同一になるような画像を撮像することで、共通視野を確保することができ、グループ間のローカルマップが結合されて、結合の失敗が解消される。
 そこで、例えば、図14で示されるようなガイド情報261,261’が提示されるようにする。
 すなわち、ガイド情報261,261’は、いずれもクライアント装置111-1乃至111-3のグループと、クライアント装置111-4,111-5のグループとが、それぞれのグループ内においてローカルマップの結合に成功しているが、グループ間での結合に失敗していることが示されている。
 さらに、図14においては、併せて、「背景がグレーのユーザとの共通視野の確保をお願いします」と表示がなされる。
 より具体的には、図14の左部は、クライアント装置111-1乃至111-3のそれぞれにおいて提示されるガイド情報261の表示例であり、ユーザ251-1乃至255-5に対応するそれぞれのアイコン251v-1乃至255v-3とアイコン255v’-4,255v’-5が表示されている。
 ガイド情報261においては、自らのクライアント装置111が属するローカルマップの結合が成功している、クライアント装置111-1乃至111-3のグループに属するユーザのアイコン251v-1乃至255v-3は、背景が白く表示され、自らのクライアント装置111が属していない、自らのグループとはローカルマップの結合が失敗しているユーザに対応するアイコン251v’-4,255v’-5は、背景がグレー表示されている。
 このようなガイド情報261により、クライアント装置111-1乃至111-3のユーザ251-1乃至251-3は、自らがクライアント装置111-1乃至111-3のグループに属しており、ローカルマップの結合が成功しているが、クライアント装置111-4,111-5のグループとのローカルマップの結合に失敗していることを認識することができる。
 同様に、図14の右部は、クライアント装置111-4,111-5において提示されるガイド情報261’の表示例が示されており、ユーザ251-1乃至255-5に対応するそれぞれのアイコン251v’-1乃至255v’-3とアイコン255v-4,255v-5が表示されている。
 そして、ガイド情報261’においては、自らのクライアント装置111が属するローカルマップの結合が成功している、クライアント装置111-4,111-5のグループに属するユーザのアイコン251v-4,255v-5は、背景が白く表示され、自らのクライアント装置111が属していない、自らのグループとはローカルマップの結合が失敗しているユーザに対応するアイコン251v’-1乃至255v’-3は、背景がグレー表示されている。
 このようなガイド情報261’により、クライアント装置111-4,111-5のユーザ251-4,251-5は、自らがクライアント装置111-4,111-5のグループに属しており、ローカルマップの結合が成功しているが、クライアント装置111-1乃至111-3のグループとのローカルマップの結合に失敗していることを認識することができる。
 結果として、クライアント装置111-1乃至111-5のそれぞれのユーザ251-1乃至251-5は、ローカルマップの結合に失敗しているユーザ251のクライアント装置111との共通視野の画像を撮像することで、ローカルマップの結合の失敗を解消し易くできることを認識できる。
 尚、図14においては、ローカルマップの結合に成功しているクライアント装置111のグループが2つである場合のガイド情報261,261’の例が示されているが、それ以上のグループが提示されていてもよく、その場合、それぞれのアイコン251v、251v’の背景が白色とグレーで色分けされていたが、それ以上の色で区別されるようにしてもよい。また、図14の例においては、アイコンで表現される他のユーザの背景の色でローカルマップの結合の成功および失敗が表現される例が示されているが、ローカルマップの結合の成功または失敗が表現できれば、図14の例以外の手法で表現されるようにしてもよい。例えば、ユーザ毎にローカルマップの結合に失敗したユーザのリストが表示されるようにしてもよい。このとき、併せて、ローカルマップの結合に成功したユーザのリストが表示されるようにしてもよい。
 <通信が途中で途切れてしまった場合>
 また、通信が途中で途切れてしまった場合、ローカルマップが適切に取得できない状態となり、ローカルマップの結合が失敗することになる。このような場合、通信の再接続を促す必要がある。
 例えば、図15で示されるように、「通信が途切れたようです。再接続をお願いします。」といった再接続を促すガイド情報271が提示されるようにする。
 <充分な特徴点が得られない場合>
 クライアント装置111単体で失敗するケースについては、充分な特徴点が得られず結合に失敗する場合と、充分な移動視差が得られず失敗するケースが挙げられる。
 充分な特徴点が得られない場合とは、例えば、撮像した画像内においてテクスチャが不足しており、特徴点が得られない状態である。
 このような場合については、テクスチャが十分にあるシーンを撮像するように促すようなガイド情報が表示されることで、テクスチャにより特徴点を得やすくすることで、結合の失敗を解消させる可能性があることをユーザに認識させることが可能となる。
 例えば、図16で示されるように、「特徴点が不足しています。テクスチャが充分にある画像の撮像をお願いします。」といったコメントガイド281aと、特徴点ゲージ281bとを備えたガイド情報281が示されるようにして、テクスチャが十分にあるシーンの撮像が必要であることを提示すると共に、どの程度特徴点が必要なのかが提示されるようにして、テクスチャが十分にあるシーンを撮像するように促すようにしてもよい。
 図16の特徴点ゲージ281bは、特徴点となるキーポイントの数(2次元座標の情報と、対応するランドマークの3次元座標の情報とのペア情報の数であるペア情報数)について、SLAMの処理に最低限必要なキーポイント数に対する、現在検出されているキーポイント数の割合を、全マス目数に対する白色のマス目の数で表現するものである。
 図16の特徴点ゲージ281bは、全マス目が10個であるのに対して、7個のマス目が白色で表示されているため、特徴点であるキーポイント数として最低限必要なキーポイント数に対して7割のキーポイント数しか得られていないので、ローカルマップの結合に失敗していることが示されている。
 この「特徴点が不足しています。テクスチャが充分にある画像の撮像をお願いします。」といったコメントガイド281aと、特徴点ゲージ281bとからなるガイド情報281が表示されることで、テクスチャが十分にあるシーンの撮像を促すことが可能となる。
 また、ユーザは、特徴点ゲージ281bが表示されることで、テクスチャが十分にあるシーンを撮像することで、ローカルマップの結合の失敗を解消させる可能性があることを認識できる。
 さらに、特徴点ゲージ281bにおける白色のマス目が示す全体の割合を見ながら、どの程度キーポイント数が不足しているのかを認識することができる。
 尚、以上においては、特徴点となるキーポイント数のみで特徴点ゲージ281bが表示される例について説明してきたが、特徴点となるキーポイント数と、その全体の分布も考慮されるようにしてもよい。
 例えば、キーフレームを構成する画像を固定サイズのブロックに区切り、ブロック単位での特徴点となるキーポイント数が、最低限必要とされるキーポイント数よりも多い条件を満たすブロック数をカウントし、SLAMの処理に最低限必要とされる、条件を満たしたブロック数に対する割合を、全マス目数に対する白色のマス目の数で表現するようにしてもよい。
 このようにすることで、ユーザは、特徴点となるキーポイントの2次元座標の情報と、対応するランドマークの3次元座標の情報とのペア情報数と、キーフレームを構成する画像全体において、ペア情報数の情報を満たす領域の分布とを考慮した上で、どの程度のペア情報数が必要であるのかを認識することが可能となる。
 <充分な移動視差が得られない場合>
 十分な移動視差が得られない場合、キーポイントに対するランドマークの3次元座標を求めることができず、ローカルマップの結合に失敗する。
 このような場合、クライアント装置111を水平方向に移動させて、強制的に移動視差が発生するように促すことで、失敗を解消させることができる。
 そこで、例えば、図17で示されるように、人物がクライアント装置111であるスマホを水平方向に動かしているような表示画像と共に、「スマホを水平に動かしてください」と表記されたガイド情報291が表示されるようにしてもよい。
 図17で示されるようなガイド情報291により、ユーザは、移動視差が十分に得られていないことが原因でローカルマップの結合が失敗していることを認識することが可能となり、クライアント装置111を水平方向に移動させることで失敗を解消させられる可能性があることを認識することが可能となる。
 <グローバルマップに対するSLAMの初期化処理>
 次に、図18,図19のフローチャートを参照して、クライアント装置111とサーバ12による、グローバルマップに対するSLAMの初期化処理について説明する。
 尚、図18は、クライアント装置111の処理を説明するフローチャートであり、図19は、サーバ112の処理を説明するフローチャートである。
 ステップS11において、SLAM処理部151は、撮像部138を起動する。
 ステップS12において、SLAM処理部151は、撮像部138を制御して、撮像を開始させ、順次、撮像結果を供給させる。
 ステップS13において、SLAM処理部151は、ローカルマップに対するSLAMを初期化する。
 ステップS14において、SLAM処理部151は、撮像された画像に基づいて、SLAMを実行し、キーフレームを抽出する。
 SLAM処理部151は、特徴点をキーポイントとして抽出して2次元座標を特定し、特徴量を算出し、移動視差に基づいてキーポイントに対応するランドマークの3次元座標を算出し、キーポイントの2次元座標とランドマークの3次元座標とのペア情報を検出する。そして、SLAM処理部151は、キーフレームの集合体としてローカルマップを生成し、記憶部134に格納する。
 ステップS15において、SLAM処理部151は、記憶部134より格納されているローカルマップを、自らを識別する情報と共に、通信部135を制御して、ネットワーク113を介してサーバ112に送信する。
 ステップS31(図19)において、サーバ112のローカルマップ結合部221は、通信部205を制御して、ネットワーク113を介していずれかのクライアント装置111からローカルマップが送信されてきたか否かを判定し、送信されてくるまで同様の処理を繰り返す。
 ステップS31において、クライアント装置111よりローカルマップが送信されてくると、処理は、ステップS32に進む。
 ステップS32において、ローカルマップ結合部221は、通信部205を制御して、クライアント装置111より送信されてきたローカルマップを取得し、クライアント装置111を識別する情報と対応付けて記憶部204に格納する。
 ステップS33において、ローカルマップ結合部221は、所定時間が経過したか否かを判定し、経過していないと判定された場合、処理は、ステップS31に戻る。すなわち、所定時間が経過するまで、クライアント装置111からのローカルマップの送信を受け付ける処理が繰り返される。
 そして、ステップS33において、所定時間が経過したと判定された場合、処理は、ステップS34に進む。尚、ローカルマップが受け付けられる度に、ステップS34の処理に進むようにしてもよく、この場合、ステップS33の処理は、削除されるようにしてもよい。
 ステップS34において、ローカルマップ結合部221は、記憶部204に格納されている全てのクライアント装置111からのローカルマップを結合する。より詳細には、ローカルマップ結合部221は、図11を参照して説明した手法により、記憶部204に格納されている全てのクライアント装置111からのローカルマップを結合する処理を繰り返す。
 ステップS35において、ローカルマップ結合部221は、ローカルマップの結合が失敗し、グローバルマップに対するSLAMの初期化に失敗したか否かを判定する。
 より詳細には、ステップS34の処理において、全てのローカルマップを結合する処理の過程で、何らかの原因で結合できない状態となったとき、その時点で、ローカルマップの結合が失敗であったと判定される。
 逆に、特に失敗もなく全てのローカルマップが結合できたときには、ローカルマップの結合は失敗しなかった、すなわち、成功したとみなされることになる。
 ステップS35において、ローカルマップの結合が失敗し、グローバルマップに対するSLAMの初期化が失敗したと判定された場合、処理は、ステップS36に進む。
 ステップS36において、ローカルマップ結合部221は、結合失敗の原因を特定する。
 ステップS37において、ローカルマップ結合部221は、失敗通知処理を実行し、結合失敗の原因に対応する失敗を解消させるためのガイド情報を生成して、クライアント装置111に通知し、処理は、ステップS31に戻る。この時、ローカルマップ結合部221は、ステップS33における経過時間をリセットすると共に、記憶部204内に格納されているローカルマップを消去する。
 すなわち、全てのローカルマップが結合されて、グローバルマップに対するSLAMの初期化が完了するまで、ステップS31乃至S37の処理が繰り返される。尚、ステップS37の失敗通知処理については、図20のフローチャートを参照して、詳細を後述する。
 そして、ステップS35において、ローカルマップの結合が失敗せず、グローバルマップに対するSLAMの初期化が成功したと判定された場合、処理は、ステップS38に進む。
 ステップS38において、ローカルマップ結合部221は、通信部205を制御して、記憶部204に格納されているローカルマップに対応付けて記憶されているクライアント装置111に対して、ローカルマップの結合が成功し、グローバルマップに対するSLAMの初期化が完了したことを通知する。
 ステップS39において、ローカルマップ結合部221は、生成されたグローバルマップを記憶部204に格納させる。これに応じて位置推定部222は、グローバルマップに基づいて、各クライアント装置111のローカルマップの情報から、それぞれの位置および姿勢を推定し、通信部205を制御して、クライアント装置111のそれぞれの位置情報をクライアント装置111に送信し、処理は、終了する。
 この処理によりグローバルマップに対するSLAMの初期化が完了し、グローバルマップが構成されて、記憶部204に格納されると共に、それぞれの位置および姿勢が推定されて、各クライアント装置111に送信される。
 また、以降においては、グローバルマップの基準座標系の情報としてクライアント装置111より送信されてくるローカルマップに基づいて、グローバルマップ更新部223が、記憶部204に格納されているグローバルマップを順次更新する処理を繰り返す。
 これに対して、クライアント装置111においては、ステップS16(図18)において、SLAM処理部151は、通信部135を制御して、サーバ112からローカルマップの結合成功が連絡されたか否かを判定する。
 ステップS16において、ローカルマップの結合成功が通知されなかった、すなわち、ローカルマップの結合失敗の原因に応じたガイド情報が通知された場合、処理は、ステップS17に進む。
 ステップS17において、SLAM処理部151は、通信部135を制御して、サーバ112より送信されてくるローカルマップ結合失敗の原因に応じたガイド情報を取得する。
 ステップS18において、SLAM処理部151は、出力部133の表示部を制御して、取得したガイド情報を提示し、処理は、ステップS14に戻る。
 すなわち、ローカルマップの結合が成功するまで、ステップS14乃至S18の処理が繰り返されて、サーバ112より送信されてくる、結合失敗の原因に応じたガイド情報が取得されて、ユーザに提示させる処理が繰り返される。
 そして、ステップS16において、ローカルマップの結合成功、すなわち、グローバルマップに対するSLAMの初期化が成功したことが通知されると、処理は、ステップS17に進む。
 ステップS19において、SLAM処理部151は、通信部135を制御して、サーバ112より送信されてくる、グローバルマップの基準座標系における自身の位置および姿勢の情報を取得する。
 これにより、以降において、SLAM処理部151は、自らのSLAMの処理において生成されるローカルマップをグローバルマップの基準座標系の情報として生成することが可能となり、順次、サーバ112に送信することで、サーバ112におけるグローバルマップの更新を実現させることが可能となる。
 以上の処理により、ローカルマップの結合が成功するまで、結合の失敗の原因に応じたガイド情報が表示されることになるので、ユーザは、結合失敗の原因を認識することが可能になると共に、失敗を解消させることができる可能性のある動作が、ガイド情報として提示されることで、ユーザ自身の行動により、結合失敗を解消させ易くすることが可能となる。
 <失敗通知処理>
 次に、図20のフローチャートを参照して、失敗通知処理について説明する。
 ステップS51において、ローカルマップ結合部221は、ローカルマップの結合失敗の原因が、クライアント装置111単体による結合失敗か否かを判定する。
 ステップS51において、クライアント装置111単体による結合失敗であると判定された場合、処理は、ステップS52に進む。
 ステップS52において、ローカルマップ結合部221は、結合失敗の原因が十分な特徴点が得られないことであるか否かを判定する。
 ステップS52において、結合失敗の原因が十分な特徴点(キーポイント)が得られないことであると判定された場合、処理は、ステップS53に進む。
 ステップS53において、ローカルマップ結合部221は、テクスチャが十分にあるシーンを撮像するように促すガイド情報を生成し、通信部205を制御して、クライアント装置111に送信する。
 テクスチャが十分にあるシーンを撮像するように促すガイド情報とは、例えば、図16を参照して説明したコメントガイド281aと特徴点ゲージ281bとを含むガイド情報281などであり、特徴点ゲージ281bが表示されることで、充分な特徴点が得られていないことをユーザに認識させることが可能になる。また、ユーザは、特徴点ゲージ281bの白色のマス目の割合を見ながら、テクスチャが十分なシーンの撮像がなされているのか否かを認識することができる。
 これによりユーザは、様々な画像を撮像しながら、どのシーンの画像においてテクスチャが充分な画像となるのかを認識しながら、シーンを選んで撮像することが可能となり、結果として、ローカルマップの結合、すなわち、グローバルマップに対するSLAMの初期化を成功へと誘導させることが可能となる。
 ステップS52において、結合失敗の原因が十分な特徴点が得られないことではないと判定された場合、処理は、ステップS54に進む。
 ステップS54において、ローカルマップ結合部221は、充分な移動視差が得られず、ランドマークの3次元座標が求められないことが原因であるか否かを判定する。
 ステップS54において、充分な移動視差が得られず、ランドマークの3次元座標が求められないことが原因であると判定された場合、処理は、ステップS55に進む。
 ステップS55において、ローカルマップ結合部221は、クライアント装置を水平方向に動かすように促すガイド情報を生成し、通信部205を制御して、クライアント装置111に送信する。
 クライアント装置を水平方向に動かすように促すガイド情報とは、例えば、図17を参照して説明したガイド情報291などであり、ガイド情報291が表示されることで、充分な移動視差が得られず、ランドマークの3次元座標が求められないことが結合失敗の原因であることをユーザに認識させることが可能になる。また、ガイド情報281により、ユーザは、クライアント装置111を水平方向に移動させることでローカルマップの結合の失敗を解消させられる可能性があることを認識できる。
 これによりユーザは、強制的に移動視差が生じる動作をすることが可能となり、結果として、ローカルマップの結合、すなわち、グローバルマップに対するSLAMの初期化を成功へと誘導させることが可能となる。
 ステップS51において、クライアント装置111単体による結合失敗ではないと判定された場合、ローカルマップの結合時の失敗であるとみなされ、処理は、ステップS56に進む。
 ステップS56において、ローカルマップ結合部221は、複数のローカルマップ間において、共通視野が得られていないことが結合失敗の原因であるか否かを判定する。
 ステップS56において、複数のローカルマップ間において、共通視野が得られていないことが結合失敗の原因であると判定された場合、処理は、ステップS57に進む。
 ステップS57において、ローカルマップ結合部221は、共通視野が得られる画像の撮像を促すガイド情報を生成して、通信部205を制御して、クライアント装置111に送信する。
 ここで、共通視野が得られる画像の撮像を促すガイド情報とは、例えば、図14を参照して説明したようなガイド情報261,261’であり、誰のクライアント装置111とのローカルマップの結合が成功しており、誰のクライアント装置111のローカルマップとの結合が失敗しているのかが表示されることにより、誰のクライアント装置111と同一の共通視野の画像を撮像すればよいのかを認識することが可能となる。
 これにより、ユーザは、例えば、ローカルマップの結合が失敗しているユーザと申し合わせて、同一の被写体を撮像するような動作をすることが可能となり、これにより共通視野を発生させることが可能となる。
 結果として、ローカルマップの結合を成功へと誘導させることが可能となる。
 ステップS56において、複数のローカルマップ間において、共通視野が得られていないことが結合失敗の原因ではないと判定された場合、処理は、ステップS58に進む。
 ステップS58において、ローカルマップ結合部221は、ローカルマップの結合失敗の原因が、通信が途絶えたことであるか否かを判定する。
 ステップS58において、ローカルマップの結合失敗の原因が、通信が途絶えたことであると判定された場合、処理は、ステップS59に進む。
 ステップS59において、ローカルマップ結合部221は、再接続を促すガイド情報を生成して、通信部205を制御して、クライアント装置111に送信する。
 ここで、再接続を促すガイド情報とは、例えば、図15を参照して説明したガイド情報271などの表示であり、これにより、原因が、通信が途絶えたことが結合失敗の原因であることを認識させることが可能になる。また、ユーザは、再接続により失敗を解消させられる可能性があることを認識することが可能となる。
 これにより、ユーザは、例えば、通信部135を制御させて、再接続するような動作をさせることが可能となる。
 結果として、ローカルマップの結合を成功へと誘導させることが可能となる。
 ステップS54において、充分な移動視差が得られないことが原因ではないと判定された場合、または、ステップS58において、通信が途絶えたことが原因ではないと判定された場合、処理は、ステップS60に進む。
 ステップS60において、ローカルマップ結合部221は、通信部205を制御し、原因が特定できないが、ローカルマップの結合が失敗しており、グローバルマップに対するSLAMの初期化が実現できていないことを通知する。
 これにより、ユーザは、充分な特徴点としてのキーポイントが得られていないこと、充分な移動視差が得られていないこと、共通視野が得られていないこと、および通信が途絶えたこと以外の何等かの原因でローカルマップの結合が失敗していることを認識することが可能となる。
 以上の処理により、ローカルマップの結合が失敗し、グローバルマップに対するSLAMの初期化が失敗したことが原因と共に通知され、さらに、原因に応じた失敗を解消させるためのガイド情報が提示される。
 これにより、ユーザは、ローカルマップの結合、すなわち、グローバルマップに対するSLAMの初期化が失敗したことを、原因と共に認識することが可能になる。
 また、ユーザは、原因に応じた失敗を解消させるためのガイド情報が提示されることにより、ローカルマップの結合が失敗しても、自らの行動によりローカルマップの結合を成功させるようにすることが可能となる。
 結果として、XR技術を適用したアプリケーションプログラムを、より快適に利用することが可能となる。
 <<2.応用例>>
 以上においては、ローカルマップの結合、すなわち、グローバルマップに対するSLAMの初期化が失敗し、その原因が、共通視野が得られていない場合については、図14で示されるようなガイド情報により、自らのローカルマップが、誰のローカルマップと結合されて、誰のローカルマップと結合されていないのかを認識することで、ローカルマップが結合されていないユーザと申しわせて、共通視野が得られるように撮像することで、結合失敗を解消させる例について説明してきた。
 しかしながら、自らのローカルマップが結合されていないユーザのクライアント装置111において撮像されている画像に対して、物体認識処理を掛け、その物体認識結果から、共通視野を形成する上で必要とされる被写体を特定し、特定した被写体の撮像を促すガイド情報が提示されるようにしてもよい。
 例えば、図21で示されるように、ユーザ251-51が所持するクライアント装置111-51において、花からなる被写体301が撮像され、物体認識処理により「花」であることが認識されると、クライアント装置111-51は、ローカルマップをサーバ112に送信する際、「花」という物体認識結果を対応付けて送信する。
 サーバ112は、グローバルマップに対するSLAMの初期化処理として、ローカルマップを結合する際、共通視野が得られないことで、クライアント装置111-51とローカルマップを結合できないクライアント装置111-52に対して、物体認識結果である「花」の情報に基づいて、図21のクライアント装置111-52で示されるような、「花を写してください」といったガイド情報302を生成して、送信する。
 クライアント装置111-52は、「花を写してください」といったガイド情報302を取得すると、出力部113-52の出力部133の表示部を制御して、提示する。
 これにより、ユーザ251-52は、自らが所持するクライアント装置111-52が、どのユーザ251が所持したクライアント装置111との間でローカルマップの結合が失敗しているのかを認識することはできないが、ローカルマップの結合が失敗していることを認識することができる。
 また、ユーザ251-52は、図21で示されるようなガイド情報302が提示されることにより、自らが所持するクライアント装置111-52で、「花」からなる被写体301を撮像することで、結合の失敗を解消させられる可能性があることを認識することが可能となる。
 <クライアント装置の応用例>
 次に、図22を参照して、共通視野を形成する上で必要とされる被写体の撮像を促すガイド情報が提示されるようにしたクライアント装置の構成例について説明する。
 図22のクライアント装置111’は、基本的には、図7のクライアント装置111と同一の機能を備えているが、新たに物体認識部311を備えている点で異なる。
 物体認識部311は、例えば、ディープラーニングなどの機械学習により画像に基づいて物体を認識する構成であり、SLAM処理部151においてキーフレームとして使用される画像内の物体認識処理を実行し、物体認識結果をSLAM処理部151に供給する。
 SLAM処理部151は、ローカルマップを生成すると共に、対応する物体認識結果を付与して、通信部135を制御して、サーバ112に送信する。また、サーバ112から図21のようなガイド情報302送信されてくると、SLAM処理部151は、ガイド情報302を取得して、出力部133の表示部を制御して、提示する。
 ここでは、サーバ112のローカルマップ結合部221は、共通視野が得られず結合に失敗する場合、例えば、図21で示されるように、物体認識結果と共にローカルマップを送信してくるクライアント装置111-51との共通視野が得られていないクライアント装置111-52に対して、物体認識結果に基づいて、図21のガイド情報302を生成して、送信する。
 <SLAM初期化処理の応用例>
 次に、図23のフローチャートを参照して、図22のクライアント装置111’によるSLAM初期化処理について説明する。尚、図23のフローチャートのステップS111乃至S114,S117乃至S120の処理は、図18のステップS11乃至S14,S16乃至S19の処理と同様であるので、その説明は省略する。
 すなわち、ステップS111乃至S114の処理により、ローカルマップが生成されると、処理は、ステップS115に進む。
 ステップS115において、物体認識部311は、キーフレームとして使用される画像内の物体認識処理を実行し、物体認識結果をSLAM処理部151に供給する。
 ステップS116において、SLAM処理部151は、生成したローカルマップと、物体認識結果とを対応付けて、通信部135を制御して、サーバ112に送信する。
 この処理により、サーバ112においては、失敗通知処理において、共通視野が得られず結合に失敗しているときには、図21で示されるようなガイド情報302が生成されて、ステップS118において、取得され、ステップS119において提示される。
 尚、サーバ112におけるSLAM初期化処理については、図19のフローチャートを参照して説明した処理と同様であるので、その説明は省略する。
 <失敗通知処理の応用例>
 次に、図24のフローチャートを参照して、サーバ112による失敗通知処理の応用例について説明する。
 尚、図24のフローチャートにおけるステップS151乃至S156,S158乃至S160の処理については、図20のステップS51乃至S56,S58乃至S60の処理と同様であるので、その説明は省略する。
 すなわち、ステップS156において、複数のローカルマップ間において、共通視野が得られていないことが結合失敗の原因であると判定された場合、処理は、ステップS157に進む。
 ステップS157において、ローカルマップ結合部221は、共通視野が得られる画像の撮像を促すガイド情報を生成して、通信部205を制御して、クライアント装置111に送信する。
 ここで、共通視野が得られる画像の撮像を促すガイド情報とは、例えば、図21を参照して説明したようなガイド情報302であり、ローカルマップ結合部221は、クライアント装置111より供給されるローカルマップに付されている物体認識結果に基づいて、ローカルマップの結合が失敗している他のクライアント装置111に対して、物体認識結果に対応する被写体の撮像を促すようなガイド情報を生成する。
 ガイド情報302が提示されることにより、ユーザは、どのクライアント装置111とのローカルマップの結合ができていないのかを認識することはできないが、対象となる被写体を撮像することで同一の共通視野を含む画像が撮像できることを認識することが可能となる。
 これにより、ユーザは、例えば、ローカルマップの結合が失敗している他のクライアント装置111と同一の被写体を撮像するような動作をすることが可能となり、これにより共通視野を発生させることが可能となる。
 結果として、ローカルマップの結合、すなわち、グローバルマップに対するSLAMの初期化を成功へと誘導させることが可能となる。
 尚、以上においては、サーバ112が、クライアント装置111からのローカルマップを取得し、結合してグローバルマップを生成すると共に、結合の失敗が発生した場合に、失敗の原因に応じたガイド情報を送信する例について説明してきた。
 しかしながら、クライアント装置111が高機能化して、サーバ112と同等の処理を実現できるような場合については、複数のクライアント装置111のいずれかが代表し、サーバ112としての機能を実現するようにしてもよい。
 <<3.ソフトウェアにより実行させる例>>
 ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、記録媒体からインストールされる。
 図25は、汎用のコンピュータの構成例を示している。このコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
 入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体1011に対してデータを読み書きするドライブ1010が接続されている。
 CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブル記憶媒体1011ら読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
 以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記憶媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記憶媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 尚、図22におけるCPU1001が、図7,図8,図22の制御部131,201の機能を実現させる。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 尚、本開示は、以下のような構成も取ることができる。
<1> 複数の他の情報処理装置のそれぞれにおいて生成されるローカルマップを結合することによりグローバルマップを生成する生成部を備え、
 前記生成部は、前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗を解決するガイド情報を提示させる
 情報処理装置。
<2> 前記生成部は、前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗の原因の種別に応じて、前記失敗を解決するガイド情報を提示させる
 <1>に記載の情報処理装置。
<3> 前記ローカルマップの結合の失敗の原因の種別は、前記ローカルマップの結合時に生じる原因と、前記ローカルマップの生成時に生じる原因とを含む
 <2>に記載の情報処理装置。
<4> 前記ローカルマップの結合の失敗の原因の種別のうち、前記ローカルマップの結合時に生じる原因は、前記ローカルマップを構成するキーフレームに共通視野が含まれていないことで生じる原因と、前記ローカルマップの転送に係る通信が途切れたことで生じる原因とを含む
 <3>に記載の情報処理装置。
<5> 前記ローカルマップの結合の失敗の原因が、前記ローカルマップの結合時に生じる原因であって、前記ローカルマップを構成するキーフレームに共通視野が含まれていないことで生じる原因である場合、前記生成部は、前記共通視野が含まれる画像を撮像するように促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
 <4>に記載の情報処理装置。
<6> 前記生成部は、前記ローカルマップの結合が成功している前記他の情報処理装置のグループと、前記ローカルマップの結合が失敗している前記他の情報処理装置のグループとを示し、前記ローカルマップの結合が失敗している前記グループに属する前記他の情報処理装置との前記共通視野を含む画像の撮像を促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
 <5>に記載の情報処理装置。
<7> 前記生成部は、前記ローカルマップの結合が失敗している前記他の情報処理装置が撮像している被写体の情報を示し、前記被写体の撮像を促すことで、前記共通視野を含む画像の撮像を促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
 <5>に記載の情報処理装置。
<8> 前記被写体は、前記ローカルマップの結合が失敗している前記他の情報処理装置により生成されるローカルマップを構成するキーフレームとなる画像の物体認識結果である
 <7>に記載の情報処理装置。
<9> 前記ローカルマップの結合の失敗の原因が、前記ローカルマップの結合時に生じる原因であって、前記ローカルマップの転送に係る通信が途切れたことで生じる原因である場合、前記生成部は、前記通信の再接続を促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
 <4>に記載の情報処理装置。
<10> 前記ローカルマップの結合の失敗の原因の種別のうち、前記ローカルマップの生成時に生じる原因は、前記ローカルマップを構成するキーフレームより充分な数のキーポイントが得られないことで生じる原因と、前記キーフレームにおけるランドマークの3次元座標を得るための移動視差が得られないことで生じる原因とを含む
 <3>に記載の情報処理装置。
<11> 前記ローカルマップの結合の失敗の原因が、前記ローカルマップの生成時に生じる原因であって、前記ローカルマップを構成するキーフレームより充分な数のキーポイントが得られないことで生じる原因である場合、前記生成部は、テクスチャが充分にある画像を撮像するように促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
 <10>に記載の情報処理装置。
<12> 前記生成部は、前記テクスチャが充分にある画像を撮像するように促す情報と、必要最低限とされるキーポイント数に対する、現在の前記キーフレームより得られているキーポイント数の割合を示す情報とを、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
 <11>に記載の情報処理装置。
<13> 前記生成部は、前記テクスチャが充分にある画像を撮像するように促す情報と、前記キーフレームを固定サイズの領域で分割したときの、領域単位で必要最低限とされるキーポイント数よりも多くのキーポイントが得られている条件を満たす領域数の、必要最低限とされている領域数に対する割合を示す情報とを、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
 <11>に記載の情報処理装置。
<14> 前記ローカルマップの結合の失敗の原因が、前記ローカルマップの生成時に生じる原因であって、前記キーフレームにおけるランドマークの3次元座標を得るための移動視差が得られないことで生じる原因である場合、前記生成部は、水平方向に移動しながら画像を撮像することを促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
 <10>に記載の情報処理装置。
<15> 前記生成部は、異なる他の情報処理装置において生成されたローカルマップを構成するキーフレーム間の共通するランドマークの3次元座標に基づいて、共通の座標系に変換することで、前記ローカルマップを結合する
 <1>乃至<14>のいずれかに記載の情報処理装置。
<16> 前記ローカルマップは、前記他の情報処理装置において実行されるSLAM(Simultaneous Localization And Mapping)により生成される
 <1>乃至<15>のいずれかに記載の情報処理装置。
<17> 複数の他の情報処理装置のそれぞれにおいて生成されるローカルマップを結合することによりグローバルマップを生成し、
 前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗を解決するガイド情報を提示させる
 ステップを含む情報処理方法。
<18> 複数の他の情報処理装置のそれぞれにおいて生成されるローカルマップを結合することによりグローバルマップを生成する生成部としてコンピュータを機能させ、
 前記生成部は、前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗を解決するガイド情報を提示させる
 プログラム。
 101 通信システム, 111,111-1乃至111-n クライアント装置, 112 サーバ, 151 SLAM処理部, 152 AR重畳処理部, 221 ローカルマップ結合部, 222 位置推定部, 223 グローバルマップ更新部, 311 物体認識部

Claims (18)

  1.  複数の他の情報処理装置のそれぞれにおいて生成されるローカルマップを結合することによりグローバルマップを生成する生成部を備え、
     前記生成部は、前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗を解決するガイド情報を提示させる
     情報処理装置。
  2.  前記生成部は、前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗の原因の種別に応じて、前記失敗を解決するガイド情報を提示させる
     請求項1に記載の情報処理装置。
  3.  前記ローカルマップの結合の失敗の原因の種別は、前記ローカルマップの結合時に生じる原因と、前記ローカルマップの生成時に生じる原因とを含む
     請求項2に記載の情報処理装置。
  4.  前記ローカルマップの結合の失敗の原因の種別のうち、前記ローカルマップの結合時に生じる原因は、前記ローカルマップを構成するキーフレームに共通視野が含まれていないことで生じる原因と、前記ローカルマップの転送に係る通信が途切れたことで生じる原因とを含む
     請求項3に記載の情報処理装置。
  5.  前記ローカルマップの結合の失敗の原因が、前記ローカルマップの結合時に生じる原因であって、前記ローカルマップを構成するキーフレームに共通視野が含まれていないことで生じる原因である場合、前記生成部は、前記共通視野が含まれる画像を撮像するように促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
     請求項4に記載の情報処理装置。
  6.  前記生成部は、前記ローカルマップの結合が成功している前記他の情報処理装置のグループと、前記ローカルマップの結合が失敗している前記他の情報処理装置のグループとを示し、前記ローカルマップの結合が失敗している前記グループに属する前記他の情報処理装置との前記共通視野を含む画像の撮像を促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
     請求項5に記載の情報処理装置。
  7.  前記生成部は、前記ローカルマップの結合が失敗している前記他の情報処理装置が撮像している被写体の情報を示し、前記被写体の撮像を促すことで、前記共通視野を含む画像の撮像を促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
     請求項5に記載の情報処理装置。
  8.  前記被写体は、前記ローカルマップの結合が失敗している前記他の情報処理装置により生成されるローカルマップを構成するキーフレームとなる画像の物体認識結果である
     請求項7に記載の情報処理装置。
  9.  前記ローカルマップの結合の失敗の原因が、前記ローカルマップの結合時に生じる原因であって、前記ローカルマップの転送に係る通信が途切れたことで生じる原因である場合、前記生成部は、前記通信の再接続を促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
     請求項4に記載の情報処理装置。
  10.  前記ローカルマップの結合の失敗の原因の種別のうち、前記ローカルマップの生成時に生じる原因は、前記ローカルマップを構成するキーフレームより充分な数のキーポイントが得られないことで生じる原因と、前記キーフレームにおけるランドマークの3次元座標を得るための移動視差が得られないことで生じる原因とを含む
     請求項3に記載の情報処理装置。
  11.  前記ローカルマップの結合の失敗の原因が、前記ローカルマップの生成時に生じる原因であって、前記ローカルマップを構成するキーフレームより充分な数のキーポイントが得られないことで生じる原因である場合、前記生成部は、テクスチャが充分にある画像を撮像するように促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
     請求項10に記載の情報処理装置。
  12.  前記生成部は、前記テクスチャが充分にある画像を撮像するように促す情報と、必要最低限とされるキーポイント数に対する、現在の前記キーフレームより得られているキーポイント数の割合を示す情報とを、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
     請求項11に記載の情報処理装置。
  13.  前記生成部は、前記テクスチャが充分にある画像を撮像するように促す情報と、前記キーフレームを固定サイズの領域で分割したときの、領域単位で必要最低限とされるキーポイント数よりも多くのキーポイントが得られている条件を満たす領域数の、必要最低限とされている領域数に対する割合を示す情報とを、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
     請求項11に記載の情報処理装置。
  14.  前記ローカルマップの結合の失敗の原因が、前記ローカルマップの生成時に生じる原因であって、前記キーフレームにおけるランドマークの3次元座標を得るための移動視差が得られないことで生じる原因である場合、前記生成部は、水平方向に移動しながら画像を撮像することを促す情報を、前記ローカルマップの結合の失敗を解決する前記ガイド情報として提示させる
     請求項10に記載の情報処理装置。
  15.  前記生成部は、異なる他の情報処理装置において生成されたローカルマップを構成するキーフレーム間の共通するランドマークの3次元座標に基づいて、共通の座標系に変換することで、前記ローカルマップを結合する
     請求項1に記載の情報処理装置。
  16.  前記ローカルマップは、前記他の情報処理装置において実行されるSLAM(Simultaneous Localization And Mapping)により生成される
     請求項1に記載の情報処理装置。
  17.  複数の他の情報処理装置のそれぞれにおいて生成されるローカルマップを結合することによりグローバルマップを生成し、
     前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗を解決するガイド情報を提示させる
     ステップを含む情報処理方法。
  18.  複数の他の情報処理装置のそれぞれにおいて生成されるローカルマップを結合することによりグローバルマップを生成する生成部としてコンピュータを機能させ、
     前記生成部は、前記ローカルマップの結合に失敗した場合、前記ローカルマップの結合の失敗を解決するガイド情報を提示させる
     プログラム。
PCT/JP2022/047534 2022-01-06 2022-12-23 情報処理装置、および情報処理方法、並びにプログラム WO2023132269A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-001234 2022-01-06
JP2022001234 2022-01-06

Publications (1)

Publication Number Publication Date
WO2023132269A1 true WO2023132269A1 (ja) 2023-07-13

Family

ID=87073599

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/047534 WO2023132269A1 (ja) 2022-01-06 2022-12-23 情報処理装置、および情報処理方法、並びにプログラム

Country Status (1)

Country Link
WO (1) WO2023132269A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186808A (ja) * 2010-03-09 2011-09-22 Sony Corp 情報処理装置、マップ更新方法、プログラム及び情報処理システム
US20160179830A1 (en) * 2014-12-19 2016-06-23 Qualcomm Incorporated Scalable 3d mapping system
JP2016527583A (ja) * 2013-05-02 2016-09-08 クアルコム,インコーポレイテッド コンピュータビジョンアプリケーション初期化を容易にするための方法
WO2020090306A1 (ja) * 2018-10-30 2020-05-07 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
WO2020126123A2 (en) * 2018-12-21 2020-06-25 Leica Geosystems Ag Reality capture with a laser scanner and a camera
US20210187391A1 (en) * 2019-12-20 2021-06-24 Niantic, Inc. Merging local maps from mapping devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186808A (ja) * 2010-03-09 2011-09-22 Sony Corp 情報処理装置、マップ更新方法、プログラム及び情報処理システム
JP2016527583A (ja) * 2013-05-02 2016-09-08 クアルコム,インコーポレイテッド コンピュータビジョンアプリケーション初期化を容易にするための方法
US20160179830A1 (en) * 2014-12-19 2016-06-23 Qualcomm Incorporated Scalable 3d mapping system
WO2020090306A1 (ja) * 2018-10-30 2020-05-07 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
WO2020126123A2 (en) * 2018-12-21 2020-06-25 Leica Geosystems Ag Reality capture with a laser scanner and a camera
US20210187391A1 (en) * 2019-12-20 2021-06-24 Niantic, Inc. Merging local maps from mapping devices

Similar Documents

Publication Publication Date Title
US11270460B2 (en) Method and apparatus for determining pose of image capturing device, and storage medium
US7796155B1 (en) Method and apparatus for real-time group interactive augmented-reality area monitoring, suitable for enhancing the enjoyment of entertainment events
US11086395B2 (en) Image processing apparatus, image processing method, and storage medium
WO2022088918A1 (zh) 虚拟图像的显示方法、装置、电子设备及存储介质
US20140320529A1 (en) View steering in a combined virtual augmented reality system
US20200097732A1 (en) Markerless Human Movement Tracking in Virtual Simulation
US20120293613A1 (en) System and method for capturing and editing panoramic images
JP2016522463A5 (ja)
KR20190136117A (ko) 가상의 3차원 비디오 생성 및 관리 시스템 및 방법
US10602117B1 (en) Tool for onsite augmentation of past events
CN109314800B (zh) 用于将用户注意力引导到基于位置的游戏进行伴随应用的方法和系统
JP7512488B2 (ja) 画像処理装置、画像処理方法及び画像処理システム
JP2018026064A (ja) 画像処理装置、画像処理方法、システム
JP2018106297A (ja) 複合現実感提示システム、及び、情報処理装置とその制御方法、並びに、プログラム
US11736802B2 (en) Communication management apparatus, image communication system, communication management method, and recording medium
JP7202935B2 (ja) 注目度算出装置、注目度算出方法、および注目度算出プログラム
CN114651448B (zh) 信息处理系统、信息处理方法和程序
EP3616402A1 (en) Methods, systems, and media for generating and rendering immersive video content
US11978232B2 (en) Method for displaying three-dimensional augmented reality
US11910132B2 (en) Head tracking for video communications in a virtual environment
WO2023132269A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2023550773A (ja) 画像ベースの指の追跡とコントローラの追跡
JP6149967B1 (ja) 動画配信サーバ、動画出力装置、動画配信システム、及び動画配信方法
WO2018234622A1 (en) METHOD OF DETECTING EVENTS OF INTEREST
CN108985275B (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: 22918853

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 112022006323

Country of ref document: DE