# A Linear Method to Derive 3D Projective Invariants from  4 Uncalibrated Images

Authors: YuanBin Wang; XingWei Wang; Bin Zhang; Ying Wang
Journal: The Scientific World Journal
 (2014)

---

## Abstract

A well-known method proposed by Quan to compute projective invariants of 3D points uses six points in three 2D images. The method is nonlinear and complicated. It usually produces three possible solutions. It is noted previously that the problem can be solved directly and linearly using six points in five images. This paper presents a method to compute projective invariants of 3D points from four uncalibrated images directly. For a set of six 3D points in general position, we choose four of them as the reference basis and represent the other two points under this basis. It is known that the cross ratios of the coefficients of these representations are projective invariant. After a series of linear transformations, a system of four bilinear equations in the three unknown projective invariants is derived. Systems of nonlinear multivariable equations are usually hard to solve. We show that this form of equations can be solved linearly and uniquely. This finding is remarkable. It means that the natural configuration of the projective reconstruction problem might be six points and four images. The solutions are given in explicit formulas.


---

## Body

## 1. Introduction

The recovery of the geometric structure of 3D points from 2D images is fundamental in computer vision. After decades of research, most of the mathematical aspect of this problem is well understood. It is proved that the geometric information of a 3D point configuration cannot be recovered from a single image, unless the configuration is further constrained [1]. When two or more images are available, the 3D structure of a scene can be recovered up to an unknown projective transformation. The projective reconstruction of camera parameters and 3D scene structure from multiple uncalibrated views is also called projective structure and motion [1–5].A camera is a device that transforms properties of a 3D scene onto an image plane. A pinhole camera model is used to represent the linear projection from 3D space onto each image plane. In this paper, 3D world points are represented by homogeneous 4-vectorX
i
=
(
x
i
,
y
i
,
z
i
,
1
)
T. The projection of the ith 3D point is represented by a homogeneous 3-vector x
i
=
(
u
i
,
v
i
,
1
)
T. The relationships among the 3D points X
i and their 2D projections are
(1)
k
i
j
x
i
j
=
P
j
X
i
,
i
=
1
,
…
,
n
,
j
=
1
,
…
,
m
,
where P
j is the projection matrix (which is 3 × 4 and is also called the camera matrix) of the jth camera, k
i
j is a nonzero scale factor called projective depth, and x
i
j
=
(
u
i
j
,
v
i
j
,
1
)
T is the jth projection of the ith 3D point. Suppose that m perspective images of a set of n 3D points are given. The structure and motion problem is to recover the 3D point locations and camera locations from the image measurements. When the cameras are uncalibrated and no additional geometric information of the point set is available, the reconstruction is determined only up to an unknown projective transformation. For any 3D projective transformation matrix H, P
i
H
-
1 and H
X
i produce an equally valid reconstruction.Existing methods for projective reconstruction are usually indirect. They rely on a priori estimation of some tensors of multiple images of the scene to estimate the 3D point structure. A second-order tensor usually called the fundamental matrix captures the geometry between two views of a 3D scene. A third-order tensor usually called trifocal tensor captures the geometry among three views of a 3D scene. When these tensors of multiple views of a scene are known, there are many algorithms to recover the 3D geometric structure of the scene from them [6–17].We can also compute 3D projective invariants of a point set from its 2D images directly. In the famous paper [9], Quan proposed a method to compute 3D projective invariants of six 3D points from three uncalibrated images. However, the method proposed by Quan is rather complicated and hard to use in real applications.This paper presents a fast linear method for computing projective invariants of six 3D points from four 2D view images. A 3D point structure can be configured by first choosing four reference points as a basis and then representing the other two points under this basis. The cross ratios of the coordinates of the other two points under this basis are projective invariant. A system of four bilinear equations in three unknowns is derived first. Traditional methods to solve nonlinear multivariable equations are very complicated. The main contribution of this paper is that we will show that this system of equations can be easily transformed into some linear equations. This finding is remarkable. It means that the natural configuration of the projective reconstruction problem is six points and four images. The projective invariants are given in explicit formulas.


## 2. Related Works

