In computer vision, the trifocal tensor (also tritensor) is a 3×3×3 array of numbers (i.e., a tensor) that incorporates all projective geometric relationships among three views. It relates the coordinates of corresponding points or lines in three views, being independent of the scene structure and depending only on the relative motion (i.e., pose) among the three views and their intrinsic calibration parameters. Hence, the trifocal tensor can be considered as the generalization of the fundamental matrix in three views. It is noted that despite the tensor being made up of 27 elements, only 18 of them are actually independent.
There is also a so-called calibrated trifocal tensor, which relates the coordinates of points and lines in three views given their intrinsic parameters and encodes the relative pose of the cameras up to global scale, totalling 11 independent elements or degrees of freedom. The reduced degrees of freedom allow for fewer correspondences to fit the model, at the cost of increased nonlinearity.[1]
The tensor can also be seen as a collection of three rank-two 3 x 3 matrices
{T}1, {T}2, {T}3
{P}=[{I} | {0}]
{P}'=[{A} | {a}4]
{P''}=[{B} | {b}4]
{T}i={a}i
t | |
{b} | |
4 |
-{a}4
t, | |
{b} | |
i |
i=1\ldots3
{a}i, {b}i
One of the most important properties of the trifocal tensor is that it gives rise to linear relationships between lines and points in three images. More specifically, for triplets of corresponding points
{x} \leftrightarrow {x}' \leftrightarrow {x}''
{l} \leftrightarrow {l}' \leftrightarrow {l}''
({l}\prime\left[{T}1, {T}2, {T}3\right]{l}'')[{l}] x ={0}t
{l}\prime\left(\sumixi{T}i\right){l}''=0
{l}\prime\left(\sumixi{T}i\right)[{x}''] x ={0}t
[{x}'] x \left(\sumixi{T}i\right){l}''={0}
[{x}'] x \left(\sumixi{T}i\right)[{x}''] x ={0}3
[ ⋅ ] x
Given the trifocal tensor of three views and a pair of matched points in two views, it is possible to determine the location of the point in the third view without any further information. This is known as point transfer and a similar result holds for lines and conics. For general curves, the transfer can be realized through a local differential curve model of osculating circles (i.e., curvature), which can then be transferred as conics.[2] The transfer of third-order models reflecting space torsion using calibrated trifocal tensors have been studied,[3] but remains an open problem for uncalibrated trifocal tensors.
The classical case is 6 point correspondences[4] [5] giving 3 solutions.
The case estimating the trifocal tensor from 9 line correspondences has only recently been solved.[6]
Estimating the calibrated trifocal tensor has been cited as notoriously difficult, and requires 4 point correspondences.[7]
The case of using only three point correspondences has recently been solved, where the points are attributed with tangent directions or incident lines; with only two of the points having incident lines, this is a minimal problem of degree 312 (so there can be at most 312 solutions) and is relevant for the case of general curves (whose points have tangents), or feature points with attributed directions (such as SIFT directions).[8] The same technique solved the mixed case of three point correspondences and one line correspondence, which has also been shown to be minimal with degree 216.