[go: up one dir, main page]

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

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

Info

Publication number
WO2019171944A1
WO2019171944A1 PCT/JP2019/006202 JP2019006202W WO2019171944A1 WO 2019171944 A1 WO2019171944 A1 WO 2019171944A1 JP 2019006202 W JP2019006202 W JP 2019006202W WO 2019171944 A1 WO2019171944 A1 WO 2019171944A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
model
posture
information processing
scene
Prior art date
Application number
PCT/JP2019/006202
Other languages
English (en)
French (fr)
Inventor
岳 成田
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to EP19763265.6A priority Critical patent/EP3764323B1/en
Priority to US16/976,719 priority patent/US11393124B2/en
Priority to JP2020504905A priority patent/JP7207396B2/ja
Priority to CN201980016074.5A priority patent/CN111801710A/zh
Publication of WO2019171944A1 publication Critical patent/WO2019171944A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/68Analysis of geometric attributes of symmetry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Definitions

  • the present technology relates to an information processing apparatus, an information processing method, and a program, and more particularly, to an information processing apparatus, an information processing method, and a program that can easily estimate the posture of an object.
  • Such a posture estimation technique is used in, for example, a PM (Projection Mapping) system that projects an image onto an object by interlocking a plurality of projectors. Based on the estimated posture of the object, processing such as changing the content of the projected image or correcting the projected image is performed.
  • PM Processing Mapping
  • the posture of the object is estimated based on, for example, a point on the previously registered object corresponding to a certain point on the object shown in the captured image, and the relationship between these corresponding points.
  • Corresponding points used for posture estimation are specified by, for example, extracting feature amounts of each point of an object shown in an image and performing matching with learned feature amounts.
  • a point at a certain position on the object and a point at a symmetric position are represented by the same feature amount, and feature amount data is stored in the dictionary in an overlapping form.
  • This technology has been made in view of such a situation, and makes it possible to easily estimate the posture of an object.
  • the information processing apparatus is a response that is obtained by performing learning using data of a predetermined part having symmetry with another part of the entire model that is an object to be recognized.
  • Corresponding point acquisition that specifies, as the corresponding point, the second point on the model included in the input scene corresponding to the first point on the model, based on the learned data used for specifying the point
  • a posture estimation unit that estimates the posture of the model included in the scene based on the corresponding points.
  • An information processing apparatus performs an input scene by performing learning using data of a predetermined part having symmetry with another part of the entire model that is an object to be recognized. Trained data used to specify the second point on the model included in the scene corresponding to the first point on the model as the corresponding point when estimating the posture of the model included in A generation unit for generating is provided.
  • identification of corresponding points obtained by performing learning using data of a predetermined part having symmetry with another part of the entire model as an object to be recognized A second point on the model included in the input scene corresponding to the first point on the model is identified as the corresponding point based on the learned data used in the step, and based on the corresponding point Thus, the posture of the model included in the scene is estimated.
  • the entire model that is an object to be recognized is included in the input scene by performing learning using data of a predetermined part having symmetry with other parts.
  • learned data is generated that is used to identify the second point on the model included in the scene corresponding to the first point on the model as a corresponding point. .
  • the posture of the object can be easily estimated.
  • FIG. 1 is a diagram illustrating a configuration example of a projection system according to an embodiment of the present technology.
  • Projectors # 0 and # 1 are configured by connecting projectors # 0 and # 1 to the control device 1 via wired or wireless communication. Projectors # 0 and # 1 are installed above the projection space so that the projection direction is directed toward the object 22. The installation positions of the projectors # 0 and # 1 may be positions other than the position above the projection space.
  • the control device 1 includes devices such as a personal computer, a smartphone, and a tablet terminal.
  • the control device 1 is a device that controls projection of images by the projectors # 0 and # 1.
  • Projectors # 0 and # 1 emit projection light representing a predetermined image in accordance with control by the control device 1.
  • an image is projected onto the object 22 placed on the floor 21 using the projectors # 0 and # 1.
  • the image by the projection light emitted by the projector # 0 is mainly projected on the left side position of the object 22, and the image by the projection light emitted by the projector # 1 is mainly projected on the right side position of the object 22. .
  • a texture image for expressing the texture of the surface of the object 22 such as a metal texture or a wood texture is projected on the object 22. Not only the expression of the texture but also various information presentation and stereoscopic effect may be performed by projecting the image.
  • the projectors # 0 and # 1 project various images such as an image for displaying a character on the floor surface 21 around the object 22.
  • the projection system in FIG. 1 is a PM (Projection Mapping) system that projects an image onto the surface of the object 22 having a three-dimensional shape.
  • An image may be projected on an object having a planar shape instead of an object having a three-dimensional shape.
  • FIG. 2 is a block diagram showing a configuration example of the projection system.
  • each of the projectors # 0 to #N is provided with an imaging unit including a camera in addition to a projection unit including a display device, a lens, a light source, and the like.
  • the imaging unit # 0-1 of the projector # 0 images the situation of the projection space including the object 22.
  • the image captured by the imaging unit # 0-1 is supplied to the control device 1.
  • Projection unit # 0-2 projects the projection image assigned to projector # 0 under the control of control device 1.
  • the imaging units # 1-1 to # N-1 of the projectors # 1 to #N also capture the situation of the projection space, respectively.
  • Each of the projection units # 1-2 to # N-2 projects a projection image assigned to itself.
  • the number of projection units and the number of imaging units are the same, but the number of each may be different.
  • the imaging unit may be provided at a remote position instead of being built in the projector.
  • the configuration of the control device 1 may be provided in a projector.
  • the control device 1 includes a captured image processing unit 31 and a projection image processing unit 32.
  • the captured image processing unit 31 estimates the posture of the object 22 based on the image captured by the imaging unit of each projector. Information for recognizing the object 22 in the captured image and estimating the posture is prepared for the control device 1. The captured image processing unit 31 outputs information representing the estimation result of the posture of the object 22 to the projection image processing unit 32.
  • the projection image processing unit 32 generates a projection image to be projected from each projector with the object 22 as a projection target.
  • the projection image processing unit 32 appropriately performs processing such as changing the content of the projected image or correcting the projected image based on the posture of the object 22 estimated by the captured image processing unit 31. Do.
  • control device 1 is an information processing device having a function of recognizing the object 22 registered in advance based on an image captured by the camera and estimating its posture.
  • the object posture is not estimated based on the image captured by the camera, but based on various inputs such as point cloud data representing the distance measured by the distance measuring sensor. Good.
  • model data that is input as a posture estimation target such as image data or point cloud data representing a distance
  • a scene A model having a predetermined posture is represented by a scene.
  • model and the posture of the model included in the scene may be expressed by two-dimensional or three-dimensional rigid body transformation or homography transformation.
  • FIG. 3 is a diagram showing a flow of a general method for recognizing a model included in a scene and estimating its posture.
  • feature quantities are extracted from the entire model.
  • the extracted feature value data is stored as data constituting a dictionary as indicated by the tip of the arrow A2.
  • SIFT, SURF, and ORB are used as feature quantities.
  • SHOT, FPFH, and PPF are used as feature amounts.
  • SIFT, SURF, and ORB are described in the following documents [1] to [3], respectively.
  • SHOT, FPFH, and PPF are described in the following documents [4] to [6], respectively.
  • feature quantities are extracted from the scene as indicated by the tip of arrow A11. As indicated by the tip of the arrows A12 and A13, the feature quantity extracted from the scene is matched with the feature quantity stored in the dictionary, and the corresponding point between the model and the model included in the scene is acquired. . For example, a plurality of points on the model and points on the model included in the scene corresponding to the points are acquired as corresponding points.
  • the posture hypothesis of the model included in the scene is calculated based on the relationship between the corresponding points, and the posture hypothesis that best meets the condition is estimated as shown at the end of the arrow A15. Output as a result.
  • FIG. 4 is a diagram showing a flow of another general method for estimating the posture of the model.
  • the posture estimation shown in FIG. 4 is a method using machine learning.
  • a corresponding point estimator that learns the relationship between corresponding points is created.
  • an estimator that outputs corresponding points when a scene is input is created as a corresponding point estimator.
  • the corresponding point estimator is configured as, for example, a Random Forest estimator, a Random Ferns estimator, or a neural network.
  • the posture hypothesis of the model included in the scene is calculated based on the relationship between the corresponding points, and the posture hypothesis most suitable for the condition is estimated as shown at the end of the arrow A25. Output as a result.
  • FIG. 5 is a diagram showing an example of a model.
  • the model is a planar object as shown in FIG. 5 and a star-shaped object having five vertices arranged at equal intervals.
  • the posture of the model and the posture of the model included in the scene are not the same.
  • the posture of the model included in such a scene is estimated based on learned data generated in advance by performing learning using model data.
  • the feature quantity data having the same or almost the same value calculated from different positions on the model is stored in the dictionary.
  • the portions near the vertices have the same shape when only the shape is viewed, and thus are represented by the same feature amount.
  • posture estimation when the model has symmetry is described in the following document [7].
  • the technique described in document [7] is to perform three-dimensional object recognition of a rotating body using PPF extracted from a point cloud (document [6]). This technique can be applied only when the input is a point cloud and PPF is used as a feature quantity. Further, it cannot be applied to recognition of an object having arbitrary symmetry other than the rotating body.
  • control device 1 it is possible to estimate the posture of an object having any symmetry other than the rotating body.
  • FIG. 7 is a block diagram illustrating a configuration example of the captured image processing unit 31.
  • the captured image processing unit 31 includes a learning unit 51 and an estimation unit 52.
  • the learning unit 51 performs learning based on the model data and functions as a generation unit that generates a dictionary used for acquiring corresponding points.
  • the learning unit 51 includes a model data storage unit 61, a feature amount extraction region calculation unit 62, a feature amount extraction unit 63, and a dictionary storage unit 64.
  • the model data storage unit 61 stores model data.
  • the model data stored in the model data storage unit 61 includes data regarding the texture and shape of the model (at least one of the texture and the shape) and data regarding the symmetry of the model. As indicated by the tip of the broken line arrow, the data regarding the symmetry of the model is supplied to the feature amount extraction region calculation unit 62 during learning, and is supplied to the model posture estimation unit 73 of the estimation unit 52 during posture estimation.
  • the symmetry of the model is expressed as a set ⁇ T i ⁇ of coordinate transformations such that, when coordinate transformation is performed on the model M, the model M after transformation matches the model M before transformation.
  • T i the model M after the transformation subjected to the coordinate transformation
  • the model M has symmetry.
  • ⁇ T i ⁇ is a coordinate transformation T 1 for moving the vertex A to the vertex B
  • a coordinate transformation T 2 for moving the vertex A to the vertex C
  • a vertex This is a set of four coordinate transformations: coordinate transformation T 3 for moving A to vertex D and coordinate transformation T 4 for moving vertex A to vertex E.
  • ⁇ T i ⁇ may be a finite set or an infinite set.
  • Data regarding the symmetry of the model may be input by the user of the control device 1 or may be automatically estimated by the control device 1 based on data regarding the texture and shape of the model.
  • the feature amount extraction region calculation unit 62 calculates a partial region which is a partial region from which the feature amount is to be extracted from the entire surface of the model.
  • the calculation (setting) of the partial area is performed with reference to data relating to the symmetry of the model.
  • the feature quantity extraction region calculation unit 62 sets a partial region S 0 that satisfies the condition of the following expression (1) and the condition of the following expression (2).
  • Equation (1) can be subjected to any coordinate transformation T i to the partial region S 0, the partial region S 0 after conversion, represent a condition to request that there are no duplicate conversion before the partial region S 0.
  • Expression (2) represents a condition for requesting that the union of the converted area obtained by applying the coordinate transformation T i to the partial area S 0 covers the entire surface of the model M.
  • S M is the entire surface of the model M.
  • Figure 9 is a diagram showing a calculation example of the partial region S 0.
  • the data of the partial region S 0 calculated in this way is supplied from the feature amount extraction region calculation unit 62 to the feature amount extraction unit 63.
  • Feature amount extraction unit 63 based on the data of the partial region S 0, and extracts a feature value of each point in the partial region S 0.
  • the extracted feature amount data of the partial region S 0 is supplied to the dictionary storage unit 64 and stored as data constituting the dictionary.
  • the partial region S 0 is set in the form as shown in FIG.
  • the partial region S 0 overlaps with the region T 1 S 0 shown in FIG. 10B after the transformation with the coordinate transformation T 1, and the feature amount of the region shown by hatching in FIG. Duplicates are stored in the dictionary.
  • the partial area S 0 so as to satisfy the condition of the expression (1), it is possible to prevent the feature amount data of such overlapping areas from being stored in the dictionary.
  • the estimation unit 52 refers to the dictionary obtained by learning by the learning unit 51, and estimates the posture of the model included in the scene.
  • the estimation unit 52 includes a feature amount extraction unit 71, a corresponding point acquisition unit 72, and a model posture estimation unit 73.
  • the feature amount extraction unit 71 extracts the feature amount of the entire scene and outputs it to the corresponding point acquisition unit 72.
  • the corresponding point acquisition unit 72 performs matching between the feature amount of the partial region S 0 stored in the dictionary and the feature amount of the entire scene, and obtains a point on the model included in the scene corresponding to the point on the model. Get as a corresponding point.
  • FIG. 12 is a diagram showing an example of corresponding points.
  • the corresponding points corresponding to the vertex A on the model are vertex a, vertex b, vertex as shown in FIG. c, vertex d, and vertex e are acquired. Since the feature amount used for matching is small, it is possible to shorten the calculation time required for matching as compared with the case where matching is performed between the feature amounts of the entire model as described with reference to FIG.
  • the information on the corresponding points acquired in this way is supplied to the model posture estimation unit 73.
  • the model posture estimation unit 73 sets a posture hypothesis, which is a model posture candidate included in the scene, based on the corresponding points acquired by the corresponding point acquisition unit 72.
  • the posture hypothesis is set based on the relationship between a point on the model and a point on the model included in the scene corresponding to the point.
  • a plurality of posture hypotheses are set, for example.
  • the model posture estimation unit 73 selects one posture hypothesis from among a plurality of posture hypotheses as a final posture and outputs it as an estimation result.
  • the final pose selection is performed with reference to data on model symmetry.
  • the final posture selection is performed by robust estimation such as RANSAC (Random Sampling Consensus) or posture clustering, for example.
  • Robust estimation is a method of performing estimation in consideration of the possibility that an outlier is included in a given observation value.
  • the general estimation of posture means that the posture is estimated without considering the symmetry of the model.
  • RANSAC is a method of defining the reliability s (h) for the posture hypothesis h and repeatedly performing the processing of selecting the posture hypothesis h having a large reliability s (h) value from the posture hypothesis group.
  • the reliability s (h) is expressed by the following equation (4), for example.
  • Expression (4) is an expression that defines the reliability by the number of inliers.
  • p m represents the point on the model
  • p s represents the point on the scene (the point on the models included in the scene).
  • p m and p s is obtained as the corresponding points by the corresponding point obtaining unit 72.
  • d (p, q) is a function that defines the distance between the points p and q.
  • the Euclidean distance is used as the distance between the points p and q.
  • the Euclidean distance is expressed by the following equation (5).
  • ⁇ in equation (4) is a predetermined threshold value. Further, 1 (•) is a function that takes a value of 1 when the condition in parentheses is satisfied and takes a value of 0 in other cases.
  • FIG. 13 is a diagram illustrating an example of setting value calculation.
  • p m point on the model is represented as hp m point on the scene.
  • the minimum distance among the distances between the point hp m on the scene and each of the plurality of corresponding points p s is compared with the threshold ⁇ to set a set value.
  • each white triangle shown on the scene represents a point p s as a corresponding point.
  • Posture clustering calculates the final posture of a model by grouping posture hypotheses with high posture similarity from among posture hypotheses.
  • the similarity l (h 1 , h 2 ) between the two posture hypotheses h 1 and h 2 is expressed by, for example, the following equation (6).
  • Expression (6) is an expression that defines the similarity by the translation component and the rotation component.
  • trans (h) represents the magnitude of the translation component of the attitude hypothesis h
  • angle (h) represents the magnitude of the rotation angle of the attitude hypothesis h.
  • ⁇ t and ⁇ r are predetermined threshold values.
  • the similarity l (h 1 , h 2 ) takes a value of 1.
  • the model posture estimation unit 73 of the estimation unit 52 performs such RANSAC and posture clustering in consideration of the symmetry of the model.
  • the symmetry of the model is represented as ⁇ T i ⁇ .
  • pose hypotheses that differ in value but are substantially similar are treated as equivalent pose hypotheses.
  • the model symmetry ⁇ T i ⁇ is used.
  • FIG. 14 is a diagram illustrating an example of setting value calculation.
  • p m points on the model when given an orientation hypothesis h in consideration of symmetry ⁇ T i ⁇ model as shown by the solid line arrows, p m points on the model, a point on the scene T expressed as i hp m .
  • the minimum distance among the distances between the point T i hp m on the scene and each of the plurality of corresponding points p s is compared with the threshold ⁇ to set a set value.
  • model symmetry ⁇ T i ⁇ is used to set the posture hypothesis h 1 .
  • the maximum value of the similarity between each of the posture hypotheses T i h 1 using the symmetry ⁇ T i ⁇ of the model and the posture hypothesis h 2 is calculated as the similarity l ′ (T i h 1 , h 2 ).
  • FIG. 15 is a diagram illustrating an example of calculating the similarity of the posture hypothesis.
  • the posture hypothesis h 1 shown on the left side of FIG. 15 and the posture hypothesis h 2 shown on the right side are acquired.
  • the posture hypotheses of both are considered to be substantially equivalent.
  • the similarity l (h 1 , h 2 ) between the posture hypothesis h 1 and the posture hypothesis h 2 is preferably obtained as a value of 1.
  • the similarity l (h 1 , h 2 ) between the posture hypothesis h 1 and the posture hypothesis h 2 is obtained as a value of 0. This is because the rotational component values of the posture hypothesis h 1 and the posture hypothesis h 2 are greatly different.
  • the similarity l ′ (h 1 , h 2 ) between the posture hypothesis h 1 and the posture hypothesis h 2 is calculated.
  • T 1 h 1 and the posture hypothesis h 2 are superimposed, the relationship between the two posture hypotheses is shown in FIG.
  • the model posture estimation unit 73 selects one posture hypothesis as a final posture by RANSAC or posture clustering considering the symmetry of the model, and outputs the result as an estimation result.
  • step S1 the feature quantity extraction region calculation unit 62 refers to the data relating to the symmetry of the model, and calculates a partial region S 0 from which feature values are extracted.
  • the partial region S 0 that satisfies the condition of the expression (1) and the condition of the expression (2) is set.
  • step S2 the feature amount extraction unit 63 extracts the feature amount of the partial region S 0.
  • step S3 the dictionary storage unit 64 stores the feature amount data of the partial region S 0 in the dictionary, the process is terminated.
  • step S11 the feature amount extraction unit 71 extracts the feature amount of the entire scene.
  • step S12 the corresponding point acquiring unit 72 refers to the dictionary stored in the dictionary storage unit 64, by performing matching between the feature quantity and the entire scene feature quantity of the partial region S 0, a point on the model A point on the model included in the scene corresponding to is acquired as a corresponding point.
  • step S13 the model posture estimation unit 73 selects one posture hypothesis as a final posture by performing RANSAC or posture clustering considering the symmetry of the model, and outputs it as an estimation result.
  • the projection image processing unit 32 corrects the projection image.
  • the symmetry of the model to be processed by the control device 1 is arbitrary, it is possible to estimate the posture of an object having any symmetry, not limited to a rotating body.
  • FIG. 20 is a block diagram illustrating another configuration example of the captured image processing unit 31.
  • a posture estimator is generated by performing machine learning.
  • the posture is estimated using a posture estimator generated by machine learning. Learning of the posture estimator and posture estimation using the posture estimator are performed in consideration of the symmetry of the model. The description overlapping with the above description will be omitted as appropriate.
  • the captured image processing unit 31 includes a learning unit 101 and an estimation unit 102.
  • the learning unit 101 functions as a generation unit that performs machine learning based on model data and generates an estimator that is used to acquire corresponding points.
  • the learning unit 101 includes a model data storage unit 111, a corresponding point estimation region calculation unit 112, and a corresponding point estimator 113.
  • the model data storage unit 111 stores model data.
  • the model data stored in the model data storage unit 111 includes data regarding the texture and shape of the model and data regarding the symmetry of the model. As indicated by the tip of the broken line arrow, the data related to the symmetry of the model is supplied to the corresponding point estimation region calculation unit 112 during learning, and is supplied to the model posture estimation unit 122 of the estimation unit 102 during posture estimation.
  • Corresponding point estimation region calculation unit 112 calculates partial region S 0 , which is a partial region of the entire surface of the model, similarly to feature amount extraction region calculation unit 62 in FIG. 7.
  • the partial area S 0 is an area used for estimating the corresponding points.
  • the corresponding point estimation region calculation unit 112 sets a partial region S 0 that satisfies the condition of the above equation (1) and the condition of the above equation (2).
  • the corresponding point estimation region calculation unit 112 performs machine learning using data of the partial region S 0 of the entire model, and generates a corresponding point estimator 113. For the generation of the corresponding point estimator 113, information on corresponding points is also used as appropriate.
  • the corresponding point estimator 113 generated by machine learning using the data of the partial region S 0 is an estimator that outputs a corresponding point when a scene is input.
  • the corresponding point estimator 113 is configured as, for example, a Random Forest estimator, a Random Ferns estimator, or a neural network.
  • the estimation unit 102 acquires the corresponding points using the corresponding point estimator 113 obtained by the machine learning by the learning unit 101, and estimates the posture of the model included in the scene.
  • the estimation unit 102 includes a corresponding point acquisition unit 121 and a model posture estimation unit 122.
  • Corresponding point acquisition unit 121 inputs a scene to corresponding point estimator 113 and acquires corresponding points output from corresponding point estimator 113. Information on corresponding points acquired using the corresponding point estimator 113 is supplied to the model posture estimation unit 122.
  • the model posture estimation unit 122 sets a posture hypothesis that is a model posture candidate included in the scene, based on the corresponding points acquired by the corresponding point acquisition unit 121. .
  • the model posture estimation unit 122 selects one posture hypothesis as a final posture by RANSAC or posture clustering considering the symmetry of the model, and outputs it as an estimation result.
  • step S51 the corresponding point estimation area calculation unit 112 refers to the data related to the symmetry of the model to calculate the partial region S 0.
  • the partial region S 0 that satisfies the condition of the expression (1) and the condition of the expression (2) is calculated.
  • step S ⁇ b> 52 the corresponding point estimation region calculation unit 112 performs machine learning using data of the partial region S 0 of the entire model, and generates a corresponding point estimator 113.
  • step S61 the corresponding point acquisition unit 121 inputs a scene to the corresponding point estimator 113 and acquires the corresponding point output from the corresponding point estimator 113.
  • step S62 the model posture estimation unit 122 selects one posture hypothesis as a final posture by RANSAC or posture clustering considering the symmetry of the model, and outputs it as an estimation result.
  • the projection image processing unit 32 corrects the projection image.
  • the learning unit 51 that performs dictionary learning and the estimation unit 52 that performs posture estimation using the dictionary are realized in one device, but are realized in different devices. You may do it.
  • the dictionary generated in the device having the learning unit 51 is supplied to the device having the estimation unit 52 and used for posture estimation.
  • the learning unit 101 that performs machine learning of the posture estimator and the estimation unit 102 that performs posture estimation using the posture estimator are realized in one device, but are different from each other. You may make it implement
  • the posture estimator generated in the device having the learning unit 101 is supplied to the device having the estimation unit 102 and used for posture estimation.
  • control device 1 is prepared as a device having a housing separate from the projector, the above-described function of the control device 1 may be mounted on any of the plurality of projectors.
  • each of the plurality of projectors and the control device 1 are connected via wired or wireless communication, they may be connected via the Internet.
  • the estimation of the posture of an object having symmetry as described above can be applied to a system other than the projection system described with reference to FIG.
  • the posture estimation technique as described above is used, for example, for augmented reality (AR) or virtual reality (VR) for displaying content based on the estimated posture, and for gripping an object by a robot.
  • AR augmented reality
  • VR virtual reality
  • FIG. 23 is a block diagram illustrating a configuration example of hardware of a computer that executes the above-described processing by a program.
  • control device 1 is realized by a computer having a configuration as shown in FIG.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 205 is further connected to the bus 204.
  • an input unit 206 such as a keyboard and a mouse and an output unit 207 such as a display and a speaker are connected.
  • the input / output interface 205 is connected to a storage unit 208 made up of a hard disk, nonvolatile memory, etc., a communication unit 209 made up of a network interface, etc., and a drive 210 that drives the removable medium 211.
  • the CPU 201 loads the program stored in the storage unit 208 to the RAM 203 via the input / output interface 205 and the bus 204 and executes it, thereby executing the above-described series of processing. Is done.
  • the program executed by the CPU 201 is recorded in the removable medium 211 or provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting, and is installed in the storage unit 208.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • Embodiments of the present technology are not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present technology.
  • the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the present technology may have the following configurations. (1) Based on learned data used to identify corresponding points obtained by learning using data of a predetermined part that has symmetry with other parts of the entire model that is the object to be recognized A corresponding point acquisition unit that specifies the second point on the model included in the input scene corresponding to the first point on the model as the corresponding point; A posture estimation unit that estimates a posture of the model included in the scene based on the corresponding points. (2) When the predetermined portion is moved to each position of the plurality of other portions having symmetry of at least one of texture and shape, there is no area overlapping with any other portion.
  • the information processing apparatus wherein (3) The predetermined part is a part that is set so that the union of the part after the movement corresponds to the entire model when the predetermined part is further moved to the respective positions of the other parts having symmetry.
  • the information processing apparatus according to (2).
  • a feature amount extraction unit for extracting the feature amount of the predetermined portion;
  • the said corresponding point acquisition part specifies the said corresponding point based on the dictionary as said learned data containing the data of the said feature-value of each point of the said predetermined part.
  • the information processing apparatus as described in said (3).
  • the information processing apparatus further including a dictionary storage unit that stores the dictionary.
  • the corresponding point acquisition unit specifies the corresponding point based on an estimator as the learned data obtained by performing machine learning using the data on the predetermined portion and information on the corresponding point.
  • the information processing apparatus according to (3).
  • the posture estimation unit includes a predetermined posture hypothesis among a plurality of posture hypotheses specified based on a relationship between the first point and the second point by using RANSAC in the scene.
  • the information processing apparatus according to any one of (3) to (6), wherein the information is estimated as a posture of the model.
  • the posture estimation unit is configured to convert the predetermined portion to the first point after conversion corresponding to coordinate conversion for moving the predetermined portion to each position of the plurality of other portions having symmetry.
  • the posture of the model included in the scene is estimated based on the reliability of each posture hypothesis calculated based on the distance between the first point and the second point.
  • Information processing device (9) The posture estimation unit is closest to the second point among the first points after the plurality of transformations when the transformation corresponding to the plurality of coordinate transformations is performed on the first point. The distance between the first point after conversion and the second point is calculated for each of the plurality of second points, and the reliability is calculated.
  • Information according to (8) Processing equipment. The posture estimation unit performs clustering of a plurality of posture hypotheses specified based on the relationship between the first point and the second point, using the similarity of the posture hypotheses as an index, to the scene.
  • the information processing apparatus according to any one of (3) to (6), wherein the posture of the model included is estimated.
  • the posture estimation unit includes a transformation corresponding to a coordinate transformation for moving the predetermined portion to each position of the plurality of other portions having symmetry.
  • the information processing apparatus according to (10), wherein the information processing apparatus is applied to a predetermined posture hypothesis, and calculates the similarity between the converted posture hypothesis and another posture hypothesis.
  • Information processing device Based on learned data used to identify corresponding points obtained by learning using data of a predetermined part that has symmetry with other parts of the entire model that is the object to be recognized A second point on the model corresponding to the first point on the model and included in the input scene is identified as the corresponding point, An information processing method for estimating a posture of the model included in the scene based on the corresponding points.
  • An information processing apparatus comprising: a generation unit that generates learned data that is used to identify a second point on the model included in the scene corresponding to a first point on a model as a corresponding point.
  • the predetermined portion so that there is no region overlapping with any other portion when moved to the position of each of the plurality of other portions having symmetry of at least one of texture and shape
  • Information processing device By performing learning using data of a predetermined part having symmetry with another part of the entire model that is an object to be recognized, when estimating the posture of the model included in the input scene, An information processing method for generating learned data that is used to specify a second point on the model included in the scene corresponding to a first point on a model as a corresponding point. (18) On the computer, By performing learning using data of a predetermined part having symmetry with another part of the entire model that is an object to be recognized, when estimating the posture of the model included in the input scene, A program for executing a process of generating learned data used for specifying a second point on the model included in the scene corresponding to a first point on a model as a corresponding point.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)