We review a few related works in this section. The most famous of which is the work of Quan [9].In [1], Faugeras studied projective reconstruction using five reference points called standard basis whose homogeneous coordinates are
(2)
E
1
=
(
1
0
0
0
)
,
E
2
=
(
0
1
0
0
)
,
E
3
=
(
0
0
1
0
)
,
E
4
=
(
0
0
0
1
)
,
E
5
=
(
1
1
1
1
)
.
Suppose that the 3D points E
1, E
2, E
3, and E
4 are transformed by each camera into 2D image points
(3)
e
1
j
=
(
1
0
0
)
,
e
2
j
=
(
0
1
0
)
,
e
3
j
=
(
0
0
1
)
,
e
4
j
=
(
1
1
1
)
.
They form a projective basis for the jth image plane. Then the reduced camera matrix looks like
(4)
P
j
=
(
a
j
0
0
κ
j
0
b
j
0
κ
j
0
0
c
j
κ
j
)
.
If point correspondences between images are known, projective reconstruction can be performed by solving a system of quadratic equations.Quan proposed an algorithm to compute projective invariants of six 3D points from three projection images [9]. Given any six 3D points, the author selected five points as the standard basis as in (2). The six unknown points in 3D space are projective equivalent to the following normalized points:
(5)
X
1
=
(
1
0
0
0
)
,
X
2
=
(
0
1
0
0
)
,
X
3
=
(
0
0
1
0
)
,
X
4
=
(
0
0
0
1
)
,
X
5
=
(
1
1
1
1
)
,
X
6
=
(
X
Y
Z
T
)
.
The known point locations in the three 2D images are first normalized according to the projective basis. After this, the known point locations in the jth image are then corresponding to
(6)
x
1
j
=
(
1
0
0
)
,
x
2
j
=
(
0
1
0
)
,
x
3
j
=
(
0
0
1
)
,
x
4
j
=
(
1
1
1
)
,
x
5
j
=
(
u
5
j
v
5
j
w
5
j
)
,
x
6
j
=
(
u
6
j
v
6
j
w
6
j
)
,
j
=
1,2
,
3
.
From these correspondence relations, a homogeneous nonlinear equation of the form
(7)
i
1
j
X
Y
+
i
2
j
X
Z
+
i
3
j
X
T
+
i
4
j
Y
Z
+
i
5
j
Y
T
+
i
6
j
Z
T
=
0
can be derived for the jth image, where
(8)
i
1
j
=
w
6
j
(
u
5
j
-
v
5
j
)
,
i
2
j
=
v
6
j
(
w
5
j
-
u
5
j
)
,
i
3
j
=
u
5
j
(
v
6
j
-
w
6
j
)
,
i
4
j
=
u
6
j
(
v
5
j
-
w
5
j
)
,
i
5
j
=
v
5
j
(
w
6
1
-
u
6
j
)
,
i
6
j
=
w
5
j
(
u
6
j
-
v
6
j
)
,
j
=
1,2
,
3
.
It is also noticed that
(9)
i
1
j
+
i
2
j
+
i
3
j
+
i
4
j
+
i
5
j
+
i
6
j
=
0
,
j
=
1,2
,
3
.Since six 3D points have 18 degrees of freedom and a 3D projective transformation has 15 degrees of freedom, six points in 3D space can have18
-
15
=
3 independent projective invariants. There are many forms of projective invariants. It is noticed that the ratios of X, Y, Z, and T in (7) are projective invariant. The three independent such invariants can be
(10)
α
=
X
T
,
β
=
Y
T
,
γ
=
Z
T
.
So the goal is to compute these unknown 3D projective invariants from three of the 2D images.Quan tried to solve the system of bilinear equations (7) using the classical resultant technique. After eliminating the variable Z, he obtained two homogeneous polynomial equations of the third degree in three variables
(11)
G
1
≡
e
1
1
X
2
Y
+
e
2
1
X
Y
2
+
e
3
1
X
Y
T
+
e
4
1
X
2
T
+
e
5
1
X
T
2
+
e
6
1
Y
2
T
+
e
6
1
Y
T
2
=
0
,
G
2
≡
e
1
2
X
2
Y
+
e
2
2
X
Y
2
+
e
3
2
X
Y
T
+
e
4
2
X
2
T
+
e
5
2
X
T
2
+
e
6
2
Y
2
T
+
e
6
2
Y
T
2
=
0
.
Eliminating Y again will result in a homogeneous polynomial equation in X and T of degree eight. After that, a third degree polynomial equation can be derived numerically through polynomial factorization of the following form:
(12)
X
T
(
X
-
T
)
(
b
1
X
2
+
b
2
X
T
+
b
3
T
2
)
×
(
a
1
X
3
+
a
2
X
2
T
+
a
3
X
T
2
+
a
4
T
3
)
=
0
.As we can see from the procedure described above, the method proposed by Quan is hard to implement by ordinary users and inconvenient for real applications. In [13], the author proposed a method to eliminate variable γ and variable β in a single step. A third degree polynomial equation in single variable α was given explicitly.


## 3. A Linear Method to Compute Projective Invariants from 4 Images

