WO2024117090A1 - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- WO2024117090A1 WO2024117090A1 PCT/JP2023/042413 JP2023042413W WO2024117090A1 WO 2024117090 A1 WO2024117090 A1 WO 2024117090A1 JP 2023042413 W JP2023042413 W JP 2023042413W WO 2024117090 A1 WO2024117090 A1 WO 2024117090A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- depth data
- function
- depth
- model
- viewpoint
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims description 21
- 238000003672 processing method Methods 0.000 title claims description 5
- 230000006870 function Effects 0.000 claims abstract description 99
- 238000010801 machine learning Methods 0.000 claims abstract description 13
- 238000013528 artificial neural network Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 description 41
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 238000002372 labelling Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 1
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
Definitions
- the present invention relates to an information processing device, an information processing method, and a program.
- Patent Document 1 has not been able to fully meet the demands for accuracy and speed of generating 3D models.
- the present invention was made in consideration of these circumstances, and aims to realize a more convenient generation method that improves the accuracy and reduces the calculation costs when generating a 3D model of an object.
- an information processing device comprises: a depth data acquisition means for acquiring depth data indicating a depth from a predetermined viewpoint to a feature point of an object for each of N (N is an integer value of 2 or more) viewpoints; a distance function generating means for generating a function for estimating a distance from an arbitrary viewpoint to a feature point on the surface of the object by performing a predetermined machine learning using the N depth data; Equipped with.
- An information processing method and program according to one aspect of the present invention is an information processing method and program corresponding to the information processing device according to one aspect of the present invention described above.
- the present invention can improve the convenience of generating 3D models using 2D images.
- FIG. 5 is a diagram showing an example of a block for generating a three-dimensional model in a model generating device having the functional configuration of FIG. 4.
- FIG. 4 is a functional block diagram showing a second embodiment of the functional configuration of a model generating device having the hardware configuration shown in FIG. 3 .
- FIG. 7 is a schematic diagram showing a processing operation of a model generating device according to a second embodiment having the functional configuration of FIG. 6 .
- the information processing device is premised on the use of an algorithm for generating a three-dimensional model based on a two-dimensional image.
- a service to which an embodiment of an information processing device of the present invention is applied (hereinafter referred to as "this service") acquires two-dimensional images of a specified object that exists in the real world, and generates a three-dimensional model from the two-dimensional images.
- Patent Document 1 Conventional photogrammetry technology employs an algorithm that extracts feature points from multiple images of an object captured from multiple viewpoints, generates a point cloud in a three-dimensional space by associating the feature points of the multiple images, and generates a three-dimensional image by adding additional points other than the feature points.
- This algorithm is, in other words, a linear interpolation algorithm that reconstructs the distances from several viewpoints to the feature points as a point cloud in a three-dimensional space based on triangulation technology. Therefore, the conventional technology described in Patent Document 1 and the like has a problem in that the reproducibility of angles between images is extremely low.
- NeRF Neral Radiance Fields
- Algorithm an improved method (algorithm) thereof.
- NeRF is an algorithm that can perform nonlinear interpolation between multiple viewpoints using a neural network. More specifically, in NeRF, a coarse grid is first generated and a learning process is performed, and then the results are used to learn to generate a fine grid, so that the final 3D model can be output as the learning result.
- the training data is encoded using a hash function during the training process, so that the training process that required about three days in conventional NeRF can be completed in a few seconds.
- the present invention is based on this prior art and aims to speed up the learning process for generating 3D models.
- FIG. 1 illustrates an object T in a three-dimensional space, for which a three-dimensional model is to be generated in this service.
- N is an integer value of 2 or more
- M is an integer value of N or less
- a camera C1 is installed at viewpoint P1 in FIG. 1, image data is acquired from the camera C1, and then a depth meter such as a LiDAR (hereinafter referred to as "lidar") D1 is installed at viewpoint P1, and depth data is acquired from the lidar D1.
- a depth meter such as a LiDAR (hereinafter referred to as "lidar") D1 is installed at viewpoint P1, and depth data is acquired from the lidar D1.
- FIG. 2 is a diagram showing an example of a method for arranging cameras and lidars to acquire depth data and image data in the present service shown in FIG. 1.
- the camera C1 and the lidar D1 are fixed to each other in advance by a predetermined jig, and the camera C1 is placed at the viewpoint P1.
- image data is acquired from the camera C1, and depth data is acquired from the lidar D1 at the same time.
- the relative positions of the camera C1 and the lidar D1 and the direction of measurement (line of sight) are calibrated by the predetermined jig, so that depth data and image data from the same viewpoint are acquired.
- both the image data and the depth data are associated with the same viewpoint, so it can be said that the image data and the depth data are synchronized with each other.
- the service will be described assuming that the second method is adopted.
- an image G1 is captured by imaging the object T from a viewpoint P1 in the positive direction of the axis X of the object T using a camera C1.
- depth data from a viewpoint synchronized with the viewpoint P1 is acquired using a lidar D1.
- the depth data is appropriately calibrated.
- the captured image G1 contains information about the shape and color of the object T as seen from the viewpoint P1.
- an image G2 is captured by using the camera C2 from a viewpoint P2 in the positive direction of the axis Y of the object T.
- depth data from a viewpoint synchronized with the viewpoint P2 is acquired using the lidar D2. As described above, the depth data is appropriately calibrated.
- the captured image G2 contains information about the shape and color of the object T as seen from the viewpoint P2.
- cameras C1 and C2 and lidars D1 and D2 are used at viewpoints P1 and P2, respectively.
- image data and depth data may be acquired sequentially by moving camera C1 and lidar D1 from viewpoint P1 to viewpoint P2 and using them as camera C2 and lidar D2.
- cameras C1 and C2 and lidars D1 and D2 are used at viewpoints P1 and P2, respectively.
- image data and depth data may be acquired sequentially by moving camera C1 and lidar D1 from viewpoint P1 to viewpoint P2 and using them as camera C2 and lidar D2.
- a 3D model is generated using only image data of multiple captured images such as captured images G1 and G2, making it difficult to complement parts of the image that are in shadow. Furthermore, even in the method described in Non-Patent Document 1, etc., when generating a more precise 3D model, a certain amount of calculation time or a large amount of calculation resources is required.
- this service generates a 3D model of the object T using image data of captured images G acquired by cameras C from multiple viewpoints P as described above, and depth data acquired by lidar D. This allows this service to generate 3D models more quickly.
- FIG. 1 an arrow passing from viewpoint P1 through a specific pixel PX1 in captured image G1 is shown by a two-dot chain line.
- a white circle and a black circle are shown at the points on the arrow indicated by the two-dot chain line.
- the points on the arrow indicated by the open circles indicate that the points are not yet in contact with the object T when viewed from the viewpoint P1.
- the points on the arrow indicated by black circles indicate that the points have come into contact with the object T when viewed from the viewpoint P1.
- this service simultaneously measures depth data from viewpoint P1. As a result, the distance between the above-mentioned open circle point and the black circle point is obtained as depth data from the depth data.
- This service improves the speed of generating 3D models by limiting the area taken into consideration when generating the 3D model.
- FIG. 3 is a block diagram showing an example of the hardware configuration of a model generating device applied to the present service described with reference to FIG. 1, that is, a model generating device according to an embodiment of the information processing device of the present invention.
- the model generating device 1 includes a CPU 11, a GPU 12, a ROM 13, a RAM 14, a bus 15, an input/output interface 16, an input unit 17, an output unit 18, a memory unit 19, a communication unit 20, and a drive 21.
- the CPU 11 and the GPU 12 execute various processes according to a program recorded in the ROM 13 or a program loaded from the storage unit 19 to the RAM 14 .
- the GPU 12 has a compute unit that executes software processing and an RT core that executes hardware processing.
- the RT core executes ray tracing in hardware for a predetermined three-dimensional space including an object.
- the RAM 14 also stores data and the like necessary for the CPU 11 and GPU 12 to execute various processes.
- the CPU 11, GPU 12, ROM 13, and RAM 14 are interconnected via a bus 15.
- An input/output interface 16 is also connected to this bus 15.
- An input unit 17, an output unit 18, a memory unit 19, a communication unit 20, and a drive 21 are connected to the input/output interface 16.
- the input unit 17 is composed of a keyboard, a mouse, etc., and is used to input various information.
- the output unit 18 is composed of a display, a speaker, etc., and outputs various information as images and sounds.
- the storage unit 19 is configured with a hard disk, a DRAM (Dynamic Random Access Memory), etc., and stores various data.
- the communication unit 20 communicates with other devices via a network including the Internet.
- Removable media 31 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is appropriately loaded into the drive 21.
- a program read from the removable media 31 by the drive 21 is installed in the storage unit 19 as necessary. Further, the removable medium 31 can store various data stored in the storage unit 19 in the same manner as the storage unit 19 .
- FIG. 4 is a functional block diagram showing an example of the functional configuration of the model generating device of FIG.
- the CPU 11 of the model generating device 1 functions as a depth data acquisition unit 50, a real depth data acquisition unit 51, a depth data estimation unit 52, a surface labeling unit 53, an image data acquisition unit 54, a three-dimensional model generation unit 55, and a display control unit 56.
- a depth model 80, labeling data 81, and a three-dimensional model 82 are stored in one area of the memory unit 19.
- the depth data acquisition unit 50 acquires depth data from a specific viewpoint N to the object T.
- the depth data includes information on the depth from the specific viewpoint to the feature points of the object T.
- the depth data acquisition unit 50 includes an actual depth data acquisition unit 51 and a depth data estimation unit 52 .
- the real depth data acquisition unit 51 acquires real depth data of M obtained as a result of measurement from each of M viewpoints in the real world. That is, the real depth data acquisition unit 51 acquires real depth data of M obtained as a result of measurement from each of M viewpoints in the real world using a lidar D.
- the depth data estimation unit 52 estimates N depth data based on the M actual depth data acquired by the actual depth data acquisition unit 51, and acquires the estimated N depth data.
- the depth data estimation unit 52 generates or updates a three-dimensional depth model 80 of the object T by performing a learning process based on the actual depth data of M acquired by the actual depth data acquisition unit 51 using an algorithm that uses a neural network.
- the three-dimensional depth model 80 of the object T is a model that allows for inference of depth data from a predetermined viewpoint.
- the depth model 80 is stored and managed in one area of the storage unit 19.
- the surface labeling unit 53 generates labeling data 81 indicating the result of labeling the surface of the object T based on the N depth data acquired by the depth data acquisition unit 50.
- Labeling refers to recording the position of the surface of an object T in a three-dimensional space at a position in a three-dimensional virtual space where a three-dimensional model is generated.
- the labeling data 81 is stored and managed in one area of the storage unit 19 .
- the image data acquisition unit 54 acquires image data of M captured images G obtained by capturing images of an object T from viewpoints P that are synchronized with M (M is an integer value less than or equal to N) of the N viewpoints.
- the three-dimensional model generating unit 55 generates a three-dimensional model 82 for the object T based on the image data of M acquired by the image data acquiring unit 54 and the labeling data 81.
- the three-dimensional model 82 is stored and managed in one area of the storage unit 19.
- the three-dimensional model generating unit 55 includes a block skip determining unit 551 and a color learning unit 552 .
- the block skip determination unit 551 determines, based on the labeling data 81, whether or not the surface of an object T exists in a block through which a line of sight (arrow indicated by a dotted line in Figure 1) corresponding to a specified pixel in the captured image G from the viewpoint P passes. If the block skip determination unit 551 determines that the surface of the object T is not present in the block, the block is determined not to contribute to the color of the specified pixel in the captured image G. Conversely, if the block skip determination unit 551 determines that the surface of the object T is present in the block, then it is determined that the block may possibly contribute to the color of the specified pixel in the captured image G. Then, learning data is generated for the block that is determined by the block skip determination unit 551 to contribute to the color of the predetermined pixel. An example of blocks to be skipped by the block skip determining unit 551 will be described later with reference to FIG.
- the color learning unit 552 generates or updates the three-dimensional model 82 by performing learning to add color to the three-dimensional model 82 using learning data generated based on the determination result of the block skip determination unit 551.
- the learning data used in the color learning unit 552 is data on which the learning process is not (substantially) performed for blocks that do not contribute to the color of a predetermined pixel in the captured image G. This reduces the time required for the learning process in the color learning unit 552.
- the display control unit 56 performs control to display a three-dimensional model 82 of the object T on the user terminal 2 by executing a drawing process for the vicinity of the object T based on the depth model 80. This allows for faster image generation and display by omitting the rendering of areas of the three-dimensional model 82 that do not affect the color of the three-dimensional model 82 when the three-dimensional model 82 is viewed from each direction.
- the display control unit 56 can execute control to display an image drawn as is in the network representation generated in the three-dimensional model 82 of the object T.
- the three-dimensional model 82 of the object T in the network representation refers to a representation form of a function created by a neural network.
- the representation form of a function created by a neural network is also called, for example, an implicit function representation.
- the three-dimensional model 82 is converted into a format using voxels, meshes, polygons, or the like, the data size becomes huge.
- the three-dimensional model 82 in the representation form of the implicit function representation has a small data size.
- the adoption of the network representation has the advantage of a high transfer speed when transmitting and receiving data of the three-dimensional model 82 (for example, when downloading via the Internet). That is, the display control unit 56 can execute control to display the three-dimensional model 82 of the object T as it is in the network representation, without re-rendering the three-dimensional model 82 of the object T.
- FIG. 5 is a diagram showing an example of blocks for generating a three-dimensional model in a model generating device having the functional configuration of FIG.
- the coarse grid shown in Fig. 5 indicates boundaries of blocks obtained by dividing a virtual three-dimensional space in which the object T in Fig. 1 is placed into a grid shape, while the fine grid shown in Fig. 5 indicates boundaries divided into grids that are finer than the blocks.
- each region obtained by dividing the slice SLk into a predetermined first unit is a voxel VC.
- the voxel VC corresponds to the resolution of the three-dimensional model 82 that is ultimately generated, the process of generating the three-dimensional model would be inefficient if the process were performed in units of voxels VC.
- each region obtained by dividing the slice SLk into a second unit larger than the first unit in other words, a region composed of a group of n voxels, is introduced as blocks BL1 to BL7 and BLK.
- n 4 in the direction of the axis X, 4 in the direction of the axis Y, and 1 in the direction of the axis Z, totaling 8.
- voxels VC when there is no need to distinguish a plurality of voxels from one another, they will be referred to as "voxels VC.”
- blocks BL when there is no need to distinguish the individual blocks BL1 to BL7, etc.
- the area of the block BL indicated by the thick line in FIG. 5 is an area that may include each of the objects of the two parts T1 and T2 of the target object T. That is, in slice SLk, blocks BL that may include the surface of the object T and blocks BLK of empty space are distinguished.
- the former blocks BL are reflected in the pixel values (colors) of predetermined pixels in the captured image G, whereas the latter blocks BLK are not reflected. Therefore, hereinafter, the former blocks BL are referred to as “processing blocks BL” and the latter blocks BLK are referred to as “non-processing blocks BLK.”
- processing blocks BL are illustrated by thick lines, and “non-processing blocks BLK” are illustrated by dashed lines. Note that only the “processing blocks BL” are illustrated in Figs. 3 to 5.
- slice SLk has regions that may include two portions T1 and T2 of object T.
- processing blocks BL1 to BL4 are illustrated as regions that may include portion T1 of object T.
- processing blocks BL5 to BL7 are illustrated as regions that may include portion T2 of object T.
- the surface labeling unit 53 illustrated in FIG. 4 thus performs labeling by determining blocks BL that may contain the surfaces of parts T1 and T2 of the object T. Blocks surrounded by a thick frame indicate blocks that have been labeled as containing the surface of the object T.
- the three-dimensional model generation unit 55 learns (models) color information about the processing blocks BL, and generates color information about the non-processing blocks BLK as learning (modeling) data so that learning processing is not performed on the color information, and executes generation or update of the three-dimensional model 82.
- This speeds up the processing of generating or updating the three-dimensional model 82. That is, for example, in an image G (for example, image G2 in FIG. 1) captured from the positive direction of the axis Y of the part T1 of the object T, learning data is generated in which learning of the non-processed blocks BLK1 to BLK3 is not performed.
- a model generating device according to a second embodiment of an information processing device according to the present invention will be described.
- an example of generating a three-dimensional model from photographic data (color image) and depth data was described, and it was also stated that a three-dimensional model of an implicit function expression may be generated by a neural network.
- a three-dimensional model of an implicit function expression may be generated by a neural network.
- an example of generating a three-dimensional model from depth data when photographic data, i.e., colored image data, cannot be obtained as in the first embodiment is described.
- two or more maps of depth data measuring the distance to the object T from different directions are stored in a neural network, and the distance to the surface of the object T is estimated from a direction in which the depth is not measured, and a map of the distance from the different directions is generated, thereby making it possible to reproduce a three-dimensional black-and-white object.
- depth information of the object T is obtained as a point cloud using a depth sensor such as LiDAR, and the point cloud data is interpolated using a neural network machine learning technique to generate a three-dimensional model expressed by an implicit function. This makes it possible to reduce calculation costs and data size compared to a three-dimensional model in the form of voxels as in the first embodiment.
- FIG. 6 is a functional block diagram showing a second embodiment of the functional configuration of a model generating device having the hardware configuration shown in FIG.
- FIG. 7 is a schematic diagram showing the processing operation of a model generating device according to the second embodiment having the functional configuration of FIG.
- the model generating device 1 of the second embodiment executes the process of generating a three-dimensional model of the object T, as shown in FIG. 6, the depth data acquisition unit 50, the implicit function generation unit 60, and the three-dimensional model generation unit 61 function in the CPU 11.
- the depth data acquisition unit 50 acquires depth data (specifically, depth data measured by the lidars D1 and D2) indicating the depth from, for example, the viewpoints P1 and P2 (predetermined viewpoints) in FIG. 7 to the characteristic points of the object T for each of N viewpoints (N is an integer value of 2 or more).
- the implicit function generating unit 60 executes learning using, for example, an implicit function model 83 (neural network) as a predetermined machine learning.
- the implicit function generation unit 60 inputs depth data from different directions as teacher data to the implicit function model 83 to perform machine learning, thereby improving the accuracy of the implicit function output from the implicit function model 83.
- a function that indicates whether or not an object is present at the position of the input depth data a distance function that indicates how far away the surface of the object's shape is in three dimensions is estimated.
- the depth data acquired by the depth data acquisition unit 5 is given as input to the implicit function model 83, an implicit function is generated from the implicit function model 83, and the implicit function is output to the three-dimensional model generation unit 61.
- the three-dimensional model generation unit 61 models (generates) a three-dimensional model 82 of the object T based on the implicit function generated (output) by the implicit function generation unit 60, and stores it in the storage unit 19 in the form of an implicit function representation.
- the display control unit 56 executes control to display the three-dimensional shape of the object T as a network representation (implicit function representation) without re-rendering the three-dimensional model 82 of the object T.
- the three-dimensional model 82 is stored in an implicit function representation format.
- this model generating device 1 when an object is observed from multiple viewpoints, the distance from each viewpoint to the object surface is observed. For example, when observed from viewpoint P1, how far a point on the object is from the observation position is observed.
- this observation value is represented by a grayscale image, where areas where there is no object are represented in black and areas where the object is close are represented in white.
- the model generating device 1 makes it possible to estimate the distance from a viewpoint to an object for which no observed value has been obtained. 7, it is assumed that observation values from viewpoints P1 and P2 are obtained. In this case, the distances from viewpoints P1 and P2 to a certain point on object T are obtained. However, the distances from other viewpoints are not observed, and similarly, the distances from other viewpoints cannot be observed, so it is difficult to generate a 3D model of object T from only the observation values from two directions.
- the distance from an unobserved viewpoint to the surface of the object T is estimated using a machine learning method such as an implicit function model 83 (neural network).
- a machine learning method such as an implicit function model 83 (neural network).
- Estimation using a neural network is a method suitable for estimating a nonlinear function by interpolation, and allows for more accurate estimation than existing interpolation methods.
- FIG. 7 is a schematic diagram of a depth measurement model of a model generation device of a second embodiment having the functional configuration of FIG. 6.
- the depth data acquisition unit 50 acquires depth data from two or more directions observed by a depth meter D such as a LiDAR, and outputs each of the depth data to the implicit function generation unit 60.
- the implicit function generation unit 60 provides the depth data from two or more directions output from the depth data acquisition unit 50 as input to the implicit function model 83, causes the implicit function model 83 to estimate the distance to the surface of the object, and outputs an implicit function according to that distance.
- the implicit function generation unit 60 receives the implicit function output from the implicit function model 83, and outputs it to the three-dimensional model generation unit 61.
- the three-dimensional model generating unit 61 receives the implicit functions, generates a three-dimensional model 82 of the volume data in the form of an implicit function representation, and stores it in the storage unit 19 . Furthermore, in response to a request from the user terminal 2, the three-dimensional model generating unit 61 reads out the three-dimensional model 82 from the storage unit 19 and outputs it to the user terminal 2 via the display control unit 56 by a rendering method such as volume rendering. As a result, the three-dimensional object is reproduced in black and white on the display of the user terminal 2 or the like.
- T(t) is a function of the variable t.
- T(t) is a function for removing the influence of the back side of an object when viewed from a specific viewpoint.
- a function is generated that has a value on the object surface and is relatively small at other points in space.
- This T(t) is determined from a distance function S(r), which is a function that represents where an object exists when viewed from a certain surface.
- the observation device is a lidar D1 at a viewpoint P1 and the coordinates of that position are x, y, and z
- x, y, and z are assigned to the center position.
- the direction of a straight line from the center position (x, y, z) toward the object T is an angle D defined by angles ⁇ and ⁇
- the straight line to a certain point on the object T is expressed by the formula r(t).
- the equation r(t) is a simple equation for a straight line, and the distance from here to a black point on the object is expressed in terms of the origin o and td.
- r(t) we can define a variable R that represents the position of a point on an object, that is, the point o is the origin of the coordinate system, and is multiplied by a certain number in the direction of angle D to reach that point.
- the density of the object is taken as ⁇ (x), which is defined as the area where the density is high, in order to estimate the surface of the object.
- the distance to the surface of the target object T can be defined, for example, by the distance function S(r), which is an integral equation. Let the distance function S(r) be the integral value of the function T(t).
- the function T(t) represents the shape of an object placed in a three-dimensional space, and is a function for removing the influence of the back side of the target object when viewed from a specific viewpoint. When integrating the function T(t), the distance function exists in three dimensions, and this function T(t) is needed to express where the object is when viewed from a certain side.
- volume data has characteristics different from point clouds, and has advantages in terms of light data capacity and application to simulations such as collision analysis.
- volume rendering techniques By saving the observed values as volume data, it is possible to apply volume rendering techniques to the final output.
- output method various output methods are envisioned depending on the application of the observed data.
- the model generating device 1 of the second embodiment when a 3D model converted into a format using voxels, meshes, polygons, etc. is generated as in the first embodiment, the data size becomes huge, but the 3D model 82 expressed by an implicit function can reduce the data size. Therefore, by employing the neural network expression (implicit function expression), the data of the 3D model 82 can be downloaded at high speed when transmitting and receiving the data of the 3D model 82 (for example, when downloading the 3D model 82 via the Internet). As a result, a more convenient generation method can be realized, such as improving accuracy and reducing computational costs when generating a three-dimensional model of the object T using depth data measured to the depth to the object T.
- the number N of viewpoints P from which depth data is obtained and the number M of viewpoints P from which image data is obtained are described as being the same, but this is not particularly limited.
- the number N of viewpoints P from which depth data is obtained and the number M of viewpoints P from which image data is obtained may be different.
- a depth model 80 is generated from N depth data, and then depth data at M viewpoints P that are different from N viewpoints P is calculated from the depth model 80.
- the depth data may be data directly observed by a sensor such as a lidar D, or may be data estimated from other data. That is, for example, the depth data acquisition unit 50 may acquire depth data at a viewpoint P of M corresponding to the image data from a depth model 80 prepared in advance, rather than acquiring actual depth data or generating or updating a depth model 80 and using the depth data as depth data at a viewpoint P of M corresponding to the image data.
- the camera C1 and the lidar D1 are fixed to each other in advance by a specified jig, and the relative positions of the camera C1 and the lidar D1 and the direction of measurement (line of sight) are calibrated by the specified jig to obtain depth data and image data from the same viewpoint, but this is not particularly limited. That is, various calibration methods may be adopted. Specifically, for example, the position information of the viewpoint P photographed by the camera C may be acquired and recorded using a technology such as GPS (Global Positioning System), and then the position information may be used to acquire depth data from the same viewpoint by the lidar D. It goes without saying that the order of data acquisition by the camera C and the lidar D may be any order.
- the depth model 80 may be generated using a method for estimating depth from image data, such as structure from motion.
- the functional block diagram shown in Fig. 4 is merely an example and is not particularly limited. In other words, it is sufficient that the information processing system is provided with a function and a database that can execute the above-mentioned series of processes as a whole, and the type of functional block used to realize this function is not particularly limited to the example in Fig. 7. Furthermore, the locations of the functional blocks and databases are not limited to those shown in FIG. 4 and may be arbitrary.
- one functional block may be configured as a single piece of hardware, a single piece of software, or a combination of both.
- the program constituting the software is installed into a computer or the like from a network or a recording medium.
- the computer may be a computer implemented in dedicated hardware.
- the computer may be a computer capable of executing various functions by installing various programs, such as a server, a general-purpose smartphone, or a personal computer.
- the recording medium containing such a program may be configured not only as a removable medium (not shown) that is distributed separately from the device body in order to provide the program to the user, but also as a recording medium that is provided to the user in a state where it is already installed in the device body.
- the steps of describing a program to be recorded on a recording medium include not only processes that are performed chronologically according to the order, but also processes that are not necessarily performed chronologically but are executed in parallel or individually.
- the term "system” refers to an overall device that is composed of a plurality of devices, a plurality of means, etc.
- the information processing system to which the present invention is applied may have the following configuration, and may take a variety of different embodiments. That is, an information processing device to which the present invention is applied (for example, the model generating device 1 in FIG. 6) a depth data acquisition unit (e.g., depth data acquisition unit 50 in FIG. 6 ) that acquires depth data (e.g., depth data measured by LIDARs D1 and D2 in FIG. 7 ) indicating the depth from a predetermined viewpoint (e.g., viewpoints P1 and P2 in FIG. 7 ) to a feature point of an object (e.g., object T in FIG.
- a depth data acquisition unit e.g., depth data acquisition unit 50 in FIG. 6
- depth data acquisition unit 50 in FIG. 6 acquires depth data (e.g., depth data measured by LIDARs D1 and D2 in FIG. 7 ) indicating the depth from a predetermined viewpoint (e.g., viewpoints P1 and P2 in FIG. 7 ) to a feature
- a distance function generating unit e.g., the implicit function generating unit 60 in FIG. 6
- a distance function generating unit that generates a function (e.g., an implicit function) that estimates a distance from an arbitrary viewpoint to a feature point on the surface of the object by executing a predetermined machine learning (e.g., learning by a neural network such as an implicit function model 83) using the N depth data; It will be enough to have this.
- This makes it possible to realize a more convenient generation method that improves the accuracy of generating a three-dimensional model of an object (for example, object T in FIG. 7) and reduces calculation costs and data size.
- the distance function generating means (e.g., the implicit function generating unit 60 in FIG. 6) can execute learning using a neural network (e.g., the implicit function model 83 in FIG. 6) as the predetermined machine learning, and generate an implicit function generated by the neural network (e.g., the implicit function model 83 in FIG. 6) as the function.
- a neural network e.g., the implicit function model 83 in FIG. 6
- an implicit function generated by the neural network e.g., the implicit function model 83 in FIG. 6 as the function.
- Model generation device 2: User terminal, 11: CPU, 19: Storage unit, 21: Drive, 31: Removable media, 50: Depth data acquisition unit, 51: Actual depth data acquisition unit, 52: Depth data estimation unit, 53: Surface labeling unit, 54: Image data acquisition unit, 55: 3D model generation unit, 56: Display control unit, 60: Implicit function generation unit, 61: 3D model generation unit, 551: Block skip determination unit, 552: Color learning unit, 80: Depth model, 81: Labeling data, 82: 3D model
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
深度データ取得部50は、所定視点から対象物の特徴点までの深度を示す深度データについて、N(Nは2以上の整数値)の視点毎に取得する。陰関数生成部60は、Nの深度データを用いた所定の機械学習を実行することで、任意の視点からの対象物Tの表面の特徴点までの距離の関数である陰関数S(r)を生成する。
Description
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
従来より、被写体が含まれる2次元画像(多数の2次元画像)から、3次元モデルを生成する技術が存在する(例えば、特許文献1及び非特許文献1参照)。
Thomas M. et Al., "Instant Neural Graphics Primitives with a Multiresolution Hash Encoding", ACM Trans. Graph., Vol.4, Num.4, pp.102:1--102:15, July 2022,https://doi.org/10.1145/3528223.3530127
しかしながら、上述の特許文献1や非特許文献1を含む先行技術では、3次元モデルの生成の精度や、生成速度についての要望に十分に応じることができていなかった。
本発明は、このような状況に鑑みてなされたものであり、対象物の3次元モデルを生成する際の精度の向上や計算コストの削減といった、より利便性の高い生成手法を実現することを目的とする。
上記目的を達成するため、本発明の一態様の情報処理装置は、
所定視点から対象物の特徴点までの深度を示す深度データについて、N(Nは2以上の整数値)の視点毎に取得する深度データ取得手段と、
前記Nの深度データを用いた所定の機械学習を実行することで、任意の視点からの前記対象物の表面の特徴点までの距離を推定する関数を生成する距離関数生成手段と、
を備える。
所定視点から対象物の特徴点までの深度を示す深度データについて、N(Nは2以上の整数値)の視点毎に取得する深度データ取得手段と、
前記Nの深度データを用いた所定の機械学習を実行することで、任意の視点からの前記対象物の表面の特徴点までの距離を推定する関数を生成する距離関数生成手段と、
を備える。
本発明の一態様の情報処理方法及びプログラムは、上述の本発明の一態様の情報処理装置に対応する情報処理方法及びプログラムである。
本発明によれば、2次元画像を用いた3次元モデルの生成における利便性を向上させることができる。
以下、本発明の実施形態について図面を用いて説明する。
本発明の情報処理装置の実施形態は、2次元画像に基づいて3次元モデルを生成するアルゴリズムを用いることを前提としている。
即ち、本発明の情報処理装置の実施形態が適用されるサービス(以下、「本サービス」と呼ぶ)は、実世界に存在する所定の対象物に対して2次元画像を取得し、その2次元画像から3次元モデルの生成を行うものである。
即ち、本発明の情報処理装置の実施形態が適用されるサービス(以下、「本サービス」と呼ぶ)は、実世界に存在する所定の対象物に対して2次元画像を取得し、その2次元画像から3次元モデルの生成を行うものである。
まず、上述の特許文献1等に記載の従来の基礎技術について説明する。
従来のフォトグラメトリ技術においては、対象物を複数の視点から撮像した複数の画像の夫々から特徴点を抽出し、複数の画像の夫々の特徴点を対応付けることで3次元空間上の点群を生成し、特徴点以外の点からさらに点群を追加することで、3次元画像を生成するアルゴリズムが採用されていた。このようなアルゴリズムは、いくつかの視点から特徴点までの距離を三角測量の技術をベースに3次元空間上の点群として再構成する、いわば、線形な補完を行うアルゴリズムであった。そのため、特許文献1等に記載の従来の技術においては、画像と画像の間のアングルの再現性が極めて低いという課題があった。
従来のフォトグラメトリ技術においては、対象物を複数の視点から撮像した複数の画像の夫々から特徴点を抽出し、複数の画像の夫々の特徴点を対応付けることで3次元空間上の点群を生成し、特徴点以外の点からさらに点群を追加することで、3次元画像を生成するアルゴリズムが採用されていた。このようなアルゴリズムは、いくつかの視点から特徴点までの距離を三角測量の技術をベースに3次元空間上の点群として再構成する、いわば、線形な補完を行うアルゴリズムであった。そのため、特許文献1等に記載の従来の技術においては、画像と画像の間のアングルの再現性が極めて低いという課題があった。
これに対して、近年、機械学習の技術の発展に伴い、ニューラルネットワークを用いたNeRF(Neural Radiance Fields)やそれを発展させた手法(アルゴリズム)が提唱されている。
NeRFは、ニューラルネットワークにより複数の視点間について非線形な補完を行うことができるアルゴリズムである。
より具体的にはNeRFにおいては、まず初めに荒い格子を生成して学習処理を実行し、その結果から密な格子を生成するよう学習することで、学習結果として最終的な3次元モデルを出力することができる。
NeRFは、ニューラルネットワークにより複数の視点間について非線形な補完を行うことができるアルゴリズムである。
より具体的にはNeRFにおいては、まず初めに荒い格子を生成して学習処理を実行し、その結果から密な格子を生成するよう学習することで、学習結果として最終的な3次元モデルを出力することができる。
さらに、非特許文献1に記載されているinstant-ngpと呼ばれる手法(アルゴリズム)においては、学習処理の際に学習データがハッシュ関数を使用したエンコーディングされることにより、例えば従来のNeRFにおいて学習処理に3日程度の時間が必要であった処理を、数秒の学習処理で完了することができる。
本発明は、このような先行技術を前提として、3次元モデルを生成するための学習処理の高速化を実現するものである。
図1の例を、本サービスの3次元モデルの生成の流れの概要について説明する。
図1には、本サービスで3次元モデルの生成の対象となる対象物Tが3次元空間中に図示されている。
図1には、本サービスで3次元モデルの生成の対象となる対象物Tが3次元空間中に図示されている。
本サービスでは、対象物Tの3次元モデルを生成するため、Nの視点(Nは2以上の整数値)からライダにより測定された結果得られた深度データ、及び、Mの視点(MはN以下の整数値)からカメラにより撮像された撮像画像の画像データを用いて対象物Tの3次元モデルを生成する。
なお、以下、図1の説明において、説明を分かり易くするため、深度データと画像データは別の時点に取得されたものであってもよいが、ある視点において同時に取得された深度データと画像データの組を用いるものとして説明する。
また、図1の説明において、N=M=2であるものとし、2つの視点P1及びP2を用いて説明する。また、地点の夫々を区別する必要がない場合、複数の地点をまとめて地点Pと呼ぶ。
また、図1の説明において、N=M=2であるものとし、2つの視点P1及びP2を用いて説明する。また、地点の夫々を区別する必要がない場合、複数の地点をまとめて地点Pと呼ぶ。
なお、同一の視点からの深度データと画像データを取得する場合、以下のような手法をとることができる。即ち例えば、第1手法として、図1の視点P1にカメラC1を設置し、カメラC1から画像データを取得した後に、視点P1にLiDAR(以下「ライダ」と呼ぶ)D1等の深度計を設置し、ライダD1から深度データを取得する。これにより、2つの同一の視点からの深度データと画像データの組が、取得される。
図2は、図1に示す本サービスにおいて、深度データと画像データを取得するためのカメラ及びライダの配置方法の一例を示す図である。
また例えば、第2手法として、図2に示すように、カメラC1とライダD1とは所定の治具によりあらかじめ相互に固定されており、視点P1にカメラC1が配置された状態とする。次に、カメラC1から画像データを取得すると同時に、ライダD1から深度データを取得する。そして、所定の治具によるカメラC1とライダD1との相対位置や測定の方向(視線)がキャリブレーションされることにより、同一の視点からの深度データと画像データが取得される。
ここで、キャリブレーションの結果、画像データ及び深度データはいずれも同一の視点に紐づけられることから、画像データ及び深度データは互いに同期されているといえる。
なお、以下、本サービスでは、この第2手法が採用されているものとして説明する。
また例えば、第2手法として、図2に示すように、カメラC1とライダD1とは所定の治具によりあらかじめ相互に固定されており、視点P1にカメラC1が配置された状態とする。次に、カメラC1から画像データを取得すると同時に、ライダD1から深度データを取得する。そして、所定の治具によるカメラC1とライダD1との相対位置や測定の方向(視線)がキャリブレーションされることにより、同一の視点からの深度データと画像データが取得される。
ここで、キャリブレーションの結果、画像データ及び深度データはいずれも同一の視点に紐づけられることから、画像データ及び深度データは互いに同期されているといえる。
なお、以下、本サービスでは、この第2手法が採用されているものとして説明する。
まず、対象物Tの軸X正方向の視点P1からカメラC1を用いて対象物Tが撮像された結果得られる撮像画像G1が撮像される。このとき、同時に、ライダD1を用いて視点P1と同期された視点からの深度データが取得される。上述したように、深度データは適宜キャリブレーションされる。
撮像画像G1には、視点P1から見た対象物Tの形状と色の情報が含まれている。
撮像画像G1には、視点P1から見た対象物Tの形状と色の情報が含まれている。
次に、対象物Tの軸Y正方向の視点P2からカメラC2を用いて対象物Tが撮像された結果得られる撮像画像G2が撮像される。このとき、同時に、ライダD2を用いて視点P2と同期された視点からの深度データが取得される。上述したように、深度データは適宜キャリブレーションされる。
撮像画像G2には、視点P2から見た対象物Tの形状と色の情報が含まれている。
撮像画像G2には、視点P2から見た対象物Tの形状と色の情報が含まれている。
なお、図1の説明において、視点P1及びP2の夫々において、カメラC1及びC2、ライダD1及びD2をそれぞれ用いるものとして説明したが、視点P1からカメラC1及びライダD1を視点P2に移動してカメラC2及びライダD2として使用することで、画像データと深度データを順次取得してもよい。
このように、複数地点のカメラ及びライダを区別する必要がない場合それぞれまとめて「カメラC」及び「ライダD」と夫々呼ぶ。また、このような場合、カメラCにより撮像された画像を「撮像画像G」と呼ぶ。
このように、複数地点のカメラ及びライダを区別する必要がない場合それぞれまとめて「カメラC」及び「ライダD」と夫々呼ぶ。また、このような場合、カメラCにより撮像された画像を「撮像画像G」と呼ぶ。
例えば、特許文献1等に記載の従来の手法では、撮像画像G1及びG2といった複数の撮像画像の画像データのみを用いて3次元モデルを生成するため、画像の影になっている部分等の補完が困難であった。また、非特許文献1等に記載の手法であっても、より高精細な3次元モデルを生成する際には、ある程度の計算時間及び大量の計算資源のいずれかが必要であった。
詳しくは後述するが、本サービスでは、上述したように複数の視点PのカメラCにより取得された撮像画像Gの画像データと、ライダDにより取得された深度データを用いて、対象物Tの3次元モデルを生成する。これにより、本サービスでは3次元モデルの生成をより高速に実行することができる。
図1を見ると、視点P1から撮像画像G1の所定画素PX1を通過する矢印が二点鎖線で図示されている。そして、この二点鎖線で示される矢印上の点には、白抜きの丸と黒塗りの丸とが図示されている。
白抜きの丸で示された矢印上の点は、その点が視点P1から見たときに対象物Tに接する前であることを示している。
黒塗りの丸で示された矢印上の点は、その点が視点P1から見たときに対象物Tに接した後であることを示している。
黒塗りの丸で示された矢印上の点は、その点が視点P1から見たときに対象物Tに接した後であることを示している。
即ち、例えば、視点P1から二点鎖線で示された矢印にそって進行するものとして考えると、視点P1から白抜きの丸で示された矢印上の点を通過する間は、対象物Tが存在しないため何にも衝突しない。そして、白抜きの丸で示された矢印上の点と、黒塗りの丸で示された矢印上の点の間において、対象物Tと衝突する。この対象物Tと衝突した点の色が、撮像画像G1の所定の画素PX1の色として記録されるのである。さらに言えば、対象物Tが不透明であれば、最初の黒塗りの丸の点以降の点は、撮像画像G1に撮像されない。
このように、視点P1から所定画素PX1を通過する矢印(直線)上において、矢印が対象物Tに衝突した位置の点が対象物Tの色に対応付けられる。
このように、視点P1から所定画素PX1を通過する矢印(直線)上において、矢印が対象物Tに衝突した位置の点が対象物Tの色に対応付けられる。
上述したように、本サービスでは、視点P1からの深度データを同時に測定する。これにより、深度データから、上述の白抜きの丸の点と黒塗りの丸の点との間の距離が、深度データとして取得される。本サービスでは、3次元モデルの生成において考慮する領域を限定することにより、3次元モデルの生成の速度を向上させるのである。
以上、図1及び図2を用いて、本サービスの概要について説明した。以下、図3乃至図5を用いて、本サービスが適用されるモデル生成装置について説明する。
図3は、図1を用いて説明した本サービスに適用されるモデル生成装置、即ち本発明の情報処理装置の一実施形態のモデル生成装置のハードウェア構成の一例を示すブロック図である。
モデル生成装置1は、CPU11と、GPU12と、ROM13と、RAM14と、バス15と、入出力インターフェース16と、入力部17と、出力部18と、記憶部19と、通信部20と、ドライブ21と、を備えている。
モデル生成装置1は、CPU11と、GPU12と、ROM13と、RAM14と、バス15と、入出力インターフェース16と、入力部17と、出力部18と、記憶部19と、通信部20と、ドライブ21と、を備えている。
CPU11及びGPU12は、ROM13に記録されているプログラム、又は、記憶部19からRAM14にロードされたプログラムに従って各種の処理を実行する。
GPU12は、ソフトウェア処理を実行するコンピュートユニットと、ハードウェア処理を実行するRTコアを有する。RTコアは、対象物を含む所定の3次元空間に対してレイトレーシングをハードウェアにて実行する。
RAM14には、CPU11及びGPU12が各種の処理を実行する上において必要なデータ等も適宜記憶される。
GPU12は、ソフトウェア処理を実行するコンピュートユニットと、ハードウェア処理を実行するRTコアを有する。RTコアは、対象物を含む所定の3次元空間に対してレイトレーシングをハードウェアにて実行する。
RAM14には、CPU11及びGPU12が各種の処理を実行する上において必要なデータ等も適宜記憶される。
CPU11、GPU12、ROM13及びRAM14は、バス15を介して相互に接続されている。このバス15にはまた、入出力インターフェース16も接続されている。入出力インターフェース16には、入力部17、出力部18、記憶部19、通信部20及びドライブ21が接続されている。
入力部17は、キーボードやマウス等で構成され、各種情報を入力する。
出力部18は、ディスプレイやスピーカ等で構成され、各種情報を画像や音声として出力する。
出力部18は、ディスプレイやスピーカ等で構成され、各種情報を画像や音声として出力する。
記憶部19は、ハードディスクやDRAM(Dynamic Random Access Memory)等で構成され、各種データを記憶する。
通信部20は、インターネットを含むネットワークを介して他の装置との間で通信を行う。
通信部20は、インターネットを含むネットワークを介して他の装置との間で通信を行う。
ドライブ21には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア31が適宜装着される。ドライブ21によってリムーバブルメディア31から読み出されたプログラムは、必要に応じて記憶部19にインストールされる。
また、リムーバブルメディア31は、記憶部19に記憶されている各種データも、記憶部19と同様に記憶することができる。
また、リムーバブルメディア31は、記憶部19に記憶されている各種データも、記憶部19と同様に記憶することができる。
次に、図4を参照して、図3に示すハードウェア構成を有するモデル生成装置1の機能的構成について説明する。
図4は、図3のモデル生成装置の機能的構成の一例を示す機能ブロック図である。
図4は、図3のモデル生成装置の機能的構成の一例を示す機能ブロック図である。
図4に示すように、モデル生成装置1のCPU11は、深度データ取得部50、実深度データ取得部51と、深度データ推定部52と、表面ラベリング部53と、画像データ取得部54と、3次元モデル生成部55と、表示制御部56とが機能する。
記憶部19の一領域には、深度モデル80と、ラベリングデータ81と、3次元モデル82とが記憶される。
記憶部19の一領域には、深度モデル80と、ラベリングデータ81と、3次元モデル82とが記憶される。
深度データ取得部50は、Nの所定視点から対象物Tまでの深度データを取得する。深度データには、所定視点から対象物Tの特徴点までの深度の情報が含まれる。
以下、図4を用いて、深度データ取得部50の機能的構成の一例を説明する。
深度データ取得部50は、実深度データ取得部51及び深度データ推定部52を有する。
実深度データ取得部51は、実世界においてMの視点の夫々から測定された結果得られるMの実深度データを取得する。即ち、実深度データ取得部51は、実世界においてMの視点の夫々からライダDを用いて測定された結果得られるMの実深度データを取得する。
深度データ推定部52は、実深度データ取得部51により取得されたMの実深度データに基づいてNの深度データを推定し、推定したNの深度データを取得する。
具体的には例えば、深度データ推定部52は、ニューラルネットワークを用いたアルゴリズムで実深度データ取得部51により取得されたMの実深度データに基づいて学習処理を行うことにより、対象物Tの3次元の深度モデル80を生成又は更新する。
対象物Tの3次元の深度モデル80とは、所定の視点からの深度データを推論可能なモデルである。深度モデル80は、記憶部19の一領域に記憶されて管理される。
深度データ取得部50は、実深度データ取得部51及び深度データ推定部52を有する。
実深度データ取得部51は、実世界においてMの視点の夫々から測定された結果得られるMの実深度データを取得する。即ち、実深度データ取得部51は、実世界においてMの視点の夫々からライダDを用いて測定された結果得られるMの実深度データを取得する。
深度データ推定部52は、実深度データ取得部51により取得されたMの実深度データに基づいてNの深度データを推定し、推定したNの深度データを取得する。
具体的には例えば、深度データ推定部52は、ニューラルネットワークを用いたアルゴリズムで実深度データ取得部51により取得されたMの実深度データに基づいて学習処理を行うことにより、対象物Tの3次元の深度モデル80を生成又は更新する。
対象物Tの3次元の深度モデル80とは、所定の視点からの深度データを推論可能なモデルである。深度モデル80は、記憶部19の一領域に記憶されて管理される。
表面ラベリング部53は、深度データ取得部50により取得されたNの深度データに基づいて、対象物Tの表面をラベリングした結果を示すラベリングデータ81を生成する。
ラベリングとは、3次元空間上に有する対象物Tの表面の位置を、3次元モデルを生成する3次元の仮想空間上の位置に記録することをいう。
ラベリングデータ81は、記憶部19の一領域に記憶されて管理される。
ラベリングとは、3次元空間上に有する対象物Tの表面の位置を、3次元モデルを生成する3次元の仮想空間上の位置に記録することをいう。
ラベリングデータ81は、記憶部19の一領域に記憶されて管理される。
画像データ取得部54は、Nの視点のうちM(MはN以下の整数値)の視点の夫々と同期された視点Pから対象物Tが撮像された結果得られるMの撮像画像Gの画像データを取得する。
3次元モデル生成部55は、画像データ取得部54により取得されたMの画像データ及びラベリングデータ81に基づいて、対象物Tについての3次元モデル82を生成する。3次元モデル82は、記憶部19の一領域に記憶されて管理される。
3次元モデル生成部55は、ブロックスキップ判定部551と、色学習部552とを有している。
3次元モデル生成部55は、ブロックスキップ判定部551と、色学習部552とを有している。
ブロックスキップ判定部551は、3次元モデルの生成のための学習データ生成するにあたり、ラベリングデータ81に基づいて、視点Pから撮像画像Gの所定画素に対応する視線(図1の二点鎖線で示された矢印)が通過するブロックについて、対象物Tの表面が存在するか否かを判定する。
ブロックスキップ判定部551によりそのブロックに対象物Tの表面が存在しないと判断された場合、そのブロックは、撮像画像Gのその所定画素の色に寄与していないものする。
逆に、ブロックスキップ判定部551によりそのブロックに対象物Tの表面が存在すると判断された場合、そのブロックは、撮像画像Gのその所定画素の色に寄与している可能性があるものとする。
そして、ブロックスキップ判定部551の判定により、その所定画素の色に寄与していると判断されたブロックについての学習用データが生成される。
なお、ブロックスキップ判定部551がスキップするブロックの例については、図5を用いて後述する。
ブロックスキップ判定部551によりそのブロックに対象物Tの表面が存在しないと判断された場合、そのブロックは、撮像画像Gのその所定画素の色に寄与していないものする。
逆に、ブロックスキップ判定部551によりそのブロックに対象物Tの表面が存在すると判断された場合、そのブロックは、撮像画像Gのその所定画素の色に寄与している可能性があるものとする。
そして、ブロックスキップ判定部551の判定により、その所定画素の色に寄与していると判断されたブロックについての学習用データが生成される。
なお、ブロックスキップ判定部551がスキップするブロックの例については、図5を用いて後述する。
色学習部552は、ブロックスキップ判定部551の判定結果に基づいて生成された学習データを用いて、3次元モデル82に色を付与する学習を実行することで、3次元モデル82を生成また更新する。
具体的には、色学習部552において用いられる学習データは、上述したように、撮像画像Gの所定画素の色に寄与しないブロックについて、学習処理が(実質的に)実行されないデータとなっている。これにより、色学習部552における学習処理の時間が短縮される。
具体的には、色学習部552において用いられる学習データは、上述したように、撮像画像Gの所定画素の色に寄与しないブロックについて、学習処理が(実質的に)実行されないデータとなっている。これにより、色学習部552における学習処理の時間が短縮される。
このように、3次元モデリングにおいて、深度データを使用することで、対象物Tの存在しない空間(ブロック単位の空間)における学習を省略し、高速なモデリングが実現されるのである。
また、モデリングにおいてブロックと比較して高精細な格子(ボクセル)を生成する際に、物体の表面がラベリングされた、即ち対象物Tが存在する空間(ブロック単位の空間)のボクセルを密にする。これにより、高精度なモデリングを実現するとともに、高速なモデリングを実現することができる。
また、モデリングにおいてブロックと比較して高精細な格子(ボクセル)を生成する際に、物体の表面がラベリングされた、即ち対象物Tが存在する空間(ブロック単位の空間)のボクセルを密にする。これにより、高精度なモデリングを実現するとともに、高速なモデリングを実現することができる。
表示制御部56は、深度モデル80に基づいて、対象物Tの近傍を対象として描画処理を実行させることで、対象物Tについての3次元モデル82をユーザ端末2に表示する制御を実行する。
これにより、3次元モデル82の描画において、3次元モデル82を各方向から閲覧する際に3次元モデル82の色に影響しない領域の描画を省略することにより、画像の生成や表示が高速になる。
これにより、3次元モデル82の描画において、3次元モデル82を各方向から閲覧する際に3次元モデル82の色に影響しない領域の描画を省略することにより、画像の生成や表示が高速になる。
また、表示制御部56は、対象物Tについての3次元モデル82において生成されたネットワーク表現のまま描画された画像を表示する制御を実行することができる。
ここで、ネットワーク表現の対象物Tについての3次元モデル82とは、ニューラルネットワークにより作成される関数の表現形態をいう。ニューラルネットワークにより作成される関数の表現形態は、例えば、陰関数表現とも呼ばれる。3次元モデル82は、ボクセルやメッシュ、ポリゴンなどを使用する形式に変換するとデータサイズが巨大になる。しかしながら、陰関数表現の表現形態の3次元モデル82は、データサイズが小さい。このため、ネットワーク表現(陰関数表現)を採用することは、3次元モデル82のデータの授受の際(例えば、インターネット経由のダウンロードの際)に、転送速度が高速となるといったメリットが存在する。
即ち、表示制御部56は、対象物Tの3次元モデル82をレンダリングしなおすことなく、ネットワーク表現のまま表示する制御を実行することができる。
ここで、ネットワーク表現の対象物Tについての3次元モデル82とは、ニューラルネットワークにより作成される関数の表現形態をいう。ニューラルネットワークにより作成される関数の表現形態は、例えば、陰関数表現とも呼ばれる。3次元モデル82は、ボクセルやメッシュ、ポリゴンなどを使用する形式に変換するとデータサイズが巨大になる。しかしながら、陰関数表現の表現形態の3次元モデル82は、データサイズが小さい。このため、ネットワーク表現(陰関数表現)を採用することは、3次元モデル82のデータの授受の際(例えば、インターネット経由のダウンロードの際)に、転送速度が高速となるといったメリットが存在する。
即ち、表示制御部56は、対象物Tの3次元モデル82をレンダリングしなおすことなく、ネットワーク表現のまま表示する制御を実行することができる。
以上、図3乃至図5を用いて本サービスが適用されるモデル生成装置について説明した。
次に、本サービスにおける3次元モデル生成の高速化のための処理についてより具体的に説明する。
図5は、図4の機能的構成を有するモデル生成装置における、3次元モデル生成のためのブロックの一例を示す図である。
次に、本サービスにおける3次元モデル生成の高速化のための処理についてより具体的に説明する。
図5は、図4の機能的構成を有するモデル生成装置における、3次元モデル生成のためのブロックの一例を示す図である。
まず、図5を用いて、ブロックとボクセルの概念について説明する。
図5に示す荒い格子は、図1の対象物Tが配置された仮想的な3次元空間を格子状に区分したブロックの境界を示している。また、図5に示す細かい格子は、ブロックと比較してより細かい格子で区分した境界を示している。
図5に示す荒い格子は、図1の対象物Tが配置された仮想的な3次元空間を格子状に区分したブロックの境界を示している。また、図5に示す細かい格子は、ブロックと比較してより細かい格子で区分した境界を示している。
図5に示すスライスSLkが、ある軸Zの座標におけるブロックBLやボクセルVCの配列である。換言すれば、スライスSLkを所定の第1単位で区分された結果得られる各領域がボクセルVCである。
例えば、このボクセルVCが最終的に生成される3次元モデル82の解像度に対応づいたものであるとすると、ボクセルVCを単位として3次元モデルの生成処理を実行すると処理は非効率となる。
そこで、スライスSLkが、第1単位より大きい第2単位で区分された結果得られる各領域、換言すると、n個のボクセル群で構成される領域が、ブロックBL1乃至BL7及びBLKとして導入される。図5の例において、nは、軸Xの方向に4つ、軸Yの方向に4つ、軸Zの方向に1つの総計8である。なお、以下、軸Zの方向は1つという点で、x×yとして、表記する。即ち、n=4×4のボクセルVCから1つのブロックBL1乃至BL7が夫々構成されている。
以下、複数のボクセルを個々に区別する必要が無い場合、「ボクセルVC」と呼ぶ。同様に、個々のブロックBL1乃至BL7等を個々に区別する必要が無い場合、「ブロックBL」と呼ぶ。
例えば、このボクセルVCが最終的に生成される3次元モデル82の解像度に対応づいたものであるとすると、ボクセルVCを単位として3次元モデルの生成処理を実行すると処理は非効率となる。
そこで、スライスSLkが、第1単位より大きい第2単位で区分された結果得られる各領域、換言すると、n個のボクセル群で構成される領域が、ブロックBL1乃至BL7及びBLKとして導入される。図5の例において、nは、軸Xの方向に4つ、軸Yの方向に4つ、軸Zの方向に1つの総計8である。なお、以下、軸Zの方向は1つという点で、x×yとして、表記する。即ち、n=4×4のボクセルVCから1つのブロックBL1乃至BL7が夫々構成されている。
以下、複数のボクセルを個々に区別する必要が無い場合、「ボクセルVC」と呼ぶ。同様に、個々のブロックBL1乃至BL7等を個々に区別する必要が無い場合、「ブロックBL」と呼ぶ。
図5に示す太線で示されたブロックBLの領域は、対象物Tの2つの部分T1及び部分T2の夫々のオブジェクトを含み得る領域である。
即ち、スライスSLkにおいて、対象物Tの表面を含み得るブロックBLと、空の空間のブロックBLKとが区別される。前者のブロックBLは撮像画像Gの所定画素の画素値(色)に反映される一方、後者のブロックBLKは反映されない。そこで、以下、前者のブロックBLを「処理ブロックBL」と呼び、後者のブロックBLKを「非処理ブロックBLK」と呼ぶ。
即ち、スライスSLkにおいて、対象物Tの表面を含み得るブロックBLと、空の空間のブロックBLKとが区別される。前者のブロックBLは撮像画像Gの所定画素の画素値(色)に反映される一方、後者のブロックBLKは反映されない。そこで、以下、前者のブロックBLを「処理ブロックBL」と呼び、後者のブロックBLKを「非処理ブロックBLK」と呼ぶ。
図5においては、本発明の理解を容易なものとすべく、「処理ブロックBL」が太線で図示され、「非処理ブロックBLK」が破線で図示されている。なお、図3乃至図5においては、「処理ブロックBL」のみが図示されている。
具体的には例えば、図2の例では、スライスSLkには、対象物Tの2つの部分T1及び部分T2の夫々を含み得る領域が存在する。対象物Tの部分T1を含み得る領域として、4つの処理ブロックBL1乃至BL4が図示されている。また、対象物Tの部分T2を含み得る領域として、3つの処理ブロックBL5乃至BL7が図示されている。
具体的には例えば、図2の例では、スライスSLkには、対象物Tの2つの部分T1及び部分T2の夫々を含み得る領域が存在する。対象物Tの部分T1を含み得る領域として、4つの処理ブロックBL1乃至BL4が図示されている。また、対象物Tの部分T2を含み得る領域として、3つの処理ブロックBL5乃至BL7が図示されている。
図4の説明の表面ラベリング部53は、このように、対象物Tの部分T1及び部分T2の表面を含みえるブロックBLを判定することで、ラベリングする。太い枠で囲まれたブロックは、対象物Tの表面が存在するとラベリングされたブロックである旨を示している。
そして、3次元モデル生成部55は、処理ブロックBLについての色情報を学習(モデリング)し、非処理ブロックBLKについての色情報については学習処理が実行されないように、学習用(モデリング)データとして生成して、3次元モデル82の生成また更新を実行する。これにより、3次元モデル82の生成又は更新の処理が高速化されるのである。
即ち例えば、対象物Tの部分T1の軸Y正方向から撮像された撮像画像G(例えば、図1の撮像画像G2)において、非処理ブロックBLK1乃至BLK3の学習は行われない学習用データが生成されるのである。
即ち例えば、対象物Tの部分T1の軸Y正方向から撮像された撮像画像G(例えば、図1の撮像画像G2)において、非処理ブロックBLK1乃至BLK3の学習は行われない学習用データが生成されるのである。
続いて、本発明に係る情報処理装置に係る第2実施形態のモデル生成装置を説明する。
上記第1実施形態では、写真データ(カラー画像)と深度データから3次元モデルを生成する例を説明し、この他、ニューラルネットワークにより陰関数表現の3次元モデルを生成してもよい旨を記載したが、この第2実施形態では、より詳細に、第1実施形態のように写真データ、つまり色付きの画像データが取得できない場合に深度データから3次元モデルを生成する例を説明する。
具体的には、第2実施形態は、異なる方向から対象物Tとの距離を計測した2以上の深度データのマップをニューラルネットワークに覚え込ませておき、深度を計測していない方向から対象物Tの面までの距離を推定して、異なる方向からの距離のマップを生成することで3次元的な白黒物体を再現できるようにしたものである。
即ち第2実施形態のは、LiDAR等の深度センサにより対象物Tの深度情報を点群として取得し、その点群のデータをニューラルネットワークの機械学習手法で補間し、陰関数で表現される形態の3次元モデルを生成する。
これにより、第1実施形態のようなボクセルの形態の3次元モデルに比べて計算コストやデータサイズを削減することができる。
上記第1実施形態では、写真データ(カラー画像)と深度データから3次元モデルを生成する例を説明し、この他、ニューラルネットワークにより陰関数表現の3次元モデルを生成してもよい旨を記載したが、この第2実施形態では、より詳細に、第1実施形態のように写真データ、つまり色付きの画像データが取得できない場合に深度データから3次元モデルを生成する例を説明する。
具体的には、第2実施形態は、異なる方向から対象物Tとの距離を計測した2以上の深度データのマップをニューラルネットワークに覚え込ませておき、深度を計測していない方向から対象物Tの面までの距離を推定して、異なる方向からの距離のマップを生成することで3次元的な白黒物体を再現できるようにしたものである。
即ち第2実施形態のは、LiDAR等の深度センサにより対象物Tの深度情報を点群として取得し、その点群のデータをニューラルネットワークの機械学習手法で補間し、陰関数で表現される形態の3次元モデルを生成する。
これにより、第1実施形態のようなボクセルの形態の3次元モデルに比べて計算コストやデータサイズを削減することができる。
次に、図6、図7を参照して第2実施形態のモデル生成装置を具体的に説明する。
図6は、図3に示したハードウェア構成を有するモデル生成装置の機能的構成の第2実施形態を示す機能ブロック図である。
図7は、図6の機能的構成を有する第2実施形態のモデル生成装置の処理動作を示す概略図である。
図6は、図3に示したハードウェア構成を有するモデル生成装置の機能的構成の第2実施形態を示す機能ブロック図である。
図7は、図6の機能的構成を有する第2実施形態のモデル生成装置の処理動作を示す概略図である。
第2実施形態のモデル生成装置1が対象物Tの3次元モデルを生成する処理を実行する際に、図6に示すように、CPU11において、深度データ取得部50と、陰関数生成部60と、3次元モデル生成部61と、が機能する。
深度データ取得部50は、例えば図7の視点P1、P2(所定視点)から対象物Tの特徴点までの深度を示す深度データ(具体的にはライダD1、D2により測定された深度データ)について、N(Nは2以上の整数値)の視点毎に取得する。
陰関数生成部60は、所定の機械学習として例えば陰関数モデル83(ニューラルネットワーク)を用いた学習を実行する。
学習の際、陰関数生成部60は、異なる方向からの教師データとして深度データを陰関数モデル83に入力することで、機械学習を実行させて、陰関数モデル83から出力する陰関数の精度が高められる。
具体的には、入力される深度データの位置に物体があるか否かを表す関数を学習することで3次元的にその物体の形状の表面がどれぐらいの距離にあるかという距離関数を推定する。
学習の際、陰関数生成部60は、異なる方向からの教師データとして深度データを陰関数モデル83に入力することで、機械学習を実行させて、陰関数モデル83から出力する陰関数の精度が高められる。
具体的には、入力される深度データの位置に物体があるか否かを表す関数を学習することで3次元的にその物体の形状の表面がどれぐらいの距離にあるかという距離関数を推定する。
実際に3次元モデルを生成するときには、深度データ取得部5により取得される深度データを入力として陰関数モデル83に与えて陰関数モデル83から出力される陰関数を生成し3次元モデル生成部61へ出力する。
3次元モデル生成部61は、陰関数生成部60により生成(出力)される陰関数に基にづいて対象物Tの3次元モデル82をモデリング(生成)し、陰関数表現の形式で記憶部19に記憶する。
この第2実施形態では、表示制御部56は、対象物Tの3次元モデル82をレンダリングし直すことなく、ネットワーク表現(陰関数表現)のまま対象物Tの3次元形状を表示する制御を実行する。
この第2実施形態では、3次元モデル82は、陰関数表現形式で記憶される。
このモデル生成装置1の場合、複数の視点から対象物を観測した際に、それぞれの視点から物体表面までの距離が観測される。例えば視点P1から観測された場合、物体上の点が観測位置からどの程度離れているかが観測される。この観測値は一例としてグレースケールの画像で表され、物体がないところは黒色で、物体までの距離が近いところが白色で表される。
このモデル生成装置1の場合、複数の視点から対象物を観測した際に、それぞれの視点から物体表面までの距離が観測される。例えば視点P1から観測された場合、物体上の点が観測位置からどの程度離れているかが観測される。この観測値は一例としてグレースケールの画像で表され、物体がないところは黒色で、物体までの距離が近いところが白色で表される。
モデル生成装置1は、観測値が得られていない視点から物体までの距離を推測することを可能とする。
図7で示す視点のうち、視点P1と視点P2からの観測値が得られていると仮定する。このとき、対象物T上のある点に対して、視点P1と視点P2からの距離が得られる。しかし他の視点からの距離は観測されておらず、同様にそのほかの視点からの距離も観測できていないため、2方向からの観測値だけからは対象物Tの3次元モデル生成は困難である。
図7で示す視点のうち、視点P1と視点P2からの観測値が得られていると仮定する。このとき、対象物T上のある点に対して、視点P1と視点P2からの距離が得られる。しかし他の視点からの距離は観測されておらず、同様にそのほかの視点からの距離も観測できていないため、2方向からの観測値だけからは対象物Tの3次元モデル生成は困難である。
そこで、視点P1、P2以外からの距離の推定が必要である。既存のフォトグラメトリ等の手法では視点P1と視点P2のデータから他の視点のデータを関数により補完し、他の視点における物体表面までの距離を推定する。
実際に対象物Tの3次元モデルを生成する場合には、より多くの視点からの観測値を使用して、観測されていない視点からの対象物表面までの距離を推定する。しかし、視点の位置座標及び対象物Tに対する角度を変数とした場合の、対象物T表面までの距離の関数は非線形な関数であり推定が困難である。
実際に対象物Tの3次元モデルを生成する場合には、より多くの視点からの観測値を使用して、観測されていない視点からの対象物表面までの距離を推定する。しかし、視点の位置座標及び対象物Tに対する角度を変数とした場合の、対象物T表面までの距離の関数は非線形な関数であり推定が困難である。
そこで、この第2実施形態のモデル生成装置1では、観測されていない視点から対象物T表面までの距離を、陰関数モデル83等(ニューラルネットワーク)の機械学習手法を使用して推定する。ニューラルネットワークによる推定は非線形な関数を内挿により推定することに適した手法であり、既存の補完手法よりも精度よく推定が可能である。
図7は、図6の機能的構成を有する第2実施形態のモデル生成装置の深度計測モデルの概略図である。
第2実施形態のモデル生成装置1の場合、LiDAR等の深度計Dにより観測された2以上の方向からの深度データを深度データ取得部50が取得し、当該深度データの夫々を陰関数生成部60に出力する。
陰関数生成部60は、深度データ取得部50から出力された2以上の方向からの深度データを、陰関数モデル83に入力として与えて、陰関数モデル83に、物体の表面までの距離を推定させて、その距離に応じた陰関数を出力させる。陰関数生成部60は、陰関数モデル83から出力された陰関数を受け取り、3次元モデル生成部61へ出力する。
3次元モデル生成部61は、陰関数を受けて陰関数表現の形式によるボリュームデータの3次元モデル82を生成し記憶部19に記憶する。
また、3次元モデル生成部61は、ユーザ端末2から要求に応じて、3次元モデル82を記憶部19から読み出してボリュームレンダリング等のレンダリング手法により表示制御部56を介してユーザ端末2に出力する。これにより、ユーザ端末2のディスプレイ等に3次元の物体が白黒の状態で再現される。
陰関数生成部60は、深度データ取得部50から出力された2以上の方向からの深度データを、陰関数モデル83に入力として与えて、陰関数モデル83に、物体の表面までの距離を推定させて、その距離に応じた陰関数を出力させる。陰関数生成部60は、陰関数モデル83から出力された陰関数を受け取り、3次元モデル生成部61へ出力する。
3次元モデル生成部61は、陰関数を受けて陰関数表現の形式によるボリュームデータの3次元モデル82を生成し記憶部19に記憶する。
また、3次元モデル生成部61は、ユーザ端末2から要求に応じて、3次元モデル82を記憶部19から読み出してボリュームレンダリング等のレンダリング手法により表示制御部56を介してユーザ端末2に出力する。これにより、ユーザ端末2のディスプレイ等に3次元の物体が白黒の状態で再現される。
陰関数モデル83による観測値の内挿には複数の方法が想定されるが、一例としては以下の方法で実施される。LiDAR等の観測装置の座標をx=(x,y,z)、また観測面の物体に対する角度をd=(θ,φ)とすると、対象物上のある1点までの直線はr(t)=o+tdとして表される。ここで符号oは座標原点である。加えて物体の密度をσ(x)とすると、対象物T表面までの距離の関数S(r)は、次の式(1)で表される。
上記式(1)において、T(t)は、tという変数の関数である。T(t)は、特定の視点から見た際の対象物の奥側の影響を削除するための関数である。T(t)の積分により、ある視点から対象物を観測した場合に、物体表面に値を持ちそれ以外の空間上の点では相対的に小さな値となる関数が生成される。
このT(t)は、距離関数S(r)から決定される。距離関数S(r)は、ある面から見たときに物体がどこに存在するか表す関数である。
この2つが分かれば、その位置(x、y、z)とθとφというのを決めると物体を定義することができる。
T(t)を含む距離の関数S(r)を陰関数モデル83(ニューラルネットワーク)により生成することで、対象物Tの3次元モデル82が生成可能である。
このT(t)は、距離関数S(r)から決定される。距離関数S(r)は、ある面から見たときに物体がどこに存在するか表す関数である。
この2つが分かれば、その位置(x、y、z)とθとφというのを決めると物体を定義することができる。
T(t)を含む距離の関数S(r)を陰関数モデル83(ニューラルネットワーク)により生成することで、対象物Tの3次元モデル82が生成可能である。
図7に示すように、例えば視点P1の位置のライダD1を観測装置とし、その位置の座標をx、y、zとすると、そのx、y、zが中心位置に割り当てられる。中心位置(x、y、z)から対象物Tに向いている直線の方向を角度θと角度φで定義される角度Dとすると、対象物T上のある1点までの直線というのは式r(t)で表される。
式r(t)は、簡単な直線の方程式であり、ここから物体の黒い点までの距離が原点oとtdという形で表される。
この式r(t)では、原点oを座標原点として、角度Dの方向に向かって何倍かするとその点までたどり着く、という物体上の点の位置を表す変数Rというのが定義できる。
式r(t)は、簡単な直線の方程式であり、ここから物体の黒い点までの距離が原点oとtdという形で表される。
この式r(t)では、原点oを座標原点として、角度Dの方向に向かって何倍かするとその点までたどり着く、という物体上の点の位置を表す変数Rというのが定義できる。
今回、物体の密度としているが、これは物体の表面を推定するために密度が高いところは物体が存在するという定義をσ(x)として定義し、対象物Tの表面までの距離は、例えば積分の方程式である距離関数S(r)で定義することができる。
距離関数S(r)を関数T(t)の中の積分値とする。
関数T(t)は、3次元空間の中に物体がどういう形状で配置されてるかを表しており、特定の視点から見た際の対象物体の奥側の影響を削除するための関数である。
関数T(t)という積分をすると、距離関数が3次元的に存在していて、そのある側面から見た際にその物体がどこにあるかを表すために、この関数T(t)が必要になる。このような関数を使用することで、ある視点から対象物Tを観測する際に物体表面にだけ値があって、それ以外の空間上では小さな値となる。
つまり物体があるか否かを表す関数になるので、この関数を学習するニューラルネットワークを生成すると3次元的にその物体の形状の表面がどれぐらいの距離にあるかという距離関数を推定することができる。
距離関数S(r)を関数T(t)の中の積分値とする。
関数T(t)は、3次元空間の中に物体がどういう形状で配置されてるかを表しており、特定の視点から見た際の対象物体の奥側の影響を削除するための関数である。
関数T(t)という積分をすると、距離関数が3次元的に存在していて、そのある側面から見た際にその物体がどこにあるかを表すために、この関数T(t)が必要になる。このような関数を使用することで、ある視点から対象物Tを観測する際に物体表面にだけ値があって、それ以外の空間上では小さな値となる。
つまり物体があるか否かを表す関数になるので、この関数を学習するニューラルネットワークを生成すると3次元的にその物体の形状の表面がどれぐらいの距離にあるかという距離関数を推定することができる。
一般的に、LiDARデータを用いた観測により生成されるデータは、点群データとして対象物Tの表面上のデータのみを保存するが、この第2実施形態では、3次元モデル82は、関数表現の形式によるボリュームデータとして記憶部19に保存される。
ボリュームデータは、点群とは異なる特徴を持ち、軽量なデータ容量及び衝突解析等のシミュレーションへの適用において利点を持つ。
ボリュームデータは、点群とは異なる特徴を持ち、軽量なデータ容量及び衝突解析等のシミュレーションへの適用において利点を持つ。
また、ボリュームデータとして観測値が保存されることにより、最終的な出力においてボリュームレンダリングの手法を適用することも可能である。なお、出力の方法についても、観測したデータの適用先により様々な出力手法が想定される。
このようにこの第2実施形態のモデル生成装置1によれば、第1実施形態のようにボクセルやメッシュ、ポリゴン等を使用する形式に変換した3次元モデルを生成するとデータサイズが巨大になるが、陰関数で表現される形態の3次元モデル82は、データサイズを少なくすることができる。このため、ニューラルネットワーク表現(陰関数表現)を採用することは、3次元モデル82のデータの授受の際(例えば、インターネット経由で3次元モデル82をダウンロードする際)に、3次元モデル82のデータを高速にダウンロードすることができる。
この結果、対象物Tまでの深度を計測した深度データを用いて対象物Tの3次元モデルを生成する際の精度の向上や計算コストの削減といった、より利便性の高い生成手法を実現することができる。
この結果、対象物Tまでの深度を計測した深度データを用いて対象物Tの3次元モデルを生成する際の精度の向上や計算コストの削減といった、より利便性の高い生成手法を実現することができる。
以上、本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものとみなす。
例えば、上述の実施形態では、深度データを取得する視点Pの数Nと、画像データを取得する視点Pの数Mとは、同一であるものとして説明したが特にこれに限定されない。即ち、深度データを取得する視点Pの数Nと、画像データを取得する視点Pの数Mとは、異なっていてもよい。
この場合、例えば、まず、Nの深度データから深度モデル80が生成され、深度モデル80を用いて、Nの視点Pとは異なるMの視点Pにおける深度データを深度モデル80から演算することで実現することができる。
この場合、例えば、まず、Nの深度データから深度モデル80が生成され、深度モデル80を用いて、Nの視点Pとは異なるMの視点Pにおける深度データを深度モデル80から演算することで実現することができる。
また、例えば、深度データはライダD等のセンサにより直接観測されたものであっても、その他のデータから推定されたものであってもよい。
即ち例えば、深度データ取得部50は、実深度データを取得したり、深度モデル80を生成又は更新の上、画像データに対応するMの視点Pにおける深度データとするのではなく、あらかじめ用意された深度モデル80から画像データに対応するMの視点Pにける深度データを取得してもよい。
即ち例えば、深度データ取得部50は、実深度データを取得したり、深度モデル80を生成又は更新の上、画像データに対応するMの視点Pにおける深度データとするのではなく、あらかじめ用意された深度モデル80から画像データに対応するMの視点Pにける深度データを取得してもよい。
また例えば、上述の実施形態において、カメラC1とライダD1とは所定の治具によりあらかじめ相互に固定されており、所定の治具によるカメラC1とライダD1との相対位置や測定の方向(視線)がキャリブレーションされることにより、同一の視点からの深度データと画像データが取得されるものとしたが、特にこれに限定されない。即ち、キャリブレーションの手法は各種各様なものを採用してもよい。具体的には例えば、カメラCにおいて撮影した視点Pの位置情報を、GPS(Global Positioning System)等の技術を用いて取得及び記録した後、その位置情報を用いて同じ視点からライダDで深度データを取得してもよい。なお、カメラCとライダDでのデータ取得の順番はいずれが先であってもよいのは言うまでもない。
また例えば、Structure from motionなどの画像データから深度を推定する手法を用いて、深度モデル80を生成してもよい。
また、図4に示す機能ブロック図は、例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能やデータベースが情報処理システムに備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは、特に図7の例に限定されない。
また、機能ブロック及びデータベースの存在場所も、図4に限定されず、任意でよい。
また、機能ブロック及びデータベースの存在場所も、図4に限定されず、任意でよい。
また、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。
また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。
また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
以上まとめると、本発明が適用される情報処理システムは、次のような構成を取れば足り、各種各様な実施形態を取ることができる。
即ち、本発明が適用される情報処理装置(例えば、図6のモデル生成装置1)は、
所定視点(例えば、図7の視点P1,P2)から対象物(例えば図7の対象物T)の特徴点までの深度を示す深度データ(例えば、図7のライダD1,D2により測定された深度データ)について、N(Nは2以上の整数値)の視点毎に取得する深度データ取得手段(例えば、図6の深度データ取得部50)と、
前記Nの深度データを用いた所定の機械学習(例えば陰関数モデル83等のニューラルネットワークによる学習)を実行することで、任意の視点からの前記対象物の表面の特徴点までの距離を推定する関数(例えば陰関数)を生成する距離関数生成手段(例えば図6の陰関数生成部60)と、
を備えれば足りる。
これにより、対象物(例えば図7の対象物T)の3次元モデルを生成する際の精度の向上、計算コストやデータサイズの削減といった、より利便性の高い生成手法を実現することができる。
即ち、本発明が適用される情報処理装置(例えば、図6のモデル生成装置1)は、
所定視点(例えば、図7の視点P1,P2)から対象物(例えば図7の対象物T)の特徴点までの深度を示す深度データ(例えば、図7のライダD1,D2により測定された深度データ)について、N(Nは2以上の整数値)の視点毎に取得する深度データ取得手段(例えば、図6の深度データ取得部50)と、
前記Nの深度データを用いた所定の機械学習(例えば陰関数モデル83等のニューラルネットワークによる学習)を実行することで、任意の視点からの前記対象物の表面の特徴点までの距離を推定する関数(例えば陰関数)を生成する距離関数生成手段(例えば図6の陰関数生成部60)と、
を備えれば足りる。
これにより、対象物(例えば図7の対象物T)の3次元モデルを生成する際の精度の向上、計算コストやデータサイズの削減といった、より利便性の高い生成手法を実現することができる。
前記距離関数生成手段(例えば図6の陰関数生成部60)は、前記所定の機械学習としてニューラルネットワーク(例えば図6の陰関数モデル83)を用いた学習を実行し、前記関数として、前記ニューラルネットワーク(例えば図6の陰関数モデル83)により生成される陰関数を生成する、ことができる。
1・・・モデル生成装置、2・・・ユーザ端末、11・・・CPU、19・・・記憶部、21・・・ドライブ、31・・・リムーバブルメディア、50・・・深度データ取得部、51・・・実深度データ取得部、52・・・深度データ推定部、53・・・表面ラベリング部、54・・・画像データ取得部、55・・・3次元モデル生成部、56・・・表示制御部、60・・・陰関数生成部、61・・・3次元モデル生成部、551・・・ブロックスキップ判定部、552・・・色学習部、80・・・深度モデル、81・・・ラベリングデータ、82・・・3次元モデル
Claims (5)
- 所定視点から対象物の特徴点までの深度を示す深度データについて、N(Nは2以上の整数値)の視点毎に取得する深度データ取得手段と、
前記Nの深度データを用いた所定の機械学習を実行することで、任意の視点からの前記対象物の表面の特徴点までの深度を推定する関数を生成する距離関数生成手段と、
を備える情報処理装置。 - 前記距離関数生成手段は、前記所定の機械学習としてニューラルネットワークを用いた学習を実行し、前記関数として、前記ニューラルネットワークにより生成される陰関数を生成する、
請求項1に記載の情報処理装置。 - 所定視点から対象物の特徴点までの深度を示す深度データについて、N(Nは2以上の整数値)の視点毎に取得する深度データ取得ステップと、
前記Nの深度データを用いた所定の機械学習を実行することで、任意の視点からの前記対象物の表面の特徴点までの距離を推定する関数を生成する距離関数生成ステップと、
を含む情報処理方法。 - コンピュータに、
所定視点から対象物の特徴点までの深度を示す深度データについて、N(Nは2以上の整数値)の視点毎に取得する深度データ取得ステップと、
前記Nの深度データを用いた所定の機械学習を実行することで、任意の視点からの前記対象物の表面の特徴点までの距離を推定する関数を生成する距離関数生成ステップと、
を含む制御処理を実行させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-192147 | 2022-11-30 | ||
JP2022192147 | 2022-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024117090A1 true WO2024117090A1 (ja) | 2024-06-06 |
Family
ID=91324057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/042413 WO2024117090A1 (ja) | 2022-11-30 | 2023-11-27 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024117090A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023171336A1 (ja) * | 2022-03-11 | 2023-09-14 | ソニーグループ株式会社 | 学習方法、情報処理装置、および記録媒体 |
-
2023
- 2023-11-27 WO PCT/JP2023/042413 patent/WO2024117090A1/ja unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023171336A1 (ja) * | 2022-03-11 | 2023-09-14 | ソニーグループ株式会社 | 学習方法、情報処理装置、および記録媒体 |
Non-Patent Citations (7)
Title |
---|
GUO HAOYU; PENG SIDA; LIN HAOTONG; WANG QIANQIAN; ZHANG GUOFENG; BAO HUJUN; ZHOU XIAOWEI: "Neural 3D Scene Reconstruction with the Manhattan-world Assumption", 2022 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), IEEE, 18 June 2022 (2022-06-18), pages 5501 - 5510, XP034193581, DOI: 10.1109/CVPR52688.2022.00543 * |
GUPTA KAMAL; JABBIREDDY SUSMIJA; SHAH KETUL; SHRIVASTAVA ABHINAV; ZWICKER MATTHIAS: "Improved Modeling of 3D Shapes with Multi-view Depth Maps", 2020 INTERNATIONAL CONFERENCE ON 3D VISION (3DV), IEEE, 25 November 2020 (2020-11-25), pages 71 - 80, XP033880222, DOI: 10.1109/3DV50981.2020.00017 * |
IKEHATA, SATOSHI: "The frontiers of 3D computer vision opened up by 3D implicit function representation - The road to NeRF and beyond -", THE JOURNAL OF INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. 105, no. 5, 1 May 2022 (2022-05-01), pages 375 - 380 * |
MILDENHALL BEN, SRINIVASAN PRATUL P., TANCIK MATTHEW, BARRON JONATHAN T., RAMAMOORTHI RAVI, NG REN: "NeRF : representing scenes as neural radiance fields for view synthesis", COMMUNICATIONS OF THE ACM, ASSOCIATION FOR COMPUTING MACHINERY, INC, UNITED STATES, vol. 65, no. 1, 1 January 2022 (2022-01-01), United States , pages 99 - 106, XP093137843, ISSN: 0001-0782 * |
PENG WANG; LINGJIE LIU; YUAN LIU; CHRISTIAN THEOBALT; TAKU KOMURA; WENPING WANG: "NeuS: Learning Neural Implicit Surfaces by Volume Rendering for Multi-view Reconstruction", ARXIV.ORG, 16 December 2021 (2021-12-16), XP091108375 * |
WEI YI; LIU SHAOHUI; RAO YONGMING; ZHAO WANG; LU JIWEN; ZHOU JIE: "NerfingMVS: Guided Optimization of Neural Radiance Fields for Indoor Multi-view Stereo", 2021 IEEE/CVF INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), IEEE, 10 October 2021 (2021-10-10), pages 5590 - 5599, XP034092563, DOI: 10.1109/ICCV48922.2021.00556 * |
YANG XINGRUI; LI HAI; ZHAI HONGJIA; MING YUHANG; LIU YUQIAN; ZHANG GUOFENG: "Vox-Fusion: Dense Tracking and Mapping with Voxel-based Neural Implicit Representation", 2022 IEEE INTERNATIONAL SYMPOSIUM ON MIXED AND AUGMENTED REALITY (ISMAR), IEEE, 17 October 2022 (2022-10-17), pages 499 - 507, XP034260469, DOI: 10.1109/ISMAR55827.2022.00066 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10944960B2 (en) | Free-viewpoint video generating method and free-viewpoint video generating system | |
JP7040278B2 (ja) | 顔認識のための画像処理装置の訓練方法及び訓練装置 | |
CN116452758B (zh) | 一种神经辐射场模型加速训练方法、装置、设备及介质 | |
CN103530907B (zh) | 基于图像的复杂三维模型绘制方法 | |
JP2011192214A (ja) | 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置 | |
WO2022198684A1 (en) | Methods and systems for training quantized neural radiance field | |
CN115731336B (zh) | 图像渲染方法、图像渲染模型生成方法及相关装置 | |
CN114332125A (zh) | 点云重建方法、装置、电子设备和存储介质 | |
CN110706332B (zh) | 一种基于噪声点云的场景重建方法 | |
CN115457492A (zh) | 目标检测方法、装置、计算机设备及存储介质 | |
CN115115805A (zh) | 三维重建模型的训练方法、装置、设备及存储介质 | |
CN117372604A (zh) | 一种3d人脸模型生成方法、装置、设备及可读存储介质 | |
WO2024117090A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN115239559A (zh) | 一种融合视图合成的深度图超分辨率方法及*** | |
CN112258635B (zh) | 基于改进双目匹配sad算法的三维重建方法及装置 | |
WO2024034449A1 (ja) | 情報処理装置、及び情報処理方法 | |
He et al. | Sparse depth map upsampling with rgb image and anisotropic diffusion tensor | |
CN114155406A (zh) | 一种基于区域级特征融合的位姿估计方法 | |
CN114049423A (zh) | 一种自动的真实感三维模型纹理映射方法 | |
US5821942A (en) | Ray tracing through an ordered array | |
CN113048899A (zh) | 基于线结构光的厚度测量方法和*** | |
CN111462199A (zh) | 基于gpu的快速散斑图像匹配方法 | |
Tao et al. | SiLVR: Scalable Lidar-Visual Reconstruction with Neural Radiance Fields for Robotic Inspection | |
CN117332840B (zh) | 神经辐射场的训练方法、获取目标场景图像的方法及装置 | |
KR102648938B1 (ko) | 기하학적 일관성을 이용한 소수 샷 신경 방사장 기반 3차원 이미지 재구성 방법 및 장치 |
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: 23897738 Country of ref document: EP Kind code of ref document: A1 |