Abstract

本技術は、物体の姿勢を容易に推定することができるようにする情報処理装置、情報処理方法、およびプログラムに関する。 本技術の一側面の情報処理装置は、認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習が行われることによって得られた、対応点の特定に用いられる学習済みデータに基づいて、モデル上の第1の点に対応する、入力されたシーンに含まれるモデル上の第2の点を対応点として特定し、対応点に基づいて、シーンに含まれるモデルの姿勢を推定する。本技術は、プロジェクションマッピングによって画像を投影する投影システムを制御する装置に適用することができる。

Description

情報処理装置、情報処理方法、およびプログラム
 本技術は、情報処理装置、情報処理方法、およびプログラムに関し、特に、物体の姿勢を容易に推定することができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
 予め登録された物体を、カメラにより撮像された画像や、測距センサにより測定された距離を表す点群のデータに基づいて認識し、その姿勢を推定する技術がある。
 このような姿勢推定の技術は、例えば、複数台のプロジェクタを連動させて物体に画像を投影するPM(Projection Mapping)のシステムにおいて用いられる。推定された物体の姿勢に基づいて、投影する画像の内容を変えたり、投影する画像に対して補正を施したりするなどの処理が行われる。
特開2016-207147号公報
 物体の姿勢は、例えば、撮像された画像に写る物体上のある点に対応する、予め登録された物体上の点を特定し、これらの対応点の関係に基づいて推定される。姿勢の推定に用いられる対応点は、例えば、画像に写る物体の各点の特徴量を抽出し、学習済みの特徴量とマッチングを行うことによって特定される。
 認識の対象となる物体に対称性がある場合、撮像された画像に写る物体上のある点に対応する対応点の候補として多数の点が存在することになり、マッチングの計算時間が長くなってしまう。物体上のある位置の点と、対称性のある位置の点とは同じ特徴量によって表されることになり、特徴量のデータが重複した形で辞書に格納される。
 本技術はこのような状況に鑑みてなされたものであり、物体の姿勢を容易に推定することができるようにするものである。
 本技術の一側面の情報処理装置は、認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習が行われることによって得られた、対応点の特定に用いられる学習済みデータに基づいて、前記モデル上の第1の点に対応する、入力されたシーンに含まれる前記モデル上の第2の点を前記対応点として特定する対応点取得部と、前記対応点に基づいて、前記シーンに含まれる前記モデルの姿勢を推定する姿勢推定部とを備える。
 本技術の他の側面の情報処理装置は、認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習を行うことによって、入力されたシーンに含まれる前記モデルの姿勢の推定時に、前記モデル上の第1の点に対応する、前記シーンに含まれる前記モデル上の第2の点を対応点として特定することに用いられる学習済みデータを生成する生成部を備える。
 本技術の一側面においては、認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習が行われることによって得られた、対応点の特定に用いられる学習済みデータに基づいて、前記モデル上の第1の点に対応する、入力されたシーンに含まれる前記モデル上の第2の点が前記対応点として特定され、前記対応点に基づいて、前記シーンに含まれる前記モデルの姿勢が推定される。
 本技術の他の側面においては、認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習を行うことによって、入力されたシーンに含まれる前記モデルの姿勢の推定時に、前記モデル上の第1の点に対応する、前記シーンに含まれる前記モデル上の第2の点を対応点として特定することに用いられる学習済みデータが生成される。
 本技術によれば、物体の姿勢を容易に推定することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の一実施形態に係る投影システムの構成例を示す図である。 投影システムの構成例を示すブロック図である。 モデルの姿勢を推定する一般的な方法の流れを示す図である。 モデルの姿勢を推定する他の一般的な方法の流れを示す図である。 モデルの例を示す図である。 対応点のマッチングの例を示す図である。 撮像画像処理部の構成例を示すブロック図である。 モデルの座標変換の例を示す図である。 部分領域の算出例を示す図である。 部分領域の算出例を示す図である。 部分領域の算出例を示す図である。 対応点のマッチングの例を示す図である。 設定値の計算の例を示す図である。 設定値の計算の例を示す図である。 姿勢仮説の類似度の計算の例を示す図である。 姿勢仮説の類似度の計算の例を示す図である。 姿勢仮説の類似度の計算の例を示す図である。 学習処理について説明するフローチャートである。 推定処理について説明するフローチャートである。 撮像画像処理部の他の構成例を示すブロック図である。 学習処理について説明するフローチャートである。 推定処理について説明するフローチャートである。 コンピュータの構成例を示すブロック図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.投影システムについて
  1-1.投影システムの構成
  1-2.一般的な姿勢推定について
 2.本技術を適用した姿勢推定について
  2-1.特徴量を用いた例
  2-2.機械学習を用いた例
 3.変形例
