Method and apparatus for estimating a pose
First Claim
1. A method for pose estimation of a moving object by computer calculation of displacements of the 3D position coordinates of the nodes of a skeleton model, that is continuously fitted into a sequence of 3D point clouds, the node coordinates being present in table form in an electronic memory and the 3D point clouds being determined from electronically recorded images of a depth sensor camera that represent the moving object,the skeleton model being a topology that exhibits as topology elements N1 nodes, N2 edges, and N3 triangles having N1, N2>
- 0 and N3≧
0, and each topology element being described by nodes, node pairs, or node triplets and being firmly assigned to a part of the moving object, and that an arithmetic unit carries out the following steps;
a. randomly selecting a data point X of the 3D point cloud;
b. calculating the crossing point P relative to X with reference to each topology element and identifying whether P lies in each case inside the topology element;
c. calculating the distance from X to each topology element as the norm of the differential vector X-P;
d. determining that topology element that exhibits the minimum distance from X among all topology elements whose crossing point P lies inside the topology element;
e. displacing the topology element determined in step d by displacing all nodes establishing the topology element in the direction of the vector X-P, the displacement vector for a node being multiplied by a learning rate and by a weight that results from the crossing point P relative to X with reference to the topology element determined in step d, andf. repeating the steps a to e for a predetermined number of learning steps while gradually reducing the learning rate;
g. updating the node coordinates in the table of the electronic memory after K passes of the predetermined number of learning steps with K≧
1;
h. providing at least the node coordinates updated in the table for further processing.
3 Assignments
0 Petitions
Accused Products
Abstract
The invention relates to a real time-capable analysis of a sequence of electronic images for estimating the pose of a movable object captured by means of the images. The invention further relates to implementing the invention in software and, in this connection, to a computer-readable medium that stores commands, the execution of which causes the method according to the invention to be carried out. The invention proceeds from a skeleton model, which is described by a small number of nodes in 3D space and permits a good data compression of the image information when the co-ordinates of the nodes describe at any time the position of predetermined parts of the moving object. The skeleton model simultaneously represents previous knowledge of the object, by defining e.g. node pairs and optionally also node triplets in the skeleton model that describe cohesive object parts or optionally object surfaces, which are contained in the measured 2½-D image information, i.e. are visible to the camera. The skeleton model is to be fitted quickly and accurately into the image information. The fitting is effected between two images of an image sequence by the continuous displacement of the nodes and the continuous updating of the skeleton model.
16 Citations
8 Claims
-
1. A method for pose estimation of a moving object by computer calculation of displacements of the 3D position coordinates of the nodes of a skeleton model, that is continuously fitted into a sequence of 3D point clouds, the node coordinates being present in table form in an electronic memory and the 3D point clouds being determined from electronically recorded images of a depth sensor camera that represent the moving object,
the skeleton model being a topology that exhibits as topology elements N1 nodes, N2 edges, and N3 triangles having N1, N2> - 0 and N3≧
0, and each topology element being described by nodes, node pairs, or node triplets and being firmly assigned to a part of the moving object, and that an arithmetic unit carries out the following steps;a. randomly selecting a data point X of the 3D point cloud; b. calculating the crossing point P relative to X with reference to each topology element and identifying whether P lies in each case inside the topology element; c. calculating the distance from X to each topology element as the norm of the differential vector X-P; d. determining that topology element that exhibits the minimum distance from X among all topology elements whose crossing point P lies inside the topology element; e. displacing the topology element determined in step d by displacing all nodes establishing the topology element in the direction of the vector X-P, the displacement vector for a node being multiplied by a learning rate and by a weight that results from the crossing point P relative to X with reference to the topology element determined in step d, and f. repeating the steps a to e for a predetermined number of learning steps while gradually reducing the learning rate; g. updating the node coordinates in the table of the electronic memory after K passes of the predetermined number of learning steps with K≧
1;h. providing at least the node coordinates updated in the table for further processing. - View Dependent Claims (2, 3, 4, 5, 6)
- 0 and N3≧
-
7. An apparatus for pose estimation of a moving object, comprising:
-
a depth sensor camera configured to detect electronic images of the moving object, an electronic memory configured to store the electronic images of the depth sensor camera, and an arithmetic unit that is designed to determine a 3D point cloud representing the object from the electronic images temporally in step with the image recording by the camera, and wherein the memory further stores a list of 3D coordinates for the nodes of a skeleton model and the arithmetic unit being able to read out and change these coordinates for individual nodes, predetermined node pairs, and predetermined node triplets as representation of the topology elements of the skeleton model, wherein the arithmetic unit is further designed, after determining the 3D point cloud representing the object, to carry out the following steps; a. randomly selecting a data point X of the 3D point cloud; b. calculating the crossing point P relative to X with reference to each topology element and identifying whether P lies in each case inside the topology element; c. calculating the distance from X to each topology element as the norm of the differential vector X-P; d. determining that topology element that exhibits the minimum distance from X among all topology elements where the crossing point P lies within the topology element; e. displacing the topology element determined in step d by displacing all nodes establishing the topology element in the direction of the vector X-P, the displacement vector for a node being multiplied by a learning rate and by a weight that results from the crossing point P relative to X with reference to the topology element determined in step d, and f. repeating the steps a to e for a predetermined number of learning steps while gradually reducing the learning rate; g. updating the node coordinates in the table of the electronic memory after K passes of the predetermined number of learning steps with K≧
1;h. providing at least the node coordinates updated in the table for further processing.
-
-
8. A non-transitory computer-readable storage medium that stores commands that, once executed by an arithmetic unit, cause the arithmetic unit to carry out 6 pose estimation of a moving object by computer calculation of displacements of the 3D position coordinates of the nodes of a skeleton model, that is continuously fitted into a sequence of 3D point clouds, the node coordinates being present in table form in an electronic memory and the 3D point clouds being determined from electronically recorded images of a depth sensor camera that represent the moving object,
the skeleton model being a topology that exhibits as topology elements N1 nodes, N2 edges, and N3 triangles having N1, N2> - 0 and N3≧
0, and each topology element being described by nodes, node pairs, or node triplets and being firmly assigned to a part of the moving object,wherein the execution of said instructions cause the arithmetic unit to perform the following; a. randomly selecting a data point X of the 3D point cloud; b. calculating the crossing point P relative to X with reference to each topology element and identifying whether P lies in each case inside the topology element; c. calculating the distance from X to each topology element as the norm of the differential vector X-P; d. determining that topology element that exhibits the minimum distance from X among all topology elements whose crossing point P lies inside the topology element; e. displacing the topology element determined in step d by displacing all nodes establishing the topology element in the direction of the vector X-P, the displacement vector for a node being multiplied by a learning rate and by a weight that results from the crossing point P relative to X with reference to the topology element determined in step d, and f. repeating the steps a to e for a predetermined number of learning steps while gradually reducing the learning rate; g. updating the node coordinates in the table of the electronic memory after K passes of the predetermined number of learning steps with K≧
1;h. providing at least the node coordinates updated in the table for further processing.
- 0 and N3≧
Specification