WO2022239543A1 - 情報処理装置、情報処理方法および記憶媒体 - Google Patents

情報処理装置、情報処理方法および記憶媒体 Download PDF

Info

Publication number
WO2022239543A1
WO2022239543A1 PCT/JP2022/015015 JP2022015015W WO2022239543A1 WO 2022239543 A1 WO2022239543 A1 WO 2022239543A1 JP 2022015015 W JP2022015015 W JP 2022015015W WO 2022239543 A1 WO2022239543 A1 WO 2022239543A1
Authority
WO
WIPO (PCT)
Prior art keywords
input image
map
real space
current input
information
Prior art date
Application number
PCT/JP2022/015015
Other languages
English (en)
French (fr)
Inventor
岳 成田
智也 石川
高志 瀬能
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to JP2023520910A priority Critical patent/JPWO2022239543A1/ja
Priority to US18/556,290 priority patent/US20240221275A1/en
Publication of WO2022239543A1 publication Critical patent/WO2022239543A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a storage medium.
  • AR Augmented Reality
  • VR Virtual Reality
  • robotics the environment around the user or robot is updated in three dimensions in real time.
  • the present disclosure proposes an information processing device, an information processing method, and a storage medium capable of updating a map with low delay and high accuracy.
  • an information processing device includes an information acquisition unit, a determination unit, and an update processing unit.
  • the information acquisition unit stores a real space map corresponding to a real space stored in a storage medium, a current input image representing the real space acquired by a sensor, a past input image, and the sensor corresponding to the current input image. and past position and orientation information of the sensor corresponding to the past input image.
  • the determination unit determines whether or not the current input image includes an insertion object that is not included in the real space map, based on the real space map and the current input image.
  • the update processing unit updates the real space map according to the current position and orientation information and the past position and orientation information based on a determination result that the current input image does not include the insertion object. different from the first map update process, performing an update process, and updating the real space map according to the current position and orientation information based on a determination result that the current input image includes the insertion object; 2 map update processing is executed.
  • FIG. 10 is a diagram for explaining the purpose of processing for calculating the distance between a candidate region, which is a cluster, and an insertion object included in an insertion point group list;
  • FIG. 3 is a diagram for explaining a pixel of interest and a voxel of interest;
  • FIG. 10 is a diagram for explaining a pixel of interest and a voxel of interest;
  • 10 is a diagram showing an overview of update processing by an update processing unit; 7 is a flowchart showing a processing procedure of real space map update processing executed by the information processing apparatus according to the embodiment; 4 is a flow chart showing a processing procedure of map update processing executed by the information processing apparatus according to the embodiment; 7 is a flowchart showing a processing procedure of insertion object area detection processing executed by the information processing apparatus according to the embodiment; It is a block diagram showing an example of hardware constitutions of an information processor concerning this embodiment.
  • a plurality of components having substantially the same functional configuration may be distinguished by attaching different numbers after the same reference numerals.
  • the same reference numerals are used.
  • a 3D map a three-dimensional map obtained by performing the
  • a typical method for reconstructing a scene in real time is a method of integrating multi-viewpoint depth images into a signed distance field (see, for example, Non-Patent Documents 1 and 2). These methods are currently used in various situations because they can be processed in real time and can extract polygon meshes that are important for shielding and physical simulation (see, for example, Non-Patent Document 3). .
  • FIGS. 1 and 2 are diagrams for explaining the signed distance field.
  • FIG. 1 shows voxels V obtained by dividing a three-dimensional space, which is a real space, into a grid-like array. The entire voxel V is composed of a plurality of voxels V that are unit elements.
  • the signed distance field consists of the signed distance to the object surface (the outside of the object is positive, the inside is negative, and the object surface is zero), and the weight parameter is stored in each voxel V to represent the distance field.
  • Non-Patent Documents 1 and 2 a 3D map is reconstructed by integrating multi-viewpoint depth images into a signed distance field using a moving average.
  • the above-described conventional technique has a problem in that there is a delay in updating the 3D map and extracting its polygon mesh in areas where there has been a change from the scene at the time of previous reconstruction to the current scene. .
  • this method requires a strong precondition that the 3D shape of the object that can be inserted into the scene is known. is delayed or cannot be updated with high accuracy.
  • Non-Patent Document 4 As a document that focuses on 3D scanning in the same space at different times.
  • Non-Patent Document 4 two or more 3D maps obtained by scanning the same room at different times are input, and a method of separating the static 3D model of the room and the dynamic 3D model of the room is used. disclosed.
  • Non-Patent Document 4 aims to post-separate static and dynamic regions from multiple scanned maps in an offline environment. It doesn't update the map.
  • Patent Document 1 discloses a method of performing self-position estimation and mapping in an environment where the position of an object changes.
  • mapping is performed by matching processing with a known object database, in addition to being unable to handle unknown objects, a sparse feature point map is assumed as a map representation method, and dense 3D reconstruction and It is not intended for mesh extraction.
  • the information processing apparatus 1 determines whether or not the current input image includes an insertion object that is not included in the real space map, and inserts the real space map according to the determination result. Perform update processing.
  • the information processing apparatus 1 updates the real space map according to the current position and orientation information and the past position and orientation information based on the determination result that the current input image does not include the insertion object.
  • the first map update process is, for example, an update process of updating the real space map using a moving average based on current position and orientation information and past position and orientation information.
  • the information processing apparatus 1 executes second map update processing for updating the real space map according to the current position and orientation information based on the determination result that the current input image includes the insertion object.
  • the second map update processing is update processing different from the first map update processing, and is update processing for updating the real space map based on current position and orientation information without using past position and orientation information. .
  • the information processing apparatus 1 executes the first map update process for areas in the current input image in which the new insertion object does not exist, and performs the first map update process for areas in which the new insertion object exists.
  • the second map update process is executed.
  • the information processing apparatus 1 performs update processing using a moving average based on the current position and orientation information and the past position and orientation information for regions in the real space map in which the insertion object does not exist, so that the input image It is possible to perform high-precision updating while reducing the noise included in . Further, the information processing apparatus 1 performs update processing based on the current position and orientation information for a region in which an insertion object exists in the real space map, so that the newly appearing insertion object can be immediately displayed on the real space map. can be updated to reflect Thus, according to the information processing apparatus 1 according to the embodiment, it is possible to update the real space map with low delay and high accuracy.
  • FIG. 3 is a block diagram showing a functional configuration example of the information processing device 1 according to the embodiment.
  • the information processing device 1 according to the embodiment includes a control section 3 , a storage section 4 , a sensor 100 , an orientation detection section 200 and a display section 300 .
  • FIG. 3 shows the configuration in which the sensor 100, the orientation detection unit 200, and the display unit 300 are incorporated inside the information processing apparatus 1, but at least one of the sensor 100, the orientation detection unit 200, and the display unit 300 One may be arranged outside the information processing device 1 and connected to the information processing device 1 .
  • the sensor 100 acquires a depth image as an input image.
  • the sensor 100 includes, for example, a TOF (Time of Flight) range-finding sensor, a stereo camera, a LiDAR (Light Detection and Ranging) range-finding sensor, or the like.
  • the sensor 100 generates a depth image indicating the distance to an object (insertion object) existing in real space and outputs it to the control unit 3 .
  • the sensor 100 may also acquire the captured image as the input image.
  • the sensor 100 includes, for example, a CMOS (Complementary Metal Oxide Semiconductor) image sensor, a CCD (Charge Coupled Device) image sensor, and the like.
  • the sensor 100 outputs the acquired captured image to the control unit 3 .
  • the posture detection unit 200 detects the posture of the sensor unit 21 used to acquire the input image using arbitrary odometry to acquire position and posture information.
  • the posture detection unit 22 acquires position and posture information (for example, 6Dof (Degrees of freedom)) using an IMU sensor or the like and outputs it to the control unit 3 .
  • the display unit 300 is a display such as an LCD (Liquid Crystal Display), and displays information output from the control unit 3. Also, the display unit 300 may have a function of displaying a three-dimensional virtual object such as AR or VR.
  • LCD Liquid Crystal Display
  • the storage unit 4 is realized, for example, by semiconductor memory elements such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, or storage devices such as hard disks and optical disks.
  • the storage unit 4 stores a real space map 41, an insertion point cloud list 42, and various programs.
  • the real space map 41 is real space map information based on the input image.
  • the real space map 41 may be three-dimensional map information or two-dimensional map information.
  • the real space map 41 is represented by voxels V obtained by dividing a three-dimensional space, which is a real space, into a grid-like array.
  • the entire voxel V is composed of a plurality of voxels V that are unit elements.
  • Each voxel V stores a signed distance to the object surface (the outside of the object is positive, the inside is negative, and the object surface is zero) and a weight parameter representing the reliability of the signed distance.
  • the insertion point group list 42 is list information regarding the point group (pixel group) of the insertion object. Specifically, the insertion point cloud list 42 is information about point clouds of newly detected insertion objects that are included in the current input image and not included in the real space map 41 .
  • the information of the insertion point cloud list 42 may be a configuration included in the real space map 41.
  • each voxel V of the real space map 41 may be assigned a label indicating whether or not it is the region of the insertion object.
  • the control unit 3 is a controller. For example, various programs stored in the storage unit 4 are executed by a CPU (Central Processing Unit), MPU (Micro Processing Unit), etc., using RAM as a work area. It is realized by Also, the control unit 3 can be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the control unit 3 includes an information acquisition unit 31, a determination unit 32, an update processing unit 33, a PM extraction unit 34, a physics calculation unit 35, and a display control unit 36, and has information processing functions described below. achieve or perform any action.
  • the information acquisition unit 31 acquires various types of information. For example, the information acquisition unit 31 reads (acquires) the real space map 41 from the storage unit 4 . The information acquisition unit 31 also acquires the current input image acquired by the sensor 100 . The information acquisition unit 31 also acquires the current position and orientation information of the sensor 100 corresponding to the current input image from the orientation detection unit 200 . Specifically, the information acquisition unit 31 acquires the position and orientation information of the sensor 100 detected by the orientation detection unit 200 when the current input image was acquired as the current position and orientation information.
  • the information acquisition unit 31 also acquires past input images acquired by the sensor 100 .
  • the information acquisition unit 31 buffers the input images acquired from the sensor 100 at predetermined intervals in the storage unit 4, and converts the input image, which is one or more frames before the current input image, into the past input image. to get as
  • the information acquisition unit 31 also acquires past position and orientation information of the sensor 100 corresponding to past input images from the orientation detection unit 200 .
  • the information acquisition unit 31 acquires the position and orientation information of the sensor 100 detected by the orientation detection unit 200 when the past input image was acquired as the past position and orientation information.
  • the determination unit 32 determines whether the current input image includes an insertion object that is not included in the real space map 41 .
  • FIG. 4 is a diagram showing an overview of determination processing by the determination unit 32.
  • the image labeled "Live” corresponds to the current input image.
  • An image described as “Virtual” corresponds to a virtual input image, which will be described later.
  • “Inserted” is an image showing the residual obtained by subtracting "Virtual” from “Live”.
  • the determination unit 32 subtracts information of a virtual input image, which will be described later, from the current input image, and determines whether or not there is an insertion object area (the chair area in FIG. 4) from the residual that is the subtraction result.
  • the determination unit 32 generates a virtual input image based on the current input image and the real space map 41. Specifically, the determination unit 32 generates from the real space map 41 a virtual input image having substantially the same position and orientation information as the current position and orientation information of the sensor 100 corresponding to the current input image.
  • the generation of the virtual input image includes, for example, a method using a ray marching method, a method of rendering a polygon mesh extracted from a 3D map, which is the real space map 41, using a graphics pipeline, and the like.
  • the generated virtual input image may be regarded as a two-dimensional image (2D image) virtually generated from a 3D map, which is the real space map 41 .
  • the determination unit 32 calculates a residual map using the current input image and the generated virtual input image.
  • the residual map can be calculated by the following equation (1), where R(u) is the residual map, D(u) is the current input image, and D(u) is the virtual input image.
  • the residual map may be N(u) for the virtual normal image, V(u) for information obtained by converting the current input image into a point cloud using the internal parameters of the sensor 100, and V(u) for the virtual input image inside the sensor 100. It may be calculated by the following formula (2), with information converted into a point group using parameters as V ⁇ (u). Note that the virtual normal image can be generated at the same time as the virtual input image is generated.
  • the determination unit 32 performs spatial filtering on the calculated residual map.
  • the filtering process for example, an opening process that combines contraction and dilation can be used. Thereby, noise contained in the residual map due to noise contained in the current input image and the virtual input image can be removed.
  • the determination unit 32 generates a binarized image by binarizing each pixel of the residual map after the filtering process using a preset threshold value. Subsequently, the determination unit 32 clusters the binarized image based on the connected components. A cluster extracted by this clustering is a set of connected pixels having the same value in binarization, and becomes a candidate area for an insertion object.
  • the determination unit 32 determines whether or not the candidate area, which is the extracted cluster, is truly the area of the insertion object.
  • the determination unit 32 calculates the distance between the extracted candidate region, which is the cluster, and the insertion object included in the insertion point group list 42 .
  • the purpose of calculating the distance will be described later with reference to FIG.
  • the determination unit 32 uses the internal parameters of the sensor 100 to convert the depth of each pixel forming a cluster into a point group.
  • Euclidean distance such as the following formula (3) can be used.
  • the distance d may be a Mahalanobis distance that considers the distribution of cluster point groups, as in the following equation (4).
  • ⁇ j in the following equation (4) is the variance-covariance matrix of the point group P j of the cluster
  • P ⁇ j is the center of gravity of the point group P j of the cluster.
  • the determining unit 32 determines that a cluster whose distance d is less than a preset threshold value is the same as an insertion object detected in the past.
  • the inserted object is determined to be point clouds detected from different angles (or the same angle). That is, when the distance d is less than a preset threshold, the determination unit 32 determines that the cluster is a point cloud of an insertion object already registered in the insertion point cloud list 42 and is newly detected in the current input image. is not an inserted object. Then, the determination unit 32 updates the information of the insertion objects already registered in the insertion point group list 42 based on the clusters.
  • the determination unit 32 determines whether clusters whose distance d is equal to or greater than a preset threshold value are insertion objects newly detected in the current input image, or are generated by noise in the residual map. It is judged to be one of the outliers.
  • the determination unit 32 determines that the cluster is an outlier, and inserts Exclude from object area.
  • the determination unit 32 determines that an insertion newly detected in the current input image. It is determined to be an object area, and is registered in the insertion point group list 42 as a new insertion object area.
  • the determination unit 32 determines that the current input image includes an insertion object that is not included in the real space map 41. judge.
  • the determination unit 32 selects the insertion object that is not included in the real space map 41 as the current is not included in the input image.
  • FIG. 5 is a diagram for explaining the purpose of the process of calculating the distance between candidate regions, which are clusters, and insertion objects included in the insertion point group list 42.
  • this process is a process of buffering the previously detected insertion object area in the insertion point group list 42 and comparing it with the currently detected candidate area.
  • the sensor 100 detects a predetermined insertion object OB over two frames at time t-1 and time t.
  • the area OBt-1 of the insertion object OB is detected, and the real space map 41 is updated.
  • the area OBt is detected.
  • a zero crossing plane occurs in the area OBt ⁇ 1 of the area OBt. Only the region Rt has a difference map value equal to or greater than the threshold.
  • the region Rt is the noise of the residual map. It is difficult to distinguish between outliers caused by , and regions of the inserted object that have already been partially measured.
  • the threshold for the number of pixels in the cluster is increased, the number of pixels in the region Rt is erroneously determined to be an outlier less than the threshold. This is because there is a high possibility that other clusters generated by noise will be erroneously determined as the region of the insertion object.
  • the area Rt shown in FIG. is part of the area of the insertion object OB that has already been measured.
  • a small cluster (region Rt shown in FIG. 5) generated by measuring the previously measured insertion object OB from a slightly different angle can be reliably determined to be the region of the insertion object OB, and at the same time it is an outlier.
  • Other small clusters can be excluded by thresholding the number of pixels.
  • the area of the insertion object OB registered in the insertion point cloud list 42 is updated to an area obtained by combining the area OBt-1 with the area Rt.
  • the update processing unit 33 performs different map update processing according to the determination result of the insertion object by the determination unit 32 . Specifically, the update processing unit 33 executes the first map update processing based on the determination result by the determination unit 32 that the current input image does not include the new insertion object, and changes the current input image to a new insertion object. A second map update process is performed based on the determination that the inserted object is included.
  • the first map update process executes an update process of updating the real space map 41 according to the current position and orientation information and the past position and orientation information.
  • the second map update process is an update process for updating the real space map 41 according to current position and orientation information without using past position and orientation information.
  • the update processing unit 33 performs ray casting from the center of the sensor 100 for each pixel (pixel of interest) of the current input image, and acquires a voxel (voxel of interest) where the ray intersects.
  • FIG. 6 is a diagram for explaining a pixel of interest and a voxel of interest.
  • a point (depth) corresponding to the object surface is obtained from the input image based on the current position and orientation information of the sensor 100, this point is determined as the target pixel IP.
  • a line passing through the target pixel IP and the sensor 100 is determined as a ray, and a voxel at which the ray intersects is determined as a target voxel IV.
  • all of the colored voxels are voxels of interest IV, and the lighter the color, the closer it is to the pixel of interest IP.
  • FIG. 7 is a diagram showing an overview of update processing by the update processing unit 33. As shown in FIG. The example shown in FIG. 7 shows an example in which a new insertion object is inserted.
  • the object surface of the insertion object is detected by the sensor 100 as a depth, and the detected depth becomes the pixel of interest IP.
  • a voxel of interest IV is extracted.
  • the update processing unit 33 performs the second map update processing on the voxels of interest corresponding to the insertion object, and performs the first map update processing on the voxels of interest IV not corresponding to the insertion object. process.
  • the update processing unit 33 performs two determination processes using the pixel of interest and the voxel of interest, and performs the first map update process or the second map update process according to the determination results of the two determination processes. conduct.
  • the update processing unit 33 determines whether or not the pixel of interest is the area of the insertion object. Specifically, the update processing unit 33 determines whether or not the pixel of interest is a pixel included in the region of the insertion object newly registered in the insertion point group list 42 . In addition, as the second determination process, the update processing unit 33 determines whether or not the distance between the voxel of interest and the measurement point (pixel of interest IP) of the input image of interest is less than a preset threshold value.
  • the update processing unit 33 If either of these two determination processes does not satisfy the condition, the update processing unit 33 considers that the space occupied by the target voxel has not changed significantly since the time when the real space map 41 was previously generated (updated). Therefore, the first map update process is executed. That is, when the pixel of interest is not in the region of the insertion object, or when the distance between the voxel of interest and the measurement point of the input image of interest is equal to or greater than a threshold, the update processing unit 33 uses the following equation (5), which is a moving average, and The signed distance and weight parameters of voxels in the real space map 41 are updated by executing the first map update process using equation (6).
  • D t ⁇ 1 (v) and W t ⁇ 1 (v) are the signed distance and weight parameters before updating
  • d t (v, u) and w t (v, u) are signed distance and weight parameters calculated based on the current input image and current pose information.
  • the update processing unit 33 changes the voxel of interest due to the insertion of a new object compared to the time when the real space map 41 was previously generated (updated).
  • a second map update process is executed because it is considered that the space occupied has changed. That is, when the pixel of interest is in the region of the insertion object and the distance between the voxel of interest and the measurement point of the input image of interest is less than the threshold, the update processing unit 33 uses the following formulas (7) and (8) to update the signed distance and weight parameters of voxels in the real space map 41 by executing the second map update process using .
  • the equations (7) and (8) mean that the input image of the current scene acquired from the sensor 100 is immediately reflected on the real space map 41. In this way, by explicitly determining whether the voxel of interest is the space occupied by the insertion object and adaptively switching the updating method, the noise reduction effect of the first map updating process and the second map It is possible to achieve both the immediacy of update processing. That is, low-delay and high-precision map update can be realized.
  • the PM extraction unit 34 extracts polygon meshes for each insertion object from the real space map 41 updated by the update processing unit 33 . Specifically, the PM extraction unit 34 extracts voxels having a signed distance of zero in the real space map 41 for each insertion object, and extracts a polygon mesh for each insertion object based on the extracted voxels.
  • the physics calculation unit 35 Based on the polygon meshes extracted by the PM extraction unit 34, the physics calculation unit 35 performs various calculations regarding the actions of AR, VR, robots, etc., and reflects the calculation results in AR, VR, and robots.
  • the display control unit 36 performs display calculations related to AR and VR based on the polygon meshes extracted by the PM extraction unit 34, and reflects the calculation results on the display unit 300.
  • FIG. 8 is a flow chart showing the processing procedure of the real space map updating process executed by the information processing apparatus 1 according to the embodiment.
  • control unit 3 reads the real space map 41 stored in the storage unit 4 (step S101).
  • control unit 3 generates an empty insertion point cloud list 42 regarding the point cloud of the insertion object corresponding to the real space map 41 in the storage unit 4 (step S102).
  • control unit 3 acquires the current input image and the current position and orientation information of the sensor 100 corresponding to the current input image (step S103).
  • control unit 3 detects a new insertion object area included in the current input image based on the current input image, the current position and orientation information, and the real space map 41 (step S104).
  • control unit 3 registers the point cloud corresponding to the area of the detected insertion object in the insertion point cloud list 42 (step S105).
  • control unit 3 updates the real space map 41 based on whether each pixel of the current input image is included in the area of the insertion object (step S106).
  • control unit 3 extracts polygon meshes from the updated real space map 41 (step S107).
  • step S108 determines whether or not the mapping has been completed. If the mapping has been completed (step S108: Yes), the real space map 41 is stored in the storage unit 4 (step S109). , terminate the process. On the other hand, if the mapping has not ended (step S108: No), the controller 3 returns to step S103.
  • FIG. 9 is a flowchart showing the procedure of map update processing executed by the information processing apparatus 1 according to the embodiment.
  • control unit 3 performs ray casting from the center of the sensor 100 for each pixel of the input image (step S201).
  • control unit 3 acquires voxels intersected by rays (step S202).
  • control unit 3 determines whether or not the pixel of interest is the region of the insertion object (step S203).
  • control unit 3 determines whether or not the distance between the voxel of interest and the measurement point is within a threshold value (step S204).
  • step S204 When the distance between the voxel of interest and the measurement point is within the threshold (step S204: Yes), the control unit 3 updates the voxel by the second map update process (step S205).
  • step S203 determines whether the pixel of interest is the region of the insertion object (step S203: No), or if the distance between the voxel of interest and the measurement point is not within the threshold (step S204: No).
  • the control unit 3 updates the first map. Voxels are updated by processing (step S206).
  • control unit 3 determines whether or not to continue ray casting (step S207). ) and returns to step S202.
  • step S207 No
  • step S207 the control unit 3 repeats steps S201 to S207 until it is completed.
  • FIG. 10 is a flow chart showing the processing procedure of the insertion object area detection processing executed by the information processing apparatus 1 according to the embodiment.
  • control unit 3 synthesizes a virtual depth image (past input image) from the real space map 41 (step S301).
  • control unit 3 calculates a residual map between the depth image (current input image) acquired from the sensor and the past input image (step S302).
  • control unit 3 filters the residual map (step S303).
  • control unit 3 binarizes and clusters the filtered residual map (step S304).
  • control unit 3 determines whether the cluster exists within a threshold distance from the point group registered in the insertion point group list 42 (step S305).
  • control unit 3 designates the pixels included in the cluster as the region of the insertion object (step S306).
  • control unit 3 adds the point cloud in the cluster to the insertion point cloud list 42 (step S307), and ends the process when the above-described processing is completed for each cluster. If the above-described processing for each cluster has not been completed, the control unit 3 repeats steps S305 to S308 until the processing is completed.
  • step S305 if the cluster does not exist within the threshold distance from the point group registered in the insertion point group list 42 (step S305: No), the control unit 3 determines that the number of pixels in the cluster is equal to or greater than the threshold. It is determined whether or not there is (step S308).
  • step S308 Yes
  • the control unit 3 proceeds to step S306. That is, it is designated as the region of the new insertion object.
  • step S308: No the control unit 3 detects the cluster as noise and proceeds to process the next cluster.
  • FIG. 11 is a block diagram showing an example of the hardware configuration of the information processing device 1 according to this embodiment.
  • the information processing apparatus 1 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, a host bus 905, a bridge 907, an external bus 906, and an interface 908. , an input device 911 , an output device 912 , a storage device 913 , a drive 914 , a connection port 915 and a communication device 916 .
  • the information processing apparatus 1 may be provided with a processing circuit such as an electric circuit, DSP, or ASIC in place of or together with the CPU 901 .
  • the CPU 901 functions as an arithmetic processing device and a control device, and controls general operations within the information processing device 1 according to various programs.
  • the CPU 901 may be a microprocessor.
  • the ROM 902 stores programs and calculation parameters used by the CPU 901 .
  • the RAM 903 temporarily stores programs used in the execution of the CPU 901, parameters that change as appropriate during the execution, and the like.
  • the CPU 901 may execute the functions of the information acquisition unit 31, the determination unit 32, the update processing unit 33, the PM extraction unit 34, the physics calculation unit 35, and the display control unit 36, for example.
  • the CPU 901, ROM 902 and RAM 903 are interconnected by a host bus 905 including a CPU bus.
  • the host bus 905 is connected via a bridge 907 to an external bus 906 such as a PCI (Peripheral Component Interconnect/Interface) bus.
  • PCI Peripheral Component Interconnect/Interface
  • the host bus 905, bridge 907, and external bus 906 do not necessarily have to be configured separately, and these functions may be implemented in one bus.
  • the input device 911 is, for example, a device such as a mouse, keyboard, touch panel, button, microphone, switch, or lever, through which information is input by the user.
  • the input device 911 may be a remote control device using infrared rays or other radio waves, or may be an external connection device such as a mobile phone or a PDA corresponding to the operation of the information processing device 1 .
  • the input device 911 may include, for example, an input control circuit that generates an input signal based on information input by the user using the input means described above.
  • the output device 912 is a device capable of visually or audibly notifying the user of information.
  • the output device 912 is, for example, a CRT (Cathode Ray Tube) display device, a liquid crystal display device, a plasma display device, an EL (Electro Luminescence) display device, a laser projector, an LED (Light Emitting Diode) projector or a display device such as a lamp.
  • a CTR Cathode Ray Tube
  • a liquid crystal display device a plasma display device
  • an EL (Electro Luminescence) display device a laser projector
  • LED Light Emitting Diode
  • a display device such as a lamp.
  • it may be an audio output device such as a speaker or headphones.
  • the output device 912 may, for example, output results obtained by various processes performed by the information processing device 1 .
  • the output device 912 may visually display the results obtained by various processes performed by the information processing device 1 in various formats such as text, images, tables, graphs, and the like.
  • the output device 912 may convert an audio signal such as voice data or acoustic data into an analog signal and audibly output it.
  • Input device 911 and output device 912 may, for example, perform the functions of an interface.
  • the storage device 913 is a data storage device formed as an example of the storage unit 4 of the information processing device 1 .
  • the storage device 913 may be implemented by, for example, a magnetic storage device such as a HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like.
  • the storage device 913 may include a storage medium, a recording device that records data on the storage medium, a reading device that reads data from the storage medium, and a deletion device that deletes data recorded on the storage medium.
  • the storage device 913 may store programs executed by the CPU 901, various data, various data obtained from the outside, and the like.
  • the storage device 913 may perform the function of storing the real space map 41 and the insertion point cloud list 42, for example.
  • the drive 914 is a storage medium reader/writer, and is built in or externally attached to the information processing apparatus 1 .
  • the drive 914 reads information recorded on a removable storage medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and outputs the information to the RAM 903 .
  • Drives 914 can also write information to removable storage media.
  • connection port 915 is an interface that is connected to an external device.
  • the connection port 915 is a connection port capable of data transmission with an external device, and may be, for example, a USB (Universal Serial Bus).
  • the communication device 916 is, for example, an interface formed by a communication device or the like for connecting to the network N.
  • the communication device 916 may be, for example, a communication card for wired or wireless LAN (Local Area Network), LTE (Long Term Evolution), Bluetooth (registered trademark), or WUSB (Wireless USB).
  • the communication device 916 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), a modem for various types of communication, or the like.
  • the communication device 916 can, for example, transmit and receive signals to and from the Internet or other communication devices according to a predetermined protocol such as TCP/IP.
  • the network N is a wired or wireless transmission path for information.
  • the network N may include the Internet, a public line network such as a telephone line network or a satellite communication network, various LANs (Local Area Networks) including Ethernet (registered trademark), or WANs (Wide Area Networks).
  • the network N may also include a dedicated line network such as IP-VPN (Internet Protocol-Virtual Private Network).
  • a computer program is also created for causing hardware such as the CPU, ROM, and RAM built into the information processing apparatus 1 to exhibit functions equivalent to the respective components of the information processing apparatus 1 according to the present embodiment described above. It is possible. It is also possible to provide a storage medium storing the computer program.
  • each component of each device illustrated is functionally conceptual and does not necessarily need to be physically configured as illustrated.
  • the specific forms of distribution and integration of each device are not limited to those illustrated, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured.
  • the information processing device 1 includes the information acquisition unit 31, the determination unit 32, and the update processing unit 33.
  • the information acquisition unit 31 acquires a real space map 41 corresponding to the real space stored in the storage medium (storage unit 4), a current input image representing the real space acquired by the sensor 100, a past input image, and a current input image. and the past position and orientation information of the sensor 100 corresponding to past input images.
  • the determination unit 32 determines whether the current input image includes an insertion object that is not included in the real space map 41 .
  • the update processing unit 33 executes first map update processing for updating the real space map 41 according to the current position and orientation information and the past position and orientation information. Then, based on the determination result that the current input image includes the insertion object, the real space map 41 is updated according to the current position and orientation information, and a second map update process different from the first map update process is executed. .
  • the real space map 41 can be updated with low delay and high accuracy.
  • the update processing unit 33 updates the target pixel IP corresponding to the target pixel IP.
  • the second map update process is performed on the target voxel IV, and if the target pixel IP is not included in the area of the insertion object, the target voxel IV corresponding to the target pixel IP is subjected to the first map update process. to run.
  • low-latency map updating is realized by executing the second map update process for the area of the insertion object in the current input image, and the first map update process is performed for the area other than the insertion object.
  • High-precision map update that eliminates noise can be achieved by executing map update processing.
  • the update processing unit 33 updates the voxel of interest IV.
  • the distance between the target pixel IP and the target voxel IV is equal to or greater than a predetermined threshold value
  • the first map update process is performed for the target voxel IV.
  • map update accuracy can be increased.
  • the determination unit 32 generates a virtual input image from the real space map 41 according to the current position and orientation information, and uses a residual map calculated based on the current input image and the virtual input image to replace the insertion object with the current input image. is included.
  • the determination unit 32 determines whether or not the current input image includes an insertion object using the residual map that has undergone filtering processing to remove noise contained in the residual map.
  • the determination unit 32 generates a binarized image by binarizing each pixel in the residual map, and determines that the current input image includes the insertion object based on the cluster regions obtained by clustering the connected components in the binarized image. Determine whether or not
  • the area of the insertion object included in the current input image can be extracted with high accuracy.
  • the determination unit 32 determines that the cluster area is the insertion object area.
  • a small cluster generated by measuring the already measured insertion object from a slightly different angle with the sensor 100 can be reliably determined to be the region of the insertion object OB.
  • the determination unit 32 determines that the cluster area is an insertion object area when the number of pixels in the cluster area is equal to or greater than a predetermined threshold.
  • the generated virtual input image is a two-dimensional image having substantially the same position and orientation information as the current position and orientation information.
  • voxels V containing signed distances and weights indicating the reliability of the signed distances are arranged.
  • the first map update processing updates moving averages of signed distances and weights calculated based on the current input image corresponding to the current position and orientation information and the past input image corresponding to the past position and orientation information.
  • the second map update process is an update process in which the signed distance and weight calculated based on the current input image corresponding to the current position and orientation information are updated values. be.
  • a real space map corresponding to a real space stored in a storage medium a current input image showing the real space acquired by a sensor, the past input image, and the current position and orientation of the sensor corresponding to the current input image.
  • an information acquisition unit that acquires information and past position and orientation information of the sensor corresponding to the past input image; a determination unit that determines whether or not the current input image includes an insertion object that is not included in the real space map, based on the real space map and the current input image; executing a first map update process for updating the real space map according to the current position and orientation information and the past position and orientation information based on a determination result that the current input image does not include the insertion object; performing a second map update process different from the first map update process for updating the real space map according to the current position and orientation information based on a determination result that the current input image includes the insertion object;
  • An information processing device comprising: an update processing unit that executes.
  • the update processing unit When the pixel of interest in the current input image is included in the region of the insertion object and the distance between the pixel of interest and the voxel of interest is less than a predetermined threshold, the second Execute the map update process of The information processing apparatus according to (2), wherein when the distance between the pixel of interest and the voxel of interest is equal to or greater than a predetermined threshold, the first map update process is performed on the voxel of interest.
  • the determination unit is generating a virtual input image from the real space map according to the current position and orientation information;
  • the information processing apparatus according to any one of (1) to (3) above, which determines whether or not includes (5)
  • the determination unit is The information according to (4) above, wherein, using the residual map subjected to filtering processing for removing noise contained in the residual map, it is determined whether or not the current input image includes the insertion object. processing equipment.
  • the determination unit is generating a binarized image by binarizing each pixel in the residual map, and determining whether the current input image includes the insertion object based on cluster regions obtained by clustering the connected components in the binarized image;
  • the information processing apparatus according to (4) or (5), which determines whether or not.
  • the determination unit is If the distance between the cluster area extracted this time and the cluster area extracted last time is less than a predetermined threshold, the cluster area is determined to be the insertion object area, ).
  • the determination unit is The information processing apparatus according to (6) or (7) above, wherein the cluster area is determined to be the insertion object area when the number of pixels in the cluster area is equal to or greater than a predetermined threshold.
  • the information processing apparatus according to any one of (4) to (8), wherein the generated virtual input image is a two-dimensional image having substantially the same position and orientation information as the current position and orientation information. .
  • the real space map is Voxels containing signed distances and weights indicating the reliability of said signed distances are arranged
  • the first map update process includes: After updating the moving average of the signed distance and the weight calculated based on the current input image corresponding to the current position and orientation information and the past input image corresponding to the past position and orientation information is an update process with a value of
  • the second map update process includes: Any one of (1) to (9) above, wherein the updating process uses the signed distance and the weight calculated based on the current input image corresponding to the current position and orientation information as updated values.
  • a computer-executed information processing method comprising: A real space map corresponding to a real space stored in a storage medium, a current input image showing the real space acquired by a sensor, the past input image, and the current position and orientation of the sensor corresponding to the current input image.
  • An information processing method comprising: an update processing step to be performed.
  • an information acquisition unit that acquires information and past position and orientation information of the sensor corresponding to the past input image;
  • a determination unit that determines whether or not the current input image includes an insertion object that is not included in the real space map, based on the real space map and the current input image; executing a first map update process for updating the real space map according to the current position and orientation information and the past position and orientation information based on a determination result that the current input image does not include the insertion object; performing a second map update process different from the first map update process for updating the real space map according to the current position and orientation information based on a determination result that the current input image includes the insertion object;
  • a storage medium storing a program for functioning as an update processing unit to be executed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