<<1.投影システムについて>>
<1-1.投影システムの構成>
 図1は、本技術の一実施形態に係る投影システムの構成例を示す図である。
 図1の投影システムは、制御装置1に対して、プロジェクタ#0,#1が有線または無線の通信を介して接続されることによって構成される。プロジェクタ#0,#1は、投影方向を物体22に向けるように、投影空間の上方に設置されている。プロジェクタ#0,#1の設置位置については、投影空間の上方の位置以外の位置であってもよい。
 制御装置1は、パーソナルコンピュータ、スマートフォン、タブレット端末等の装置から構成される。制御装置1は、プロジェクタ#0,#1による画像の投影を制御する装置である。
 プロジェクタ#0,#1は、制御装置1による制御に従って、所定の画像を表す投影光を照射する。
 図1の投影システムにおいては、プロジェクタ#0,#1を用いて、床面21に置かれた物体22に画像が投影される。プロジェクタ#0が照射する投影光による画像は、主に、物体22の左側の位置に投影され、プロジェクタ#1が照射する投影光による画像は、主に、物体22の右側の位置に投影される。
 物体22に対しては、例えば、金属の質感や木材の質感などの、物体22の表面の質感を表現するためのテクスチャ画像が投影される。質感の表現に限らず、各種の情報の提示や立体感の演出が画像の投影によって行われるようにしてもよい。
 また、プロジェクタ#0,#1からは、床面21上の、物体22の周りの位置にキャラクタを表示するための画像などの各種の画像が投影される。
 このように、図1の投影システムは、立体的な形状を有する物体22の表面に画像を投影するPM(Projection Mapping)のシステムである。立体的な形状を有する物体ではなく、平面的な形状を有する物体を対象として画像の投影が行われるようにしてもよい。
 図2は、投影システムの構成例を示すブロック図である。
 図2の例においては、プロジェクタ#0,#1以外のプロジェクタも示されている。このように2台以上のプロジェクタが設けられるようにしてもよい。プロジェクタ#0乃至#Nのそれぞれには、表示デバイス、レンズ、光源などよりなる投影部の他に、カメラにより構成される撮像部が設けられる。
 例えば、プロジェクタ#0の撮像部#0-1は、物体22を含む投影空間の状況を撮像する。撮像部#0-1により撮像された画像は制御装置1に供給される。
 投影部#0-2は、制御装置1による制御に従って、プロジェクタ#0に割り当てられた投影画像を投影する。
 プロジェクタ#1乃至#Nの撮像部#1-1乃至#N-1も、それぞれ、投影空間の状況を撮像する。投影部#1-2乃至#N-2も、それぞれ、自身に割り当てられた投影画像を投影する。
 図2の例においては、投影部の数と撮像部の数が同じ数とされているが、それぞれの数が異なっていてもよい。また、撮像部が、プロジェクタに内蔵されているのではなく、離れた位置に設けられるようにしてもよい。制御装置1の構成が、プロジェクタに設けられるようにしてもよい。
 制御装置1は、撮像画像処理部31と投影画像処理部32から構成される。
 撮像画像処理部31は、各プロジェクタの撮像部により撮像された画像に基づいて、物体22の姿勢を推定する。制御装置1に対しては、撮像された画像に写る物体22を認識し、姿勢を推定するための情報が用意されている。撮像画像処理部31は、物体22の姿勢の推定結果を表す情報を投影画像処理部32に出力する。
 投影画像処理部32は、物体22を投影対象として各プロジェクタから投影させる投影画像を生成する。投影画像処理部32は、適宜、撮像画像処理部31により推定された物体22の姿勢に基づいて、投影する画像の内容を変えたり、投影する画像に対して補正を施したりするなどの処理を行う。
 このように、制御装置1は、予め登録された物体22を、カメラにより撮像された画像に基づいて認識し、その姿勢を推定する機能を有する情報処理装置である。物体の姿勢の推定が、カメラにより撮像された画像に基づいて行われるのではなく、測距センサにより測定された距離を表す点群のデータなどの各種の入力に基づいて行われるようにしてもよい。
 以下、制御装置1の姿勢推定機能について説明する。
 以下においては、適宜、登録された認識対象の物体をモデルという。また、画像データや、距離を表す点群のデータなどの、姿勢の推定の対象として入力されるモデルのデータをシーンという。シーンにより、所定の姿勢を有するモデルが表される。
 なお、モデルと、シーンに含まれるモデルの姿勢の関係は、2次元または3次元の剛体変換や、ホモグラフィー変換により表されるものであってもよい。
