Skip to content
R Santhosh Kumar edited this page Feb 5, 2016 · 2 revisions

This project is a part of my Geometry and Photometry of Computer Vision course (CS6790), taken in my 6th semester of Undergraduate studies at Indian Institute of Technology, Madras. The complete report can be found in this repository along with the code. The project has been summarized below.

#Introduction

The trifocal tensor is a measure of geometric consistency for three views, an analogue of the fundamental matrix for two view geometry. It captures all the projective constraints between three views. The tensor depends on the relative motion between the three views and internal parameters of the camera, but it can be computed from image correspondences without using the knowledge of the motion or calibration. Here, a robust algorithm for computing trifocal tensor has been implemented. The trifocal tensor is computed from six point correspondences, and a parameterization which enforces the constraints between tensor elements has been used. The algorithm further computes a Maximum Likelihood Estimate of the trifocal tensor, assuming a Gaussian noise model in the estimation of point matches.

#Algorithm pipeline

The algorithm consists of 3 stages.

  • Corners are detected in each image and matching triplets are obtained
  • Using RANSAC and six point correspondence, we obtain an estimate of the Trifocal tensor
  • The output of RANSAC is further refined to obtain a Maximum Likelihood Estimate of the tensor.

#Results

A robust estimate of the trifocal tensor has been obtained. Using this estimate, the RANSAC inlier percentage crosses 85% in 200 iterations on an average. The images below represent the 3 views used to compute the trifocal tensor. The red points are the best set of matches. These are used to compute the trifocal tensor. Another set of 6 matches were randomly selected in 2 images and the corresponding points in the 3rd image were computed using the estimate. These points are represented in blue.

First view

Second view

Third view

Clone this wiki locally