判定部は、実空間マップおよび現在の入力画像に基づいて、実空間マップに含まれない挿入オブジェクトを現在の入力画像が含むか否かを判定する。更新処理部は、現在の入力画像が挿入オブジェクトを含まないという判定結果に基づいて、現在の位置姿勢情報および過去の位置姿勢情報に従って実空間マップを更新する第1のマップ更新処理を実行し、現在の入力画像が挿入オブジェクトを含むという判定結果に基づいて、現在の位置姿勢情報に従って実空間マップを更新する、第1のマップ更新処理とは異なる第2のマップ更新処理を実行する。

Description

情報処理装置、情報処理方法および記憶媒体
 本開示は、情報処理装置、情報処理方法および記憶媒体に関する。
 従来、AR(Augmented Reality)、VR(Virtual Reality)やロボティクスにおいては、ユーザやロボットの周囲の環境を三次元でリアルタイムに更新することが行われている。
B. Curless and M. Levoy. A volumetric method for building complex models from range images. In ACM Transactions on Graphics (SIGGRAPH), 1996. Newcombe, Richard A., et al. "Kinectfusion: Real-time dense surface mapping and tracking." ISMAR. Vol. 11. No. 2011. 2011. Lorensen, William E., and Harvey E. Cline. "Marching cubes: A high resolution 3D surface construction algorithm." ACM siggraph computer graphics. Vol. 21. No. 4. ACM, 1987. Fehr, Marius, et al. "TSDF-based change detection for consistent long-term dense reconstruction and dynamic object discovery." 2017 IEEE International Conference on Robotics and automation (ICRA). IEEE, 2017. Oleynikova, Helen, et al. "Voxblox: Incremental 3d euclidean signed distance fields for on-board mav planning." 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2017.
特表2020-512646号公報
 しかしながら、従来の技術では、実空間における現在のシーンに新たな物体が出現する等の変化が生じた場合に、実空間のマップを低遅延かつ高精度に更新する点で改善の余地があった。
 そこで、本開示では、低遅延かつ高精度にマップを更新することができる情報処理装置、情報処理方法および記憶媒体を提案する。
 上記の課題を解決するために、本開示に係る一形態の情報処理装置は、情報取得部と、判定部と、更新処理部とを備える。前記情報取得部は、記憶媒体に格納された実空間に対応する実空間マップ、センサが取得した前記実空間を示す現在の入力画像、過去の入力画像、前記現在の入力画像に対応する前記センサの現在の位置姿勢情報、および前記過去の入力画像に対応する前記センサの過去の位置姿勢情報を取得する。前記判定部は、前記実空間マップおよび前記現在の入力画像に基づいて、前記実空間マップに含まれない挿入オブジェクトを前記現在の入力画像が含むか否かを判定する。前記更新処理部は、前記現在の入力画像が前記挿入オブジェクトを含まないという判定結果に基づいて、前記現在の位置姿勢情報および前記過去の位置姿勢情報に従って前記実空間マップを更新する第1のマップ更新処理を実行し、前記現在の入力画像が前記挿入オブジェクトを含むという判定結果に基づいて、前記現在の位置姿勢情報に従って前記実空間マップを更新する、前記第1のマップ更新処理とは異なる第2のマップ更新処理を実行する。
