Mixed-Integer Programming Formulation of the Registration Problem

advertisement
Mixed-Integer Programming Formulation of the
Registration Problem using Assignment Problems
with an Application in Phoniatrics
Michael Stiglmayr Raphael Schwarz Kathrin Klamroth
Günter Leugering Jörg Lohscheller
Institute of Applied Mathematics
& Department of Phoniatrics and Pediatric Audiology
Friedrich-Alexander-University Erlangen-Nürnberg
(partially supported by Deutsche Forschungsgemeinschaft, SFB 603)
Dagstuhl Seminar on
Sensor Data and Information Fusion
in Computer Vision and Medicine
Juli 30 – August 4, 2006
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Point Based Registration Algorithms
principle structure
◮
find corresponding points (assignment)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Point Based Registration Algorithms
principle structure
◮
find corresponding points (assignment)
◮
find a transformation function, such that the “distance” of
assigned points is minimized
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Point Based Registration Algorithms
principle structure
◮
find corresponding points (assignment)
◮
find a transformation function, such that the “distance” of
assigned points is minimized
existing methods
◮
landmark based algorithms (known assignment)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Point Based Registration Algorithms
principle structure
◮
find corresponding points (assignment)
◮
find a transformation function, such that the “distance” of
assigned points is minimized
existing methods
◮
landmark based algorithms (known assignment)
◮
iterative closest point
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Point Based Registration Algorithms
principle structure
◮
find corresponding points (assignment)
◮
find a transformation function, such that the “distance” of
assigned points is minimized
existing methods
◮
landmark based algorithms (known assignment)
◮
iterative closest point
◮
robust point matching
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Robust Point Matching (RPM)
[Chui and Rangarajan, 2003]
X = {x1 , . . . , xI } and Y = {y1 , . . . , yJ } are sets of corresponding
points in the template and the reference image.
min
z,f
s.t.
Michael Stiglmayr
I P
J
P
2
2
zij kyj − f (xi )k + λ kLf k − ξ
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
I P
J
P
zij
i=1 j=1
=
=
zij ∈
f ∈
1
1
{0, 1}
F
∀j ∈ {1, . . . , J}
∀i ∈ {1, . . . , I }
∀i ∈ {1, . . . , I +1} ∧ j ∈ {1, . . . , J +1}
Mixed-integer programming for registration
University Erlangen-Nürnberg
Robust Point Matching (RPM)
[Chui and Rangarajan, 2003]
X = {x1 , . . . , xI } and Y = {y1 , . . . , yJ } are sets of corresponding
points in the template and the reference image.
min
z,f
s.t.
Michael Stiglmayr
I P
J
P
2
2
zij kyj − f (xi )k + λ kLf k − ξ
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
I P
J
P
zij
i=1 j=1
=
=
zij ∈
f ∈
1
1
{0, 1}
F
∀j ∈ {1, . . . , J}
∀i ∈ {1, . . . , I }
∀i ∈ {1, . . . , I +1} ∧ j ∈ {1, . . . , J +1}
Mixed-integer programming for registration
University Erlangen-Nürnberg
Robust Point Matching (RPM)
[Chui and Rangarajan, 2003]
X = {x1 , . . . , xI } and Y = {y1 , . . . , yJ } are sets of corresponding
points in the template and the reference image.
min
z,f
s.t.
Michael Stiglmayr
I P
J
P
2
2
zij kyj − f (xi )k + λ kLf k − ξ
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
I P
J
P
zij
i=1 j=1
=
=
zij ∈
f ∈
1
1
{0, 1}
F
∀j ∈ {1, . . . , J}
∀i ∈ {1, . . . , I }
∀i ∈ {1, . . . , I +1} ∧ j ∈ {1, . . . , J +1}
Mixed-integer programming for registration
University Erlangen-Nürnberg
Robust Point Matching (RPM)
[Chui and Rangarajan, 2003]
X = {x1 , . . . , xI } and Y = {y1 , . . . , yJ } are sets of corresponding
points in the template and the reference image.
min
z,f
s.t.
Michael Stiglmayr
I P
J
P
2
2
zij kyj − f (xi )k + λ kLf k − ξ
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
I P
J
P
zij
i=1 j=1
=
=
zij ∈
f ∈
1
1
{0, 1}
F
∀j ∈ {1, . . . , J}
∀i ∈ {1, . . . , I }
∀i ∈ {1, . . . , I +1} ∧ j ∈ {1, . . . , J +1}
Mixed-integer programming for registration
University Erlangen-Nürnberg
Robust Point Matching (RPM)
[Chui and Rangarajan, 2003]
X = {x1 , . . . , xI } and Y = {y1 , . . . , yJ } are sets of corresponding
points in the template and the reference image.
min
z,f
s.t.
Michael Stiglmayr
I P
J
P
2
2
zij kyj − f (xi )k + λ kLf k − ξ
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
I P
J
P
zij
i=1 j=1
=
=
zij ∈
f ∈
1
1
{0, 1}
F
∀j ∈ {1, . . . , J}
∀i ∈ {1, . . . , I }
∀i ∈ {1, . . . , I +1} ∧ j ∈ {1, . . . , J +1}
Mixed-integer programming for registration
University Erlangen-Nürnberg
Robust Point Matching (RPM)
[Chui and Rangarajan, 2003]
X = {x1 , . . . , xI } and Y = {y1 , . . . , yJ } are sets of corresponding
points in the template and the reference image.
min
z,f
s.t.
Michael Stiglmayr
I P
J
P
2
2
zij kyj − f (xi )k + λ kLf k − ξ
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
I P
J
P
zij
i=1 j=1
=
=
zij ∈
f ∈
1
1
{0, 1}
F
∀j ∈ {1, . . . , J}
∀i ∈ {1, . . . , I }
∀i ∈ {1, . . . , I +1} ∧ j ∈ {1, . . . , J +1}
Mixed-integer programming for registration
University Erlangen-Nürnberg
solvable to global optimality with
◮
commercial software (CPLEX) – only very small examples
◮
branch & bound w.r.t. assignment variables zij
◮
branch & bound w.r.t. continuous variables f
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
solvable to global optimality with
◮
commercial software (CPLEX) – only very small examples
◮
branch & bound w.r.t. assignment variables zij
◮
branch & bound w.r.t. continuous variables f
local / heuristic approaches
◮
alternate convex search (ACS)
◮
ACS with simulated annealing
◮
genetic algorithms
◮
etc.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Branch & Bound Algorithm — “divide et impera”
min
f (x, y )
s.t.
(x, y ) ∈ S
x ∈ Zn
x,y
◮
generate subproblems by splitting the feasible region into several
subregions (branching)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Branch & Bound Algorithm — “divide et impera”
min
f (x, y )
s.t.
(x, y ) ∈ S
x ∈ Zn
x,y
◮
generate subproblems by splitting the feasible region into several
subregions (branching)
◮
for each subproblem calculate a lower bound and a feasible solution
(bounding)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Branch & Bound Algorithm — “divide et impera”
min
f (x, y )
s.t.
(x, y ) ∈ S
x ∈ Zn
x,y
◮
generate subproblems by splitting the feasible region into several
subregions (branching)
◮
for each subproblem calculate a lower bound and a feasible solution
(bounding)
◮
if the obtained lower bound is larger then a feasible solution of an
other subproblem discard this branch (pruning)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Branch & Bound Algorithm — “divide et impera”
min
f (x, y )
s.t.
(x, y ) ∈ S
x ∈ Zn
x,y
◮
generate subproblems by splitting the feasible region into several
subregions (branching)
◮
for each subproblem calculate a lower bound and a feasible solution
(bounding)
◮
if the obtained lower bound is larger then a feasible solution of an
other subproblem discard this branch (pruning)
◮
if the lower bound matches the feasible solution of a subproblem an
optimal solution for this subproblem is found, this subproblem is
solved, else branch the subproblem
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Branch & Bound Algorithm — “divide et impera”
min
f (x, y )
s.t.
(x, y ) ∈ S
x ∈ Zn
x,y
◮
generate subproblems by splitting the feasible region into several
subregions (branching)
◮
for each subproblem calculate a lower bound and a feasible solution
(bounding)
◮
if the obtained lower bound is larger then a feasible solution of an
other subproblem discard this branch (pruning)
◮
if the lower bound matches the feasible solution of a subproblem an
optimal solution for this subproblem is found, this subproblem is
solved, else branch the subproblem
◮
stop the algorithm either if all subproblems are solved or pruned or
if the gap between the minimum feasible solution and the minimum
lower bound is below an predefined limit ε
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Local & Global Optimization
Figure: Comparing local (top) and global (bottom) optimization for 2D registration
with twisted starting solution.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Open Questions
◮
Is the RPM model globally solvable for non-rigid mappings?
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Open Questions
◮
Is the RPM model globally solvable for non-rigid mappings?
◮
How many points have to be selected, finding a tradeoff
between accuracy and computational efficiency / solvability?
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Open Questions
◮
Is the RPM model globally solvable for non-rigid mappings?
◮
How many points have to be selected, finding a tradeoff
between accuracy and computational efficiency / solvability?
◮
Can we obtain an upper bound on the registration error
depending on the segmentation (point selection) error?
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Application to the Registration of High-Speed Video
Sequences of the PE-Segment
Figure: High-Speed Video of the PE-Segment
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Scheme of Artificial Voice Generation
Figure: Lohscheller, J. et al, 2004. Quantitative investigation of the vibration pattern
of the substitute voice generator. IEEE Trans. Biomed. Eng. 51 (8), 1394–1400.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Registration of Consecutive Video Frames
y
f(x)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Adapting RPM to the Registration of the PE Segment
◮
special structure of the data: closed contours of ordered points
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Adapting RPM to the Registration of the PE Segment
◮
special structure of the data: closed contours of ordered points
◮
highly non rigid
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Adapting RPM to the Registration of the PE Segment
◮
special structure of the data: closed contours of ordered points
◮
highly non rigid
◮
different type of outliers
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Adapting RPM to the Registration of the PE Segment
◮
special structure of the data: closed contours of ordered points
◮
highly non rigid
◮
different type of outliers
◮
the registration function should model the movement of the
soft tissue in the PE segment
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Adaptive Shape Matching
[Stiglmayr et al., 2006]
min
z,f
I P
J
P
i=1 j=1
s.t.
zij (δdij + (1 − δ)dijN − ξ) + λ kLf k
dij =
PI
kf (xi ) − yj k
dijN = 1 − cos(α)
2
α := ∡(~nf (xi ) , ~nyj )
i=1 zij
≤ B1
∀j ∈ {1, . . . , J}
j=1 zij
≤ B2
∀i ∈ {1, . . . , I }
PJ
zij ∈ {0, 1}
2
∀i ∈ {1, . . . , I } ∧ j ∈ {1, . . . , J}
f ∈ F
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Adaptive Shape Matching
[Stiglmayr et al., 2006]
min
z,f
I P
J
P
i=1 j=1
s.t.
zij (δdij + (1 − δ)dijN − ξ) + λ kLf k
dij =
PI
kf (xi ) − yj k
dijN = 1 − cos(α)
2
α := ∡(~nf (xi ) , ~nyj )
i=1 zij
≤ B1
∀j ∈ {1, . . . , J}
j=1 zij
≤ B2
∀i ∈ {1, . . . , I }
PJ
zij ∈ {0, 1}
2
∀i ∈ {1, . . . , I } ∧ j ∈ {1, . . . , J}
f ∈ F
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Adaptive Shape Matching
[Stiglmayr et al., 2006]
min
z,f
I P
J
P
i=1 j=1
s.t.
zij (δdij + (1 − δ)dijN − ξ) + λ kLf k
dij =
PI
kf (xi ) − yj k
dijN = 1 − cos(α)
2
α := ∡(~nf (xi ) , ~nyj )
i=1 zij
≤ B1
∀j ∈ {1, . . . , J}
j=1 zij
≤ B2
∀i ∈ {1, . . . , I }
PJ
zij ∈ {0, 1}
2
∀i ∈ {1, . . . , I } ∧ j ∈ {1, . . . , J}
f ∈ F
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Adaptive Shape Matching
[Stiglmayr et al., 2006]
min
z,f
I P
J
P
i=1 j=1
s.t.
zij (δdij + (1 − δ)dijN − ξ) + λ kLf k
dij =
PI
kf (xi ) − yj k
dijN = 1 −
2
(f (xi+1 )−f (xi−1 ))T (yj+1 −yj−1 )
kf (xi+1 )−f (xi−1 )kkyj+1 −yj−1 k
i=1 zij
≤ B1
∀j ∈ {1, . . . , J}
j=1 zij
≤ B2
∀i ∈ {1, . . . , I }
PJ
2
zij ∈ {0, 1}
∀i ∈ {1, . . . , I } ∧ j ∈ {1, . . . , J}
f ∈ F
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Adaptive Shape Matching
[Stiglmayr et al., 2006]
min
z,f
I P
J
P
i=1 j=1
s.t.
zij (δdij + (1 − δ)dijN − ξ) + λ kLf k
dij =
PI
kf (xi ) − yj k
dijN = 1 −
2
(f (xi+1 )−f (xi−1 ))T (yj+1 −yj−1 )
kf (xi+1 )−f (xi−1 )kkyj+1 −yj−1 k
i=1 zij
≤ B1
∀j ∈ {1, . . . , J}
j=1 zij
≤ B2
∀i ∈ {1, . . . , I }
PJ
2
zij ∈ {0, 1}
∀i ∈ {1, . . . , I } ∧ j ∈ {1, . . . , J}
f ∈ F
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Properties of This Model
◮
mixed integer problem
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Properties of This Model
◮
mixed integer problem
◮
linear in the assignment variables
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Properties of This Model
◮
mixed integer problem
◮
linear in the assignment variables
◮
totally unimodular with respect to the assignment variables
(if the right hand sides B1 , B2 are integer)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Properties of This Model
◮
mixed integer problem
◮
linear in the assignment variables
◮
totally unimodular with respect to the assignment variables
(if the right hand sides B1 , B2 are integer)
◮
implementation in Matlab with Alternate Convex Search
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Registration of Consecutive Video Frames 2
y
f(x)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Registration of Consecutive Video Frames 2
y
f(x)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Registration of Consecutive Video Frames 2
y
f(x)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Realistic Movement
ξ = 0.01
different outlier parameter
ξ = 0.003
original
registered
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Inserting Artificial Points
without artificial points
with artificial points
original
registered
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Point Tracing
purpose of point tracing
◮
identification of contour points
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Point Tracing
purpose of point tracing
◮
identification of contour points
◮
measuring the velocity of contour points
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Point Tracing
purpose of point tracing
◮
identification of contour points
◮
measuring the velocity of contour points
◮
reference for the adaption of a
multiple-mass-model
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Point Tracing
purpose of point tracing
◮
identification of contour points
◮
measuring the velocity of contour points
◮
reference for the adaption of a
multiple-mass-model
◮
visualization of the tissue movement during one
oscillation
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
3D - Visualization of the Trajectories
6
time
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Algorithm:Forward – Backward Tracing
1. Choose an oscillation cycle (st_frame and end_frame and
the frame with the smallest opened contour m_frame.
2. Select starting points x1, . . . xn in st_frame.
3. Register every frame from st_frame to m_frame-1 with its
consecutive frame.
4. Trace the selected points x1, . . . xn from st_frame to
m_frame.
5. Register st_frame to end_frame and compute the points
x1’, . . ., xn’ in end_frame which correspond to x1, . . ., xn.
6. Register every frame from end_frame to m_frame+1 with its
prior frame.
7. Trace the points x1’, . . ., xn’ from end_frame backwards to
x1’, . . ., xn’ using the obtained registration functions and
compute upper error bound.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Algorithm:Forward – Backward Tracing
1. Choose an oscillation cycle (st_frame and end_frame and
the frame with the smallest opened contour m_frame.
2. Select starting points x1, . . . xn in st_frame.
3. Register every frame from st_frame to m_frame-1 with its
consecutive frame.
4. Trace the selected points x1, . . . xn from st_frame to
m_frame.
5. Register st_frame to end_frame and compute the points
x1’, . . ., xn’ in end_frame which correspond to x1, . . ., xn.
6. Register every frame from end_frame to m_frame+1 with its
prior frame.
7. Trace the points x1’, . . ., xn’ from end_frame backwards to
x1’, . . ., xn’ using the obtained registration functions and
compute upper error bound.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Algorithm:Forward – Backward Tracing
1. Choose an oscillation cycle (st_frame and end_frame and
the frame with the smallest opened contour m_frame.
2. Select starting points x1, . . . xn in st_frame.
3. Register every frame from st_frame to m_frame-1 with its
consecutive frame.
4. Trace the selected points x1, . . . xn from st_frame to
m_frame.
5. Register st_frame to end_frame and compute the points
x1’, . . ., xn’ in end_frame which correspond to x1, . . ., xn.
6. Register every frame from end_frame to m_frame+1 with its
prior frame.
7. Trace the points x1’, . . ., xn’ from end_frame backwards to
x1’, . . ., xn’ using the obtained registration functions and
compute upper error bound.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Algorithm:Forward – Backward Tracing
1. Choose an oscillation cycle (st_frame and end_frame and
the frame with the smallest opened contour m_frame.
2. Select starting points x1, . . . xn in st_frame.
3. Register every frame from st_frame to m_frame-1 with its
consecutive frame.
4. Trace the selected points x1, . . . xn from st_frame to
m_frame.
5. Register st_frame to end_frame and compute the points
x1’, . . ., xn’ in end_frame which correspond to x1, . . ., xn.
6. Register every frame from end_frame to m_frame+1 with its
prior frame.
7. Trace the points x1’, . . ., xn’ from end_frame backwards to
x1’, . . ., xn’ using the obtained registration functions and
compute upper error bound.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Algorithm:Forward – Backward Tracing
1. Choose an oscillation cycle (st_frame and end_frame and
the frame with the smallest opened contour m_frame.
2. Select starting points x1, . . . xn in st_frame.
3. Register every frame from st_frame to m_frame-1 with its
consecutive frame.
4. Trace the selected points x1, . . . xn from st_frame to
m_frame.
5. Register st_frame to end_frame and compute the points
x1’, . . ., xn’ in end_frame which correspond to x1, . . ., xn.
6. Register every frame from end_frame to m_frame+1 with its
prior frame.
7. Trace the points x1’, . . ., xn’ from end_frame backwards to
x1’, . . ., xn’ using the obtained registration functions and
compute upper error bound.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Algorithm:Forward – Backward Tracing
1. Choose an oscillation cycle (st_frame and end_frame and
the frame with the smallest opened contour m_frame.
2. Select starting points x1, . . . xn in st_frame.
3. Register every frame from st_frame to m_frame-1 with its
consecutive frame.
4. Trace the selected points x1, . . . xn from st_frame to
m_frame.
5. Register st_frame to end_frame and compute the points
x1’, . . ., xn’ in end_frame which correspond to x1, . . ., xn.
6. Register every frame from end_frame to m_frame+1 with its
prior frame.
7. Trace the points x1’, . . ., xn’ from end_frame backwards to
x1’, . . ., xn’ using the obtained registration functions and
compute upper error bound.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Algorithm:Forward – Backward Tracing
1. Choose an oscillation cycle (st_frame and end_frame and
the frame with the smallest opened contour m_frame.
2. Select starting points x1, . . . xn in st_frame.
3. Register every frame from st_frame to m_frame-1 with its
consecutive frame.
4. Trace the selected points x1, . . . xn from st_frame to
m_frame.
5. Register st_frame to end_frame and compute the points
x1’, . . ., xn’ in end_frame which correspond to x1, . . ., xn.
6. Register every frame from end_frame to m_frame+1 with its
prior frame.
7. Trace the points x1’, . . ., xn’ from end_frame backwards to
x1’, . . ., xn’ using the obtained registration functions and
compute upper error bound.
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Advantages Using this Algorithm
1. can handle empty frames (closed PE Segment)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Advantages Using this Algorithm
1. can handle empty frames (closed PE Segment)
2. prevents error propagation
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Advantages Using this Algorithm
1. can handle empty frames (closed PE Segment)
2. prevents error propagation
3. the error of stitching parts of the trajectory occurs in small
opened frames and is therefore small
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Forward Registration - Backward Registration
Theorem
Let F be a space of isometric (length-preserving
kf (x) − f (y )k = kx − y k), bijective representable functions
(e.g. rigid mappings) furthermore let f ∗ ∈ F be an optimal solution
of Problem (1). Then (f ∗ )−1 is an optimal solution of Problem (2).
min
s.t.
min
s.t.
I P
J
P
I P
J
2
P
zij yj − f (xi ) − ξ
zij
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
=
=
zij ∈
f ∈
I P
J
P
Michael Stiglmayr
1
1
{0, 1}
F
2
zij g (yj ) − xi − ξ
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
=
=
zij ∈
g ∈
(1)
i=1 j=1
J
I P
P
zij
(2)
i=1 j=1
1
1
{0, 1}
F
Mixed-integer programming for registration
University Erlangen-Nürnberg
Forward Registration - Backward Registration
Theorem
Let F be a space of isometric (length-preserving
kf (x) − f (y )k = kx − y k), bijective representable functions
(e.g. rigid mappings) furthermore let f ∗ ∈ F be an optimal solution
of Problem (1). Then (f ∗ )−1 is an optimal solution of Problem (2).
min
s.t.
min
s.t.
I P
J
P
I P
J
2
P
zij yj − f (xi ) − ξ
zij
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
=
=
zij ∈
f ∈
I P
J
P
Michael Stiglmayr
1
1
{0, 1}
F
2
zij g (yj ) − xi − ξ
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
=
=
zij ∈
g ∈
(1)
i=1 j=1
J
I P
P
zij
(2)
i=1 j=1
1
1
{0, 1}
F
Mixed-integer programming for registration
University Erlangen-Nürnberg
Forward Registration - Backward Registration
Theorem
Let F be a space of isometric (length-preserving
kf (x) − f (y )k = kx − y k), bijective representable functions
(e.g. rigid mappings) furthermore let f ∗ ∈ F be an optimal solution
of Problem (1). Then (f ∗ )−1 is an optimal solution of Problem (2).
min
s.t.
min
s.t.
I P
J
P
I P
J
2
P
zij yj − f (xi ) − ξ
zij
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
=
=
zij ∈
f ∈
I P
J
P
Michael Stiglmayr
1
1
{0, 1}
F
2
zij g (yj ) − xi − ξ
i=1 j=1
PI +1
i=1 zij
PJ+1
j=1 zij
=
=
zij ∈
g ∈
(1)
i=1 j=1
J
I P
P
zij
(2)
i=1 j=1
1
1
{0, 1}
F
Mixed-integer programming for registration
University Erlangen-Nürnberg
Results of Point Tracing
60
85
55
80
50
45
75
40
70
35
65
30
80
85
90
95
100
105
110
115
120
80
85
90
95
100
105
Figure: 2D visualization of the movement of selected contour points over one
oscillation cycle – from opened starting contour (blue) to opened end contour (red)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Outlook
challenges and further steps
◮
global optimization
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Outlook
challenges and further steps
◮
global optimization
◮
improving alternate convex search with global information
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Outlook
challenges and further steps
◮
global optimization
◮
improving alternate convex search with global information
◮
comparing and adjusting to a multiple-mass-model
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Outlook
challenges and further steps
◮
global optimization
◮
improving alternate convex search with global information
◮
comparing and adjusting to a multiple-mass-model
◮
extension to 3D datasets (needs new recording device)
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Outlook
challenges and further steps
◮
global optimization
◮
improving alternate convex search with global information
◮
comparing and adjusting to a multiple-mass-model
◮
extension to 3D datasets (needs new recording device)
◮
mulitobjective optimization
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Outlook
challenges and further steps
◮
global optimization
◮
improving alternate convex search with global information
◮
comparing and adjusting to a multiple-mass-model
◮
extension to 3D datasets (needs new recording device)
◮
mulitobjective optimization
◮
medical validation
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Literature
Chui, H. and Rangarajan, A. (2003).
A new point matching algorithm for non-rigid registration.
Computer Vision and Image Understanding, 89:114–141.
Pfeuffer, F. (2006)
Registrierung medizinischer Bilddaten auf Basis verallgemeinerter
Zuordnungsprobleme.
Master’s thesis, Universität Erlangen-Nürnberg, Institut für
Angewandte Mathematik, 2006.
Stiglmayr, M., Schwarz, R., Klamroth, K., Leugering, G., and
Lohscheller, J. (2006).
Registration of PE segment contour deformations in digital
high-speed videos.
submitted to Medical Image Analysis.
Stiglmayr, M. (2006)
Personal website
http://www.am.uni-erlangen.de/˜stiglmayr
Michael Stiglmayr
Mixed-integer programming for registration
University Erlangen-Nürnberg
Download