<1-2.一般的な姿勢推定について>
 図3は、シーンに含まれるモデルを認識し、その姿勢を推定する一般的な方法の流れを示す図である。
 矢印A1の先に示すように、はじめに、モデル全体から特徴量が抽出される。抽出された特徴量のデータは、矢印A2の先に示すように辞書を構成するデータとして格納される。
 例えば画像を入力とする場合、特徴量としてSIFT,SURF,ORBが用いられる。また、距離を表す点群を入力とする場合、特徴量としてSHOT,FPFH,PPFが用いられる。SIFT,SURF,ORBについては、それぞれ下記の文献[1]乃至[3]に記載されている。また、SHOT,FPFH,PPFについては、それぞれ下記の文献[4]乃至[6]に記載されている。
 [1] Lowe, David G. "Object recognition from local scale-invariant features." Computer vision, 1999. The proceedings of the seventh IEEE international conference on. Vol. 2. Ieee, 1999.
 [2] Bay, Herbert, Tinne Tuytelaars, and Luc Van Gool. "Surf: Speeded up robust features." Computer vision-ECCV 2006 (2006): 404-417.
 [3] Rublee, Ethan, et al. "ORB: An efficient alternative to SIFT or SURF." Computer Vision (ICCV), 2011 IEEE international conference on. IEEE, 2011.
 [4] Tombari, Federico, Samuele Salti, and Luigi Di Stefano. "Unique signatures of histograms for local surface description." European conference on computer vision. Springer, Berlin, Heidelberg, 2010.
 [5] Rusu, Radu Bogdan, Nico Blodow, and Michael Beetz. "Fast point feature histograms (FPFH) for 3D registration." Robotics and Automation, 2009. ICRA'09. IEEE International Conference on. IEEE, 2009.
 [6] Drost, Bertram, et al. "Model globally, match locally: Efficient and robust 3D object recognition." Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on. Ieee, 2010.
 姿勢推定の実行時、矢印A11の先に示すようにシーンから特徴量が抽出される。矢印A12,A13の先に示すように、シーンから抽出された特徴量と、辞書に格納された特徴量とのマッチングが行われ、モデルと、シーンに含まれるモデルとの対応点が取得される。例えば、モデル上の点と、その点に対応する、シーンに含まれるモデル上の点が対応点として複数取得される。
 矢印A14の先に示すように、対応点の関係に基づいて、シーンに含まれるモデルの姿勢仮説が算出され、条件に最も適合する姿勢仮説が、矢印A15の先に示すように、姿勢の推定結果として出力される。
 図4は、モデルの姿勢を推定する他の一般的な方法の流れを示す図である。
 図4に流れを示す姿勢推定は、機械学習を用いた方法である。
 矢印A21の先に示すように、はじめに、対応点の関係を学習した対応点推定器が作成される。ここでは、シーンを入力としたときに対応点を出力する推定器が対応点推定器として作成される。対応点推定器は、例えば、Random Forestの推定器、Random Fernsの推定器、ニューラルネットワークとして構成される。
 姿勢推定の実行時、矢印A22,A23の先に示すように、対応点推定器の入力としてシーンを用いることによって、モデルと、シーンに含まれるモデルの対応点が取得される。
 矢印A24の先に示すように、対応点の関係に基づいて、シーンに含まれるモデルの姿勢仮説が算出され、条件に最も適合する姿勢仮説が、矢印A25の先に示すように、姿勢の推定結果として出力される。
 図5は、モデルの例を示す図である。
 以下、モデルが、図5に示すような平面の物体であり、5つの頂点が等間隔に配置された星型の物体であるものとする。図5の例においては、モデルの姿勢と、シーンに含まれるモデルの姿勢が同一ではない。このようなシーンに含まれるモデルの姿勢が、モデルのデータを用いた学習を行うことによって予め生成された学習済みのデータに基づいて推定される。
 ここで、図5に示すモデルは、対称性を有している。
 したがって、図3に示す特徴量を用いた推定方法の場合、モデル上の異なる位置から算出された、同一、またはほぼ同一の値を持つ特徴量のデータが重複して辞書に格納される。例えば、それぞれの頂点近傍の部分は、形状だけを見た場合には同じ形状であるから、同じ特徴量により表される。
 その結果、姿勢推定の実行時、図6に示すように、シーン中の点と、モデル上の多数の点とをマッチングするための計算が発生することになり、計算時間が長くなる。また、シーン中の点が、モデル上の複数の点と対応付けられるため、最終的な姿勢推定の結果が不安定になる。
 一方、図4に示す機械学習を用いた推定方法の場合、姿勢推定器の学習が不安定になる。
 例えば、モデルが対称性を有している場合の姿勢推定については、下記の文献[7]に記載されている。
 [7] de Figueiredo, Rui Pimentel, Plinio Moreno, and Alexandre Bernardino. "Fast 3D object recognition of rotationally symmetric objects." Iberian Conference on Pattern Recognition and Image Analysis. Springer, Berlin, Heidelberg, 2013.
 文献[7]に記載された技術は、点群から抽出されたPPF(文献[6])を用いて回転体の3次元物体認識を行うものである。この技術は、入力が点群であり、かつ、特徴量としてPPFを用いる場合にしか適用できない。また、回転体以外の、任意の対称性を有する物体の認識については適用できない。
 制御装置1においては、回転体以外の、任意の対称性を有する物体の姿勢についても、推定することが可能とされる。
