Motion from normal flow

advertisement
Motion from normal flow
Optical flow difficulties
• The aperture problem
• Depth discontinuities
Translational Normal Flow
un 
u tr
n
Z
• In the case of translation each
normal flow vector constrains
the location of the FOE to a
half-plane.
• Intersection of half-planes
provides FOE.
Egoestimation from normal flow
• Idea: choose particular directions:
patterns defined on the sign of normal flow
along particular orientation fields
• positive depth constraint
• 2 classes of orientation fields: copoint
vectors and coaxis vectors
Optical flow and normal flow
Optical flow and normal flow
Coaxis vectors
with respect to axis (A,B,C)
Coaxis vectors
Translational coaxis vectors
Translational coaxis vectors
h passes through FOE and (Af/C, Bf/C), defined by 2 parameters
Rotational coaxis vectors
Rotational coaxis vectors
Rotational coaxis vectors
g passes through AOR and (Af/C, Bf/C), defined by 1 parameter
Combine translation and rotation
Positive + positive
 positive
Negative + negative
negative
Positive + negative
don’t know (depends on structure)
Coaxis pattern
translational
rotational
combined
g-vectors: Translation
g-vectors: Rotation
u rot
 r2 
 r2 
    sin      cos 
 f 
 f 
g-vectors: Translation and Rotation
U
W
V
W


Three coaxis vector fields
alpha
beta
gamma
Copoint vectors
copoint vectors
O
Copoint vectors
defined by point (r,s)
Translational copoint vectors
AOR
AOR
FOE

FOE
FOE

g
AOR
: Negative
: Positive
: Don't know
AOR
FOE
Translational copoint vectors
FOE
(r, s)
k passes through FOE and (r,s) defined by 1 parameter
Rotational copoint vectors
Rotational copoint vectors
AOR
(r, s)
l passes through AOR and (r,s), is defined by 2 parameters
translational component
rotational component
FOE
AOR
(r, s)
(r, s)
FOE
AOR
(r, s)
Three coaxis vector fields
(a)
(b)
(c)
a,b,c : positive and negative
,,g vectors
c,d,e: Fitting of ,,g patterns
g: Separation of (,,g coaxis pattern
h: Separation of (x0, y0) copoint pattern
AOR
AOR
FOE

FOE
FOE

g
AOR
: Negative
: Positive
: Don't know
AOR
FOE
Optical
illusion
What is the Problem?
• Flow can be accurately estimated in an image patch
corresponding to a smooth scene patch,
• But erroneous flow estimates are obtained for image
patches corresponding to scene patches containing
discontinuities
Image Flow
3D Motion
Scene structure
Discontinuities
Depth variability constraint
• Errors in motion estimates lead to distortion
of the scene estimates.
• The distortion is such that the correct
motion gives the “smoothest” (least
varying) scene structure.
Depth estimation
• Scene depth can be estimated from normal
flow measurements:
1
un  u  n  u tr  n  u rot  n
Z
1 un  u rot ω̂  n

u tr (tˆ)  n
Zˆ
Visual Space Distortion

ˆ
u
t
n
tr
ˆ
Z  Z  D, D 
u tr t   u rot δω  n
• Wrong 3D motion gives rise to a rugged
(unsmooth) depth function (surface).
• The correct 3D motion leads to the
“smoothest” estimated depth.
Inverse depth estimates
correct motion
incorrect motion
The error function
• A normal flow measurement:
1
un  u tr  n  u rot  n
Z
1
ˆ)  n  u rot (ω
ˆ ) n
u

u
(
t
n
tr
ˆ
For an estimate t, ωˆ
Z
• The error function to be minimized:
1


ˆ
ˆ )  ni  ( )(u tr (t )  ni ) 
  Wi  un i  u rot (ω
Zˆ


i
2
The error function
• Estimated normal flow
1
ˆ ) n
uˆn  u tr (tˆ)  n  u rot (ω
Zˆ
• The error function to be minimized:
  Wi uˆn  un 
2
R
i
• Global parameters: tˆ, ω
ˆ
• Local parameter: Ẑ
1
locally planar patches: ˆ  ax  by  c
Z
Error function evaluation
• Given a translation candidate t̂ , each local
depth can be computed as a linear function
of the rotation ω̂
.
• We obtain a second order function of the
rotation; its minimization provides both the
rotation and the value of the error function.
Is derived from image gradients only
Brightness consistency:
Flow:
Planar patch:
Handling depth discontinuities
• Given a candidate motion, the scene depth
can be estimated and further processed to
find depth discontinuities.
• Split a region if it corresponds to two depth
values separated in space.
The algorithm
• Compute spatio-temporal image derivatives
and normal flow.
• Find the direction of translation that
minimizes the depth-variability criterion.
– Hierarchical search of the 2D space.
– Iterative minimization.
– Utilize continuity of the solution in time;
usually the motion changes slowly over time.
The Algorithm
Divide image into small
patches
Depth
variation
small?
Search in the 2D space of
translations
YES
Use the error
NO
For each candidate 3D
motion, using normal flow
measurements in each
patch, compute depth of the
scene.
Distinguish between two
cases
wrong 3D motion
existence of a
discontinuity at
the patch
For each image patch
Use the error
Split the patch
and repeat the
process
3D reconstruction
• Comparison of the original sequence and
the re-projection of the 3D reconstruction.
3D model construction
Download