符号付距離場を説明するための図である。 符号付距離場を説明するための図である。 実施形態に係る情報処理装置の機能構成例を示すブロック図である。 判定部による判定処理の概要を示す図である。 クラスタである候補領域と挿入点群リストに含まれる挿入オブジェクトとの距離を算出する処理の目的を説明するための図である。 注目画素および注目ボクセルを説明するための図である。 更新処理部による更新処理の処理概要を示す図である。 実施形態に係る情報処理装置によって実行される実空間マップの更新処理の処理手順を示すフローチャートである。 実施形態に係る情報処理装置によって実行されるマップ更新処理の処理手順を示すフローチャートである。 実施形態に係る情報処理装置によって実行される挿入オブジェクトの領域検出処理の処理手順を示すフローチャートである。 本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
 また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
 また、以下に示す項目順序に従って本開示を説明する。
  1.はじめに
  2.本開示の概要
  3.情報処理装置の機能構成
  4.処理フロー
  5.ハードウェア構成例
  6.まとめ
<<1.はじめに>>
 ARやVR、ロボティクスにおいては、デプスセンサやステレオカメラ、測距センサ等のデバイスを用いて、ユーザやロボットの周囲の環境を三次元に再構成することが行われており、このような再構成をリアルタイムに行うことは重要である。
 例えば、屋内環境でユーザがARやVRを行う場合や、ロボットが所定の範囲内を行動する場合、ユーザやロボットは、原則として同じ実空間を何度も訪れることになるため、以前に再構成を行った3次元のマップ(以下、3Dマップ)を再利用することが可能である。
 一方で、実空間に配置された家具や物体等の位置は日々変化しているために、以前に再構成を行ったシーンと比較すると、現在のシーンの一部に差異が生じる場合がある。従って、この差異を補償するためには、現在のシーンを上記デバイスによりセンシングした情報をもとに、再構成済みの3Dマップをリアルタイムに更新する技術が必要となる。
 シーンの再構成をリアルタイムに行う代表的なものとして、多視点の深度画像を符号付距離場に統合する方法がある(例えば、非特許文献1および2参照)。これらの方法は、リアルタイムでの処理が可能なことや、遮蔽や物理シミュレーションで重要なポリゴンメッシュの抽出(例えば、非特許文献3参照)が可能なことから、現在様々な場面で利用されている。
 ここで、図1および図2を用いて、符号付距離場について説明する。図1および図2は、符号付距離場を説明するための図である。図1は、実空間である3次元空間を格子状の配列に分割したボクセルVを示す。ボクセルV全体は、単位要素である複数のボクセルVにより構成される。符号付距離場は、図2に示すように、物体表面までの符号付距離(物体の外側が正、内側が負、物体表面がゼロとなる)と、符号付距離の信頼度を表す重みパラメータとを各ボクセルVに格納して表される距離場である。そして、上記デバイスから深度画像と深度画像に対応したデバイスの姿勢が得られるたびに、時間的な移動平均に基づいて符号付距離場を逐次的に更新する。このように、非特許文献1および2では、移動平均を用いて多視点の深度画像を符号付距離場に統合することにより、3Dマップの再構成を行っている。
 しかしながら、上述した従来の技術では、以前に再構成を行った時点におけるシーンから現在のシーンまでに変化があった領域において、3Dマップの更新およびそのポリゴンメッシュの抽出に遅延が生じるという問題がある。これは、従来技術の符号付距離場の更新方法が移動平均に基づいているためであり、移動平均の特性に伴う遅効性により更新がシーンの変化に即座に追従できないためである。
 このような問題に対して、例えば、シーンに新たに出現する物体の3次元形状が事前に既知であることを前提とした解決法が考えられる。これは、予め登録された物体の形状データベースを参照して、深度画像から物体を検出し、さらにその物体姿勢を推定した後に、形状データベースに登録された形状データを用いて符号付距離場を更新するというものである。
 しかしながら、この方法では、シーンに挿入されうる物体の3次元形状が既知であるという強い前提条件を必要とするため、未知の形状の物体がシーンに出現した場合には、符号付距離場の更新が遅延する、もしくは、精度良く更新できないという課題がある。
 また、この他に、同一空間の異なる時刻における3Dスキャンに着目した文献として、非特許文献4がある。非特許文献4では、同一の部屋を異なる時刻にスキャンした2つ以上の3Dマップを入力として、その部屋の静的な領域の3Dモデルと、動的な領域の3Dモデルとに分離する方法が開示されている。しかしながら、非特許文献4は、オフライン環境下で、スキャン済みの複数のマップを入力として静的な領域と動的な領域とに事後的に分離することを目的としているものであり、リアルタイムで3Dマップを更新するものではない。
 また、特許文献1では、物体の位置変化が生じる環境において自己位置推定とマッピングとを行う方法が開示されている。特許文献1は、既知の物体データベースとのマッチング処理によりマッピングを行うため、未知の物体に対応できないことに加え、マップ表現方法として疎な特徴点マップを想定しており、密な3D再構成やメッシュの抽出を目的としたものではない。
