|
||
Website deprecated and outdated. Click here for the new site. | ||
Epipolar ConsistencyContact: Andre Aichert
Table of Contents
1 About this page
Epipolar Consistency has been shown to be a powerful tool in calibration and motion correction for flat panel detector CT (FD-CT) and other X-ray based applications. The epipolar consistency conditions (ECC) apply to projection data directly and can be used to correct for 3D parameters without 3D reconstruction. The computation of an epipolar consistency metric is real-time capable for small sets of images and can be parallelized for large sets of images. This document briefly describes an algorithm to compute a metric for the epipolar consistency conditions (ECC) between to X-ray images. We assume that the reader is familiar with epipolar geometry [4] and has basic knowledge of X-ray physics and the Radon transform [3]. We will briefly describe an improved version of the algorithm presented by Aichert et al. [1].
2 Data
Let
and
denote two X-ray projections with known projection matrices
and finite source positions
and
accordingly, where
denotes equality up to positive scalar multiples. Let
be two lines in real projective two-space of the image
and
, respectively. Then they are corresponding epipolar lines if there exists an epipolar plane
with
where
denotes the pseudo-inverse. An epipolar plane is any plane which contains both source positions
A line
can be characterized as the set of solution to the homogeneous equation
or by its angle
and signed distance to the origin
Every pixel in these images represents an X-ray intensity, which can be transformed into an integral over absorption coefficients
where
is the function of X-ray absorption along the backprojection ray of the pixel
with a distance to the source
. Please see Figure 1↑, left, center, for two example X-ray images before preprocessing with several exemplary epipolar lines. Further, let
denote the Radon transform of the thus transformed image
with
compare Figure 2↑. See Figure 3↓ for radon derivatives of the pre-processed images from Figure 1↑. Note that a line bundle forms a sinusoid curve in Radon space.
3 Epipolar Consistency
The epipolar consistency conditions state that the derivative in orthogonal direction of the integral along an epipolar line is redundant with the same of the corresponding epipolar line in the other image
where
denotes the Radon transform of the image
and
is its derivative, with
and the symmetry
Since all epipolar lines intersect in the epipole, we have a one-parameter family of lines in each image with 1-1 correspondences. The lines are related via their epipolar planes, which in turn form a pencil of planes. Our goal is to parametrize the pencil of epipolar planes
with a single angle
. Using the relationship between epipolar lines and planes, we can define a metric for consistency between two images as the integral over the plane angle
Since all epipolar planes must contain the line connecting the two source positions
, we compute the consistency metric numerically as follows:
A large portion of the algorithm discussed in the previous section is linear. Our goal is to write it as a matrix multiplication by the vector
.
4 Implementation4.1 Plücker-Matrices
This section assumes basic knowledge of about lines in two- and three-space. The baseline
is the line in three-space connecting the two source positions
. We express the line as an anti-symmetric matrix.
The anti-symmetric Plücker matrix is defined as
where
defined by the six distinct elements
They always fullfill the Grassmann-Plücker relation
. These 6 values are also called Plücker coordinates of the line. We recommend the paper by Blinn [2] about the Plücker matrix. Using Plücker coordinates, we can easily express the direction of the line
and the normal to the plane containing the line and passing through the origin
The 2D-equivalent exists as a
Plücker matrix that is related to the cross-product via
where
We can thus write
and we introduce a dual Plücker matrix
Plücker matrices allow us to directly express the common plane of a point
and a line
4.2 ECC algorithm using Plücker coordinates
Assuming that the object is located in the world origin, we can define the reference plane directly
We can also define an orthogonal plane, which contains the baseline
If we assert that the normals of the two planes have unit length, we can thus express any epipolar plane as a linear combination of the two. Specifically, we have
with
. Projection to the two detectors is also a linear operation, so we arrive at the following compact formulation
with
and
. With
and
we have
and
, respectively. The two lines are generally not orthogonal.
5 Octave Source Code5.1 Loading Data
We provide two example data sets. A pumpkin as an example for an organic structure and a toy gun as an example of an artificial structure. We use NRRD as an image format and provide a C++ header-only library to load and save NRRD images. We recommend Fiji/ImageJ as an image viewer. For MATLAB/Octave, there exists a nice function to load NRRD files from Mathworks FileExchange, distributed under its own BSD license. All NRRD files contain a human-readable ASCII header. Our projection images contain a
projection matrix (MATLAB-like format). In addition, there is a comment in the last line with the offset in bytes to the raw float data, followed by an empty line.
NRRD0004 dimension: 2 encoding: raw endian: little sizes: 2480 1920 type: float Projection Matrix:=[...] # Offset to raw data: 570 bytes.
By convention, we refer to the function
, in words the “derivative in
-direction of the Radon transform” as dtr, compare Figure 3↑. These dtrs have to be pre-computed from the projection images. We recommend to use our minimal working data set to get started quickly. For in-depth investigations, we provide you with two complete data sets of 15 images each, along with a Windows/CUDA binary to compute the Radon transform and tools to convert and edit NRRD files (see Downloads↓ Section). Please see the first lines in ecc_demo.m and adjust the paths to two input images as desired.
5.2 Computing the ECC
The algorithms described in this paper are implemented in the function
% Mapping to epipolar lines
[K0 K1]=ecc_computeK01(P0,P1, n_x, n_y);
Here, P0 and P1 are the projection matrices and n_x and n_y the number of image columns and rows. The corresponding implementation located in the file ecc_demo/ecc_computeK01.m. The sampling of the ECC can be summarized in the following code
consistency=0; % resulting metric
dkappa=0.2*pi/180
for kappa=[-pi*0.5:dkappa:pi*0.5]
x_kappa=[cos(kappa); sin(kappa)];
l0_kappa=K0*x_kappa;
% Sample Radon derivatives at corresponding locations
[v0 x0, y0, w0]=ecc_sample_rda(l0_kappa, rda0, range_t);
[v1 x1, y1, w1]=ecc_sample_rda(l1_kappa, rda1, range_t);
consistency+=(v0-v1)*(v0-v1)*dkappa;
end %
Here, dkappa is arbitrarily chosen to be
. Adjust this value to obtain a dense sampling of lines. The code in ecc_demo.m computes redundant values for both
at the same time and is able to terminate early, when the lines no longer intersect the image. It also contains a lot of code for visualization. A brief version of ECC computation can be found in the file ecc_demo/ecc_compute_consistency.m .
5.3 Heuristic for the sampling distance
The number of samples drawn from the Radon transforms depends linearly on the angular step
. On the one hand, choosing
too small results in slow run-times, on the other hand, choosing
too large results in under-sampling and less accurate ECC values. For best results,
should be chosen as large as possible, while consequent samples drawn from Radon space should be no farther apart than the size of one Radon bin. Let
and
denote the Radon bin size in angular and distance directions respectively. Further, let
and
, respectively, denote the image of the world origin in image 0 and 1. This point serves as a reference point and is thus always located inside the object and close to the center of the image. To find a good heuristic for an appropriate value for
, we want either the angle
or distance
between the epipolar lines
and
to be less than the Radon bin size
where
is the angle between two homogeneous lines and
the euclidian distance between a line and an image point. The same should hold for
,
and
, respectively. Whether
or
is the limiting dimension depends on the location of the epipoles. If they are close to the image, a differential change in
will affect
more than
, and vice versa if the epipoles are far away. One should choose
adaptively for each pair of images.
5.4 Screenshot of the demoDownloads
References[1] . Epipolar Consistency in Transmission Imaging. Medical Imaging, IEEE Transactions on, 34(11):2205-2219, 2015. [2] . A homogeneous formulation for lines in 3 space. ACM SIGGRAPH Computer Graphics, 11(2):237-241, 1977. [3] . Computed Tomography: From Photon Statistics to Modern Cone-Beam CT. Springer, 2008. [4] . Multiple View Geometry in Computer Vision. Cambridge University Press, 2004. |