A novel direct method for computing projective invariants of six 3D points from four images is presented in this section. We begin by considering a set of 3D points which are seen from four views.Suppose that a set of six 3D points labeledX
i are given, the geometric structure of which is unknown. The point set is projected into view images by four unknown camera matrices P
1,P
2,P
3, and P
4. The relationships between them are
(13)
k
i
j
x
i
j
=
P
j
X
i
,
i
=
1
,
…
,
6
,
j
=
1,2
,
3,4
.
The only information available is the point locations in the four images and point correspondences between the four projections
(14)
x
i
1
=
(
u
i
1
v
i
1
1
)
⟷
x
i
2
=
(
u
i
2
v
i
2
1
)
⟷
x
i
3
=
(
u
i
3
v
i
3
1
)
⟷
x
i
4
=
(
u
i
4
v
i
4
1
)
,
where i
=
1
,
…
,
6. It is often supposed that no four points in space are coplanar and no three points in the images are collinear. Otherwise the problem is much simpler.PointsX
5 and X
6 can be represented as linear combinations of X
1, X
2, X
3, and X
4
(15)
X
5
=
α
1
X
1
+
α
2
X
2
+
α
3
X
3
+
α
4
X
4
,
X
6
=
β
1
X
1
+
β
2
X
2
+
β
3
X
3
+
β
4
X
4
.
Since points X
1, X
2, X
3, and X
4 are linearly independent, this representation is unique and all the α
i and β
i are nonzero. There are many forms of projective invariants. It is observed that the cross ratios of coefficients in (15) are projective invariant. Six 3D points have 18 degrees of freedom and 3D projective transformation has 15 degrees of freedom. So, six 3D points can have 3 independent projective invariants. A set of functional independent projective invariants of this form are
(16)
I
1
=
α
1
β
2
α
2
β
1
,
I
2
=
α
1
β
3
α
3
β
1
,
I
3
=
α
1
β
4
α
4
β
1
.
The projective invariance of I
1, I
2, and I
3 can be proved easily. Suppose that the six points X
1, X
2, X
3, X
4, X
5, and X
6 are transformed into Y
1, Y
2, Y
3, Y
4, Y
5, and Y
6 by a 3D projective transformation A, where A is a 4 × 4 full rank matrix. That is,
(17)
λ
i
Y
i
=
A
X
i
,
i
=
1,2
,
3,4
,
5,6
,
where λ
i is a nonzero real number. Let
(18)
Y
5
=
α
~
1
Y
1
+
α
~
2
Y
2
+
α
~
3
Y
3
+
α
~
4
Y
4
,
Y
6
=
β
~
1
Y
1
+
β
~
2
Y
2
+
β
~
3
Y
3
+
β
~
4
Y
4
be the linear representations of Y
5 and Y
6 in Y
1, Y
2, Y
3, and Y
4. Multiplying each side of each equation in (18) by matrix A
-
1, we have
(19)
X
5
=
α
~
1
λ
1
λ
5
X
1
+
α
~
2
λ
2
λ
5
X
2
+
α
~
3
λ
3
λ
5
X
3
+
α
~
4
λ
4
λ
5
X
4
,
X
6
=
β
~
1
λ
1
λ
6
X
1
+
β
~
2
λ
2
λ
6
X
2
+
β
~
3
λ
3
λ
6
X
3
+
β
~
4
λ
4
λ
6
X
4
.
Since vectors X
1, X
2, X
3, and X
4 are linearly independent, the linear representations in (15) and (19) are exactly the same. So we have
(20)
I
1
=
α
1
β
2
α
2
β
1
=
α
~
1
β
~
2
α
~
2
β
~
1
=
I
~
1
,
I
2
=
α
1
β
3
α
3
β
1
=
α
~
1
β
~
3
α
~
3
β
~
1
=
I
~
2
,
I
3
=
α
1
β
4
α
4
β
1
=
α
~
1
β
~
4
α
~
4
β
~
1
=
I
~
3
.
This proved the invariance of I
1, I
2, and I
3.The set of projective invariants in (16) have the property that when an invariant equals one, four of the 3D points are coplanar. This can be proved easily. For example, if I
1 = 1, then α
1
β
2
=
α
2
β
1. From (15), we have
(21)
β
1
X
5
=
α
1
β
1
X
1
+
α
2
β
1
X
2
+
α
3
β
1
X
3
+
α
4
β
1
X
4
,
α
1
X
6
=
α
1
β
1
X
1
+
α
1
β
2
X
2
+
α
1
β
3
X
3
+
α
1
β
4
X
4
.
Subtracting one equation from the other equation in (21), we get
(22)
(
α
1
β
3
-
α
3
β
1
)
X
3
+
(
α
1
β
4
-
α
4
β
1
)
X
4
+
β
1
X
5
-
α
1
X
6
=
0
.
Since α
1 and β
1 are not zero, we have a nontrivial linear combination of points X
3, X
4, X
5, and X
6. So they are coplanar.On the other hand, if pointsX
3, X
4, X
5, and X
6 are coplanar, then there are numbers η
3,  η
4,η
5, andη
6 which are not all zero such that
(23)
η
3
X
3
+
η
4
X
4
+
η
5
X
5
+
η
6
X
6
=
0
.
Substituting X
5 and X
6 using (15) into (23), we obtain
(24)
(
α
1
η
5
+
β
1
η
6
)
X
1
+
(
α
2
η
5
+
β
2
η
6
)
X
2
+
(
α
3
η
5
+
β
3
η
6
+
η
3
)
X
3
+
(
α
4
η
5
+
β
4
η
6
+
η
4
)
X
4
=
0
.
Since points X
1, X
2, X
3, and X
4 are not coplanar, the coefficients in (24) have to be exactly zero. From this condition we have
(25)
α
1
η
5
+
β
1
η
6
=
0
,
α
2
η
5
+
β
2
η
6
=
0
.
From (25), we obtain
(26)
I
1
=
α
1
β
2
α
2
β
1
=
1
.
This proved the claim that the necessary and sufficient condition for four of the six points to be coplanar is that one of the projective invariants equals one.Our next objective is to derive these invariants from image point correspondences. Multiplying each side of (15) by the projection matrices P
1, P
2, P
3, and P
4, we have
(27)
κ
5
i
x
5
i
=
α
1
κ
1
i
x
1
i
+
α
2
κ
2
i
x
2
i
+
α
3
κ
3
i
x
3
i
+
α
4
κ
4
i
x
4
i
,
κ
6
i
x
6
i
=
β
1
κ
1
i
x
1
i
+
β
2
κ
2
i
x
2
i
+
β
3
κ
3
i
x
3
i
+
β
4
κ
4
i
x
4
i
,
κ
6
i
x
6
i
=
β
1
κ
1
i
x
1
i
+
β
2
κ
2
i
x
2
i
+
β
3
κ
3
i
x
i
=
1,2
,
3,4
.
That is,
(28)
κ
5
i
u
5
i
=
α
1
κ
1
i
u
1
i
+
α
2
κ
2
i
u
2
i
+
α
3
κ
3
i
u
3
i
+
α
4
κ
4
i
u
4
i
,
κ
5
i
v
5
i
=
α
1
κ
1
i
v
1
i
+
α
2
κ
2
i
v
2
i
+
α
3
κ
3
i
v
3
i
+
α
4
κ
4
i
v
4
i
,
κ
5
i
=
α
1
κ
1
i
+
α
2
κ
2
i
+
α
3
κ
3
i
+
α
4
κ
4
i
,
κ
6
i
u
6
i
=
β
1
κ
1
i
u
1
i
+
β
2
κ
2
i
u
2
i
+
β
3
κ
3
i
u
3
i
+
β
4
κ
4
i
u
4
i
,
κ
6
i
v
6
i
=
β
1
κ
1
i
v
1
i
+
β
2
κ
2
i
v
2
i
+
β
3
κ
3
i
v
3
i
+
β
4
κ
4
i
v
4
i
,
κ
6
i
=
β
1
κ
1
i
+
β
2
κ
2
i
+
β
3
κ
3
i
+
β
4
κ
4
i
,
κ
6
i
=
β
1
κ
1
i
+
β
2
κ
2
i
+
β
i
=
1,2
,
3,4
.
Applying variable eliminations to (28), we get
(29)
α
1
κ
1
i
a
1
i
+
α
2
κ
2
i
a
2
i
+
α
3
κ
3
i
a
3
i
+
α
4
κ
4
i
a
4
i
=
0
,
α
1
κ
1
i
b
1
i
+
α
2
κ
2
i
b
2
i
+
α
3
κ
3
i
b
3
i
+
α
4
κ
4
i
b
4
i
=
0
,
β
1
κ
1
i
c
1
i
+
β
2
κ
2
i
c
2
i
+
β
3
κ
3
i
c
3
i
+
β
4
κ
4
i
c
4
i
=
0
,
β
1
κ
1
i
d
1
i
+
β
2
κ
2
i
d
2
i
+
β
3
κ
3
i
d
3
i
+
β
4
κ
4
i
d
4
i
=
0
,
β
1
κ
1
i
d
1
i
+
β
2
κ
2
i
d
2
i
+
β
3
κ
3
i
d
3
i
+
i
=
1,2
,
3,4
,
where
(30)
a
i
j
=
u
i
j
-
u
5
j
,
b
i
j
=
v
i
j
-
v
5
j
,
c
i
j
=
u
i
j
-
u
6
j
,
d
i
j
=
v
i
j
-
v
6
j
,
c
i
j
=
u
i
j
-
u
6
j
,
i
,
j
=
1,2
,
3,4
.
Rewriting (29) in another form, we have
(31)
a
1
i
+
a
2
i
K
1
+
a
3
i
K
2
+
a
4
i
K
3
=
0
,
b
1
i
+
b
2
i
K
1
+
b
3
i
K
2
+
b
4
i
K
3
=
0
,
c
1
i
+
c
2
i
I
1
K
1
+
c
3
i
I
2
K
2
+
c
4
i
I
3
K
3
=
0
,
d
1
i
+
d
2
i
I
1
K
1
+
d
3
i
I
2
K
2
+
d
4
i
I
3
K
3
=
0
,
d
1
i
+
d
2
i
I
1
K
1
+
d
3
i
I
2
K
2
+
i
=
1,2
,
3,4
,
where
(32)
K
1
=
α
2
κ
2
1
α
1
κ
1
1
,
K
2
=
α
3
κ
3
1
α
1
κ
1
1
,
K
3
=
α
4
κ
4
1
α
1
κ
1
1
,
(33)
I
1
=
α
1
β
2
α
2
β
1
,
I
2
=
α
1
β
3
α
3
β
1
,
I
3
=
α
1
β
4
α
4
β
1
.
Since we have known in advance that the systems of equations in (31) have nontrivial solutions, the coefficients matrices in (31) must be rank deficient. That is
(34)
det
(
a
1
i
a
2
i
a
3
i
a
4
i
b
1
i
b
2
i
b
3
i
b
4
i
c
1
i
I
1
c
2
i
I
2
c
3
i
I
3
c
4
i
d
1
i
I
1
d
2
i
I
2
d
3
i
I
3
d
4
i
)
=
0
,
det
(
a
1
i
a
1
i
a
1
i
a
1
i
a
1
i
)
i
=
1,2
,
3,4
.
Using these constraints, we can obtain a system of four bilinear equations in variables I
1, I
2, and I
3 of the following form:
(35)
t
1
i
I
1
+
t
2
i
I
2
+
t
3
i
I
3
+
t
4
i
I
1
I
2
+
t
5
i
I
1
I
3
+
t
6
i
I
2
I
3
=
0
,
t
1
i
I
1
+
t
2
i
I
2
+
t
3
i
I
3
+
t
4
i
I
1
I
2
+
t
5
i
I
1
I
3
+
i
=
1,2
,
3,4
,
where
(36)
t
1
i
=
a
4
i
b
3
i
c
2
i
d
1
i
-
a
4
i
b
3
i
c
1
i
d
2
i
+
a
3
i
b
4
i
c
1
i
d
2
i
-
a
3
i
b
4
i
c
2
i
d
1
i
,
t
2
i
=
a
4
i
b
2
i
c
1
i
d
3
i
-
a
4
i
b
2
i
c
3
i
d
1
i
+
a
2
i
b
4
i
c
3
i
d
1
i
-
a
2
i
b
4
i
c
1
i
d
3
i
,
t
3
i
=
a
3
i
b
2
i
c
4
i
d
1
i
-
a
2
i
b
3
i
c
4
i
d
1
i
+
a
2
i
b
3
i
c
1
i
d
4
i
-
a
3
i
b
2
i
c
1
i
d
4
i
,
t
4
i
=
a
4
i
b
1
i
c
3
i
d
2
i
-
a
4
i
b
1
i
c
2
i
d
3
i
+
a
1
i
b
4
i
c
2
i
d
3
i
-
a
1
i
b
4
i
c
3
i
d
2
i
,
t
5
i
=
a
1
i
b
3
i
c
4
i
d
2
i
-
a
3
i
b
1
i
c
4
i
d
2
i
+
a
3
i
b
1
i
c
2
i
d
4
i
-
a
1
i
b
3
i
c
2
i
d
4
i
,
t
6
i
=
a
2
i
b
1
i
c
4
i
d
3
i
-
a
1
i
b
2
i
c
4
i
d
3
i
+
a
1
i
b
2
i
c
3
i
d
4
i
-
a
2
i
b
1
i
c
3
i
d
4
i
,
t
6
i
=
a
2
i
b
1
i
c
4
i
d
3
i
-
a
1
i
b
2
i
c
4
i
d
3
i
+
a
1
i
b
2
i
c
3
i
d
4
i
i
=
1,2
,
3,4
.The system of bilinear equations in (35) can be solved directly by numerical methods. However, nonlinear numerical methods are usually time consuming and sometimes not very stable. Classical method of variable elimination through the resultant technique will result in a high order polynomial equation in a single variable. This is not what we anticipate. The main contribution of this paper is that we will show that the system of nonlinear equations can be solved linearly. This is done by using a modified scheme of variable elimination.Now we proceed to derive the linear solution of the system of equations (35). Rewriting (35) in matrix form, we can obtain
(37)
(
t
1
1
t
2
1
+
t
4
1
I
1
t
3
1
+
t
5
1
I
1
t
6
1
t
1
2
t
2
2
+
t
4
2
I
1
t
3
2
+
t
5
2
I
1
t
6
2
t
1
3
t
2
3
+
t
4
3
I
1
t
3
3
+
t
5
3
I
1
t
6
3
t
1
4
t
2
4
+
t
4
4
I
1
t
3
4
+
t
5
4
I
1
t
6
4
)
(
I
1
I
2
I
3
I
2
I
3
)
=
0
.SinceI
1, I
2, and I
3 are nonzero, the determinant of the coefficient matrix in (37) has to be zero. So we have
(38)
det
(
t
1
1
t
2
1
+
t
4
1
I
1
t
3
1
+
t
5
1
I
1
t
6
1
t
1
2
t
2
2
+
t
4
2
I
1
t
3
2
+
t
5
2
I
1
t
6
2
t
1
3
t
2
3
+
t
4
3
I
1
t
3
3
+
t
5
3
I
1
t
6
3
t
1
4
t
2
4
+
t
4
4
I
1
t
3
4
+
t
5
4
I
1
t
6
4
)
=
0
.
This is a second degree polynomial equation in variable I
1. A quadratic equation generally has two solutions. To obtain a unique solution, we have to apply further constraints. It is checked that
(39)
t
1
i
+
t
2
i
+
t
3
i
+
t
4
i
+
t
5
i
+
t
6
i
=
0
,
i
=
1,2
,
3,4
.
Applying constraints (39) to (38), we obtain the following equation:
(40)
det
(
t
1
1
(
t
4
1
+
t
5
1
)
(
I
1
-
1
)
t
3
1
+
t
5
1
I
1
t
6
1
t
1
2
(
t
4
2
+
t
5
2
)
(
I
1
-
1
)
t
3
2
+
t
5
2
I
1
t
6
2
t
1
3
(
t
4
3
+
t
5
3
)
(
I
1
-
1
)
t
3
3
+
t
5
3
I
1
t
6
3
t
1
4
(
t
4
4
+
t
5
4
)
(
I
1
-
1
)
t
3
4
+
t
5
4
I
1
t
6
4
)
=
0
.
The solutions of (40) are I
1
=
1 and
(41)
I
1
=
-
det
(
t
1
1
t
4
1
+
t
5
1
t
3
1
t
6
1
t
1
2
t
4
2
+
t
5
2
t
3
2
t
6
2
t
1
3
t
4
3
+
t
5
3
t
3
3
t
6
3
t
1
4
t
4
4
+
t
5
4
t
3
4
t
6
4
)
det
(
t
1
1
t
4
1
t
5
1
t
6
1
t
1
2
t
4
2
t
5
2
t
6
2
t
1
3
t
4
3
t
5
3
t
6
3
t
1
4
t
4
4
t
5
4
t
6
4
)
.The solutionI
1
=
1 corresponds to the condition that four of the 3D points are coplanar. We neglect this solution according to the assumption that no four points are coplanar. In this way a unique linear solution of the projective invariant I
1 is obtained.Now we derive the solution ofI
2. From (35), we can obtain
(42)
(
t
1
1
+
t
4
1
I
2
t
2
1
t
3
1
+
t
6
1
I
2
t
5
1
t
1
2
+
t
4
2
I
2
t
2
2
t
3
2
+
t
6
2
I
2
t
5
2
t
1
3
+
t
4
3
I
2
t
2
3
t
3
3
+
t
6
3
I
2
t
5
3
t
1
4
+
t
4
4
I
2
t
2
4
t
3
4
+
t
6
4
I
2
t
5
4
)
(
I
1
I
2
I
3
I
1
I
3
)
=
0
.
Since I
1, I
2, and I
3 are nonzero, we have
(43)
det
(
t
1
1
+
t
4
1
I
2
t
2
1
t
3
1
+
t
6
1
I
2
t
5
1
t
1
2
+
t
4
2
I
2
t
2
2
t
3
2
+
t
6
2
I
2
t
5
2
t
1
3
+
t
4
3
I
2
t
2
3
t
3
3
+
t
6
3
I
2
t
5
3
t
1
4
+
t
4
4
I
2
t
2
4
t
3
4
+
t
6
4
I
2
t
5
4
)
=
0
.
Applying constraints (39) to (43), we obtain
(44)
det
(
(
t
4
1
+
t
6
1
)
(
I
2
-
1
)
t
2
1
t
3
1
+
t
6
1
I
2
t
5
1
(
t
4
2
+
t
6
2
)
(
I
2
-
1
)
t
2
2
t
3
2
+
t
6
2
I
2
t
5
2
(
t
4
3
+
t
6
3
)
(
I
2
-
1
)
t
2
3
t
3
3
+
t
6
3
I
2
t
5
3
(
t
4
4
+
t
6
4
)
(
I
2
-
1
)
t
2
4
t
3
4
+
t
6
4
I
2
t
5
4
)
.
Then the unique solution of I
2 is
(45)
I
2
=
-
det
(
t
4
1
+
t
6
1
t
2
1
t
3
1
t
5
1
t
4
2
+
t
6
2
t
2
2
t
3
2
t
5
2
t
4
3
+
t
6
3
t
2
3
t
3
3
t
5
3
t
4
4
+
t
6
4
t
2
4
t
3
4
t
5
4
)
det
(
t
4
1
t
2
1
t
6
1
t
5
1
t
4
2
t
2
2
t
6
2
t
5
2
t
4
3
t
2
3
t
6
3
t
5
3
t
4
4
t
2
4
t
6
4
t
5
4
)
.
Now we derive the solution of I
3. From (35), we can obtain
(46)
(
t
1
1
+
t
5
1
I
3
t
2
1
+
t
6
1
I
3
t
3
1
t
4
1
t
1
2
+
t
5
2
I
3
t
2
2
+
t
6
2
I
3
t
3
2
t
4
2
t
1
3
+
t
5
3
I
3
t
2
3
+
t
6
3
I
3
t
3
3
t
4
3
t
1
4
+
t
5
4
I
3
t
2
4
+
t
6
4
I
3
t
3
4
t
4
4
)
(
I
1
I
2
I
3
I
1
I
2
)
=
0
.
Since I
1, I
2, and I
3 are nonzero, we have
(47)
det
(
t
1
1
+
t
5
1
I
3
t
2
1
+
t
6
1
I
3
t
3
1
t
4
1
t
1
2
+
t
5
2
I
3
t
2
2
+
t
6
2
I
3
t
3
2
t
4
2
t
1
3
+
t
5
3
I
3
t
2
3
+
t
6
3
I
3
t
3
3
t
4
3
t
1
4
+
t
5
4
I
3
t
2
4
+
t
6
4
I
3
t
3
4
t
4
4
)
=
0
.
Applying constraints (39) to (47), we obtain
(48)
det
(
(
t
5
1
+
t
6
1
)
(
I
3
-
1
)
t
2
1
+
t
6
1
I
3
t
3
1
t
4
1
(
t
5
2
+
t
6
2
)
(
I
3
-
1
)
t
2
2
+
t
6
2
I
3
t
3
2
t
4
2
(
t
5
3
+
t
6
3
)
(
I
3
-
1
)
t
2
3
+
t
6
3
I
3
t
3
3
t
4
3
(
t
5
4
+
t
6
4
)
(
I
3
-
1
)
t
2
4
+
t
6
4
I
3
t
3
4
t
4
4
)
=
0
.
Then the unique solution of I
3 is
(49)
I
3
=
-
det
(
t
5
1
+
t
6
1
t
2
1
t
3
1
t
4
1
t
5
2
+
t
6
2
t
2
2
t
3
2
t
4
2
t
5
3
+
t
6
3
t
2
3
t
3
3
t
4
3
t
5
4
+
t
6
4
t
2
4
t
3
4
t
4
4
)
det
(
t
5
1
t
6
1
t
3
1
t
4
1
t
5
2
t
6
2
t
3
2
t
4
2
t
5
3
t
6
3
t
3
3
t
4
3
t
5
4
t
6
4
t
3
4
t
4
4
)
.