<<2.本技術を適用した姿勢推定について>>
<2-1.特徴量を用いた例>
 図7は、撮像画像処理部31の構成例を示すブロック図である。
 図7に示すように、撮像画像処理部31は、学習部51と推定部52から構成される。
 学習部51は、モデルのデータに基づいて学習を行い、対応点の取得に用いられる辞書を生成する生成部として機能する。学習部51は、モデルデータ記憶部61、特徴量抽出領域算出部62、特徴量抽出部63、および辞書記憶部64から構成される。
 モデルデータ記憶部61は、モデルのデータを記憶する。モデルデータ記憶部61が記憶するモデルのデータには、モデルのテクスチャや形状(テクスチャと形状のうちの少なくともいずれか)に関するデータと、モデルの対称性に関するデータが含まれる。破線矢印の先に示すように、モデルの対称性に関するデータは、学習時、特徴量抽出領域算出部62に供給され、姿勢推定時、推定部52のモデル姿勢推定部73に供給される。
 ここで、モデルの対称性は、モデルMに対して座標変換を施した場合に、変換後のモデルMが、変換前のモデルMと一致するような座標変換の集合{Ti}として表される。座標変換Tiを施した変換後のモデルMが、変換前のモデルMと例えばテクスチャや形状において同一である場合に、モデルMは対称性を有していることになる。
 図8に示すようにモデルのそれぞれの頂点を頂点A乃至Eとすると、{Ti}は、頂点Aを頂点Bに移す座標変換T1、頂点Aを頂点Cに移す座標変換T2、頂点Aを頂点Dに移す座標変換T3、頂点Aを頂点Eに移す座標変換T4の4つの座標変換の集合となる。
 {Ti}は、有限集合であってもよいし、無限集合であってもよい。モデルの対称性に関するデータは、制御装置1のユーザにより入力されるようにしてもよいし、モデルのテクスチャや形状に関するデータに基づいて制御装置1において自動的に推定されるようにしてもよい。
 特徴量抽出領域算出部62は、モデルの表面全体のうちの、特徴量を抽出する対象となる一部の領域である部分領域を算出する。部分領域の算出(設定)は、モデルの対称性に関するデータを参照して行われる。
 具体的には、特徴量抽出領域算出部62は、下式(1)の条件と下式(2)の条件を満たす部分領域S0を設定する。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 式(1)は、部分領域S0にいかなる座標変換Tiを施しても、変換後の部分領域S0において、変換前の部分領域S0と重複がないことを要請する条件を表す。
 また、式(2)は、部分領域S0に座標変換Tiを施した変換後の領域の和集合が、モデルMの表面全体を覆うことを要請する条件を表す。SMは、モデルMの表面全体である。i=1,2,3,4である場合、式(2)は、下式(3)のように表される。
Figure JPOXMLDOC01-appb-M000003
 図9は、部分領域S0の算出例を示す図である。
 図9のAにおいて斜線を付して示す部分領域S0は、図9のBに示すように、いかなる座標変換Ti(i=1,2,3,4)を施しても、変換後の領域が、部分領域S0自身と重複することがないことから、式(1)の条件を満たすといえる。
 また、部分領域S0自身と、座標変換Ti(i=1,2,3,4)後の領域T10,T20,T30,T40との和集合がモデルMの全体を覆うことから、式(2)の条件を満たすといえる。
 モデル全体のデータのうち、このようにして算出された部分領域S0のデータが特徴量抽出領域算出部62から特徴量抽出部63に供給される。
 特徴量抽出部63は、部分領域S0のデータに基づいて、部分領域S0内の各点の特徴量を抽出する。抽出された部分領域S0の特徴量のデータは、辞書記憶部64に供給され、辞書を構成するデータとして記憶される。
 モデルの対称性を考慮して、対称性を有する他の部分の位置に座標変換によって移動させた場合に、座標変換後のいずれの領域とも重複しない領域を部分領域S0として設定することにより、同じような特徴量のデータが重複して辞書に格納されてしまうことを防ぐことが可能になる。
 仮に、図10のAに示すような形で部分領域S0が設定された場合について考える。この場合、部分領域S0は、座標変換T1を施した変換後の図10のBに示す領域T10と重複し、図10のCに斜線を付して示す領域の特徴量が重複して辞書に格納されてしまう。式(1)の条件を満たすように部分領域S0が設定されることにより、そのような重複する領域の特徴量のデータが辞書に格納されてしまうことを防ぐことが可能になる。
 また、姿勢を正しく推定するためには、対応点となる多くの点に関する特徴量が用意されていることが望ましい。モデルの対称性を考慮して、対称性を有する他の部分の位置に座標変換によって移動させた場合に、モデルの全体に相当するように部分領域S0を設定することにより、多くの対応点を用いた姿勢の推定が可能になる。
 仮に、図11に斜線を付して示すような形で部分領域S0が設定された場合について考える。この場合、部分領域S0は、式(1)の条件を満たすものの、図9に示すようにして部分領域S0が設定された場合と比べて、特徴量が得られる点の数が少なくなる。式(2)の条件を満たすように部分領域S0が設定されることにより、対応点となる多くの点に関する特徴量を用意することが可能になる。
 式(1)と式(2)の両方の条件を満たすように部分領域S0が設定されることにより、対称性を考慮した、必要十分といえる特徴量を抽出することが可能になる。
 図7の説明に戻り、推定部52は、学習部51による学習によって得られた辞書を参照し、シーンに含まれるモデルの姿勢を推定する。推定部52は、特徴量抽出部71、対応点取得部72、およびモデル姿勢推定部73から構成される。
 特徴量抽出部71は、シーン全体の特徴量を抽出し、対応点取得部72に出力する。
 対応点取得部72は、辞書に格納されている部分領域S0の特徴量と、シーン全体の特徴量とのマッチングを行い、モデル上の点に対応する、シーンに含まれるモデル上の点を対応点として取得する。
 図12は、対応点の例を示す図である。
 学習時、図12の左側に示す部分領域S0内の特徴量が得られているから、モデル上の頂点Aに対応する対応点として、図12に示すように、頂点a,頂点b,頂点c,頂点d,頂点eが取得される。マッチングに用いる特徴量が少ないため、図6を参照して説明したようにモデル全体の特徴量同士のマッチングを行う場合と比べて、マッチングにかかる計算時間を短縮することが可能になる。
 このようにして取得された対応点の情報は、モデル姿勢推定部73に供給される。
 モデル姿勢推定部73は、対応点取得部72により取得された対応点に基づいて、シーンに含まれるモデルの姿勢の候補である姿勢仮説を設定する。例えば、モデル上の点と、その点に対応する、シーンに含まれるモデル上の点との関係に基づいて姿勢仮説が設定される。姿勢仮説は例えば複数設定される。
 また、モデル姿勢推定部73は、複数の姿勢仮説の中から1つの姿勢仮説を最終的な姿勢として選択し、推定結果として出力する。最終的な姿勢の選択は、モデルの対称性に関するデータを参照して行われる。
 最終的な姿勢の選択は、例えば、RANSAC(Random Sampling Consensus)などのロバスト推定や、姿勢クラスタリングにより行われる。ロバスト推定は、与えられた観測値に外れ値(outlier)が含まれている可能性を考慮して推定を行う方法である。
 はじめに、RANSACによる一般的な姿勢の推定について説明する。ここでいう一般的な姿勢の推定は、モデルの対称性を考慮しないで姿勢を推定することを表す。
 RANSACは、姿勢仮説hに対する信頼度s(h)を定義し、姿勢仮説群の中から、信頼度s(h)の値が大きい姿勢仮説hを選択する処理を繰り返し行う方法である。信頼度s(h)は、例えば下式(4)により表される。式(4)は、inlierの数によって信頼度を定義する式である。
Figure JPOXMLDOC01-appb-M000004
 ここで、pmはモデル上の点を表し、psはシーン上の点(シーンに含まれるモデル上の点)を表す。pmとpsは、対応点取得部72により対応点として取得される。d(p,q)は、点pと点q間の距離を定義する関数である。点pと点q間の距離として例えばユークリッド距離が用いられる。ユークリッド距離は、下式(5)により表される。
Figure JPOXMLDOC01-appb-M000005
 また、式(4)のσは、予め定められた閾値である。また、1(・)は、括弧内の条件が成立する場合に1の値をとり、それ以外の場合に0の値をとる関数である。
 式(4)においては、モデル上の点pmに姿勢仮説hを与えたときのシーン上の点hpmと、点pmの対応点であるシーン上の点psとの距離の最小値が閾値σより小さい場合に値1が設定される。また、そのような値の設定が全ての点psについて行われたときの設定値の合計が、信頼度s(h)として求められる。
 図13は、設定値の計算の例を示す図である。
 モデル上に示す点pmに対して実線矢印で示すように姿勢仮説hを与えた場合、モデル上の点pmは、シーン上の点hpmとして表される。シーン上の点hpmと、対応点である複数の点psのそれぞれとの距離のうちの最小となる距離が、閾値σと比較され、設定値が設定される。図13の例においては、シーン上に示す白抜きの三角はそれぞれ対応点としての点psを表す。
 次に、姿勢クラスタリングによる一般的な姿勢の推定について説明する。
 姿勢クラスタリングは、姿勢仮説群の中から、姿勢の類似度が高い姿勢仮説同士をグルーピングすることで、最終的なモデルの姿勢を算出するものである。2つの姿勢仮説h1,h2間の類似度l(h1,h2)は、例えば下式(6)により表される。式(6)は、並進成分と回転成分によって類似度を定義する式である。
