\documentclass[10pt,twocolumn,letterpaper]{article}

\usepackage{cvpr}
\usepackage{times}
\usepackage{epsfig}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{subfigure}

% Include other packages here, before hyperref.

% If you comment hyperref and then uncomment it, you should delete
% egpaper.aux before re-running latex.  (Or just hit 'q' on the first latex
% run, let it finish, and you should be clear).
\usepackage[pagebackref=true,breaklinks=true,letterpaper=true,colorlinks,bookmarks=false]{hyperref}


\cvprfinalcopy % *** Uncomment this line for the final submission

\def\cvprPaperID{****} % *** Enter the CVPR Paper ID here
\def\httilde{\mbox{\tt\raisebox{-.5ex}{\symbol{126}}}}

% Pages are numbered in submission mode, and unnumbered in camera-ready
\ifcvprfinal\pagestyle{empty}\fi
\begin{document}

%%%%%%%%% TITLE
\title{Curvature and Singularity Driven Diffusion for Oriented Pattern Enhancement with Singular Points
\thanks{The work is partially supported by the CERG fund from the HKSAR Government, the central fund from Hong Kong Polytechnic University, the Natural Science Foundation of China (NSFC) under Contract No. 60620160097, and the  National High-Tech Research and Development Plan of China (863) under Contract No. 2006AA01Z193 and 2007AA01Z195.}
}

