WO2011105616A1 - Three-dimensional measurement apparatus, model generation apparatus, processing method thereof, and non-transitory computer-readable storage medium - Google Patents
Three-dimensional measurement apparatus, model generation apparatus, processing method thereof, and non-transitory computer-readable storage medium Download PDFInfo
- Publication number
- WO2011105616A1 WO2011105616A1 PCT/JP2011/054678 JP2011054678W WO2011105616A1 WO 2011105616 A1 WO2011105616 A1 WO 2011105616A1 JP 2011054678 W JP2011054678 W JP 2011054678W WO 2011105616 A1 WO2011105616 A1 WO 2011105616A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- edges
- dimensional
- reliability
- view
- measurement object
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
Definitions
- the present invention relates to a three- dimensional measurement apparatus, a model generation apparatus, processing method thereof, and non- transitory computer-readable storage medium.
- robots perform complicated tasks, which were manually performed so far.
- assembling processes of industrial products are known.
- Such robot grips parts by an end effecter such as a hand, so as to autonomously perform assembling
- HMD abbreviated as HMD hereinafter
- D. G. Lowe, "Fitting parameterized three- dimensional models to images," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 13, no. 5, pp. 441 - 450, 1991. discloses a technique for measuring the position and orientation of an object by performing model fitting to a two-dimensional image without requiring sufficient texture information. With this technique, a three-dimensional geometric model of an object is fitted to line segments (edges) detected from a two-dimensional image. Thus, the position and orientation of the object are measured. More
- the two-dimensional image is separated into line segments using local connection information.
- the position and orientation of the object are measured using a Gauss-Newton method so as to minimize a sum total of distances on the image between the end points on both sides of the detected line segments and the line segments of the three- dimensional geometric model based on approximate values of the position and orientation of the object.
- Intelligence, vol. 24, no. 7, pp. 932 - 946, 2002. discloses a technique for conducting an edge search only in the vicinity of line segments of a three-dimensional
- reference 2 also describes a technique for calculating
- orientation of an object can be measured with high precision as long as edges that obviously indicate texture and shape changes of a target object are always stably detected.
- edges detected in the image normally change accordingly. In such case, the correspondence between the edges
- edges are also detected from a background region other than a
- observabilities at a plurality of view-points are to be left, only an insufficient number of edges may be obtained. Even when a large number of edges with high observabilities are left, these edges may be biased to a portion of a model. In such case, the
- the present invention provides a technique which changes degrees of contribution of respective edges with respect to position/orientation calculation processing using a model in which reliabilities are assigned to respective edges upon measurement of the position and orientation of an object.
- a three-dimensional measurement apparatus which measures a position and an orientation of a measurement object using a three- dimensional geometric model that defines a shape of the measurement object using a plurality of first edges
- the apparatus characterized by comprising: view-point image generation means for generating a plurality of view-point images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model; edge detection means for detecting edges of the measurement object from the plurality of view-point images as second edges; reliability calculation means for associating the second edges with the first edges, respectively, and calculating respective reliabilities of the first edges based on the association result; weighting means for weighting each of the first edges based on the respective reliabilities of the first edges calculated by the reliability calculation means; and position/orientation calculation means for associating third edges detected from a captured image obtained by capturing an image of the measurement object with the first edges weighted by the weighting means, and calculating a
- the apparatus characterized by comprising: view-point image
- generation means for generating a plurality of viewpoint images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model; edge detection means for detecting edges of the measurement object from the plurality of view-point images; reliability calculation means for associating the detected edges of the measurement object with edges of the three- dimensional geometric model, and calculating
- generation means for generating a reliability-assigned model by assigning the reliabilities of the edges to the edges of the three-dimensional geometric model.
- a three-dimensional measurement apparatus which measures a position and an orientation of a measurement object
- the apparatus characterized by comprising: holding means for holding a reliability-assigned model obtained by defining a shape of the measurement object using a plurality of edges, and assigning reliabilities to the edges, respectively; edge detection means for detecting edges from a captured image obtained by capturing an image of the measurement object; weighting means for weighting the edges of the reliability-assigned model based on the reliabilities assigned to the edges; and
- position/orientation calculation means for associating the edges weighted by the weighting means with the edges of the reliability-assigned model held in the holding means, and calculating a position and an orientation of the measurement object based on the association result.
- a processing method of a three-dimensional measurement apparatus which measures a position and an orientation of a measurement object using a three-dimensional geometric model that defines a shape of the measurement object using a plurality of first edges
- the method characterized by comprising: a step of generating a plurality of view-point images obtained by observing the measurement object from a plurality of different view-points using the three- dimensional geometric model; a step of detecting edges of the measurement object from the plurality of viewpoint images as second edges; a step of associating the second edges with the first edges, respectively, and calculating respective reliabilities of the first edges based on the association result; a step of weighting the each of first edges based on the respective
- a non-transitory computer- readable storage medium storing a computer program for controlling a computer incorporated in a three- dimensional measurement apparatus, which measures a position and an orientation of a measurement object using a three-dimensional geometric model that defines a shape of the measurement object using a plurality of first edges, to function as: view-point image
- generation means for generating a plurality of viewpoint images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model; edge detection means for detecting edges of the measurement object from the plurality of view-point images as second edges; reliability calculation means for associating the second edges with the first edges, respectively, and calculating respective reliabilities of the first edges based on the association result; weighting means for weighting each of the first edges based on the respective reliabilities of the first edges; and position/orientation calculation means for associating third edges detected from a captured image obtained by capturing an image of the measurement object with the first edges weighted by the weighting means, and calculating a position and an orientation of the measurement object based on the association result.
- Fig. 1 is a block diagram showing an example of the arrangement of a three-dimensional T/JP2011/054678
- FIGs. 2A to 2D are views showing an example of definition information of a three-dimensional geometric model
- FIG. 3 is a flowchart showing an example of the sequence of processing in a three-dimensional measurement apparatus 100 shown in Fig. 1;
- Fig. 4 is a view illustrating generation of a view-point image
- Fig. 5 is a table showing an example of edge list data
- Fig. 6 is a table showing an example of definition information of a reliability-assigned model
- Fig. 7 is a flowchart showing an example of the sequence of processing in the three-dimensional measurement apparatus 100 shown in Fig. 1;
- FIGs. 8A and 8B are views showing an example of an overview of an edge detection method
- Fig. 9 is a flowchart showing an example of the sequence of position/orientation calculation processing in step S205 in Fig. 7;
- Fig. 10 is a view showing an example of the relationship between a projected image and two- dimensional edge detected from an image
- FIG. 11 is a flowchart showing an example of the sequence of processing in a three-dimensional 11 054678
- Fig. 12 is a table showing an example of edge list data according to the second embodiment
- Fig. 13 is a flowchart showing an example of the sequence of processing in a three-dimensional measurement apparatus 100 according to the third embodiment ;
- Fig. 14 is a table showing an example of definition information of a reliability-assigned model.
- Fig. 15 is a table showing an example of edge list data according to the third embodiment.
- Fig. 1 is a block diagram showing an example of the arrangement of a three-dimensional measurement apparatus according to an embodiment of the present invention.
- T JP2011/054678
- a three-dimensional measurement apparatus [0037] A three-dimensional measurement apparatus
- the three-dimensional measurement apparatus 100 includes, as its functional arrangement, a model holding unit 110, view-point image generation unit 120, edge detection unit 130, reliability calculation unit 140, and model generation unit 190. Furthermore, the three-dimensional measurement apparatus 100 includes, as its functional arrangement, an approximate value acquisition unit 150, imaging unit 160, edge detection unit 170, and position/orientation calculation unit 180.
- the model holding unit 110 holds a three- dimensional geometric model of an object as a
- the three-dimensional geometric model defines a shape of the measurement object using, for example, a
- first edges first edges
- the three-dimensional geometric model is defined by a set of points and a set of line segments configured by coupling points.
- a three-dimensional geometric model 10 of the measurement object is configured by 14 points, that is, points Pi to P14, as shown in Fig. 2A.
- the points Pi to P14 are expressed by three-dimensional coordinate values, as shown in Fig. 2C.
- the three-dimensional geometric model is defined by a set of points and a set of line segments configured by coupling points.
- a three-dimensional geometric model 10 of the measurement object is configured by 14 points, that is, points Pi to P14, as shown in Fig. 2A.
- the points Pi to P14 are expressed by three-dimensional coordinate values, as shown in Fig. 2C.
- the three-dimensional coordinate values as shown in Fig. 2C.
- the three- dimensional geometric model also holds information of planes although not shown. Each plane is expressed by IDs of vertices which configure that plane. Note that a case will be described below wherein the three- dimensional geometric model according to this
- embodiment defines a shape of the measurement object using a plurality of line segments (edges) .
- the view-point image generation unit 120 generates a plurality of view-point images obtained by observing the measurement object from different viewpoints.
- the view-point image generation unit 120 generates the plurality of view-point images using the three-dimensional geometric model held in the model holding unit 110.
- the edge detection unit 130 detects edges
- the reliability calculation unit 140 calculates reliability of respective line segments (edges) of the three-dimensional geometric model based on the edges detected from the respective view-point images, which are detected by the edge detection unit 130. More specifically, the edges (second edges) detected from the plurality of view-point images are respectively associated with the edges (first edges) of the three-dimensional geometric model, and
- reliabilities of the respective edges in the three- dimensional geometric model are calculated based on the association result.
- the model generation unit 190 assigns the reliabilities calculated by the reliability calculation unit 140 to the respective edges of the three- dimensional geometric model held in the model holding unit 110.
- a three-dimensional geometric model assigned with the reliabilities (to be also referred to as a reliability-assigned model hereinafter) is
- the approximate value acquisition unit 150 inputs approximate information (to be referred to as approximate values hereinafter) of the position and orientation of the object with respect to the three- dimensional measurement apparatus 100. In this
- the position and orientation of the object with respect to the three-dimensional measurement apparatus 100 are those of the object with reference to the imaging unit 160.
- the imaging unit 160 need not always be used as a reference. For example, when the relative position and orientation of the object with respect to a coordinate system of the imaging unit 160 are given, and these position and orientation remain unchanged, another portion in the 4678
- the three-dimensional measurement apparatus 100 may be used as a reference.
- the approximate values of the position and orientation of the object measurement values which were measured by the three- dimensional measurement apparatus 100 previously (for example, at an immediately preceding timing) are used.
- the approximate values of the position and orientation of the object need not always assume such values.
- time-series filtering processing for example, a linear filter or Kalman filter
- the position and orientation of the object obtained from a sensor may be used as the approximate values.
- the sensor need only measure the position and orientation of the object in six degrees of freedom, and its system (for example, a magnetic system, optical system, or ultrasonic system) is not particularly limited.
- approximate position and orientation where the object is placed are determined in advance, these values may be used as the approximate values.
- the approximate values of the position and orientation of the object are used in calculation processing of the position and orientation of the object .
- the imaging unit 160 captures an image of the measurement object.
- Intrinsic parameter (camera parameters: a focal length, principal point position, and lens distortion parameters) of the imaging unit 160 can be calibrated in advance using a method disclosed in Z. Zhang, "A flexible new technique for camera calibration, " IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 22, no. 11, pp. 1330 - 1334, 2000.
- the edge detection unit 170 detects edges
- the position/orientation calculation unit 180 weights the edges (first edges) of the reliability-assigned model based on the reliabilities assigned to these edges, thereby changing the degrees of contribution of the edges (first edges) to the position/orientation calculation processing.
- the computer includes a main control unit such as a CPU, and storage units such as a ROM (Read Only Memory) , RAM (Random Access Memory) , and HDD (Hard Disk Drive) .
- the computer may also include
- input/output units such as a keyboard and a display or touch panel
- a communication unit such as a network card. Note that these components are connected via, for example, a bus, and are controlled when the main control unit executes programs stored in the storage units .
- the three- dimensional measurement apparatus 100 controls the view-point image generation unit 120 to generate a plurality of view-point images obtained by observing the measurement object from a plurality of view-points by simulation.
- This generation processing of a view-point image will be described below with reference to Fig. 4.
- the orientation of a virtual camera is selected as indicated by, for example, a camera 31.
- the virtual camera 31 renders a three-dimensional geometric model 10 observed from the selected position and orientation by CG (Computer Graphics) , thereby generating a viewpoint image 41 of the three-dimensional geometric model 10 from that view-point.
- CG Computer Graphics
- orientation of the virtual camera is selected as indicated by, for example, a camera 32, a view-point image 42 of the three-dimensional geometric model 10 from the view-point of the virtual camera 32 is
- the respective view-point images have to be similar to an image captured by the imaging unit 160. Since a light source condition, background environment, and texture of the target object largely influence the edge detection, it is effective to use photo realistic rendering which makes these conditions be similar to each other as much as possible. For example, it is desired to simulate use of the three-dimensional geometric model with texture, light source environment, background environment, and the like under the same conditions as those upon capturing an image by the imaging unit 160.
- the position and orientation of the virtual camera are uniformly selected within, for example, a range defined by the user.
- a Geodesic dome having a predetermined size which can cover a target object configured by a polyhedron, may be
- view-point images viewed from respective vertices of the polyhedron may be acquired.
- the selection method of the position and orientation of the virtual camera is not limited to this.
- a sphere having a predetermined size, which can cover a target object may be assumed,
- latitudes and longitudes like those of a globe may be assigned, and view-points may be set at equal intervals in the latitude and longitude directions.
- the three-dimensional measurement apparatus 100 controls the edge detection unit 130 to detect edges (line segments) from the respective view-point images.
- the edge detection can use, for example, a canny or sobel edge filter.
- the edge detection units 130 and 170 desirably adopt the same edge detection method.
- the detected edges are divided on each image at equal intervals to set control points. Then, the edges (to be also referred to as two-dimensional edges hereinafter) are expressed using the coordinates of control points on the image and two- dimensional vectors indicating the edge directions.
- the three-dimensional measurement apparatus 100 controls the reliability calculation unit 140 to calculate the correspondence between the two- dimensional edges detected by the process in step S102 and the coordinate system of the three-dimensional geometric model.
- triangular patch models each having a predetermined size are generated for the three-dimensional geometric model, and an edge having an angle which is made by normals to two
- an edge is expressed on a three-dimensional space based on three- dimensional coordinates of a middle point of a common line segment in the two neighboring triangles, and a three-dimensional vector which indicates the direction of the line segment. This edge will also be referred to as a three-dimensional edge hereinafter.
- the reliability calculation unit 140 assigns control point numbers to the control points of the respective three-dimensional edges. Then, the control point numbers of the three-dimensional edges to which the two-dimensional edges correspond are searched for. In this way, the two-dimensional edges and three- JP2011/054678
- edges detected from the view-point images are associated with those of the three-dimensional
- the two-dimensional edges are projected onto the three-dimensional space based on depth buffers obtained by rendering the three- dimensional geometric model or the camera parameters. Then, the coordinates and directions of the control points on the three-dimensional space are calculated based on the control points of the two-dimensional edges and their directions. Three-dimensional edges obtained by projecting the two-dimensional edges onto the three-dimensional space will also be referred to as three-dimensional projected edges hereinafter.
- the reliability calculation unit 140 executes the processes in steps S101 to S104 to the respective view-point images, and counts the number of times when edges (three-dimensional projected edges) detected from each view-point image are associated with the edges (three-dimensional edges) of the three-dimensional geometric model. This count value is held in edge list data.
- the edge list data will be described below with reference to Fig. 5. This list holds information associated with edges (three-dimensional edges) which configure the three-dimensional geometric model.
- the edge list data holds information including a control point number used to identify each three-dimensional edge, three-dimensional coordinates of a control point, a three-dimensional vector
- An initial value of the count value is, for example, "0", and when a given three-dimensional edge is associated with a three- dimensional projected edge (two-dimensional edge) , the count value of that three-dimensional edge is
- the three-dimensional measurement apparatus 100 controls the reliability calculation unit 140 to calculate reliabilities of the respective three- dimensional edges using the edge list data (data that holds the numbers of observation times (count values) in different view-point images for respective edges) obtained by the process in step S103.
- the edge list data data that holds the numbers of observation times (count values) in different view-point images for respective edges
- a reliability r ⁇ of that edge can be calculated by:
- the three-dimensional measurement apparatus 100 controls the model generation unit 190 to assign the reliabilities calculated by the process in step S105 t the respective edges of the three-dimensional geometri model held in the model holding unit 110. Then, a reliability-assigned model is generated.
- Fig. 6 is a table showing an example of definition information of the reliability-assigned model .
- Respective edges which configure the reliability-assigned model, are identified by the control point numbers.
- the definition information of each edge includes coordinates of an edge control point, a vector indicating an edge direction, and a
- the reliability-assigned model generation processing the number of observation times of an identical edge from view-point images generated by observing the three-dimensional geometric model from a plurality of different view-points is counted, and a reliability is calculated based on that count value.
- the reliability-assigned model to which the reliabilities are assigned is generated.
- the three-dimensional measurement apparatus 100 acquires the reliability-assigned model generated by the process in step S107 in Fig. 3 from the model holding unit 110. Also, the three-dimensional
- measurement apparatus 100 controls the approximate value acquisition unit 150 to acquire approximate values of the position and orientation of the object with respect to the three-dimensional measurement apparatus 100.
- the three-dimensional measurement apparatus 100 controls the imaging unit 160 to capture an image of the measurement object, and controls the edge detection unit 170 to detect edges as image features from the captured image.
- edge detection a three-dimensional geometric model is projected onto a captured image (two-dimensional image) of the measurement object based on the approximate values of the position and orientation of the
- Edges obtained by projecting those (three-dimensional edges) of the three-dimensional geometric model onto the two- dimensional image will be referred to as two- dimensional projected edges. Control points are set on each two-dimensional projected edge at equal intervals. Note that each two-dimensional projected edge is expressed by control points and its direction.
- a measurement object on the captured image is linearly searched for (Fig. 8A) .
- the edge assumes an extreme value of the density gradient of pixel values (Fig. 8B) .
- a plurality of edges may be detected from the search line. In this case, this embodiment uses a technique
- the three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to calculate (measure) the position and orientation of the measurement object using the edge group detected by the process in step S204. Note that details of this processing will be described later. This processing is executed by changing the degrees of contribution of the respective edges to the position/orientation
- position/orientation calculation processing in step S205 in Fig. 7 will be described below with reference to Fig. 9.
- iterative arithmetic operations are made based on a Gauss-Newton method to correct the approximate values of the position and orientation (which will be expressed by a six- dimensional vector s hereinafter) of the measurement object.
- the position and orientation of the measurement object are calculated.
- the position/orientation calculation processing is not limited to the Gauss-Newton method.
- a Levenberg-Marquardt method as more robust calculations may be used, or a steepest descent method as a simpler method may be used.
- other nonlinear optimization calculation methods such as a conjugate gradient method and ICCG method may be used.
- the three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to execute initialization processing. In this case
- initialization processing for example, the approximate values of the position and orientation of the
- the three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to associate edges with each other. More specifically, the three-dimensional geometric model is projected onto the image (two-dimensional image) of the measurement object captured by the process in step S203 in Fig. 7 based on the approximate values of the position and orientation of the measurement object. Thus, the edges of the three-dimensional geometric model are associated with those of the measurement object on the two- dimensional image.
- the three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to calculate a coefficient matrix and error vectors required to solve the linear simultaneous equations.
- respective elements of the coefficient matrix are first-order partial derivative coefficients with respect to the infinitesimal changes of the approximate values, which are acquired by the process in step S301.
- edges partial derivative
- coefficients of image coordinates are calculated. Note that the error vectors indicate distances on the image between the two-dimensional projected edges and two- dimensional edges detected from the image.
- Fig. 10 shows an example of the
- a horizontal direction of the image is defined as a u-axis
- a vertical direction is defined as a v-axis.
- ⁇ an inclination (that with respect to the u- axis) of a line segment (two-dimensional projected edge) L to which that control point belongs on the image.
- the inclination indicates that of a line
- the position of the control point on the image changes depending on the position and orientation of the measurement object.
- the position and orientation of the measurement object are defined in six degrees of freedom. That is, s is a six- dimensional vector, which includes three elements that indicate the position of the measurement object, and three elements that express the orientation.
- the three elements that express the orientation are expressed by, for example, Euler angles or a three-dimensional vector, directions of which represent rotation axes that pass through an origin, and magnitudes of which represent rotation angles.
- the coordinates (u, v) on the image of a point (control point) which changes depending on the position and orientation of the measurement object can be approximated using a linear Taylor expansion by:
- Equation (4) holds for all the edges associated in step S302. For this reason, linear simultaneous equations about As ⁇ hold, as described by:
- derivative coefficients can be calculated using, for example, a method disclosed in V. Lepetit and P. Fua, "Keypoint recognition using randomized trees," IEEE Transactions on Pattern Analysis and Machine
- the three-dimensional measurement apparatus 100 controls the position/orientation
- calculation unit 180 to calculate a correction value As using a generalized inverse matrix (J T -J) _1 -J T of the matrix J based on equation (6) .
- the function used to give the weight is not limited to the Tukey function as long as a function gives a smaller weight to data having a larger absolute value of the error, and a larger weight to data having a smaller absolute value of the error. For this reason, for example, a Huber function may be used.
- Letting wj . be a weight corresponding to each edge, a weighting matrix Wi is defined, as given by:
- the weighting matrix Wi is a square mat 11 054678
- a weighting matrix W 2 is defined, as given by:
- the weighting matrix 2 is a square matrix in which all components assume "0" except for diagonal components. The diagonal components assume the
- a weighting matrix W is defined, as given by:
- equation (6) is modified like:
- the three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to correct the approximate values of the position and orientation obtained by the process in step S301 using the correction value As calculated by the process in step S304. In this way, the position and orientation of the measurement object are calculated.
- the three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to determine whether or not the measurement values of the position and orientation of the measurement object are converged. If the measurement values are converged, this processing ends; otherwise, the process returns to step S302 again. It is determined that the measurement values are converged when the correction value As is nearly zero or when a difference between the square sums of error vectors before and after correction is nearly zero.
- position/orientation calculation processing is executed by weighting the edges of the three-dimensional
- orientation of the measurement object can be precisely measured.
- a background region can be prevented from being mixed compared to a case in which reliabilities are calculated for edges detected from a captured image. For this reason, reliability calculations can be 2011/054678
- the weighting matrix given by equation (9) is defined using the reliabilities of the edges of the three-dimensional geometric model, and the degrees of contribution of the respective edges to the position/orientation
- calculation processing are changed using this weighting matrix.
- the degrees of contribution may be changed by other methods.
- the value of the constant ci of equation (7) may be changed based on the edge reliabilities. More specifically, ci is set to be large when the reliability of the corresponding edge is high, and to be small when the reliability is low. In this manner, the degrees of contribution of the
- the aforementioned first embodiment has explained the case in which a plurality of view-point images are generated using photo realistic rendering.
- the present invention is not limited to this, but other methods may be used as long as they can generate images similar to an image captured by the imaging unit 160.
- a camera may be attached to the distal end of a robot arm, and images obtained by capturing a target object by moving the camera to desired positions and orientations may be used as a plurality of viewpoint images.
- intrinsic parameters (a focal length, principal point position, and lens distortion parameters) of the camera used in imaging can be calibrated in advance as those of the imaging unit 160 using, for example, the method disclosed in Z. Zhang, "A flexible new technique for camera
- the second embodiment will be described below.
- the second embodiment will explain a case in which a reliability-assigned model that additionally considers reliabilities of edges detected from respective view- JP2011/054678
- a reliability calculation unit 140 includes an edge reliability calculation function and reliability sum total calculation function in addition to the
- calculation function is a function of calculating reliabilities of edges (second edges) detected from a plurality of view-point images.
- the reliability sum total calculation function is a function of assigning, when edges
- detected from respective view-point images are associated with edges of a three-dimensional geometric model (three- dimensional edges) , reliabilities of the three- dimensional projected edges to the associated three- dimensional edges.
- the reliability of the three- dimensional projected edge is assigned to the
- the three- dimensional measurement apparatus 100 controls a viewpoint image generation unit 120 to generate a plurality of view-point images obtained by observing a
- the three-dimensional measurement apparatus 100 controls an edge detection unit 130 to detect edges (two-dimensional edges) from the respective view-point images generated by the process in step S401. Then, the reliability calculation unit 140 calculates
- a search line is set in a normal direction to an edge for each control point of each two-dimensional edge.
- a reliability ri of a two-dimensional edge T/JP2011/054678
- grad max be maximum luminance gradient change ratio in the search line direction on all the two-dimensional edges
- grad be a luminance gradient change ratio in the search line direction on reference edge (a two-dimensional edge whose
- the calculation method of the reliability of the two-dimensional edge is not limited to this.
- a reliability may be calculated according to the density of two-dimensional edges near a control point on the reference edge. For example, a function which assigns a higher reliability to a two- dimensional edge when a given region having the contro point on the reference edge as the center includes a smaller number of control points may be used.
- a distance between the control point on the reference edge and a closest control point may be calculated, and a higher reliability may be assigned t a two-dimensional edge having the larger distance.
- the three-dimensional measurement apparatus 100 controls the reliability calculation unit 140 to associate the two-dimensional edges detected in step S402 to the three-dimensional edges of the three- dimensional geometric model as in the first embodiment (S103) .
- the reliability calculation unit 140 repetitively executes the processes in steps S401 to S406 to count the number of times when an edge (three- dimensional projected edge) detected from each viewpoint image is associated with each edge (three- dimensional edge) of the three-dimensional geometric model. At this time, the reliability calculation unit 140 adds the reliability of the associated two- dimensional edge (three-dimensional projected edge) to the corresponding edge (three-dimensional edge) of the three-dimensional geometric model. This count value and the reliability value are held in the edge list P T/JP2011/054678
- Edge list data will be described below with reference to Fig. 12. This list holds information associated with edges (three-dimensional edges) which configure the three-dimensional geometric model.
- the edge list data holds information including a control point number used to identify each three-dimensional edge, three-dimensional coordinates of a control point, a three-dimensional vector
- the edge list data according to the second embodiment also holds a sum total of view-point- dependent reliabilities.
- the sum total of view-point- dependent reliabilities indicates that of reliabilities of two-dimensional edges associated with the
- the three-dimensional measurement apparatus 100 controls the reliability calculation unit 140 to average the sum total of view-point-dependent 1054678
- the reliabilities of the edges of the three- dimensional geometric model are calculated. Note that position/orientation calculation processing is executed by changing degrees of contribution of respective edges to the position/orientation calculation processing by weighting the edges of the three-dimensional geometric model according to the reliabilities of those edges as in the first embodiment.
- the third embodiment will be described below.
- reliabilities of edges in view-point images are calculated.
- the edges of the viewpoint images are associated with those of a three- dimensional geometric model.
- the edges of the reliability-assigned model have reliabilities according to a plurality of view-point images. That is, the three-dimensional geometric model according to the third embodiment has view-point-dependent reliabilities of respective edges.
- a reliability calculation unit 140 includes an edge reliability calculation function and view-point- dependent reliability assigning function in addition to the aforementioned functions.
- the edge reliability calculation function is a function of calculating viewpoint-dependent reliabilities of edges detected from a plurality of view-point images (second edges) . More specifically, a reliability of an edge (second edge) detected from each view-point image is independently calculated in correspondence with the view-point image as a detection source of that edge.
- the view-point-dependent reliability assigning function is a function of assigning, when edges detected from view-point images (three- dimensional projected edges) are associated with edges of three-dimensional geometric model (three-dimensional edges), view-point-dependent reliabilities of the three-dimensional projected edges to the three- JP2011/054678
- the different processing includes reliability-assigned model
- steps S501 to S504 are the same as those in steps S401 to S404 in Fig. 11 used to explain the second embodiment, and processes in step S505 and subsequent steps will be described.
- step S505 the three-dimensional measurement
- apparatus 100 controls the reliability calculation unit 140 to assign the reliabilities held by the two- JP2011/054678
- step S506 If viewpoint images to be processed still remain in step S506, the process returns to step S501 to apply the same processes to the next view-point image. With the processes in steps S501 to S506, different view-point- dependent reliabilities are assigned to each three- dimensional edge.
- reliability-assigned model is generated in step S507. That is, a reliability-assigned model in which each of the edges of the three-dimensional geometric model has a plurality of view-point-dependent reliabilities is generated.
- control point number used to identify each three-dimensional edge
- three-dimensional coordinates of a control point three-dimensional vector indicating the direction of that edge
- reliabilities at respective view-points The
- reliabilities at respective view-points are assured for view-points 0 to 60. In this case, reliabilities are calculated for 61 view-point images. Note that a view- 4678
- reliabilities of a view-point closest to that of an image captured by an imaging unit 160 are acquired from the view-point- dependent reliability-assigned model. This acquisition is made based on approximate values of the position and orientation of a measurement object. More specifically, a view-point having a minimum angle made by its viewpoint vector and that based on the approximate values is selected from those used to generate view-point images. After that, using the reliabilities at the selected view-point, the edges of the three-dimensional geometric model are weighted according to the
- the view-point-dependent reliability- assigned model having reliabilities in correspondence with respective view-points is generated.
- the view-point-dependent reliabilities of the edges can be reflected to the degrees of
- the position and orientation of the object can be measured more precisely.
- three view-points having first, second, and third smallest angles made by their line- of-sight vectors and that based on the approximate values may be selected from those used to generate view-point images, and reliabilities may be calculated by averaging those of the three view-points for
- reliabilities may be calculated by weighting them based on distances between the selected three view-points and their barycenters.
- control point numbers are assigned to control points of the three-dimensional edges, and the two-dimensional edges and three-dimensional edges are associated with each other by searching which three-dimensional edges two- dimensional edges correspond to.
- the edges may be associated with each other by other methods.
- detection numbers may be assigned to the two-dimensional edges detected from respective viewpoint images, and the three-dimensional edges may be associated with these two-dimensional edges. Then, the reliabilities of the two-dimensional edges are assigned to the three-dimensional edges associated with the two- dimensional edges.
- Fig. 15 shows an example of edge list data which holds respective two-dimensional edges in case of such configuration. This edge list data is generated for each view-point.
- the edge list data holds information
- This view-point-dependent edge list data is calculated for all the view-points. Since the numbers of edges to be detected are different for respective view-points, the numbers of edges in the edge list data are different for respective view-points.
- model generation processing and position/orientation calculation processing are
- model generation processing may be executed by a first apparatus (model generation apparatus) , and the
- position/orientation calculation processing may be executed by a second apparatus (three-dimensional measurement apparatus) .
- the present invention can adopt embodiments in the form of, for example, a system, apparatus, method, program, or storage medium. More specifically, the present invention may be applied to either a system configured by a plurality of devices or an apparatus including a single device.
- aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described
- embodiment (s) and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment (s ) .
- the program is provided to the computer for example via T/JP2011/054678
- - 53 - a network or from a recording medium of various types serving as the memory device (for example, non- transitory computer-readable storage medium) .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
A three-dimensional measurement apparatus generates a plurality of view-point images obtained by observing a measurement object from a plurality of different view-points using a three-dimensional geometric model, detects edges of the measurement object from the plurality of view-point images as second edges, calculates respective reliabilities of first edges of the three-dimensional geometric model based on a result obtained when the second edges are associated with the first edges, weights each of the first edges based on the respective reliabilities, associates third edges detected from a captured image with the weighted first edges, and calculates a position and an orientation of the measurement object based on the association result.
Description
DESCRIPTION
TITLE OF INVENTION THREE-DIMENSIONAL MEASUREMENT APPARATUS, MODEL GENERATION APPARATUS, PROCESSING METHOD THEREOF, AND NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM
TECHNICAL FIELD
[0001] The present invention relates to a three- dimensional measurement apparatus, a model generation apparatus, processing method thereof, and non- transitory computer-readable storage medium.
BACKGROUND ART
[0002] In recent years, robots perform complicated tasks, which were manually performed so far. As a representative example of such complicated tasks, assembling processes of industrial products are known. Such robot grips parts by an end effecter such as a hand, so as to autonomously perform assembling
processes. In order to control the robot to grip a part, a relative position and orientation between the part to be gripped and the robot are measured. Then, a moving plan has to be designed based on the measurement result so as to control actuators.
[0003] In mixed reality, that is, a so-called MR technique as well, in order to seamlessly merge real and virtual worlds in real time, the position and orientation have to be measured. The position and
orientation are conventionally measured using a camera and distance sensor. As a representative method of such measurement, methods using a two-dimensional image and range image are known. In the field of the MR technique, a technique for measuring the position and orientation of a head mounted display (to be
abbreviated as HMD hereinafter) using an image captured by a camera mounted on the HMD has been studied.
[0004] D. G. Lowe, "Fitting parameterized three- dimensional models to images," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 13, no. 5, pp. 441 - 450, 1991. (to be referred to as reference 1 hereinafter) discloses a technique for measuring the position and orientation of an object by performing model fitting to a two-dimensional image without requiring sufficient texture information. With this technique, a three-dimensional geometric model of an object is fitted to line segments (edges) detected from a two-dimensional image. Thus, the position and orientation of the object are measured. More
specifically, after edge detection is performed from the entire two-dimensional image, the two-dimensional image is separated into line segments using local connection information. The position and orientation of the object are measured using a Gauss-Newton method so as to minimize a sum total of distances on the image between the end points on both sides of the detected
line segments and the line segments of the three- dimensional geometric model based on approximate values of the position and orientation of the object.
[0005] Also, T. Drummond and R. Cipolla, "Realtime visual tracking of complex structures," IEEE
Transactions on Pattern Analysis and Machine
Intelligence, vol. 24, no. 7, pp. 932 - 946, 2002. (to be referred to as reference 2 hereinafter) discloses a technique for conducting an edge search only in the vicinity of line segments of a three-dimensional
geometric model based on approximate values of the position and orientation of an object. With this technique, since edges are not detected from an entire two-dimensional image, the position and orientation of the object can be quickly measured. Also, reference 2 also describes a technique for calculating
reliabilities of respective edges detected from a two- dimensional image according to color contrasts and distances from other edges, and weighting the edges based on the calculated reliabilities. Then,
contribution ratios of the respective edges in
position/orientation calculation processing are changed.
[0006] Furthermore, Japanese Patent Laid-Open No.
2007-20751 (to be referred to as reference 3
hereinafter) discloses a technique for generating a three-dimensional geometric model by leaving only edges which are observed to have higher probabilities in
association with generation of a three-dimensional geometric model used in model fitting. With this technique, a plurality of images are generated by observing a three-dimensional geometric model of an object from different view-points, and only edges which are commonly observed from the plurality of view-point images are left. Then, a model with a high edge observability is generated.
[0007] The technique of reference 1 is premised on that edges are correctly detected from an image, and the correspondence between the edges detected from the image and those of a three-dimensional geometric model is correct. For this reason, the position and
orientation of an object can be measured with high precision as long as edges that obviously indicate texture and shape changes of a target object are always stably detected.
[0008] However, when an imaging view-point is moved at the time of imaging of an object, it is difficult to stably detect edges from a captured image. Since appearances of colors of the object in the image change depending on the imaging view-point, edges detected in the image normally change accordingly. In such case, the correspondence between the edges
detected from the image and those of a three- dimensional geometric model readily causes errors, and the position/orientation calculation processing
precision in the technique of reference 1 drops.
[0009] Also, with the technique of reference 2, since edge reliabilities are calculated in real time, the processing load on the position/orientation
calculation processing is heavy. Since edges are also detected from a background region other than a
measurement object in an image, there is a risk of matching of wrong edges.
[0010] Furthermore, with the technique of
reference 3, as described above, a model having only edges with high observabilities is generated by leaving edges observed from a plurality of view-point images. This technique is premised on that edges with high observabilities are uniformly and sufficiently
distributed on the entire three-dimensional geometric model .
[0011] However, in practice, the edge
observabilities largely vary for respective view-points. For this reason, when only edges with high
observabilities at a plurality of view-points are to be left, only an insufficient number of edges may be obtained. Even when a large number of edges with high observabilities are left, these edges may be biased to a portion of a model. In such case, the
position/orientation calculation processing precision drops due to insufficiency or bias of edges.
SUMMARY OF INVENTION
[0012] The present invention provides a technique which changes degrees of contribution of respective edges with respect to position/orientation calculation processing using a model in which reliabilities are assigned to respective edges upon measurement of the position and orientation of an object.
[0013] According to a first aspect of the present invention there is provided a three-dimensional measurement apparatus, which measures a position and an orientation of a measurement object using a three- dimensional geometric model that defines a shape of the measurement object using a plurality of first edges, the apparatus characterized by comprising: view-point image generation means for generating a plurality of view-point images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model; edge detection means for detecting edges of the measurement object from the plurality of view-point images as second edges; reliability calculation means for associating the second edges with the first edges, respectively, and calculating respective reliabilities of the first edges based on the association result; weighting means for weighting each of the first edges based on the respective reliabilities of the first edges calculated by the reliability calculation means; and
position/orientation calculation means for associating third edges detected from a captured image obtained by capturing an image of the measurement object with the first edges weighted by the weighting means, and calculating a position and an orientation of the measurement object based on the association result.
[0014] According to a second aspect of the present invention there is provided a model generation
apparatus, which generates a three-dimensional
geometric model used for measuring a position and an orientation of a measurement object, the apparatus characterized by comprising: view-point image
generation means for generating a plurality of viewpoint images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model; edge detection means for detecting edges of the measurement object from the plurality of view-point images; reliability calculation means for associating the detected edges of the measurement object with edges of the three- dimensional geometric model, and calculating
reliabilities of the edges of the three-dimensional geometric model based on the association result;
generation means for generating a reliability-assigned model by assigning the reliabilities of the edges to the edges of the three-dimensional geometric model.
[0015] According to a third aspect of the present
invention there is provided a three-dimensional measurement apparatus, which measures a position and an orientation of a measurement object, the apparatus characterized by comprising: holding means for holding a reliability-assigned model obtained by defining a shape of the measurement object using a plurality of edges, and assigning reliabilities to the edges, respectively; edge detection means for detecting edges from a captured image obtained by capturing an image of the measurement object; weighting means for weighting the edges of the reliability-assigned model based on the reliabilities assigned to the edges; and
position/orientation calculation means for associating the edges weighted by the weighting means with the edges of the reliability-assigned model held in the holding means, and calculating a position and an orientation of the measurement object based on the association result.
[0016] According to a fourth aspect of the present invention there is provided a processing method of a three-dimensional measurement apparatus, which measures a position and an orientation of a measurement object using a three-dimensional geometric model that defines a shape of the measurement object using a plurality of first edges, the method characterized by comprising: a step of generating a plurality of view-point images obtained by observing the measurement object from a
plurality of different view-points using the three- dimensional geometric model; a step of detecting edges of the measurement object from the plurality of viewpoint images as second edges; a step of associating the second edges with the first edges, respectively, and calculating respective reliabilities of the first edges based on the association result; a step of weighting the each of first edges based on the respective
reliabilities of the first edges; and a step of
associating third edges detected from a captured image obtained by capturing an image of the measurement object with the weighted first edges, and calculating a position and an orientation of the measurement object based on the association result.
[0017] According to a fifth aspect of the present invention there is provided a non-transitory computer- readable storage medium storing a computer program for controlling a computer incorporated in a three- dimensional measurement apparatus, which measures a position and an orientation of a measurement object using a three-dimensional geometric model that defines a shape of the measurement object using a plurality of first edges, to function as: view-point image
generation means for generating a plurality of viewpoint images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model; edge detection
means for detecting edges of the measurement object from the plurality of view-point images as second edges; reliability calculation means for associating the second edges with the first edges, respectively, and calculating respective reliabilities of the first edges based on the association result; weighting means for weighting each of the first edges based on the respective reliabilities of the first edges; and position/orientation calculation means for associating third edges detected from a captured image obtained by capturing an image of the measurement object with the first edges weighted by the weighting means, and calculating a position and an orientation of the measurement object based on the association result.
[0018] Further features of the present invention will be apparent from the following description of exemplary embodiments (with reference to the attached drawings) .
BRIEF DESCRIPTION OF DRAWINGS
[0019] The accompanying drawings, which are incorporated in and constitute a part of the
specification, illustrate embodiments of the invention, and together with the description, serve to explain the principles of the invention.
[0020] Fig. 1 is a block diagram showing an example of the arrangement of a three-dimensional
T/JP2011/054678
- 11 -
measurement apparatus according to an embodiment of the present invention;
[0021] Figs. 2A to 2D are views showing an example of definition information of a three-dimensional geometric model;
[0022] Fig. 3 is a flowchart showing an example of the sequence of processing in a three-dimensional measurement apparatus 100 shown in Fig. 1;
[0023] Fig. 4 is a view illustrating generation of a view-point image;
[0024] Fig. 5 is a table showing an example of edge list data;
[0025] Fig. 6 is a table showing an example of definition information of a reliability-assigned model;
[0026] Fig. 7 is a flowchart showing an example of the sequence of processing in the three-dimensional measurement apparatus 100 shown in Fig. 1;
[0027] Figs. 8A and 8B are views showing an example of an overview of an edge detection method;
[0028] Fig. 9 is a flowchart showing an example of the sequence of position/orientation calculation processing in step S205 in Fig. 7;
[0029] Fig. 10 is a view showing an example of the relationship between a projected image and two- dimensional edge detected from an image;
[0030] Fig. 11 is a flowchart showing an example of the sequence of processing in a three-dimensional
11 054678
- 12 -
measurement apparatus 100 according to the second embodiment ;
[0031] Fig. 12 is a table showing an example of edge list data according to the second embodiment;
[0032] Fig. 13 is a flowchart showing an example of the sequence of processing in a three-dimensional measurement apparatus 100 according to the third embodiment ;
[0033] Fig. 14 is a table showing an example of definition information of a reliability-assigned model; and
[0034] Fig. 15 is a table showing an example of edge list data according to the third embodiment.
DESCRIPTION OF EMBODIMENTS
[0035] An exemplary embodiment (s) of the present invention will now be described in detail with
reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
[0036] (First Embodiment)
Fig. 1 is a block diagram showing an example of the arrangement of a three-dimensional measurement apparatus according to an embodiment of the present invention.
T JP2011/054678
- 13 -
[0037] A three-dimensional measurement apparatus
100 includes, as its functional arrangement, a model holding unit 110, view-point image generation unit 120, edge detection unit 130, reliability calculation unit 140, and model generation unit 190. Furthermore, the three-dimensional measurement apparatus 100 includes, as its functional arrangement, an approximate value acquisition unit 150, imaging unit 160, edge detection unit 170, and position/orientation calculation unit 180.
[0038] The model holding unit 110 holds a three- dimensional geometric model of an object as a
measurement target (to be also referred to as a
measurement object or simply as an object hereinafter) . The three-dimensional geometric model defines a shape of the measurement object using, for example, a
plurality of edges (first edges) .
[0039] More specifically, the three-dimensional geometric model is defined by a set of points and a set of line segments configured by coupling points. A three-dimensional geometric model 10 of the measurement object is configured by 14 points, that is, points Pi to P14, as shown in Fig. 2A. The points Pi to P14 are expressed by three-dimensional coordinate values, as shown in Fig. 2C. Also, the three-dimensional
geometric model 10 of the measurement object is
configured by line segments Ll to L16, as shown in Fig. 2B. The line segments Ll to L16 are expressed by IDs
(identifiers) of the points which configure these line segments, as shown in Fig. 2D. Note that the three- dimensional geometric model also holds information of planes although not shown. Each plane is expressed by IDs of vertices which configure that plane. Note that a case will be described below wherein the three- dimensional geometric model according to this
embodiment defines a shape of the measurement object using a plurality of line segments (edges) .
[0040] The view-point image generation unit 120 generates a plurality of view-point images obtained by observing the measurement object from different viewpoints. The view-point image generation unit 120 generates the plurality of view-point images using the three-dimensional geometric model held in the model holding unit 110.
[0041] The edge detection unit 130 detects edges
(second edges) of the measurement object from each of the plurality of view-point images generated by the view-point image generation unit 120.
[0042] The reliability calculation unit 140 calculates reliability of respective line segments (edges) of the three-dimensional geometric model based on the edges detected from the respective view-point images, which are detected by the edge detection unit 130. More specifically, the edges (second edges) detected from the plurality of view-point images are
respectively associated with the edges (first edges) of the three-dimensional geometric model, and
reliabilities of the respective edges in the three- dimensional geometric model are calculated based on the association result.
[0043] The model generation unit 190 assigns the reliabilities calculated by the reliability calculation unit 140 to the respective edges of the three- dimensional geometric model held in the model holding unit 110. Thus, a three-dimensional geometric model assigned with the reliabilities (to be also referred to as a reliability-assigned model hereinafter) is
generated.
[0044] The approximate value acquisition unit 150 inputs approximate information (to be referred to as approximate values hereinafter) of the position and orientation of the object with respect to the three- dimensional measurement apparatus 100. In this
embodiment, the position and orientation of the object with respect to the three-dimensional measurement apparatus 100 are those of the object with reference to the imaging unit 160. However, the imaging unit 160 need not always be used as a reference. For example, when the relative position and orientation of the object with respect to a coordinate system of the imaging unit 160 are given, and these position and orientation remain unchanged, another portion in the
4678
- 16 -
three-dimensional measurement apparatus 100 may be used as a reference. In this embodiment, as the approximate values of the position and orientation of the object, measurement values which were measured by the three- dimensional measurement apparatus 100 previously (for example, at an immediately preceding timing) are used. However, the approximate values of the position and orientation of the object need not always assume such values. For example, time-series filtering processing (for example, a linear filter or Kalman filter) is applied to the previously measured measurement values of the position and orientation of the object to estimate the motion velocity and angular velocity of the object. Then, values obtained by predicting the position and orientation of the object based on the estimation results may be used as the approximate values. Alternatively, the position and orientation of the object obtained from a sensor may be used as the approximate values. In this case, the sensor need only measure the position and orientation of the object in six degrees of freedom, and its system (for example, a magnetic system, optical system, or ultrasonic system) is not particularly limited. Note that when an
approximate position and orientation where the object is placed are determined in advance, these values may be used as the approximate values. The approximate values of the position and orientation of the object
are used in calculation processing of the position and orientation of the object .
[0045] The imaging unit 160 captures an image of the measurement object. Intrinsic parameter (camera parameters: a focal length, principal point position, and lens distortion parameters) of the imaging unit 160 can be calibrated in advance using a method disclosed in Z. Zhang, "A flexible new technique for camera calibration, " IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 22, no. 11, pp. 1330 - 1334, 2000.
[0046] The edge detection unit 170 detects edges
(third edges) as image features from an image (two- dimensional image) of the measurement object captured by the imaging unit 160.
[0047] The position/orientation calculation unit
180 measures (calculates) the position and orientation of the measurement object by fitting the edges (first edges) of the reliability-assigned model to the edges
(third edges) detected by the edge detection unit 170. The position/orientation calculation unit 180 weights the edges (first edges) of the reliability-assigned model based on the reliabilities assigned to these edges, thereby changing the degrees of contribution of the edges (first edges) to the position/orientation calculation processing.
[0048] The example of the arrangement of the
three-dimensional measurement apparatus 100 has been described. Note that the aforementioned three- dimensional measurement apparatus 100 incorporates a computer. The computer includes a main control unit such as a CPU, and storage units such as a ROM (Read Only Memory) , RAM (Random Access Memory) , and HDD (Hard Disk Drive) . The computer may also include
input/output units such as a keyboard and a display or touch panel, and a communication unit such as a network card. Note that these components are connected via, for example, a bus, and are controlled when the main control unit executes programs stored in the storage units .
[0049] An example of the sequence of processing in the three-dimensional measurement apparatus 100 shown in Fig. 1 will be described below with reference to Fig.
3. In this case, the sequence of processing upon generation of the reliability-assigned model will be described.
[0050] [S101]
Upon starting this processing, the three- dimensional measurement apparatus 100 controls the view-point image generation unit 120 to generate a plurality of view-point images obtained by observing the measurement object from a plurality of view-points by simulation.
[0051] This generation processing of a view-point
image will be described below with reference to Fig. 4. The orientation of a virtual camera is selected as indicated by, for example, a camera 31. The virtual camera 31 renders a three-dimensional geometric model 10 observed from the selected position and orientation by CG (Computer Graphics) , thereby generating a viewpoint image 41 of the three-dimensional geometric model 10 from that view-point. Likewise, when the
orientation of the virtual camera is selected as indicated by, for example, a camera 32, a view-point image 42 of the three-dimensional geometric model 10 from the view-point of the virtual camera 32 is
generated.
[0052] Note that when the edges of the
reliability-assigned model are weighted according to their reliabilities in the position/orientation
calculation processing, the respective view-point images have to be similar to an image captured by the imaging unit 160. Since a light source condition, background environment, and texture of the target object largely influence the edge detection, it is effective to use photo realistic rendering which makes these conditions be similar to each other as much as possible. For example, it is desired to simulate use of the three-dimensional geometric model with texture, light source environment, background environment, and the like under the same conditions as those upon
capturing an image by the imaging unit 160.
[0053] The position and orientation of the virtual camera are uniformly selected within, for example, a range defined by the user. For example, a Geodesic dome having a predetermined size, which can cover a target object configured by a polyhedron, may be
assumed, and view-point images viewed from respective vertices of the polyhedron may be acquired. Note that the selection method of the position and orientation of the virtual camera is not limited to this. For example, in another method, a sphere having a predetermined size, which can cover a target object, may be assumed,
latitudes and longitudes like those of a globe may be assigned, and view-points may be set at equal intervals in the latitude and longitude directions.
[0054] [S102]
The three-dimensional measurement apparatus 100 controls the edge detection unit 130 to detect edges (line segments) from the respective view-point images. The edge detection can use, for example, a canny or sobel edge filter. The edge detection units 130 and 170 desirably adopt the same edge detection method.
Note that in this embodiment, the detected edges are divided on each image at equal intervals to set control points. Then, the edges (to be also referred to as two-dimensional edges hereinafter) are expressed using the coordinates of control points on the image and two-
dimensional vectors indicating the edge directions.
[0055] [S103 to S105]
The three-dimensional measurement apparatus 100 controls the reliability calculation unit 140 to calculate the correspondence between the two- dimensional edges detected by the process in step S102 and the coordinate system of the three-dimensional geometric model. In this embodiment, triangular patch models each having a predetermined size are generated for the three-dimensional geometric model, and an edge having an angle which is made by normals to two
neighboring triangles on the three-dimensional
geometric model and is equal to or larger than a predetermined value, is considered as that on the three-dimensional geometric model. Then, an edge is expressed on a three-dimensional space based on three- dimensional coordinates of a middle point of a common line segment in the two neighboring triangles, and a three-dimensional vector which indicates the direction of the line segment. This edge will also be referred to as a three-dimensional edge hereinafter.
[0056] The reliability calculation unit 140 assigns control point numbers to the control points of the respective three-dimensional edges. Then, the control point numbers of the three-dimensional edges to which the two-dimensional edges correspond are searched for. In this way, the two-dimensional edges and three-
JP2011/054678
- 22 -
dimensional edges are associated with each other. That is, the edges detected from the view-point images are associated with those of the three-dimensional
geometric model.
[0057] In this embodiment, the two-dimensional edges are projected onto the three-dimensional space based on depth buffers obtained by rendering the three- dimensional geometric model or the camera parameters. Then, the coordinates and directions of the control points on the three-dimensional space are calculated based on the control points of the two-dimensional edges and their directions. Three-dimensional edges obtained by projecting the two-dimensional edges onto the three-dimensional space will also be referred to as three-dimensional projected edges hereinafter.
[0058] At this time, when a distance between the control points and an angle made by normal vectors of the three-dimensional projected edge and three- dimensional edge are small and are equal to or smaller than thresholds, the two-dimensional edge as the generation source of that three-dimensional projected edge is associated with the three-dimensional edge.
[0059] In this case, the reliability calculation unit 140 executes the processes in steps S101 to S104 to the respective view-point images, and counts the number of times when edges (three-dimensional projected edges) detected from each view-point image are
associated with the edges (three-dimensional edges) of the three-dimensional geometric model. This count value is held in edge list data.
[0060] The edge list data will be described below with reference to Fig. 5. This list holds information associated with edges (three-dimensional edges) which configure the three-dimensional geometric model.
[0061] The edge list data holds information including a control point number used to identify each three-dimensional edge, three-dimensional coordinates of a control point, a three-dimensional vector
indicating the direction of that edge, and a count value indicating the number of times when the
corresponding three-dimensional edge is observed in different view-point images. An initial value of the count value is, for example, "0", and when a given three-dimensional edge is associated with a three- dimensional projected edge (two-dimensional edge) , the count value of that three-dimensional edge is
incremented by "1".
[0062] In this case, three-dimensional edges having identical control point numbers represent identical edges in other view-point images. For this reason, by associating edges in all view-point images to those of the three-dimensional geometric model, how many times each three-dimensional edge (each edge of the three-dimensional geometric model) is associated at
different view-points can be counted.
[0063] [S106]
The three-dimensional measurement apparatus 100 controls the reliability calculation unit 140 to calculate reliabilities of the respective three- dimensional edges using the edge list data (data that holds the numbers of observation times (count values) in different view-point images for respective edges) obtained by the process in step S103. Letting be a maximum count value in all edges, Cmm be a minimum count value, and Ci be a count value of an edge having a control point number i, a reliability r± of that edge can be calculated by:
[0064] [S107]
The three-dimensional measurement apparatus 100 controls the model generation unit 190 to assign the reliabilities calculated by the process in step S105 t the respective edges of the three-dimensional geometri model held in the model holding unit 110. Then, a reliability-assigned model is generated.
[0065] Fig. 6 is a table showing an example of definition information of the reliability-assigned model .
[0066] Respective edges, which configure the
reliability-assigned model, are identified by the control point numbers. The definition information of each edge includes coordinates of an edge control point, a vector indicating an edge direction, and a
reliability which assumes a value ranging from 0 to 1. As described above, in the reliability-assigned model generation processing, the number of observation times of an identical edge from view-point images generated by observing the three-dimensional geometric model from a plurality of different view-points is counted, and a reliability is calculated based on that count value.
Thus, the reliability-assigned model to which the reliabilities are assigned is generated.
[0067] The sequence of processing upon calculation of the position and orientation of the object will be described below with reference to Fig. 7.
[0068] [S201, S202]
The three-dimensional measurement apparatus 100 acquires the reliability-assigned model generated by the process in step S107 in Fig. 3 from the model holding unit 110. Also, the three-dimensional
measurement apparatus 100 controls the approximate value acquisition unit 150 to acquire approximate values of the position and orientation of the object with respect to the three-dimensional measurement apparatus 100.
[0069] [S203, S204]
Next, the three-dimensional measurement apparatus 100 controls the imaging unit 160 to capture an image of the measurement object, and controls the edge detection unit 170 to detect edges as image features from the captured image.
[0070] An example of an overview of an edge detection method according to this embodiment will be described below with reference to Figs. 8A and 8B. In edge detection, a three-dimensional geometric model is projected onto a captured image (two-dimensional image) of the measurement object based on the approximate values of the position and orientation of the
measurement object. Edges (projected images) obtained by projecting those (three-dimensional edges) of the three-dimensional geometric model onto the two- dimensional image will be referred to as two- dimensional projected edges. Control points are set on each two-dimensional projected edge at equal intervals. Note that each two-dimensional projected edge is expressed by control points and its direction.
[0071] From a line segment which is parallel to a normal direction to the two-dimensional projected edge and passes through the control point (to be referred to as a search line hereinafter) , an edge of the
measurement object on the captured image (two- dimensional image) is linearly searched for (Fig. 8A) . The edge assumes an extreme value of the density
gradient of pixel values (Fig. 8B) . In some cases, a plurality of edges may be detected from the search line. In this case, this embodiment uses a technique
disclosed in L. Vacchetti, V. Lepetit, and P. Fua,
"Combining edge and texture information for real-time accurate 3D camera tracking," Proc. ISMAR04, pp. 48 - 57, 2004. That is, a plurality of edges detected using the method disclosed in this reference are held as hypotheses. In this way, edges corresponding to
respective control points on the two-dimensional
projected edges are searched for.
[0072] [S205]
The three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to calculate (measure) the position and orientation of the measurement object using the edge group detected by the process in step S204. Note that details of this processing will be described later. This processing is executed by changing the degrees of contribution of the respective edges to the position/orientation
calculation processing by weighting the respective edges of the three-dimensional geometric model
according to the reliabilities of those edges.
[0073] An example of the sequence of the
position/orientation calculation processing in step S205 in Fig. 7 will be described below with reference to Fig. 9.
[0074] In this processing, iterative arithmetic operations are made based on a Gauss-Newton method to correct the approximate values of the position and orientation (which will be expressed by a six- dimensional vector s hereinafter) of the measurement object. Thus, the position and orientation of the measurement object are calculated. Note that the position/orientation calculation processing is not limited to the Gauss-Newton method. For example, a Levenberg-Marquardt method as more robust calculations may be used, or a steepest descent method as a simpler method may be used. Also, other nonlinear optimization calculation methods such as a conjugate gradient method and ICCG method may be used.
[0075] In this processing, a sum total of
distances between the edges detected from the two- dimensional image and those of the three-dimensional geometric model projected onto the image based on the approximate values of the position and orientation is minimized. Thus, the position and orientation of the measurement object are calculated. More specifically, signed distances of points and lines on the two- dimensional images are respectively expressed as linear functions that indicate infinitesimal changes of the position and orientation of the object using linear Taylor expansions. Then, linear simultaneous equations associated with the infinitesimal changes of the
2011/054678
- 29 - position and orientation, which yield signed distances = 0, are developed and solved to calculate the
infinitesimal changes of the position and orientation of the object, and the correction processing of these values is repeated.
[0076] [S301]
The three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to execute initialization processing. In this
initialization processing, for example, the approximate values of the position and orientation of the
measurement object obtained by the process in step S202 in Fig. 7 are acquired.
[0077] [S302]
The three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to associate edges with each other. More specifically, the three-dimensional geometric model is projected onto the image (two-dimensional image) of the measurement object captured by the process in step S203 in Fig. 7 based on the approximate values of the position and orientation of the measurement object. Thus, the edges of the three-dimensional geometric model are associated with those of the measurement object on the two- dimensional image.
[0078] Note that when a plurality of edges of the measurement object (edges on the two-dimensional image)
are detected in correspondence with each control point on an edge of the three-dimensional geometric model, the following processing can be executed. That is, an edge on the image closest to the projected edge (two- dimensional projected edge) of the three-dimensional geometric model of the plurality of detected edges can be associated with the control point.
[0079] [S303]
The three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to calculate a coefficient matrix and error vectors required to solve the linear simultaneous equations. In this case, respective elements of the coefficient matrix are first-order partial derivative coefficients with respect to the infinitesimal changes of the approximate values, which are acquired by the process in step S301. As for edges, partial derivative
coefficients of image coordinates are calculated. Note that the error vectors indicate distances on the image between the two-dimensional projected edges and two- dimensional edges detected from the image.
[0080] Fig. 10 shows an example of the
relationship between a projected image (two-dimensional projected edge) and a two-dimensional edge detected from the image. In this case, a horizontal direction of the image is defined as a u-axis, and a vertical direction is defined as a v-axis. Let (u0, v0) be
11 054678
- 31 -
coordinates of a certain control point (a point
obtained by dividing a two-dimensional projected edge at equal intervals on the image) on the image. Also, let Θ be an inclination (that with respect to the u- axis) of a line segment (two-dimensional projected edge) L to which that control point belongs on the image. The inclination indicates that of a line
specified by projecting three-dimensional coordinates of two ends of the line segment (two-dimensional projected edge) onto the image based on the vector s, and coupling these coordinates of the two ends. A normal vector of the two-dimensional projected edge on the image is expressed by (sin0, -cos9) . Furthermore, let (u', v1) be coordinates of a point (corresponding point) on the image corresponding to the control point. In this case, a point (u, v) on a line (broken line) which passes through the coordinates (u', v1) of the corresponding point and has the inclination Θ can be expressed by:
sinO - vcosO = d (2,
where Θ is a constant. Also, d is a constant which is given by:
d - u's O - v'cosO
[0081] The position of the control point on the image changes depending on the position and orientation of the measurement object. The position and
orientation of the measurement object are defined in six degrees of freedom. That is, s is a six- dimensional vector, which includes three elements that indicate the position of the measurement object, and three elements that express the orientation. The three elements that express the orientation are expressed by, for example, Euler angles or a three-dimensional vector, directions of which represent rotation axes that pass through an origin, and magnitudes of which represent rotation angles. The coordinates (u, v) on the image of a point (control point) which changes depending on the position and orientation of the measurement object can be approximated using a linear Taylor expansion by:
where As± (i = 1, 2,..., 6) represents a infinitesimal change of each component of s .
[0082] can be assumed that the position of the control point on the image, which is obtained by
correct s, is located on a line expressed by equation (2) . Substitution of u and v approximated by
where r is a constant, which is given by:
1 054678
- 33 - sinΘ— VQ COS
[0083] Equation (4) holds for all the edges associated in step S302. For this reason, linear simultaneous equations about As± hold, as described by:
(5)
In this case, simultaneous equations (5) are expressed by:
JAs = E ( 6)
[0084] Partial derivative coefficients are
calculated so as to calculate a coefficient matrix J of linear simultaneous equation (6) . The partial
derivative coefficients can be calculated using, for example, a method disclosed in V. Lepetit and P. Fua, "Keypoint recognition using randomized trees," IEEE Transactions on Pattern Analysis and Machine
Intelligence, vol. 28, no. 9, 2006.
[0085] [S304]
Subsequently, the three-dimensional measurement apparatus 100 controls the position/orientation
calculation unit 180 to calculate a correction value As using a generalized inverse matrix (JT-J)_1-JT of the matrix J based on equation (6) .
[0086] In this case, since edges often assume
P T/JP2011/054678
- 34 -
outliers caused by, for example, detection errors, a robust estimation method to be described below is used. In general, in an edge as an outlier, an error [d - r] becomes large. For this reason, such edge has a larger degree of contribution to simultaneous equations (5) and (6), and the precision of the consequently obtained correction value As drops. Hence, a smaller weight is given to data having a larger absolute value of the error [d - r] , and a larger weight is given to data having a smaller absolute value of the error [d - r] . The weight is given using, for example, a Tukey
where ci is a constant.
[0087] Note that the function used to give the weight is not limited to the Tukey function as long as a function gives a smaller weight to data having a larger absolute value of the error, and a larger weight to data having a smaller absolute value of the error. For this reason, for example, a Huber function may be used. Letting wj. be a weight corresponding to each edge, a weighting matrix Wi is defined, as given by:
0
w, = (8)
0 w n,
[0088] The weighting matrix Wi is a square mat
11 054678
- 35 -
in which all components assume "0" except for diagonal components, and the diagonal components assume the weights Wj.. In this embodiment, in addition to the weighting matrix given by equation (8), the degrees of contribution of edges with higher certainties are increased using the reliabilities calculated by the process in step S106 in Fig. 3. Thus, the precision of the position/orientation calculation processing is improved.
[0089] In this case, the three-dimensional
measurement apparatus 100 controls the
position/orientation calculation unit 180 to acquire the reliabilities corresponding to all the two- dimensional projected edges with reference to the reliability-assigned model shown in Fig. 6. At this time, letting ri be a reliability of each edge, a weighting matrix W2 is defined, as given by:
0
r2
w2 = (9)
0
[0090] The weighting matrix 2 is a square matrix in which all components assume "0" except for diagonal components. The diagonal components assume the
reliabilities rA of the respective edges at the
selected view-point.
[0091] Using the weighting matrices i and 2, a
weighting matrix W is defined, as given by:
W = W 2 (10)
Using this weighting matrix W, equation (6) is modified like:
WJAs = WE (ID
The correction value As is calculated by solving equation (11) like:
As = (JrWJ) JrWE ( 12 )
[0092] [S305]
The three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to correct the approximate values of the position and orientation obtained by the process in step S301 using the correction value As calculated by the process in step S304. In this way, the position and orientation of the measurement object are calculated.
[0093] [S306]
The three-dimensional measurement apparatus 100 controls the position/orientation calculation unit 180 to determine whether or not the measurement values of the position and orientation of the measurement object are converged. If the measurement values are converged, this processing ends; otherwise, the process returns to step S302 again. It is determined that the measurement values are converged when the correction value As is nearly zero or when a difference between the square
sums of error vectors before and after correction is nearly zero.
[0094] As described above, according to the first embodiment, the three-dimensional geometric model assigned with the reliabilities of the respective edges
(reliability-assigned model) is generated, and the position/orientation calculation processing is executed using this model. At this time, the
position/orientation calculation processing is executed by weighting the edges of the three-dimensional
geometric model using the reliabilities associated with those edges, thereby changing the degrees of
contribution of the respective edges with respect to the position/orientation calculation processing.
[0095] As a result, even when edges detected from a captured image have changed due to a view-point change, three-dimensional information of the
measurement object (that is, the position and
orientation of the measurement object) can be precisely measured.
[0096] Since the reliabilities for the respective edges of the three-dimensional geometric model of the measurement object are calculated, edges of, for
example, a background region can be prevented from being mixed compared to a case in which reliabilities are calculated for edges detected from a captured image. For this reason, reliability calculations can be
2011/054678
- 38 -
speeded up, and the certainties of the values can also be improved. Furthermore, since the reliability of the edges of the three-dimensional geometric model are calculated in advance using the three-dimensional geometric model, the processing speed of the
position/orientation calculation processing can be prevented from being lowered.
[0097] [Modification-1 of First Embodiment]
In the aforementioned first embodiment, the weighting matrix given by equation (9) is defined using the reliabilities of the edges of the three-dimensional geometric model, and the degrees of contribution of the respective edges to the position/orientation
calculation processing are changed using this weighting matrix. However, the degrees of contribution may be changed by other methods.
[0098] For example, the value of the constant ci of equation (7) may be changed based on the edge reliabilities. More specifically, ci is set to be large when the reliability of the corresponding edge is high, and to be small when the reliability is low. In this manner, the degrees of contribution of the
respective edges with respect to the
position/orientation calculation processing can be changed. Note that in this case, the weighting matrix W defined by equation (10) is defined like:
W = Wx (13)
Then, a larger weight can be given to an edge with a higher reliability.
[0099] [Modification-2 of First Embodiment]
The aforementioned first embodiment has explained the case in which a plurality of view-point images are generated using photo realistic rendering. However, the present invention is not limited to this, but other methods may be used as long as they can generate images similar to an image captured by the imaging unit 160. For example, a camera may be attached to the distal end of a robot arm, and images obtained by capturing a target object by moving the camera to desired positions and orientations may be used as a plurality of viewpoint images. In this case, intrinsic parameters (a focal length, principal point position, and lens distortion parameters) of the camera used in imaging can be calibrated in advance as those of the imaging unit 160 using, for example, the method disclosed in Z. Zhang, "A flexible new technique for camera
calibration, " IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 22, no. 11, pp. 1330 - 1334, 2000.
[0100] (Second Embodiment)
The second embodiment will be described below. The second embodiment will explain a case in which a reliability-assigned model that additionally considers reliabilities of edges detected from respective view-
JP2011/054678
- 40 -
point images is generated.
[0101] Note that the functional arrangement of a three-dimensional measurement apparatus 100 according to the second embodiment is the same as that shown in Fig. 1 used to explain the first embodiment, and a detailed description thereof will not be repeated.
[0102] As a difference in terms of the arrangement, a reliability calculation unit 140 includes an edge reliability calculation function and reliability sum total calculation function in addition to the
aforementioned functions. The edge reliability
calculation function is a function of calculating reliabilities of edges (second edges) detected from a plurality of view-point images.
[0103] The reliability sum total calculation function is a function of assigning, when edges
detected from respective view-point images (three- dimensional projected edges) are associated with edges of a three-dimensional geometric model (three- dimensional edges) , reliabilities of the three- dimensional projected edges to the associated three- dimensional edges. The reliability of the three- dimensional projected edge is assigned to the
corresponding three-dimensional edge by addition. In this way, the final reliabilities to be assigned to the three-dimensional edges (those for respective first edges) are calculated.
T JP2011/054678
- 41 -
[0104] Next, processing different from the first embodiment will be described below. The different processing includes reliability-assigned model
generation processing (Fig. 3) . The sequence of the reliability-assigned model generation processing according to the second embodiment will be described below with reference to Fig. 11.
[0105] [S401]
Upon starting this processing, the three- dimensional measurement apparatus 100 controls a viewpoint image generation unit 120 to generate a plurality of view-point images obtained by observing a
measurement object from a plurality of view-points by simulation. Since this process is the same as the first embodiment, a detailed description thereof will not be repeated.
[0106] [S402]
The three-dimensional measurement apparatus 100 controls an edge detection unit 130 to detect edges (two-dimensional edges) from the respective view-point images generated by the process in step S401. Then, the reliability calculation unit 140 calculates
reliabilities of the detected two-dimensional edges.
[0107] Upon calculation of a reliability, a search line is set in a normal direction to an edge for each control point of each two-dimensional edge. In this embodiment, a reliability ri of a two-dimensional edge
T/JP2011/054678
- 42 - is calculated based on a luminance gradient change ratio of the search line. For example, let gradmax be maximum luminance gradient change ratio in the search line direction on all the two-dimensional edges
detected from a certain view-point image, and gradmin fc a minimum change ratio. Also, let grad be a luminance gradient change ratio in the search line direction on reference edge (a two-dimensional edge whose
reliability is to be calculated) . Then, a reliability ri of each two-dimensional edge is calculated using a function given by:
r grad - grad ^n
gradma}i - grad^ ( 0≤r<≤1 ) ( 1 )
[0108] Note that this embodiment will explain a case in which the reliability of each two-dimensional edge is calculated based on a luminance gradient.
However, the calculation method of the reliability of the two-dimensional edge is not limited to this. In a region of an image where two-dimensional edges are closed up, a plurality of two-dimensional edges are readily erroneously detected. For this reason, by using this property, a reliability may be calculated according to the density of two-dimensional edges near a control point on the reference edge. For example, a function which assigns a higher reliability to a two- dimensional edge when a given region having the contro point on the reference edge as the center includes a
smaller number of control points may be used. In addition, a distance between the control point on the reference edge and a closest control point may be calculated, and a higher reliability may be assigned t a two-dimensional edge having the larger distance. After the calculations of the reliabilities, the respective two-dimensional edges hold the reliabilitie calculated by the aforementioned processing.
10109] [S403 to S407]
The three-dimensional measurement apparatus 100 controls the reliability calculation unit 140 to associate the two-dimensional edges detected in step S402 to the three-dimensional edges of the three- dimensional geometric model as in the first embodiment (S103) .
[0110] The reliability calculation unit 140 repetitively executes the processes in steps S401 to S406 to count the number of times when an edge (three- dimensional projected edge) detected from each viewpoint image is associated with each edge (three- dimensional edge) of the three-dimensional geometric model. At this time, the reliability calculation unit 140 adds the reliability of the associated two- dimensional edge (three-dimensional projected edge) to the corresponding edge (three-dimensional edge) of the three-dimensional geometric model. This count value and the reliability value are held in the edge list
P T/JP2011/054678
- 44 -
data .
[0111] Edge list data will be described below with reference to Fig. 12. This list holds information associated with edges (three-dimensional edges) which configure the three-dimensional geometric model.
[0112] The edge list data holds information including a control point number used to identify each three-dimensional edge, three-dimensional coordinates of a control point, a three-dimensional vector
indicating the direction of the edge, and a count value indicating the number of times when that three- dimensional edge is observed in different view-point images .
[0113] Also, the edge list data according to the second embodiment also holds a sum total of view-point- dependent reliabilities. The sum total of view-point- dependent reliabilities indicates that of reliabilities of two-dimensional edges associated with the
corresponding three-dimensional edge. That is, every time a two-dimensional edge is associated, the
reliability of that two-dimensional edge (the
reliability calculated using equation (14)) is added to the corresponding three-dimensional edge.
[0114] [S408]
The three-dimensional measurement apparatus 100 controls the reliability calculation unit 140 to average the sum total of view-point-dependent
1054678
- 45 -
reliabilities by dividing it by the corresponding count value for each edge in the edge list data shown in Fig. 12. Thus, the reliabilities of the edges of the three- dimensional geometric model are calculated. Note that position/orientation calculation processing is executed by changing degrees of contribution of respective edges to the position/orientation calculation processing by weighting the edges of the three-dimensional geometric model according to the reliabilities of those edges as in the first embodiment.
[0115] As described above, according to the second embodiment, the reliability-assigned model which
additionally considers the reliabilities of the edges detected from the respective view-point images is generated. In this way, the precision of the edges detected from respective view-points can be reflected to the reliability of each edge of the reliability- assigned model.
[0116] (Third Embodiment)
The third embodiment will be described below. In the third embodiment, upon generation of a reliability- assigned model, reliabilities of edges in view-point images are calculated. Then, the edges of the viewpoint images are associated with those of a three- dimensional geometric model. As a result, the edges of the reliability-assigned model have reliabilities according to a plurality of view-point images. That is,
the three-dimensional geometric model according to the third embodiment has view-point-dependent reliabilities of respective edges.
[0117] Note that the functional arrangement of a three-dimensional measurement apparatus 100 according to the third embodiment is the same as that shown in Fig. 1 used to explain the first embodiment, and a detailed description thereof will not be repeated.
[0118] As a difference in terms of the arrangement, a reliability calculation unit 140 includes an edge reliability calculation function and view-point- dependent reliability assigning function in addition to the aforementioned functions. The edge reliability calculation function is a function of calculating viewpoint-dependent reliabilities of edges detected from a plurality of view-point images (second edges) . More specifically, a reliability of an edge (second edge) detected from each view-point image is independently calculated in correspondence with the view-point image as a detection source of that edge.
[0119] The view-point-dependent reliability assigning function is a function of assigning, when edges detected from view-point images (three- dimensional projected edges) are associated with edges of three-dimensional geometric model (three-dimensional edges), view-point-dependent reliabilities of the three-dimensional projected edges to the three-
JP2011/054678
- 47 -
dimensional edges. Since the view-point-dependent reliabilities of the three-dimensional projected edges are assigned to the three-dimensional edges, viewpoint-dependent reliabilities are finally assigned to each three-dimensional edge.
[0120] Processing different from the first
embodiment will be described below. The different processing includes reliability-assigned model
generation processing and position/orientation
calculation processing.
[0121] An example of the sequence of the
reliability-assigned model generation processing
according to the third embodiment will be described below with reference to Fig. 13. Note that the
processes in steps S501 to S504 are the same as those in steps S401 to S404 in Fig. 11 used to explain the second embodiment, and processes in step S505 and subsequent steps will be described.
[0122] [S505 to S507]
Reliabilities of two-dimensional edges are
calculated by the process in step S503, and the two- dimensional edges detected in step S502 are assigned with the three-dimensional edges of the three- dimensional geometric model in the process in step S504. In step S505, the three-dimensional measurement
apparatus 100 controls the reliability calculation unit 140 to assign the reliabilities held by the two-
JP2011/054678
- 48 -
dimensional edges to the three-dimensional edges
associated with the two-dimensional edges. If viewpoint images to be processed still remain in step S506, the process returns to step S501 to apply the same processes to the next view-point image. With the processes in steps S501 to S506, different view-point- dependent reliabilities are assigned to each three- dimensional edge.
[0123] In this way, a view-point-dependent
reliability-assigned model is generated in step S507. That is, a reliability-assigned model in which each of the edges of the three-dimensional geometric model has a plurality of view-point-dependent reliabilities is generated.
[0124] An example of the view-point-dependent reliability-assigned model generated by the process in step S507 will be described below with reference to Fig. 14.
[0125] The reliability-assigned model holds
information including a control point number used to identify each three-dimensional edge, three-dimensional coordinates of a control point, a three-dimensional vector indicating the direction of that edge, and reliabilities at respective view-points. The
reliabilities at respective view-points are assured for view-points 0 to 60. In this case, reliabilities are calculated for 61 view-point images. Note that a view-
4678
- 49 - point number which can identify a camera view-point at the time of generation of each view-point image is assigned to that camera view-point.
[0126] Processing upon calculating the position and orientation of an object will be briefly described below. In the third embodiment, reliabilities of a view-point closest to that of an image captured by an imaging unit 160 are acquired from the view-point- dependent reliability-assigned model. This acquisition is made based on approximate values of the position and orientation of a measurement object. More specifically, a view-point having a minimum angle made by its viewpoint vector and that based on the approximate values is selected from those used to generate view-point images. After that, using the reliabilities at the selected view-point, the edges of the three-dimensional geometric model are weighted according to the
reliabilities of those edges, thereby changing the degrees of contribution of the edges to the
position/orientation calculation processing.
[0127] As described above, according to the third embodiment, the view-point-dependent reliability- assigned model having reliabilities in correspondence with respective view-points is generated. With this model, since the view-point-dependent reliabilities of the edges can be reflected to the degrees of
contribution of the respective edges to the
4678
- 50 - position/orientation calculation processing, the position and orientation of the object can be measured more precisely.
[0128] [Modification-1 of Third Embodiment]
In the aforementioned third embodiment, by selecting a view-point having a minimum angle made by its view-point vector and that based on the approximate values from those used to generate view-point images, reliabilities are selected from those held for
respective view-points. However, the present invention is not limited to this.
[0129] For example, three view-points having first, second, and third smallest angles made by their line- of-sight vectors and that based on the approximate values may be selected from those used to generate view-point images, and reliabilities may be calculated by averaging those of the three view-points for
respective edges. In addition, for example,
reliabilities may be calculated by weighting them based on distances between the selected three view-points and their barycenters.
[0130] [Modification-2 of Third Embodiment]
In the aforementioned third embodiment, control point numbers are assigned to control points of the three-dimensional edges, and the two-dimensional edges and three-dimensional edges are associated with each other by searching which three-dimensional edges two-
dimensional edges correspond to. However, the edges may be associated with each other by other methods.
For example, detection numbers may be assigned to the two-dimensional edges detected from respective viewpoint images, and the three-dimensional edges may be associated with these two-dimensional edges. Then, the reliabilities of the two-dimensional edges are assigned to the three-dimensional edges associated with the two- dimensional edges.
[0131] Fig. 15 shows an example of edge list data which holds respective two-dimensional edges in case of such configuration. This edge list data is generated for each view-point.
[0132] The edge list data holds information
including a detection number, control point coordinates, an edge direction vector, and a reliability. This view-point-dependent edge list data is calculated for all the view-points. Since the numbers of edges to be detected are different for respective view-points, the numbers of edges in the edge list data are different for respective view-points.
[0133] The representative embodiments of the present invention have been exemplified. However, the present invention is not limited to the aforementioned and illustrated embodiments, and allows modifications as needed without departing from the scope of its gist.
[0134] For example, in the aforementioned first to
third embodiments, the model generation processing and position/orientation calculation processing are
executed by a single apparatus. However, the present invention is not limited to this. For example, the model generation processing may be executed by a first apparatus (model generation apparatus) , and the
position/orientation calculation processing may be executed by a second apparatus (three-dimensional measurement apparatus) .
[0135] Note that the present invention can adopt embodiments in the form of, for example, a system, apparatus, method, program, or storage medium. More specifically, the present invention may be applied to either a system configured by a plurality of devices or an apparatus including a single device.
[0136] (Other Embodiments)
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described
embodiment (s) , and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment (s ) . For this purpose, the program is provided to the computer for example via
T/JP2011/054678
- 53 - a network or from a recording medium of various types serving as the memory device (for example, non- transitory computer-readable storage medium) .
[0137] While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such
modifications and equivalent structures and functions.
[0138] This application claims the benefit of
Japanese Patent Application No. 2010-043060 filed on February 26, 2010, which is hereby incorporated by reference herein in its entirety.
Claims
1. A three-dimensional measurement apparatus, which measures a position and an orientation of a measurement object using a three-dimensional geometric model that defines a shape of the measurement object using a plurality of first edges, said apparatus characterized by comprising:
view-point image generation means for generating a plurality of view-point images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model ;
edge detection means for detecting edges of the measurement object from the plurality of view-point images as second edges;
reliability calculation means for associating the second edges with the first edges, respectively, and calculating respective reliabilities of the first edges based on the association result;
weighting means for weighting each of the first edges based on the respective reliabilities of the first edges calculated by said reliability calculation means; and
position/orientation calculation means for associating third edges detected from a captured image obtained by capturing an image of the measurement object with the first edges weighted by said weighting means, and calculating a position and an orientation of the measurement object based on the association result.
2. The apparatus according to claim 1, characterized in that said reliability calculation means comprises: counting means for counting the number of times when the second edges are associated with each of the first edges, and
said reliability calculation means calculates a reliability of each of the first edges based on a count value of said counting means.
3. The apparatus according to claim 1, characterized in that said reliability calculation means comprises: edge reliability calculation means for
calculating reliabilities of the second edges;
counting means for counting the number of times when the second edges are associated with each of the first edges; and
reliability sum total calculation means for calculating a sum total of reliabilities of second edges associated with the first edges for each first edge, and
said reliability calculation means calculates a reliability of each of the first edges by dividing the sum total of the reliabilities calculated by said reliability sum total calculation means by a count value of said counting means.
4. The apparatus according to claim 3, characterized - 56 - in that said edge reliability calculation means calculates a reliability based on a luminance gradient on the second edge.
5. The apparatus according to claim 3, characterized in that said edge reliability calculation means calculates a reliability based on a density of the second edges in the view-point image from which the second edges have been detected.
6. The apparatus according to any one of claims 1 to 5, characterized in that said weighting means
comprises :
generation means for generating a reliability- assigned model by assigning the reliabilities
calculated by said reliability calculation means to the three-dimensional geometric model, and
said weighting means weights the first edges based on the reliabilities assigned to the first edges of the reliability-assigned model.
7. The apparatus according to claim 6, characterized in that said reliability calculation means calculates reliabilities of the second edges for respective viewpoints based on each view-point image from which the respective second edges have been detected, and
said generation means generates the reliability- assigned model assigned with the view-point-dependent reliabilities by assigning, when the second edge is associated with the first edge, the view-point- dependent reliability calculated for that second edge to the associated first edge.
8. The apparatus according to claim 7, characterized by further comprising:
acquisition means for acquiring approximate values indicating an approximate position and
orientation of the measurement object,
wherein said weighting means selects a
reliability of one view-point from the view-point- dependent reliabilities assigned to the first edges of the reliability-assigned model based on the approximate values acquired by said acquisition means, and weights the first edges based on the reliabilities of the selected view-point.
9. A model generation apparatus, which generates a three-dimensional geometric model used for measuring a position and an orientation of a measurement object, said apparatus characterized by comprising:
view-point image generation means for generating a plurality of view-point images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model;
edge detection means for detecting edges of the measurement object from the plurality of view-point images ;
reliability calculation means for associating the detected edges of the measurement object with edges of the three-dimensional geometric model, and calculating reliabilities of the edges of the three-dimensional geometric model based on the association result;
generation means for generating a reliability- assigned model by assigning the reliabilities of the edges to the edges of the three-dimensional geometric model .
10. A three-dimensional measurement apparatus, which measures a position and an orientation of a measurement object, said apparatus characterized by comprising: holding means for holding a reliability-assigned model obtained by defining a shape of the measurement object using a plurality of edges, and assigning reliabilities to the edges, respectively;
edge detection means for detecting edges from a captured image obtained by capturing an image of the measurement object;
weighting means for weighting the edges of the reliability-assigned model based on the reliabilities assigned to the edges; and
position/orientation calculation means for associating the edges weighted by said weighting means with the edges of the reliability-assigned model held in said holding means, and calculating a position and an orientation of the measurement object based on the association result.
11. A processing method of a three-dimensional measurement apparatus, which measures a position and an orientation of a measurement object using a three- dimensional geometric model that defines a shape of the measurement object using a plurality of first edges, the method characterized by comprising:
a step of generating a plurality of view-point images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model;
a step of detecting edges of the measurement object from the plurality of view-point images as second edges;
a step of associating the second edges with the first edges, respectively, and calculating respective reliabilities of the first edges based on the
association result;
a step of weighting the each of first edges based on the respective reliabilities of the first edges; and a step of associating third edges detected from a captured image obtained by capturing an image of the measurement object with the weighted first edges, and calculating a position and an orientation of the measurement object based on the association result.
12. A non-transitory computer-readable storage medium storing a computer program for controlling a computer incorporated in a three-dimensional measurement apparatus, which measures a position and an orientation of a measurement object using a three-dimensional geometric model that defines a shape of the measurement object using a plurality of first edges, to function as :
view-point image generation means for generating a plurality of view-point images obtained by observing the measurement object from a plurality of different view-points using the three-dimensional geometric model;
edge detection means for detecting edges of the measurement object from the plurality of view-point images as second edges;
reliability calculation means for associating the second edges with the first edges, respectively, and calculating respective reliabilities of the first edges based on the association result;
weighting means for weighting each of the first edges based on the respective reliabilities of the first edges; and
position/orientation calculation means for associating third edges detected from a captured image obtained by capturing an image of the measurement object with the first edges weighted by said weighting means, and calculating a position and an orientation of the measurement object based on the association result.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/517,293 US9355453B2 (en) | 2010-02-26 | 2011-02-23 | Three-dimensional measurement apparatus, model generation apparatus, processing method thereof, and non-transitory computer-readable storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010-043060 | 2010-02-26 | ||
| JP2010043060A JP5746477B2 (en) | 2010-02-26 | 2010-02-26 | Model generation device, three-dimensional measurement device, control method thereof, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2011105616A1 true WO2011105616A1 (en) | 2011-09-01 |
Family
ID=44507007
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2011/054678 Ceased WO2011105616A1 (en) | 2010-02-26 | 2011-02-23 | Three-dimensional measurement apparatus, model generation apparatus, processing method thereof, and non-transitory computer-readable storage medium |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US9355453B2 (en) |
| JP (1) | JP5746477B2 (en) |
| WO (1) | WO2011105616A1 (en) |
Families Citing this family (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5297403B2 (en) | 2010-02-26 | 2013-09-25 | キヤノン株式会社 | Position / orientation measuring apparatus, position / orientation measuring method, program, and storage medium |
| JP5430456B2 (en) | 2010-03-16 | 2014-02-26 | キヤノン株式会社 | Geometric feature extraction device, geometric feature extraction method, program, three-dimensional measurement device, object recognition device |
| JP5612916B2 (en) | 2010-06-18 | 2014-10-22 | キヤノン株式会社 | Position / orientation measuring apparatus, processing method thereof, program, robot system |
| JP5671281B2 (en) | 2010-08-20 | 2015-02-18 | キヤノン株式会社 | Position / orientation measuring apparatus, control method and program for position / orientation measuring apparatus |
| JP5938201B2 (en) * | 2011-12-06 | 2016-06-22 | キヤノン株式会社 | Position / orientation measuring apparatus, processing method thereof, and program |
| JP6004809B2 (en) * | 2012-03-13 | 2016-10-12 | キヤノン株式会社 | Position / orientation estimation apparatus, information processing apparatus, and information processing method |
| JP6045178B2 (en) * | 2012-04-13 | 2016-12-14 | キヤノン株式会社 | Measuring device, measuring method and program |
| JP6323993B2 (en) | 2012-08-28 | 2018-05-16 | キヤノン株式会社 | Information processing apparatus, information processing method, and computer program |
| KR102056664B1 (en) * | 2012-10-04 | 2019-12-17 | 한국전자통신연구원 | Method for work using the sensor and system for performing thereof |
| JPWO2014097706A1 (en) * | 2012-12-21 | 2017-01-12 | ソニー株式会社 | Display control apparatus and recording medium |
| US9025823B2 (en) | 2013-03-12 | 2015-05-05 | Qualcomm Incorporated | Tracking texture rich objects using rank order filtering |
| JP6429450B2 (en) | 2013-10-31 | 2018-11-28 | キヤノン株式会社 | Information processing apparatus and information processing method |
| JP6253368B2 (en) | 2013-11-25 | 2017-12-27 | キヤノン株式会社 | Three-dimensional shape measuring apparatus and control method thereof |
| JP6351243B2 (en) * | 2013-11-28 | 2018-07-04 | キヤノン株式会社 | Image processing apparatus and image processing method |
| US9305345B2 (en) * | 2014-04-24 | 2016-04-05 | General Electric Company | System and method for image based inspection of an object |
| JP6317618B2 (en) * | 2014-05-01 | 2018-04-25 | キヤノン株式会社 | Information processing apparatus and method, measuring apparatus, and working apparatus |
| JP6562197B2 (en) * | 2014-06-20 | 2019-08-21 | パナソニックIpマネジメント株式会社 | Image processing method and image processing system |
| JP6374812B2 (en) * | 2015-03-12 | 2018-08-15 | セコム株式会社 | 3D model processing apparatus and camera calibration system |
| JP6352208B2 (en) * | 2015-03-12 | 2018-07-04 | セコム株式会社 | 3D model processing apparatus and camera calibration system |
| JP6452508B2 (en) * | 2015-03-17 | 2019-01-16 | オリンパス株式会社 | 3D shape measuring device |
| JP6584139B2 (en) * | 2015-05-25 | 2019-10-02 | キヤノン株式会社 | Information processing apparatus, information processing method, and program |
| JP6380685B2 (en) * | 2015-10-01 | 2018-08-29 | 三菱電機株式会社 | Dimension measuring device |
| US10154179B2 (en) | 2015-12-14 | 2018-12-11 | Bocam Llc | System, method, and apparatus for discretely recording an event from the perspective of an event participant |
| JP6677522B2 (en) * | 2016-02-15 | 2020-04-08 | キヤノン株式会社 | Information processing apparatus, control method for information processing apparatus, and program |
| JP6740033B2 (en) * | 2016-06-28 | 2020-08-12 | キヤノン株式会社 | Information processing device, measurement system, information processing method, and program |
| JP6938201B2 (en) * | 2017-04-26 | 2021-09-22 | キヤノン株式会社 | Information processing equipment, information processing methods and programs |
| US10788830B2 (en) * | 2017-07-28 | 2020-09-29 | Qualcomm Incorporated | Systems and methods for determining a vehicle position |
| FI129042B (en) * | 2017-12-15 | 2021-05-31 | Oy Mapvision Ltd | Machine vision system with a computer generated virtual reference object |
| US10957072B2 (en) * | 2018-02-21 | 2021-03-23 | Cognex Corporation | System and method for simultaneous consideration of edges and normals in image features by a vision system |
| JP7119606B2 (en) * | 2018-06-11 | 2022-08-17 | オムロン株式会社 | Measuring system and measuring method |
| CN109166175A (en) * | 2018-08-22 | 2019-01-08 | 重庆环漫科技有限公司 | The method at control point is evenly distributed in a kind of Fusion Edges program of 3D exploitation |
| JP7180283B2 (en) * | 2018-10-30 | 2022-11-30 | 富士通株式会社 | Image processing device and image processing method |
| FR3097974B1 (en) * | 2019-06-26 | 2021-06-25 | Mbda France | PASSIVE TELEMETRY METHOD AND DEVICE BY IMAGE PROCESSING AND USE OF THREE-DIMENSIONAL MODELS |
| US11389965B2 (en) * | 2019-07-26 | 2022-07-19 | Mujin, Inc. | Post-detection refinement based on edges and multi-dimensional corners |
| WO2022124017A1 (en) * | 2020-12-08 | 2022-06-16 | パナソニックIpマネジメント株式会社 | Three-dimensional model generation method and three-dimensional model generation device |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0486957A (en) * | 1990-07-31 | 1992-03-19 | Fuji Facom Corp | Method for inputting appearance data of stereoscopic object |
| JP2000003447A (en) * | 1998-06-15 | 2000-01-07 | Ricoh Co Ltd | Method for estimating object shape and camera parameters, three-dimensional data input device, and recording medium |
| JP2008309631A (en) * | 2007-06-14 | 2008-12-25 | Canon Inc | Information processing method and information processing apparatus |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0454409A (en) * | 1990-06-25 | 1992-02-21 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for estimating attitude of body |
| JPH06194138A (en) * | 1992-12-24 | 1994-07-15 | Nippon Telegr & Teleph Corp <Ntt> | Attitude estimating method for object and its device |
| JPH0814860A (en) * | 1994-06-30 | 1996-01-19 | Toshiba Corp | Model making device |
| JP3526616B2 (en) | 1994-06-20 | 2004-05-17 | 沖電気工業株式会社 | Data retrieval device |
| JPH085333A (en) * | 1994-06-21 | 1996-01-12 | Kobe Steel Ltd | Three-dimensional position-attitude recognizing apparatus |
| JP2002063567A (en) * | 2000-08-23 | 2002-02-28 | Nec Corp | Device and method for estimating body position and attitude, method for feature point extraction method using the same, and image collating method |
| JP3796449B2 (en) | 2002-01-31 | 2006-07-12 | キヤノン株式会社 | Position and orientation determination method and apparatus, and computer program |
| JP4136859B2 (en) | 2003-01-10 | 2008-08-20 | キヤノン株式会社 | Position and orientation measurement method |
| JP4599184B2 (en) | 2005-02-02 | 2010-12-15 | キヤノン株式会社 | Index placement measurement method, index placement measurement device |
| JP4727327B2 (en) | 2005-07-14 | 2011-07-20 | 新明和エンジニアリング株式会社 | Movable galleries and fire extinguishing systems for fire extinguishing target zones having the same |
| JP4914039B2 (en) | 2005-07-27 | 2012-04-11 | キヤノン株式会社 | Information processing method and apparatus |
| JP5063023B2 (en) | 2006-03-31 | 2012-10-31 | キヤノン株式会社 | Position / orientation correction apparatus and position / orientation correction method |
| JP2007098567A (en) * | 2006-09-25 | 2007-04-19 | Hitachi Ltd | Autonomous control robot and its control device |
| JP5403861B2 (en) * | 2006-11-06 | 2014-01-29 | キヤノン株式会社 | Information processing apparatus and information processing method |
| JP4898464B2 (en) * | 2007-01-17 | 2012-03-14 | キヤノン株式会社 | Information processing apparatus and method |
| JP4960754B2 (en) * | 2007-04-25 | 2012-06-27 | キヤノン株式会社 | Information processing apparatus and information processing method |
| JP5248806B2 (en) * | 2007-04-25 | 2013-07-31 | キヤノン株式会社 | Information processing apparatus and information processing method |
| JP5013961B2 (en) * | 2007-05-21 | 2012-08-29 | キヤノン株式会社 | Position / orientation measuring apparatus and control method thereof |
| JP5083715B2 (en) * | 2008-03-10 | 2012-11-28 | 株式会社Ihi | 3D position and orientation measurement method and apparatus |
| JP5111210B2 (en) * | 2008-04-09 | 2013-01-09 | キヤノン株式会社 | Image processing apparatus and image processing method |
| JP2010134649A (en) | 2008-12-03 | 2010-06-17 | Canon Inc | Information processing apparatus, its processing method, and program |
| JP5290864B2 (en) | 2009-05-18 | 2013-09-18 | キヤノン株式会社 | Position and orientation estimation apparatus and method |
| JP5247590B2 (en) | 2009-05-21 | 2013-07-24 | キヤノン株式会社 | Information processing apparatus and calibration processing method |
| JP5548482B2 (en) | 2010-02-26 | 2014-07-16 | キヤノン株式会社 | Position / orientation measuring apparatus, position / orientation measuring method, program, and storage medium |
| JP5496008B2 (en) | 2010-08-06 | 2014-05-21 | キヤノン株式会社 | Position / orientation measuring apparatus, position / orientation measuring method, and program |
-
2010
- 2010-02-26 JP JP2010043060A patent/JP5746477B2/en active Active
-
2011
- 2011-02-23 WO PCT/JP2011/054678 patent/WO2011105616A1/en not_active Ceased
- 2011-02-23 US US13/517,293 patent/US9355453B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0486957A (en) * | 1990-07-31 | 1992-03-19 | Fuji Facom Corp | Method for inputting appearance data of stereoscopic object |
| JP2000003447A (en) * | 1998-06-15 | 2000-01-07 | Ricoh Co Ltd | Method for estimating object shape and camera parameters, three-dimensional data input device, and recording medium |
| JP2008309631A (en) * | 2007-06-14 | 2008-12-25 | Canon Inc | Information processing method and information processing apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| US9355453B2 (en) | 2016-05-31 |
| JP5746477B2 (en) | 2015-07-08 |
| US20120262455A1 (en) | 2012-10-18 |
| JP2011179908A (en) | 2011-09-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9355453B2 (en) | Three-dimensional measurement apparatus, model generation apparatus, processing method thereof, and non-transitory computer-readable storage medium | |
| JP5624394B2 (en) | Position / orientation measurement apparatus, measurement processing method thereof, and program | |
| US20200096317A1 (en) | Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium | |
| JP5393318B2 (en) | Position and orientation measurement method and apparatus | |
| JP4708752B2 (en) | Information processing method and apparatus | |
| JP6465789B2 (en) | Program, apparatus and method for calculating internal parameters of depth camera | |
| JP6370038B2 (en) | Position and orientation measurement apparatus and method | |
| JP5671281B2 (en) | Position / orientation measuring apparatus, control method and program for position / orientation measuring apparatus | |
| JP6573354B2 (en) | Image processing apparatus, image processing method, and program | |
| JP5839971B2 (en) | Information processing apparatus, information processing method, and program | |
| JP6324025B2 (en) | Information processing apparatus and information processing method | |
| JP6594129B2 (en) | Information processing apparatus, information processing method, and program | |
| CN112541946A (en) | Real-time pose detection method of mechanical arm based on perspective multi-point projection | |
| JP2011179910A (en) | Device and method for measuring position and attitude, and program | |
| JP6626338B2 (en) | Information processing apparatus, control method for information processing apparatus, and program | |
| JP5976089B2 (en) | Position / orientation measuring apparatus, position / orientation measuring method, and program | |
| CN113052974B (en) | Methods and devices for reconstructing three-dimensional surfaces of objects | |
| EP4292777A1 (en) | Assistance system, image processing device, assistance method and program | |
| CN119832151A (en) | Open three-dimensional reconstruction method, automatic depth positioning method, equipment and robot | |
| Tanaka et al. | Fiducial marker and camera-based passive high-accuracy 6-DoF tracking for mobile objects | |
| JP6766229B2 (en) | Position and posture measuring device and method | |
| Cortaberria Berriozabal | Progress in industrial photogrammetry by means of markerless solutions |
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: 11747568 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 13517293 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 11747568 Country of ref document: EP Kind code of ref document: A1 |




