WO2022264519A1 - 情報処理装置、情報処理方法及びコンピュータプログラム - Google Patents
情報処理装置、情報処理方法及びコンピュータプログラム Download PDFInfo
- Publication number
- WO2022264519A1 WO2022264519A1 PCT/JP2022/006697 JP2022006697W WO2022264519A1 WO 2022264519 A1 WO2022264519 A1 WO 2022264519A1 JP 2022006697 W JP2022006697 W JP 2022006697W WO 2022264519 A1 WO2022264519 A1 WO 2022264519A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- feature
- dimensional model
- vertex
- information processing
- unit
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 47
- 238000004590 computer program Methods 0.000 title claims description 5
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000001514 detection method Methods 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 21
- 238000012937 correction Methods 0.000 description 15
- 238000000034 method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 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
- 230000001151 other effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Definitions
- the present disclosure relates to an information processing device, an information processing method, and a computer program.
- AR augmented reality
- the virtual information character can stand on the ground or floor, and the virtual information ball can bounce off walls and other objects.
- Conflict expressions and hidden expressions such as returning are possible.
- the present disclosure has been made in view of the above-described problems, and aims to enable a 3D model to be superimposed on an object in an image with high accuracy.
- An information processing apparatus acquires a first feature value associated with the first vertex of a three-dimensional model having a plurality of first vertices, and based on the first feature value, in a target image captured by a camera: a position specifying unit that specifies a first position corresponding to the first vertex; and a position specifying unit that projects the three-dimensional model onto the target image and corrects the projected position of the first vertex to the first position, and a processing unit that deforms the three-dimensional model projected onto the target image.
- the information processing method of the present disclosure acquires a first feature value associated with the first vertex of a three-dimensional model having a plurality of first vertices, and based on the first feature value, in a target image captured by a camera identifying a first position corresponding to the first vertex, projecting the three-dimensional model onto the target image, and correcting the projected position of the first vertex to the first position; Deform the projected three-dimensional model.
- a computer program of the present disclosure acquires a first feature value associated with the first vertex of a three-dimensional model having a plurality of first vertices, and based on the first feature value, in a target image captured by a camera, the identifying a first position corresponding to a first vertex; and projecting the three-dimensional model onto the target image, and correcting the position where the first vertex is projected to the first position. and deforming the three-dimensional model projected onto the computer.
- FIG. 4 is a diagram showing an example of feature points detected from an image; A diagram of a dense 3D point cloud obtained from a sparse 3D point cloud. A diagram of vertices in a mesh model.
- FIG. 4 is a diagram showing an example of a feature quantity database relating to feature points of a 3D model;
- FIG. 4 is a diagram showing an example of a model database regarding vertices and meshes of a three-dimensional model;
- FIG. 4 is a diagram showing an example of matching between feature points in an image and feature points in a 3D model;
- FIG. 4 is a diagram showing an example of matching between feature points in an image and feature points in a 3D model;
- FIG. 4 is a diagram showing an example in which some of the feature points of the 3D model do not match the feature points on the image;
- FIG. 4 is a diagram for explaining processing for detecting corresponding points of feature points of a three-dimensional model;
- FIG. 10 is a diagram showing an example of correcting the projected positions of the feature points of the 3D model to the positions of the corresponding points;
- FIG. 5 is a diagram showing an example in which correction processing is not performed when projecting a 3D model onto an image;
- FIG. 5 is a diagram showing an example in which correction processing is not performed when projecting a 3D model onto an image;
- FIG. 5 is a diagram showing an example of performing correction processing when projecting a three-dimensional model onto an image;
- FIG. 5 is a diagram showing an example in which correction processing is not performed when projecting a 3D model onto an image;
- FIG. 5 is a diagram showing an example of performing correction processing when projecting a three-dimensional model onto an image;
- 4 is a flowchart of information processing system processing according to an embodiment of the present disclosure;
- FIG. 2 is a diagram showing an example of a hardware configuration of an information processing apparatus of the present disclosure;
- FIG. 1 is a block diagram of an information processing system 1000 according to an embodiment of the present disclosure.
- the information processing system 1000 includes a three-dimensional model creation device 100 , a database generation device 200 , a database 300 , an information processing device 400 and a camera 500 .
- the three-dimensional model creation device 100 includes a feature point detection unit 110, a point cloud restoration unit 120, and a model generation unit 130.
- the database generation device 200 includes a feature point detection unit 210, a feature amount calculation unit 220, and a database generation unit 230.
- the database 300 includes a feature database 310 (first database) and a model database 320 (second database).
- the model database 320 according to this embodiment includes two of a vertex table 330 and a mesh table 340 (see FIG. 7 described later).
- the information processing device 400 includes a feature point detection unit (feature amount calculation unit) 410 , a matching unit 420 , a posture estimation unit 430 , a processing unit 440 and a database update unit 450 .
- the three-dimensional model when projecting a pre-created three-dimensional model onto a projection target in an image (target image) acquired by the camera 500, feature amounts associated with vertices (feature points) of the three-dimensional model are used. to correct the projected position of the vertex.
- the shape of the two-dimensional image of the three-dimensional model projected onto the image is deformed, and the three-dimensional model is superimposed on the projection target included in the image with high precision.
- the three-dimensional model is, for example, an object that can be created by Structure from Motion (SFM) or the like that inputs a plurality of images and reconstructs a three-dimensional structure.
- SFM Structure from Motion
- a three-dimensional model is an object for projection in accordance with a projection target (superimposition target) in an image in an AR application.
- a three-dimensional model has a plurality of vertices (first vertices).
- a feature amount (first feature amount) is associated with each vertex of the three-dimensional model.
- the 3D model is represented by mesh data.
- Mesh data is data representing a set of planes (polygons) formed by connecting three or more vertices.
- the mesh data includes vertex data including the positions of the vertices forming each plane.
- SFM Structure From Motion
- FIG. 2 is a diagram showing an example of a method for creating a three-dimensional model.
- the information processing system 1000 inputs an image 1100 as shown in FIG.
- the input image 1100 is sent to the feature point detection unit 110 of the three-dimensional model creation device 100 .
- the image 1100 is a still image of the three-dimensional model object 11 (see FIG. 3), for example, a photograph.
- the image 1100 may be a paused moving image or the like other than a photograph.
- FIG. 3 is a diagram showing one of the images 1100 and a plurality of feature points on an object included in the image. Note that FIG. 3 shows an image of an object different from that in FIG. 2(a).
- the feature point detection unit 110 detects a plurality of feature points 12 from the image 1100 by performing feature point detection processing.
- the feature points 12 are, for example, vertices included in the model object 11 photographed in the image 1100, and points that can be recognized from the appearance of the object 11, such as points with clear shading on the image.
- the feature point detection unit 110 calculates a local feature amount from a local image (patch image) centering on the feature point 12 in the image 1100 .
- the feature point detection unit 110 includes a feature amount calculation unit that calculates local feature amounts.
- the feature point detection unit 110 obtains the correspondence relationship between the feature points 12 (same feature points) between the images 1100 based on the local feature amounts calculated from each of the plurality of images 1100 . That is, the feature points 12 at the same position are specified between the different images 1100 by comparing the local feature amounts. Thereby, the feature point detection unit 110 can acquire the positional relationship of the three-dimensional positions of the plurality of feature points and the positional relationship between the camera that captured each image and these feature points.
- the feature point detection unit 110 transmits information on the plurality of detected feature points 12 (three-dimensional positions of feature points, local feature amounts) to the point cloud restoration unit 120 . Regarding a plurality of local feature amounts corresponding to the same feature point 12 obtained from a plurality of images 1100, the feature point detection unit 110 transmits a representative value of the plurality of local feature amounts as the local feature amount of the feature point 12. Alternatively, all or two or more of these multiple local feature amounts may be transmitted.
- the point group restoration unit 120 acquires information on the plurality of feature points 12 transmitted from the feature point detection unit 110.
- the point cloud restoration unit 120 obtains, as a sparse three-dimensional point cloud 1200, a plurality of vertices indicating three-dimensional positions obtained by projecting the plurality of feature points 12 onto a three-dimensional space.
- FIG. 2(b) shows an example of a sparse three-dimensional point cloud 1200.
- the point cloud reconstruction unit 120 may use bundle adjustment to obtain a more accurate 3D position of the feature point 13 (first vertex) of the 3D model from the sparse 3D point cloud 1200 .
- the point cloud reconstruction unit 120 can also create a dense 3D point cloud 1300 from the sparse 3D point cloud 1200 using means such as Multi-View Stereo (MVS).
- FIG. 2(c) shows an example of a dense 3D point cloud 1300.
- FIG. FIG. 4 shows an example of a dense 3D point cloud obtained from a sparse 3D point cloud when the object of the 3D model is the object shown in FIG. Note that the process of creating a dense three-dimensional point group may be omitted.
- the point cloud reconstruction unit 120 transmits information on the sparse three-dimensional point cloud 1200 or the three-dimensional point cloud 1300 to the model generation unit 130 .
- the increased points (vertices) can also be treated as feature points, and the feature amount of the feature points can be obtained by interpolation from the original feature points.
- the model generator 130 creates a three-dimensional model (three-dimensional model 1400) composed of mesh data as shown in FIG. .
- the model generation unit 130 forms a plane (polygon) by connecting three points based on the positions of the three-dimensional points included in the sparse three-dimensional point group 1200 or the dense three-dimensional point group 1300 .
- the three-dimensional model creation device 100 creates mesh data by gathering the planes (polygons) to obtain a three-dimensional model.
- FIG. 5 shows an example of feature points (each vertex forming each plane) in a three-dimensional model.
- FIG. 6 is a database (feature amount database) containing information (three-dimensional positions, local feature amounts of vertices, etc.) on vertices (feature points) of a 3D model.
- FIG. 7 is a database (model database) containing information on vertices and meshes of a three-dimensional model. These databases are generated by database generation device 200 .
- a method for the database generation device 200 to create a feature database and a model database model will be described below.
- the three-dimensional model creation device 100 and the database generation device 200 are separated, but they may be integrated.
- the feature quantity database and the model database may be modeled based on the information about the feature points and the mesh that the model three-dimensional model creating apparatus 100 acquires when creating the three-dimensional model.
- the database generation device 200 acquires the information of the three-dimensional model created by the three-dimensional model creation device 100 and the image 1100 .
- the feature point detection unit 210 detects a position (point) on the image 1100 corresponding to each vertex (feature point) that configures the three-dimensional model. For example, the positional relationship between the camera that captured each image and the feature points of the three-dimensional model, which is acquired when the three-dimensional model is generated, may be used. Alternatively, the feature point detection unit 210 may use feature points already detected from the image by the three-dimensional model creation device 100 .
- the feature amount calculation unit 220 calculates the local feature amount of the detected position (point) from each image 1100 in the same manner as described above.
- the feature quantity calculation unit 220 associates the calculated local feature quantity with the feature point and transmits the result to the database generation unit 230 .
- a local feature amount associated with a feature point may be a representative value among a plurality of local feature amounts obtained from a plurality of images 1100 . Alternatively, it may be two or more selected from all of a plurality of local feature amounts or from these plurality of local feature amounts. Note that the feature amount calculation unit 220 may use the local feature amount that has already been calculated by the three-dimensional model creation device 100 .
- the database generator 230 creates a feature amount database 310 (first database) that records information about feature points as shown in FIG. 6, and a model database 320 (second database) that records information about vertices and meshes as shown in FIG. create.
- the feature quantity database 310 includes a column 311 for recording unique feature point IDs for identifying feature points, a column 312 for recording three-dimensional positions of feature points, and a column 313 for recording local feature quantities of feature points. include.
- the model database 320 includes a vertex table 330 containing data of vertices forming a mesh, as shown in FIG. 7(a), and a mesh table 340, as shown in FIG. 7(b).
- the vertex table 330 includes a column 331 for recording unique vertex IDs for identifying mesh vertices, a column 332 for recording feature point IDs corresponding to the vertices, and a column 333 for recording three-dimensional positions. .
- the mesh table 340 includes a column 341 that records unique mesh IDs for identifying meshes, and a column 342 that records the vertex IDs of vertices that make up the mesh.
- the feature quantity database 310 and the model database 320 are associated with each other by vertex IDs. For example, when a mesh on the surface of a three-dimensional model is identified, it is possible to identify the vertices forming the mesh, the three-dimensional positions of the vertices (feature points), and the local feature amounts from the mesh ID.
- the information processing device 400 performs a process of projecting a three-dimensional model onto an image captured by a camera and superimposing the three-dimensional model on the image with high accuracy.
- the feature point detection unit 410 of the information processing device 400 in FIG. 1 acquires an image 510 (target image) captured by the camera 500 .
- the feature point detection unit 410 detects a plurality of feature points 511_1 from the image 510 by feature point detection, and calculates the local feature amount of the feature points 511_1.
- the feature point detection unit 410 transmits information (position information, local feature amount, etc.) regarding the feature point 511_1 to the matching unit 420 .
- the feature points 511_1 may be feature points obtained by performing feature point detection on the entire image 510, or by specifying an image portion corresponding to a building by semantic segmentation or the like, and performing feature inspection on the specified image portion. Feature points obtained by performing extraction may also be used.
- the matching unit 420 acquires information (position information, local feature amount, etc.) on the feature point 511_1 detected from the image 510 from the feature point detection unit 410 .
- the matching unit 420 acquires a plurality of feature points 511_2 (first vertices) and local feature amounts (first feature amounts) of the three-dimensional model recorded in the database 300 .
- the matching unit 420 compares the local feature amount of the feature points on the three-dimensional model with the local feature amount of the feature point 511_1, and matches the corresponding feature points.
- the matching unit 420 determines that both feature points are feature points that match each other. Identify points. Matching section 420 transmits information about the matched feature points to posture estimation section 430 .
- FIG. 8 is a diagram schematically showing an example of matching feature points in an image captured by a camera and feature points in a 3D model. A situation is shown in which feature points 511_1 included in an image 510 acquired by a camera 500 and feature points 511_2 included in a three-dimensional model 900 of a building are all matched.
- FIG. 9(a) is a diagram showing an example in which some of the feature points of the 3D model are not matched when the feature points of the 3D model and the feature points of the image are matched.
- the feature point 511_2 in the 3D model matches the feature point 511_1 in the image, but the feature point 512_2 in the 3D model does not match.
- FIG.9(b) is mentioned later.
- the orientation estimation unit 430 estimates the orientation of the camera 500 that captured the image 510 . More specifically, posture estimation section 430 generates a plurality of pairs (N pairs) of the two-dimensional position of the feature point on the image and the three-dimensional position of the feature point of the three-dimensional model that matches the feature point. Based on this, the orientation of the camera 500 is estimated.
- the PNP algorithm (PNP-RANSAC) using the RANSAC (Random Sampling Consensus) framework can be used.
- PNP-RANSAC PNP-RANSAC
- RANSAC Random Sampling Consensus
- the feature points of the three-dimensional model included in the pairs used for estimation correspond to the points (feature points) that are inliers in PNP-RANSAC.
- the feature points of the 3D model included in the pairs that were used for the estimation correspond to the points (feature points) that became outliers in PNP-RANSAC.
- the processing unit 440 projects the three-dimensional model onto the image 510 corresponding to the estimated pose of the camera 500 .
- the positions at which the feature points (inlier points) of the three-dimensional model used for estimating the camera pose are projected onto the image 510 are the positions of the feature points on the image paired with the inlier points. Matches or is close to a 2D location. In other words, it can be considered that the three-dimensional model and the image of the projection destination match in the vicinity of the projected position of the inlier feature point.
- the positions at which the feature points of the 3D model that are not used for estimating the camera pose are projected onto the image 510, and the positions at which the feature points that are not matched in the above-described matching process are projected onto the image 510 are: It can be very different from where it should be in the image plane. For example, if the projected position is far from the original position on the image plane, or if there is an obstructing object between the 3D model object (real world object) and the camera, 3 Parts of the dimensional model may not be projected (not shown) in the image. That is, it can be considered that the three-dimensional model and the image of the projection destination do not match in the vicinity of the projected positions of the outlier feature points and the unmatched feature points.
- the feature points of the 3D model that are not used for estimating the camera pose are referred to as outlier feature points (vertices).
- the feature points of the three-dimensional model used for estimating the pose of the camera are called inlier feature points (vertices).
- the processing unit 440 projects the three-dimensional model onto the image 510 captured by the camera 500, and corrects the positions of the projection destinations of the outlier feature points to appropriate positions. This deforms the two-dimensional shape of the three-dimensional model projected onto the image. As a result, the three-dimensional model can be accurately superimposed on the object on which the image is projected.
- the processing unit 440 functions as a processing unit that deforms the three-dimensional model projected onto the image by correcting the positions of the projection destinations of the outlier feature points in the three-dimensional model. Details of the processing unit 440 will be described below.
- the processing unit 440 sets a region (referred to as region A) centered on the projected position of the outlier feature point in the image onto which the 3D model is projected.
- FIG. 10 shows an example of a surrounding area A centered on the position where the outlier feature point 512_2 is projected.
- Area A is a partial area of the image onto which the three-dimensional model is projected.
- Area A is, for example, a rectangular area of M ⁇ M pixels.
- the processing unit 440 calculates a local feature amount (second feature amount) for each pixel (position) in the area A. Each pixel is selected in turn, and the distance (distance in the feature space) or difference between the local feature amount of the selected pixel and the local feature amount (first feature amount) of the outlier feature point 512_2 is calculated. If the distance is equal to or less than the threshold, it is determined that the search for the corresponding points has succeeded, and if the distance is greater than the threshold, the search for the corresponding points has failed.
- the processing unit 440 regards pixels (positions) whose distance is equal to or less than the threshold as corresponding points, that is, positions (pixels) on the image corresponding to the outlier feature point 512_2.
- the processing unit 440 includes a position specifying unit 440A that specifies the positions of corresponding points.
- the processing unit 440 may terminate the search when the corresponding point is detected for the first time, or may search all the pixels in the area A and adopt the smallest pixel among the pixels below the threshold value as the corresponding point. good too.
- the position of the searched corresponding point corresponds to the position (first position) corresponding to the outlier feature point (first vertex) in the image captured by the camera (target image).
- the position specifying unit 440A acquires a first feature value associated with the first vertex of the three-dimensional model having a plurality of first vertices, and based on the acquired first feature value, the first feature value in the target image captured by the camera. A first position (corresponding point) corresponding to the vertex is identified.
- the processing unit 440 transforms the projected image of the three-dimensional model by moving the projected position of the outlier feature point to the position (pixel) of the searched corresponding point.
- the following method is also possible. That is, in this method, the position (three-dimensional position) of the feature point that is the outlier is adjusted so that the projected position when projected onto the image is the position after the movement (position after correction). Correct in the 3D model. Then, the corrected three-dimensional model is reprojected onto the image.
- the position of the feature point 512_2, which is the outlier of the 3D model shown in FIG. An example of changing the shape of a two-dimensional image that has been processed will be shown.
- the feature point after the position change is shown as feature point 511_3.
- FIG. 12 shows an example in which the 3D model is not superimposed with high accuracy when the projected positions of the outlier feature points are not corrected.
- the 3D model (large 3D model) includes as part two sub-models (3D models 810, 820). An example of projecting this large 3D model is shown.
- the image includes a near view building 710 and a far view building 720 .
- the pose of the camera is estimated using the feature points (inlier feature points) of the three-dimensional model 810 corresponding to the building 710 in the foreground. There is no outlier feature point in the 3D model 810 corresponding to the foreground, and the feature point 711 of the 3D model 810 is projected at or near the position of the corresponding point in the image.
- the three-dimensional model 810 is superimposed on the projection target in the image with high accuracy.
- the feature points of the 3D model 820 corresponding to the background are all or part of the feature points that are outliers in this example, and the position of the projection destination of the 3D model 820 deviates from the original projection target.
- the projection area of the distant model 820 is greatly deviated from the original position of the building 720 to be projected, and the three-dimensional model 820 is not accurately superimposed on the image.
- illustration of feature points (outlier feature points) of the three-dimensional model 820 is omitted.
- FIG. 13 shows an example in which three-dimensional models are not superimposed with high accuracy when the projected positions of outlier feature points are not corrected.
- the 3D model (large 3D model) includes as part two sub-models (3D models 810, 820). An example of projecting this large 3D model is shown.
- the position of the camera is estimated using the feature points (inlier feature points) of the three-dimensional model 820 corresponding to the distant building 720 .
- the three-dimensional model 820 is accurately superimposed on the projection target (image portion of the building in the background) in the image.
- the feature points of the 3D model 810 corresponding to the foreground are all or part of feature points that are outliers in this example, and the position of the projection destination of the 3D model 810 is shifted from the original projection target.
- the projection area of the near view model 810 is greatly deviated from the original position of the building 710 to be projected, and the three-dimensional model 810 is not accurately superimposed on the image.
- illustration of feature points (outlier feature points) of the three-dimensional model 810 is omitted.
- FIG. 14 shows an example in which correction processing according to this embodiment is performed in the case of the example shown in FIG.
- the positions at which the outlier feature points of the three-dimensional model 810 are projected onto the image are corrected to the positions of the corresponding points described above.
- the projected image of the three-dimensional model 810 is deformed, and the projected three-dimensional model 801 is accurately superimposed on the building 710 in the foreground. It should be noted that illustration of feature points in the three-dimensional models 810 and 820 is omitted in FIG.
- FIG. 15 shows another example of projecting a 3D model without correcting the positions of outlier feature points.
- FIG. 16 shows an example in which the positions of the feature points that are outliers in FIG. 15 are corrected.
- FIG. 15 shows an example of projecting a large-scale three-dimensional model (including three-dimensional models 730_1 to 730_5 as part) onto an image.
- Three-dimensional models 730_1 to 730_5 correspond to buildings 830_1 to 830_5, which are objects of projection.
- Outlier feature points 522_1, 522_2, 522_3, and 522_5 are shown in FIG.
- the positions of these feature points are corrected to the positions of their respective corresponding points, as shown in FIG.
- the feature points 522_1, 522_2, 522_3, 522_5 after the positions are corrected are indicated by feature points 523_1, 523_2, 523_3, 523_5 in FIG.
- the sub-models 730_1 to 730_5 included in the three-dimensional model are precisely superimposed on the buildings 830_1 to 830_5 that are the respective projection targets.
- circles with no reference numerals represent feature points that are inliers.
- the database updating unit 450 updates the positions of the vertices (three-dimensional positions) in the three-dimensional model based on the corrected positions (two-dimensional positions) of the projected feature points. Update the position of (vertex).
- the database update unit 450 changes the shape of the mesh by reflecting the post-correction position information of the feature points on the mesh data of the three-dimensional model, thereby correcting the three-dimensional model itself.
- p3 is the distance in the depth direction of the vertex cPv in the camera coordinate system.
- K is a 3 ⁇ 3 intrinsic parameter matrix.
- FIG. 17 is a flowchart illustrating an example of the processing flow of the information processing system 1000 according to the embodiment of the present disclosure.
- the feature point detection unit 410 detects a plurality of feature points from one or more images 510 acquired by the camera 500 (S1001).
- the feature point detection unit 410 calculates local feature amounts for each of the plurality of feature points based on the image 510 (S1002).
- the feature point detection unit 410 detects vertices (feature points) of the three-dimensional model based on the calculated local feature amount and the local feature amounts of each vertex (feature point) of the three-dimensional model recorded in the database 300. and the feature points of the image 510 are matched (S1003). The feature point detection unit 410 generates a pair of matched feature points (S1003).
- the pose estimation unit 430 estimates the pose of the camera 500 based on the pair of feature points (S1004).
- the processing unit 440 projects the three-dimensional model onto the image 510 based on the estimated orientation of the camera 500 (S1005). That is, project the 3D model onto an image 510 corresponding to the estimated pose of the camera. Since the vertices (feature points) of the three-dimensional model included in the above pair are the vertices used for camera estimation, these feature points are accurately projected onto the image 510 .
- the processing unit 440 extracts the feature points of the 3D model that have not been matched with the feature points of the image 510 and the feature points of the 3D model of the pairs that have not been used for estimating the pose of the camera 500 . Specify at least one or both of the points.
- the identified feature points correspond to feature points that are outliers.
- the processing unit 440 sets a region (referred to as region A) centering on the projected position of the outlier feature point, and calculates a local feature amount for each position (point) in the region A.
- the processing unit 440 searches for a position (point) where the difference from the local feature amount of the outlier feature point in the region A is equal to or less than the threshold (S1006).
- the processing unit 440 corrects the projected position of the outlier feature point to the position searched in step S1006 (S1006). As a result, the projection image of the three-dimensional model projected onto the image is deformed, and the three-dimensional model is superimposed on the object in the image 510 with high accuracy.
- the information processing apparatus of the present disclosure among the feature points of the three-dimensional model captured in the image 510, the feature points that are outliers are detected, and the projected positions of the detected feature points are projected to the peripheral points. Correction is made to the positions of pixels with close or same local feature values among the pixels in the region. As a result, the projection image of the projected three-dimensional model can be deformed, and the three-dimensional model can be superimposed on the projection target on the image with high precision (AR superimposition).
- the information processing apparatus 400 reflects the results of correcting the positions of the feature points in the three-dimensional model in both the vertex table 330 (see FIG. 7A) in the model database and the feature amount database 310. I was letting In this modified example, the corrected positions of the feature points in the three-dimensional model are reflected only in the vertex table 330 .
- the position of the feature point (vertex) projected onto the camera image changes depending on the lens distortion of the camera and how correctly the distortion correction is performed. Therefore, if the post-correction positions of the vertices corrected on the image are reflected in the feature amount database, there is a possibility that the originally correct vertex positions will be corrected to incorrect positions.
- the 3D coordinates of the vertices in the feature point database used for estimating the pose of the camera and the 3D coordinates of the vertices in the vertex table are managed independently, and the correction of the 3D positions of the vertices is reflected only in the vertex table. . This makes it possible to correct the position of only the vertices used for AR superimposition according to the characteristics of the camera.
- FIG. 18 is an example of the hardware configuration of a computer that executes a series of processes of the information processing system 1000 of the present disclosure by a program.
- CPU 1001 , ROM 1002 and RAM 1003 are interconnected via bus 1004 .
- An input/output interface 1005 is also connected to the bus 1004 .
- An input unit 1006 , an output unit 1007 , a storage unit 1008 , a communication unit 1009 and a drive 1010 are connected to the input/output interface 1005 .
- the input unit 1006 is composed of, for example, a keyboard, mouse, microphone, touch panel, input terminal, and the like.
- the output unit 1007 includes, for example, a display, a speaker, an output terminal, and the like.
- the storage unit 1008 is composed of, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
- the communication unit 1009 is composed of, for example, a network interface. Drives drive removable media such as magnetic disks, optical disks, magneto-optical disks, or semiconductor memories.
- the CPU 1001 loads, for example, a program stored in the storage unit 1008 into the RAM 1003 via the input/output interface 1005 and the bus 1004, and executes the above-described series of programs. is processed.
- the RAM 1003 also appropriately stores data necessary for the CPU 1001 to execute various processes.
- Programs executed by computers can be applied by being recorded on removable media such as package media.
- the program can be installed in the storage unit 1008 via the input/output interface 1005 by loading the removable medium into the drive 1010 .
- This program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
- the program can be received by the communication unit 1009 and installed in the storage unit 1008 .
- the present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the constituent elements without departing from the gist of the present invention at the implementation stage. Further, various inventions can be formed by appropriate combinations of the plurality of constituent elements disclosed in the above embodiments. For example, some components may be omitted from all components shown in the embodiments. Furthermore, components across different embodiments may be combined as appropriate.
- this disclosure can also take the following configurations.
- Information processing device with [Item 2] A feature amount calculation unit that calculates a second feature amount for a position in the target image, The information according to item 1, wherein the position specifying unit specifies a position in the target image having the second feature amount whose distance from the first feature amount is equal to or less than a threshold, and defines the specified position as the first position.
- the feature quantity calculation unit calculates a second feature quantity for each of a plurality of positions within a region around the position where the first vertex is projected, Item 3.
- the information processing apparatus according to Item 2 wherein the position specifying unit specifies a position having the second feature amount whose distance from the first feature amount is equal to or less than a threshold, and sets the specified position as the first position.
- the surrounding area is a certain area around the projected position.
- a feature amount calculation unit that detects a plurality of feature points in the target image and calculates a plurality of second feature amounts for the plurality of feature points; an estimating unit that detects the feature point having the second feature amount that is equal to or less than a threshold, and estimates the orientation of the camera based on a set of the first vertex and the detected feature point; 5.
- the information processing apparatus according to any one of items 1 to 4, wherein the processing unit projects the three-dimensional model onto the target image based on the orientation of the camera.
- Item 6 Item 6. The information processing apparatus according to Item 5, wherein the estimation unit estimates the orientation of the camera based on a PNP algorithm.
- a first database containing the position of the first vertex and the first feature associated with the first vertex; a second database containing the position of the first vertex;
- the estimation unit estimates the orientation of the camera based on the first database
- the position specifying unit specifies the first position corresponding to the first vertex in the target image based on the second database, an updating unit that converts the first position in the target image into a position in a three-dimensional model coordinate system, and updates the position of the first vertex in the second database based on the position after conversion.
- the update unit updates the position of the first vertex in the first database based on the changed position.
- the information processing apparatus according to Item 7, wherein the updating unit does not update the position of the first vertex in the first database.
- the three-dimensional model is a model in which a plurality of feature points detected by performing feature point detection based on one or more images of an object are set as the first vertices, The information processing apparatus according to any one of items 1 to 9, wherein the first feature amount related to the first vertex is a feature amount calculated for the feature point.
- [Item 11] obtaining a first feature value associated with the first vertices of a three-dimensional model having a plurality of first vertices; 1 Identify the position, An information processing method for transforming the three-dimensional model projected onto the target image by projecting the three-dimensional model onto the target image and correcting a position where the first vertex is projected to the first position.
- [Item 12] obtaining a first feature value associated with the first vertices of a three-dimensional model having a plurality of first vertices; 1 identifying a location; projecting the three-dimensional model onto the target image, and deforming the three-dimensional model projected onto the target image by correcting the projected position of the first vertex to the first position; computer program to run
- REFERENCE SIGNS LIST 100 three-dimensional model creation device 110 feature point detection unit 120 point group restoration unit 130 model generation unit 200 database generation device 210 feature point detection unit 220 feature amount calculation unit 300 database 310 feature amount database 320 model database 330 vertex table 340 mesh table 400 Information processing device 410 Feature point detection unit 420 Matching unit 430 Posture estimation unit 440 Processing unit 500 Camera
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
Abstract
[課題]3次元モデルを画像における対象に高精度に重畳できるようにする。 [解決手段]本開示の情報処理装置は、複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定する位置特定部と、前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形する処理部と、を備える。
Description
本開示は、情報処理装置、情報処理方法及びコンピュータプログラムに関する。
Augmenteed Reality(拡張現実、AR)アプリケーションでは、現実の環境に存在する物などを撮影した画像に対して、正確にコンテンツを表示・重畳することが重要である。ARアプリケーションは、例えば、建物等の対象物を物体認識技術によって認識した際に、それを認識したとユーザーに視覚的に伝えるために、対象物の輪郭線の強調表示、輪郭線に合わせてコンテンツを重畳表示することがある。
このようなARアプリケーションでは、現実の環境と3次元のモデルデータの位置合わせを正確に行うことで、仮想情報のキャラクタを地面や床に立たせる、仮想情報のボールが壁やモノにぶつかって跳ね返らせる、といった衝突表現や隠れ表現等ができる。
しかしながら、このような表現は、3次元モデルがその元となった物体等に基づいてあらかじめ正確に作成されていることを前提としている。3次元モデルが対象となった物体との間で誤差がある場合には、3次元モデルと対象の物体との位置合わせを正確に行うことができない。
特に大量の画像を入力として大規模な3次元の構造復元を行うStructure from Motion(以下SFM)によって作成されたものは、局所的な構造は正しく復元できているが、大局的な構造には歪みが発生していることが多い。例えば大規模な3次元モデルに含まれる個々のモデルは正確であるが、モデル間の相対位置関係がずれている場合などがある。このため、大規模な3次元モデルをAR重畳させる場合、一部のモデルが正確に重畳されないなど、正確な重畳表現が難しいという問題がある。
また、3次元モデルが正確に作成された場合であっても、位置合わせに利用する現実の環境を撮影した画像等がカメラのレンズの歪みなどにより歪んでいる場合には、3次元モデルの正確な重畳が難しい。
本開示は、上述したような問題点に鑑みてなされたものであり、3次元モデルを画像における対象に高精度に重畳できるようにすることを目的とする。
本開示の情報処理装置は、複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定する位置特定部と、前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形する処理部と、を備える。
本開示の情報処理方法は、複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定し、前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形する。
本開示のコンピュータプログラムは、複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定するステップと、前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形するステップと、をコンピュータに実行させる。
図1は、本開示の実施形態に係る情報処理システム1000のブロック図である。
情報処理システム1000は、3次元モデル作成装置100と、データベース生成装置200と、データベース300と、情報処理装置400と、カメラ500とを含む。
情報処理システム1000は、3次元モデル作成装置100と、データベース生成装置200と、データベース300と、情報処理装置400と、カメラ500とを含む。
3次元モデル作成装置100は、特徴点検出部110と、点群復元部120と、モデル生成部130とを備える。
データベース生成装置200は、特徴点検出部210と、特徴量算出部220と、データベース生成部230とを備える。
データベース300は、特徴量データベース310(第1データベース)と、モデルデータベース320(第2データベース)とを備える。本実施形態に係るモデルデータベース320は、頂点テーブル330と、メッシュテーブル340の2つを含む(後述する図7参照)。
情報処理装置400は、特徴点検出部(特徴量算出部)410と、マッチング部420と、姿勢推定部430と、処理部440と、データベース更新部450とを備える。
本実施形態は、予め作成した3次元モデルを、カメラ500で取得した画像(対象画像)における投影対象に投影する場合に、3次元モデルの頂点(特徴点)に関連づいた特徴量を利用して、当該頂点が投影される位置を補正する。これにより、画像に投影された3次元モデルの2次元画像の形状を変形して、画像に含まれる投影対象に3次元モデルを高精度に重畳させる。ここで、3次元モデルは、一例として複数の画像を入力して3次元の構造復元を行うStructure from Motion(SFM)等によって作成されることができるオブジェクトである。以下、3次元モデルについて説明する。
(3次元モデル)
3次元モデルは、ARアプリケーションにおいて、画像における投影対象(重畳対象)に合わせて投影するためのオブジェクトである。3次元モデルは、複数の頂点(第1頂点)を有する。3次元モデルの各々の頂点に特徴量(第1特徴量)が関連付いている。
3次元モデルは、ARアプリケーションにおいて、画像における投影対象(重畳対象)に合わせて投影するためのオブジェクトである。3次元モデルは、複数の頂点(第1頂点)を有する。3次元モデルの各々の頂点に特徴量(第1特徴量)が関連付いている。
より詳細には、3次元モデルは、メッシュデータによって表現される。メッシュデータとは、3つ以上の頂点を結ぶことで構成される平面(ポリゴン)の集合を表すデータであ。メッシュデータには、各平面を構成する頂点の位置を含む頂点データが含まれる。
本実施形態ではモデル現実空間におけるモデル対象(物体、人間等の生物など)を複数の方向(角度)で撮影した複数の画像1100に基づき、3次元の構造を復元するStructure From Motion(SFM)等の処理を行うことによって、3次元モデルを作成する。
以下、図2~図5を用いて、3次元モデル作成装置100が、複数の画像1100からSFM等によって3次元モデルを作成する方法について説明する。
図2は、3次元モデルの作成方法の一例を示す図である。
図2は、3次元モデルの作成方法の一例を示す図である。
情報処理システム1000は、図2(a)のような画像1100を3次元モデル作成装置100に入力する。入力された画像1100は、3次元モデル作成装置100の特徴点検出部110に送信される。
ここで、画像1100は、3次元モデルの対象物11(図3参照)が撮影された静止画であり、例えば、写真である。また、画像1100は、写真以外にも一時停止した動画などであってもよい。
図3は、画像1100うちの一枚および当該画像に含まれる対象における複数の特徴点を示す図である。なお、図3では図2(a)とは異なる対象を撮像した画像が示される。
図3のように、特徴点検出部110が特徴点検出処理を行うことにより、画像1100から複数の特徴点12を検出する。ここで、特徴点12は、例えば、画像1100に撮影されたモデル対象物11に含まれる頂点、画像上の濃淡のはっきりした点などの対象物11の外観から認識可能な点などである。特徴点検出部110は、画像1100において、特徴点12を中心とした局所的な画像(パッチ画像)から局所特徴量を計算する。特徴点検出部110は局所特徴量を算出する特徴量算出部を含む。
図3のように、特徴点検出部110が特徴点検出処理を行うことにより、画像1100から複数の特徴点12を検出する。ここで、特徴点12は、例えば、画像1100に撮影されたモデル対象物11に含まれる頂点、画像上の濃淡のはっきりした点などの対象物11の外観から認識可能な点などである。特徴点検出部110は、画像1100において、特徴点12を中心とした局所的な画像(パッチ画像)から局所特徴量を計算する。特徴点検出部110は局所特徴量を算出する特徴量算出部を含む。
特徴点検出部110は、複数の画像1100のそれぞれから算出された局所特徴量に基づき、画像1100間での特徴点12(同じ特徴点)の対応関係を求める。つまり、局所特徴量を比較して異なる画像1100間で同じ位置の特徴点12を特定する。これにより特徴点検出部110は、複数の特徴点の3次元位置の位置関係と、各画像を撮影したカメラとこれら特徴点との位置関係とを取得することができる。
特徴点検出部110は、検出した複数の特徴点12の情報(特徴点の3次元位置、局所特徴量)を点群復元部120に送信する。複数の画像1100から得られた同じ特徴点12に対応する複数の局所特徴量に関して、特徴点検出部110は、複数の局所特徴量の代表値を当該特徴点12の局所特徴量として送信してもよいし、これら複数の局所特徴量の全部又は2つ以上を送信してもよい。
点群復元部120は、特徴点検出部110から送信された複数の特徴点12の情報を取得する。点群復元部120は、複数の特徴点12を3次元空間に投影した3次元位置を示す複数の頂点を、疎な3次元点群1200として得る。図2(b)は、疎な3次元点群1200の例を示す。
点群復元部120は、疎な3次元点群1200から、より正確な3次元モデルの特徴点13(第1頂点)の3次元位置を求めるために、バンドル調整を用いてもよい。また、点群復元部120は、Multi-View Stereo(MVS)などの手段を用いて、疎な3次元点群1200から、密な3次元点群1300を作成することも可能である。図2(c)は密な3次元点群1300の例を示す。
図4は、3次元モデルの対象が、図3に示すモノである場合に、疎な3次元点群から得られた密な3次元点群の例を示す。なお、密な3次元点群を作成する処理を省略してもよい。
図4は、3次元モデルの対象が、図3に示すモノである場合に、疎な3次元点群から得られた密な3次元点群の例を示す。なお、密な3次元点群を作成する処理を省略してもよい。
点群復元部120は、疎な3次元点群1200又は3次元点群1300の情報をモデル生成部130に送信する。なお、密な3次元点群1300を作成した場合、増えた点(頂点)も特徴点として扱い、当該特徴点の特徴量を、元の特徴点から補間により求めることも可能である。
モデル生成部130は、疎な3次元点群1200又は3次元点群1300の情報に基づき、図2(d)のようなメッシュデータで構成された3次元モデル(3次元モデル1400)を作成する。具体的には、モデル生成部130は、疎な3次元点群1200又は密な3次元点群1300に含まれる3次元点の位置に基づき、3点同士を結び平面(ポリゴン)を構成する。次に、3次元モデル作成装置100は、当該平面(ポリゴン)を集合させることでメッシュデータを作成し、3次元モデルを得る。
図5は、3次元モデルにおける特徴点(各平面を構成する各頂点)の例を示す。
図5は、3次元モデルにおける特徴点(各平面を構成する各頂点)の例を示す。
図6は、3次元モデルの頂点(特徴点)に関する情報(3次元位置と、頂点の局所特徴量等)を含むデータベース(特徴量データベース)である。図7は、3次元モデルの頂点およびメッシュに関する情報を含むデータベース(モデルデータベース)である。これらのデータベースはデータベース生成装置200によって生成される。
以下、データベース生成装置200が、特徴量データベース及びモデルデータベースモデルを作成する方法について説明する。なお、本実施形態では、3次元モデル作成装置100と、データベース生成装置200が別体となっているが、一体となっていてもよい。この場合、モデル3次元モデル作成装置100が3次元モデルの作成時に取得した特徴点及びメッシュに関する情報に基づき、特徴量データベース及びモデルデータベースをモデル作成してもよい。
データベース生成装置200は、3次元モデル作成装置100が作成した3次元モデルの情報および画像1100を取得する。
特徴点検出部210は、3次元モデルを構成する各頂点(特徴点)に対応する、画像1100上の位置(点)を検出する。例えば3次元モデルの生成時に取得した、各画像を撮影したカメラと3次元モデルの特徴点との位置関係を利用してもよい。あるいは、特徴点検出部210は、3次元モデル作成装置100で画像から検出済みの特徴点を流用してもよい。
特徴量算出部220は、当該検出した位置(点)の局所特徴量を各画像1100から上述した方法と同様にして、計算する。特徴量算出部220は、算出した局所特徴量を特徴点に関連付けて、データベース生成部230に送信する。特徴点に関連付ける局所特徴量は、複数の画像1100から求めた複数の局所特徴量のうちの代表値でもよい。あるいは、複数の局所特徴量の全部又はこれらの複数の局所特徴量から選択した2つ以上でもよい。なお、特徴量算出部220は、3次元モデル作成装置100で計算済みの局所特徴量を用いてもよい。
データベース生成部230は、図6のような特徴点に関する情報を記録した特徴量データベース310(第1データベース)、図7のような頂点及びメッシュに関する情報を記録したモデルデータベース320(第2データベース)を作成する。
特徴量データベース310は、特徴点を識別するためのユニークな特徴点IDを記録する列311と、特徴点の3次元位置を記録する列312と、特徴点の局所特徴量を記録する列313を含む。
モデルデータベース320は、図7(a)のように、メッシュを構成する頂点のデータを含む頂点テーブル330と、図7(b)のように、メッシュテーブル340とを含む。
頂点テーブル330は、メッシュの頂点を識別するためのユニークな頂点IDを記録する列331と、その頂点に対応する特徴点IDを記録する列332と、3次元位置を記録する列333とを含む。
メッシュテーブル340は、メッシュを識別するためのユニークなメッシュIDを記録する列341と、メッシュを構成する頂点の頂点IDを記録する列342とを含む。
特徴量データベース310とモデルデータベース320は、頂点IDによって互いに関連付いている。例えば、3次元モデルの表面のメッシュを特定した場合、そのメッシュIDから、メッシュを構成する頂点、及び、頂点(特徴点)の3次元位置および局所特徴量を特定できる。
情報処理装置400は、カメラで撮像した画像へ3次元モデルを投影して、画像に3次元モデルを重ね合わせる処理を高精度に行う。
図1における情報処理装置400の特徴点検出部410は、カメラ500で撮像した画像510(対象画像)を取得する。
特徴点検出部410は、画像510から特徴点検出により複数の特徴点511_1を検出し、特徴点511_1の局所特徴量を算出する。特徴点検出部410は、特徴点511_1に関する情報(位置情報、および局所特徴量等)をマッチング部420に送信する。なお、特徴点511_1は画像510全体を対象に特徴点検出を行って得られた特徴点でもよいし、セマンティックセグメンテーション等により建物に対応する画像部分を特定し、特定した画像部分を対象に特徴点検出を行って得られた特徴点でもよい。
マッチング部420は、特徴点検出部410から、画像510から検出された特徴点511_1に関する情報(位置情報および局所特徴量等)を取得する。マッチング部420は、データベース300に記録された3次元モデルの複数の特徴点511_2(第1頂点)および局所特徴量(第1特徴量)を取得する。
マッチング部420は、3次元モデル上の特徴点の局所特徴量を、特徴点511_1の局所特徴量と比較し、対応する特徴点同士をマッチングする。
マッチング部420は、3次元モデルの特徴点の局所特徴量と特徴点511_1の局所特徴量との差が閾値未満である場合、両特徴点が互いにマッチングする特徴点であると判断し、両特徴点同士を特定する。マッチング部420は、マッチングした特徴点同士の情報を姿勢推定部430に送信する。
図8は、カメラで撮影した画像における特徴点と、3次元モデルの特徴点とをマッチングさせる例を概略的に示す図である。カメラ500で取得された画像510に含まれる特徴点511_1と、建物の3次元モデル900に含まれる特徴点511_2がすべてマッチングする状況が示される
図9(a)は、3次元モデルの特徴点と画像における特徴点とをマッチングさせた場合に、3次元モデルの特徴点のうちの一部はマッチングしない例を示した図である。例えば3次元モデルにおける特徴点511_2は画像における特徴点511_1とマッチングするが、3次元モデルにおける特徴点512_2がマッチングしていない。なお、図9(b)については後述する。
姿勢推定部430は、画像510を撮影したカメラ500の姿勢を推定する。より詳細には、姿勢推定部430は、画像上の特徴点の2次元位置と、当該特徴点にマッチングした3次元モデルの特徴点の3次元位置との複数のペア(N個のペア)に基づき、カメラ500の姿勢を推定する。
推定には、例えばRANSAC(Random Sampling Consensus)フレームワークを用いたPNPアルゴリズム(PNP-RANSAC)を利用することができる。N個のペアから、外れ値となるペアを除外することで、推定に有効なペアを特定し、特定したペアに基づきカメラの姿勢を推定する。推定に用いられたペアに含まれる3次元モデルの特徴点は、PNP-RANSACでインライヤとなった点(特徴点)に相当する。推定にペアに用いられかったペア(外れ値として除外されたペア)に含まれる3次元モデルの特徴点は、PNP-RANSACでアウトライヤとなった点(特徴点)に相当する。
処理部440は、推定したカメラ500の姿勢に応じた画像510に対して、3次元モデルを投影する。カメラの姿勢推定に用いられた3次元モデルの特徴点(インライヤとなった点)が画像510上に投影される位置は、当該インライヤとなった点とペアをなしている画像上の特徴点の2次元位置と一致する又は近い。すなわちインライヤとなった特徴点が投影された位置の周辺においては、3次元モデルと投影先の画像とが整合しているとみなすことができる。
一方、カメラの姿勢推定に用いられなかった3次元モデルの特徴点が画像510上に投影される位置、及び上述のマッチング処理でマッチングされなかった特徴点が画像510上に投影される位置は、画像平面において本来あるべき位置から大きく異なり得る。例えば、当該投影される位置が画像平面において本来あるべき位置から大きく離れている場合、あるいは、3次元モデルの対象物(現実世界の対象物)とカメラとの間に遮蔽物があることにより3次元モデルの一部が画像に投影されない(映っていない)場合がある。すなわち、アウトライヤとなった特徴点及びマッチングされなかった特徴点が投影された位置の周辺においては、3次元モデルと投影先の画像とが整合していないと考えることができる。
以下、カメラの姿勢推定に用いられなかった3次元モデルの特徴点(マッチング処理でマッチングされなかった特徴点を含む)をアウトライヤとなった特徴点(頂点)と呼ぶ。カメラの姿勢推定に用いられた3次元モデルの特徴点をインライヤとなった特徴点(頂点)と呼ぶ。
上述の図9(b)には、図9(a)の3次元モデルを画像に投影した場合に、アウトライヤとなった特徴点512_2が、本来あるべき位置(矩形の箱の一番右の頂点)から大きく離れる例を示している。
処理部440は、カメラ500で撮影した画像510に3次元モデルを投影し、アウトライヤとなった特徴点の投影先の位置を適切な位置に補正する。これにより画像に投影された3次元モデルの2次元形状を変形する。これにより3次元モデルを、画像の投影先の対象に精度良く重畳させることができる。処理部440は、3次元モデルにおけるアウトライヤとなった特徴点の投影先の位置を補正することで、画像に投影された3次元モデルを変形する処理部として機能する。以下、処理部440の詳細について説明する。
処理部440は、3次元モデルが投影される画像において、アウトライヤとなった特徴点の投影された位置を中心とする領域(領域Aとする)を設定する。
図10は、アウトライヤとなった特徴点512_2が投影された位置を中心とする周囲の領域Aの例を示す。領域Aは3次元モデルが投影される画像の一部の領域である。領域Aは、例えば、M×Mピクセルの矩形領域である。
処理部440は、領域A内の各画素(位置)に対して局所特徴量(第2特徴量)を計算する。各画素を順番に選択し、選択した画素の局所特徴量と、アウトライヤとなった特徴点512_2の局所特徴量(第1特徴量)との距離(特徴空間における距離)又は差分を計算する。当該距離が閾値以下であれば、対応点の探索に成功、閾値より大きい場合であれば対応点の探索に失敗したと判断する。処理部440は、当該距離が閾値以下の画素(位置)を対応点、すなわち、アウトライヤとなった特徴点512_2に対応する画像上の位置(画素)とする。処理部440は対応点の位置を特定する位置特定部440Aを備えている。処理部440は対応点が最初に検出された時点で探索を終了してもよいし、領域A内のすべての画素を探索し、閾値以下の画素のうち最小の画素を対応点として採用してもよい。
探索された対応点の位置は、カメラで撮像した画像(対象画像)において、アウトライヤとなった特徴点(第1頂点)に対応する位置(第1位置)に対応する。位置特定部440Aは、複数の第1頂点を有する3次元モデルの第1頂点に関連付けられた第1特徴量を取得し、取得した第1特徴量に基づき、カメラで撮像した対象画像において第1頂点に対応する第1位置(対応点)を特定する。
処理部440は、アウトライヤとなった特徴点の投影された位置を、探索した対応点の位置(画素)に移動させることにより、投影された3次元モデルの投影画像を変形する。投影された3次元モデルの画像を変形する他の方法として、以下の方法も可能である。すなわち、この方法は、画像に投影された場合の投影される位置が、上記移動後の位置(補正後の位置)となるように、上記アウトライヤとなった特徴点の位置(3次元位置)を3次元モデルにおいて補正する。そして、補正後の3次元モデルを画像に再投影する。
図11は、図10に示した3次元モデルのアウトライヤとなった特徴点512_2の位置を位置512_3に移動(補正)することにより、画像に投影された3次元モデルを変形(3次元モデルの投影された2次元画像の形状を変更)する例を示す。位置が変更された後の特徴点は、特徴点511_3として示されている。このように、投影された3次元モデルの画像を変形することで、3次元モデルを精度よく画像における投影対象に合致させることができる。
以下、アウトライヤとなった特徴点の位置を補正しない場合の3次元モデルの投影例と、アウトライヤとなった特徴点の位置を補正する場合の3次元モデルの投影例を示す。
図12は、アウトライヤとなった特徴点が投影された位置を補正しない場合に3次元モデルが精度よく重畳しない例を示す。3次元モデル(大規模な3次元モデル)は一部として2つのサブモデル(3次元モデル810、820)を含む。この大規模な3次元モデルを投影する例を示す。画像は、近景の建物710と、遠景の建物720を含む。近景の建物710に対応する3次元モデル810の特徴点(インライヤとなった特徴点)を用いてカメラの姿勢を推定している。近景に対応する3次元モデル810にアウトライヤとなった特徴点は存在せず、3次元モデル810の特徴点711は画像における対応点の位置又はその近傍に投影される。この結果、3次元モデル810は精度良く画像における投影対象に重畳される。一方、遠景に対応する3次元モデル820の特徴点は、本例ではすべて又は一部がアウトライヤとなった特徴点で、3次元モデル820の投影先の位置が本来の投影対象とずれる。この結果、遠景のモデル820の投影領域は、本来の投影対象の建物720の位置と大きくずれ、3次元モデル820は精度よく画像に重畳しない。なお、図12において3次元モデル820の特徴点(アウトライヤとなった特徴点)の図示は省略している。
図13は、アウトライヤとなった特徴点の投影された位置を補正しない場合に3次元モデルが精度よく重畳しない例を示す。3次元モデル(大規模な3次元モデル)は一部として2つのサブモデル(3次元モデル810、820)を含む。この大規模な3次元モデルを投影する例を示す。遠景の建物720に対応する3次元モデル820の特徴点(インライヤとなった特徴点)を用いてカメラの位置を推定している。遠景に対応する3次元モデル820にアウトライヤな特徴点は存在せず、3次元モデル820の特徴点721は画像における対応点の位置又はその近傍に投影される。この結果、3次元モデル820が精度良く画像における投影対象(遠景の建物の画像部分)に重畳される。一方、近景に対応する3次元モデル810の特徴点は、本例ではすべて又は一部がアウトライヤとなった特徴点で、3次元モデル810の投影先の位置が本来の投影対象とずれる。この結果、近景のモデル810の投影領域は、本来の投影対象の建物710の位置と大きくずれ、3次元モデル810は精度よく画像に重畳しない。なお、図13において3次元モデル810の特徴点(アウトライヤとなった特徴点)の図示は省略している。
図14は、図13に示した例の場合において本実施形態に係る補正処理を行った例を示す。3次元モデル810のアウトライヤとなった特徴点が画像に投影された位置が、前述の対応点の位置に補正される。これにより、3次元モデル810の投影された画像が変形され、投影された3次元モデル801が精度良く近景の建物710に重畳される。なお、図14において3次元モデル810、820における特徴点の図示は省略している。
図15は、アウトライヤとなった特徴点の位置を補正せずに3次元モデルを投影する他の例を示す。図16は、図15においてアウトライヤとなった特徴点の位置を補正した例を示す。
図15は、大規模な3次元モデル(3次元モデル730_1~730_5を一部として含む)を画像に投影させる例が示される。3次元モデル730_1~730_5は、それぞれの投影の対象である建物830_1~830_5に対応する。図15においてアウトライヤとなった特徴点522_1、522_2、522_3、522_5が示される。これらの特徴点の位置を、図16に示すように、それぞれの対応点の位置に補正する。位置が補正された後の特徴点522_1、522_2、522_3、522_5が、図16において特徴点523_1、523_2、523_3、523_5によって示される。これにより、3次元モデルに含まれるサブモデル730_1~730_5がそれぞれの投影の対象である建物830_1~830_5に精度良く重畳する。なお図15及び図16では参照符号が付されていない丸図は、インライヤとなった特徴点を表している。
データベース更新部450は、投影された特徴点の補正後の位置(2次元位置)に基づき、3次元モデルにおける頂点の位置(3次元位置)を更新、すなわち、データベース300に登録されている特徴点(頂点)の位置を更新する。なお情報処理装置が、データベース更新部450を備えない構成も可能である。データベース更新部450は、補正後の特徴点の位置情報を、3次元モデルのメッシュデータに反映することで、メッシュの形状を変更し、3次元モデルそのものの補正を行う。
以下、2次元平面上で補正された特徴点の位置(2次元位置)を、3次元位置に変換する方法について説明する。
補正前の特徴点(例えばアウトライヤとなった頂点)のモデル座標系での3次元位置mPvを(x, y, z)T、モデル座標系におけるカメラ500の姿勢を(cRm, cPm)とする。
このとき、カメラ座標系での特徴点(頂点)の位置cPvは、cRm・mPv+cPmと表される。ここで、cRmは3×3の回転行列、cPmは3要素の並進ベクトルを表す。
特徴点(頂点)を画像上に投影した位置pは、カメラの内部パラメータKを用いてK・cPvと表され、位置pの座標は(px, py) = (p1/p3, p2/p3)となる。このとき、p3はカメラ座標系における頂点cPvの奥行方向の距離である。また、Kは3×3の内部パラメータ行列である。
補正前の特徴点の補正後の2次元画像上の座標を(px’, py’)とすると、この座標を3次元空間に再投影した位置cPv’はK-1((px’, py’, 1)・p3)Tとなる。
更にこの点を、mPx’ = mRc・cPv’+mPcによってカメラ座標系からモデル座標系に変換する。mRc = cRmT、mPc = -wRc・cPmである。これにより、補正前の特徴点(頂点)のmPvの位置を、mPv’に補正することができる。
補正前の特徴点(例えばアウトライヤとなった頂点)のモデル座標系での3次元位置mPvを(x, y, z)T、モデル座標系におけるカメラ500の姿勢を(cRm, cPm)とする。
このとき、カメラ座標系での特徴点(頂点)の位置cPvは、cRm・mPv+cPmと表される。ここで、cRmは3×3の回転行列、cPmは3要素の並進ベクトルを表す。
特徴点(頂点)を画像上に投影した位置pは、カメラの内部パラメータKを用いてK・cPvと表され、位置pの座標は(px, py) = (p1/p3, p2/p3)となる。このとき、p3はカメラ座標系における頂点cPvの奥行方向の距離である。また、Kは3×3の内部パラメータ行列である。
補正前の特徴点の補正後の2次元画像上の座標を(px’, py’)とすると、この座標を3次元空間に再投影した位置cPv’はK-1((px’, py’, 1)・p3)Tとなる。
更にこの点を、mPx’ = mRc・cPv’+mPcによってカメラ座標系からモデル座標系に変換する。mRc = cRmT、mPc = -wRc・cPmである。これにより、補正前の特徴点(頂点)のmPvの位置を、mPv’に補正することができる。
このように3次元モデルの頂点の位置を補正することで、正しいメッシュデータを得ることができるため、実環境と仮想情報(3次元モデル)とのインタラクションを正確に表現することが可能になる。
図17は、本開示の実施形態に係る情報処理システム1000の処理の流れの一例を説明するフローチャートである。
まず、特徴点検出部410は、カメラ500で取得した1つ以上の画像510から複数の特徴点を検出する(S1001)。
まず、特徴点検出部410は、カメラ500で取得した1つ以上の画像510から複数の特徴点を検出する(S1001)。
次に、特徴点検出部410は、画像510に基づき、複数の特徴点のそれぞれの局所特徴量を算出する(S1002)。
次に、特徴点検出部410は、算出した局所特徴量と、データベース300に記録された3次元モデルの各頂点(特徴点)の局所特徴量とに基づき、3次元モデルの頂点(特徴点)と、画像510の特徴点とをマッチングさせる(S1003)。特徴点検出部410は、マッチングさせた特徴点の組(ペア)を生成する(S1003)。
次に、姿勢推定部430は、特徴点のペアに基づき、カメラ500の姿勢を推定する(S1004)。
次に、処理部440は、推定したカメラ500の姿勢に基づき、画像510に3次元モデルを投影する(S1005)。すなわちカメラの推定された姿勢に対応する画像510に3次元モデルを投影する。上記のペアに含まれる3次元モデルの頂点(特徴点)は、カメラの推定に用いられた頂点であるから、この特徴点は精度よく画像510に投影される。
次に、処理部440は、3次元モデルの特徴点のうち画像510の特徴点とマッチングされなかった特徴点と、ペアのうちカメラ500の姿勢推定に用いられなかったペアにおける3次元モデルの特徴点とのうち、少なくとも一方又は両方を特定する。特定した特徴点は、アウトライヤとなった特徴点に対応する。処理部440は、アウトライヤとなった特徴点が投影された位置を中心とする領域(領域Aとする)を設定し、領域A内の各位置(点)について局所特徴量を算出する。処理部440は、領域A内においてアウトライヤとなった特徴点の局所特徴量との差が閾値以下となる位置(点)を探索する(S1006)。
次に、処理部440は、アウトライヤとなった特徴点が投影された位置を、ステップS1006で探索した位置に補正する(S1006)。これにより画像に投影された3次元モデルの投影画像が変形され、3次元モデルが画像510における対象に精度よく重畳する。
以上、本開示の情報処理装置によれば、画像510に撮影された3次元モデルの各特徴点のうち、アウトライヤとなった特徴点を検出し、検出した特徴点が投影された位置を、周辺領域内の各画素のうち局所特徴量が近い又は同じ画素の位置に補正する。これにより、投影された3次元モデルの投影画像を変形し、3次元モデルを画像上の投影対象と高精度に重畳(AR重畳)することができる。
(変形例)
上述した実施形態では、情報処理装置400は、3次元モデルにおける特徴点の位置の補正の結果をモデルデータベースにおける頂点テーブル330(図7(a)参照)と、特徴量データベース310との両方について反映させていた。本変形例では、3次元モデルにおける特徴点の補正された位置を、頂点テーブル330のみに限定して反映させる。
上述した実施形態では、情報処理装置400は、3次元モデルにおける特徴点の位置の補正の結果をモデルデータベースにおける頂点テーブル330(図7(a)参照)と、特徴量データベース310との両方について反映させていた。本変形例では、3次元モデルにおける特徴点の補正された位置を、頂点テーブル330のみに限定して反映させる。
カメラ画像に投影された特徴点(頂点)の位置は、カメラのレンズ歪みや、その歪み補正がどれだけ正しく行われているかによって変化する。そのため、画像上で補正した頂点の補正後の位置を特徴量データベースに反映させると、本来正しかった頂点の位置が、間違った位置へ補正されてしまう可能性がある。この場合、カメラの姿勢推定に利用する特徴点データベースにおける頂点の3次元座標と、頂点テーブルにおける頂点の3次元座標とを独立に管理し、頂点の3次元位置の補正は頂点テーブルにのみ反映する。これによりAR重畳に用いる頂点のみを、カメラの特性に合わせて位置補正することが可能になる。
[応用例]
以下に、情報処理システム1000の応用例について説明する。なお、上述の情報処理システム1000は、以下の情報処理システム1000の任意のシステム、装置及び方法等に対しても応用可能である。
以下に、情報処理システム1000の応用例について説明する。なお、上述の情報処理システム1000は、以下の情報処理システム1000の任意のシステム、装置及び方法等に対しても応用可能である。
図18は、本開示の情報処理システム1000の一連の処理をプログラムにより実行するコンピュータのハードウエアの構成の一例である。コンピュータにおいて、CPU1001、ROM1002、RAM1003は、バス1004を介して相互に接続されている。
バス1004には、入出力インタフェース1005も接続されている。入出力インタフェース1005には、入力部1006、出力部1007、記憶部1008、通信部1009、およびドライブ1010が接続されている。
入力部1006は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部1007は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部1008は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部1009は、例えば、ネットワークインタフェースよりなる。ドライブは、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディアを駆動する。
以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005およびバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディアに記録して適用することができる。その場合、プログラムは、リムーバブルメディアをドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部1009で受信し、記憶部1008にインストールすることができる。
本明細書で開示した処理のステップは、必ずしもフローチャートに記載された順序で実行されなくてもよい。例えば、フローチャートに記載した順序と異なる順序でステップが実行されても、フローチャートに記載したステップの一部が並列的に実行されてもよい。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
また、本明細書に記載された本開示の効果は例示に過ぎず、その他の効果があってもよい。
なお、本開示は以下のような構成を取ることもできる。
[項目1]
複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定する位置特定部と、
前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形する処理部と、
を備えた情報処理装置。
[項目2]
前記対象画像における位置に対して第2特徴量を算出する特徴量算出部を備え、
前記位置特定部は、前記第1特徴量との距離が閾値以下の前記第2特徴量を有する位置を前記対象画像において特定し、特定した位置を前記第1位置とする
項目1に記載の情報処理装置。
[項目3]
前記特徴量算出部は、前記第1頂点が投影される前記位置の周囲の領域内の複数の位置のそれぞれの第2特徴量を算出し、
前記位置特定部は、前記第1特徴量との距離が閾値以下の前記第2特徴量を有する位置を特定し、特定した位置を前記第1位置とする
項目2に記載の情報処理装置。
[項目4]
前記周囲の領域は、前記投影した位置を中心とする一定範囲の領域である
項目3に記載の情報処理装置。
[項目5]
前記対象画像において複数の特徴点を検出し、前記複数の特徴点に対して複数の第2特徴量を算出する特徴量算出部を備え
前記位置特定部は、前記第1特徴量との距離が閾値以下の前記第2特徴量を有する前記特徴点を検出し、前記第1頂点と、検出した前記特徴点との組に基づき、前記カメラの姿勢を推定する推定部を備え、
前記処理部は、前記カメラの姿勢に基づき、前記3次元モデルを前記対象画像に投影する
項目1~4のいずれか一項に記載の情報処理装置。
[項目6]
前記推定部は、PNPアルゴリズムに基づき前記カメラの姿勢を推定する
項目5に記載の情報処理装置。
[項目7]
前記第1頂点の位置と、前記第1頂点に関連する前記第1特徴量とを含む第1データベースと、
前記第1頂点の位置を含む第2データベースと、を備え、
前記推定部は、前記第1データベースに基づいて前記カメラの姿勢を推定し、
前記位置特定部は、前記第2データベースに基づいて、前記第1頂点に対応する前記第1位置を前記対象画像において特定し、
前記対象画像における前記第1位置を3次元のモデル座標系の位置に変換し、変換後の位置に基づき、前記第2データベースにおける前記第1頂点の位置を更新する更新部を備えた
項目6に記載の情報処理装置。
[項目8]
前記更新部は、前記変更後の位置に基づいて、前記第1データベースにおける前記第1頂点の位置を更新する
項目7に記載の情報処理装置。
[項目9]
前記更新部は、前記第1データベースにおける前記第1頂点の位置を更新しない
項目7に記載の情報処理装置。
[項目10]
前記3次元モデルは、対象を撮像した1つ以上の画像に基づき特徴点検出を行うことにより検出された複数の特徴点を前記第1頂点とするモデルであり、
前記第1頂点に関連する前記第1特徴量は、前記特徴点について算出される特徴量である
項目1~9のいずれか一項に記載の情報処理装置。
[項目11]
複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定し、
前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形する
情報処理方法。
[項目12]
複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定するステップと、
前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形するステップと
をコンピュータに実行させるためのコンピュータプログラム。
[項目1]
複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定する位置特定部と、
前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形する処理部と、
を備えた情報処理装置。
[項目2]
前記対象画像における位置に対して第2特徴量を算出する特徴量算出部を備え、
前記位置特定部は、前記第1特徴量との距離が閾値以下の前記第2特徴量を有する位置を前記対象画像において特定し、特定した位置を前記第1位置とする
項目1に記載の情報処理装置。
[項目3]
前記特徴量算出部は、前記第1頂点が投影される前記位置の周囲の領域内の複数の位置のそれぞれの第2特徴量を算出し、
前記位置特定部は、前記第1特徴量との距離が閾値以下の前記第2特徴量を有する位置を特定し、特定した位置を前記第1位置とする
項目2に記載の情報処理装置。
[項目4]
前記周囲の領域は、前記投影した位置を中心とする一定範囲の領域である
項目3に記載の情報処理装置。
[項目5]
前記対象画像において複数の特徴点を検出し、前記複数の特徴点に対して複数の第2特徴量を算出する特徴量算出部を備え
前記位置特定部は、前記第1特徴量との距離が閾値以下の前記第2特徴量を有する前記特徴点を検出し、前記第1頂点と、検出した前記特徴点との組に基づき、前記カメラの姿勢を推定する推定部を備え、
前記処理部は、前記カメラの姿勢に基づき、前記3次元モデルを前記対象画像に投影する
項目1~4のいずれか一項に記載の情報処理装置。
[項目6]
前記推定部は、PNPアルゴリズムに基づき前記カメラの姿勢を推定する
項目5に記載の情報処理装置。
[項目7]
前記第1頂点の位置と、前記第1頂点に関連する前記第1特徴量とを含む第1データベースと、
前記第1頂点の位置を含む第2データベースと、を備え、
前記推定部は、前記第1データベースに基づいて前記カメラの姿勢を推定し、
前記位置特定部は、前記第2データベースに基づいて、前記第1頂点に対応する前記第1位置を前記対象画像において特定し、
前記対象画像における前記第1位置を3次元のモデル座標系の位置に変換し、変換後の位置に基づき、前記第2データベースにおける前記第1頂点の位置を更新する更新部を備えた
項目6に記載の情報処理装置。
[項目8]
前記更新部は、前記変更後の位置に基づいて、前記第1データベースにおける前記第1頂点の位置を更新する
項目7に記載の情報処理装置。
[項目9]
前記更新部は、前記第1データベースにおける前記第1頂点の位置を更新しない
項目7に記載の情報処理装置。
[項目10]
前記3次元モデルは、対象を撮像した1つ以上の画像に基づき特徴点検出を行うことにより検出された複数の特徴点を前記第1頂点とするモデルであり、
前記第1頂点に関連する前記第1特徴量は、前記特徴点について算出される特徴量である
項目1~9のいずれか一項に記載の情報処理装置。
[項目11]
複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定し、
前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形する
情報処理方法。
[項目12]
複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定するステップと、
前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形するステップと
をコンピュータに実行させるためのコンピュータプログラム。
100 3次元モデル作成装置
110 特徴点検出部
120 点群復元部
130 モデル生成部
200 データベース生成装置
210 特徴点検出部
220 特徴量算出部
300 データベース
310 特徴量データベース
320 モデルデータベース
330 頂点テーブル
340 メッシュテーブル
400 情報処理装置
410 特徴点検出部
420 マッチング部
430 姿勢推定部
440 処理部
500 カメラ
110 特徴点検出部
120 点群復元部
130 モデル生成部
200 データベース生成装置
210 特徴点検出部
220 特徴量算出部
300 データベース
310 特徴量データベース
320 モデルデータベース
330 頂点テーブル
340 メッシュテーブル
400 情報処理装置
410 特徴点検出部
420 マッチング部
430 姿勢推定部
440 処理部
500 カメラ
Claims (12)
- 複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定する位置特定部と、
前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形する処理部と、
を備えた情報処理装置。 - 前記対象画像における位置に対して第2特徴量を算出する特徴量算出部を備え、
前記位置特定部は、前記第1特徴量との距離が閾値以下の前記第2特徴量を有する位置を前記対象画像において特定し、特定した位置を前記第1位置とする
請求項1に記載の情報処理装置。 - 前記特徴量算出部は、前記第1頂点が投影される前記位置の周囲の領域内の複数の位置のそれぞれの第2特徴量を算出し、
前記位置特定部は、前記第1特徴量との距離が閾値以下の前記第2特徴量を有する位置を特定し、特定した位置を前記第1位置とする
請求項2に記載の情報処理装置。 - 前記周囲の領域は、前記投影した位置を中心とする一定範囲の領域である
請求項3に記載の情報処理装置。 - 前記対象画像において複数の特徴点を検出し、前記複数の特徴点に対して複数の第2特徴量を算出する特徴量算出部を備え
前記位置特定部は、前記第1特徴量との距離が閾値以下の前記第2特徴量を有する前記特徴点を検出し、前記第1頂点と、検出した前記特徴点との組に基づき、前記カメラの姿勢を推定する推定部を備え、
前記処理部は、前記カメラの姿勢に基づき、前記3次元モデルを前記対象画像に投影する
請求項1に記載の情報処理装置。 - 前記推定部は、PNPアルゴリズムに基づき前記カメラの姿勢を推定する
請求項5に記載の情報処理装置。 - 前記第1頂点の位置と、前記第1頂点に関連する前記第1特徴量とを含む第1データベースと、
前記第1頂点の位置を含む第2データベースと、を備え、
前記推定部は、前記第1データベースに基づいて前記カメラの姿勢を推定し、
前記位置特定部は、前記第2データベースに基づいて、前記第1頂点に対応する前記第1位置を前記対象画像において特定し、
前記対象画像における前記第1位置を3次元のモデル座標系の位置に変換し、変換後の位置に基づき、前記第2データベースにおける前記第1頂点の位置を更新する更新部を備えた
請求項6に記載の情報処理装置。 - 前記更新部は、前記変換後の位置に基づいて、前記第1データベースにおける前記第1頂点の位置を更新する
請求項7に記載の情報処理装置。 - 前記更新部は、前記第1データベースにおける前記第1頂点の位置を更新しない
請求項7に記載の情報処理装置。 - 前記3次元モデルは、対象を撮像した1つ以上の画像に基づき特徴点検出を行うことにより検出された複数の特徴点を前記第1頂点とするモデルであり、
前記第1頂点に関連する前記第1特徴量は、前記特徴点について算出される特徴量である
請求項1に記載の情報処理装置。 - 複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定し、
前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形する
情報処理方法。 - 複数の第1頂点を有する3次元モデルの前記第1頂点に関連付けられた第1特徴量を取得し、前記第1特徴量に基づき、カメラで撮像した対象画像において前記第1頂点に対応する第1位置を特定するステップと、
前記3次元モデルを前記対象画像に投影し、前記第1頂点が投影される位置を前記第1位置に補正することにより、前記対象画像に投影される前記3次元モデルを変形するステップと
をコンピュータに実行させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023529508A JPWO2022264519A1 (ja) | 2021-06-14 | 2022-02-18 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-098991 | 2021-06-14 | ||
JP2021098991 | 2021-06-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022264519A1 true WO2022264519A1 (ja) | 2022-12-22 |
Family
ID=84526094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/006697 WO2022264519A1 (ja) | 2021-06-14 | 2022-02-18 | 情報処理装置、情報処理方法及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2022264519A1 (ja) |
WO (1) | WO2022264519A1 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0950540A (ja) * | 1995-08-09 | 1997-02-18 | Hitachi Ltd | 画像生成方法 |
JP2003141569A (ja) * | 2001-10-31 | 2003-05-16 | Canon Inc | 情報処理方法および映像合成装置 |
JP2005227876A (ja) * | 2004-02-10 | 2005-08-25 | Canon Inc | 画像処理方法、画像処理装置 |
JP2008040913A (ja) * | 2006-08-08 | 2008-02-21 | Canon Inc | 情報処理方法、情報処理装置 |
JP2011145856A (ja) * | 2010-01-14 | 2011-07-28 | Ritsumeikan | 複合現実感技術による画像生成方法及び画像生成システム |
JP2015228050A (ja) * | 2014-05-30 | 2015-12-17 | ソニー株式会社 | 情報処理装置および情報処理方法 |
-
2022
- 2022-02-18 JP JP2023529508A patent/JPWO2022264519A1/ja active Pending
- 2022-02-18 WO PCT/JP2022/006697 patent/WO2022264519A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0950540A (ja) * | 1995-08-09 | 1997-02-18 | Hitachi Ltd | 画像生成方法 |
JP2003141569A (ja) * | 2001-10-31 | 2003-05-16 | Canon Inc | 情報処理方法および映像合成装置 |
JP2005227876A (ja) * | 2004-02-10 | 2005-08-25 | Canon Inc | 画像処理方法、画像処理装置 |
JP2008040913A (ja) * | 2006-08-08 | 2008-02-21 | Canon Inc | 情報処理方法、情報処理装置 |
JP2011145856A (ja) * | 2010-01-14 | 2011-07-28 | Ritsumeikan | 複合現実感技術による画像生成方法及び画像生成システム |
JP2015228050A (ja) * | 2014-05-30 | 2015-12-17 | ソニー株式会社 | 情報処理装置および情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022264519A1 (ja) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kawai et al. | Diminished reality based on image inpainting considering background geometry | |
CN104376552B (zh) | 一种3d模型与二维图像的虚实配准方法 | |
US8953847B2 (en) | Method and apparatus for solving position and orientation from correlated point features in images | |
US9613420B2 (en) | Method for locating a camera and for 3D reconstruction in a partially known environment | |
WO2019016255A1 (en) | DENSE VISUAL SLAM WITH PROBABILISED SURFACE ELEMENT MAP | |
Melo et al. | Unsupervised intrinsic calibration from a single frame using a" plumb-line" approach | |
EP3326156B1 (en) | Consistent tessellation via topology-aware surface tracking | |
WO2008056825A1 (fr) | Procédé de création d'une surface tridimensionnelle | |
KR20070095040A (ko) | 카메라 보정 방법 및 이를 이용한 3차원 물체 재구성 방법 | |
KR102152432B1 (ko) | 동적 3차원 모델을 이용한 실사 콘텐츠 생성 시스템 및 방법 | |
KR102152436B1 (ko) | 3차원 포인트 클라우드 기반의 동적 3차원 모델 생성을 위한 뼈대 정보 처리 시스템 및 방법 | |
CN110415323B (zh) | 一种融合变形系数获得方法、装置及存储介质 | |
CN111868738B (zh) | 跨设备监控计算机视觉*** | |
CN112085849A (zh) | 基于航拍视频流的实时迭代三维建模方法、***及可读介质 | |
CN111062966A (zh) | 基于l-m算法和多项式插值对相机跟踪进行优化的方法 | |
CN113160335A (zh) | 一种基于双目视觉的模型点云及三维表面重建方法 | |
CN114202632A (zh) | 网格线性结构恢复方法、装置、电子设备及存储介质 | |
Dong et al. | Probability driven approach for point cloud registration of indoor scene | |
WO2022264519A1 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
AU2022241513B2 (en) | Transformer-based shape models | |
WO2023116430A1 (zh) | 视频与城市信息模型三维场景融合方法、***及存储介质 | |
Park et al. | Virtual object placement in video for augmented reality | |
JP2004514228A (ja) | カイラル性のローバストな使用によるシーン復元およびカメラ較正 | |
Niemirepo et al. | Open3DGen: open-source software for reconstructing textured 3D models from RGB-D images | |
CN115457171A (zh) | 一种采用基表情空间变换的高效表情迁移方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22824519 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023529508 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22824519 Country of ref document: EP Kind code of ref document: A1 |