Figure JPOXMLDOC01-appb-M000006
 ここで、trans(h)は姿勢仮説hの並進成分の大きさを表し、angle(h)は姿勢仮説hの回転角の大きさを表す。σt,σrは、予め定められた閾値である。
 並進成分の値が閾値σtより小さく、かつ、回転成分の値が閾値σrより小さい場合に、類似度l(h1,h2)は1の値をとる。
 推定部52のモデル姿勢推定部73は、このようなRANSACや姿勢クラスタリングを、モデルの対称性を考慮して行う。上述したように、モデルの対称性は{Ti}として表される。モデルの対称性{Ti}を考慮することにより、値は異なるが、実質的に類似する姿勢仮説が等価の姿勢仮説として扱われる。
 RANSACにおいてモデルの対称性を考慮した場合、信頼度s(h)を定義する上式(4)は、下式(7)のように変更される。
Figure JPOXMLDOC01-appb-M000007
 式(7)においては、モデル上の点pmに姿勢仮説hを与えたときのシーン上の点hpmの計算に、モデルの対称性{Ti}が用いられる。モデルの対称性{Ti}を用いたシーン上の点Tihpmと、点pmの対応点であるシーン上の点psとの距離の最小値が閾値σより小さい場合に値1が設定される。また、そのような値の設定が全ての点psについて行われたときの設定値の合計が信頼度s’(h)として求められる。
 図14は、設定値の計算の例を示す図である。
 モデル上に示す点pmに対して、実線矢印で示すようにモデルの対称性{Ti}を考慮して姿勢仮説hを与えた場合、モデル上の点pmは、シーン上の点Tihpmとして表される。シーン上の点Tihpmと、対応点である複数の点psのそれぞれとの距離のうちの最小となる距離が、閾値σと比較され、設定値が設定される。
 一方、姿勢クラスタリングにおいてモデルの対称性を考慮した場合、類似度l(h1,h2)を定義する上式(6)は、下式(8)のように変更される。
Figure JPOXMLDOC01-appb-M000008
 式(8)においては、姿勢仮説h1の設定に、モデルの対称性{Ti}が用いられる。モデルの対称性{Ti}を用いた姿勢仮説Ti1のそれぞれと、姿勢仮説h2間の類似度の最大値が、類似度l’(Tih1,h2)として算出される。
 図15は、姿勢仮説の類似度の計算の例を示す図である。
 例えば、図15の左側に示す姿勢仮説h1と右側に示す姿勢仮説h2が取得されている場合について考える。この場合、モデルMが対称性を有しているため、両者の姿勢仮説は実質的に等価であると考えられる。姿勢仮説h1と姿勢仮説h2の類似度l(h1,h2)は値1として求められることが望ましい。
 しかし、上式(6)で表される類似度の計算においては、姿勢仮説h1と姿勢仮説h2の類似度l(h1,h2)は値0として求められる。これは、姿勢仮説h1と姿勢仮説h2の回転成分の値が大きく異なるためである。
 一方、モデルの対称性{Ti}を考慮した、上式(8)で表される類似度の計算においては、姿勢仮説h1と姿勢仮説h2の類似度l’(h1,h2)は値1として求められる。これは、姿勢仮説h1に座標変換T1(頂点Aを頂点Bに移す座標変換)を施した場合、姿勢仮説h1のモデルは、図16の左側に示す姿勢に変換され、変換後の姿勢仮説T11と、姿勢仮説h2の値が近くなるためである。姿勢仮説T11と姿勢仮説h2を重ねて示した場合、2つの姿勢仮説の関係は図17のように示される。
 この結果、値は異なるものの、実質的に類似する2つの姿勢仮説h1,h2をグルーピングすることが可能となり、最終的な姿勢推定のロバスト性を向上させることが可能になる。
 モデル姿勢推定部73は、このような、モデルの対称性を考慮したRANSAC、または姿勢クラスタリングにより1つの姿勢仮説を最終的な姿勢として選択し、推定結果として出力する。
・制御装置の動作
 ここで、以上のような構成を有する制御装置1の動作について説明する。
 はじめに、図18のフローチャートを参照して、辞書を生成する処理である学習処理について説明する。
 図18の学習処理は、例えば、モデルのテクスチャや形状に関するデータと、モデルの対称性に関するデータが入力されたときに開始される。
 ステップS1において、特徴量抽出領域算出部62は、モデルの対称性に関するデータを参照し、特徴量を抽出する対象となる部分領域S0を算出する。ここでは、上述したように式(1)の条件と式(2)の条件とを満たす部分領域S0が設定される。
 ステップS2において、特徴量抽出部63は、部分領域S0内の特徴量を抽出する。
 ステップS3において、辞書記憶部64は、部分領域S0の特徴量のデータを辞書に格納し、処理を終了させる。
 次に、図19のフローチャートを参照して、シーンに含まれるモデルの姿勢を推定する処理である推定処理について説明する。
 図19の推定処理は、シーンのデータが入力されたときに開始される。
 ステップS11において、特徴量抽出部71は、シーン全体の特徴量を抽出する。
 ステップS12において、対応点取得部72は、辞書記憶部64に記憶されている辞書を参照し、部分領域S0の特徴量とシーン全体の特徴量とのマッチングを行うことによって、モデル上の点に対応する、シーンに含まれるモデル上の点を対応点として取得する。
 ステップS13において、モデル姿勢推定部73は、モデルの対称性を考慮したRANSACまたは姿勢クラスタリングを行うことによって1つの姿勢仮説を最終的な姿勢として選択し、推定結果として出力する。
 以上のようにして撮像画像処理部31により推定された物体の姿勢に基づいて、投影画像の補正などが投影画像処理部32において行われる。
 以上のように、学習時の特徴量の抽出対象となる領域を部分領域S0に限定することにより、対応点の取得のための計算を高速化することが可能になる。
 また、物体の対称性を考慮して姿勢を推定することによって、実質的に類似する複数の姿勢仮説を等価の姿勢仮説として扱うことができる。これにより、最終的な姿勢推定のロバスト性を向上させることが可能になる。
 さらに、制御装置1が処理対象とするモデルの対称性は任意であるため、回転体に限らず、任意の対称性を有する物体についての姿勢推定が可能になる。
<2-2.機械学習を用いた例>
 図20は、撮像画像処理部31の他の構成例を示すブロック図である。
 図20に示す撮像画像処理部31においては、機械学習が行われることによって姿勢推定器が生成される。また、機械学習によって生成された姿勢推定器を用いて姿勢が推定される。姿勢推定器の学習と、姿勢推定器を用いた姿勢の推定が、モデルの対称性を考慮して行われる。上述した説明と重複する説明については適宜省略する。
 図20に示すように、撮像画像処理部31は、学習部101と推定部102から構成される。
 学習部101は、モデルのデータに基づいて機械学習を行い、対応点の取得に用いられる推定器を生成する生成部として機能する。学習部101は、モデルデータ記憶部111、対応点推定領域算出部112、および対応点推定器113から構成される。
 モデルデータ記憶部111は、モデルのデータを記憶する。モデルデータ記憶部111が記憶するモデルのデータには、モデルのテクスチャや形状に関するデータと、モデルの対称性に関するデータが含まれる。破線矢印の先に示すように、モデルの対称性に関するデータは、学習時、対応点推定領域算出部112に供給され、姿勢推定時、推定部102のモデル姿勢推定部122に供給される。
 対応点推定領域算出部112は、図7の特徴量抽出領域算出部62と同様に、モデルの表面全体のうちの一部の領域である部分領域S0を算出する。部分領域S0が、対応点の推定に用いられる領域となる。対応点推定領域算出部112により、上式(1)の条件と上式(2)の条件を満たす部分領域S0が設定される。
 対応点推定領域算出部112は、モデル全体のうちの部分領域S0のデータを用いた機械学習を行い、対応点推定器113を生成する。対応点推定器113の生成には、適宜、対応点に関する情報も用いられる。
 部分領域S0のデータを用いた機械学習によって生成された対応点推定器113は、シーンを入力としたときに対応点を出力とする推定器である。対応点推定器113は、例えば、Random Forestの推定器、Random Fernsの推定器、ニューラルネットワークとして構成される。
 推定部102は、学習部101による機械学習によって得られた対応点推定器113を用いて対応点を取得し、シーンに含まれるモデルの姿勢を推定する。推定部102は、対応点取得部121とモデル姿勢推定部122から構成される。
 対応点取得部121は、対応点推定器113にシーンを入力し、対応点推定器113から出力された対応点を取得する。対応点推定器113を用いて取得された対応点の情報はモデル姿勢推定部122に供給される。
 モデル姿勢推定部122は、図7のモデル姿勢推定部73と同様に、対応点取得部121により取得された対応点に基づいて、シーンに含まれるモデルの姿勢の候補である姿勢仮説を設定する。
 また、モデル姿勢推定部122は、モデルの対称性を考慮したRANSAC、または姿勢クラスタリングにより1つの姿勢仮説を最終的な姿勢として選択し、推定結果として出力する。
・制御装置の動作
 ここで、図20の構成を有する制御装置1の動作について説明する。
 はじめに、図21のフローチャートを参照して、姿勢推定器を生成する処理である学習処理について説明する。
 ステップS51において、対応点推定領域算出部112は、モデルの対称性に関するデータを参照し、部分領域S0を算出する。ここでは、上述したように式(1)の条件と式(2)の条件とを満たす部分領域S0が算出される。
 ステップS52において、対応点推定領域算出部112は、モデル全体のうちの部分領域S0のデータを用いた機械学習を行い、対応点推定器113を生成する。
 次に、図22のフローチャートを参照して、シーンに含まれるモデルの姿勢を推定する処理である推定処理について説明する。
 ステップS61において、対応点取得部121は、対応点推定器113にシーンを入力し、対応点推定器113から出力された対応点を取得する。
 ステップS62において、モデル姿勢推定部122は、モデルの対称性を考慮したRANSACまたは姿勢クラスタリングにより1つの姿勢仮説を最終的な姿勢として選択し、推定結果として出力する。
 以上のようにして撮像画像処理部31により推定された物体の姿勢に基づいて、投影画像の補正などが投影画像処理部32において行われる。
 以上のように、機械学習に用いる領域を部分領域S0に限定することにより、推定器の計算を高速化することが可能になる。
