# EAPPnP **Repository Path**: buptybx/EAPPnP ## Basic Information - **Project Name**: EAPPnP - **Description**: https://github.com/derleeG/EAPPnP - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-24 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EAPPnP (Efficient Anisotropic Procrutes PnP) Perspective n point method for 3D structure with unknown stretching Here is an example using this package to find the optimal parameters (ROI patch resolution, keypoint set size, etc.) for estimating 3D bounding box with keypoint-RCNN. [![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/odATaEoo7lg/0.jpg)](http://www.youtube.com/watch?v=odATaEoo7lg) # Method and Purpose This algorithm is proposed to solve a generalized version of the well-known Perspective-n-Point(PnP) problem that tries to recover not only the pose but also the scaling vector assuming the known 3D structure has undergone some uneven stretching along the 3 axis in space. The method is based on a state-of-the-art PnP solution called Efficient Procrutes PnP (EPPnP) (You see where the name comes from, see http://digital.csic.es/bitstream/10261/127304/6/Outlier-Rejection.pdf for details). To solve the generalized PnP problem we modified the Efficient Procrutes PnP to solve the anisotropic Procrutes problem instead of the original isotropic Procrutes problem. The additional 2 degree of freedom (scaling along 3 axis, but up to a scale) can be resolve using the same procedure as the original paper. # Benchmark We first want to make sure our implementation of EPPnP is correct and comparable with the original matlab implementation, then we can check the performance of EAPPnP on the ordinary PnP problem. We replicate the experiments in the original paper and find the result a little bit worse than the number reported in the orginal paper (but similar to numbers reported by others who also replicated the experiments, see https://arxiv.org/pdf/1607.08112.pdf). ## Ordinary PnP ### Execution time ### Error with varying point set size ### Error with varying noise level ## Generalized PnP In this setting, the 3D structure is scaled along y and z axis randomly within the range from 0.5 to 2. Notice that not all axis has been randomly scaled due to the property of monocular camera that everything is up to a scale factor. ### Error with varying point set size ### Error with varying noise level (The error of EPPnP method under this setting is too big to show on the same plot)