0018-9294 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TBME.2015.2465855, IEEE Transactions on Biomedical Engineering
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) <
The rest of the paper is organized as follows. In Section II,
we present the main idea of our A-NSIFT method for feature
point extraction and our Parallel Optimization based on
Gaussian Mixture Model Registration. In Section III are given
experimental results and discussion, followed by a conclusion
in Section IV.
II. F
AST ROTATION-FREE FEATURE BASED RIGID REGISTRATION
FRAMEWORK
The proposed feature based rigid registration algorithm
consists of three steps. First, the interest point sets from the
fixed and moving images are extracted using our A-NSIFT
method, which transforms the image registration into point set
registration. Then, a Parallel Optimization based on the
Gaussian Mixture Model Registration is proposed in order to
obtain the transformation which best matches the fixed point set
and moving point set. Finally, the moving image is registered
according to the transformation obtained in the second step.
The flowchart of our proposed registration algorithm is shown
in Fig. 1.
A. Accelerated-NSIFT for interest point extraction
The NSIFT method [16], which extends the SIFT method
from 2D to multi-dimensional images, consists of three steps.
First, the doG (difference of Gaussian) scale space is
constituted by a series of Gaussian blurred images which are
generated by a multilevel image pyramid. Then, local feature
points are extracted by localizing the extrema in the
approximation of doG scale space. Third, the features of each
point are depicted by a feature descriptor through summarizing
the gradients near this located feature point.
Algorithm 1 The proposed A-NSIFT method based on CUDA-programming
Input: the moving (fixed) image.
Output: the moving (fixed) set
1 Begin:
2 load the image in CPU and copy to GPU memory as the initial image
3 while (octavenum<OCTAVE)
4 compute the Gaussian
smoothing image series with the initial image
;
5
(,,,) (,,,)*(,,)
xyz xyz xyz
Lvvv Gvvv Ivvv
σσ
=
222
2
2
3
2
1
(, ,,)
2
xyz
vvv
xyz
Gv v v e
σ
σ
πσ
++
−
=
6 generate the doG space;
7
(,,,) (, ,, ) (,,,)
xyz xyz xyz
Dvvv Lvvvl Lvvv
σ σσ
= −
8 local the extreme in the doG space, label them in the mask volume and
compute the localization.
9 downsample the last scale Gaussian smoothing image in this octave
and use it as the initial image.
10 octavenum ++;
11 endwhile
Note: OCTAVE indicates the number of down-sampling scales of an image
[15].
Feature points extracted from the NSIFT method are
invariant to image scale and rotation, whereas it costs too much
time to generate the interest points’ feature descriptor by the
NSIFT method. To reduce the computation cost, we propose an
accelerated NSIFT (A-NSIFT) to speed up the NSIFT while
extracting the distinctive scale invariant features in the 3D
medical image. Our proposed A-NSIFT does not need to
construct the feature descriptor, but uses a multilevel image
pyramid to generate the doG space and to locate the extrema in
the doG space, followed by the acceleration of the first two
steps of the NSIFT using CUDA-programming. Algorithm 1
shows the preudocode of our proposed A-NSIFT method, in
which the CUDA-programming idea can be found from line 4
to line 9. Four kernels are used in the CUDA-programming: the
Gaussian smoothing kernel, the doG generating kernel, the
extrema localization kernel and the downsampling kernel.
(1) Gaussian smoothing kernel. This kernel is applied to the
initial images (both fixed images and moving images) for the
data parallelism by assigning each voxel a thread. Supposing
that voxels are stored in the order v
x
, v
y
, and v
z
, then we can use
M threads per block and N blocks for all the voxels in data
parallelism. Separable filtering and data reuse are integrated
into our parallel scheme to speed up the feature extraction.
Separable filtering is used to avoid the multi-dimensional
convolution and is accomplished by performing convolution of
the initial input image with a 3D Gaussian filter. Since the
Gaussian filter is separable, the convolution is performed in
separate passes for the v
x
, v
y
, and v
z
filters. The second
technique is the data reuse using the texture memory, which is
completed by allocating texture memory and binding the initial
data on it. Since the convolution value at each voxel is
correlated with its neighbor voxels, each voxel can be used
many times. We would note that the data reuse with the texture
memory is also used in the following three steps.
(2) doG generating kernel. This kernel generates the doG
space by taking the series of Gaussian blurred images as input
and producing the difference of Gaussian space at each voxel
respectively in v
x
, v
y
, and v
z
directions.
(3) Extrema localization kernel. This group localizes the
position of the distinct point. It takes the doG space as the input
and label the local extrema in the mask volume.
(4) Downsampling kernel. This kernel downsamples the
Gaussian smoothing images. It takes the last scale of Gaussian
smoothing image as its input and the downsampled image as
the next octave’s initial image.
By using our A-NSIFT, interest point sets from both the
moving image and the fixed image are extracted, and then the
image registration is converted into finding a mapping from the
two interest point sets.
B. Parallel optimization based on GMM registration
1) Point set registration with the Gaussian mixture model
Based on the interest point extraction, the moving point set
can be obtained as well as the fixed set, in which each point can
be treated as a statistical sample from a continuous probability
distribution. Thus, the probability distribution (which is a
continuous density function) of the interest point set can be
represented by a Gaussian mixture model [30], [31] as