\author{Qijun Zhao, Lei Zhang, David Zhang, Wenyi Huang, and Jian Bai\\
Biometrics Research Centre, Department of Computing\\
The Hong Kong Polytechnic University, Hong Kong\\
{\tt\small \{csqjzhao, cslzhang, csdzhang, cswyhuang,
csjbai\}@comp.polyu.edu.hk}
% For a paper whose authors are all at the same institution,
% omit the following lines up until the closing ``}''.
% Additional authors and addresses can be added with ``\and'',
% just like the second author.
% To save space, use either the email address or home page, not both
%\and
%Second Author\\
%Institution2\\
%First line of institution2 address\\
%{\small\url{http://www.author.org/~second}}
}

\maketitle
\thispagestyle{empty}

%%%%%%%%% ABSTRACT
\begin{abstract}
   Oriented patterns, e.g. fingerprints, consist of smoothly varying flow-like patterns,
   together with important singular points (i.e. cores and deltas) where the orientation
   changes abruptly. Gabor filters and anisotropic diffusion methods have been widely
   used to enhance oriented patterns. However, none of them can well cope with regions
   of varying curvatures or regions surrounding singular points. By incorporating the
   ridge curvatures and the singularities into the diffusion model, we propose a new
   diffusion method to better exploit the global characteristics of oriented patterns.
   Specifically, we first locate the singular points, and regularize the estimated
   orientation field by using a singularity driven nonlinear diffusion process. We then
   enhance the oriented patterns by applying an oriented diffusion process which is driven
   by the curvature and singularity. Experiments on synthetic data and real fingerprint
   images validated that the proposed method is capable of consistently enhancing oriented
   patterns while well preserving the ridge structures in singular regions.
\end{abstract}

%%%%%%%%% BODY TEXT
\section{Introduction}

Oriented patterns, also known as oriented or flow-like textures,
have been attracting much research attention in applications of
computer vision \cite{Ben03, Rao92} and pattern recognition such as
fingerprint recognition \cite{Maltoni03} for a long time. Referring
to Fig. \ref{fig:1}, fingerprint is a typical example of oriented
patterns consisting of smoothly varying flow-like patterns (namely
ridge structures), together with important singularities (namely
cores and deltas) \cite{Dass04}. Oriented patterns are locally
anisotropic with their ridge orientation field being well defined
except at singular points \cite{Ben03}. Singular points, viewed as
important global features of oriented patterns, are the points of
discontinuity of the orientation field \cite{Ben03, Dass04,
Maltoni03}. Two kinds of singularities are widely used in literature
as shown in Fig. \ref{fig:1}: the core is the end point of the
innermost curving ridge, and the delta is the confluence point of
three different flow directions \cite{Dass04, Maltoni03}. The
singular regions surrounding singular points have the highest ridge
curvatures across the oriented patterns, and the orientation around
the singular points changes abruptly.

\begin{figure}[t]
\begin{center}
%\fbox{\rule{0pt}{2in} \rule{0.9\linewidth}{0pt}}
   \includegraphics[width=0.6\linewidth]{Fig1.eps}
\end{center}
   \caption{Fingerprint, a typical example of oriented patterns.}
\label{fig:1}
\end{figure}

For real images of oriented patterns, the image quality can be
degraded significantly by a number of factors, including the
corrupted noise in the image acquisition process, the creases and
other interference that would break the ridges (referring to Fig.
\ref{fig:1}). The enhancement of oriented patterns is thus to reduce
the noise and interference to make the pattern structures easier for
recognition. It is well known that traditional linear and isotropic
smoothing methods such as Gaussian smoothing will blur or destroy
ridge structures \cite{Hastings07}. Therefore, some nonlinear and
anisotropic smoothing methods were developed later \cite{Gorman89,
Sherlock94, Hong98, Perona90, Alvarez94, Weickert99}.

A popular approach to oriented pattern enhancement is to use
contextual filters that are tuned to proper orientations and
frequencies \cite{Gorman89, Sherlock94, Hong98}. For instance, Hong
et al. \cite{Hong98} proposed to use a bank of Gabor filters to
enhance the oriented patterns on fingerprint images. They calculated
the dominant ridge orientation and the average ridge frequency at
each pixel based on a neighborhood to the pixel. A Gabor filter was
then applied, which is tuned to the local ridge orientation and
frequency at the pixel. This method, if the Gabor filters are tuned
to correct orientations and frequencies, can successfully suppress
the noise on the ridges and remove the creases. However, such
contextual filter based methods have three shortcomings. First,
there is often block effect on the enhanced oriented pattern images
because the ridge frequency is usually estimated block by block.
Second, when there are singular points on the ridge patterns, it
will be very difficult to accurately estimate the frequency around
the singular points. As a result, the contextual filters can not
accurately enhance the ridge patterns, but instead often destroy the
ridge structures in these regions. Third, when the images are of
very poor quality, it will be hard to calculate the ridge frequency.
Consequently, the contextual filters will fail to effectively
enhance the oriented patterns.

As a kind of partial differential equation (PDE) based methods,
various diffusion techniques \cite{Perona90, Alvarez94, Weickert99}
have been proposed in the community of computer vision and image
processing in the past decades. They are proven to be very useful
for image de-noising, restoration, enhancement, and feature
extraction \cite{Perona90, Alvarez94, Weickert99, Proesmans93}. Some
nonlinear and anisotropic diffusion methods have been recently
applied to oriented pattern processing, including ridge orientation
estimation \cite{Perona98, Chen06} and ridge pattern enhancement
\cite{Almansa00, Cheng03, Hao04, Xie04, Chen06, Hastings07}. In
general, these methods first estimate the ridge orientation field on
the oriented pattern images and then steer intensity diffusion
processes primarily along the ridge orientation. Advantages of the
nonlinear and anisotropic diffusion-based methods include that they
are free from frequency estimation and that they can better preserve
ridge edges.

However, most existing nonlinear and anisotropic diffusion methods
consider neither the local ridge curvatures nor the global singular
points of the oriented patterns when determining the diffusivity.
Consequently, they have two drawbacks. First, they use similar
diffusivity at locations where the ridges could have different
curvatures. In fact, when the ridges have small curvatures, we can
apply a large amount of diffusion on the ridges. On the contrary,
when the ridges bend sharply, the diffusion should be reduced. By
taking into consideration the local ridge curvatures, we can make
the diffusion more consistently. Second, the existing nonlinear and
anisotropic diffusion methods ignore the singular points by simply
applying the same diffusion process in both singular regions and
non-singular regions. This may destroy the ridge structures in the
singular regions due to the rapid change of ridge orientation around
singular points.

The goal of this paper is to explicitly incorporate the local ridge
curvatures and the global singular point features into the diffusion
model such that it can not only consistently enhance the oriented
patterns in non-singular regions, but also well preserve the ridge
structures in singular regions. To this end, we first estimate an
initial ridge orientation field and locate the singular points on
the oriented pattern, and then regularize the ridge orientation
field by using a nonlinear diffusion process which is driven by the
singularity of oriented patterns. Consequently, a curvature and
singularity driven diffusion process is applied to enhance the ridge
pattern.

The rest of the paper is organized as follows. Section 2 presents
the proposed curvature and singularity driven diffusion model.
Section 3 presents the enhancement algorithm. Section 4 shows
experiments on synthetic data and typical real fingerprint images.
Section 5 concludes the paper.

%------------------------------------------------------------------------
\section{The curvature and singularity driven diffusion model}

The basic idea of diffusion is to exchange quantities between
adjacent objects, and as the diffusion goes the whole system will
evolve to a smoother and smoother status \cite{Weickert98}. In the
context of image processing, the exchanged quantities are the
intensities of pixels in the image. Mathematically, the diffusion
process in an image \emph{I}(\emph{x,y}) can be formulated as the
following PDE

\begin{equation}\label{eq:1}
\partial_{t}{u} = div(D\cdot \nabla{u})
\end{equation}

\noindent with initial condition

\begin{equation}\label{eq:2}
u(x,y;0) = I(x,y)
\end{equation}

\noindent Here, $\nabla{u}=(u_{x}, u_{y})^{T}$ is the gradient
vector (`\emph{T}' denotes the transpose) and \emph{D} is the
diffusivity term, which can be either a scalar or a $2\times 2$
matrix.

When \emph{D} is a constant scalar, the diffusion equation
(\ref{eq:1}) defines a linear isotropic diffusion, which will blur
the edges on the image. To better preserve the edges, Perona and
Malik \cite{Perona90} proposed to define the diffusivity by a
decrease function of the local gradient magnitudes as follows

\begin{equation}\label{eq:3}
D = g(|\nabla{u}|^{2}) = (1 + |\nabla{u}|^{2}/k^{2})^{-1}
\end{equation}

\noindent where \emph{k} is a parameter. By using this diffusivity,
the diffusion will be reduced at those locations which have a larger
likelihood to be edges. Although the above model can adapt the
diffusivity to the local features, at each pixel it still diffuses
identically in all directions. Therefore, it does not have the
ability of orientation selectivity.

Later, Weickert \cite{Weickert98} proposed to use a diffusion tensor
to tune the diffusion directions according to the dominant
orientation at each pixel. The diffusion tensor is defined as

\begin{equation}\label{eq:4}
D = (p_{1}~p_{2})\left(\begin{array}{cc} \lambda_{1} & 0 \\ 0 &
\lambda_{2} \end{array}\right)(p_{1}^{T}~p_{2}^{T})
\end{equation}

\noindent where $\lambda_{1}$ and $\lambda_{2}$ are the
diffusivities along the two orthogonal diffusion directions $p_{1}$
and $p_{2}$ respectively. In Weickert's diffusion model, $p_{1}$ and
$p_{2}$ are defined by the two eigenvectors of the following local
structure tensor (suppose $p_{1}$ corresponds to the larger
eigenvalue)

\begin{equation}\label{eq:5}
S_{\rho} = G_{\rho} * (\nabla{u}\nabla{u}^{T})
\end{equation}

\noindent where $G_{\rho}$ is a Gaussian kernel with standard
variance $\rho$, `\emph{*}' denotes convolution, and the
diffusivities along these two directions are determined by the two
eigenvalues of $S_{\rho}$. Basically, we can steer the diffusion
process along any orientation with any diffusivity by adjusting the
four components in the diffusion tensor.

Our diffusion model for oriented pattern enhancement originates from
Weickert's model. For oriented patterns, the ridge orientation can
be approximately estimated before the diffusion. Therefore, it is
not necessary to do the structure tensor analysis in each step of
the diffusion, which is quite time-consuming. In addition, the
oriented patterns consist of locally parallel dense patterns
\cite{Ben03}. Thus, to enhance the oriented patterns, we should
diffuse along the ridge orientation but never the perpendicular
orientation. Let $\theta$ be the ridge orientation at a pixel. The
diffusion orientation $p_{1}$ at the pixel is then defined as

\begin{equation}\label{eq:6}
p_{1}=(\cos\theta,~\sin\theta)^{T}
\end{equation}

\noindent The diffusivity along this orientation is positive
($\lambda_{1}>0$), while the diffusivity along its perpendicular
orientation is set to zero ($\lambda_{2}=0$). Therefore, the
diffusion is along $p_{1}$ only, i.e. the ridge orientation at the
pixel.

As discussed in the introduction, the oriented patterns are globally
characterized by singular points and the ridge curvatures change
greatly between singular regions and non-singular regions. It is
important to take these characteristics into consideration when
enhancing the oriented patterns. Bearing this in mind, we define the
diffusivities as

\begin{equation}\label{eq:7}
\lambda_{1} =
\exp\{-(\frac{c^{2}}{k_{1}^{2}}+\frac{1}{k_{2}^{2}\cdot
d_{S}^{2}})\}
\end{equation}
\begin{equation}\label{eq:8}
\lambda_{2}=0
\end{equation}

\noindent Here, $k_{1}$ and $k_{2}$ are two parameters to control
the diffusion velocities, \emph{c} is the ridge curvature at the
pixel, and $d_{S}$ is the distance from the pixel to the closest
singular point (if there is no singular point, $d_{S}$ is infinity).
By substituting (\ref{eq:4}) and (\ref{eq:6}-\ref{eq:8}) into
(\ref{eq:1}), we obtain the curvature and singularity driven
oriented diffusion model as follows

\begin{equation}\label{eq:9}
\partial_{t}{u} = u_{\theta\theta}\cdot \exp\{-(\frac{c^{2}}{k_{1}^{2}}+\frac{1}{k_{2}^{2}\cdot
d_{S}^{2}})\}
\end{equation}

\noindent where $u_{\theta\theta} = u_{xx}\cos^{2}{\theta} +
u_{yy}\sin^{2}{\theta} + 2u_{xy}\cos{\theta}\sin{\theta}$.

In the proposed diffusion model, the diffusion is exactly along the
ridge orientation. It diffuses fast in small curvature regions and
non-singular regions and will slow down while it approaches to high
curvature regions or singular points. Such adaptivity is desired in
order to consistently enhance the oriented patterns in regions of
different curvatures and preserve the ridge
structures in singular regions.% surrounding singular points.

\section{The enhancement algorithm}

In this section, we will develop a new algorithm for oriented
pattern enhancement based on the proposed diffusion model in
(\ref{eq:9}). We first introduce the method for singular point
detection and orientation field regularization and then present the
enhancement scheme.

%-------------------------------------------------------------------------
\subsection{Singular point detection and orientation field regularization}

In order to use the curvature and singularity driven oriented
diffusion model to enhance oriented patterns, we need to estimate
the ridge orientation field and detect the singular points in the
oriented patterns. Meanwhile, in order to suppress noise in the
orientation field, we need to regularize the orientation field.
However, regularization such as smoothing will lead to the shifting
of singular points. Therefore, some tradeoff has to be made between
regularizing the orientation field and preserving the singular
points. In this section, we propose to regularize the orientation
field by explicitly considering the singular points.

According to Perona's observation \cite{Perona98}, the singular
points of oriented patterns have the causal property: singular
points may disappear, but not appear, when diffusing in the
orientation field. Inspired by this finding, we propose to detect
the singular points in the process of orientation diffusion. We
start from an initial estimation of the ridge orientation field
which is obtained by analyzing the local structure tensor as defined
in (\ref{eq:5}) \cite{Bazen02}. Because a large scale smoothing of
the structure tensor will lead to large displacements of singular
points, we use a small scale in the structure tensor analysis. Once
we have the initial ridge orientation field (referring to Fig.
\ref{fig:2a}), we locate the singular points on it by using the
Poincare index \cite{Maltoni03}. At this moment, we may find many
singular points, some of which might be false ones (see Fig.
\ref{fig:2b}).

\begin{figure*}
\begin{center}
\begin{tabular}{cccccc}
\subfigure[]{\includegraphics[width=1.06in]{Fig2a}\label{fig:2a}}&
\subfigure[]{\includegraphics[width=0.98in]{Fig2b}\label{fig:2b}}&
\subfigure[]{\includegraphics[width=1.03in]{Fig2c}\label{fig:2c}}&
\subfigure[]{\includegraphics[width=0.98in]{Fig2d}\label{fig:2d}}&
\subfigure[]{\includegraphics[width=0.98in]{Fig2e}\label{fig:2e}}&
\subfigure[]{\includegraphics[width=1.05in]{Fig2f}\label{fig:2f}}
\end{tabular}
\end{center}
   \caption{Singular point detection and orientation field regularization. (a) shows the initial orientation field, and (b) shows the singular points detected on it; (c) is the orientation field after linear diffusion of 50 iterations; (d) shows the singular points detected on the smoothed orientation field in (c); (e) shows the final singular point detection results; and (f) is the final orientation field regularized by using the singularity driven nonlinear diffusion.}
\label{fig:2}
\end{figure*}

We then apply to the orientation field a linear diffusion process as
defined in (\ref{eq:1}) by setting \emph{D} as a constant. Because
the value of orientation is within the range of 0 to $\pi$, which is
intrinsically discontinuous \cite{Perona98}, we map the orientation
$\theta$ to a continuous complex plane as

\begin{equation}\label{eq:10}
U = \cos{(2\theta)} + i\sin{(2\theta)} = R + iI
\end{equation}

\noindent where $R=\cos{(2\theta)}$ and $I=\sin{(2\theta)}$ are the
real and imaginary parts. The diffusion is then conducted on these
two parts simultaneously. After diffusion by \emph{N} iterations (in
our experiments, \emph{N=}10), we can retrieve a smoother
orientation field from the diffused real and imaginary parts
according to $\theta = \frac{1}{2}\arctan{(I/R)}$. We then detect
the singular points on the obtained smoother orientation field. If
the number of singular points keep unchanged for a sufficient number
of iterations, or a specific number of iterations has been reached,
the diffusion in the ridge orientation field stops. Otherwise, we
diffuse for \emph{N} more iterations. Fig. \ref{fig:2c} shows the
smoothed orientation field after 50 iterations of diffusion.

When the diffusion stops, the false singular points will be
eliminated but the survived singular points may shift from their
true locations due to the smoothing effect of diffusion as can be
seen in Fig. \ref{fig:2d}. For more accurate localization of these
singular points, we turn to the detection results in the initial
ridge orientation field. The singular points in the initial ridge
orientation field which are the closest ones to those survived
singular points are taken as the final singular point detection
results. By using such a feedback scheme, we can not only remove
false singular points, but also locate the true singular point more
accurately (see Fig. \ref{fig:2e}).

Based on the detected singular points, we can now regularize the
initial orientation field. Here, we adopt a nonlinear diffusion
process to reduce the diffusion around singular points such that the
orientation field close to the singular points can be better
preserved. To this end, we define the diffusivity at a pixel
(\emph{i, j}) based on its distance to the closest singular points
as follows

\begin{equation}\label{eq:11}
D(i,j) = \exp\{-\frac{1}{k^{2}d^{2}_{S}(i,j)}\}
\end{equation}

\noindent where \emph{k} is a constant, and

\begin{equation}\label{eq:12}
d_{S}(i,j) = \min\{d_{s}(i,j)|s = 1,2,\cdots,n\}
\end{equation}

\noindent with $d_{s}$ being the distance between the pixel and the
$s^{\textmd{th}}$ singular point, and \emph{n} is the total number
of singular points. With the above defined singularity driven
nonlinear diffusion on the orientation field, most noisy orientation
can be corrected while preserving the orientation around singular
points. Fig. \ref{fig:2f} shows an example of the final orientation
field regularized by the singularity driven nonlinear diffusion.
Compared with the regularized orientation field in Fig.
\ref{fig:2c}, the proposed method successfully avoids over smoothing
the orientation field around singular points while correctly
regularizing the orientation at the crease and other interference.

%-------------------------------------------------------------------------
\subsection{Oriented pattern enhancement}

Once the ridge orientation field and the singular points have been
obtained, we can now apply the curvature and singularity driven
oriented diffusion model to enhance the oriented patterns. Different
from conventional diffusion applications, for oriented pattern
enhancement, we calculate only once the diffusivity at each pixel
before the diffusion, and then use this diffusivity throughout the
whole diffusion process. This makes our algorithm more efficient.
Referring to the definition of the diffusion model in (\ref{eq:9}),
the diffusion orientation $\theta$ is just the ridge orientation at
the pixel, and the diffusivity will be determined by the local ridge
curvature and its distance to the closest singular point. The
distance at the pixel is calculated according to (\ref{eq:12}). As
for the curvature, we refer to the orientation difference proposed
by Perona \cite{Perona98}. Specifically, we calculate the curvature
at the pixel (\emph{i, j}) as follows

\begin{equation}\label{eq:13}
c(i,j) = \sum_{(i^{\prime}, j^{\prime})\in N(i, j)}{(1 -
\cos{(2\theta(i^{\prime}, j^{\prime}) - 2\theta(i, j))})}
\end{equation}

\noindent where \emph{N}(\emph{i, j}) denotes the neighborhood to
the pixel (\emph{i, j}). In our experiments, we use the 4-connected
neighborhood. Finally, the diffused intensity at the pixel (\emph{i,
j}) in the $(t+1)^{\textmd{th}}$ iteration can be calculated by

\begin{eqnarray}\label{eq:14}
\lefteqn{u(i, j; t+1) =  u(i, j; t)+} \nonumber \\
 & & u_{\theta\theta}(i, j;
t)\cdot\exp\{-(\frac{c(i, j)^{2}}{k_{1}^{2}} +
\frac{1}{k_{2}^{2}d_{S}^{2}(i, j)})\}
\end{eqnarray}

As the diffusion proceeds, noise as well as other distractions like
creases on ridges and valleys will be gradually removed. On the
resulting enhanced oriented patterns, broken ridges and valleys are
connected and the ridges and valleys are becoming more separable.
More importantly, the ridge structures in the singular regions are
also well preserved. The parameters involved in the diffusion model
and the number of iterations can be determined by experience for
specific oriented pattern data according to their quality and to the
application requirement.

Fig. \ref{fig:3} shows the enhancement results of Fig. \ref{fig:1}
in comparison with the Gabor filter based enhancement method
\cite{Hong98}. While the Gabor filter based method has obvious block
effect especially in the singular regions, we see that the proposed
method enhances much better the ridge structures in singular regions
than the Gabor filters.

\begin{figure}
\begin{center}
\subfigure[]{\includegraphics[width=1.2in]{Fig3a}\label{fig:3a}}
\subfigure[]{\includegraphics[width=1.2in]{Fig3b}\label{fig:3b}}
\end{center}
   \caption{Enhancement results of the image in Fig. \ref{fig:1} by using (a) the proposed method and (b) the Gabor filters.}
\label{fig:3}
\end{figure}

%\begin{figure}
%\begin{center}
%\subfigure[]{\includegraphics{Fig4a}\label{fig:4a}}
%\subfigure[]{\includegraphics[width=2.1in]{Fig4b}\label{fig:4b}}
%\subfigure[]{\includegraphics[width=2.1in]{Fig4c}\label{fig:4c}}
%\subfigure[]{\includegraphics[width=2.1in]{Fig4d}\label{fig:4d}}
%\subfigure[]{\includegraphics[width=2.1in]{Fig4e}\label{fig:4e}}
%\subfigure[]{\includegraphics[width=2.1in]{Fig4f}\label{fig:4f}}
%\subfigure[]{\includegraphics[width=2.1in]{Fig4g}\label{fig:4g}}
%\end{center}
%   \caption{Toy example for curvature driven oriented diffusion. (a) is the original oriented pattern image. (b-d) are the enhancement results by the proposed method, Cheng's method \cite{Cheng03}, and Hastings' method \cite{Hastings07}, after 10 iterations, and (e-g) after 20 iterations. The proposed diffusion scheme can enhance the ridge structures in regions of different curvatures more consistently and more accurately.}
%\label{fig:4}
%\end{figure}

\begin{figure*}
\begin{center}
\begin{minipage}[c]{0.2\textwidth}
\subfigure[]{\includegraphics[width=1\textwidth]{Fig4a}\label{fig:4a}}
\end{minipage}~
\begin{minipage}[c]{0.8\textwidth}
\begin{tabular}{ccc}
\subfigure[]{\includegraphics[width=0.3\textwidth]{Fig4b}\label{fig:4b}}
&
\subfigure[]{\includegraphics[width=0.3\textwidth]{Fig4c}\label{fig:4c}}
&
\subfigure[]{\includegraphics[width=0.3\textwidth]{Fig4d}\label{fig:4d}} \\
\subfigure[]{\includegraphics[width=0.3\textwidth]{Fig4e}\label{fig:4e}}
&
\subfigure[]{\includegraphics[width=0.3\textwidth]{Fig4f}\label{fig:4f}}
&
\subfigure[]{\includegraphics[width=0.3\textwidth]{Fig4g}\label{fig:4g}}
\end{tabular}
\end{minipage}
\end{center}
   \caption{Toy example for curvature driven oriented diffusion. (a) is the original oriented pattern image. (b-d) are the enhancement results by the proposed method, Cheng's method \cite{Cheng03}, and Hastings' method \cite{Hastings07}, after 10 iterations, and (e-g) after 20 iterations.}
\label{fig:4}
\end{figure*}

%\begin{figure}
%\begin{center}
%\begin{tabular}{cc}%\setlength{\arraystretch{0.1}}
%\multicolumn{2}{c}{\subfigure[]{\includegraphics{Fig4a}\label{fig:4a}}}\\
%\subfigure[]{\includegraphics[width=1.5in]{Fig4b}\label{fig:4b}} &
%\subfigure[]{\includegraphics[width=1.5in]{Fig4c}\label{fig:4c}}\\
%\subfigure[]{\includegraphics[width=1.5in]{Fig4d}\label{fig:4d}} &
%\subfigure[]{\includegraphics[width=1.5in]{Fig4e}\label{fig:4e}}\\
%\subfigure[]{\includegraphics[width=1.5in]{Fig4f}\label{fig:4f}} &
%\subfigure[]{\includegraphics[width=1.5in]{Fig4g}\label{fig:4g}}
%\end{tabular}
%\end{center}
%   \caption{Toy example for curvature driven oriented diffusion. (a) is the original oriented pattern image. (b-d) are the enhancement results by the proposed method, Cheng's method \cite{Cheng03}, and Hastings' method \cite{Hastings07}, after 10 iterations, and (e-g) after 20 iterations. The proposed diffusion scheme can enhance the ridge structures in regions of different curvatures more consistently and more accurately.}
%\label{fig:4}
%\end{figure}

%-------------------------------------------------------------------------
\section{Experimental results}

We first use a synthetic toy example to illustrate the effectiveness
of including the ridge curvature in the diffusion. As shown in Fig.
\ref{fig:4a}, in the synthetic oriented pattern image, there are
some straight lines and some curves which have different curvatures.
They are broken by a straight line, resulting in a break point on
each line and each curve. We use the proposed curvature driven
oriented diffusion method as well as the other two representative
oriented diffusion methods \cite{Cheng03, Hastings07} to repair the
breaks.

The oriented diffusion in \cite{Cheng03} sets the diffusivity using
a method similar to that of Weickert's model \cite{Weickert99},
which is based on local structure tensor analysis. In
\cite{Hastings07}, the diffusivity is set to be a constant. The
results of the three methods after 10 iterations and 20 iterations
are shown in Figs. \ref{fig:4b}-\ref{fig:4d} and Figs.
\ref{fig:4e}-\ref{fig:4g} respectively. As can be seen from the
results, the curvature driven oriented diffusion enhances regions of
different curvatures more consistently, whereas the diffusion driven
by local structure tensor analysis \cite{Cheng03} performs quite
differently in flat and curved regions. Besides, compared with the
other oriented diffusion methods \cite{Cheng03, Hastings07}, the
curvature driven oriented diffusion method can repair the curves
more smoothly (note the intensity along the lines and curves). This
is because neither the local structure tensor analysis
\cite{Cheng03} nor the constant diffusivity \cite{Hastings07} can
capture the curved characteristics of oriented patterns (note that
the structure tensor uses the first order derivatives whereas the
curvature is a second order derivative feature).

\begin{figure*}
\begin{center}
\begin{tabular}{cccc}
\subfigure{\includegraphics[width=1.2in]{Fig5a}} &
\subfigure{\includegraphics[width=1.2in]{Fig5b}} &
\subfigure{\includegraphics[width=1.2in]{Fig5c}} &
\subfigure{\includegraphics[width=1.2in]{Fig5d}}
\end{tabular}
\end{center}
   \caption{Four typical fingerprints with different singular points.}
\label{fig:5}
\end{figure*}

In order to assess the effect of singularity on enhancing oriented
patterns, we use a variety of real fingerprint images for
experiments. These images are taken from the FVC2002 fingerprint
image databases \cite{Maio02}. In our experiments, we first use the
histogram equalization to pre-process the fingerprint images such
that the contrast between ridges and valleys is improved. We compare
the proposed method with the representative Gabor filter based
method \cite{Hong98} and the state-of-the-art oriented diffusion
based methods \cite{Cheng03, Hastings07} according to their
performance in enhancing various patterns with singular points. In
the literature of fingerprint classification, according to the
singular points on the fingerprints, there are generally six classes
of oriented patterns, i.e. arch, tented arch, whorl, twin loop, left
loop, and right loop \cite{Maltoni03}. We thus consider four cases
in our experiments: one core point, one core point and one delta
point, two core points on a whorl pattern, two core points on a twin
loop pattern. Fig. \ref{fig:5} shows four typical example images
used in the experiments.

These images are enhanced by the Gabor filter based method
\cite{Hong98}, Cheng's method \cite{Cheng03}, Hastings' method
\cite{Hastings07}, and the proposed method (all the three diffusion
based methods conduct 30 iterations of diffusion). The enhancement
results are given in Fig. \ref{fig:6}. In the results of Gabor
filter based method, obvious block effect can be observed
(especially in regions close to singular points) and the ridge edges
are displaced. The diffusion based methods do not have these
problems. However, as can be seen from the marked regions on the
results, when there are singular points, the Gabor filter based
method and the other two diffusion based methods fail to accurately
enhance the ridge structures in the singular regions. On the
contrary, the proposed method successfully preserves the ridge
structures in the singular regions by well controlling the diffusion
in these regions. Take the third row in Fig. \ref{fig:6} as an
example. All the counterpart methods destroy the ridge structures in
the singular regions, i.e. the innermost ridge is broken by them.
But the proposed method preserves it very well. Overall, the
proposed method not only enhances very well the ridge structures in
non-singular regions, but also accurately preserves the ridge
structures in singular regions.

\begin{figure*}
\begin{center}
\begin{tabular}{ccccc}
\subfigure{\includegraphics[width=1.1in]{Fig6a}} &
\subfigure{\includegraphics[width=1.1in]{Fig6b}} &
\subfigure{\includegraphics[width=1.1in]{Fig6c}} &
\subfigure{\includegraphics[width=1.1in]{Fig6d}} &
\subfigure{\includegraphics[width=1.1in]{Fig6e}} \\
\subfigure{\includegraphics[width=1.1in]{Fig7a}} &
\subfigure{\includegraphics[width=1.1in]{Fig7b}} &
\subfigure{\includegraphics[width=1.1in]{Fig7c}} &
\subfigure{\includegraphics[width=1.1in]{Fig7d}} &
\subfigure{\includegraphics[width=1.1in]{Fig7e}} \\
\subfigure{\includegraphics[width=1.1in]{Fig8a}} &
\subfigure{\includegraphics[width=1.1in]{Fig8b}} &
\subfigure{\includegraphics[width=1.1in]{Fig8c}} &
\subfigure{\includegraphics[width=1.1in]{Fig8d}} &
\subfigure{\includegraphics[width=1.1in]{Fig8e}} \\
\subfigure{\includegraphics[width=1.1in]{Fig9a}} &
\subfigure{\includegraphics[width=1.1in]{Fig9b}} &
\subfigure{\includegraphics[width=1.1in]{Fig9c}} &
\subfigure{\includegraphics[width=1.1in]{Fig9d}} &
\subfigure{\includegraphics[width=1.1in]{Fig9e}}
\end{tabular}
\end{center}
   \caption{The enhancement results of Fig. \ref{fig:5}. From the left-most column to the right-most column: part of the original images, and the corresponding results of the Gabor filter based method, Cheng's method, Hastings' method, and the proposed method.}
\label{fig:6}
\end{figure*}



%-------------------------------------------------------------------------
\section{Conclusions}

This paper studied the problem of enhancing oriented patterns with
singular points. Oriented patterns like fingerprints are commonly
seen in computer vision and pattern recognition relevant
applications such as biometrics. In this paper, we proposed a novel
oriented diffusion based approach. It inherits the merits from
diffusion based enhancement methods, such as frequency estimation
free and good edge preservation. Moreover, the proposed oriented
diffusion model determines the diffusivity based on ridge curvatures
and singular points. Our experiments on both synthetic data and real
fingerprint images demonstrated that the proposed method could not
only enhance the ridge structures in different regions more
consistently, but also enhance the ridge structures in singular
regions more accurately. Such improvement on oriented pattern image
enhancement is expected to benefit the following feature extraction
and pattern recognition processes.

{\small
\bibliographystyle{ieee}
\bibliography{cvpr781}
}

%\newpage
%\rule{0pt}{1pt}\newpage
%\rule{0pt}{1pt}\newpage
%\rule{0pt}{1pt}\newpage
%\rule{0pt}{1pt}\newpage
%\rule{0pt}{1pt}\newpage
%\rule{0pt}{1pt}\newpage
%\rule{0pt}{1pt}\newpage
%\rule{0pt}{1pt}\newpage

\end{document}