<<2.本開示の概要>>
 そこで、本開示では、既知物体の形状データベースを用いることなく、上述した従来技術で生じる問題を解決する手法を提案する。なお、<<2.本開示の概要>>では、実施形態に係る情報処理装置1が実行する処理の概要を説明し、より詳細な処理については、<<3.情報処理装置の機能構成>>以降で後述する。
 本開示において、実施形態に係る情報処理装置1(図3参照)は、実空間マップに含まれない挿入オブジェクトを現在の入力画像が含むかどうかを判定し、判定結果に応じた実空間マップの更新処理を行う。
 例えば、実施形態に係る情報処理装置1は、現在の入力画像が挿入オブジェクトを含まないという判定結果に基づいて、現在の位置姿勢情報および過去の位置姿勢情報に従って実空間マップを更新する第1のマップ更新処理を実行する。第1のマップ更新処理は、例えば、現在の位置姿勢情報および過去の位置姿勢情報に基づいた移動平均により実空間マップを更新する更新処理である。
 一方、実施形態に係る情報処理装置1は、現在の入力画像が挿入オブジェクトを含むという判定結果に基づいて、現在の位置姿勢情報に従って実空間マップを更新する第2のマップ更新処理を実行する。第2のマップ更新処理は、第1のマップ更新処理とは異なる更新処理であり、過去の位置姿勢情報を用いずに、現在の位置姿勢情報に基づいて実空間マップを更新する更新処理である。
 つまり、実施形態に係る情報処理装置1は、現在の入力画像のうち、新たな挿入オブジェクトが存在しない領域に対しては第1のマップ更新処理を実行し、新たな挿入オブジェクトが存在する領域に対しては第2のマップ更新処理を実行する。
 これにより、情報処理装置1は、実空間マップのうち、挿入オブジェクトが存在しない領域については、現在の位置姿勢情報および過去の位置姿勢情報に基づいた移動平均による更新処理を行うことで、入力画像に含まれるノイズを低減しつつ高精度な更新を行うことができる。また、情報処理装置1は、実空間マップのうち、挿入オブジェクトが存在する領域については、現在の位置姿勢情報に基づいた更新処理を行うことで、新たに出現した挿入オブジェクトを即座に実空間マップに反映させる更新を行うことができる。このように、実施形態に係る情報処理装置1によれば、低遅延かつ高精度に実空間マップを更新することができる。
 以下、上述した実施形態に係る情報処理装置1の詳細について説明する。
