All Projects → autosquid → softposit-cpp

autosquid / softposit-cpp

Licence: GPL-2.0 license
pure cpp implementation of softposit (soft posit)

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Intro.

SoftPOSIT is an algorithm propose by David etc. 1 a model based camera algorithm for determining the pose (position and orientation) of a 3D object from a single 2D image when correspondences between object points and image points are not known. This algorithm integrates the Softassign technique for computing correspondences and the POSIT technique for computing object pose. The method finds the rotation and translation parameters of the camera with respect to an object.

Existing Implementations

matlab imp.

The author provides matlab implementation here: http://www.cfar.umd.edu/~daniel/Site_2/Code.html

C (fortran) imp.

Someone else with a c/fortran implementation: https://github.com/hanshuo/softposit

C++ imp.

This repo. provides my cpp implementation.

How to Build

Dependency

  1. Armadillo

It mainly depends on the Armadillo linear algebra library.

  1. Boost (Format)

There are also dependency on Boost, and only for outside logging code which can be easily removed.

Build Steps

The project is managed with CMake.

Suggested steps:

git clone [email protected]:autosquid/softposit.git
cd softposit
mkdir build
cd build
cmake ..
make
./softpositdemo

TODO

  1. could someone tell me how to do a serious (yet simple) logging ? Boost Logging seems just too heavy for such a small lib.
  2. bindings for Python? is this needed?

Reference

[1]: David, Philip and Dementhon, Daniel and Duraiswami, Ramani and Samet, Hanan, "{SoftPOSIT: Simultaneous pose and correspondence determination}", Int. J. Comput. Vis., 59:259--284 (2004)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].