Method for fast camera pose refinement for wide area motion imagery
The present invention provides a method for fast, robust and efficient BA pipeline (SfM) for wide area motion imagery (WAMI). The invention can, without applying direct outliers filtering (e.g. RANSAC) or re-estimation of the camera parameters (e.g. essential matrix estimation) efficiently refine noisy camera parameters in very short amounts of time. The method is highly robust owing to its adaptivity with the persistency factor of each track. The present invention highly suitable for sequential aerial imagery, particularly for WAMI, where camera parameters are available from onboard sensors.
1. A method for camera pose refinement in three dimensional reconstruction of sequential frames of imagery of an image, comprising the steps of:
acquiring camera metadata, said metadata comprising camera position metadata and camera orientation metadata;
extracting interest points from each said image frame in said sequence;
comparing descriptors of said extracted interest points for each two successive image frames;
matching said descriptors so as to generate feature tracks;
generating a persistency factor for each said feature track as a function of said feature track's length;
computing a set of statistics for all said persistency factors when all feature tracks have been generated;
computing a triangulation based on said camera metadata and said feature tracks so as to generate estimated initial 3D interest points of said image;
weighting residuals generated from back projection error using said persistency factors;
computing an error function incorporating said weighted residuals, so as to reduce the effect of outlier noise; and
computing a bundle adjustment incorporating said weighted residuals and said camera metadata, so as to optimize said camera pose refinement and said estimated initial 3D interest points.
2. The method of claim 1 , wherein said set of statistics further comprises mean and standard deviation.
3. The method of claim 2 , wherein said mean is computed according to:
μ
=
1
N
3
D
∑
j
=
1
N
3
D
γ
j
where
γ j is a persistency factor;
μ is the mean of said persistency factor; and
N 3D is the number of 3D points.
4. The method of claim 3 , wherein said error function is computed according to
min
Ri
,
ti
,
Xj
∑
i
=
1
Nc
∑
j
=
1
N
3
D
(
γ
j
μ
+
σ
)
2
log
(
1
+
(
μ
+
σ
γ
j
)
2
x
ji
-
g
(
X
j
,
R
i
,
t
i
,
K
i
)
2
)
where
R i is a rotation matrix of an ith camera;
t i is a translation vector of an ith camera;
K i is a calibration matrix of an ith camera;
X j is a 3D point from said image;
x ji is an image coordinate in an ith camera
g(X j , R i , t i , K i ) is a projection model mapping of X j onto an image plane of an ith camera;
σ is the standard deviation of the lengths of all said feature tracks; and
N C is a number of cameras.
5. The method of claim 4 , wherein said bundle adjustment is computed according to:
min
Ri
,
ti
,
Xj
∑
i
=
1
Nc
∑
j
=
1
N
3
D
x
ji
-
g
(
X
j
,
R
i
,
t
i
,
K
i
)
2
.
6. The method of claim 5 wherein weighting residuals is computed according to:
(
γ
j
μ
+
σ
)
2
log
(
1
+
(
μ
+
σ
γ
j
)
2
s
j
2
)
where
s j 2 is a residual of a jth 3D point in an ith camera, represented by:
s j 2 =∥x ji −g ( X j ,R i ,t i ,K i )∥ 2 .
7. An article of manufacture comprising a non-transitory storage medium and a plurality of programming instructions stored therein, wherein said programming instructions are configured to implement upon a camera system for three dimensional image reconstruction, the following actions:
the acquisition of camera metadata, said metadata comprising camera position metadata and camera orientation metadata;
the extraction of interest points from each said image frame in said sequence;
the comparison of descriptors of said extracted interest points for each two successive image frames;
the matching of said descriptors so as to generate feature tracks;
the generation of a persistency factor for each said feature track as a function of said feature track's length;
the computation of a set of statistics for all said persistency factors when all feature tracks have been generated;
the computation of a triangulation based on said camera metadata and said feature tracks so as to generate estimated initial 3D interest points of said image;
the weighting of residuals generated from back projection error using said persistency factors;
the computation of an error function incorporating said weighted residuals, so as to reduce the effect of outlier noise; and
the computation of a bundle adjustment incorporating said weighted residuals and said camera metadata, so as to optimize said camera pose refinement and said estimated initial 3D interest points.
8. The article of manufacture of claim 7 , wherein said set of statistics further comprises mean and standard deviation.
9. The article of manufacture of claim 8 , wherein said mean is computed according to:
μ
=
1
N
3
D
∑
j
=
1
N
3
D
γ
j
where
γ j is a persistency factor;
μ is the mean of said persistency factor; and
N 3D is the number of 3D points.
10. The article of manufacture of claim 9 , wherein said error function is computed according to
min
Ri
,
ti
,
Xj
∑
i
=
1
Nc
∑
j
=
1
N
3
D
(
γ
j
μ
+
σ
)
2
log
(
1
+
(
μ
+
σ
γ
j
)
2
x
ji
-
g
(
X
j
,
R
i
,
t
i
,
K
i
)
2
)
where
R i is a rotation matrix of an ith camera;
t i is a translation vector of an ith camera;
K i is a calibration matrix of an ith camera;
X j is a 3D point from said image;
x ji is an image coordinate in an ith camera
g(X i , R i , t i , K i ) is a projection model mapping of X j onto an image plane of an ith camera;
σ is the standard deviation of the lengths of all said feature tracks; and
N C is a number of cameras.
11. The article of manufacture of claim 10 , wherein said bundle adjustment is computed according to:
min
Ri
,
ti
,
Xj
∑
i
=
1
Nc
∑
j
=
1
N
3
D
x
ji
-
g
(
X
j
,
R
i
,
t
i
,
K
i
)
2
.
12. The article of manufacture of claim 11 wherein weighting residuals is computed according to:
(
γ
j
μ
+
σ
)
2
log
(
1
+
(
μ
+
σ
γ
j
)
2
s
j
2
)
where
s j 2 is a residual of a jth 3D point in an ith camera, represented by:
s j 2 =∥x ji −g ( X j ,R i ,t i ,K i )∥ 2 .