<<3.変形例>>
 図7の例においては、辞書の学習を行う学習部51と、辞書を用いて姿勢の推定を行う推定部52とが1つの装置において実現されるものとしたが、それぞれ異なる装置において実現されるようにしてもよい。この場合、学習部51を有する装置において生成された辞書が、推定部52を有する装置に供給され、姿勢の推定に用いられる。
 図20の例においては、姿勢推定器の機械学習を行う学習部101と、姿勢推定器を用いて姿勢の推定を行う推定部102とが1つの装置において実現されるものとしたが、それぞれ異なる装置において実現されるようにしてもよい。この場合、学習部101を有する装置において生成された姿勢推定器が、推定部102を有する装置に供給され、姿勢の推定に用いられる。
 プロジェクタとは別の筐体の装置として制御装置1が用意されるものとしたが、複数のプロジェクタのうちのいずれかに、制御装置1の上述した機能が搭載されるようにしてもよい。
 複数のプロジェクタのそれぞれと制御装置1が有線または無線の通信を介して接続されるものとしたが、インターネットを介して接続されるようにしてもよい。
 以上のような対称性を有する物体の姿勢の推定は、図1を参照して説明した投影システム以外のシステムに適用可能である。以上のような姿勢推定の技術は、例えば、推定した姿勢に基づいてコンテンツを表示する拡張現実感(AR)や仮想現実感(VR)、ロボットによる物体の把持などに用いられる。
・コンピュータの構成例
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
 図23は、上述した処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
 例えば、制御装置1は、図23に示すような構成を有するコンピュータにより実現される。
 CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203は、バス204により相互に接続されている。
 バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウスなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続される。また、入出力インタフェース205には、ハードディスクや不揮発性のメモリなどよりなる記憶部208、ネットワークインタフェースなどよりなる通信部209、リムーバブルメディア211を駆動するドライブ210が接続される。
 以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを入出力インタフェース205及びバス204を介してRAM203にロードして実行することにより、上述した一連の処理が行われる。
 CPU201が実行するプログラムは、例えばリムーバブルメディア211に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部208にインストールされる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
・構成の組み合わせ例
 本技術は、以下のような構成をとることもできる。
(1)
 認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習が行われることによって得られた、対応点の特定に用いられる学習済みデータに基づいて、前記モデル上の第1の点に対応する、入力されたシーンに含まれる前記モデル上の第2の点を前記対応点として特定する対応点取得部と、
 前記対応点に基づいて、前記シーンに含まれる前記モデルの姿勢を推定する姿勢推定部と
 を備える情報処理装置。
(2)
 前記所定の部分は、テクスチャと形状のうちの少なくともいずれかの対称性を有する複数の前記他の部分のそれぞれの位置に移動させた場合に、いずれの前記他の部分とも重複する領域がないように設定された部分である
 前記(1)に記載の情報処理装置。
(3)
 前記所定の部分は、さらに、対称性を有する複数の前記他の部分のそれぞれの位置に移動させた場合に、移動後の部分の和集合が、前記モデル全体に相当するように設定された部分である
 前記(2)に記載の情報処理装置。
(4)
 前記所定の部分の特徴量を抽出する特徴量抽出部をさらに備え、
 前記対応点取得部は、前記所定の部分の各点の前記特徴量のデータを含む、前記学習済みデータとしての辞書に基づいて前記対応点を特定する
 前記(3)に記載の情報処理装置。
(5)
 前記辞書を記憶する辞書記憶部をさらに備える
 前記(4)に記載の情報処理装置。
(6)
 前記対応点取得部は、前記所定の部分のデータと前記対応点に関する情報を用いた機械学習を行うことによって得られた、前記学習済みデータとしての推定器に基づいて前記対応点を特定する
 前記(3)に記載の情報処理装置。
(7)
 前記姿勢推定部は、RANSACを用いることによって、前記第1の点と前記第2の点との関係に基づいて特定される複数の姿勢仮説のうちの所定の姿勢仮説を、前記シーンに含まれる前記モデルの姿勢として推定する
 前記(3)乃至(6)のいずれかに記載の情報処理装置。
(8)
 前記姿勢推定部は、前記所定の部分を、対称性を有する複数の前記他の部分のそれぞれの位置に移動させる座標変換に相当する変換を前記第1の点に施したときの変換後の前記第1の点と、前記第2の点との距離に基づいて算出されるそれぞれの前記姿勢仮説の信頼度に基づいて、前記シーンに含まれる前記モデルの姿勢を推定する
 前記(7)に記載の情報処理装置。
(9)
 前記姿勢推定部は、複数の前記座標変換に相当する変換を前記第1の点に施したときの複数の変換後の前記第1の点のうち、前記第2の点との距離が最も近い変換後の前記第1の点と、前記第2の点との距離を算出することを、複数の前記第2の点のそれぞれについて行い、前記信頼度を算出する
 前記(8)に記載の情報処理装置。
(10)
 前記姿勢推定部は、前記第1の点と前記第2の点との関係に基づいて特定される複数の姿勢仮説のクラスタリングを、前記姿勢仮説の類似度を指標として行うことによって、前記シーンに含まれる前記モデルの姿勢を推定する
 前記(3)乃至(6)のいずれかに記載の情報処理装置。
(11)
 前記姿勢推定部は、前記所定の部分を、対称性を有する複数の前記他の部分のそれぞれの位置に移動させる座標変換に相当する変換を、前記類似度を求める複数の前記姿勢仮説のうちの所定の前記姿勢仮説に対して施し、変換後の前記姿勢仮説と他の前記姿勢仮説との前記類似度を算出する
 前記(10)に記載の情報処理装置。
(12)
 情報処理装置が、
 認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習が行われることによって得られた、対応点の特定に用いられる学習済みデータに基づいて、前記モデル上の第1の点に対応する、入力されたシーンに含まれる前記モデル上の第2の点を前記対応点として特定し、
 前記対応点に基づいて、前記シーンに含まれる前記モデルの姿勢を推定する
 情報処理方法。
(13)
 コンピュータに、
 認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習が行われることによって得られた、対応点の特定に用いられる学習済みデータに基づいて、前記モデル上の第1の点に対応する、入力されたシーンに含まれる前記モデル上の第2の点を前記対応点として特定し、
 前記対応点に基づいて、前記シーンに含まれる前記モデルの姿勢を推定する
 処理を実行させるためのプログラム。
(14)
 認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習を行うことによって、入力されたシーンに含まれる前記モデルの姿勢の推定時に、前記モデル上の第1の点に対応する、前記シーンに含まれる前記モデル上の第2の点を対応点として特定することに用いられる学習済みデータを生成する生成部を備える
 情報処理装置。
(15)
 テクスチャと形状のうちの少なくともいずれかの対称性を有する複数の前記他の部分のそれぞれの位置に移動させた場合に、いずれの前記他の部分とも重複する領域がないように、前記所定の部分を設定する領域算出部をさらに備える
 前記(14)に記載の情報処理装置。
(16)
 前記領域算出部は、さらに、対称性を有する複数の前記他の部分のそれぞれの位置に移動させた場合に、移動後の部分の和集合が、前記モデル全体に相当するように前記所定の部分を設定する
 前記(15)に記載の情報処理装置。
(17)
 情報処理装置が、
 認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習を行うことによって、入力されたシーンに含まれる前記モデルの姿勢の推定時に、前記モデル上の第1の点に対応する、前記シーンに含まれる前記モデル上の第2の点を対応点として特定することに用いられる学習済みデータを生成する
 情報処理方法。
(18)
 コンピュータに、
 認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習を行うことによって、入力されたシーンに含まれる前記モデルの姿勢の推定時に、前記モデル上の第1の点に対応する、前記シーンに含まれる前記モデル上の第2の点を対応点として特定することに用いられる学習済みデータを生成する
 処理を実行させるためのプログラム。
 1 制御装置, 31 撮像画像処理部, 32 投影画像処理部, 51 学習部, 52 推定部, 61 モデルデータ記憶部, 62 特徴量抽出領域算出部, 63 特徴量抽出部, 64 辞書記憶部, 71 特徴量抽出部, 72 対応点取得部, 73 モデル姿勢推定部, 101 学習部, 102 推定部, 111 モデルデータ記憶部, 112 対応点推定領域算出部, 113 対応点推定器, 121 対応点取得部, 122 モデル姿勢推定部

