WO2024057779A1 - Information processing device, program, and information processing system - Google Patents
Information processing device, program, and information processing system Download PDFInfo
- Publication number
- WO2024057779A1 WO2024057779A1 PCT/JP2023/028915 JP2023028915W WO2024057779A1 WO 2024057779 A1 WO2024057779 A1 WO 2024057779A1 JP 2023028915 W JP2023028915 W JP 2023028915W WO 2024057779 A1 WO2024057779 A1 WO 2024057779A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client
- map
- information processing
- orientation
- estimation
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 149
- 238000012545 processing Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 24
- 238000003384 imaging method Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 description 38
- 238000005516 engineering process Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Definitions
- the present technology relates to an information processing device, a program, and an information processing system.
- VPS Vehicle Positioning System
- VPS uses a 3D map of the real space, and uses methods such as Perspective-n-Point to determine the position of the client that captured the camera image based on the correspondence between the camera image sent from each client and the features of the 3D map. and the pose are estimated in the 3D map coordinate system.
- the 3D map includes 3D feature points (landmarks) that model objects in real space, feature points and features used for pose estimation, images used for 3D shape estimation (Key Frame: KF), etc. contains data.
- the accuracy of estimating the position and orientation of each client depends on the accuracy of the positions of landmarks included in the 3D map. Therefore, when a landmark with low positional accuracy is used, there is a problem that the accuracy of the estimation result of the client's position and orientation becomes low.
- Patent Document 1 proposes a method in which when a landscape image acquired by a certain client differs from a landscape image recorded in a database, the database is updated by presenting a command prompting the client to request additional data acquisition. are doing.
- Patent Document 1 works only when the 3D map can be updated using only sensor data that can be obtained by the client that performs pose estimation.
- a client located at a point where orientation is to be estimated cannot obtain highly accurate sensor data of an object far from that point, so there is a problem in that a 3D map cannot be updated for the purpose of increasing the accuracy of landmarks.
- the present technology was developed in view of these problems, and aims to provide an information processing device, a program, and an information processing system that can update a 3D map by increasing the accuracy of landmarks.
- a first technique involves estimating the position and orientation of the client based on a position and orientation estimation image of the real space transmitted from the client and a 3D map of the real space.
- Information processing comprising: an estimation accuracy determination unit that determines accuracy; and a client identification unit that identifies another client that requests transmission of a 3D map update image for updating a 3D map based on the estimation accuracy determination result. It is a device.
- the second technology determines the estimation accuracy of the client's position and orientation, which is estimated based on a position and orientation estimation image captured from the real space and a 3D map of the real space, and determines the estimation accuracy.
- This is a program that causes a computer to execute an information processing method for identifying another client that requests transmission of a 3D map update image for updating a 3D map based on the determination result.
- the third technique is a client transmitting an image for position and orientation estimation captured in real space, and the estimation accuracy of the position and orientation of the client estimated based on the image for position and orientation estimation and a 3D map of the real space.
- an information processing device that includes an estimation accuracy determination unit that determines the estimation accuracy; and a client identification unit that identifies another client that requests transmission of a 3D map update image for updating a 3D map based on the estimation accuracy determination result. and another client that transmits a 3D map update image in response to a request from an information processing device to transmit a 3D map update image.
- FIG. 1 is a block diagram showing the configuration of a client 10.
- FIG. 2 is a block diagram showing the configuration of a server 20.
- FIG. 1 is a block diagram showing the configuration of an information processing system 1000.
- FIG. 1 is a block diagram showing the configurations of an information processing system 1000 and an information processing device 100.
- FIG. FIG. 3 is an explanatory diagram of a 3D map, key frames, and landmarks.
- FIG. 7 is an explanatory diagram of posture estimation results when landmarks are highly accurate and when landmarks are low accurate.
- FIG. 3 is a diagram showing the positions of a client 10 and landmarks in a specific example of the present embodiment.
- FIG. 8A is a flowchart showing processing in the client 10, and
- FIG. 8B is a flowchart showing processing in the information processing apparatus 100.
- FIG. 9A is a flowchart showing processing in the client 10, and FIG. 9B is a flowchart showing processing in the information processing apparatus 100. It is a diagram showing the positions of landmarks, KFs, and clients 10 in a specific example.
- FIG. 11A is a flowchart showing processing in the information processing apparatus 100
- FIG. 11B is a flowchart showing processing in the client 10. It is an explanatory diagram of a search range. It is a figure which shows the 1st example of UI for image acquisition.
- FIG. 13 is a diagram showing a second example of a UI for image acquisition. It is a figure which shows the 3D map update image transmitted from client 10B in a specific example.
- 2 is a diagram showing the positions of a client 10A and a client 10B specified by the information processing device 100.
- Embodiments of the present technology will be described below with reference to the drawings. Note that the explanation will be given in the following order. ⁇ 1. Embodiment> [1-1. Configuration of client 10 and server 20] [1-2. Configuration of information processing system 1000 and information processing device 100] [1-3. About 3D maps, key frames, and landmarks] [1-4. Processing in information processing system 1000 and information processing device 100] ⁇ 2. Modified example>
- the client 10 included in the information processing system 1000 will be described with reference to FIG. 1.
- the client 10 includes at least a control section 11, a storage section 12, a communication section 13, an input section 14, a display section 15, and a camera section 16.
- the control unit 11 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like.
- the CPU controls the entire client 10 and each part by executing various processes and issuing commands according to programs stored in the ROM.
- the storage unit 12 is, for example, a large capacity storage medium such as a hard disk or flash memory.
- the storage unit 12 stores AR applications and various data used by the client 10.
- the communication unit 13 is a communication module that communicates with the server 20, the Internet, etc. Communication methods can be wired or wireless, including cellular communication, Wi-Fi, Bluetooth (registered trademark), NFC (Near Field Communication), Ethernet (registered trademark), and HDMI (registered trademark) (High-Definition Multimedia). interface), USB (Universal Serial Bus), etc.
- the input unit 14 allows the user to input information and various instructions to the client 10.
- a control signal corresponding to the input is generated and supplied to the control unit 11.
- the control unit 11 then performs various processes corresponding to the control signal.
- the input unit 14 may be a physical button, a touch panel, or a touch screen integrated with a monitor.
- the display unit 15 is a display device such as a liquid crystal display or an organic EL display that displays images, videos, and a UI (User Interface) for the user to use the client 10.
- a display device such as a liquid crystal display or an organic EL display that displays images, videos, and a UI (User Interface) for the user to use the client 10.
- the camera unit 16 is composed of a lens, an image sensor, a video signal processing circuit, etc., and captures a camera image of the real space to be transmitted to the information processing device 100.
- the camera unit 16 may be provided in the client 10 itself, or may be a single device such as a camera or other device having a camera function. In that case, the device transmits the camera image to the client 10 via wired or wireless communication, and the client 10 transmits the camera image captured by the device to the information processing apparatus 100.
- the client 10 is configured as described above.
- Examples of the client 10 include a smartphone, a tablet terminal, a digital camera, a wearable device, a head-mounted display, and a personal computer.
- a control program that performs processing according to the present technology may be installed in the client 10 in advance, or may be downloaded, distributed on a storage medium, etc., and installed by the user himself.
- the server 20 constituting the information processing system 1000 will be described with reference to FIG. 2.
- the server 20 is configured to include at least a control unit 21, a storage unit 22, and a communication unit 23.
- the control unit 21, the storage unit 22, and the communication unit 23 have the same functions as those included in the client 10.
- the server 20 may be, for example, a cloud server.
- the information processing system 1000 includes a plurality of clients 10, 10, . . . and a server 20 that performs processing as the information processing device 100.
- a plurality of clients 10 and servers 20 are connected via a network.
- the client 10 sends a camera image used for position and orientation estimation (referred to as an image for position and orientation estimation) to the information processing apparatus 100 to request position and orientation estimation, and in response to a request from the information processing apparatus 100.
- the client 10 functions as an AR device by executing an AR application, a device that transmits a 3D map update image in response to a request from the information processing device 100 may not function as an AR device.
- FIG. 4 shows the information processing apparatus 100 constituting the information processing system 1000 and a client A (denoted as client 10A) and client B (denoted as client 10B) out of the plurality of clients 10. Note that FIG. 4 shows only processing blocks related to information and signals related to the present technology.
- data transmission and reception between the client 10A and the information processing device 100 and data transmission and reception between the client 10B and the information processing device 100 are performed by communication functions provided in the client 10A, the client 10B, and the server 20.
- the client 10A functions as an AR device by executing an AR application.
- the client 10A requests the information processing apparatus 100 to estimate the position and orientation of the client 10A by transmitting the image for position and orientation estimation captured by the camera unit 16.
- the client 10A includes an application control section 17A and a drawing section 18A.
- the application control unit 17A performs processing based on an application for using the information processing system 1000.
- the application control unit 17A performs processing related to the AR application executed by the client 10A, and acquires the position and orientation estimation result transmitted from the information processing device 100 and outputs it to the drawing unit 18A.
- the drawing unit 18A draws a virtual object based on the position and orientation estimation results transmitted from the information processing device 100 to generate an output image, and outputs the output image to the display unit 15A. As a result, the output image is displayed on the display section 15A.
- the virtual object may be, for example, a character, a figure, an object that indicates information in a map service, a character placed on an image of real space, but is not limited to these, and may be of any kind.
- the application control unit 17A and the drawing unit 18A are realized by the client 10A executing an AR application, and the application may be installed in the client 10A in advance, or may be downloaded or distributed on a storage medium, so that the user can You may also install it yourself. Further, the client 10A may be provided with the functions of the application control section 17A and the drawing section 18A in advance.
- the client 10B receives a request to send a 3D map update image from the information processing device 100, and transmits the camera image captured by the camera unit 16B to the information processing device 100 as a 3D map update image.
- the client 10B includes a coarse-grained position sensor section 19B, an application control section 17B, and a drawing section 18B.
- the coarse-grained position sensor unit 19B is a sensor that acquires position information such as GNSS (Global Navigation Satellite System) or GPS (Global Positioning System), and indicates the position of the client 10B with an accuracy of, for example, several tens to several hundred meters. Obtain coarse-grained position information.
- the coarse-grain position sensor unit 19B periodically acquires coarse-grain position information, and the client 10B transmits the coarse-grain position information to the information processing device 100.
- the coarse-grained position sensor unit 19B may acquire coarse-grained positional information using mobile line base station information, Wi-Fi access point names, and the like. Note that since the coarse-grained position information is used to specify the approximate position of the client 10B, it does not need to be highly accurate position information.
- the client 10B may transmit highly accurate position information, and the coarse-grained position sensor section 19B does not exclude the acquisition of highly accurate position information. Further, the client 10B may use a geomagnetic sensor or the like to transmit information indicating the direction in which the client 10B is facing to the information processing apparatus 100 together with the coarse-grained position information.
- the application control unit 17B performs processing based on an application for using the information processing system 1000.
- the application control unit 17B controls the drawing of the UI by the drawing unit 18B, the display on the display unit 15B, etc. in order to present to the user a request to send a 3D map update image from the information processing device 100. It also controls the capturing of camera images by the camera unit 16.
- the drawing unit 18B draws a UI etc. for presenting a request to the user to send a 3D map update image, and outputs the drawing result to the display unit 15A.
- the drawing result is displayed on the display section 15B.
- the client 10B is equipped with IMU (Inertial Measurement Unit), LiDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging), ToF (Time of Flight) sensors, etc., and the sensing data acquired by these sensors is used as a 3D map. It may also be transmitted to the information processing apparatus 100 as update data or coarse-grained position information. Furthermore, information such as GNSS or mobile line base station information, Wi-Fi access point name, etc. may also be used as 3D map update data.
- IMU Inertial Measurement Unit
- LiDAR Light Detection and Ranging
- Laser Imaging Detection and Ranging Laser Imaging Detection and Ranging
- ToF Time of Flight
- the client 10B may function as an AR device by executing an AR application, or may not function as an AR device.
- the information processing device 100 includes a 3D map DB (Database) 101, a position/orientation estimation section 102, an estimation accuracy determination section 103, a 3D map accuracy determination section 104, a client position DB 105, a client identification section 106, and a 3D map update section 107.
- the storage unit 22 of the server 20 functions as the 3D map DB 101 and the client position DB 105, but each DB may be configured with a different storage medium.
- the 3D map DB 101 is a database that stores 3D maps that model real space. It is assumed that a plurality of 3D maps exist for each point in real space, and a plurality of 3D maps that have been generated in advance are stored in the 3D map DB 101. 3D maps can be generated by simultaneously estimating the three-dimensional shape and imaging point based on multiple camera images from different viewpoints using technologies such as SfM (Structure from Motion) and VIO (Visual Inertial Odometry).
- SfM Structure from Motion
- VIO Visual Inertial Odometry
- the position and orientation estimating unit 102 estimates the position and orientation of the client 10A using VPS based on the correspondence between the position and orientation estimation image transmitted from the client 10A and the 3D map acquired from the 3D map DB 101.
- VPS the position and orientation of the client 10A is estimated in the 3D map coordinate system using a method such as Perspective-n-Point based on the correspondence between the image for position and orientation estimation and the feature points and feature amounts of the 3D map.
- the position and orientation estimation result by the position and orientation estimation unit 102 is transmitted to the client 10 that made the position and orientation estimation request.
- the position and orientation estimating unit 102 estimates the position and orientation of the client 10A based on the correspondence between the position and orientation estimation image transmitted from the client 10A and the 3D map, and the information processing device 100 estimates the position and orientation of the client 10A.
- the results are sent to client 10A.
- the drawing unit 18A of the client 10A uses this position and orientation estimation result to draw a virtual object in AR.
- the estimation accuracy determination unit 103 evaluates the accuracy of the position and orientation estimation result by the position and orientation estimation unit 102. If the accuracy of the position and orientation estimation result is low, the 3D map accuracy determination unit 104 determines the accuracy of the 3D map.
- the 3D map accuracy determination unit 104 determines the accuracy of the landmarks included in the 3D map that are used to estimate the position and orientation of the client 10A. If the accuracy of the landmark is low, the client specifying unit 106 performs a process of specifying the client 10 requesting transmission of the 3D map update image.
- the client location DB 105 is a database that stores coarse-grained location information sent from multiple clients 10 connected to the server 20.
- the client specifying unit 106 refers to the coarse-grained position information stored in the client position DB 105 to specify the client 10 that requests transmission of the 3D map update image.
- the client 10B is identified by the client identifying unit 106 and receives the request to send the 3D map update image.
- the 3D map update unit 107 uses the 3D map update image sent from the client 10B and the computer resources of the server 20 to update the 3D map used by the position and orientation estimation unit 102 to estimate the position and orientation of the client 10A.
- Computer resources refer to the amount of hardware occupied by the server 20, such as the execution time of the server 20, the usage rate of the processor, and the amount of storage 22 occupied.
- the information processing system 1000 and the information processing device 100 are configured as described above.
- the information processing device 100 operates on the server 20, but the server 20 may have the function of the information processing device 100 in advance, or the server 20, which has the function of a computer, may execute the program.
- the information processing device 100 and the information processing method may be realized by the following.
- the control unit 21 may function as the information processing device 100 by executing a program.
- the program may be installed in advance on the server 20, or may be downloaded, distributed on a storage medium, etc., and installed by a user or the like.
- the information processing device 100 may be configured as a single device. Further, the information processing device 100 is not limited to the server 20, and may operate on a personal computer, a smartphone, a tablet terminal, or the like.
- VPS uses a 3D map of the real space to determine the position using a method such as Perspective-n-Point based on the correspondence between the camera image as an image for position and orientation estimation sent from the client 10 and the features of the 3D map.
- the position and orientation of the client 10 that captured the orientation estimation image are estimated using the 3D map coordinate system.
- the 3D map includes three-dimensional feature points (landmarks) that are modeled by estimating objects in real space, feature points and feature amounts used for pose estimation, and images used for three-dimensional shape estimation (Key Frame: KF ), coarse-grained position information, and other data.
- KF imaging position information used for landmark estimation is recorded. Examples of landmarks include the position of the vertex of an acute angle portion of an object.
- a 3D map can be generated by estimating the three-dimensional shape and the imaging position and orientation of the KF based on multiple KFs from different viewpoints using techniques such as SfM and VIO. As shown in Figure 5, these techniques use multiple KFs with different viewpoints (KF1 to KF4 in Figure 5), and use the positional relationship of feature points commonly seen in each KF to create a triangular shape. Landmark positions, KF imaging positions, and orientations are estimated by surveying and overall optimization of the results.
- the accuracy of the estimated landmark position is determined by the accuracy of the position of the feature point in the KF, the distance between the two KFs used for estimation (baseline length) Depends on.
- the accuracy of the position of the feature point in the KF is inversely proportional to the distance of the object from which the landmark is detected from the position of the KF. This is because as the distance from the KF imaging point to the object increases, the size of the object projected onto the image (KF) becomes smaller, so the size of the object represented by 1 pixel increases in proportion to the distance. It's for a reason. Therefore, when estimating a landmark on an object far from the KF imaging position using a short baseline length, the accuracy of the estimated landmark position becomes low.
- the position and orientation of the client 10A is estimated using the position and orientation estimation image sent by the client 10A and the 3D map acquired from the 3D map DB 101.
- the estimation accuracy of the position and orientation of the client 10A depends on the positional accuracy of landmarks used for estimation in the 3D map. Therefore, as shown in FIG. 6A, if landmarks with high positional accuracy (indicated by six white dots) are used, the estimation accuracy of the position and orientation of the client 10A becomes high, but as shown in FIG. 6B, the positional accuracy is If a low landmark (indicated by six white dots) is used, the accuracy of estimating the position and orientation of the client 10A will also be low.
- step S101 the coarse-grained position sensor unit 19B of the client 10B acquires coarse-grained position information.
- step 102 the client 10B transmits coarse-grained position information to the information processing device 100.
- the client 10C also performs the process shown in FIG. 8A in the same way as the client 10B. However, the client 10B and the client 10C do not need to perform the processing in FIG. 8A at the same timing.
- step S201 the information processing device 100 receives coarse-grained position information transmitted from the client 10B.
- step S202 the information processing device 100 stores the coarse-grained position information in the client position DB 105.
- the information processing apparatus 100 similarly performs the process shown in FIG. 8B on the coarse-grained position information transmitted from the client 10C.
- the clients 10B, 10C, and the information processing apparatus 100 periodically perform the processes from step S101 to step S202 at predetermined time intervals. As a result, the latest coarse-grained position information of the clients 10B and 10C is periodically stored in the client position DB 105.
- the clients 10B and 10C are shown as an example, if there are multiple clients 10 connected to the server 20 and using the information processing system 1000, all the clients 10 will process the coarse-grained position information.
- the coarse-grained position information of the plurality of clients 10 is stored in the client position DB 105.
- the client 10A may also transmit coarse-grained position information to the information processing device 100. This is because if another client 10 makes a request for position and orientation estimation, the client 10A may also receive a request from the information processing device 100 to send a 3D map update image.
- step S301 the camera unit 16A images the real space and acquires an image for position and orientation estimation based on the input operation of the user A using the client 10A.
- step 302 the client 10A transmits the position and orientation estimation image to the information processing device 100.
- step S303 the client 10A enters a waiting state until the position and orientation estimation result is received from the information processing device 100 (No in step S303).
- step S401 the information processing apparatus 100 receives the position and orientation estimation image transmitted from the client 10A.
- step S402 the position and orientation estimating unit 102 estimates the position and orientation of the client 10A using the image for position and orientation estimation and the 3D map acquired from the 3D map DB 101.
- the position and orientation estimating unit 102 extracts feature points and feature amounts from the received image for position and orientation estimation, and combines the feature points and feature amounts with the feature points and features of each of the plurality of 3D maps stored in the 3D map DB 101. The amounts and the like are compared, and a 3D map that matches or approximates them is set as a 3D map to be used for estimating the position and orientation of the client 10A.
- a 3D map covering the range where the client 10A exists is created based on the coarse-grained position information such as GPS data transmitted by the client 10A and the coarse-grained position information included in the 3D map.
- FIG. 10 it is assumed that the client 10A has captured an image for position and orientation estimation necessary for the orientation estimation request at the current point a1 .
- a method using a frustum called Viewing Frustum is used to express the direction of the camera and the direction of the KF.
- the short side of the triangle represents the imaging surface on which the KF is imaged
- the 3D map includes two KFs, KF x and KF y , and a landmark Li , and the positional relationship between KF x , KF y , and the current location a1 of the client 10A is shown in FIG.
- the position and orientation estimating unit 102 of the information processing device 100 estimates the position and orientation of the client 10A using VPS based on the image for position and orientation estimation transmitted from the client 10A and the landmark Li included in the 3D map.
- the estimation accuracy determination unit 103 determines the accuracy of the position and orientation estimation result by the position and orientation estimation unit 102.
- the accuracy of the position and orientation estimation results can be determined by calculating the estimation accuracy of the position and orientation estimation results and comparing the estimation accuracy with a predetermined threshold (first threshold).
- the estimation accuracy for example, there is a method that uses the average value of the distances between all the landmarks used for position and orientation estimation and the position of the client 10A estimated by the position and orientation estimation unit 102. If this average value is less than the first threshold, it is determined that the estimation accuracy is high, and if the average value is greater than the first threshold, it is determined that the estimation accuracy is low.
- the first threshold value may be set in advance to a specific value by the operator of the information processing system 1000 or the developer of the AR application, or may be set by the operator or the developer depending on the operational status of the information processing system 1000 or the AR application. It may be possible to make changes by a developer or the like.
- step S404 the information processing device 100 transmits the position and orientation estimation results to the client 10A.
- step S405 the process proceeds to step S405 (No in step S403), and the information processing device 100 requests transmission of the 3D map update image and updates the 3D map.
- the process of step S405 will be described later with reference to FIG.
- step S404 The processing of the client 10A after the information processing device 100 transmits the position and orientation estimation result to the client 10A in step S404 will be described with reference to FIG. 9A.
- the process proceeds from step S303 to step S304 (Yes in step S303), and the client 10A receives the position and orientation estimation result.
- step S305 the client 10A executes the AR application using the position and orientation estimation results.
- the application control unit 17A outputs the position and orientation estimation results sent from the server 20 to the drawing unit 18A, and the drawing unit 18A draws a virtual object based on the position and orientation estimation results to generate an output image. It is output to the display section 15A. As a result, the output image is displayed on the display section 15A.
- the process shown in FIG. 11A is performed for each landmark included in the 3D map used for estimating the position and orientation of the client 10A.
- the process shown in FIG. 11A is a process of updating the 3D map in order to improve the estimation accuracy of the position and orientation of the client 10A.
- step S501 the 3D map accuracy determining unit 104 determines the estimation accuracy of the landmark Li included in the 3D map and used to estimate the position and orientation of the client 10.
- the estimation accuracy of the landmark L i is assumed to be E i .
- the estimation accuracy E i can be calculated using the following equation 1.
- this estimation accuracy E i is less than a predetermined threshold (second threshold), it is determined that the estimation accuracy of the landmark L i is low and the process proceeds to step S502 (No in step S501).
- the second threshold value may be set to a specific value in advance by the operator of the information processing system 1000 or the developer of the AR application, or may be set by the operator or the like depending on the operational status of the information processing system 1000 or the AR application. It may be possible to make changes by a developer or the like. Note that although the estimation accuracy E i of the landmark L i is calculated based on two KFs in FIG. 10, the estimation accuracy E i of the landmark L i is calculated based on three or more KFs using the same method. good.
- the client specifying unit 106 uses a 3D map necessary for updating the landmark Li based on the coarse-grained position information in a search range that is a predetermined range based on the landmark Li .
- Other clients 10 that can request transmission of update images are identified.
- the other client 10 is a client 10 that is different from the client that transmitted the position and orientation estimation image and made the position and orientation estimation request.
- a 3D map update image obtained by capturing the landmark L i from another position is required. Therefore, the client specifying unit 106 uses the client position DB 105 to search for other clients based on the coarse-grained position information transmitted from other clients 10 within the search range based on the landmark Li , as shown in FIG.
- the client 10 is specified.
- the search range is a range determined based on the distance between the imaging position of the key frame included in the 3D map and the landmark. More specifically, the search range can be defined as a circle with a radius Ri based on the landmark Li , and the radius Ri is, for example, a circle from the landmark Li to the imaging of KF x included in the 3D map. It can be calculated using the following equation 2 using the distance l xi between the positions and the distance l yi from the landmark L i to the KF y included in the 3D map.
- the search range is not limited to a circular shape, and may be a rectangular range or a range of any shape.
- the denominator value "2" in Equation 2 is not a fixed value but is merely an example, and the denominator value is not limited to 2.
- step S503 If another client 10 exists in the search range, the process proceeds to step S503 (Yes in step S502).
- the client 10B is detected from the search range as shown in FIG.
- the client specifying unit 106 does not specify the client 10C as the client 10 that can request transmission of the 3D map update image.
- step S503 the information processing device 100 requests the client 10B identified by the client identifying unit 106 to send a 3D map update image.
- step S504 the information processing device 100 enters a waiting state until the 3D map update image arrives from the client 10B (No in step S504).
- client 10B after information processing device 100 requests client 10B to send an image for updating the 3D map in step S503 will be described with reference to FIG. 11B.
- the client 10B receives the request to transmit the 3D map update image in step S601.
- step S602 under the control of the application control unit 17B, the client 10B displays a UI (image acquisition UI) on the display unit 15B for prompting the user B who uses the client 10B to capture an image for updating the 3D map. do.
- UI image acquisition UI
- the client 10B exists within the search range based on the landmark Li , the user B who uses the client 10B does not know where the landmark Li is located. Therefore, by presenting KF x and KF y used for estimating landmark Li to user B, user B can search for landmark Li and capture camera images around landmark Li . Make it.
- the image acquisition UI for example, the one shown in FIG. 13 can be considered.
- the image acquisition UI shown in FIG. 13 displays KF (KF x , KF y ) included in the 3D map to be updated and a message prompting the user to capture a camera image as the 3D map update image. Since an object P having a landmark Li is displayed on both KF x and KF y displayed on the image acquisition UI, user B uses this object P as a landmark to update the 3D map update image. can be imaged.
- an icon IC indicating the direction in which an object P having a landmark Li is present may be displayed together with KF by being superimposed on the camera image as shown in Fig. 14.
- This camera image is an image currently being captured by the client 10B.
- the icon IC is displayed superimposed on the camera image, with the current camera image always being displayed on the display unit 15B, like a through image when shooting a video.
- step S603 the client 10B images the surrounding real space and acquires a 3D map update image in response to an input operation by user B with reference to the image acquisition UI.
- a camera image as shown in FIG. 15 is captured at the position shown in FIG. 12.
- step S604 the client 10B transmits the camera image shown in FIG. 15 to the information processing apparatus 100 as a 3D map update image.
- step S504 When the client 10B transmits the 3D map update image to the information processing device 100, the process proceeds from step S504 to step S505 (Yes in step S504), and in step S505, the information processing device 100 receives the 3D map update image.
- step S506 the 3D map update unit 107 updates the 3D map using the 3D map update image.
- the 3D map update image sent by the client 10B is used as a new KF, KF z .
- the baseline length between KF x and KF z is longer than the baseline length between KF x and KF y , so when using KF x and KF z , when using KF Landmark L i can be estimated with higher accuracy than when using z .
- steps S501 to S505 is performed for all landmarks used for position and orientation estimation.
- step S501 if the estimation accuracy of the landmark is high in step S501 (Yes in step S501), the process ends without requesting the transmission of the 3D map update image or updating the 3D map. This is because if the landmark estimation accuracy is high, there is no need to update the 3D map.
- step S502 if the client specifying unit 106 cannot detect a client 10 capable of transmitting the 3D map update image necessary for updating the landmark Li within the search range (No in step S502), the 3D map The process ends without requesting to send an update image or updating the 3D map. This is because if the client 10 does not exist, a request to send a 3D map update image cannot be made.
- the client 10A captures a new image for position and orientation estimation in step S301 of FIG. 9A, transmits the image for position and orientation estimation to the information processing device 100 again in step S302, and requests position and orientation estimation. If so, the information processing apparatus 100 receives a position and orientation estimation image in step S401, and performs position and orientation estimation again in step S402.
- the information processing apparatus 100 estimates the position and orientation of the client 10A using the 3D map updated in step S505. Since the position and orientation estimation is performed using the 3D map updated by increasing the precision of the landmark L i , the position and orientation estimation result should be higher than before the 3D map was updated.
- the information processing device 100 may request the plurality of clients 10 to transmit a 3D map update image. Then, when 3D map update images are transmitted from a plurality of clients 10, the 3D map update unit 107 estimates the landmark L i using all of the 3D map update images and updates the 3D map. do. After the update process is completed, the position and orientation estimating unit 102 performs position estimation using the updated 3D map, and the position and orientation estimation result is transmitted to the client 10 that has made the position and orientation estimation request.
- the client 10B which has received a request to send a 3D map update image, does not necessarily transmit an appropriate 3D map update image in which the landmark Li is reflected to the information processing apparatus 100.
- the 3D map updating unit 107 cannot update the 3D map. Therefore, the information processing device 100 may continue to issue requests to all clients within the search range to send 3D map update images until the 3D map is updated by receiving the 3D map update image. .
- the processing in this technology is performed as described above.
- another client 10 that can send a 3D map update image for increasing the precision of landmarks included in a 3D map is identified, and a request is made to the other client to send the 3D map update image.
- the 3D map can be updated using the 3D map update image that cannot be obtained by the client that has made the position and orientation estimation request. Since the landmarks included in the updated 3D map have increased accuracy, the accuracy of the position and orientation estimation results of the client that has requested position and orientation estimation can also be improved. Furthermore, by using the position and orientation estimation result with improved accuracy, it is possible to improve the accuracy of drawing a virtual object in an AR application.
- one information processing device 100 performs processing on the server 20, but the information processing device 100 may be divided into a plurality of information processing devices according to their functions, and each information processing device may perform processing on a different server. Good too.
- the present technology can also have the following configuration.
- an estimation accuracy determination unit that determines the estimation accuracy of the position and orientation of the client, which is estimated based on a position and orientation estimation image captured in real space transmitted from the client and a 3D map of the real space;
- An information processing apparatus comprising: a client specifying unit that specifies another client that requests transmission of a 3D map update image for updating the 3D map, based on a determination result of the estimation accuracy.
- the client identification unit identifies the other client that requests transmission of the 3D map update image. information processing equipment.
- the estimation accuracy determining unit determines that the estimation accuracy of the position and orientation of the client is low, the accuracy of the landmark included in the 3D map and used to estimate the position and orientation of the client is determined, and the accuracy of the landmark used to estimate the position and orientation of the client is determined.
- the accuracy of the landmark is based on the distance between a plurality of key frames included in the 3D map and used for estimating the landmark, and the distance between each of the plurality of key frames and the landmark.
- the information processing device according to (3), wherein the information processing device is calculated.
- the estimation accuracy determination unit determines a predetermined threshold value and an average distance between the position of a landmark used for estimating the position and orientation of the client included in the 3D map and the estimated position of the client.
- the information processing device according to any one of (1) to (4), wherein the estimation accuracy of the position and orientation is determined by comparison.
- the client specifying unit specifies the other client that requests transmission of the 3D map update image within the search range, based on the position information sent from the other client.
- the information processing device according to any one of the above.
- the search range is based on a landmark included in the 3D map and used for estimating the position and orientation of the client, and is based on a distance between the imaging position of a key frame included in the 3D map and the landmark.
- the information processing device which is a determined range.
- the information processing device according to any one of (1) to (7), further comprising a 3D map update unit that updates the 3D map using the 3D map update image transmitted from the other client.
- the 3D map updating unit updates the 3D map by estimating the position of the landmark by triangulation using the positional relationship between the feature points in the 3D map update image and key frames included in the 3D map ( 8)
- a client that sends a position and orientation estimation image captured in real space and requests position and orientation estimation, an estimation accuracy determination unit that determines the estimation accuracy of the position and orientation of the client estimated based on the position and orientation estimation image and the 3D map of the real space; an information processing device that specifies another client that requests transmission of a 3D map update image for updating the 3D map based on a determination result of the estimation accuracy;
- An information processing system comprising: another client that transmits the 3D map update image in response to a request from the information processing device to transmit the 3D map update image.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
This information processing device is provided with: an estimation accuracy determination unit that determines the estimation accuracy of the position and orientation of a client as estimated on the basis of a 3D map of a real space and a position and orientation estimation image captured of the real space and transmitted from the client; and a client identification unit that, on the basis of the determination result of the estimation accuracy, identifies another client who is to be requested to transmit a 3D map update image for updating the 3D map.
Description
本技術は、情報処理装置、プログラムおよび情報処理システムに関する。
The present technology relates to an information processing device, a program, and an information processing system.
AR(拡張現実:Augmented Reality)においては、複数のクライアントに対し、現実空間の特定の場所に同じ3Dオブジェクト(仮想物)を表示する場合がある。そのためには、各クライアントの位置および姿勢を共通の座標系で特定する必要がある。これを実現する手段として、カメラ画像から各端末の位置および姿勢を推定するVPS(Visual Positioning System)と呼ばれる方法がある。
In AR (Augmented Reality), the same 3D object (virtual object) may be displayed at a specific location in real space for multiple clients. To do this, it is necessary to specify the position and orientation of each client using a common coordinate system. As a means for realizing this, there is a method called VPS (Visual Positioning System) that estimates the position and orientation of each terminal from camera images.
VPSは現実空間の3Dマップを利用し、各クライアントから送られてくるカメラ画像と3Dマップの特徴の対応関係から、Perspective-n-Pointなどの方法を用いて、カメラ画像を撮像したクライアントの位置および姿勢を3Dマップ座標系で推定する。3Dマップには現実空間の物体をモデル化した、3次元の特徴点(ランドマーク)や、姿勢推定時に利用する特徴点、特徴量、三次元形状推定に利用した画像(Key Frame:KF)などのデータが含まれている。
VPS uses a 3D map of the real space, and uses methods such as Perspective-n-Point to determine the position of the client that captured the camera image based on the correspondence between the camera image sent from each client and the features of the 3D map. and the pose are estimated in the 3D map coordinate system. The 3D map includes 3D feature points (landmarks) that model objects in real space, feature points and features used for pose estimation, images used for 3D shape estimation (Key Frame: KF), etc. contains data.
各クライアントの位置および姿勢の推定精度は、3Dマップに含まれるランドマークの位置の精度に依存する。したがって、位置の精度の低いランドマークを利用すると、クライアントの位置および姿勢の推定結果の精度が低くなるという課題がある。
The accuracy of estimating the position and orientation of each client depends on the accuracy of the positions of landmarks included in the 3D map. Therefore, when a landmark with low positional accuracy is used, there is a problem that the accuracy of the estimation result of the client's position and orientation becomes low.
そこで、3Dマップに含まれる低精度なランドマークを検知し、高精度なランドマークに更新するという手法が提案されている。例えば特許文献1では、あるクライアントで取得した風景の画像がデータベースに記録された風景の画像と異なるとき、そのクライアントに追加のデータ取得要求を促すコマンドを提示してデータベースを更新するという手法を提案している。
Therefore, a method has been proposed in which low-precision landmarks included in the 3D map are detected and updated to high-precision landmarks. For example, Patent Document 1 proposes a method in which when a landscape image acquired by a certain client differs from a landscape image recorded in a database, the database is updated by presenting a command prompting the client to request additional data acquisition. are doing.
しかし特許文献1の方法は、姿勢推定を行うクライアントで取得可能なセンサデータのみで3Dマップを更新できる場合にのみ機能する。姿勢推定を行う地点にあるクライアントは、その地点から遠い物体の高精度なセンサデータを取得できないため、ランドマークの高精度化を目的とした3Dマップの更新ができないという問題がある。
However, the method of Patent Document 1 works only when the 3D map can be updated using only sensor data that can be obtained by the client that performs pose estimation. A client located at a point where orientation is to be estimated cannot obtain highly accurate sensor data of an object far from that point, so there is a problem in that a 3D map cannot be updated for the purpose of increasing the accuracy of landmarks.
本技術はこのような問題点に鑑みなされたものであり、ランドマークを高精度化して3Dマップを更新することができる情報処理装置、プログラムおよび情報処理システムを提供することを目的とする。
The present technology was developed in view of these problems, and aims to provide an information processing device, a program, and an information processing system that can update a 3D map by increasing the accuracy of landmarks.
上述した課題を解決するために、第1の技術は、クライアントから送信された現実空間を撮像した位置姿勢推定用画像と、現実空間の3Dマップとに基づいて推定されるクライアントの位置姿勢の推定精度を判定する推定精度判定部と、推定精度の判定結果に基づいて、3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定するクライアント特定部とを備える情報処理装置である。
In order to solve the above-mentioned problems, a first technique involves estimating the position and orientation of the client based on a position and orientation estimation image of the real space transmitted from the client and a 3D map of the real space. Information processing comprising: an estimation accuracy determination unit that determines accuracy; and a client identification unit that identifies another client that requests transmission of a 3D map update image for updating a 3D map based on the estimation accuracy determination result. It is a device.
また、第2の技術は、クライアントから送信された現実空間を撮像した位置姿勢推定用画像と、現実空間の3Dマップとに基づいて推定されるクライアントの位置姿勢の推定精度を判定し、推定精度の判定結果に基づいて、3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定する情報処理方法をコンピュータに実行させるプログラムである。
In addition, the second technology determines the estimation accuracy of the client's position and orientation, which is estimated based on a position and orientation estimation image captured from the real space and a 3D map of the real space, and determines the estimation accuracy. This is a program that causes a computer to execute an information processing method for identifying another client that requests transmission of a 3D map update image for updating a 3D map based on the determination result.
さらに、第3の技術は、現実空間を撮像した位置姿勢推定用画像を送信するクライアントと、位置姿勢推定用画像と、現実空間の3Dマップとに基づいて推定されるクライアントの位置姿勢の推定精度を判定する推定精度判定部と、推定精度の判定結果に基づいて、3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定するクライアント特定部とを備える情報処理装置と、情報処理装置からの3Dマップ更新用画像の送信の要求に応じて3Dマップ更新用画像を送信する他のクライアントとからなる情報処理システムである。
Furthermore, the third technique is a client transmitting an image for position and orientation estimation captured in real space, and the estimation accuracy of the position and orientation of the client estimated based on the image for position and orientation estimation and a 3D map of the real space. an information processing device that includes an estimation accuracy determination unit that determines the estimation accuracy; and a client identification unit that identifies another client that requests transmission of a 3D map update image for updating a 3D map based on the estimation accuracy determination result. and another client that transmits a 3D map update image in response to a request from an information processing device to transmit a 3D map update image.
以下、本技術の実施の形態について図面を参照しながら説明する。なお、説明は以下の順序で行う。
<1.実施の形態>
[1-1.クライアント10とサーバ20の構成]
[1-2.情報処理システム1000および情報処理装置100の構成]
[1-3.3Dマップ、キーフレーム、ランドマークについて]
[1-4.情報処理システム1000と情報処理装置100における処理]
<2.変形例> Embodiments of the present technology will be described below with reference to the drawings. Note that the explanation will be given in the following order.
<1. Embodiment>
[1-1. Configuration ofclient 10 and server 20]
[1-2. Configuration ofinformation processing system 1000 and information processing device 100]
[1-3. About 3D maps, key frames, and landmarks]
[1-4. Processing ininformation processing system 1000 and information processing device 100]
<2. Modified example>
<1.実施の形態>
[1-1.クライアント10とサーバ20の構成]
[1-2.情報処理システム1000および情報処理装置100の構成]
[1-3.3Dマップ、キーフレーム、ランドマークについて]
[1-4.情報処理システム1000と情報処理装置100における処理]
<2.変形例> Embodiments of the present technology will be described below with reference to the drawings. Note that the explanation will be given in the following order.
<1. Embodiment>
[1-1. Configuration of
[1-2. Configuration of
[1-3. About 3D maps, key frames, and landmarks]
[1-4. Processing in
<2. Modified example>
<1.実施の形態>
[1-1.クライアント10とサーバ20の構成]
図1を参照して情報処理システム1000の構成するクライアント10について説明する。クライアント10は少なくとも制御部11、記憶部12、通信部13、入力部14、表示部15、カメラ部16を備えている。 <1. Embodiment>
[1-1. Configuration ofclient 10 and server 20]
Theclient 10 included in the information processing system 1000 will be described with reference to FIG. 1. The client 10 includes at least a control section 11, a storage section 12, a communication section 13, an input section 14, a display section 15, and a camera section 16.
[1-1.クライアント10とサーバ20の構成]
図1を参照して情報処理システム1000の構成するクライアント10について説明する。クライアント10は少なくとも制御部11、記憶部12、通信部13、入力部14、表示部15、カメラ部16を備えている。 <1. Embodiment>
[1-1. Configuration of
The
制御部11は、CPU(Central Processing Unit)、RAM(Random Access Memory)およびROM(Read Only Memory)などから構成されている。CPUは、ROMに記憶されたプログラムに従い様々な処理を実行してコマンドの発行を行うことによってクライアント10の全体および各部の制御を行う。
The control unit 11 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like. The CPU controls the entire client 10 and each part by executing various processes and issuing commands according to programs stored in the ROM.
記憶部12は、例えばハードディスク、フラッシュメモリなどの大容量記憶媒体である。記憶部12にはクライアント10で使用するARアプリケーションや各種データなどが格納されている。
The storage unit 12 is, for example, a large capacity storage medium such as a hard disk or flash memory. The storage unit 12 stores AR applications and various data used by the client 10.
通信部13はサーバ20やインターネットなどとの通信を行う通信モジュールである。通信方式は有線または無線を問わず、具体的にはセルラー通信、Wi-Fi、Bluetooth(登録商標)、NFC(Near Field Communication)、イーサネット(登録商標)、HDMI(登録商標)(High-Definition Multimedia Interface)、USB(Universal Serial Bus)などを含みうる。
The communication unit 13 is a communication module that communicates with the server 20, the Internet, etc. Communication methods can be wired or wireless, including cellular communication, Wi-Fi, Bluetooth (registered trademark), NFC (Near Field Communication), Ethernet (registered trademark), and HDMI (registered trademark) (High-Definition Multimedia). interface), USB (Universal Serial Bus), etc.
入力部14は、クライアント10に対してユーザが情報や各種指示などの入力を行うためのものである。入力部14に対してユーザから入力がなされると、その入力に応じた制御信号が生成されて制御部11に供給される。そして、制御部11はその制御信号に対応した各種処理を行う。入力部14は物理ボタンの他、タッチパネル、モニタと一体に構成されたタッチスクリーンなどがある。
The input unit 14 allows the user to input information and various instructions to the client 10. When the user makes an input to the input unit 14, a control signal corresponding to the input is generated and supplied to the control unit 11. The control unit 11 then performs various processes corresponding to the control signal. The input unit 14 may be a physical button, a touch panel, or a touch screen integrated with a monitor.
表示部15は、画像や映像、ユーザがクライアント10を使用するためのUI(User Interface)などを表示する液晶ディスプレイや有機ELディスプレイなどの表示デバイスである。
The display unit 15 is a display device such as a liquid crystal display or an organic EL display that displays images, videos, and a UI (User Interface) for the user to use the client 10.
カメラ部16はレンズ、撮像素子、映像信号処理回路などから構成され、現実空間を撮像して情報処理装置100に送信するためのカメラ画像を撮像する。なお、カメラ部16はクライアント10自体が備えるものの他、単体のデバイスとしてカメラや、カメラ機能を備える他のデバイスでもよい。その場合、そのデバイスはカメラ画像を有線または無線の通信でクライアント10に送信し、クライアント10はデバイスが撮像したカメラ画像を情報処理装置100に送信する。
The camera unit 16 is composed of a lens, an image sensor, a video signal processing circuit, etc., and captures a camera image of the real space to be transmitted to the information processing device 100. Note that the camera unit 16 may be provided in the client 10 itself, or may be a single device such as a camera or other device having a camera function. In that case, the device transmits the camera image to the client 10 via wired or wireless communication, and the client 10 transmits the camera image captured by the device to the information processing apparatus 100.
クライアント10は以上のようにして構成されている。クライアント10は例えばスマートフォン、タブレット端末、デジタルカメラ、ウェアラブルデバイス、ヘッドマウントディスプレイ、パーソナルコンピュータなどがある。本技術に係る処理を行う制御プログラムは予めクライアント10内にインストールされていてもよいし、ダウンロード、記憶媒体などで配布されて、ユーザが自らインストールするようにしてもよい。
The client 10 is configured as described above. Examples of the client 10 include a smartphone, a tablet terminal, a digital camera, a wearable device, a head-mounted display, and a personal computer. A control program that performs processing according to the present technology may be installed in the client 10 in advance, or may be downloaded, distributed on a storage medium, etc., and installed by the user himself.
次に図2を参照して情報処理システム1000を構成するサーバ20について説明する。サーバ20は少なくとも制御部21、記憶部22、通信部23を備えて構成されている。制御部21、記憶部22、通信部23はクライアント10が備えるものと同様の機能を有するものである。サーバ20は例えばクラウドサーバでもよい。
Next, the server 20 constituting the information processing system 1000 will be described with reference to FIG. 2. The server 20 is configured to include at least a control unit 21, a storage unit 22, and a communication unit 23. The control unit 21, the storage unit 22, and the communication unit 23 have the same functions as those included in the client 10. The server 20 may be, for example, a cloud server.
[1-2.情報処理システム1000および情報処理装置100の構成]
次に図3および図4を参照して情報処理システム1000と情報処理装置100の構成について説明する。 [1-2. Configuration ofinformation processing system 1000 and information processing device 100]
Next, the configurations of theinformation processing system 1000 and the information processing apparatus 100 will be described with reference to FIGS. 3 and 4.
次に図3および図4を参照して情報処理システム1000と情報処理装置100の構成について説明する。 [1-2. Configuration of
Next, the configurations of the
図3に示すように情報処理システム1000は複数のクライアント10、10、・・・と情報処理装置100としての処理を行うサーバ20により構成されている。複数のクライアント10とサーバ20はネットワークを介して接続されている。クライアント10には情報処理装置100に対して位置姿勢推定に用いるカメラ画像(位置姿勢推定用画像と称する)を送信して位置姿勢推定要求を行うものと、情報処理装置100からの要求に応じて3Dマップ更新用に用いるカメラ画像(3Dマップ更新用画像と称する)を情報処理装置100に送信するもの(以下、他のクライアント10と称する)がある。なお、クライアント10はARアプリケーションを実行することによりARデバイスとして機能するが、情報処理装置100からの要求に応じて3Dマップ更新用画像を送信するものはARデバイスとして機能しないものでもよい。クライアント10の数に特に限定はない。
As shown in FIG. 3, the information processing system 1000 includes a plurality of clients 10, 10, . . . and a server 20 that performs processing as the information processing device 100. A plurality of clients 10 and servers 20 are connected via a network. The client 10 sends a camera image used for position and orientation estimation (referred to as an image for position and orientation estimation) to the information processing apparatus 100 to request position and orientation estimation, and in response to a request from the information processing apparatus 100. There is a device (hereinafter referred to as another client 10) that transmits a camera image used for 3D map update (referred to as 3D map update image) to information processing apparatus 100. Note that although the client 10 functions as an AR device by executing an AR application, a device that transmits a 3D map update image in response to a request from the information processing device 100 may not function as an AR device. There is no particular limitation on the number of clients 10.
図4では情報処理システム1000を構成する情報処理装置100と、複数のクライアント10のうちのクライアントA(クライアント10Aと示す)およびクライアントB(クライアント10Bと示す)を抜き出して示している。なお、図4では本技術に関わる情報や信号に関わる処理ブロックのみを示している。
FIG. 4 shows the information processing apparatus 100 constituting the information processing system 1000 and a client A (denoted as client 10A) and client B (denoted as client 10B) out of the plurality of clients 10. Note that FIG. 4 shows only processing blocks related to information and signals related to the present technology.
図4においてクライアント10Aと情報処理装置100間のデータの送受信、クライアント10Bと情報処理装置100間のデータの送受信はクライアント10A、クライアント10B、サーバ20が備える通信機能で実行される。
In FIG. 4, data transmission and reception between the client 10A and the information processing device 100 and data transmission and reception between the client 10B and the information processing device 100 are performed by communication functions provided in the client 10A, the client 10B, and the server 20.
クライアント10AはARアプリケーションを実行することによりARデバイスとして機能するものである。クライアント10Aはカメラ部16で撮像した位置姿勢推定用画像を送信することにより情報処理装置100に対してクライアント10Aの位置姿勢を推定することを要求する。
The client 10A functions as an AR device by executing an AR application. The client 10A requests the information processing apparatus 100 to estimate the position and orientation of the client 10A by transmitting the image for position and orientation estimation captured by the camera unit 16.
また、クライアント10Aは図1に示す構成に加えてアプリケーション制御部17A、描画部18Aを備える。
In addition to the configuration shown in FIG. 1, the client 10A includes an application control section 17A and a drawing section 18A.
アプリケーション制御部17Aは、情報処理システム1000を利用するためのアプリケーションに基づく処理を行うものである。アプリケーション制御部17Aは、クライアント10Aが実行するARアプリケーションに関する処理を行うものであり、情報処理装置100から送信された位置姿勢推定結果を取得して描画部18Aに出力する。
The application control unit 17A performs processing based on an application for using the information processing system 1000. The application control unit 17A performs processing related to the AR application executed by the client 10A, and acquires the position and orientation estimation result transmitted from the information processing device 100 and outputs it to the drawing unit 18A.
描画部18Aは情報処理装置100から送信された位置姿勢推定結果に基づいて仮想物を描画して出力画像を生成し、出力画像を表示部15Aに出力する。これにより出力画像は表示部15Aにおいて表示される。仮想物は例えば地図サービスにおいて情報を示す文字、図形、オブジェクト、現実空間を撮像した画像上に配置されるキャラクタなどであるが、これらに限られずどのようなものでもよい。
The drawing unit 18A draws a virtual object based on the position and orientation estimation results transmitted from the information processing device 100 to generate an output image, and outputs the output image to the display unit 15A. As a result, the output image is displayed on the display section 15A. The virtual object may be, for example, a character, a figure, an object that indicates information in a map service, a character placed on an image of real space, but is not limited to these, and may be of any kind.
アプリケーション制御部17Aと描画部18Aはクライアント10AがAR用アプリケーションを実行することにより実現され、そのアプリケーションは予めクライアント10Aにインストールされていてもよいし、ダウンロード、記憶媒体などで配布されて、ユーザが自らインストールするようにしてもよい。また、クライアント10Aが予めアプリケーション制御部17Aと描画部18Aとしての機能を備えていてもよい。
The application control unit 17A and the drawing unit 18A are realized by the client 10A executing an AR application, and the application may be installed in the client 10A in advance, or may be downloaded or distributed on a storage medium, so that the user can You may also install it yourself. Further, the client 10A may be provided with the functions of the application control section 17A and the drawing section 18A in advance.
クライアント10Bは情報処理装置100からの3Dマップ更新用画像の送信要求を受けて、カメラ部16Bで撮像したカメラ画像を3Dマップ更新用画像として情報処理装置100に送信する。
The client 10B receives a request to send a 3D map update image from the information processing device 100, and transmits the camera image captured by the camera unit 16B to the information processing device 100 as a 3D map update image.
クライアント10Bは図1に示す構成に加えて粗粒度位置センサ部19B、アプリケーション制御部17B、描画部18Bを備える。
In addition to the configuration shown in FIG. 1, the client 10B includes a coarse-grained position sensor section 19B, an application control section 17B, and a drawing section 18B.
粗粒度位置センサ部19Bは、GNSS(Global Navigation Satellite System)やGPS(Global Positioning System)などの位置情報を取得するセンサであり、例えば数十から数百メートル程度の精度でクライアント10Bの位置を示す粗粒度位置情報を取得する。粗粒度位置センサ部19Bは定期的に粗粒度位置情報を取得し、クライアント10Bは粗粒度位置情報を情報処理装置100に送信する。また、粗粒度位置センサ部19Bは、携帯回線の基地局情報、Wi-Fiのアクセスポイント名等を利用して粗粒度位置情報を取得するようにしてもよい。なお、粗粒度位置情報はクライアント10Bのおおよその位置を特定するために利用されるため、高精度な位置情報である必要はない。ただし、クライアント10Bは高精度な位置情報を送信してもよく、粗粒度位置センサ部19Bは高精度な位置情報を取得することを除外するものではない。さらにクライアント10Bは、地磁気センサ等を利用して、クライアント10Bが向いている方角を示す情報も粗粒度位置情報と共に情報処理装置100に送信してもよい。
The coarse-grained position sensor unit 19B is a sensor that acquires position information such as GNSS (Global Navigation Satellite System) or GPS (Global Positioning System), and indicates the position of the client 10B with an accuracy of, for example, several tens to several hundred meters. Obtain coarse-grained position information. The coarse-grain position sensor unit 19B periodically acquires coarse-grain position information, and the client 10B transmits the coarse-grain position information to the information processing device 100. Furthermore, the coarse-grained position sensor unit 19B may acquire coarse-grained positional information using mobile line base station information, Wi-Fi access point names, and the like. Note that since the coarse-grained position information is used to specify the approximate position of the client 10B, it does not need to be highly accurate position information. However, the client 10B may transmit highly accurate position information, and the coarse-grained position sensor section 19B does not exclude the acquisition of highly accurate position information. Further, the client 10B may use a geomagnetic sensor or the like to transmit information indicating the direction in which the client 10B is facing to the information processing apparatus 100 together with the coarse-grained position information.
アプリケーション制御部17Bは、情報処理システム1000を利用するためのアプリケーションに基づく処理を行うものである。アプリケーション制御部17Bは、ユーザに情報処理装置100からの3Dマップ更新用画像の送信要求を提示するために描画部18BによるUIの描画や表示部15Bにおける表示などを制御する。また、カメラ部16によるカメラ画像の撮像なども制御する。
The application control unit 17B performs processing based on an application for using the information processing system 1000. The application control unit 17B controls the drawing of the UI by the drawing unit 18B, the display on the display unit 15B, etc. in order to present to the user a request to send a 3D map update image from the information processing device 100. It also controls the capturing of camera images by the camera unit 16.
描画部18Bはユーザに3Dマップ更新用画像の送信要求を提示するためのUIなどを描画して描画結果を表示部15Aに出力する。描画結果は表示部15Bにおいて表示される。
The drawing unit 18B draws a UI etc. for presenting a request to the user to send a 3D map update image, and outputs the drawing result to the display unit 15A. The drawing result is displayed on the display section 15B.
なお、クライアント10BがIMU(Inertial Measurement Unit)、LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)、ToF(Time of Flight)センサなどを備えるようにし、それらのセンサで取得したセンシングデータを3Dマップ更新用データや粗粒度位置情報として情報処理装置100に送信してもよい。さらに、GNSSや携帯回線の基地局情報、Wi-Fiのアクセスポイント名などの情報も3Dマップ更新用データとして併用してもよい。
Note that the client 10B is equipped with IMU (Inertial Measurement Unit), LiDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging), ToF (Time of Flight) sensors, etc., and the sensing data acquired by these sensors is used as a 3D map. It may also be transmitted to the information processing apparatus 100 as update data or coarse-grained position information. Furthermore, information such as GNSS or mobile line base station information, Wi-Fi access point name, etc. may also be used as 3D map update data.
クライアント10BはARアプリケーションを実行することによりARデバイスとして機能するものでもよいし、ARデバイスとして機能しないものでもよい。
The client 10B may function as an AR device by executing an AR application, or may not function as an AR device.
情報処理装置100は、3DマップDB(Database)101、位置姿勢推定部102、推定精度判定部103、3Dマップ精度判定部104、クライアント位置DB105、クライアント特定部106、3Dマップ更新部107を備える。本実施の形態ではサーバ20の記憶部22が3DマップDB101およびクライアント位置DB105として機能するが、各DBがそれぞれ異なる記憶媒体により構成されてもよい。
The information processing device 100 includes a 3D map DB (Database) 101, a position/orientation estimation section 102, an estimation accuracy determination section 103, a 3D map accuracy determination section 104, a client position DB 105, a client identification section 106, and a 3D map update section 107. In this embodiment, the storage unit 22 of the server 20 functions as the 3D map DB 101 and the client position DB 105, but each DB may be configured with a different storage medium.
3DマップDB101は現実空間をモデル化した3Dマップを保存するデータベースである。3Dマップは現実空間の地点ごとに複数存在し、3DマップDB101には予め生成済みの複数の3Dマップが保存されているものとする。3DマップはSfM(Structure from Motion)やVIO(Visual Inertial Odometry)などの技術を利用して、視点の異なる複数枚のカメラ画像に基づいて三次元形状と撮像地点を同時に推定することで生成できる。
The 3D map DB 101 is a database that stores 3D maps that model real space. It is assumed that a plurality of 3D maps exist for each point in real space, and a plurality of 3D maps that have been generated in advance are stored in the 3D map DB 101. 3D maps can be generated by simultaneously estimating the three-dimensional shape and imaging point based on multiple camera images from different viewpoints using technologies such as SfM (Structure from Motion) and VIO (Visual Inertial Odometry).
位置姿勢推定部102は、クライアント10Aから送信された位置姿勢推定用画像と3DマップDB101から取得した3Dマップとの対応関係に基づいてVPSを利用してクライアント10Aの位置および姿勢を推定する。VPSでは位置姿勢推定用画像と3Dマップの特徴点や特徴量の対応関係からPerspective-n-Pointなどの方法を用いてクライアント10Aの位置姿勢を3Dマップ座標系において推定する。
The position and orientation estimating unit 102 estimates the position and orientation of the client 10A using VPS based on the correspondence between the position and orientation estimation image transmitted from the client 10A and the 3D map acquired from the 3D map DB 101. In VPS, the position and orientation of the client 10A is estimated in the 3D map coordinate system using a method such as Perspective-n-Point based on the correspondence between the image for position and orientation estimation and the feature points and feature amounts of the 3D map.
位置姿勢推定部102による位置姿勢推定結果は位置姿勢推定要求を行ったクライアント10に送信される。図4の例では、位置姿勢推定部102はクライアント10Aから送信された位置姿勢推定用画像と3Dマップとの対応関係に基づいてクライアント10Aの位置姿勢を推定し、情報処理装置100は位置姿勢推定結果をクライアント10Aに送信する。クライアント10Aの描画部18Aはこの位置姿勢推定結果を用いてARにおける仮想物の描画を行う。
The position and orientation estimation result by the position and orientation estimation unit 102 is transmitted to the client 10 that made the position and orientation estimation request. In the example of FIG. 4, the position and orientation estimating unit 102 estimates the position and orientation of the client 10A based on the correspondence between the position and orientation estimation image transmitted from the client 10A and the 3D map, and the information processing device 100 estimates the position and orientation of the client 10A. The results are sent to client 10A. The drawing unit 18A of the client 10A uses this position and orientation estimation result to draw a virtual object in AR.
推定精度判定部103は、位置姿勢推定部102による位置姿勢推定結果の精度を評価する。位置姿勢推定結果の精度が低い場合、3Dマップ精度判定部104による3Dマップの精度判定が行われる。
The estimation accuracy determination unit 103 evaluates the accuracy of the position and orientation estimation result by the position and orientation estimation unit 102. If the accuracy of the position and orientation estimation result is low, the 3D map accuracy determination unit 104 determines the accuracy of the 3D map.
3Dマップ精度判定部104は、3Dマップに含まれるランドマークのうちクライアント10Aの位置姿勢の推定に利用されたランドマークの精度を判定する。ランドマークの精度が低い場合、クライアント特定部106が3Dマップ更新用画像の送信を要求するクライアント10を特定する処理が行う。
The 3D map accuracy determination unit 104 determines the accuracy of the landmarks included in the 3D map that are used to estimate the position and orientation of the client 10A. If the accuracy of the landmark is low, the client specifying unit 106 performs a process of specifying the client 10 requesting transmission of the 3D map update image.
クライアント位置DB105はサーバ20に接続されている複数のクライアント10から送信された粗粒度位置情報を保存するデータベースである。
The client location DB 105 is a database that stores coarse-grained location information sent from multiple clients 10 connected to the server 20.
クライアント特定部106は、クライアント位置DB105に保存されている粗粒度位置情報を参照して3Dマップ更新用画像の送信を要求するクライアント10を特定する。図4の例ではクライアント特定部106により特定され、3Dマップ更新用画像の送信要求を受けるのはクライアント10Bであるとする。
The client specifying unit 106 refers to the coarse-grained position information stored in the client position DB 105 to specify the client 10 that requests transmission of the 3D map update image. In the example of FIG. 4, it is assumed that the client 10B is identified by the client identifying unit 106 and receives the request to send the 3D map update image.
3Dマップ更新部107は、クライアント10Bから送信された3Dマップ更新用画像と、サーバ20の計算機資源を利用して位置姿勢推定部102によるクライアント10Aの位置姿勢推定に利用された3Dマップを更新する。計算機資源とは、サーバ20における実行時間や、プロセッサの利用率、記憶部22の占有量といった、サーバ20のハードウェアの占有量のことである。
The 3D map update unit 107 uses the 3D map update image sent from the client 10B and the computer resources of the server 20 to update the 3D map used by the position and orientation estimation unit 102 to estimate the position and orientation of the client 10A. . Computer resources refer to the amount of hardware occupied by the server 20, such as the execution time of the server 20, the usage rate of the processor, and the amount of storage 22 occupied.
情報処理システム1000と情報処理装置100は以上のようにして構成されている。本実施の形態では情報処理装置100はサーバ20において動作するが、予めサーバ20が情報処理装置100としての機能を備えていてもよいし、コンピュータとしての機能を備えるサーバ20がプログラムを実行することにより情報処理装置100および情報処理方法が実現されてもよい。また、プログラムの実行により制御部21が情報処理装置100として機能してもよい。そのプログラムは予めサーバ20にインストールされていてもよいし、ダウンロード、記憶媒体などで配布されて、ユーザなどがインストールするようにしてもよい。また、情報処理装置100は単体の装置として構成されてもよい。また、情報処理装置100はサーバ20に限らず、パーソナルコンピュータ、スマートフォン、タブレット端末などで動作するものでもよい。
The information processing system 1000 and the information processing device 100 are configured as described above. In this embodiment, the information processing device 100 operates on the server 20, but the server 20 may have the function of the information processing device 100 in advance, or the server 20, which has the function of a computer, may execute the program. The information processing device 100 and the information processing method may be realized by the following. Further, the control unit 21 may function as the information processing device 100 by executing a program. The program may be installed in advance on the server 20, or may be downloaded, distributed on a storage medium, etc., and installed by a user or the like. Further, the information processing device 100 may be configured as a single device. Further, the information processing device 100 is not limited to the server 20, and may operate on a personal computer, a smartphone, a tablet terminal, or the like.
[1-3.3Dマップ、キーフレーム、ランドマークについて]
ここで、3Dマップと、3Dマップに含まれるキーフレームおよびランドマークについて説明する。 [1-3. About 3D maps, key frames, and landmarks]
Here, the 3D map and the key frames and landmarks included in the 3D map will be explained.
ここで、3Dマップと、3Dマップに含まれるキーフレームおよびランドマークについて説明する。 [1-3. About 3D maps, key frames, and landmarks]
Here, the 3D map and the key frames and landmarks included in the 3D map will be explained.
VPSは現実空間の3Dマップを利用して、クライアント10から送信された位置姿勢推定用画像としてのカメラ画像と3Dマップの特徴の対応関係から、Perspective-n-Pointなどの方法を用いて、位置姿勢推定用画像を撮像したクライアント10の位置および姿勢を3Dマップ座標系で推定する。3Dマップには現実空間の物体を推定してモデル化した3次元の特徴点(ランドマーク)や、姿勢推定時に利用する特徴点、特徴量、三次元形状推定に利用した画像(Key Frame:KF)、粗粒度位置情報などのデータが含まれている。ランドマークには、ランドマークの推定に利用されたKFの撮像位置情報が記録されている。ランドマークとしては例えば、物体が有する鋭角部分の頂点の位置などがある。
VPS uses a 3D map of the real space to determine the position using a method such as Perspective-n-Point based on the correspondence between the camera image as an image for position and orientation estimation sent from the client 10 and the features of the 3D map. The position and orientation of the client 10 that captured the orientation estimation image are estimated using the 3D map coordinate system. The 3D map includes three-dimensional feature points (landmarks) that are modeled by estimating objects in real space, feature points and feature amounts used for pose estimation, and images used for three-dimensional shape estimation (Key Frame: KF ), coarse-grained position information, and other data. In the landmark, KF imaging position information used for landmark estimation is recorded. Examples of landmarks include the position of the vertex of an acute angle portion of an object.
3DマップはSfMや、VIOなどの技術を利用して、視点の異なる複数枚のKFに基づいて三次元形状とKFの撮像位置および姿勢を推定することで生成できる。それらの技術は、図5に示すように、視点の異なる複数枚のKF(図5においてはKF1~KF4)を用いて、各KFに共通して映っている特徴点の位置関係を利用した三角測量を行い、その結果を全体最適化することでランドマークの位置とKFの撮像位置および姿勢を推定する。
A 3D map can be generated by estimating the three-dimensional shape and the imaging position and orientation of the KF based on multiple KFs from different viewpoints using techniques such as SfM and VIO. As shown in Figure 5, these techniques use multiple KFs with different viewpoints (KF1 to KF4 in Figure 5), and use the positional relationship of feature points commonly seen in each KF to create a triangular shape. Landmark positions, KF imaging positions, and orientations are estimated by surveying and overall optimization of the results.
三角測量を利用してランドマークの位置を推定することから、推定されるランドマークの位置の精度は、KFにおける特徴点の位置の精度、推定に利用する2つのKF間の距離(基線長)に依存する。KFにおける特徴点の位置の精度は、KFの位置からランドマークが検出される物体の距離に反比例する。なぜなら、KFの撮像地点から物体までの距離が遠くなるほど画像(KF)上に投影される物体の大きさが小さくなるため、1ピクセルで表される物体の大きさが距離に比例して大きくなるためである。したがって、KFの撮像位置から遠い物体におけるランドマークを短い基線長で推定する場合には推定されるランドマークの位置の精度が低くなる。
Since the landmark position is estimated using triangulation, the accuracy of the estimated landmark position is determined by the accuracy of the position of the feature point in the KF, the distance between the two KFs used for estimation (baseline length) Depends on. The accuracy of the position of the feature point in the KF is inversely proportional to the distance of the object from which the landmark is detected from the position of the KF. This is because as the distance from the KF imaging point to the object increases, the size of the object projected onto the image (KF) becomes smaller, so the size of the object represented by 1 pixel increases in proportion to the distance. It's for a reason. Therefore, when estimating a landmark on an object far from the KF imaging position using a short baseline length, the accuracy of the estimated landmark position becomes low.
クライアント10Aの位置姿勢は、クライアント10Aが送信した位置姿勢推定用画像と3DマップDB101から取得した3Dマップを利用して推定される。クライアント10Aの位置姿勢の推定精度は、3Dマップにおいて推定に利用されたランドマークの位置精度に依存する。したがって、図6Aに示すように、位置の精度が高いランドマーク(6つの白点で示す)を利用するとクライアント10Aの位置姿勢の推定精度も高くなるが、図6Bに示すように位置の精度が低いランドマーク(6つの白点で示す)を利用すると、クライアント10Aの位置姿勢の推定精度も低くなる。
The position and orientation of the client 10A is estimated using the position and orientation estimation image sent by the client 10A and the 3D map acquired from the 3D map DB 101. The estimation accuracy of the position and orientation of the client 10A depends on the positional accuracy of landmarks used for estimation in the 3D map. Therefore, as shown in FIG. 6A, if landmarks with high positional accuracy (indicated by six white dots) are used, the estimation accuracy of the position and orientation of the client 10A becomes high, but as shown in FIG. 6B, the positional accuracy is If a low landmark (indicated by six white dots) is used, the accuracy of estimating the position and orientation of the client 10A will also be low.
[1-4.情報処理システム1000と情報処理装置100における処理]
次に情報処理システム1000と情報処理装置100における処理について説明する。ここでは図7に示すように現実空間にスマートフォンであるクライアント10A、クライアント10Bおよびクライアント10Cがあり、ランドマークLiは現実空間に存在する物体Pの角であるとする。クライアント10Aが情報処理装置100に位置姿勢推定の要求を行い、クライアント10Bとクライアント10Cが情報処理装置から3Dマップ更新用画像の送信を要求される可能性がある、請求の範囲における他のクライアントであるとする。 [1-4. Processing ininformation processing system 1000 and information processing device 100]
Next, processing in theinformation processing system 1000 and the information processing apparatus 100 will be explained. Here, as shown in FIG. 7, it is assumed that there are clients 10A, 10B, and 10C, which are smartphones, in the real space, and that the landmark Li is a corner of an object P that exists in the real space. The client 10A requests the information processing device 100 to estimate the position and orientation, and the client 10B and the client 10C may be requested by the information processing device to send a 3D map update image. Suppose there is.
次に情報処理システム1000と情報処理装置100における処理について説明する。ここでは図7に示すように現実空間にスマートフォンであるクライアント10A、クライアント10Bおよびクライアント10Cがあり、ランドマークLiは現実空間に存在する物体Pの角であるとする。クライアント10Aが情報処理装置100に位置姿勢推定の要求を行い、クライアント10Bとクライアント10Cが情報処理装置から3Dマップ更新用画像の送信を要求される可能性がある、請求の範囲における他のクライアントであるとする。 [1-4. Processing in
Next, processing in the
図8Aに示すように、まずステップS101で、クライアント10Bの粗粒度位置センサ部19Bが粗粒度位置情報を取得する。
As shown in FIG. 8A, first in step S101, the coarse-grained position sensor unit 19B of the client 10B acquires coarse-grained position information.
次にステップ102で、クライアント10Bは粗粒度位置情報を情報処理装置100に送信する。
Next, in step 102, the client 10B transmits coarse-grained position information to the information processing device 100.
クライアント10Cもクライアント10Bと同様に図8Aの処理を行う。ただし、クライアント10Bとクライアント10Cは同じタイミングで図8Aの処理を行う必要はない。
The client 10C also performs the process shown in FIG. 8A in the same way as the client 10B. However, the client 10B and the client 10C do not need to perform the processing in FIG. 8A at the same timing.
次に図8Bに示すように、ステップS201で、情報処理装置100はクライアント10Bから送信された粗粒度位置情報を受信する。
Next, as shown in FIG. 8B, in step S201, the information processing device 100 receives coarse-grained position information transmitted from the client 10B.
次にステップS202で、情報処理装置100は粗粒度位置情報をクライアント位置DB105に保存する。
Next, in step S202, the information processing device 100 stores the coarse-grained position information in the client position DB 105.
情報処理装置100はクライアント10Cから送信された粗粒度位置情報についても同様に図8Bの処理を行う。
The information processing apparatus 100 similarly performs the process shown in FIG. 8B on the coarse-grained position information transmitted from the client 10C.
クライアント10Bおよびクライアント10Cと情報処理装置100はこのステップS101からステップS202の処理を所定の時間間隔で定期的に行う。これにより、クライアント位置DB105には定期的にクライアント10Bおよびクライアント10Cの最新の粗粒度位置情報が保存されることになる。
The clients 10B, 10C, and the information processing apparatus 100 periodically perform the processes from step S101 to step S202 at predetermined time intervals. As a result, the latest coarse-grained position information of the clients 10B and 10C is periodically stored in the client position DB 105.
なお、例としてクライアント10Bとクライアント10Cのみを記載しているが、サーバ20と接続され情報処理システム1000を利用するクライアント10が複数ある場合にはその全てのクライアント10は粗粒度位置情報を情報処理装置100に送信し、クライアント位置DB105にはそれら複数のクライアント10の粗粒度位置情報が保存されている。また、クライアント10Aも粗粒度位置情報を情報処理装置100に送信してもよい。他のクライアント10が位置姿勢推定要求を行った場合、クライアント10Aも情報処理装置100から3Dマップ更新用画像の送信要求を受ける可能性があるからである。
Although only the clients 10B and 10C are shown as an example, if there are multiple clients 10 connected to the server 20 and using the information processing system 1000, all the clients 10 will process the coarse-grained position information. The coarse-grained position information of the plurality of clients 10 is stored in the client position DB 105. Further, the client 10A may also transmit coarse-grained position information to the information processing device 100. This is because if another client 10 makes a request for position and orientation estimation, the client 10A may also receive a request from the information processing device 100 to send a 3D map update image.
次にARアプリケーションを使用するクライアント10Aからの姿勢推定要求と情報処理装置における処理について説明する。
Next, a posture estimation request from the client 10A using the AR application and processing in the information processing device will be explained.
まず図9Aに示すように、ステップS301で、クライアント10Aを使用するユーザAの入力操作に基づいてカメラ部16Aが現実空間を撮像して位置姿勢推定用画像を取得する。
First, as shown in FIG. 9A, in step S301, the camera unit 16A images the real space and acquires an image for position and orientation estimation based on the input operation of the user A using the client 10A.
次にステップ302で、クライアント10Aは位置姿勢推定用画像を情報処理装置100に送信する。
Next, in step 302, the client 10A transmits the position and orientation estimation image to the information processing device 100.
そしてステップS303で、クライアント10Aは情報処理装置100から位置姿勢推定結果が届くまで待ち状態となる(ステップS303のNo)。
In step S303, the client 10A enters a waiting state until the position and orientation estimation result is received from the information processing device 100 (No in step S303).
次に図9Bを参照して情報処理装置100における処理について説明する。ステップS401で、情報処理装置100はクライアント10Aから送信された位置姿勢推定用画像を受信する。
Next, processing in the information processing device 100 will be described with reference to FIG. 9B. In step S401, the information processing apparatus 100 receives the position and orientation estimation image transmitted from the client 10A.
次にステップS402で、位置姿勢推定部102は位置姿勢推定用画像と3DマップDB101から取得した3Dマップを利用してクライアント10Aの位置姿勢を推定する。
Next, in step S402, the position and orientation estimating unit 102 estimates the position and orientation of the client 10A using the image for position and orientation estimation and the 3D map acquired from the 3D map DB 101.
位置姿勢推定部102は、受信した位置姿勢推定用画像の特徴点や特徴量の抽出を行い、その特徴点や特徴量と3DマップDB101に保存されている複数の3Dマップそれぞれの特徴点や特徴量などを比較して、それらが一致または近似する3Dマップをクライアント10Aの位置姿勢の推定に利用する3Dマップとする。また、クライアント10Aが送信したGPSデータなどの粗粒度位置情報と、3Dマップに含まれている粗粒度位置情報とに基づいてクライアント10Aが存在する範囲をカバーする3Dマップをクライアント10Aの位置姿勢の推定に利用する3Dマップとして決定する、という方法もある。
The position and orientation estimating unit 102 extracts feature points and feature amounts from the received image for position and orientation estimation, and combines the feature points and feature amounts with the feature points and features of each of the plurality of 3D maps stored in the 3D map DB 101. The amounts and the like are compared, and a 3D map that matches or approximates them is set as a 3D map to be used for estimating the position and orientation of the client 10A. In addition, a 3D map covering the range where the client 10A exists is created based on the coarse-grained position information such as GPS data transmitted by the client 10A and the coarse-grained position information included in the 3D map. There is also a method of determining a 3D map to be used for estimation.
ここでは図10に示すように、クライアント10Aは、現在地点a1で姿勢推定要求に必要な位置姿勢推定用画像を撮像したとする。なお、図10においては、カメラの向きやKFの向きを表現する方法としてViewing Frustumという錐台を使う手法を用いている。三角形の短辺は、KFにおいてはKFが撮像された撮像面を表し、クライアント10においてはカメラ部16の撮像面(レンズが向いている向き)を表している。後述する図12、図16においても同様である。
Here, as shown in FIG. 10, it is assumed that the client 10A has captured an image for position and orientation estimation necessary for the orientation estimation request at the current point a1 . Note that in FIG. 10, a method using a frustum called Viewing Frustum is used to express the direction of the camera and the direction of the KF. In the KF, the short side of the triangle represents the imaging surface on which the KF is imaged, and in the client 10, it represents the imaging surface of the camera section 16 (the direction in which the lens is facing). The same applies to FIGS. 12 and 16, which will be described later.
ここでは3Dマップには2つのKFであるKFxとKFyと、ランドマークLiが含まれているとし、KFxとKFyとクライアント10Aの現在地点a1が図10に示す位置関係にあるとする。この場合、情報処理装置100の位置姿勢推定部102はクライアント10Aから送信された位置姿勢推定用画像と3Dマップに含まれるランドマークLiに基づきVPSによりクライアント10Aの位置姿勢を推定する。
Here, it is assumed that the 3D map includes two KFs, KF x and KF y , and a landmark Li , and the positional relationship between KF x , KF y , and the current location a1 of the client 10A is shown in FIG. Suppose there is. In this case, the position and orientation estimating unit 102 of the information processing device 100 estimates the position and orientation of the client 10A using VPS based on the image for position and orientation estimation transmitted from the client 10A and the landmark Li included in the 3D map.
次にステップS403で、推定精度判定部103は位置姿勢推定部102による位置姿勢推定結果の精度を判定する。位置姿勢推定結果の精度の判定は、位置姿勢推定結果の推定精度を算出し、その推定精度と所定の閾値(第1の閾値)とを比較することにより行うことができる。
Next, in step S403, the estimation accuracy determination unit 103 determines the accuracy of the position and orientation estimation result by the position and orientation estimation unit 102. The accuracy of the position and orientation estimation results can be determined by calculating the estimation accuracy of the position and orientation estimation results and comparing the estimation accuracy with a predetermined threshold (first threshold).
推定精度の算出方法としては、例えば、位置姿勢推定に利用された全てのランドマークと位置姿勢推定部102が推定したクライアント10Aの位置との距離の平均値を利用する方法がある。この平均値が第1の閾値を下回っていた場合に推定精度が高いと判定し、平均値が第1の閾値を上回っていた場合には推定精度が低いと判定する。第1の閾値は情報処理システム1000の運用者やARアプリケーションの開発者などが予め特定の値に設定しておいてもよいし、情報処理システム1000やARアプリケーションの運用状況に応じて運用者や開発者などが変更できるようにしてもよい。
As a method for calculating the estimation accuracy, for example, there is a method that uses the average value of the distances between all the landmarks used for position and orientation estimation and the position of the client 10A estimated by the position and orientation estimation unit 102. If this average value is less than the first threshold, it is determined that the estimation accuracy is high, and if the average value is greater than the first threshold, it is determined that the estimation accuracy is low. The first threshold value may be set in advance to a specific value by the operator of the information processing system 1000 or the developer of the AR application, or may be set by the operator or the developer depending on the operational status of the information processing system 1000 or the AR application. It may be possible to make changes by a developer or the like.
推定精度が高い場合、処理はステップS404に進む(ステップS403のYes)。そしてステップS404で情報処理装置100は位置姿勢推定結果をクライアント10Aに送信する。
If the estimation accuracy is high, the process proceeds to step S404 (Yes in step S403). Then, in step S404, the information processing device 100 transmits the position and orientation estimation results to the client 10A.
一方、推定精度が低い場合、処理はステップS405に進み(ステップS403のNo)、情報処理装置100は3Dマップ更新用画像の送信要求と3Dマップ更新を行う。ステップS405の処理は図11を参照して後述する。
On the other hand, if the estimation accuracy is low, the process proceeds to step S405 (No in step S403), and the information processing device 100 requests transmission of the 3D map update image and updates the 3D map. The process of step S405 will be described later with reference to FIG.
ステップS404で情報処理装置100が位置姿勢推定結果をクライアント10Aに送信した後のクライアント10Aの処理について図9Aを参照して説明する。情報処理装置100が位置姿勢推定結果をクライアント10Aに送信すると、処理はステップS303からステップS304に進み(ステップS303のYes)、クライアント10Aは位置姿勢推定結果を受信する。
The processing of the client 10A after the information processing device 100 transmits the position and orientation estimation result to the client 10A in step S404 will be described with reference to FIG. 9A. When the information processing device 100 transmits the position and orientation estimation result to the client 10A, the process proceeds from step S303 to step S304 (Yes in step S303), and the client 10A receives the position and orientation estimation result.
そしてステップS305で、クライアント10Aは位置姿勢推定結果を用いてARアプリケーションを実行する。アプリケーション制御部17Aは、サーバ20から送信された位置姿勢推定結果を描画部18Aに出力し、描画部18Aは位置姿勢推定結果に基づいて仮想物を描画して出力画像を生成し、出力画像を表示部15Aに出力する。これにより出力画像は表示部15Aにおいて表示される。
Then, in step S305, the client 10A executes the AR application using the position and orientation estimation results. The application control unit 17A outputs the position and orientation estimation results sent from the server 20 to the drawing unit 18A, and the drawing unit 18A draws a virtual object based on the position and orientation estimation results to generate an output image. It is output to the display section 15A. As a result, the output image is displayed on the display section 15A.
次に図11を参照して、上述のステップS405における3Dマップ更新用画像の送信要求と3Dマップ更新について説明する。クライアント10Aの位置姿勢推定結果の推定精度が低い場合、クライアント10Aの位置姿勢推定に利用された3Dマップに含まれるランドマークごとに図11Aに示す処理を行う。図11Aに示す処理はクライアント10Aの位置姿勢の推定精度を向上させるために3Dマップを更新する処理である。
Next, with reference to FIG. 11, the request to send the 3D map update image and the 3D map update in step S405 described above will be explained. When the estimation accuracy of the position and orientation estimation result of the client 10A is low, the process shown in FIG. 11A is performed for each landmark included in the 3D map used for estimating the position and orientation of the client 10A. The process shown in FIG. 11A is a process of updating the 3D map in order to improve the estimation accuracy of the position and orientation of the client 10A.
まずステップS501で、3Dマップ精度判定部104は、3Dマップに含まれ、クライアント10の位置姿勢の推定に利用されたランドマークLiの推定精度を判定する。ここでは、ランドマークLiの推定精度をEiとする。
First, in step S501, the 3D map accuracy determining unit 104 determines the estimation accuracy of the landmark Li included in the 3D map and used to estimate the position and orientation of the client 10. Here, the estimation accuracy of the landmark L i is assumed to be E i .
図10に示すように三角測量に利用された2つのKF(KFx,KFy)の撮像位置間の距離をDxyとし、KFxの撮像位置とランドマークLi間の距離をlxiとし、KFyの撮像位置とランドマークLi間の距離をlyiとすると、推定精度Eiは下記の式1で算出することができる。
As shown in FIG. 10, let D xy be the distance between the imaging positions of two KFs (KF x , KF y ) used for triangulation, and let l xi be the distance between the imaging position of KF x and landmark Li . , KF y , and the distance between the landmark L i is lyi , the estimation accuracy E i can be calculated using the following equation 1.
この推定精度Eiが、所定の閾値(第2の閾値)を下回っている場合、ランドマークLiの推定精度が低いとして処理はステップS502に進む(ステップS501のNo)。
第2の閾値は情報処理システム1000の運用者やARアプリケーションの開発者などが予め特定の値に設定しておいてもよいし、情報処理システム1000やARアプリケーションの運用状況に応じて運用者や開発者などが変更できるようにしてもよい。なお、図10では2つのKFに基づいてランドマークLiの推定精度Eiを算出しているが、同様の方法で、3つ以上のKFに基づいてランドマークの推定精度を算出してもよい。 If this estimation accuracy E i is less than a predetermined threshold (second threshold), it is determined that the estimation accuracy of the landmark L i is low and the process proceeds to step S502 (No in step S501).
The second threshold value may be set to a specific value in advance by the operator of theinformation processing system 1000 or the developer of the AR application, or may be set by the operator or the like depending on the operational status of the information processing system 1000 or the AR application. It may be possible to make changes by a developer or the like. Note that although the estimation accuracy E i of the landmark L i is calculated based on two KFs in FIG. 10, the estimation accuracy E i of the landmark L i is calculated based on three or more KFs using the same method. good.
第2の閾値は情報処理システム1000の運用者やARアプリケーションの開発者などが予め特定の値に設定しておいてもよいし、情報処理システム1000やARアプリケーションの運用状況に応じて運用者や開発者などが変更できるようにしてもよい。なお、図10では2つのKFに基づいてランドマークLiの推定精度Eiを算出しているが、同様の方法で、3つ以上のKFに基づいてランドマークの推定精度を算出してもよい。 If this estimation accuracy E i is less than a predetermined threshold (second threshold), it is determined that the estimation accuracy of the landmark L i is low and the process proceeds to step S502 (No in step S501).
The second threshold value may be set to a specific value in advance by the operator of the
次にステップS502で、クライアント特定部106は、ランドマークLiを基準とした所定の範囲である検索範囲において、粗粒度位置情報に基づいて、ランドマークLiを更新するために必要な3Dマップ更新用画像の送信を要求することが可能な他のクライアント10を特定する。他のクライアント10は位置姿勢推定用画像を送信して位置姿勢推定要求を行ったクライアントとは異なるクライアント10である。ランドマークLiの更新には、他の位置からランドマークLiを撮像した3Dマップ更新用画像が必要となる。そこでクライアント特定部106は、クライアント位置DB105を利用して、図12に示すようにランドマークLiを基準とした検索範囲内において他のクライアント10から送信された粗粒度位置情報に基づいて、他のクライアント10を特定する。検索範囲は、3Dマップに含まれるキーフレームの撮像位置とランドマーク間の距離に基づいて決定される範囲である。より具体的には、検索範囲はランドマークLiを基準とした半径Riの円として規定することができ、半径Riは、例えば、ランドマークLiから3Dマップに含まれるKFxの撮像位置間の距離lxiと、ランドマークLiから3Dマップに含まれるKFy間の距離lyiを用いて下記の式2で算出することができる。ただし、検索範囲は円状に限られず、矩形状の範囲や任意の形状の範囲でもよい。
Next, in step S502, the client specifying unit 106 uses a 3D map necessary for updating the landmark Li based on the coarse-grained position information in a search range that is a predetermined range based on the landmark Li . Other clients 10 that can request transmission of update images are identified. The other client 10 is a client 10 that is different from the client that transmitted the position and orientation estimation image and made the position and orientation estimation request. To update the landmark L i , a 3D map update image obtained by capturing the landmark L i from another position is required. Therefore, the client specifying unit 106 uses the client position DB 105 to search for other clients based on the coarse-grained position information transmitted from other clients 10 within the search range based on the landmark Li , as shown in FIG. The client 10 is specified. The search range is a range determined based on the distance between the imaging position of the key frame included in the 3D map and the landmark. More specifically, the search range can be defined as a circle with a radius Ri based on the landmark Li , and the radius Ri is, for example, a circle from the landmark Li to the imaging of KF x included in the 3D map. It can be calculated using the following equation 2 using the distance l xi between the positions and the distance l yi from the landmark L i to the KF y included in the 3D map. However, the search range is not limited to a circular shape, and may be a rectangular range or a range of any shape.
なお、式2における分母の値「2」は固定値ではなくあくまで例示であり、分母の値は2に限られるものではない。式2の分母の値を大きくすればするほど半径Riは小さくなるので分母の値を調整することにより検索範囲の大きさを調整することができる。
Note that the denominator value "2" in Equation 2 is not a fixed value but is merely an example, and the denominator value is not limited to 2. The larger the value of the denominator in Equation 2, the smaller the radius R i becomes, so the size of the search range can be adjusted by adjusting the value of the denominator.
検索範囲に他のクライアント10が存在する場合、処理はステップS503に進む(ステップS502のYes)。ここでは例として、図12のように検索範囲からクライアント10Bが検出されたとする。なお、クライアント10Cは検索範囲外に存在するため、クライアント特定部106はクライアント10Cを3Dマップ更新用画像の送信を要求することが可能なクライアント10として特定していないとする。
If another client 10 exists in the search range, the process proceeds to step S503 (Yes in step S502). Here, as an example, it is assumed that the client 10B is detected from the search range as shown in FIG. Note that, since the client 10C exists outside the search range, the client specifying unit 106 does not specify the client 10C as the client 10 that can request transmission of the 3D map update image.
次にステップS503で、情報処理装置100はクライアント特定部106が特定したクライアント10Bに対して3Dマップ更新用画像の送信要求を行う。
Next, in step S503, the information processing device 100 requests the client 10B identified by the client identifying unit 106 to send a 3D map update image.
そしてステップS504で、情報処理装置100はクライアント10Bから3Dマップ更新用画像が届くまで待ち状態となる(ステップS504のNo)。
Then, in step S504, the information processing device 100 enters a waiting state until the 3D map update image arrives from the client 10B (No in step S504).
ステップS503で情報処理装置100がクライアント10Bに3Dマップ更新用画像の送信を要求した後のクライアント10Bの処理について図11Bを参照して説明する。
The processing of client 10B after information processing device 100 requests client 10B to send an image for updating the 3D map in step S503 will be described with reference to FIG. 11B.
情報処理装置100が3Dマップ更新用画像の送信を要求すると、ステップS601でクライアント10Bは3Dマップ更新用画像の送信要求を受信する。
When the information processing device 100 requests the transmission of the 3D map update image, the client 10B receives the request to transmit the 3D map update image in step S601.
次にステップS602で、クライアント10Bは、アプリケーション制御部17Bの制御により、クライアント10Bを使用するユーザBに3Dマップ更新用画像の撮像を促すためのUI(画像取得用UI)を表示部15Bに表示する。クライアント10BはランドマークLiを基準とした検索範囲内に存在するが、クライアント10Bを使用するユーザBはどこにランドマークLiが存在するかはわからない。そこで、ランドマークLiの推定に使われたKFxとKFyをユーザBに提示することで、ユーザBがランドマークLiを探索してランドマークLiの周囲のカメラ画像を撮像できるようにする。画像取得用UIとしては、例えば図13のようなものが考えられる。
Next, in step S602, under the control of the application control unit 17B, the client 10B displays a UI (image acquisition UI) on the display unit 15B for prompting the user B who uses the client 10B to capture an image for updating the 3D map. do. Although the client 10B exists within the search range based on the landmark Li , the user B who uses the client 10B does not know where the landmark Li is located. Therefore, by presenting KF x and KF y used for estimating landmark Li to user B, user B can search for landmark Li and capture camera images around landmark Li . Make it. As the image acquisition UI, for example, the one shown in FIG. 13 can be considered.
図13に示す画像取得用UIでは更新する3Dマップに含まれているKF(KFx,KFy)と3Dマップ更新用画像としてのカメラ画像の撮像を促すメッセージが表示されている。画像取得用UIにおいて表示されているKFxとKFyにはどちらにもランドマークLiを有する物体Pが映っているため、ユーザBはこの物体Pを目印にすることにより3Dマップ更新用画像を撮像することができる。
The image acquisition UI shown in FIG. 13 displays KF (KF x , KF y ) included in the 3D map to be updated and a message prompting the user to capture a camera image as the 3D map update image. Since an object P having a landmark Li is displayed on both KF x and KF y displayed on the image acquisition UI, user B uses this object P as a landmark to update the 3D map update image. can be imaged.
また、クライアント10Bに方位を検知するセンサが搭載されている場合、図14に示すように、KFと共に、ランドマークLiを備える物体Pが存在する方向を示すアイコンICをカメラ画像に重畳して提示してもよい。このカメラ画像はクライアント10Bが現在撮像している画像である。動画撮影時のスルー画のように、今現在のカメラ画像が常に表示部15Bに映し出されている状態で、そのカメラ画像上にアイコンICを重畳表示する。
Furthermore, if the client 10B is equipped with a sensor that detects the direction, an icon IC indicating the direction in which an object P having a landmark Li is present may be displayed together with KF by being superimposed on the camera image as shown in Fig. 14. This camera image is an image currently being captured by the client 10B. The icon IC is displayed superimposed on the camera image, with the current camera image always being displayed on the display unit 15B, like a through image when shooting a video.
次にステップS603で、画像取得用UIを参考にしたユーザBの入力操作に応じてクライアント10Bは周囲の現実空間を撮像して3Dマップ更新用画像を取得する。ここでは、図12に示す位置で図15のようなカメラ画像を撮像したとする。
Next, in step S603, the client 10B images the surrounding real space and acquires a 3D map update image in response to an input operation by user B with reference to the image acquisition UI. Here, it is assumed that a camera image as shown in FIG. 15 is captured at the position shown in FIG. 12.
そしてステップS604で、クライアント10Bは図15に示すカメラ画像を3Dマップ更新用画像として情報処理装置100に送信する。
Then, in step S604, the client 10B transmits the camera image shown in FIG. 15 to the information processing apparatus 100 as a 3D map update image.
ステップS604でクライアント10Bが3Dマップ更新用画像を情報処理装置100に送信した後の情報処理装置100の処理について図11Aを参照して説明する。
The processing of the information processing device 100 after the client 10B transmits the 3D map update image to the information processing device 100 in step S604 will be described with reference to FIG. 11A.
クライアント10Bが3Dマップ更新用画像を情報処理装置100に送信すると、処理はステップS504からステップS505に進み(ステップS504のYes)、ステップS505で情報処理装置100は3Dマップ更新用画像を受信する。
When the client 10B transmits the 3D map update image to the information processing device 100, the process proceeds from step S504 to step S505 (Yes in step S504), and in step S505, the information processing device 100 receives the 3D map update image.
次にステップS506で、3Dマップ更新部107は3Dマップ更新用画像を利用して、3Dマップを更新する。ここでは図16のように、クライアント10Bが送信した3Dマップ更新用画像が新たなKFであるKFzとして利用される場合を考える。この場合、KFxとKFz間の基線長はKFxとKFy間の基線長よりも長いため、KFxとKFzを利用すると、KFxとKFyを利用した場合およびKFyとKFzを利用した場合よりも高精度にランドマークLiを推定できる。
Next, in step S506, the 3D map update unit 107 updates the 3D map using the 3D map update image. Here, as shown in FIG. 16, a case will be considered in which the 3D map update image sent by the client 10B is used as a new KF, KF z . In this case, the baseline length between KF x and KF z is longer than the baseline length between KF x and KF y , so when using KF x and KF z , when using KF Landmark L i can be estimated with higher accuracy than when using z .
以上のステップS501~ステップS505の処理を位置姿勢推定に利用された全てのランドマークについて行う。
The above processing of steps S501 to S505 is performed for all landmarks used for position and orientation estimation.
なお、ステップS501でランドマークの推定精度が高い場合(ステップS501のYes)、3Dマップ更新用画像の送信要求、3Dマップ更新のいずれも行うことなく処理を終了する。ランドマークの推定精度が高い場合には3Dマップの更新は必要ないからである。
Note that if the estimation accuracy of the landmark is high in step S501 (Yes in step S501), the process ends without requesting the transmission of the 3D map update image or updating the 3D map. This is because if the landmark estimation accuracy is high, there is no need to update the 3D map.
またステップS502で、クライアント特定部106が検索範囲内において、ランドマークLiを更新するために必要な3Dマップ更新用画像を送信可能なクライアント10を検出できない場合(ステップS502のNo)、3Dマップ更新用画像の送信要求、3Dマップ更新のいずれも行うことなく処理を終了する。クライアント10が存在しない場合には3Dマップ更新用画像の送信要求を行うことができないからである。
Further, in step S502, if the client specifying unit 106 cannot detect a client 10 capable of transmitting the 3D map update image necessary for updating the landmark Li within the search range (No in step S502), the 3D map The process ends without requesting to send an update image or updating the 3D map. This is because if the client 10 does not exist, a request to send a 3D map update image cannot be made.
そして、3Dマップ更新後に、図9AのステップS301でクライアント10Aが新たな位置姿勢推定用画像を撮像して、ステップS302で再び情報処理装置100に位置姿勢推定用画像を送信して位置姿勢推定要求を行った場合、ステップS401で情報処理装置100は位置姿勢推定用画像を受信して、ステップS402で再び位置姿勢推定を行う。
Then, after updating the 3D map, the client 10A captures a new image for position and orientation estimation in step S301 of FIG. 9A, transmits the image for position and orientation estimation to the information processing device 100 again in step S302, and requests position and orientation estimation. If so, the information processing apparatus 100 receives a position and orientation estimation image in step S401, and performs position and orientation estimation again in step S402.
その際、情報処理装置100はステップS505で更新された3Dマップを利用してクライアント10Aの位置姿勢推定を行う。ランドマークLiを高精度化して更新された3Dマップを用いて位置姿勢推定を行うため、位置姿勢推定結果は3Dマップの更新前よりも高くなっているはずである。
At this time, the information processing apparatus 100 estimates the position and orientation of the client 10A using the 3D map updated in step S505. Since the position and orientation estimation is performed using the 3D map updated by increasing the precision of the landmark L i , the position and orientation estimation result should be higher than before the 3D map was updated.
検索範囲内に複数のクライアント10が存在する場合には、情報処理装置100はそれら複数のクライアント10に3Dマップ更新用画像の送信を要求してもよい。そして、複数のクライアント10からそれぞれ3Dマップ更新用画像が送信された場合には3Dマップ更新部107は、それら全ての3Dマップ更新用画像を使ってランドマークLiを推定して3Dマップを更新する。更新処理終了後、位置姿勢推定部102は更新された3Dマップを利用して位置推定を行い、位置姿勢推定結果は位置姿勢推定要求を行ったクライアント10に送信される。
If a plurality of clients 10 exist within the search range, the information processing device 100 may request the plurality of clients 10 to transmit a 3D map update image. Then, when 3D map update images are transmitted from a plurality of clients 10, the 3D map update unit 107 estimates the landmark L i using all of the 3D map update images and updates the 3D map. do. After the update process is completed, the position and orientation estimating unit 102 performs position estimation using the updated 3D map, and the position and orientation estimation result is transmitted to the client 10 that has made the position and orientation estimation request.
なお、3Dマップ更新用画像の送信要求を受けたクライアント10BがランドマークLiが映った適切な3Dマップ更新用画像を情報処理装置100に送信するとは限らない。ランドマークLiが映っていないカメラ画像が送信される可能性もあり、その場合、3Dマップ更新部107は3Dマップを更新することができない。そこで、情報処理装置100は3Dマップ更新用画像を受信して3Dマップが更新されるまでは検索範囲内に存在する全てのクライアントに3Dマップ更新用画像の送信要求を出し続けるようにしてもよい。
Note that the client 10B, which has received a request to send a 3D map update image, does not necessarily transmit an appropriate 3D map update image in which the landmark Li is reflected to the information processing apparatus 100. There is also a possibility that a camera image that does not include the landmark Li is transmitted, and in that case, the 3D map updating unit 107 cannot update the 3D map. Therefore, the information processing device 100 may continue to issue requests to all clients within the search range to send 3D map update images until the 3D map is updated by receiving the 3D map update image. .
以上のようにして本技術における処理が行われる。本技術によれば、3Dマップに含まれるランドマークを高精度化するための3Dマップ更新用画像を送信できる他のクライアント10を特定し、他のクライアントに3Dマップ更新用画像の送信要求を行う。これにより、位置姿勢推定要求を行ったクライアントでは取得できない3Dマップ更新用画像を使って3Dマップを更新することができる。更新された3Dマップに含まれるランドマークが高精度化されたことにより位置姿勢推定を要求したクライアントの位置姿勢推定結果の精度も向上させることができる。さらに、その精度が向上した位置姿勢推定結果を使用することによりARアプリケーションにおける仮想物の描画の精度も向上させることができる。
The processing in this technology is performed as described above. According to the present technology, another client 10 that can send a 3D map update image for increasing the precision of landmarks included in a 3D map is identified, and a request is made to the other client to send the 3D map update image. . Thereby, the 3D map can be updated using the 3D map update image that cannot be obtained by the client that has made the position and orientation estimation request. Since the landmarks included in the updated 3D map have increased accuracy, the accuracy of the position and orientation estimation results of the client that has requested position and orientation estimation can also be improved. Furthermore, by using the position and orientation estimation result with improved accuracy, it is possible to improve the accuracy of drawing a virtual object in an AR application.
<2.変形例>
以上、本技術の実施の形態について具体的に説明したが、本技術は上述の実施の形態に限定されるものではなく、本技術の技術的思想に基づく各種の変形が可能である。 <2. Modified example>
Although the embodiments of the present technology have been specifically described above, the present technology is not limited to the above-described embodiments, and various modifications based on the technical idea of the present technology are possible.
以上、本技術の実施の形態について具体的に説明したが、本技術は上述の実施の形態に限定されるものではなく、本技術の技術的思想に基づく各種の変形が可能である。 <2. Modified example>
Although the embodiments of the present technology have been specifically described above, the present technology is not limited to the above-described embodiments, and various modifications based on the technical idea of the present technology are possible.
実施の形態では一つの情報処理装置100がサーバ20において処理を行うように説明したが、情報処理装置100をその機能により複数の情報処理装置に分け、それぞれが異なるサーバにおいて処理を行うようにしてもよい。
In the embodiment, one information processing device 100 performs processing on the server 20, but the information processing device 100 may be divided into a plurality of information processing devices according to their functions, and each information processing device may perform processing on a different server. Good too.
実施の形態ではサーバ20は一つであるとして説明を行ったが、サーバ20の数に限定はない。複数のサーバ20を用いる3Dマップ更新手法と本技術を組み合わせてもよい。これにより3Dマップ更新にかかる時間を削減できる。
Although the embodiment has been described assuming that there is one server 20, there is no limit to the number of servers 20. The present technology may be combined with a 3D map update method that uses multiple servers 20. This can reduce the time required to update the 3D map.
本技術は以下のような構成も取ることができる。
(1)
クライアントから送信された現実空間を撮像した位置姿勢推定用画像と、前記現実空間の3Dマップとに基づいて推定される前記クライアントの位置姿勢の推定精度を判定する推定精度判定部と、
前記推定精度の判定結果に基づいて、前記3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定するクライアント特定部と
を備える情報処理装置。
(2)
前記推定精度判定部により前記クライアントの位置姿勢の推定精度が低いと判定された場合、前記クライアント特定部は前記3Dマップ更新用画像の送信を要求する前記他のクライアントを特定する(1)に記載の情報処理装置。
(3)
前記推定精度判定部により前記クライアントの位置姿勢の推定精度が低いと判定された場合、前記3Dマップに含まれる、前記クライアントの位置姿勢の推定に利用されたランドマークの精度を判定し、前記ランドマークの精度が低い場合に、前記クライアント特定部は3Dマップ更新用画像の送信を要求する前記他のクライアントを特定する(2)に記載の情報処理装置。
(4)
前記ランドマークの精度は、前記3Dマップに含まれる、前記ランドマークの推定に利用された複数のキーフレームの間の距離と、前記複数のキーフレームのそれぞれと前記ランドマーク間の距離に基づいて算出される(3)に記載の情報処理装置。
(5)
前記推定精度判定部は、前記3Dマップに含まれる、前記クライアントの位置姿勢の推定に利用されたランドマークの位置と、推定された前記クライアントの位置との間の距離の平均と所定の閾値を比較することにより前記位置姿勢の推定精度を判定する(1)から(4)のいずれかに記載の情報処理装置。
(6)
前記クライアント特定部は、前記他のクライアントから送信された位置情報に基づいて、検索範囲内において前記3Dマップ更新用画像の送信を要求する前記他のクライアントを特定する(1)から(5)のいずれかに記載の情報処理装置。
(7)
前記検索範囲は、前記3Dマップに含まれる、前記クライアントの位置姿勢の推定に利用されたランドマークを基準とし、前記3Dマップに含まれるキーフレームの撮像位置と前記ランドマーク間の距離に基づいて決定される範囲である(6)に記載の情報処理装置。
(8)
前記他のクライアントから送信された前記3Dマップ更新用画像を用いて前記3Dマップを更新する3Dマップ更新部を備える(1)から(7)のいずれかに記載の情報処理装置。
(9)
前記3Dマップ更新部は、前記3Dマップ更新用画像と前記3Dマップに含まれるキーフレームにおける特徴点の位置関係を利用した三角測量により前記ランドマークの位置を推定して前記3Dマップを更新する(8)に記載の情報処理装置。
(10)
前記クライアントから送信された前記位置姿勢推定用画像と、前記3Dマップとに基づいて前記クライアントの位置姿勢を推定する位置姿勢推定部を備える(1)から(9)のいずれかに記載の情報処理装置。
(11)
前記3Dマップ更新用画像の送信要求を受けた前記他のクライアントが備える表示部において、前記3Dマップに含まれ、ランドマークの推定に利用されたキーフレームが表示される(1)から(10)のいずれかに記載の情報処理装置。
(12)
前記表示部に前記ランドマークが存在する方向の情報が表示される(11)に記載の情報処理装置。
(13)
位置姿勢推定用画像を送信した前記クライアントとは異なる他のクライアントに前記3Dマップ更新用画像の送信要求を行う(1)から(12)のいずれかに記載の情報処理装置。
(14)
クライアントから送信された現実空間を撮像した位置姿勢推定用画像と、前記現実空間の3Dマップとに基づいて推定される前記クライアントの位置姿勢の推定精度を判定し、
前記推定精度の判定結果に基づいて、前記3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定する
情報処理方法をコンピュータに実行させるプログラム。
(15)
現実空間を撮像した位置姿勢推定用画像を送信して位置姿勢推定要求を行う
クライアントと、
前記位置姿勢推定用画像と、前記現実空間の3Dマップとに基づいて推定される前記クライアントの位置姿勢の推定精度を判定する推定精度判定部と、
前記推定精度の判定結果に基づいて、前記3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定するクライアント特定部と
を備える情報処理装置と、
前記情報処理装置からの前記3Dマップ更新用画像の送信の要求に応じて前記3Dマップ更新用画像を送信する
他のクライアントと
からなる情報処理システム。 The present technology can also have the following configuration.
(1)
an estimation accuracy determination unit that determines the estimation accuracy of the position and orientation of the client, which is estimated based on a position and orientation estimation image captured in real space transmitted from the client and a 3D map of the real space;
An information processing apparatus comprising: a client specifying unit that specifies another client that requests transmission of a 3D map update image for updating the 3D map, based on a determination result of the estimation accuracy.
(2)
As described in (1), when the estimation accuracy determination unit determines that the estimation accuracy of the position and orientation of the client is low, the client identification unit identifies the other client that requests transmission of the 3D map update image. information processing equipment.
(3)
If the estimation accuracy determining unit determines that the estimation accuracy of the position and orientation of the client is low, the accuracy of the landmark included in the 3D map and used to estimate the position and orientation of the client is determined, and the accuracy of the landmark used to estimate the position and orientation of the client is determined. The information processing apparatus according to (2), wherein the client specifying unit specifies the other client requesting transmission of the 3D map update image when the mark accuracy is low.
(4)
The accuracy of the landmark is based on the distance between a plurality of key frames included in the 3D map and used for estimating the landmark, and the distance between each of the plurality of key frames and the landmark. The information processing device according to (3), wherein the information processing device is calculated.
(5)
The estimation accuracy determination unit determines a predetermined threshold value and an average distance between the position of a landmark used for estimating the position and orientation of the client included in the 3D map and the estimated position of the client. The information processing device according to any one of (1) to (4), wherein the estimation accuracy of the position and orientation is determined by comparison.
(6)
The client specifying unit specifies the other client that requests transmission of the 3D map update image within the search range, based on the position information sent from the other client. The information processing device according to any one of the above.
(7)
The search range is based on a landmark included in the 3D map and used for estimating the position and orientation of the client, and is based on a distance between the imaging position of a key frame included in the 3D map and the landmark. The information processing device according to (6), which is a determined range.
(8)
The information processing device according to any one of (1) to (7), further comprising a 3D map update unit that updates the 3D map using the 3D map update image transmitted from the other client.
(9)
The 3D map updating unit updates the 3D map by estimating the position of the landmark by triangulation using the positional relationship between the feature points in the 3D map update image and key frames included in the 3D map ( 8) The information processing device according to item 8).
(10)
The information processing according to any one of (1) to (9), including a position and orientation estimation unit that estimates the position and orientation of the client based on the position and orientation estimation image transmitted from the client and the 3D map. Device.
(11)
(1) to (10) in which key frames included in the 3D map and used to estimate landmarks are displayed on a display unit included in the other client that has received the request to send the 3D map update image; The information processing device according to any one of.
(12)
The information processing device according to (11), wherein information about a direction in which the landmark exists is displayed on the display unit.
(13)
The information processing apparatus according to any one of (1) to (12), wherein the information processing apparatus requests another client different from the client that has transmitted the position and orientation estimation image to send the 3D map update image.
(14)
Determining the estimation accuracy of the position and orientation of the client estimated based on a position and orientation estimation image captured from the real space transmitted from the client and a 3D map of the real space;
A program that causes a computer to execute an information processing method for identifying another client that requests transmission of a 3D map update image for updating the 3D map based on a determination result of the estimation accuracy.
(15)
A client that sends a position and orientation estimation image captured in real space and requests position and orientation estimation,
an estimation accuracy determination unit that determines the estimation accuracy of the position and orientation of the client estimated based on the position and orientation estimation image and the 3D map of the real space;
an information processing device that specifies another client that requests transmission of a 3D map update image for updating the 3D map based on a determination result of the estimation accuracy;
An information processing system comprising: another client that transmits the 3D map update image in response to a request from the information processing device to transmit the 3D map update image.
(1)
クライアントから送信された現実空間を撮像した位置姿勢推定用画像と、前記現実空間の3Dマップとに基づいて推定される前記クライアントの位置姿勢の推定精度を判定する推定精度判定部と、
前記推定精度の判定結果に基づいて、前記3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定するクライアント特定部と
を備える情報処理装置。
(2)
前記推定精度判定部により前記クライアントの位置姿勢の推定精度が低いと判定された場合、前記クライアント特定部は前記3Dマップ更新用画像の送信を要求する前記他のクライアントを特定する(1)に記載の情報処理装置。
(3)
前記推定精度判定部により前記クライアントの位置姿勢の推定精度が低いと判定された場合、前記3Dマップに含まれる、前記クライアントの位置姿勢の推定に利用されたランドマークの精度を判定し、前記ランドマークの精度が低い場合に、前記クライアント特定部は3Dマップ更新用画像の送信を要求する前記他のクライアントを特定する(2)に記載の情報処理装置。
(4)
前記ランドマークの精度は、前記3Dマップに含まれる、前記ランドマークの推定に利用された複数のキーフレームの間の距離と、前記複数のキーフレームのそれぞれと前記ランドマーク間の距離に基づいて算出される(3)に記載の情報処理装置。
(5)
前記推定精度判定部は、前記3Dマップに含まれる、前記クライアントの位置姿勢の推定に利用されたランドマークの位置と、推定された前記クライアントの位置との間の距離の平均と所定の閾値を比較することにより前記位置姿勢の推定精度を判定する(1)から(4)のいずれかに記載の情報処理装置。
(6)
前記クライアント特定部は、前記他のクライアントから送信された位置情報に基づいて、検索範囲内において前記3Dマップ更新用画像の送信を要求する前記他のクライアントを特定する(1)から(5)のいずれかに記載の情報処理装置。
(7)
前記検索範囲は、前記3Dマップに含まれる、前記クライアントの位置姿勢の推定に利用されたランドマークを基準とし、前記3Dマップに含まれるキーフレームの撮像位置と前記ランドマーク間の距離に基づいて決定される範囲である(6)に記載の情報処理装置。
(8)
前記他のクライアントから送信された前記3Dマップ更新用画像を用いて前記3Dマップを更新する3Dマップ更新部を備える(1)から(7)のいずれかに記載の情報処理装置。
(9)
前記3Dマップ更新部は、前記3Dマップ更新用画像と前記3Dマップに含まれるキーフレームにおける特徴点の位置関係を利用した三角測量により前記ランドマークの位置を推定して前記3Dマップを更新する(8)に記載の情報処理装置。
(10)
前記クライアントから送信された前記位置姿勢推定用画像と、前記3Dマップとに基づいて前記クライアントの位置姿勢を推定する位置姿勢推定部を備える(1)から(9)のいずれかに記載の情報処理装置。
(11)
前記3Dマップ更新用画像の送信要求を受けた前記他のクライアントが備える表示部において、前記3Dマップに含まれ、ランドマークの推定に利用されたキーフレームが表示される(1)から(10)のいずれかに記載の情報処理装置。
(12)
前記表示部に前記ランドマークが存在する方向の情報が表示される(11)に記載の情報処理装置。
(13)
位置姿勢推定用画像を送信した前記クライアントとは異なる他のクライアントに前記3Dマップ更新用画像の送信要求を行う(1)から(12)のいずれかに記載の情報処理装置。
(14)
クライアントから送信された現実空間を撮像した位置姿勢推定用画像と、前記現実空間の3Dマップとに基づいて推定される前記クライアントの位置姿勢の推定精度を判定し、
前記推定精度の判定結果に基づいて、前記3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定する
情報処理方法をコンピュータに実行させるプログラム。
(15)
現実空間を撮像した位置姿勢推定用画像を送信して位置姿勢推定要求を行う
クライアントと、
前記位置姿勢推定用画像と、前記現実空間の3Dマップとに基づいて推定される前記クライアントの位置姿勢の推定精度を判定する推定精度判定部と、
前記推定精度の判定結果に基づいて、前記3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定するクライアント特定部と
を備える情報処理装置と、
前記情報処理装置からの前記3Dマップ更新用画像の送信の要求に応じて前記3Dマップ更新用画像を送信する
他のクライアントと
からなる情報処理システム。 The present technology can also have the following configuration.
(1)
an estimation accuracy determination unit that determines the estimation accuracy of the position and orientation of the client, which is estimated based on a position and orientation estimation image captured in real space transmitted from the client and a 3D map of the real space;
An information processing apparatus comprising: a client specifying unit that specifies another client that requests transmission of a 3D map update image for updating the 3D map, based on a determination result of the estimation accuracy.
(2)
As described in (1), when the estimation accuracy determination unit determines that the estimation accuracy of the position and orientation of the client is low, the client identification unit identifies the other client that requests transmission of the 3D map update image. information processing equipment.
(3)
If the estimation accuracy determining unit determines that the estimation accuracy of the position and orientation of the client is low, the accuracy of the landmark included in the 3D map and used to estimate the position and orientation of the client is determined, and the accuracy of the landmark used to estimate the position and orientation of the client is determined. The information processing apparatus according to (2), wherein the client specifying unit specifies the other client requesting transmission of the 3D map update image when the mark accuracy is low.
(4)
The accuracy of the landmark is based on the distance between a plurality of key frames included in the 3D map and used for estimating the landmark, and the distance between each of the plurality of key frames and the landmark. The information processing device according to (3), wherein the information processing device is calculated.
(5)
The estimation accuracy determination unit determines a predetermined threshold value and an average distance between the position of a landmark used for estimating the position and orientation of the client included in the 3D map and the estimated position of the client. The information processing device according to any one of (1) to (4), wherein the estimation accuracy of the position and orientation is determined by comparison.
(6)
The client specifying unit specifies the other client that requests transmission of the 3D map update image within the search range, based on the position information sent from the other client. The information processing device according to any one of the above.
(7)
The search range is based on a landmark included in the 3D map and used for estimating the position and orientation of the client, and is based on a distance between the imaging position of a key frame included in the 3D map and the landmark. The information processing device according to (6), which is a determined range.
(8)
The information processing device according to any one of (1) to (7), further comprising a 3D map update unit that updates the 3D map using the 3D map update image transmitted from the other client.
(9)
The 3D map updating unit updates the 3D map by estimating the position of the landmark by triangulation using the positional relationship between the feature points in the 3D map update image and key frames included in the 3D map ( 8) The information processing device according to item 8).
(10)
The information processing according to any one of (1) to (9), including a position and orientation estimation unit that estimates the position and orientation of the client based on the position and orientation estimation image transmitted from the client and the 3D map. Device.
(11)
(1) to (10) in which key frames included in the 3D map and used to estimate landmarks are displayed on a display unit included in the other client that has received the request to send the 3D map update image; The information processing device according to any one of.
(12)
The information processing device according to (11), wherein information about a direction in which the landmark exists is displayed on the display unit.
(13)
The information processing apparatus according to any one of (1) to (12), wherein the information processing apparatus requests another client different from the client that has transmitted the position and orientation estimation image to send the 3D map update image.
(14)
Determining the estimation accuracy of the position and orientation of the client estimated based on a position and orientation estimation image captured from the real space transmitted from the client and a 3D map of the real space;
A program that causes a computer to execute an information processing method for identifying another client that requests transmission of a 3D map update image for updating the 3D map based on a determination result of the estimation accuracy.
(15)
A client that sends a position and orientation estimation image captured in real space and requests position and orientation estimation,
an estimation accuracy determination unit that determines the estimation accuracy of the position and orientation of the client estimated based on the position and orientation estimation image and the 3D map of the real space;
an information processing device that specifies another client that requests transmission of a 3D map update image for updating the 3D map based on a determination result of the estimation accuracy;
An information processing system comprising: another client that transmits the 3D map update image in response to a request from the information processing device to transmit the 3D map update image.
10・・・クライアント
100・・・情報処理装置
102・・・位置姿勢推定部
103・・・推定精度判定部
104・・・3Dマップ精度判定部
106・・・クライアント特定部
107・・・3Dマップ更新部
1000・・情報処理システム 10...Client 100...Information processing device 102...Position/orientation estimating section 103...Estimation accuracy determining section 104...3D map accuracy determining section 106...Client specifying section 107...3D map Update section 1000...information processing system
100・・・情報処理装置
102・・・位置姿勢推定部
103・・・推定精度判定部
104・・・3Dマップ精度判定部
106・・・クライアント特定部
107・・・3Dマップ更新部
1000・・情報処理システム 10...
Claims (15)
- クライアントから送信された現実空間を撮像した位置姿勢推定用画像と、前記現実空間の3Dマップとに基づいて推定される前記クライアントの位置姿勢の推定精度を判定する推定精度判定部と、
前記推定精度の判定結果に基づいて、前記3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定するクライアント特定部と
を備える情報処理装置。 an estimation accuracy determination unit that determines the estimation accuracy of the position and orientation of the client, which is estimated based on a position and orientation estimation image captured in real space transmitted from the client and a 3D map of the real space;
An information processing apparatus comprising: a client specifying unit that specifies another client that requests transmission of a 3D map update image for updating the 3D map, based on a determination result of the estimation accuracy. - 前記推定精度判定部により前記クライアントの位置姿勢の推定精度が低いと判定された場合、前記クライアント特定部は前記3Dマップ更新用画像の送信を要求する前記他のクライアントを特定する
請求項1に記載の情報処理装置。 When the estimation accuracy determination unit determines that the estimation accuracy of the position and orientation of the client is low, the client identification unit identifies the other client that requests transmission of the 3D map update image. information processing equipment. - 前記推定精度判定部により前記クライアントの位置姿勢の推定精度が低いと判定された場合、前記3Dマップに含まれる、前記クライアントの位置姿勢の推定に利用されたランドマークの精度を判定し、前記ランドマークの精度が低い場合に、前記クライアント特定部は3Dマップ更新用画像の送信を要求する前記他のクライアントを特定する
請求項2に記載の情報処理装置。 If the estimation accuracy determining unit determines that the estimation accuracy of the position and orientation of the client is low, the accuracy of the landmark included in the 3D map and used to estimate the position and orientation of the client is determined, and the accuracy of the landmark used to estimate the position and orientation of the client is determined. The information processing apparatus according to claim 2, wherein the client specifying unit specifies the other client requesting transmission of the 3D map update image when the accuracy of the mark is low. - 前記ランドマークの精度は、前記3Dマップに含まれる、前記ランドマークの推定に利用された複数のキーフレームの間の距離と、前記複数のキーフレームのそれぞれと前記ランドマーク間の距離に基づいて算出される
請求項3に記載の情報処理装置。 The accuracy of the landmark is based on the distance between a plurality of key frames included in the 3D map and used for estimating the landmark, and the distance between each of the plurality of key frames and the landmark. The information processing device according to claim 3, wherein the information processing device is calculated. - 前記推定精度判定部は、前記3Dマップに含まれる、前記クライアントの位置姿勢の推定に利用されたランドマークの位置と、推定された前記クライアントの位置との間の距離の平均と所定の閾値を比較することにより前記位置姿勢の推定精度を判定する
請求項1に記載の情報処理装置。 The estimation accuracy determination unit determines a predetermined threshold value and an average distance between the position of a landmark used for estimating the position and orientation of the client included in the 3D map and the estimated position of the client. The information processing apparatus according to claim 1, wherein the estimation accuracy of the position and orientation is determined by comparison. - 前記クライアント特定部は、前記他のクライアントから送信された位置情報に基づいて、検索範囲内において前記3Dマップ更新用画像の送信を要求する前記他のクライアントを特定する
請求項1に記載の情報処理装置。 The information processing according to claim 1, wherein the client specifying unit specifies the other client that requests transmission of the 3D map update image within a search range based on position information transmitted from the other client. Device. - 前記検索範囲は、前記3Dマップに含まれる、前記クライアントの位置姿勢の推定に利用されたランドマークを基準とし、前記3Dマップに含まれるキーフレームの撮像位置と前記ランドマーク間の距離に基づいて決定される範囲である
請求項6に記載の情報処理装置。 The search range is based on a landmark included in the 3D map and used for estimating the position and orientation of the client, and based on the distance between the imaging position of the key frame included in the 3D map and the landmark. The information processing device according to claim 6, wherein the information processing device is a determined range. - 前記他のクライアントから送信された前記3Dマップ更新用画像を用いて前記3Dマップを更新する3Dマップ更新部を備える
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, further comprising a 3D map update unit that updates the 3D map using the 3D map update image transmitted from the other client. - 前記3Dマップ更新部は、前記3Dマップ更新用画像と前記3Dマップに含まれるキーフレームにおける特徴点の位置関係を利用した三角測量により前記ランドマークの位置を推定して前記3Dマップを更新する
請求項8に記載の情報処理装置。 The 3D map updating unit updates the 3D map by estimating the position of the landmark by triangulation using the positional relationship between the feature points in the 3D map updating image and key frames included in the 3D map. Item 8. Information processing device according to item 8. - 前記クライアントから送信された前記位置姿勢推定用画像と、前記3Dマップとに基づいて前記クライアントの位置姿勢を推定する位置姿勢推定部を備える
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, further comprising a position and orientation estimation unit that estimates the position and orientation of the client based on the position and orientation estimation image transmitted from the client and the 3D map. - 前記3Dマップ更新用画像の送信要求を受けた前記他のクライアントが備える表示部において、前記3Dマップに含まれ、ランドマークの推定に利用されたキーフレームが表示される
請求項1に記載の情報処理装置。 The information according to claim 1, wherein a key frame included in the 3D map and used for estimating a landmark is displayed on a display unit included in the other client that has received the request to send the 3D map update image. Processing equipment. - 前記表示部に前記ランドマークが存在する方向の情報が表示される
請求項11に記載の情報処理装置。 The information processing apparatus according to claim 11, wherein information about a direction in which the landmark exists is displayed on the display unit. - 位置姿勢推定用画像を送信した前記クライアントとは異なる他のクライアントに前記3Dマップ更新用画像の送信要求を行う
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the information processing apparatus requests another client different from the client that has transmitted the position and orientation estimation image to send the 3D map update image. - クライアントから送信された現実空間を撮像した位置姿勢推定用画像と、前記現実空間の3Dマップとに基づいて推定される前記クライアントの位置姿勢の推定精度を判定し、
前記推定精度の判定結果に基づいて、前記3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定する
情報処理方法をコンピュータに実行させるプログラム。 Determining the estimation accuracy of the position and orientation of the client estimated based on a position and orientation estimation image captured from the real space transmitted from the client and a 3D map of the real space;
A program that causes a computer to execute an information processing method for identifying another client that requests transmission of a 3D map update image for updating the 3D map based on a determination result of the estimation accuracy. - 現実空間を撮像した位置姿勢推定用画像を送信して位置姿勢推定要求を行う
クライアントと、
前記位置姿勢推定用画像と、前記現実空間の3Dマップとに基づいて推定される前記クライアントの位置姿勢の推定精度を判定する推定精度判定部と、
前記推定精度の判定結果に基づいて、前記3Dマップを更新するための3Dマップ更新用画像の送信を要求する他のクライアントを特定するクライアント特定部と
を備える情報処理装置と、
前記情報処理装置からの前記3Dマップ更新用画像の送信の要求に応じて前記3Dマップ更新用画像を送信する
他のクライアントと
からなる情報処理システム。 A client that sends a position and orientation estimation image captured in real space and requests position and orientation estimation,
an estimation accuracy determination unit that determines the estimation accuracy of the position and orientation of the client estimated based on the position and orientation estimation image and the 3D map of the real space;
an information processing device that specifies another client that requests transmission of a 3D map update image for updating the 3D map based on a determination result of the estimation accuracy;
An information processing system comprising: another client that transmits the 3D map update image in response to a request from the information processing device to transmit the 3D map update image.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022146510 | 2022-09-14 | ||
JP2022-146510 | 2022-09-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024057779A1 true WO2024057779A1 (en) | 2024-03-21 |
Family
ID=90274769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/028915 WO2024057779A1 (en) | 2022-09-14 | 2023-08-08 | Information processing device, program, and information processing system |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024057779A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006243455A (en) * | 2005-03-04 | 2006-09-14 | C's Lab Ltd | Map display method, map display program, and map display device |
JP2019040176A (en) * | 2017-08-28 | 2019-03-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Information processing apparatus, vehicle, information processing method, travel control method, and map update method |
-
2023
- 2023-08-08 WO PCT/JP2023/028915 patent/WO2024057779A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006243455A (en) * | 2005-03-04 | 2006-09-14 | C's Lab Ltd | Map display method, map display program, and map display device |
JP2019040176A (en) * | 2017-08-28 | 2019-03-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Information processing apparatus, vehicle, information processing method, travel control method, and map update method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210012520A1 (en) | Distance measuring method and device | |
CN111081199B (en) | Selecting a temporally distributed panoramic image for display | |
US10796669B2 (en) | Method and apparatus to control an augmented reality head-mounted display | |
US20210144513A1 (en) | Systems and methods for co-localization of multiple devices | |
CN105143907B (en) | Alignment system and method | |
US10937214B2 (en) | System and method for merging maps | |
EP4030391A1 (en) | Virtual object display method and electronic device | |
EP2981945A1 (en) | Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system | |
US20140152562A1 (en) | Display controller, display system, storage medium and method | |
JP2019153274A (en) | Position calculation device, position calculation program, position calculation method, and content addition system | |
US10222876B2 (en) | Display control system and method | |
US11627302B1 (en) | Stereoscopic viewer | |
WO2021088497A1 (en) | Virtual object display method, global map update method, and device | |
NO342793B1 (en) | Augmented reality system and method of displaying an augmented reality image | |
CN114363161B (en) | Abnormal equipment positioning method, device, equipment and medium | |
CN113610702B (en) | Picture construction method and device, electronic equipment and storage medium | |
WO2024057779A1 (en) | Information processing device, program, and information processing system | |
KR20210051002A (en) | Method and apparatus for estimating pose, computer-readable storage medium and computer program for controlling the holder device | |
JP6959305B2 (en) | Generation device, generation method, and generation program | |
WO2023243558A1 (en) | Information processing device, program, and information processing system | |
US20220341737A1 (en) | Method and device for navigating | |
JP2014225782A (en) | Information processing device, communication terminal, and data acquisition method | |
CN117893717B (en) | Method and device for determining scale parameters of augmented reality map | |
WO2023090213A1 (en) | Information processing device, information processing method, and program | |
CN117635697A (en) | Pose determination method, pose determination device, pose determination equipment, storage medium and program product |
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: 23865139 Country of ref document: EP Kind code of ref document: A1 |