## 4. Implementation of the Algorithm

We have validated the proposed method on themathematica platform. The implementation is very simple. The code is given in Algorithm 1.Algorithm 1
X = RandomReal[{−1000, 1000}, {6, 4}];
M = RandomReal[{−1, 1}, {4, 3, 4}];
T = RandomReal[{0, 1}, {4, 6}];
x = RandomReal[{0, 1}, {4, 6, 3}];
a = RandomReal[{0, 1}, {4, 6, 4}];
b = RandomReal[{0, 1}, {4, 6, 4}];
u = RandomReal[{0, 1}, {4, 6}];
v = RandomReal[{0, 1}, {4, 6}];
X[[1
,
4]] = 1;
X[[2
,
4]] = 1;
X[[3
,
4]] = 1;
X[[4
,
4]] = 1;
X[[5
,
4]] = 1;
X[[6
,
4]] = 1;
XT = Transpose[{X[[1]], X[[2]], X[[3]], X[[4]]}];
A = LinearSolve[XT, X[[5]]];
B = LinearSolve[XT, X[[6]]];
Inv1 = (A[[1]] B[[2]])/(A[[2]] B[[1]]);
Inv2 = (A[[1]] B[[3]])/(A[[3]] B[[1]]);
Inv3 = (A[[1]] B[[4]])/(A[[4]] B[[1]]);
Print[“The three invariants computed from 3D point
locations: ”, Inv1, “ ”, Inv2, “ ”, Inv3];
For[i = 1, i <= 4, i++, For[j = 1, j <= 6, j++,
x[[i, j]] = M[[i]]· X[[j]];
u[[i, j]] = x[[i, j, 1]]/x[[i, j, 3]];
v[[i, j]] = x[[i, j, 2]]/x[[i, j, 3]];
]];
For[i = 1, i <= 4, i++, For[j = 5, j <= 6, j++,
a[[i, j, 1]] = u[[i, 1]] − u[[i, j]];
a[[i, j, 2]] = u[[i, 2]] − u[[i, j]];
a[[i, j, 3]] = u[[i, 3]] − u[[i, j]];
a[[i, j, 4]] = u[[i, 4]] − u[[i, j]];
b[[i, j, 1]] = v[[i, 1]] − v[[i, j]];
b[[i, j, 2]] = v[[i, 2]] − v[[i, j]];
b[[i, j, 3]] = v[[i, 3]] − v[[i, j]];
b[[i, j, 4]] = v[[i, 4]] − v[[i, j]];
]];
For[i = 1, i <= 4, i++,
T[[i, 1]] = (a[[i, 5, 3]] b[[i, 5, 4]] − a[[i, 5, 4]] b[[i, 5, 3]])
(a[[i, 6, 1]] b[[i, 6, 2]] − a[[i, 6, 2]] b[[i, 6, 1]]);
T[[i, 2]] = (a[[i, 5, 4]] b[[i, 5, 2]] − a[[i, 5, 2]] b[[i, 5, 4]])
(a[[i, 6, 1]] b[[i, 6, 3]] − a[[i, 6, 3]] b[[i, 6, 1]]);
T[[i, 3]] = (a[[i, 5, 2]] b[[i, 5, 3]] − a[[i, 5, 3]] b[[i, 5, 2]])
(a[[i, 6, 1]] b[[i, 6, 4]] − a[[i, 6, 4]] b[[i, 6, 1]]);
T[[i, 4]] = (a[[i, 5, 1]] b[[i, 5, 4]] − a[[i, 5, 4]] b[[i, 5, 1]])
(a[[i, 6, 2]] b[[i, 6, 3]] − a[[i, 6, 3]] b[[i, 6, 2]]);
T[[i, 5]] = (a[[i, 5, 3]] b[[i, 5, 1]] − a[[i, 5, 1]] b[[i, 5, 3]])
(a[[i, 6, 2]] b[[i, 6, 4]] − a[[i, 6, 4]] b[[i, 6, 2]]);
T[[i, 6]] = (a[[i, 5, 1]] b[[i, 5, 2]] − a[[i, 5, 2]] b[[i, 5, 1]])
(a[[i, 6, 3]] b[[i, 6, 4]] − a[[i, 6, 4]] b[[i, 6, 3]]);
];
I1 = −Det[{
{T[[1
,
1]], T[[1
,
4]] + T[[1
,
5]], T[[1
,
3]], T[[1
,
6]]},
{T[[2
,
1]], T[[2
,
4]] + T[[2
,
5]], T[[2
,
3]], T[[2
,
6]]},
{T[[3
,
1]], T[[3
,
4]] + T[[3
,
5]], T[[3
,
3]], T[[3
,
6]]},
{T[[4
,
1]], T[[4
,
4]] + T[[4
,
5]], T[[4
,
3]], T[[4
,
6]]}
}]/Det[{
{T[[1
,
1]], T[[1
,
4]], T[[1
,
5]], T[[1
,
6]]},
{T[[2
,
1]], T[[2
,
4]], T[[2
,
5]], T[[2
,
6]]},
{T[[3
,
1]], T[[3
,
4]], T[[3
,
5]], T[[3
,
6]]},
{T[[4
,
1]], T[[4
,
4]], T[[4
,
5]], T[[4
,
6]]}
}];
I2 = −Det[{
{T[[1
,
4]] + T[[1
,
6]], T[[1
,
2]], T[[1
,
3]], T[[1
,
5]]},
{T[[2
,
4]] + T[[2
,
6]], T[[2
,
2]], T[[2
,
3]], T[[2
,
5]]},
{T[[3
,
4]] + T[[3
,
6]], T[[3
,
2]], T[[3
,
3]], T[[3
,
5]]},
{T[[4
,
4]] + T[[4
,
6]], T[[4
,
2]], T[[4
,
3]], T[[4
,
5]]}
}]/Det[{
{T[[1
,
4]], T[[1
,
2]], T[[1
,
6]], T[[1
,
5]]},
{T[[2
,
4]], T[[2
,
2]], T[[2
,
6]], T[[2
,
5]]},
{T[[3
,
4]], T[[3
,
2]], T[[3
,
6]], T[[3
,
5]]},
{T[[4
,
4]], T[[4
,
2]], T[[4
,
6]], T[[4
,
5]]}
}];
I3 = −Det[{
{T[[1
,
5]] + T[[1
,
6]], T[[1
,
2]], T[[1
,
3]], T[[1
,
4]]},
{T[[2
,
5]] + T[[2
,
6]], T[[2
,
2]], T[[2
,
3]], T[[2
,
4]]},
{T[[3
,
5]] + T[[3
,
6]], T[[3
,
2]], T[[3
,
3]], T[[3
,
4]]},
{T[[4
,
5]] + T[[4
,
6]], T[[4
,
2]], T[[4
,
3]], T[[4
,
4]]}
}]/Det[{
{T[[1
,
5]], T[[1
,
6]], T[[1
,
3]], T[[1
,
4]]},
{T[[2
,
5]], T[[2
,
6]], T[[2
,
3]], T[[2
,
4]]},
{T[[3
,
5]], T[[3
,
6]], T[[3
,
3]], T[[3
,
4]]},
{T[[4
,
5]], T[[4
,
6]], T[[4
,
3]], T[[4
,
4]]}
}];
Print[“The three invariants computed from 2D projections: ”,
I1, “ ”, I2, “ ”, I3];


## 5. Conclusions

We have presented a direct and linear method for computing projective invariants of six 3D points from four 3D to 2D projection images. It can be used in 3D point pattern recognition from 2D images directly. Traditional methods for solving this problem are nonlinear and very complicated to use in real applications. The proposed formulas are clear and easy to implement by ordinary users. Another feature of our method is that we compute the projective invariants using only the original data. It is noticed that transformations of the original data can amplify the noise level of the data. This study provides a deeper understanding of the structure and motion problem. It seems that the natural configuration of the projective reconstruction problem is six points and four images.Future directions of research include using this method in iterative or minimization schemas to solve the projective reconstruction problem with noising data, missing data, or outliers. It is also possible to develop similar methods for the cases of seven points in three images and eight points in two images.



---

*Source: 109318-2014-01-29.xml*