Claims (18)

  1.  認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習が行われることによって得られた、対応点の特定に用いられる学習済みデータに基づいて、前記モデル上の第1の点に対応する、入力されたシーンに含まれる前記モデル上の第2の点を前記対応点として特定する対応点取得部と、
     前記対応点に基づいて、前記シーンに含まれる前記モデルの姿勢を推定する姿勢推定部と
     を備える情報処理装置。
  2.  前記所定の部分は、テクスチャと形状のうちの少なくともいずれかの対称性を有する複数の前記他の部分のそれぞれの位置に移動させた場合に、いずれの前記他の部分とも重複する領域がないように設定された部分である
     請求項1に記載の情報処理装置。
  3.  前記所定の部分は、さらに、対称性を有する複数の前記他の部分のそれぞれの位置に移動させた場合に、移動後の部分の和集合が、前記モデル全体に相当するように設定された部分である
     請求項2に記載の情報処理装置。
  4.  前記所定の部分の特徴量を抽出する特徴量抽出部をさらに備え、
     前記対応点取得部は、前記所定の部分の各点の前記特徴量のデータを含む、前記学習済みデータとしての辞書に基づいて前記対応点を特定する
     請求項3に記載の情報処理装置。
  5.  前記辞書を記憶する辞書記憶部をさらに備える
     請求項4に記載の情報処理装置。
  6.  前記対応点取得部は、前記所定の部分のデータと前記対応点に関する情報を用いた機械学習を行うことによって得られた、前記学習済みデータとしての推定器に基づいて前記対応点を特定する
     請求項3に記載の情報処理装置。
  7.  前記姿勢推定部は、RANSACを用いることによって、前記第1の点と前記第2の点との関係に基づいて特定される複数の姿勢仮説のうちの所定の姿勢仮説を、前記シーンに含まれる前記モデルの姿勢として推定する
     請求項3に記載の情報処理装置。
  8.  前記姿勢推定部は、前記所定の部分を、対称性を有する複数の前記他の部分のそれぞれの位置に移動させる座標変換に相当する変換を前記第1の点に施したときの変換後の前記第1の点と、前記第2の点との距離に基づいて算出されるそれぞれの前記姿勢仮説の信頼度に基づいて、前記シーンに含まれる前記モデルの姿勢を推定する
     請求項7に記載の情報処理装置。
  9.  前記姿勢推定部は、複数の前記座標変換に相当する変換を前記第1の点に施したときの複数の変換後の前記第1の点のうち、前記第2の点との距離が最も近い変換後の前記第1の点と、前記第2の点との距離を算出することを、複数の前記第2の点のそれぞれについて行い、前記信頼度を算出する
     請求項8に記載の情報処理装置。
  10.  前記姿勢推定部は、前記第1の点と前記第2の点との関係に基づいて特定される複数の姿勢仮説のクラスタリングを、前記姿勢仮説の類似度を指標として行うことによって、前記シーンに含まれる前記モデルの姿勢を推定する
     請求項3に記載の情報処理装置。
  11.  前記姿勢推定部は、前記所定の部分を、対称性を有する複数の前記他の部分のそれぞれの位置に移動させる座標変換に相当する変換を、前記類似度を求める複数の前記姿勢仮説のうちの所定の前記姿勢仮説に対して施し、変換後の前記姿勢仮説と他の前記姿勢仮説との前記類似度を算出する
     請求項10に記載の情報処理装置。
  12.  情報処理装置が、
     認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習が行われることによって得られた、対応点の特定に用いられる学習済みデータに基づいて、前記モデル上の第1の点に対応する、入力されたシーンに含まれる前記モデル上の第2の点を前記対応点として特定し、
     前記対応点に基づいて、前記シーンに含まれる前記モデルの姿勢を推定する
     情報処理方法。
  13.  コンピュータに、
     認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習が行われることによって得られた、対応点の特定に用いられる学習済みデータに基づいて、前記モデル上の第1の点に対応する、入力されたシーンに含まれる前記モデル上の第2の点を前記対応点として特定し、
     前記対応点に基づいて、前記シーンに含まれる前記モデルの姿勢を推定する
     処理を実行させるためのプログラム。
  14.  認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習を行うことによって、入力されたシーンに含まれる前記モデルの姿勢の推定時に、前記モデル上の第1の点に対応する、前記シーンに含まれる前記モデル上の第2の点を対応点として特定することに用いられる学習済みデータを生成する生成部を備える
     情報処理装置。
  15.  テクスチャと形状のうちの少なくともいずれかの対称性を有する複数の前記他の部分のそれぞれの位置に移動させた場合に、いずれの前記他の部分とも重複する領域がないように、前記所定の部分を設定する領域算出部をさらに備える
     請求項14に記載の情報処理装置。
  16.  前記領域算出部は、さらに、対称性を有する複数の前記他の部分のそれぞれの位置に移動させた場合に、移動後の部分の和集合が、前記モデル全体に相当するように前記所定の部分を設定する
     請求項15に記載の情報処理装置。
  17.  情報処理装置が、
     認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習を行うことによって、入力されたシーンに含まれる前記モデルの姿勢の推定時に、前記モデル上の第1の点に対応する、前記シーンに含まれる前記モデル上の第2の点を対応点として特定することに用いられる学習済みデータを生成する
     情報処理方法。
  18.  コンピュータに、
     認識対象となる物体であるモデル全体のうち、他の部分と対称性を有する所定の部分のデータを用いた学習を行うことによって、入力されたシーンに含まれる前記モデルの姿勢の推定時に、前記モデル上の第1の点に対応する、前記シーンに含まれる前記モデル上の第2の点を対応点として特定することに用いられる学習済みデータを生成する
     処理を実行させるためのプログラム。
PCT/JP2019/006202 2018-03-06 2019-02-20 情報処理装置、情報処理方法、およびプログラム WO2019171944A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP19763265.6A EP3764323B1 (en) 2018-03-06 2019-02-20 Information processing device, information processing method, and program
US16/976,719 US11393124B2 (en) 2018-03-06 2019-02-20 Information processing apparatus, information processing method, and program
JP2020504905A JP7207396B2 (ja) 2018-03-06 2019-02-20 情報処理装置、情報処理方法、およびプログラム
CN201980016074.5A CN111801710A (zh) 2018-03-06 2019-02-20 信息处理装置、信息处理方法及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-039313 2018-03-06
JP2018039313 2018-03-06

Publications (1)

Publication Number Publication Date
WO2019171944A1 true WO2019171944A1 (ja) 2019-09-12

Family

ID=67846514

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/006202 WO2019171944A1 (ja) 2018-03-06 2019-02-20 情報処理装置、情報処理方法、およびプログラム

Country Status (5)

Country Link
US (1) US11393124B2 (ja)
EP (1) EP3764323B1 (ja)
JP (1) JP7207396B2 (ja)
CN (1) CN111801710A (ja)
WO (1) WO2019171944A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230341143A1 (en) * 2020-11-06 2023-10-26 Hitachi, Ltd. Air-Conditioning System

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190078A (ja) * 2005-01-06 2006-07-20 Nikon Corp パターンマッチング装置
JP2016071547A (ja) * 2014-09-29 2016-05-09 キヤノン株式会社 情報処理装置とその制御方法、プログラム、記憶媒体
JP2016207147A (ja) 2015-04-28 2016-12-08 オムロン株式会社 テンプレート作成装置及びテンプレート作成方法
JP2018028774A (ja) * 2016-08-17 2018-02-22 エイチエスティ・ビジョン株式会社 画像処理装置及び画像処理用プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4093273B2 (ja) * 2006-03-13 2008-06-04 オムロン株式会社 特徴点検出装置、特徴点検出方法および特徴点検出プログラム
KR100855631B1 (ko) * 2006-12-26 2008-09-01 (주)엔토시스 특징벡터 검출장치 및 방법, 그리고, 이를 이용한얼굴인식장치 및 방법
JP5863440B2 (ja) 2010-12-28 2016-02-16 キヤノン株式会社 情報処理装置および方法
JP5895703B2 (ja) * 2012-05-22 2016-03-30 ソニー株式会社 画像処理装置及び画像処理方法、並びにコンピューター・プログラム
US10373369B2 (en) * 2017-03-16 2019-08-06 Qualcomm Technologies, Inc. Three-dimensional pose estimation of symmetrical objects

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190078A (ja) * 2005-01-06 2006-07-20 Nikon Corp パターンマッチング装置
JP2016071547A (ja) * 2014-09-29 2016-05-09 キヤノン株式会社 情報処理装置とその制御方法、プログラム、記憶媒体
JP2016207147A (ja) 2015-04-28 2016-12-08 オムロン株式会社 テンプレート作成装置及びテンプレート作成方法
JP2018028774A (ja) * 2016-08-17 2018-02-22 エイチエスティ・ビジョン株式会社 画像処理装置及び画像処理用プログラム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BAY, HERBERTTINNE TUYTELAARSLUC VAN GOOL: "Surf: Speeded up robust features", COMPUTER VISION-ECCV 2006, 2006, pages 404 - 417, XP055549902, DOI: 10.1007/11744023_32
DROST, BERTRAM ET AL.: "Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on", 2010, IEEE, article "Model globally, match locally: Efficient and robust 3D object recognition"
LOWE, DAVID G.: "Computer vision, 1999. The proceedings of the seventh IEEE international conference on", vol. 2, 1999, IEEE, article "Object recognition from local scale-invariant features"
RUBLEE, ETHAN ET AL.: "Computer Vison (ICCV), 2011 IEEE international conference on", 2011, IEEE, article "ORB: An efficient alternative to SIFT or SURF"
RUSU, RADU BOGDANNICO BLODOWMICHAEL BEETZ: "Robotics and Automation, 2009. ICRA'09. IEEE International Conference on", 2009, IEEE, article "Fast point feature histograms (FPFH) for 3D registration"
TOMBARI, FEDERICOSAMUELE SALTILUIGI DI STEFANO: "European conference on computer vision", 2010, SPRINGER, article "Unique signatures of histograms for local surface description"

Also Published As

Publication number Publication date
EP3764323B1 (en) 2023-09-06
EP3764323A4 (en) 2021-04-28
EP3764323A1 (en) 2021-01-13
CN111801710A (zh) 2020-10-20
JPWO2019171944A1 (ja) 2021-02-18
US11393124B2 (en) 2022-07-19
US20200410714A1 (en) 2020-12-31
JP7207396B2 (ja) 2023-01-18

Similar Documents

Publication Publication Date Title
US10936911B2 (en) Logo detection
US10769411B2 (en) Pose estimation and model retrieval for objects in images
US20160286138A1 (en) Apparatus and method for stitching panoramaic video
JP6318162B2 (ja) 3次元の顔モデルを生成する方法
CN112084849B (zh) 图像识别方法和装置
JP5261501B2 (ja) 不変の視覚場面及び物体の認識
JP4709668B2 (ja) 3次元物体認識システム
Rambach et al. Learning 6dof object poses from synthetic single channel images
JP7277116B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2017120672A5 (ja) 画像処理装置、画像処理システム、および画像処理方法
WO2014112346A1 (ja) 特徴点位置検出装置、特徴点位置検出方法および特徴点位置検出プログラム
KR20230049969A (ko) 글로벌 측위 장치 및 방법
US20230150142A1 (en) Device and method for training a machine learning model for generating descriptor images for images of objects
Makihara et al. Grasp pose detection for deformable daily items by pix2stiffness estimation
JP6955081B2 (ja) オブジェクト姿勢を決定するための電子デバイス、システムおよび方法
WO2019171944A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2010184300A (ja) 姿勢変更システムおよび姿勢変更方法
JP2015187769A (ja) 物体検出装置、物体検出方法及びプログラム
WO2023273272A1 (zh) 目标位姿估计方法、装置、计算设备、存储介质及计算机程序
Gu et al. Automated assembly skill acquisition through human demonstration
Sarkar et al. Feature-augmented Trained Models for 6DOF Object Recognition and Camera Calibration.
CN111178299A (zh) 图像处理方法、装置、电子设备和存储介质
WO2024185134A1 (ja) カメラ姿勢推定装置、カメラ姿勢推定方法、及びコンピュータ読み取り可能な記録媒体
Kanojia et al. Who shot the picture and when?
CN114424519B (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: 19763265

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020504905

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019763265

Country of ref document: EP

Effective date: 20201006