Research Group on Visual Computation

Absolute and Relative Pose Estimation of a Multi-View Camera System using 2D-3D Line Pairs and Vertical Direction

Icon of project Related projects: Line-based absolute pose with known vertical direction

Description

This page contains the code to estimate the absolute and relative pose of a multi-view camera system from line correspondences with known vertical direction. The proposed method has been evaluated on synthetic and real datasets.

Files

All the codes are released under the GNU General Public License and contain the methods described in our [1] publication, you can download the full code here: code

Absolute and Relative Pose Solver:

  • To run the full algorithm described in [1] call: [Poses] = mv_pose_vd(input,camNum,lineNum,iterations);

  • Example input: input, it contains data for 5 cameras and 60 2D-3D line correspondances

Input parameters:

  1. input.Camera(:).Line.start = normalized coordinates of the image line segment startpoints (nx3)
  2. input.Camera(:).Line.end = normalized coordinates of the image line segment endpoints (nx3)
  3. input.Camera(:).line3D.start = start points of the 3D line segments in the world coordinate system (nx3)
  4. input.Camera(:).line3D.end = end points of the 3D line segments in the world coordinate system (nx3)
  5. input.Camera(:).vertical_direction: The vertical direction provided as [ angle of Ry in radian, angle of Rz in angle]
  6. camNum= number of camera.
  7. lineNum= number of 2D-3D line pairs to be used
  8. iterations: number of iteration that the direct solver will do

NOTE: we assume a calibrated perspective camera, and we work with the equivalent normalized image coordinates of the line endpoints. If we have a matrix M of size 3xn which contains the 2D coordinates with homogeneous coordinate representation in the image plane then we can normalize the coordinates as follows:
temp = inv(K) * M;
for i=1:n
M_normalized(:,i) = temp(:,i) / temp(3,i)
end

Output:
poses: a cell which contains a list of poses of 4*4 matrix
poses{1} acts from the world coordinate system to the reference camera ('Absolute pose').
poses{2:camNum} acts from the reference camera to the other cameras ('Relative Poses').
Note that the output poses are already denormalized to the original world coordinate system

Please cite our [1] publication whenever you use the implementation.

Publications to cite:
  1. Hichem Abdellali, Zoltan Kato, Absolute and Relative Pose Estimation of a Multi-View Camera System using 2D-3D Line Pairs and Vertical Direction, In Proceedings of International Conference on Digital Image Computing: Techniques and Applications, IEEE, Canberra, Australia, pp. 1-8, 2018. [bibtex] [doi]

Hichem Abdellali has been awarded the Doctor of Philosophy (PhD.) degree...

2022-04-30


Hichem Abdellali has been awarded the KÉPAF Kuba Attila prize...

2021-06-24