3D pose estimation
3D pose estimation is the problem of determining the transformation of an object in a 2D image which gives the 3D object. One of the requirements of 3D pose estimation arises from the limitations of feature-based pose estimation. There exist environments where it is difficult to extract corners or edges from an image. To circumvent these issues, the object is dealt with as a whole in noted techniques through the use of free-form contours.
From an uncalibrated 2D camera
It is possible to estimate the 3D rotation and translation of a 3D object from a single 2D photo, if an approximate 3D model of the object is known and the corresponding points in the 2D image are known. A common technique for solving this has recently[when?] been "POSIT", where the 3D pose is estimated directly from the 3D model points and the 2D image points, and corrects the errors iteratively until a good estimate is found from a single image. Most implementations of POSIT only work on non-coplanar points (in other words, it won't work with flat objects or planes).
Another approach is to register a 3D CAD model over the photograph of a known object by optimizing a suitable distance measure with respect to the pose parameters. The distance measure is computed between the object in the photograph and the 3D CAD model projection at a given pose. Perspective projection or orthogonal projection is possible depending on the pose representation used. This approach is appropriate for applications where a 3D CAD model of a known object (or object category) is available.
From a calibrated 2D camera
Given a 2D image of an object, and the camera that is calibrated with respect to a world coordinate system, it is also possible to find the pose which gives the 3D object in its object coordinate system. This works as follows.
Extracting 3D from 2D
Starting with a 2D image, image points are extracted which correspond to corners in an image. The projection rays from the image points are reconstructed from the 2D points so that the 3D points, which must be incident with the reconstructed rays, can be determined.
The algorithm for determining pose estimation is based on the iterative closest point algorithm. The main idea is to determine the correspondences between 2D image features and points on the 3D model curve.
(a)Reconstruct projection rays from the image points (b)Estimate the nearest point of each projection ray to a point on the 3D contour (c)Estimate the pose of the contour with the use of this correspondence set (d)goto (b)
The above algorithm does not account for images containing an object that is partially occluded. The following algorithm assumes that all contours are rigidly coupled, meaning the pose of one contour defines the pose of another contour.
(a)Reconstruct projection rays from the image points (b)For each projection ray R: (c)For each 3D contour: (c1)Estimate the nearest point P1 of ray R to a point on the contour (c2)if (n==1) choose P1 as actual P for the point-line correspondence (c3)else compare P1 with P: if dist(P1, R) is smaller than dist(P, R) then choose P1 as new P (d)Use (P, R) as correspondence set. (e)Estimate pose with this correspondence set (f)Transform contours, goto (b)
Estimating pose through comparison
Systems exist which use a database of an object at different rotations and translations to compare an input image against to estimate pose. These systems accuracy is limited to situations which are represented in their database of images, however the goal is to recognize a pose, rather than determine it.
- posest, a GPL C/C++ library for 6DoF pose estimation from 3D-2D correspondences.
- diffgeom2pose, fast Matlab solver for 6DoF pose estimation from only two 3D-2D correspondences of points with directions (vectors), or points at curves (point-tangents). The points can be SIFT attributed with feature directions.
- MINUS: C++ package for (relative) pose estimation of three views. Includes cases of three corresponding points with lines at these points (as in feature positions and orientations, or curve points with tangents), and also for three corresponding points and one line correspondence.
- Gesture recognition
- 3D reconstruction from multiple images
- Articulated body pose estimation
- Camera calibration
- Homography (computer vision)
- Trifocal tensor
- Pose estimation
- Fabbri, Ricardo; Kimia, Benjamin (2016). "Multiview Differential Geometry of Curves". International Journal of Computer Vision. 120 (3): 324–346. arXiv:1604.08256. Bibcode:2016arXiv160408256F. doi:10.1007/s11263-016-0912-7.
- Fabbri, Ricardo; Duff, Timothy; Fan, Hongyi; Regan, Margaret; de Pinho, David; Tsigaridas, Elias; Wampler, Charles; Hauenstein, Jonathan; Kimia, Benjamin; Leykin, Anton; Pajdla, Tomas (23 Mar 2019). "Trifocal Relative Pose from Lines at Points and its Efficient Solution". arXiv:1903.09755 [cs.CV].
- Bodo Rosenhahn. "Pose Estimation of 3D Free-form Contours in Conformal Geometry". Institut fur Informatik und Praktische Mathematik, Christian-Albrechts-Universitat zu Kiel. Archived from the original on 3 June 2008. Retrieved 2008-06-09.
- Javier Barandiaran (28 December 2017). "POSIT tutorial". OpenCV.
- Dementhon and Davis, 1995 (1995). "Model-based object pose in 25 lines of code". International Journal of Computer Vision. Kluwer Academic Publishers. 15 (1–2): 123–141. doi:10.1007/BF01450852. Retrieved 2010-05-29.
- Javier Barandiaran. "POSIT tutorial with OpenCV and OpenGL". Archived from the original on 20 June 2010. Retrieved 29 May 2010.
- Srimal Jayawardena and Marcus Hutter and Nathan Brewer (2011). "A Novel Illumination-Invariant Loss for Monocular 3D Pose Estimation". 2011 International Conference on Digital Image Computing: Techniques and Applications. pp. 37–44. CiteSeerX 10.1.1.766.3931. doi:10.1109/DICTA.2011.15. ISBN 978-1-4577-2006-2. Retrieved 2013-06-01.
- Srimal Jayawardena and Di Yang and Marcus Hutter (2011). "3D Model Assisted Image Segmentation". 2011 International Conference on Digital Image Computing: Techniques and Applications. pp. 51–58. CiteSeerX 10.1.1.751.8774. doi:10.1109/DICTA.2011.17. ISBN 978-1-4577-2006-2. Retrieved 2013-06-01.
- Bodo Rosenhahn. "Foundations about 2D-3D Pose Estimation". CV Online. Retrieved 2008-06-09.
- Vassilis Athitsos. "Estimating 3D Hand Pose from a Cluttered Image" (PDF). Boston University Computer Science Tech.
- Rosenhahn, B. "Foundations about 2D-3D Pose Estimation."
- Rosenhahn, B. "Pose Estimation of 3D Free-form Contours in Conformal Geometry."
- Athitsos, V. "Estimating 3D Hand Pose from a Cluttered Image."