<<3.情報処理装置の機能構成>>
 まず、図3を用いて、上述した情報処理装置1の機能構成例について説明する。図3は、実施形態に係る情報処理装置1の機能構成例を示すブロック図である。図3に示すように、実施形態に係る情報処理装置1は、制御部3と、記憶部4と、センサ100と、姿勢検出部200と、表示部300とを備える。なお、図3では、センサ100、姿勢検出部200および表示部300は、情報処理装置1の内部に組み込まれた構成を示しているが、センサ100、姿勢検出部200および表示部300の少なくとも1つが情報処理装置1の外部に配置され、情報処理装置1に接続される構成であってもよい。
 センサ100は、入力画像として深度画像を取得する。センサ100は、例えば、TOF(Time of Flight)方式の測距センサや、ステレオカメラ、LiDAR(Light Detection and Ranging)等の測距センサを含む。センサ100は、実空間に存在する物体(挿入オブジェクト)までの距離を示す深度画像を生成して制御部3へ出力する。
 また、センサ100は、入力画像として撮像画像を併せて取得してもよい。かかるセンサ100は、例えば、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサや、CCD(Charge Coupled Device)イメージセンサ等を含む。センサ100は、取得した撮像画像を制御部3へ出力する。
 姿勢検出部200は、入力画像の取得に用いたセンサ部21の姿勢を任意のオドメトリを用いて検出して位置姿勢情報を取得する。例えば、姿勢検出部22は、IMUセンサ等を用いて位置姿勢情報(例えば6Dof(Degrees of freedom))を取得して制御部3へ出力する。
 表示部300は、LCD(Liquid Crystal Display)等のディスプレイであり、制御部3から出力される情報を表示する。また、表示部300は、ARやVR等の3次元の仮想オブジェクトを表示する機能を有してもよい。
 記憶部4は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図3に示す例では、記憶部4は、実空間マップ41と、挿入点群リスト42と、各種プログラムとを記憶する。
 実空間マップ41は、入力画像に基づく実空間のマップ情報である。実空間マップ41は、3次元のマップ情報であってもよく、2次元のマップ情報であってもよい。実空間マップ41は、実空間である3次元空間を格子状の配列に分割したボクセルVで表される。ボクセルV全体は、単位要素である複数のボクセルVにより構成される。各ボクセルVに物体表面までの符号付距離(物体の外側が正、内側が負、物体表面がゼロとなる)と、符号付距離の信頼度を表す重みパラメータとが格納される。
 挿入点群リスト42は、挿入オブジェクトの点群(画素群)に関するリスト情報である。具体的には、挿入点群リスト42は、現在の入力画像に含まれ、実空間マップ41に含まれない新たに検出された挿入オブジェクトの点群の情報である。
 なお、挿入点群リスト42の情報は、実空間マップ41に含まれる構成であってもよい。つまり、実空間マップ41の各ボクセルVが挿入オブジェクトの領域であるか否かのラベルが付与される構成であってもよい。
 制御部3は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、記憶部4に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部3は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現することができる。 
 制御部3は、情報取得部31と、判定部32と、更新処理部33と、PM抽出部34と、物理演算部35、表示制御部36とを有し、以下に説明する情報処理の機能や作用を実現または実行する。
 情報取得部31は、各種情報を取得する。例えば、情報取得部31は、実空間マップ41を記憶部4から読み出す(取得する)。また、情報取得部31は、センサ100で取得された現在の入力画像を取得する。また、情報取得部31は、現在の入力画像に対応するセンサ100の現在の位置姿勢情報を姿勢検出部200から取得する。具体的には、情報取得部31は、現在の入力画像を取得した際に姿勢検出部200によって検出されたセンサ100の位置姿勢情報を現在の位置姿勢情報として取得する。
 また、情報取得部31は、センサ100で取得された過去の入力画像を取得する。例えば、情報取得部31は、所定間隔でセンサ100から取得される入力画像を記憶部4にバッファリングしておき、現在の入力画像の1つ以上前のフレームである入力画像を過去の入力画像として取得する。また、情報取得部31は、過去の入力画像に対応するセンサ100の過去の位置姿勢情報を姿勢検出部200から取得する。具体的には、情報取得部31は、過去の入力画像を取得した際に姿勢検出部200によって検出されたセンサ100の位置姿勢情報を過去の位置姿勢情報として取得する。
 判定部32は、情報取得部31によって取得された実空間マップ41および現在の入力画像に基づいて、実空間マップ41に含まれない挿入オブジェクトを現在の入力画像が含むか否かを判定する。
 ここで、図4を用いて、判定部32による判定処理の処理概要について説明する。図4は、判定部32による判定処理の概要を示す図である。図4において、「Live」と記載された画像は、現在の入力画像に対応している。「Virtual」と記載された画像は、後述する仮想入力画像に対応している。「Inserted」は、「Live」から「Virtual」を減算した残差を示す画像であり、図4に示す例では、「Live」で新たに出現した挿入オブジェクトである椅子が残差として抽出されている。つまり、判定部32は、現在の入力画像から後述する仮想入力画像の情報を減算して、減算結果である残差から挿入オブジェクトの領域(図4の椅子の領域)の有無を判定する。
 まず、判定部32は、現在の入力画像および実空間マップ41に基づいて仮想入力画像を生成する。具体的には、判定部32は、現在の入力画像に対応するセンサ100の現在の位置姿勢情報と実質的に同じ位置姿勢情報を有する仮想入力画像を実空間マップ41から生成する。仮想入力画像の生成は、例えば、レイマーチング法を用いる方法や、実空間マップ41である3Dマップから抽出したポリゴンメッシュをグラフィックパイプラインを用いてレンダリングする方法等がある。本開示において、生成される仮想入力画像は、実空間マップ41である3Dマップから仮想的に生成される二次元画像(2D画像)としてみなされてもよい。
 つづいて、判定部32は、現在の入力画像と、生成した仮想入力画像とを用いて、残差マップを算出する。残差マップは、残差マップをR(u)、現在の入力画像をD(u)、仮想入力画像をD~(u)として、下記式(1)により算出可能である。
Figure JPOXMLDOC01-appb-M000001
 あるいは、残差マップは、仮想法線画像をN(u)、現在の入力画像をセンサ100の内部パラメータを用いて点群に変換した情報をV(u)、仮想入力画像をセンサ100の内部パラメータを用いて点群に変換した情報をV~(u)として、下記式(2)により算出されてもよい。なお、仮想法線画像は、仮想入力画像を生成する際に同時に生成可能である。
Figure JPOXMLDOC01-appb-M000002
 次に、判定部32は、算出した残差マップに対して空間的なフィルタリング処理を行う。フィルタリング処理は、例えば、収縮と膨張とを組み合わせたオープニング処理を用いることができる。これにより、現在の入力画像および仮想入力画像に含まれるノイズに起因した残差マップに含まれるノイズを除去することができる。
 つづいて、判定部32は、フィルタリング処理後の残差マップを予め設定された閾値により各画素を二値化した二値化画像を生成する。つづいて、判定部32は、二値化画像を連結成分に基づいてクラスタリングする。このクラスタリングにより抽出されたクラスタは、二値化において値が同じ画素が連結している集合であり、挿入オブジェクトの候補領域となる。
 つづいて、判定部32は、抽出したクラスタである候補領域について、真に挿入オブジェクトの領域であるか否かを判定する。
 まず、判定部32は、抽出したクラスタである候補領域と、挿入点群リスト42に含まれる挿入オブジェクトとの距離を算出する。なお、かかる距離を算出する目的については、図5で後述する。
 まず、判定部32は、センサ100の内部パラメータを用いて、クラスタを構成する各画素の深度を点群に変換する。つづいて、判定部32は、記憶部4に記憶されている挿入点群リスト42を参照して、挿入点群リスト42に含まれる各点群P={pと、クラスタの点群P={pとの距離dを算出する。距離dは、例えば、下記式(3)のようなユークリッド距離を用いることができる。
Figure JPOXMLDOC01-appb-M000003
 あるいは、距離dは、下記式(4)のようにクラスタの点群の分布を考慮したマハラノビス距離を用いてもよい。なお、下記式(4)におけるΣはクラスタの点群Pの分散共分散行列であり、P はクラスタの点群Pの重心である。
Figure JPOXMLDOC01-appb-M000004
 そして、判定部32は、距離dが予め設定された閾値未満であるクラスタについては、かかるクラスタが過去に検出された挿入オブジェクトと同じであると判定する、より詳細には、過去に検出された挿入オブジェクトを異なる角度(あるいは同じ角度)から検出された点群であると判定する。つまり、判定部32は、距離dが予め設定された閾値未満である場合、かかるクラスタは挿入点群リスト42に既に登録された挿入オブジェクトの点群であり、現在の入力画像において新たに検出された挿入オブジェクトではないと判定する。そして、判定部32は、かかるクラスタに基づいて、挿入点群リスト42に既に登録された挿入オブジェクトの情報を更新する。
 一方、判定部32は、距離dが予め設定された閾値以上であるクラスタについては、かかるクラスタが現在の入力画像において新たに検出された挿入オブジェクトであるか、または、残差マップのノイズによって発生した外れ値のいずれかであると判定する。
 そして、判定部32は、距離dが予め設定された閾値以上であるクラスタについて、かかるクラスタの画素数が予め設定された閾値未満である場合には、上記した外れ値であると判定し、挿入オブジェクトの領域から除外する。
 一方、判定部32は、距離dが予め設定された閾値以上であるクラスタについて、かかるクラスタの画素数が予め設定された閾値以上である場合には、現在の入力画像において新たに検出された挿入オブジェクトの領域であると判定し、挿入点群リスト42に新たな挿入オブジェクトの領域として登録する。
 すなわち、判定部32は、抽出されたクラスタについて、距離が閾値以上、かつ、クラスタの画素数が閾値以上である場合に、実空間マップ41に含まれない挿入オブジェクトを現在の入力画像が含むと判定する。
 また、判定部32は、抽出したすべてのクラスタについて、距離が閾値未満、または、クラスタの画素数が閾値未満のいずれかであった場合には、実空間マップ41に含まれない挿入オブジェクトを現在の入力画像が含まないと判定する。
 次に、図5を用いて、抽出したクラスタである候補領域と、挿入点群リスト42に含まれる挿入オブジェクトとの距離を算出する処理の目的について説明する。
 図5は、クラスタである候補領域と挿入点群リスト42に含まれる挿入オブジェクトとの距離を算出する処理の目的を説明するための図である。かかる処理は、換言すれば、前回検出された挿入オブジェクトの領域を挿入点群リスト42にバッファリングしておき、今回検出された候補領域と比較する処理である。図5では、所定の挿入オブジェクトOBをセンサ100によって時刻t-1および時刻tの2フレームに亘って検出する場合を考える。
 かかる場合、時刻t-1では、挿入オブジェクトOBの領域OBt-1が検出され、実空間マップ41が更新されることとなる。次に、時刻tでは、領域OBtが検出されるが、実空間マップ41の更新により、領域OBtのうち、領域OBt-1の部分についてはゼロ交差面が生じるため、時刻tでは、上記した残差マップの値が閾値以上となるのは領域Rtのみとなる。
 このように、連続するフレームで挿入オブジェクトOBを計測した場合、両フレームで計測された領域OBt-1、OBtの多くがオーバーラップするため、残差マップの値が大きくなる領域Rtは、領域OBt-1と比較して小さくなると考えられる。
 このため、仮に、挿入点群リスト42でのバッファリングを行わなかった場合、すなわちクラスタが挿入オブジェクトの領域であるかの判定をクラスタの画素数だけで行う場合、領域Rtが残差マップのノイズによって生じた外れ値なのか、既に一部の計測を行った挿入オブジェクトの領域なのかを区別することが困難である。
 なぜなら、クラスタの画素数の閾値を大きくした場合には、領域Rtの画素数が閾値未満の外れ値と誤判定し、一方で閾値を小さくした場合には、対象のクラスタについては挿入オブジェクトの領域と判定できる背反で、ノイズによって生じた他のクラスタを挿入オブジェクトの領域として誤判定してしまう可能性が高くなるからである。
 これに対して、上述したように、挿入点群リスト42へのバッファリングを行った場合、挿入点群リスト42とクラスタの点群との距離dを計算することにより、図5に示す領域Rtが既に計測された挿入オブジェクトOBの領域の一部であると判定できる。
 すなわち、既に計測した挿入オブジェクトOBをわずかに異なる角度から計測することで生じた小さなクラスタ(図5に示す領域Rt)ついては確実に挿入オブジェクトOBの領域であると判定できると同時に、外れ値である他の小さなクラスタについては画素数の閾値処理によって除外することが可能となる。
 このように、前回検出した挿入オブジェクトの領域を挿入点群リスト42にバッファリングし、今回検出したクラスタと比較することによって、挿入オブジェクトの領域の検出精度を高めることができる。
 なお、図5に示す例の場合、挿入点群リスト42に登録された挿入オブジェクトOBの領域は、領域OBt-1に領域Rtを結合した領域に更新される。
 更新処理部33は、判定部32による挿入オブジェクトの判定結果に応じて、異なるマップ更新処理を行う。具体的には、更新処理部33は、判定部32によって現在の入力画像が新たな挿入オブジェクトを含まないという判定結果に基づいて第1のマップ更新処理を実行し、現在の入力画像が新たな挿入オブジェクトを含むという判定結果に基づいて第2のマップ更新処理を実行する。
 第1のマップ更新処理は、現在の位置姿勢情報および過去の位置姿勢情報に従って実空間マップ41を更新する更新処理を実行する。また、第2のマップ更新処理は、過去の位置姿勢情報を用いずに、現在の位置姿勢情報に従って実空間マップ41を更新する更新処理である。
 まず、更新処理部33は、現在の入力画像の各画素(注目画素)について、センサ100中心からレイキャストを行い、レイが交差するボクセル(注目ボクセル)を取得する。
 図6は、注目画素および注目ボクセルを説明するための図である。図6に示すように、センサ100の現在の位置姿勢情報に基づく入力画像により物体表面に対応する点(深度)が得られた場合、かかる点を注目画素IPとして決定する。そして、注目画素IPとセンサ100とを通る線をレイとして、レイが交差するボクセルを注目ボクセルIVとして決定する。図6に示す例では、色付きのボクセルがすべて注目ボクセルIVとなっており、色が薄いほど注目画素IPに近いことを示している。
 そして、更新処理部33は、図7に示すように、注目画素IPおよび注目ボクセルIVを用いて、第1のマップ更新処理または第2のマップ更新処理を行う。図7は、更新処理部33による更新処理の処理概要を示す図である。図7に示す例では、新たな挿入オブジェクトが挿入された例を示している。
 図7に示すように、現在の入力画像に新たな挿入オブジェクトが挿入された場合、センサ100により挿入オブジェクトの物体表面が深度として検出され、検出された深度が注目画素IPとなり、注目画素IPにより注目ボクセルIVが抽出される。そして、更新処理部33は、抽出した注目ボクセルIVのうち、挿入オブジェクトに対応した注目ボクセルIVについては第2のマップ更新処理を行い、挿入オブジェクトに対応しない注目ボクセルIVについては第1のマップ更新処理を行う。
 具体的には、更新処理部33は、注目画素および注目ボクセルを用いて2つの判定処理を行い、2つの判定処理の判定結果に応じて第1のマップ更新処理または第2のマップ更新処理を行う。
 更新処理部33は、1つ目の判定処理として、注目画素が挿入オブジェクトの領域であるか否かを判定する。具体的には、更新処理部33は、注目画素が、挿入点群リスト42に新たに登録された挿入オブジェクトの領域に含まれる画素であるか否かを判定する。また、更新処理部33は、2つ目の判定処理として、注目ボクセルと注目する入力画像の計測点(注目画素IP)との距離が予め設定された閾値未満であるか否かを判定する。
 更新処理部33は、これら2つの判定処理のうち、いずれかが条件を満たさない場合、注目ボクセルが占める空間が以前に実空間マップ41を生成(更新)した時点から大きく変化していないと考えられるため、第1のマップ更新処理を実行する。すなわち、更新処理部33は、注目画素が挿入オブジェクトの領域でない場合、または、注目ボクセルと注目する入力画像の計測点との距離が閾値以上である場合、移動平均である下記式(5)および式(6)を用いて第1のマップ更新処理を実行することで、実空間マップ41におけるボクセルの符号付距離および重みパラメータを更新する。
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 上記式(5)および式(6)において、Dt-1(v)およびWt-1(v)は、更新前の符号付距離および重みパラメータであり、d(v,u)およびw(v,u)は、現在の入力画像および現在の位置姿勢情報に基づいて算出した符号付距離および重みパラメータである。
 一方、更新処理部33は、2つの判定処理のいずれの条件も満たす場合、以前に実空間マップ41を生成(更新)した時点と比較して、新たな物体が挿入されたことにより注目ボクセルが占める空間に変化が生じたと考えられるため、第2のマップ更新処理を実行する。すなわち、更新処理部33は、注目画素が挿入オブジェクトの領域であり、かつ、注目ボクセルと注目する入力画像の計測点との距離が閾値未満である場合、下記式(7)および式(8)を用いて第2のマップ更新処理を実行することで、実空間マップ41におけるボクセルの符号付距離および重みパラメータを更新する。
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 この式(7)および式(8)は、センサ100から取得される現在のシーンに関する入力画像を実空間マップ41に即時的に反映させることを意味する。このように,注目ボクセルについて挿入オブジェクトが占める空間であるかを明示的に判定し、更新方法を適応的に切り替えることによって、第1のマップ更新処理が持つノイズ低減の効果と、第2のマップ更新処理が持つ即時性を両立させることが可能となる。すなわち、低遅延かつ高精度なマップ更新を実現できる。
 PM抽出部34は、更新処理部33によって更新された実空間マップ41から挿入オブジェクト毎にポリゴンメッシュを抽出する。具体的には、PM抽出部34は、実空間マップ41における符号付距離がゼロであるボクセルを挿入オブジェクト毎に抽出し、抽出したボクセルに基づいて挿入オブジェクト毎のポリゴンメッシュを抽出する。
 物理演算部35は、PM抽出部34によって抽出されたポリゴンメッシュに基づいて、ARや、VR、ロボット等の動作に関する各種演算を行い、演算結果をARや、VR、ロボットに反映する。
 表示制御部36は、PM抽出部34によって抽出されたポリゴンメッシュに基づいて、ARや、VRに関する表示の演算を行い、演算結果を表示部300に反映する。
<<4.処理フロー>>
 次に、図8を用いて、実施形態に係る情報処理装置1によって実行される実空間マップの更新処理の処理手順について説明する。図8は、実施形態に係る情報処理装置1によって実行される実空間マップの更新処理の処理手順を示すフローチャートである。
 図8に示すように、制御部3は、記憶部4に記憶された実空間マップ41を読み込む(ステップS101)。
 つづいて、制御部3は、実空間マップ41に対応した挿入オブジェクトの点群に関する空の挿入点群リスト42を記憶部4に生成する(ステップS102)。
 つづいて、制御部3は、現在の入力画像と、現在の入力画像に対応するセンサ100の現在の位置姿勢情報を取得する(ステップS103)。
 つづいて、制御部3は、現在の入力画像、現在の位置姿勢情報および実空間マップ41に基づいて、現在の入力画像に含まれる新たな挿入オブジェクトの領域を検出する(ステップS104)。
 つづいて、制御部3は、検出した挿入オブジェクトの領域に対応する点群を挿入点群リスト42に登録する(ステップS105)。
 つづいて、制御部3は、現在の入力画像の各画素について、挿入オブジェクトの領域に含まれる画素か否かに基づいて、実空間マップ41を更新する(ステップS106)。
 つづいて、制御部3は、更新した実空間マップ41からポリゴンメッシュを抽出する(ステップS107)。
 つづいて、制御部3は、マッピングを終了したか否かを判定し(ステップS108)、マッピングを終了した場合(ステップS108:Yes)、実空間マップ41を記憶部4に保存し(ステップS109)、処理を終了する。一方、制御部3は、マッピングを終了していない場合(ステップS108:No)、ステップS103に戻る。
 次に、図9を用いて、実施形態に係る情報処理装置1によって実行されるマップ更新処理の処理手順について説明する。図9は、実施形態に係る情報処理装置1によって実行されるマップ更新処理の処理手順を示すフローチャートである。
 まず、図9に示すように、制御部3は、入力画像の各画素について、センサ100中心からレイキャスティングを行う(ステップS201)。
 つづいて、制御部3は、レイが交差するボクセルを取得する(ステップS202)。
 つづいて、制御部3は、注目画素が挿入オブジェクトの領域であるか否かを判定する(ステップS203)。
 制御部3は、注目画素が挿入オブジェクトの領域である場合(ステップS203:Yes)、注目ボクセルと計測点との距離が閾値以内であるか否かを判定する(ステップS204)。
 制御部3は、注目ボクセルと計測点との距離が閾値以内である場合(ステップS204:Yes)、第2のマップ更新処理によりボクセルを更新する(ステップS205)。
 一方、制御部3は、注目画素が挿入オブジェクトの領域でない場合(ステップS203:No)、または、注目ボクセルと計測点との距離が閾値以内でない場合(ステップS204:No)、第1のマップ更新処理によりボクセルを更新する(ステップS206)。
 つづいて、制御部3は、第1のマップ更新処理または第2のマップ更新処理の後、レイキャスティングを継続するか否かを判定し(ステップS207)、継続する場合には(ステップS207:Yes)、ステップS202に戻る。
 一方、制御部3は、レイキャスティングを継続しない場合(ステップS207:No)、各画素についてのマップ更新処理が完了した場合、処理を終了する。なお、制御部3は、各画素についてのマップ更新処理が完了していない場合、完了するまで、ステップS201~S207を繰り返し実行する。
 次に、図10を用いて、実施形態に係る情報処理装置1によって実行される挿入オブジェクトの領域検出処理の処理手順について説明する。図10は、実施形態に係る情報処理装置1によって実行される挿入オブジェクトの領域検出処理の処理手順を示すフローチャートである。
 図10に示すように、まず、制御部3は、実空間マップ41から仮想深度画像(過去の入力画像)を合成する(ステップS301)。
 つづいて、制御部3は、センサから取得した深度画像(現在の入力画像)と、過去の入力画像との残差マップを算出する(ステップS302)。
 つづいて、制御部3は、残差マップに対してフィルタリングを施す(ステップS303)。
 つづいて、制御部3は、フィルタリング後の残差マップを二値化およびクラスタリングする(ステップS304)。
 つづいて、制御部3は、各クラスタについて、クラスタが挿入点群リスト42に登録された点群から閾値以内の距離に存在しているか否かを判定する(ステップS305)。
 制御部3は、クラスタが挿入点群リスト42に登録された点群から閾値以内の距離に存在している場合(ステップS305:Yes)、クラスタに含まれる画素を挿入オブジェクトの領域に指定する(ステップS306)。
 つづいて、制御部3は、クラスタ内の点群を挿入点群リスト42に追加し(ステップS307)、各クラスタについて、上記した処理が完了した場合、処理を終了する。なお、制御部3は、各クラスタについて上記した処理が完了していない場合、完了するまで、ステップS305~S308を繰り返し実行する。
 なお、ステップS305において、制御部3は、クラスタが挿入点群リスト42に登録された点群から閾値以内の距離に存在していない場合(ステップS305:No)、クラスタの画素数が閾値以上であるか否かを判定する(ステップS308)。
 制御部3は、クラスタの画素数が閾値以上である場合(ステップS308:Yes)、ステップS306に移行する。すなわち、新たな挿入オブジェクトの領域として指定する。
 一方、制御部3は、クラスタの画素数が閾値未満である場合(ステップS308:No)、クラスタをノイズとして検出するとともに、次のクラスタの処理へ移行する。
<<5.ハードウェア構成例>>
 続いて、図11を参照して、本実施形態に係る情報処理装置1等のハードウェア構成の一例について説明する。図11は、本実施形態に係る情報処理装置1のハードウェア構成の一例を示すブロック図である。 
 図11に示すように、情報処理装置1は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903、ホストバス905、ブリッジ907、外部バス906、インタフェース908、入力装置911、出力装置912、ストレージ装置913、ドライブ914、接続ポート915、及び通信装置916を備える。情報処理装置1は、CPU901に替えて、又はこれと共に、電気回路、DSP若しくはASIC等の処理回路を備えてもよい。 
 CPU901は、演算処理装置、及び制御装置として機能し、各種プログラムに従って情報処理装置1内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラム及び演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラム、及びその実行において適宜変化するパラメータ等を一時記憶する。CPU901は、例えば、情報取得部31、判定部32、更新処理部33、PM抽出部34、物理演算部35および表示制御部36の機能を実行してもよい。 
 CPU901、ROM902及びRAM903は、CPUバスなどを含むホストバス905により相互に接続されている。ホストバス905は、ブリッジ907を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス906に接続されている。なお、ホストバス905、ブリッジ907、及び外部バス906は、必ずしも分離構成されなくともよく、1つのバスにこれらの機能が実装されてもよい。 
 入力装置911は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等のユーザによって情報が入力される装置である。または、入力装置911は、赤外線又はその他の電波を利用したリモートコントロール装置であってもよく、情報処理装置1の操作に対応した携帯電話又はPDA等の外部接続機器であってもよい。さらに、入力装置911は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成する入力制御回路などを含んでもよい。 
 出力装置912は、情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置である。出力装置912は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、EL(ElectroLuminescence)ディスプレイ装置、レーザープロジェクタ、LED(Light Emitting Diode)プロジェクタ又はランプ等の表示装置であってもよく、スピーカ又はヘッドホン等の音声出力装置等であってもよい。 
 出力装置912は、例えば、情報処理装置1による各種処理にて得られた結果を出力してもよい。具体的には、出力装置912は、情報処理装置1による各種処理にて得られた結果を、テキスト、イメージ、表、又はグラフ等の様々な形式で視覚的に表示してもよい。または、出力装置912は、音声データ又は音響データ等のオーディオ信号をアナログ信号に変換して聴覚的に出力してもよい。入力装置911及び出力装置912は、例えば、インタフェースの機能を実行してもよい。 
 ストレージ装置913は、情報処理装置1の記憶部4の一例として形成されたデータ格納用の装置である。ストレージ装置913は、例えば、HDD(Hard Disk Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現されてもよい。例えば、ストレージ装置913は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出装置、及び記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置913は、CPU901が実行するプログラム、各種データ及び外部から取得した各種のデータ等を格納してもよい。ストレージ装置913は、例えば、実空間マップ41および挿入点群リスト42を記憶する機能を実行してもよい。 
 ドライブ914は、記憶媒体用リーダライタであり、情報処理装置1に内蔵又は外付けされる。ドライブ914は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、RAM903に出力する。また、ドライブ914は、リムーバブル記憶媒体に情報を書き込むことも可能である。 
 接続ポート915は、外部機器と接続されるインタフェースである。接続ポート915は、外部機器とのデータ伝送可能な接続口であり、例えばUSB(Universal Serial Bus)であってもよい。 
 通信装置916は、例えば、ネットワークNに接続するための通信デバイス等で形成されたインタフェースである。通信装置916は、例えば、有線若しくは無線LAN(Local Area Network)、LTE(Long Term Evolution)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等であってもよい。また、通信装置916は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。通信装置916は、例えば、インターネット又は他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。 
 なお、ネットワークNは、情報の有線又は無線の伝送路である。例えば、ネットワークNは、インターネット、電話回線網若しくは衛星通信網などの公衆回線網、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、又はWAN(Wide Area Network)などを含んでもよい。また、ネットワークNは、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。 
 なお、情報処理装置1に内蔵されるCPU、ROM及びRAMなどのハードウェアに対して、上述した本実施形態に係る情報処理装置1の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供することが可能である。
 また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
 また、上述の実施形態は、処理内容を矛盾させない領域で適宜組み合わせることが可能である。また、上述の実施形態のフローチャート及びシーケンス図に示された各ステップは、適宜順序を変更することが可能である。
<<6.まとめ>>
 以上説明したように、本開示の一実施形態によれば、情報処理装置1は、情報取得部31と、判定部32と、更新処理部33とを備える。情報取得部31は、記憶媒体(記憶部4)に格納された実空間に対応する実空間マップ41、センサ100が取得した実空間を示す現在の入力画像、過去の入力画像、現在の入力画像に対応するセンサ100の現在の位置姿勢情報、および過去の入力画像に対応するセンサ100の過去の位置姿勢情報を取得する。判定部32は、実空間マップ41および現在の入力画像に基づいて、実空間マップ41に含まれない挿入オブジェクトを現在の入力画像が含むか否かを判定する。更新処理部33は、現在の入力画像が挿入オブジェクトを含まないという判定結果に基づいて、現在の位置姿勢情報および過去の位置姿勢情報に従って実空間マップ41を更新する第1のマップ更新処理を実行し、現在の入力画像が挿入オブジェクトを含むという判定結果に基づいて、現在の位置姿勢情報に従って実空間マップ41を更新する、第1のマップ更新処理とは異なる第2のマップ更新処理を実行する。
 これにより、低遅延かつ高精度に実空間マップ41を更新することができる。
 また、更新処理部33は、現在の入力画像が挿入オブジェクトを含むという判定結果に基づいて、現在の入力画像における注目画素IPが挿入オブジェクトの領域に含まれる場合には、注目画素IPに対応した注目ボクセルIVに対して第2のマップ更新処理を実行し、注目画素IPが挿入オブジェクトの領域に含まれない場合には、注目画素IPに対応した注目ボクセルIVに対して第1のマップ更新処理を実行する。
 これにより、現在の入力画像のうち、挿入オブジェクトの領域に対しては第2のマップ更新処理を実行することで低遅延のマップ更新を実現し、挿入オブジェクト以外の領域に対しては第1のマップ更新処理を実行することでノイズを排除した高精度のマップ更新を実現できる。
 更新処理部33は、現在の入力画像における注目画素IPが挿入オブジェクトの領域に含まれる場合において、注目画素IPと、注目ボクセルIVとの距離が所定の閾値未満であるときには、注目ボクセルIVに対して第2のマップ更新処理を実行し、注目画素IPと、注目ボクセルIVとの距離が所定の閾値以上であるときには、注目ボクセルIVに対して第1のマップ更新処理を実行する。
 これにより、注目画素IPと注目ボクセルIVとが離れた場合、すなわち、注目画素IPと注目ボクセルIVとが同一の挿入オブジェクトである可能性が低い場合でも、マップの更新精度を高めることができる。
 判定部32は、現在の位置姿勢情報に従って実空間マップ41から仮想入力画像を生成し、現在の入力画像および仮想入力画像に基づいて算出した残差マップを用いて、挿入オブジェクトを現在の入力画像が含むか否かを判定する。
 これにより、挿入オブジェクトを現在の入力画像が含むか否かを高精度に判定することができる。
 判定部32は、残差マップに含まれるノイズを除去するフィルタリング処理を行った残差マップを用いて、挿入オブジェクトを現在の入力画像が含むか否かを判定する。
 これにより、現在の入力画像や仮想入力画像に含まれるノイズに起因して残差マップに含まれるノイズを除去できるため、残差マップを用いた判定精度を高めることができる。
 判定部32は、残差マップにおける各画素を二値化した二値化画像を生成し、二値化画像における連結成分をクラスタリングしたクラスタの領域に基づいて、挿入オブジェクトを現在の入力画像が含むか否かを判定する。
 これにより、現在の入力画像に含まれる挿入オブジェクトの領域を高精度に抽出することができる。
 判定部32は、今回抽出されたクラスタの領域と、前回抽出されたクラスタの領域との距離が所定の閾値未満である場合に、クラスタの領域が挿入オブジェクトの領域であると判定する。
 これにより、既に計測した挿入オブジェクトをわずかに異なる角度からセンサ100で計測することで生じた小さなクラスタついては確実に挿入オブジェクトOBの領域であると判定できる。
 判定部32は、クラスタの領域の画素数が所定の閾値以上である場合に、クラスタの領域が挿入オブジェクトの領域であると判定する。
 これにより、一定数以上の画素数(一定以上のサイズ)の領域を挿入オブジェクトの領域として高精度に抽出することができるとともに、残差マップのノイズによって生じた外れ値を挿入オブジェクトの領域から高精度に除外することができる。
 生成される仮想入力画像は、現在の位置姿勢情報と実質的に同じ位置姿勢情報を有する二次元画像である。
 これにより、後段の残差マップの算出において、高精度な残差マップの算出結果を得ることができる。
 実空間マップ41は、符号付距離および前記符号付距離の信頼度を示す重みを含むボクセルVが配列される。第1のマップ更新処理は、現在の位置姿勢情報に対応した現在の入力画像と、過去の位置姿勢情報に対応した過去の入力画像とに基づいて算出した符号付距離および重みの移動平均を更新後の値とする更新処理であり、第2のマップ更新処理は、現在の位置姿勢情報に対応した現在の入力画像に基づいて算出した符号付距離および重みを更新後の値とする更新処理である。
 これにより、現在の入力画像に含まれるノイズを低減しつつ新たに出現した挿入オブジェクトを即座に実空間マップ41に反映させることができる。
 以上、本開示の各実施形態について説明したが、本開示の技術的範囲は、上述の各実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
 また、本明細書に記載された各実施形態における効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 記憶媒体に格納された実空間に対応する実空間マップ、センサが取得した前記実空間を示す現在の入力画像、過去の前記入力画像、前記現在の入力画像に対応する前記センサの現在の位置姿勢情報、および前記過去の入力画像に対応する前記センサの過去の位置姿勢情報を取得する情報取得部と、
 前記実空間マップおよび前記現在の入力画像に基づいて、前記実空間マップに含まれない挿入オブジェクトを前記現在の入力画像が含むか否かを判定する判定部と、
 前記現在の入力画像が前記挿入オブジェクトを含まないという判定結果に基づいて、前記現在の位置姿勢情報および前記過去の位置姿勢情報に従って前記実空間マップを更新する第1のマップ更新処理を実行し、
 前記現在の入力画像が前記挿入オブジェクトを含むという判定結果に基づいて、前記現在の位置姿勢情報に従って前記実空間マップを更新する、前記第1のマップ更新処理とは異なる第2のマップ更新処理を実行する更新処理部とを備える、情報処理装置。
(2)
 前記更新処理部は、
 前記現在の入力画像が前記挿入オブジェクトを含むという判定結果に基づいて、前記現在の入力画像における注目画素が前記挿入オブジェクトの領域に含まれる場合には、該注目画素に対応した注目ボクセルに対して前記第2のマップ更新処理を実行し、
 前記注目画素が前記挿入オブジェクトの領域に含まれない場合には、該注目画素に対応した注目ボクセルに対して前記第1のマップ更新処理を実行する、前記(1)に記載の情報処理装置。
(3)
 前記更新処理部は、
 前記現在の入力画像における前記注目画素が前記挿入オブジェクトの領域に含まれる場合において、前記注目画素と、前記注目ボクセルとの距離が所定の閾値未満であるときには、該注目ボクセルに対して前記第2のマップ更新処理を実行し、
 前記注目画素と、前記注目ボクセルとの距離が所定の閾値以上であるときには、該注目ボクセルに対して前記第1のマップ更新処理を実行する、前記(2)に記載の情報処理装置。
(4)
 前記判定部は、
 前記現在の位置姿勢情報に従って前記実空間マップから仮想入力画像を生成し、前記現在の入力画像および前記仮想入力画像に基づいて算出した残差マップを用いて、前記挿入オブジェクトを前記現在の入力画像が含むか否かを判定する、前記(1)~(3)のいずれか1つに記載の情報処理装置。
(5)
 前記判定部は、
 前記残差マップに含まれるノイズを除去するフィルタリング処理を行った前記残差マップを用いて、前記挿入オブジェクトを前記現在の入力画像が含むか否かを判定する、前記(4)に記載の情報処理装置。
(6)
 前記判定部は、
 前記残差マップにおける各画素を二値化した二値化画像を生成し、前記二値化画像における連結成分をクラスタリングしたクラスタの領域に基づいて、前記挿入オブジェクトを前記現在の入力画像が含むか否かを判定する、前記(4)または(5)に記載の情報処理装置。
(7)
 前記判定部は、
 今回抽出された前記クラスタの領域と、前回抽出された前記クラスタの領域との距離が所定の閾値未満である場合に、前記クラスタの領域が前記挿入オブジェクトの領域であると判定する、前記(6)に記載の情報処理装置。
(8)
 前記判定部は、
 前記クラスタの領域の画素数が所定の閾値以上である場合に、前記クラスタの領域が前記挿入オブジェクトの領域であると判定する、前記(6)または(7)に記載の情報処理装置。
(9)
 前記生成される仮想入力画像は、前記現在の位置姿勢情報と実質的に同じ位置姿勢情報を有する二次元画像である、前記(4)~(8)のいずれか1つに記載の情報処理装置。
(10)
 前記実空間マップは、
 符号付距離および前記符号付距離の信頼度を示す重みを含むボクセルが配列され、
 前記第1のマップ更新処理は、
 前記現在の位置姿勢情報に対応した前記現在の入力画像と、前記過去の位置姿勢情報に対応した前記過去の入力画像とに基づいて算出した前記符号付距離および前記重みの移動平均を更新後の値とする更新処理であり、
 前記第2のマップ更新処理は、
 前記現在の位置姿勢情報に対応した前記現在の入力画像に基づいて算出した前記符号付距離および前記重みを更新後の値とする更新処理である、前記(1)~(9)のいずれか1つに記載の情報処理装置。
(11)
 コンピュータが実行する情報処理方法であって、
 記憶媒体に格納された実空間に対応する実空間マップ、センサが取得した前記実空間を示す現在の入力画像、過去の前記入力画像、前記現在の入力画像に対応する前記センサの現在の位置姿勢情報、および前記過去の入力画像に対応する前記センサの過去の位置姿勢情報を取得する情報取得工程と、
 前記実空間マップおよび前記現在の入力画像に基づいて、前記実空間マップに含まれない挿入オブジェクトを前記現在の入力画像が含むか否かを判定する判定工程と、
 前記現在の入力画像が前記挿入オブジェクトを含まないという判定結果に基づいて、前記現在の位置姿勢情報および前記過去の位置姿勢情報に従って前記実空間マップを更新する第1のマップ更新処理を実行し、
 前記現在の入力画像が前記挿入オブジェクトを含むという判定結果に基づいて、前記現在の位置姿勢情報に従って前記実空間マップを更新する、前記第1のマップ更新処理とは異なる第2のマップ更新処理を実行する更新処理工程とを含む、情報処理方法。
(12)
 コンピュータを、
 記憶媒体に格納された実空間に対応する実空間マップ、センサが取得した前記実空間を示す現在の入力画像、過去の前記入力画像、前記現在の入力画像に対応する前記センサの現在の位置姿勢情報、および前記過去の入力画像に対応する前記センサの過去の位置姿勢情報を取得する情報取得部と、
 前記実空間マップおよび前記現在の入力画像に基づいて、前記実空間マップに含まれない挿入オブジェクトを前記現在の入力画像が含むか否かを判定する判定部と、
 前記現在の入力画像が前記挿入オブジェクトを含まないという判定結果に基づいて、前記現在の位置姿勢情報および前記過去の位置姿勢情報に従って前記実空間マップを更新する第1のマップ更新処理を実行し、
 前記現在の入力画像が前記挿入オブジェクトを含むという判定結果に基づいて、前記現在の位置姿勢情報に従って前記実空間マップを更新する、前記第1のマップ更新処理とは異なる第2のマップ更新処理を実行する更新処理部と
 として機能させるためのプログラムが記憶された記憶媒体。
1   情報処理装置
3   制御部
4   記憶部
21  センサ部
22  姿勢検出部
31  情報取得部
32  判定部
33  更新処理部
34  PM抽出部
35  物理演算部
36  表示制御部
41  実空間マップ
42  挿入点群リスト
100 センサ
200 姿勢検出部
300 表示部
IP  注目画素
IV  注目ボクセル
OB  挿入オブジェクト
V   ボクセル

Claims (12)

  1.  記憶媒体に格納された実空間に対応する実空間マップ、センサが取得した前記実空間を示す現在の入力画像、過去の前記入力画像、前記現在の入力画像に対応する前記センサの現在の位置姿勢情報、および前記過去の入力画像に対応する前記センサの過去の位置姿勢情報を取得する情報取得部と、
     前記実空間マップおよび前記現在の入力画像に基づいて、前記実空間マップに含まれない挿入オブジェクトを前記現在の入力画像が含むか否かを判定する判定部と、
     前記現在の入力画像が前記挿入オブジェクトを含まないという判定結果に基づいて、前記現在の位置姿勢情報および前記過去の位置姿勢情報に従って前記実空間マップを更新する第1のマップ更新処理を実行し、
     前記現在の入力画像が前記挿入オブジェクトを含むという判定結果に基づいて、前記現在の位置姿勢情報に従って前記実空間マップを更新する、前記第1のマップ更新処理とは異なる第2のマップ更新処理を実行する更新処理部とを備える、情報処理装置。
  2.  前記更新処理部は、
     前記現在の入力画像が前記挿入オブジェクトを含むという判定結果に基づいて、前記現在の入力画像における注目画素が前記挿入オブジェクトの領域に含まれる場合には、該注目画素に対応した注目ボクセルに対して前記第2のマップ更新処理を実行し、
     前記注目画素が前記挿入オブジェクトの領域に含まれない場合には、該注目画素に対応した注目ボクセルに対して前記第1のマップ更新処理を実行する、請求項1に記載の情報処理装置。
  3.  前記更新処理部は、
     前記現在の入力画像における前記注目画素が前記挿入オブジェクトの領域に含まれる場合において、前記注目画素と、前記注目ボクセルとの距離が所定の閾値未満であるときには、該注目ボクセルに対して前記第2のマップ更新処理を実行し、
     前記注目画素と、前記注目ボクセルとの距離が所定の閾値以上であるときには、該注目ボクセルに対して前記第1のマップ更新処理を実行する、請求項2に記載の情報処理装置。
  4.  前記判定部は、
     前記現在の位置姿勢情報に従って前記実空間マップから仮想入力画像を生成し、前記現在の入力画像および前記仮想入力画像に基づいて算出した残差マップを用いて、前記挿入オブジェクトを前記現在の入力画像が含むか否かを判定する、請求項1~3のいずれか1つに記載の情報処理装置。
  5.  前記判定部は、
     前記残差マップに含まれるノイズを除去するフィルタリング処理を行った前記残差マップを用いて、前記挿入オブジェクトを前記現在の入力画像が含むか否かを判定する、請求項4に記載の情報処理装置。
  6.  前記判定部は、
     前記残差マップにおける各画素を二値化した二値化画像を生成し、前記二値化画像における連結成分をクラスタリングしたクラスタの領域に基づいて、前記挿入オブジェクトを前記現在の入力画像が含むか否かを判定する、請求項4または5に記載の情報処理装置。
  7.  前記判定部は、
     今回抽出された前記クラスタの領域と、前回抽出された前記クラスタの領域との距離が所定の閾値未満である場合に、前記クラスタの領域が前記挿入オブジェクトの領域であると判定する、請求項6に記載の情報処理装置。
  8.  前記判定部は、
     前記クラスタの領域の画素数が所定の閾値以上である場合に、前記クラスタの領域が前記挿入オブジェクトの領域であると判定する、請求項6または7に記載の情報処理装置。
  9.  前記生成される仮想入力画像は、前記現在の位置姿勢情報と実質的に同じ位置姿勢情報を有する二次元画像である、請求項4~8のいずれか1つに記載の情報処理装置。
  10.  前記実空間マップは、
     符号付距離および前記符号付距離の信頼度を示す重みを含むボクセルが配列され、
     前記第1のマップ更新処理は、
     前記現在の位置姿勢情報に対応した前記現在の入力画像と、前記過去の位置姿勢情報に対応した前記過去の入力画像とに基づいて算出した前記符号付距離および前記重みの移動平均を更新後の値とする更新処理であり、
     前記第2のマップ更新処理は、
     前記現在の位置姿勢情報に対応した前記現在の入力画像に基づいて算出した前記符号付距離および前記重みを更新後の値とする更新処理である、請求項1~9のいずれか1つに記載の情報処理装置。
  11.  コンピュータが実行する情報処理方法であって、
     記憶媒体に格納された実空間に対応する実空間マップ、センサが取得した前記実空間を示す現在の入力画像、過去の前記入力画像、前記現在の入力画像に対応する前記センサの現在の位置姿勢情報、および前記過去の入力画像に対応する前記センサの過去の位置姿勢情報を取得する情報取得工程と、
     前記実空間マップおよび前記現在の入力画像に基づいて、前記実空間マップに含まれない挿入オブジェクトを前記現在の入力画像が含むか否かを判定する判定工程と、
     前記現在の入力画像が前記挿入オブジェクトを含まないという判定結果に基づいて、前記現在の位置姿勢情報および前記過去の位置姿勢情報に従って前記実空間マップを更新する第1のマップ更新処理を実行し、
     前記現在の入力画像が前記挿入オブジェクトを含むという判定結果に基づいて、前記現在の位置姿勢情報に従って前記実空間マップを更新する、前記第1のマップ更新処理とは異なる第2のマップ更新処理を実行する更新処理工程とを含む、情報処理方法。
  12.  コンピュータを、
     記憶媒体に格納された実空間に対応する実空間マップ、センサが取得した前記実空間を示す現在の入力画像、過去の前記入力画像、前記現在の入力画像に対応する前記センサの現在の位置姿勢情報、および前記過去の入力画像に対応する前記センサの過去の位置姿勢情報を取得する情報取得部と、
     前記実空間マップおよび前記現在の入力画像に基づいて、前記実空間マップに含まれない挿入オブジェクトを前記現在の入力画像が含むか否かを判定する判定部と、
     前記現在の入力画像が前記挿入オブジェクトを含まないという判定結果に基づいて、前記現在の位置姿勢情報および前記過去の位置姿勢情報に従って前記実空間マップを更新する第1のマップ更新処理を実行し、
     前記現在の入力画像が前記挿入オブジェクトを含むという判定結果に基づいて、前記現在の位置姿勢情報に従って前記実空間マップを更新する、前記第1のマップ更新処理とは異なる第2のマップ更新処理を実行する更新処理部と
     として機能させるためのプログラムが記憶された記憶媒体。
PCT/JP2022/015015 2021-05-11 2022-03-28 情報処理装置、情報処理方法および記憶媒体 WO2022239543A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023520910A JPWO2022239543A1 (ja) 2021-05-11 2022-03-28
US18/556,290 US20240221275A1 (en) 2021-05-11 2022-03-28 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-080305 2021-05-11
JP2021080305 2021-05-11

Publications (1)

Publication Number Publication Date
WO2022239543A1 true WO2022239543A1 (ja) 2022-11-17

Family

ID=84028211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/015015 WO2022239543A1 (ja) 2021-05-11 2022-03-28 情報処理装置、情報処理方法および記憶媒体

Country Status (3)

Country Link
US (1) US20240221275A1 (ja)
JP (1) JPWO2022239543A1 (ja)
WO (1) WO2022239543A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008304268A (ja) * 2007-06-06 2008-12-18 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2012103144A (ja) * 2010-11-11 2012-05-31 Univ Of Tokyo 3次元環境復元装置、3次元環境復元方法、及びロボット
JP2017509035A (ja) * 2014-01-03 2017-03-30 インテル・コーポレーション 深度カメラを用いたリアルタイム3d再構成
US20200097006A1 (en) * 2017-07-28 2020-03-26 Qualcomm Incorporated Systems and Methods for Utilizing Semantic Information for Navigation of a Robotic Device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008304268A (ja) * 2007-06-06 2008-12-18 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2012103144A (ja) * 2010-11-11 2012-05-31 Univ Of Tokyo 3次元環境復元装置、3次元環境復元方法、及びロボット
JP2017509035A (ja) * 2014-01-03 2017-03-30 インテル・コーポレーション 深度カメラを用いたリアルタイム3d再構成
US20200097006A1 (en) * 2017-07-28 2020-03-26 Qualcomm Incorporated Systems and Methods for Utilizing Semantic Information for Navigation of a Robotic Device

Also Published As

Publication number Publication date
US20240221275A1 (en) 2024-07-04
JPWO2022239543A1 (ja) 2022-11-17

Similar Documents

Publication Publication Date Title
WO2020119684A1 (zh) 一种3d导航语义地图更新方法、装置及设备
Salas-Moreno et al. Dense planar SLAM
JP2021534495A (ja) ビデオデータを使用するオブジェクトインスタンスのマッピング
CN106940704B (zh) 一种基于栅格地图的定位方法及装置
CN108898676B (zh) 一种虚实物体之间碰撞及遮挡检测方法及系统
Carozza et al. Markerless vision‐based augmented reality for urban planning
JP4392507B2 (ja) 3次元サーフェス生成方法
CN110568447A (zh) 视觉定位的方法、装置及计算机可读介质
CN109521879B (zh) 交互式投影控制方法、装置、存储介质及电子设备
JP2021522607A (ja) ポイントクラウドの着色において使用される方法及びシステム
JP2011095797A (ja) 画像処理装置、画像処理方法及びプログラム
AU2022345532B2 (en) Browser optimized interactive electronic model based determination of attributes of a structure
CN109906600B (zh) 模拟景深
JP2001067463A (ja) 異なる視点からの複数のフェイシャル画像に基づき新たな視点からのフェイシャル画像を生成するフェイシャル画像生成装置及び方法並びにその応用装置及び記録媒体
TW202309834A (zh) 模型重建方法及電子設備和電腦可讀儲存介質
Shalaby et al. Algorithms and applications of structure from motion (SFM): A survey
US20220180545A1 (en) Image processing apparatus, image processing method, and program
CN113256696A (zh) 基于自然场景的激光雷达和相机的外参标定方法
WO2022239543A1 (ja) 情報処理装置、情報処理方法および記憶媒体
JP2023168262A (ja) データ分割装置及び方法
CN117036653A (zh) 基于超体素聚类的点云分割方法及系统
WO2023088127A1 (zh) 室内导航方法、服务器、装置和终端
JP2016527574A (ja) プリミティブの組を用いてデータをレジストレーションする方法
CN111198563A (zh) 一种用于足式机器人动态运动的地形识别方法及系统
Afzal et al. Kinect Deform: enhanced 3d reconstruction of non-rigidly deforming objects

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023520910

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 18556290

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22807248

Country of ref document: EP

Kind code of ref document: A1