Date post: | 18-Feb-2016 |
Category: |
Documents |
Upload: | lovely-babu |
View: | 230 times |
Download: | 0 times |
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34120
Very Fast Phase Unwrapping Via
Grid-Cuts: G-PUMA
Sharoze Ali Research Scholar, Department of ECE,
KL University, Vaddeswaram, Guntur, Andhra Pradesh, India
Habibulla Khan
Professor & Dean (SA), Department of ECE,
KL University, Vaddeswaram, Guntur, Andhra Pradesh, India.
Idris Shaik
Assistant Professor, Department of ECE,
Bapatla Engineering College, Bapatla, Andhra Pradesh, India
Firoz Ali
Head of Department, Department of EEE, Nimra College of Engineering & Technology,
Vijayawada, Andhra Pradesh, India.
Abstract
The problem of Phase unwrapping (PU) can be solved by
various approaches.Here, we present a very fast algorithm for
two-dimensional (2D) phase unwrapping. Even for larger
images, the new algorithm “G-PUMA” quickly finds solution
than other methods. Previously, we published a robust to
noise, low complexity and fast phase unwrapping algorithm
(I-PUMA) for both convex and non convex potentials. But the
response times were slow especially while unwrapping phase
of larger images. Here an improved and faster version of
phase unwrapping algorithm is presented. The objective is to
extend our previous phase unwrapping algorithm and achieve
faster runtimes while unwrapping phase of larger images.
Results show that the proposed algorithm G-PUMA works
40% to 80% faster than the José's proposed phase unwrapping
via graph cut (PUMA). In addition, G-PUMA consumes less
memory of about 10 to 40% than PUMA.
Keywords—Phase Unwrapping, PUMA, Interferometry SAR,
Magnetic Resonance Imaging, Graph cuts
I. INTRODUCTION
Phase unwrapping (PU) [1] is one of the well-known and
widely adopted techniques for phase estimation. Estimation of
anabsolute (true, ϕ) phase from the measured phase (wrapped,
principle, ψ) is a key problem for many imaging techniques.
For instance, inremote sensing applications [2] like Synthetic
aperture radar (SAR) or Sonar (SAS), phase difference
between the terrain and the radar is captured by two or more
antennas.The measured phase by SAR or SAS is in the
interval of [-π, π].By using the Phase unwrapping process, we
can obtain the absolute phases from the measured one (ψ).
Similarly for MRI (Magnetic Resonance imaging), PU
technique is used to determine magnetic field deviation maps,
chemical shift based thermometry, and to implement BOLD
contrast based venography. PU also acts as a necessary tool
for the three-point Dixon water and fat separation. In optical
interferometry, phase measurements are used to detect objects
shape, deformation, and vibration.
Phase unwrapping (PU) [1] is however, an ill-posed problem,
if no further information is added. There are different methods
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34121
to unwrap the phase and can be broadly classified as Path-
following, Minimum-Lp-normand Bayesian or regularization
methods.
Bayesian methods [3], [4], [5] are also known as statistical
methods. Bayesian methods depend on a data observation
mechanism model and utilize prior knowledge of the phase.
Bayesian approaches can be optimal from the information-
theoretic point of view but they are unable to restore
uniqueness of the solution.
Path following algorithms apply line integration schemes over
the wrapped phase image, and basically rely on the
assumption that Itoh condition holds along the integration
path. Wherever this condition fails different integration paths
may lead to different unwrapped phase values. This approach
is not a global approach as it does not make use of all
observed phase to determine the phase. These methods are
less robust to noise as it does not follow the global approach.
Minimum norm [6], [7] is a global minimization approach
where all the observed phases are utilized to compute the
solution. It find’s the phase solution (ϕ) for which the LP norm
of the difference between absolute phase differences and
wrapped phase differences is minimized. If p=2, then we have
Least square (L2) method. The disadvantage of least square
method is they tend to smooth even the discontinuities. L1
deals well with dis-continuities when compared to L2
solution.The main advantage of minimum norm method when
compared with the Bayesian method is, it does not require any
prior knowledge of the phase.
During the last three decades, redundant of algorithms were
proposed based on the above methods for Phase unwrapping.
Among them, PUMA belongs to Minimum norm method is
one of the best algorithm for unwrapping. Most of the
Minimum norm algorithms faces difficulty while unwrapping
phase especially at discontinuities, but PUMA even though
belongs to Minimum Norm method, it unwraps the phase
properly even at discontinuities. PUMA [8] is the first
technique which uses graph cut as an optimization technique
for phase unwrapping.
Later on, several algorithms belong to different approaches of
phase unwrapping uses graph cut as an optimization step. For
instance, algorithms like [3], [4], [5] use graph cuts as a
optimization step.But these algorithm requires prior step and
consume more memory, time than PUMA Method. For
instance, the algorithm [5] faces issue while unwrapping
especially at discontinuities. Among all available algorithms,
PUMA is the optimum solution in both the aspects of
discontinuity preserving and utilizing system resources.
However, computation speed and memory consumption often
times limit the effective use of PUMA especially for large
images. Recent research on optimization techniques [11], [12]
shows that there is still considerable need and room for
improvement of the PUMA algorithm.
Previously, we presented a fast two-dimensional (2D) phase
unwrapping algorithm (I-PUMA) [14].In our previous paper,
we have reduced the complexity of the PUMA algorithm and
the result is significant reduction in time and complexity of
the algorithm. However, the speed can be further increased
especially for larger graphs. Here, we continue our previous
work showing an improved version of our previous 2D
unwrapping algorithm.
In our new approach, we show that significant improvements
in speed can be achieved by adopting the memory
optimization techniques, instead of reducing the complexity of
the algorithm. G-PUMA is a descent algorithm of PUMA and
I-PUMA. The significant advantage of the proposed method is
increase in speed whether the profile is of any variety or too
noisy or too big. Our algorithm performs well either if clique
potential is convex or non-convex.
We evaluate the performance gain on a variety of typical
problems. Our new algorithm G-PUMA shows improvement
in speed of about 40% to 80% and 10% to 40% reduction in
memory consumption compared to existing approach PUMA.
From the experiments in Section V, our proposed method
achieves faster running times than PUMA unwrapping
method.
The remaining of the letter is organized as follows. Section II,
we present the PUMA phase unwrapping algorithm.In Section
III, we present the cache efficient Gridcut method; Section IV,
we briefly presents our new algorithm G-PUMA.In Section V,
a set of experiments and results to compare G-PUMA with
PUMA in all aspects and we conclude this letter in Section
VI.
II. PUMA : PHASE UNWRAPPING VIA MAX
FLOW
Phase unwrapping (PU) is the process of recovering the
absolute phase from the wrapped phase, formally as
ψ
(1)
Phase unwrapping via graph cuts [8] is a novel technique
which uses graph cut as an optimization step. PUMA
technique mainly consists of two algorithms and it is
classified according to its clique potential, as an energy
minimization framework for PU. The clique is a set of sites
that are mutually neighbors. If the clique potential is greater
than one, then such cliques are named as Convex potential
(p≥1) and PUMA has an exact energy minimization
algorithm.
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34122
Fig. 1. Representation of the site (i, j) and its first-order neighbours
along with the variables h and v signalling horizontal and
vertical discontinuities, respectively.
For non-convex clique potentials (p<1), PUMA has an
approximation solution owing to its discontinuity preserving
ability. Both algorithms solve optimization problems by
computing sequence of binary optimization, each one solved
by graph cut techniques.
Let us define the energy for a site of (i, j) as shown in Fig.1 as
(2)
(
) ∑
( ) (
)
(2)
Where is an image of integers, denoting multiples, the
so-called wrap-count image of ψ, is the clique potential, a
real-valued function, 1 and (.) h and (.) denote pixel
horizontal and vertical differencesgiven by (3) to (6). Our
purpose is to find the integer image that minimizes energy
(2), being such that π ψ
[ ( )
]
(3)
[ ( )
]
(4)
(5)
(6)
A. ENERGY MINIMIZATION BY A SEQUENCE OF
BINARY OPTIMIZATIONS: CONVEX POTENTIALS
By using the proof of Equivalence between Local and Global
Minimization, Convergence Analysis and Mapping Binary
Optimizations onto Graph Max-Flows, the author’s [8]
rewrites the energy equation (2) as (7)
| ∑
[ ( ) ]
[ ( ) ]
(7)
Authors of PUMA, for the sake of simplicity, rename the
equation (7) to (8)
| ∑ ( )
(8)
The minimization of the equation (7) with respect to is now
mapped onto a max-flow algorithm. For graph construction,
Authors[8] exploits a one to one map existing between the
energy function (7) and the cuts on a directed graph with non-negative weight, the graph has two specials vertices,
namely the source ‘s’ and the sink ‘t’. The number of vertices
Ѵ is 2 + NxM (two terminals, the source and the sink, plus the
number of pixels or nodes).An s-t cut or min-cut is a partition
of vertices Ѵ into two disjoint sets S and T, such that s S
and t T with min cost.Cost of the cut is the sum of costs of
all edges between S and T.
As per [9], a function of class of functions is graph
representable, i.e., there exists a one-to-one relation between
configurations Є {0, 1} MN and s-t cuts on that
|ψ graph, if and only if it satisfy the regularity
condition (9).
(9)
(10)
(11)
(12)
(13)
So, for each energy term and
, authors construct an
“elementary" graph as shown in figure 2 (a) with four vertices
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34123
{ }, where represents source and the sink,
common to all terms, and { } represents the two pixels
involved (v being the left (up) pixel and the right (down)
pixel).Finally, the directed edge { } is defined with the
weight of . Moreover, if
edge { } is defined with the weight
of or, otherwise, edge { } is defined with
the weight .Once energy is mapped on to the
graph, energy is easily minimized by using the max flow
/min-cut on the constructed graph. Among the available max
flow algorithms, authors of PUMA uses BK [10] Algorithm
(alpha expansion graph cut) for finding the min cut/maxflow.
PUMA runs for iterations to unwrap the phase of a profile,
where is the number of π multiples.
(a) (b)
Fig. 2. (a) Elementary graph for a single energy term, where and
represent source and sink, respectively, and represent the
two pixels involved inthe energy term. In this case and .(b) The graph obtained
at the end results from adding elementary graphs
B. ENERGY MINIMIZATION BY A SEQUENCE OF
BINARYOPTIMIZATIONS: NON-CONVEX
POTENTIALS
The PUMA Algorithm of Convex potential doesnot fits to
non-convex potential as it faces with the below two issues.
1) If the clique potential is nonconvex , it is not
possible, in general, to reach the minimum through
1-jump moves only.
2) With a general nonconvex , the condition of
regularity (9) does nothold for every horizontal and
vertical pair-wiseclique interaction. This means, it’s
not possible to mapenergy terms onto a graph and
energycannot be minimized via graph cuts.
Energy minimization of a non-convex potential is a NP Hard
problem. Even though, authors proved that the second issue
can be resolved by applying majorize minimize (MM)
concepts to energy function. That is where ever the pixel pairs
do not satisfy the regularity condition (9) then the edge weight
between pixels pairs are set to zero to satisfy the regularity
condition. With respect to the first referred issue, authors
extend the range of allowed moves. Instead of only 1-jumps
they now use sequences of s–jumps. In simpler terms if the
pixel belongs to Source (s) then it is increased by s instead of
1 as in convex algorithm. Finally authors [8] showed that the
non convex potentials can also be solved via graph cuts and
for uniformity sake they name the algorithm as PUMA.
(a) (b)
Fig. 3: (a) Graphs which have a grid-like structure. The double headed
arrows represent two oppositely oriented edges between the same
two nodes.(b) All 1-offset neighbours of (1, 1) pixel.
III. OPTIMIZATION TECHNIQUE : GRID-CUT
A. Previous Works
Globally optimal solutions can be quickly achieved by using
Graph cuts. For instance, many applications in vision and
graphics use min-cut algorithms either as a tool for computing
optimal hyper-surfaces or as an optimization technique in
energy minimization algorithms. Also, it can be useful for
inferring the maximum a posterior solution of a discrete MRF.
That is why these methods are at the core of many state-of-the
art algorithms and provide high-quality solutions in practice.
Graph cuts can be broadly divided into two main groups:
“push-relabel” and “augmenting path” methods.
Different researcher’s proposed different graph cut algorithms
on both of the above mentioned methods. Among them, the
one proposed by Boykov and Kolmogorov (BK) [10] belongs
to augmenting path method is the most popular algorithm, due
to its computational efficiency and out performs push –relabel
methods by considerable factors.The main advantage of this
method is, it is faster in reaching the Global Optimum
Solution than the other available methods like simulated
annealing, etc.
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34124
Although it has been extensively used by the vision
community, it has no known polynomial time bound and the
algorithm performs poorly in practice on some non-vision
problems. Computation speed and memory consumption
oftentimes limit the effective use in applications requiring
high resolution grids or interactive response. To eradicate the
issues of the BK Algorithm and to process faster, authors of
[11] introduce the incremental breadth-first search (IBFS)
method. IBFS [11] is an extension of the BK algorithm. As
BK set out to always maintain the search trees (however
arbitrarily), IBFS also maintains the trees and make sure that
they first search breadth-wise.
IBFS graph cut provides a polynomial run time guarantee,
whereas BK Graph cut does not provides this. Empirical
testing of IBFS versus BK has shown that in the vast majority
of cases, IBFS outperforms BK with a speed increase of about
20 to 50% on a variety of vision instances. The IBFS
algorithm does not perform well than BK on some non-vision
instances. Also the pre-processing phase used in IBFS, is
handled inefficiently.
Voronoi based pre-flow push (VPP) [15] is also an attempt to
provide algorithm faster than BK for high resolution grids.
VPP graph cut not only exploits the structural properties
inherent in image based grid graphs but also combines the
basic paradigms of max-flow theory in a novel way. As per
[15] BK is slower by at least a factor of 2 on 70% of the
samples. But, in reality the VPP performed only comparable
or even worse than BK.
In order to increase the computational efficiency and to
decrease the memory consumption especially for high
resolution grids and large size images, authors of [12]
proposed the Grid cut algorithm. The idea of Grid cut
algorithm is a cache efficient implementation of BK algorithm
presented by Boykov and Kolmogorov [10]. GridCut
implementation uses the full combination of the compact
residual graph representation (CR), the structure of arrays
(SoA), and the blocked array layout (BLK) techniques which
will be explained in detail in next section.
B. Grid Structure
Generally graphs for energy minimization looks like as in
figure 3(a). A graph G is a pair G = (V, E) where V is called
the set of nodes and ‘E’ is called the edge set consisting of
pairs (u, v), u, v ε V as shown in Figure 3(a). A graph ‘G’ is a
collection of Nodes ‘V’ and they are connected with edges
‘E’, if they are neighbours. For instance for an image of size
‘M’ X ‘N’ where ‘M’ represents rows and ‘N’ represent
columns, we can arrange the nodes into an ‘M’ X ‘N’ grid
with double edges between the every two neighbour’s in the
grid. As shown in Figure 3(b), if one of the nodes is located at
the position (1, 1) then the neighbours of such node are
accessed by adding or subtracting one. In other words, all of
the neighbours of (1, 1) are at one- step away from (1, 1).
C. Compact residual graph Representation (CR)
In graph cut theory, residual graph is constructed by replacing
each edge with a pair of oppositely oriented edges that
represent either the possibility of pushing additional flow
along the edge in the flow network, or diminishing the flow
against the direction of the edge. As shown in Figure 4(a) for
each pair of neighbouring nodes, there exists its own capacity
‘c1’edge between the two nodes and during the max flow
computation an additional flow “f1” is added to the edge.
There is a possibility that the additional flow can be pushed
along one of the additional edge or pushing back against the
other edge as shown in the figure 4(b). This process is call the
augmenting the flow between the neighbouring nodes. Finally,
the two residual capacity can be represented by r1=c1-f1+f2
and r2 =c2-f2+f1 which means when we augment along this
edge, the amount of flow we are augmenting is subtracted
from this residual capacity and added to the oppositely
oriented residual edge. This compact representation of the
residual graph is shown in Figure 4(c).This causes to lose the
exact distribution of the flow on each edge, but it will provide
information about the minimum cut and max flow.
(a) (b)
(c)
Fig. 4. (a) The flow network has a pair of sibling edges, each with is
own capacity and current flow. (b) The resulting residual graph will
in this case contain two pairs of parallel edges.(c) We can merge
these parallel edges back into a pair of residual sibling edges.
We can combine this representation with the simplifications
that the grid structure allows us. In every node, the residual
capacity of every outgoing edge is stored. When we augment
along an edge, some of its residual capacity is transferred to
its sibling edge. Since all nodes have the same local
neighbourhood, this enumeration can be applied to every node
consistently as in figure 5(a). We can quickly access this edge
by using a lookup table that maps each edge index to the
index of its corresponding reverse direction as in figure5(b).
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34125
D. Cache friendly indexing of the nodes
The pattern of data access in the max flow algorithm is when
some node is visited during the computation, it is likely that
the nearby nodes are accessed in the next step. As transfers
between cache and memory are executed in blocks (cache
lines) with fixed size (typically 64 bytes), we can rearrange
such arrays into a blocked layout with fixed size (typically 64
bytes) as shown in Figure 5(c). In order to improve the cache
efficiency, the idea proposed by the authors [12] is to arrange
the fields in such a way that spatially close nodes on the grid
become spatially close in memory. When a field from the
block is accessed for the first time, a cache miss occurs and
the field is loaded into the cache along with fields of other
nodes lying in the same block. With this behaviour, fields of
nearby nodes can be quickly accessed in further steps of the
algorithm.
E. Structure splitting
BK maintains search trees with marking heuristic requiring
for each node to store the tree membership tag, a reference to
a parent node, an estimation of the distance to its terminal, and
a time-stamp indicating when the distance was computed.
From the optimization point of view, the key observation is
that these fields are typically not accessed at the same time
during the max-flow computation. Similarly IBFS, also
maintain trees like parent map, residual capacity between each
node, distance labelling and the {S, T, FREE} –labelling. If
we were to store this data as an array of node-structs, all these
different data fields are stored in an interlaced fashion in the
memory which often decreases the cache performance as the
unnecessary data will be transferred to the cache.
Generally frequently accessed fields are typically referred as
HOT and unused fields are referred as COLD. In order to
make graph cut a cache efficient, space is preserved for HOT
fields and avoid transfer of COLD fields. Instead of storing all
nodes in a single array of structures with all fields packed
together, it’s better to split the individual fields into separate
arrays using the structure-of-arrays layout (SOA). With this
layout the data can be naturally split into hot and cold portion.
Finally, the aim of authors [12] is to ease the memory
bandwidth by employing a compact graph representation with
cache-friendly memory layout that exploits the regular
structure of grid-like graphs.
Gridcut is tested on all instances and it out performs than BK,
IBFS and VPP. For the common class of graphs, Gridcut data
structure allows for 3 to 12 times higher grid resolutions and
3to 9 fold speedup compared to the existing approaches.
When compare it with BK, the reduction in memory
consumption ranges from 2X to 6X for 32-bit and 3X to 12X
for 64-bit modes. The average speed up over all instances and
CPUs is 2.7X for 32-bit and 4.4X for 64-bit modes.
(a)
edge REV [edge]
1 3
2 4
3 1
4 2 (b)
(c)
Fig. 5. (a) Enumeration of outgoing edges and reverse edge. (b) Lookup using the REV table. (c) Blocked array layout.
IV. PHASE UNWRAPPING VIA GRID CUT : G-
PUMA
PUMA is a two-step phase unwrapping process. Firstly, the
elementary graphs are constructed for a site by using the
energy equation
ψ and secondly, it is minimized by the
graph cut optimization techniques. These two steps together
are run for ‘k’ iterations to unwrap the phase. PUMA [8] is
one of the novel technique which unwraps phase even at dis-
continuities for both convex and non-convex potentials. The
only disadvantage of PUMA algorithm is it consumes lot of
time and memory to unwrap phase of larger images. This
often time limits the utilization of PUMA algorithm. If we
take a closer look at the algorithm, most of the time spent by
the algorithm during the calculation of maxflow algorithm. In-
order to overcome the difficulty and to increase the speed of
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34126
PUMA Algorithm, we have to adopt either of the below two
approaches.
1) To reduce the complexity of the PUMA Algorithm
2) To use the cache efficient techniques while
calculating the max flow.
In-order to overcome the difficulty and to increase the speed
of PUMA Algorithm, we have to adopt either of the below
two approaches
1) To reduce the complexity of the PUMA Algorithm
2) To use the cache efficient techniques while
calculating the max flow.
In our previous approach, I-PUMA [14] we have followed the
first approach of reducing the complexity of the PUMA
Algorithm. We have reduced the complexity of the algorithm
to . By doing so, we were successfully being able to
reduce the complexity of PUMA algorithm and the runtimes
were 20 to 40 % faster than PUMA. But the runtimes can be
further improved especially while un-wrapping phase of larger
images. When we deeply analyse the PUMA algorithm for
further improvement, especially the optimization part, the
below issues were faced by both of the algorithms PUMA and
I-PUMA.
1) During the computation of the max flow algorithm,
there will be frequent transfer of data between
memory and CPU. Also constant updates are
required, which causes heavy stress on the memory
bandwidth.
2) More time consumed while finding the connectivity
information using pointers on every time. The
Pointers are generally used to represent the general
graphs and it provides the connectivity information.
These pointers often comprise the majority of the
graph’s memory footprint, in particular on 64-bit
CPUs where single pointer occupies eight bytes.
3) Cache is poorly handled.
The run times will be very faster if we are able to solve the
above three issues. As per our second approach, we are able to
solve the above three stated issues where we have employed
the cache efficient techniques during the optimization step of
PUMA. In this section, we introduce our new, fast and robust
unwrapping algorithm “G-PUMA”.
All the above three mentioned issues will play a crucial role in
finding min cut of large graphs. The first issue (stress on
memory bandwidth) is resolved by employing a compact
graph representation with cache-friendly memory layout that
exploits the regular structure of grid-like graphs which
reduces the stress on the memory bandwidth. Secondly
(calculation of connectivity information), by exploiting prior
knowledge of the graph structure we can eliminate the need
of pointers altogether by determining connectivity information
on the fly. Thirdly, Cache can be efficiently utilized by
segregating the memory fields as Hot and Cold depending
upon their accessibility (Structure splitting) and by dividing
the given graph into blocks (Blocked array layout).
Among the available, the best cache efficient graph cut
technique is Grid Cut. But grid cut can be applied only to
graphs like grid structured. The graph constructed by PUMA
algorithm is also a 2-D grid. So, it satisfies the basic
requirement of Gridcut and with slight modification in PUMA
we can easily utilize Gridcut as an optimization technique for
PUMA. We name our new approach as G –PUMA where ‘G’
represents the Gridcut technique.
Like PUMA algorithm, G-PUMA algorithm also comprises of
twosteps. In G-PUMA the sequences of steps to unwrap the
phase for both convex and non-convex will be remain same.
As a First step, we have to construct the elementary graphs by
using the energy equations. The power of PUMA lies in its
energy minimization framework and shows greater
attenuation to noise, so we have not modify or changed the
energy equation
ψ of PUMA.Once the elementary graph is
constructed, the minimization of energy equation with respect
to is now mapped onto a max-flow problem.
For construction of graph we have followed the approach of
PUMA, where the vertices and edges corresponding to each
pair of neighbouring pixels are build first, and then join these
elementary graphs together based on the additive theorem.
(a) (b)
Fig. 6. (a) 2-D /4C neighboring connectivity. (b)2-D /8C neighboring
connectivity
Once the energy is represented onto the graph, we have to use
the max flow algorithm for minimizing the equation. As we
have followed the same energy minimization approach as in
PUMA for both Convex and non-convex algorithms, our
algorithm G-PUMA also stops for ‘K’ iterations.
The main limitation of Gridcut optimization technique is
hidden in the fact that it supports only graphs which has grid-
like topology. Grid like topology is a graph topology as in
Figure 3(a), where nodes can be stored in memory in such a
way that neighbours can be addressed by a set of fixed offsets.
The graphs constructed by the PUMA will not have all pixel
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34127
interactions required to represent a grid-like topology. So we
cannot directly use the Grid cut on the graph constructed by
the PUMA algorithm. For instance, the required pixel
interactions to represent 2-D graphs are left, right, up and
down (4-neighbours) as shown in figure 6 (a). Whereas the
graphs constructed by the PUMA will only provide the
information of right and down pixel interactions.
In order to use the same graphs of PUMA on Gridcut, either
we have to construct the full grid or we have to set zero
capacity for edges which are not provided by PUMA and treat
them as dummy nodes. If we follow the second approach of
padding, then the performance of algorithm is degraded [12].
So we have adopted the first option of constructing the full
grid.
The grid can be fully constructed from either of the below two
options.
1) To calculate the other pixel interactions which are
not provided by PUMA. (or)
2) To reuse the same graph for calculating the pixel
interactions which are not provided by the PUMA.
Purge the missing Pixel interactions from its 1- offset
neighbour and pad the edges with Zeros.
We have adopted the reuse approach to construct the full grid
as the first approach is more time consuming. For instance, if
a node in 2-D Grid is located at A (1, 1) location, then its right
and down pixel interaction are provided by the graph
constructed by PUMA. The LEFT pixel interaction of the A(1,
1) node is nothing but the right interaction of its left neighbour
B(1, 0). Similarly, the UP interaction of the A(1, 1) node is
equal to the down interaction of its up neighbour C(0, 1). By
doing this for every pixel and adding them, we can construct
the full grid. But for an edge which does not have pixel
interaction, we have padded them with zeros.
Once we constructed the elements of the graph, we have
added them based on the additive theorem and provided as
input to the min cut solver. But, BK Algorithm [10] works on
node number whereas Grid Cut works on Co-ordinate’s. So,
we have represented these elementary graphs in terms of co-
ordinates instead of node numbers and provided as input to
the Gridcut solver. We have followed the similar method of
graph construction for the other Grid like structures as in
figure 6(b).
We have analyse the coding parts of PUMA and we have
identified that there are some unnecessary calls between
various programming parts of PUMA and by properly tunning
it we can make the algorithm bit faster. For Instance, in
PUMA along with the edge weights, the authors of PUMA [8]
also sending the other supplementary information related to
the pixel interactions like node number of the starting pixel
and ending pixel, etc to maxflow mex-part of coding. In our
algorithm, we have avoided passing such supplementary
information, as the same can be extrapolated during the max
flow computation.
As per [12] the run times will be faster if we use the
optimization techniques while compiling the matlab mex’s.
So, we have also make use of full compiler optimizations
technique (/Ox in Visual Studio) while compiling the Mex.
We have in-cooperated all these above mentioned changes in
PUMA and named it as G-PUMA. From the experiments in
Section V, We have attained 40-75% faster in run times for
both 32-bit and 64-bit machines. Also our new algorithm
consumes less memory than PUMA algorithm of about 20-
40% for 32-bit and 40-60% for 64-bit machines. Like PUMA,
G-PUMA also deal well with discontinuity and unwraps the
phase faster than PUMA.
(a) (b) (c)
(d) (e) (f)
(f) (g) (h)
(i) (j) (k)
Fig. 7(a), (d), (f), (i)Interferogram’s of shear ramp ratio of 1, 3/4, 1/2, 2*1/5
respectively.7(b), (e), (g), (j) unwrapped by PUMA algorithm for
interferogram’s of (a), (d), (f), (i) respectively.7(c), (f), (h), (k) unwrapped by
G-PUMA algorithm for interferogram’s of (a), (d), (f), (i) respectively.
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34128
(a) (b) (c)
Fig. 8(a) Interferogram’s of High phase rate Gaussian Hill with a
quarter set to zero.8(b) Unwrapped by PUMA algorithm for
interferogram of (a) respectively.8(.c) unwrapped by G- PUMA
algorithm for interferogram’s of (a) respectively
V. EXPERIMENTAL RESULTS
To check the uniqueness and power of G-PUMA verses
PUMA Algorithm, we have tested both the algorithms on
some simulation profiles and real data. Survey do to know
effect of five factors are discontinuity (mask), noise, PSNR,
elapsed time and memory. As PUMA is a cache efficient
technique and depends on the CPU, number of bits and cache
memory, so we have tested the both of algorithm’s on
different machines (32-bit and 64 -bit).
A. Discontinuity
Phase unwrapping at discontinuities is a critical one with the
available information as in wrapped image. PUMA algorithm
though belongs to Minimum norm method, it unwraps the
phase correctly even at discontinuities. Because of the
discontinuity preserving ability, PUMA is one of popular
algorithm. Our algorithm, the newly developed G–PUMA
algorithm also owns to discontinuity preserving ability and it
is tested on interferogram’s of shear and ramp, Gaussian and
mask, as in figure 7 and 8 respectively.
Both the algorithms are executed on the interferogram’s of
shear and ramp, Gaussian and mask. We can see that both the
algorithms are equally powerful while unwrapping at
discontinuity, for shear ramp ratio of 1, 1/2, 3/4, 2*1/5
interferogram’s as in Figure 7.Even for High phase rate
(a) (b) (c)
(d) (e) (f)
(g) (h) (i)
Fig. 9(a), (d), (g) Interferogram’s of High phase rate Gaussian Hill a
quarter set to zero treated with noise of coefficients 0.6, 0.8 & 1.0
respectively. 9(b), (e), (h) unwrapped by PUMA algorithm for
interferogram of 9(a), (d), (g) respectively.9(c), (f), (i) unwrapped by
G- PUMA algorithm for interferogram’s of 9(a), (d), (g) respectively.
Gaussian Hill with a quarter set to zero as in figure 8(a), the
unwrapping results ofboth algorithms are equal as in figures
8(b) and 8(c) respectively. As per [13], PUMA out performs
CUNWRAP algorithm especially while unwrapping at
discontinuities. Therefore, G-PUMA also out performs
CUNWRAP while unwrapping at discontinuities.
B. NOISE
Random noise assigned with three different coefficients of
0.6, 0.8, 1.0 are sequentially added to the High phase rate
Gaussian Hill with a quarter of it set to zero interferogram.
These noisy profiles are provided as input to both the
algorithms. Noisy Interferogram’s of 0.6, 0.8, 1.0 coefficients
are shown in figure 9(a), 9(d) and 9(g) respectively. Each of
them did iterative running with both the algorithms. As shown
in figure 9, both the algorithms are equally unwrapped for all
interferogram’s of noise variance 0.6, 0.8, 1.0. I-PUMA [14]
has more incorrect shape at the peak of the Gaussian hill for
1.0 noise variance than PUMA, G-PUMA. Finally, G-PUMA
and PUMA are more noise resistant algorithms and unwraps
phase correctly than CUNWRAP and I-PUMA.
C. PSNR, MSE
MSE (mean square error) and PSNR are two parameters to
determine the robustness of the phase unwrapping algorithm.
Mean Square Error (MSE) is taken between the True Image
and unwrapped images. In order to check the robustness of
algorithms, we have treated both the algorithms under
different simulation profiles and noted down the MSR, PSNR
Values in the table I. G-PUMA and PUMA have provided
similar values of MSE and PSNR values, because G-PUMA is
just an cache efficient implementation of PUMA algorithm.
For noise variance of 1.0, both G-PUMA and PUMA records
low MSE and high PSNR values shows greater attenuation to
noise where as I-PUMA [14] and CUNWRAP [13] records
high MSE and low PSNR values. This shows that the G-
PUMA and PUMA algorithms perform well in unwrapping
phase of noisy profiles than I-PUMA and CUNWRAP
algorithms.
020
4060
80100
0
50
1000
10
20
30
40
50
60
Puma 3-D solution
020
4060
80100
0
50
1000
10
20
30
40
50
60
G-Puma 3-D solution
020
4060
80100
0
50
1000
10
20
30
40
50
Puma 3-D solution
020
4060
80100
0
50
1000
10
20
30
40
50
G-Puma 3-D solution
020
4060
80100
0
50
1000
10
20
30
40
50
Puma 3-D solution
020
4060
80100
0
50
1000
10
20
30
40
50
G-Puma 3-D solution
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34129
(a) (b)
(c) (d)
(e) (f)
Fig.10(a). Wrapped phase image obtained from a simulated InSAR
acquisition from Long’s Peak, CO (data distributed with [1]).
(b)Wrapped Noise Phase (c) Quality Map of (a) distributed with [1].
(d) Image in (b) unwrapped by G-PUMA. (e) Image in (b)
unwrapped by PUMA. (f) True Phase of (a)
D. Elapsed Time (Speed)
As stated earlier that the speed of the PUMA algorithm suffers
while unwrapping phase of larger images. So there is a room
for improvement of speed the PUMA algorithm. In this paper,
we have resolved the main issue of PUMA. By using G-
PUMA, we are able to show that the runtimes are very faster
than PUMA. In order to check the effectiveness of G-PUMA,
we have considered different profiles and noted down values
in table II. The speed of the G-PUMA algorithm depends on
the processor, number of bits and cache memory, so we have
tested algorithms in both 32 and 64 bit machines.
Specification of the two computers in experimental are
1) Intel Core i3Processor, 64-bit, 4GB RAM, 400GB
HDD, 3MB Cache memory and LCD 17”.
2) Intel Core Duo2 Processor, 32-bit, 4 GB RAM, 500
GB HDD, 2 MB Cache memory and LCD 15”.
TABLE I. PSNR AND MSE RESULTS
Interferogram G-PUMA (in
decibels)
PUMA (in decibels)
MSE PSNR MSE PSNR
Guassian Hill
with zero noise
variance
91.69 +
0.14i
-19.62 -
0.01i
91.69 +
0.14i
-19.62 -
0.01i
With Noise of
Variance 0.6
1.7628-
2.02i
-2.46+0.04i 1.7628-
2.02i
-2.46+0.04i
With Noise of
Variance 0.8
1.544-
2.29i
-
21.88+0.065i
1.544-
2.29i
-
21.88+0.065i
With Noise of
Variance 1.0
1.5203-
2.532i
-21.81+0.07i 1.5203-
2.532i
-21.81+0.07i
Shear Ramp 1.3128e-
29
288.8182 1.3128e-
29
288.8182
TABLE II. ELAPSED TIME
Interferogram 32-BIT 64-BIT
G-
PUMA
(in
sec)
PUMA
(in
sec)
G-
PUMA
(in
Sec)
PUMA
(in
Sec)
High phase rate
Gaussian Hill
0.0636 0.1246 0.1053 0.2376
High phase rate
Gaussian Hill With
noise variance 0.6
0.1235 0.2662 0.1022 0.2381
High phase rate
Gaussian Hill With
noise variance 0.8
0.1141 0.2349 0.1043 0.2519
High phase rate
Gaussian Hill With
noise variance 1.0
0.1247 0.2290 0.1049 0.2206
High phase rate
Gaussian Hill with a
quarter set to zero.
0.1205 0.2210 0.2172 0.2497
High phase rate
Gaussian Hill with a
non-vertical and non-
horizontal aligned
sector set to zero.
0.7360 0.2559 0.3496 0.0858
Mean from 10 Records
Image Simulation’s are
1) High phase rate Gaussian Hill with out and with
noise variances (0.6, 0.8, 1.0)
2) Shear Ramp.
3) High phase rate Gaussian Hill with a quarter set to
zero.
4) High phase rate Gaussian Hill with a non-vertical
and non-horizontal aligned sector set to zero.
Interferogram
50 100 150 200 250 300 350 400 450
20
40
60
80
100
120
140
Wrapped noisy phase
Quality Map
0100
200300
400500
0
50
100
150
2000
50
100
150
G-Puma solution
0100
200300
400500
0
50
100
150
2000
50
100
150
Puma solution True phase
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34130
TABLE III. ELAPSED TIME FOR DIFFERENT SIZES OF
IMAGE
Interferogram N=128 N=256 N=512
G-
PUMA
PUMA G-
PUMA
PUMA G-
PUMA
PUMA
Gaussian Hill
With noise
variance 0.6
0.2107 0.4924 2.3508 6.9326 8.1922 19.5057
Gaussian Hill
With noise
variance 0.8
0.2250 0.5384 2.3123 6.5099 8.2599 18.3168
Gaussian Hill
With noise
variance 1.0
0.2447 0.6406 1.8568 4.7621 6.5111 13.7413
Mean from 10 Records
Recapitulations of ET (elapsed Time, with tic-toc
function in Mat Lab) for simulation profiles are listed in table
II.As listed in the table II, our algorithm G-PUMA is able to
unwrap phase very faster than PUMA.As shown in the Figure
11, G-PUMA records very low elapsed times. In order to
check the effectiveness of the G-PUMA algorithm, we have
tested algorithm for an interferogram’s added with different
noise variance (0.6, 0.8 and 1.0). G–PUMA is faster even if
the interferogram’s is noisy. As noise variance increases the
difference between the elapsed times of PUMA and G-PUMA
increases. We have observed that G-PUMA is consistently
faster even if noise variance increases as shown in Figure 11.
The other way to check the effectiveness of G-PUMA is by
applying our algorithm on larger images. For instance, if size
of the image is increased by twice, then the time taken by the
algorithm to unwrap the phase will be more than twice. For
such instance, our algorithm unwrap phase very faster than
PUMA. As listed in the table III, G-PUMA unwrap phase
twice faster than PUMA even if the image is noisy and big. As
size of the image increases, the difference between the G-
PUMA and PUMA also increases. For an image of 512 X 512
size, G-PUMA unwrap image within 6.5 Sec where as PUMA
unwrap phase in 13.7 Sec, i.e. (2X faster).
All of the above interferogram’s are grid like structures and
have no irregular topologies. But, as per [12], the performance
gain will be degraded if the profiles have topological
irregularities. We would like to test and validate the above
scenario for our algorithm as well. So we have consider the
profiles like Shear Ramp and High phase rate Gaussian Hill
with a non-vertical and non-horizontal aligned sector set to
zero. Shear Ramp as shown in Figure 7(a), have no left and up
pixel interactions whereas the other one belongs to 2D grid 8
Connectivity as shown in Figure 6(b) have all the 6
connectivity available except the up and down information.
Fig.11. Elapsed time of PUMA and G PUMA for different profiles
When this profiles with missing edges, are provided as input
to the G-PUMA, it unwraps phase correctly as PUMA but
elapsed time is delayed. Finally, G-PUMA performance gain
is degraded if profiles have topological irregularities. This is
the only dis-advantage of the G-PUMA method.
E. Memory
Memory consumption is another critical parameter which
often times limits the effective use of phase unwrapping
algorithms on workstations. For larger images the memory
consumed by these algorithms are extremely high. By using
the memory optimization techniques, we can reduce the
memory consumption. Compact data structure with cache-
efficient memory layout is the technique we have followed
and showed that significant improvement in utilizing the
memory bandwidth as in table IV.
We have tested our new algorithm on different profiles and
find out that memory consumption is reduced by half for most
of the profiles. As size of the image/profile increases, more
memory is consumed by the PUMA or any other Phase
unwrapping algorithm. But G-PUMA consumes very less
memory even if the profile size increases.
PUMA Algorithm consumes more memory (nearly twice) for
64-bit system than 32-bit system, but G-PUMA consumes
same memory even if the system is 32-bit or 64-bit. For
instance, on a 64-bit system, the memory consumed by
PUMA algorithm to unwrap phase of 512 X 512 size is 27.24
MB and on a 32-bit system is 15.71 MB, where as G-PUMA
algorithm unwrap phase by consuming half of the memory
than PUMA (12.05 MB) for both 32-bit and 64-bit systems.
Finally, the G-PUMA is a memory saving algorithm and
consumes very less memory, even if the profile is big or noisy
or 64 bit system.
F. Phase Unwrapping to Real Image
1) Area corresponds to Long’s Peak, CO
Fig 10(a) shows a phase image associated with noise (152 X
458 pixels) to be unwrapped. It was obtained from an original
absolute phase surface that corresponds to a (simulated)
InSAR acquisition for a real steep-relief mountainous area
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34131
TABLE IV. MEMORY CONSUMPTION
Interferogram 32-BIT 64-BIT
G-
PUMA
(in
MB)
PUMA
(in
MB)
G-
PUMA
(in
MB)
PUMA
(in
MB)
High phase rate
Gaussian Hill
0.4603 0.4835 0.4603 0.8388
High phase rate
Gaussian Hill
with a quarter set
to zero.
0.6908 0.8958 0.6908 1.5540
Shear Ramp 0.6908 1.2745 0.6908 1.5540
High phase rate
Gaussian Hill
with a non-
vertical and
non-horizontal
aligned sector set
to zero.
0.6908 0.8958 0.6908 1.5540
Gaussian Hill
(128 X 128)
0.7544 0.9794 0.7544 1.6988
Gaussian Hill
(256X256)
3.0154 3.9250 3.0154 6.8055
Gaussian Hill
(512 X 512)
12.0594 15.7143 12.0594 27.2425
inducing, therefore, many discontinuities and posing a very
tough PU problem. This area corresponds to Long’s Peak,
CO, and the data is distributed with book [1].
The wrapped image is generated according to an InSAR
observation statistics, producing an interferometric pair; by
computing the product of one image of the pair by the
complex conjugate of the other and finally taking the
argument, the wrapped phase image is then obtained as in Fig
10(b). Fig. 10(c) shows a quality map (also distributed with
book [1]) computed from the InSAR coherence estimate (see
[1, Ch.3]) for further details). The unwrapping was obtained
using the approximate version of PUMA, with m=2. The
resulting phase unwrapped is “3-D” rendered for G-PUMA in
Fig 10(d) and for PUMA in Fig 10(e).True phase of the area
corresponds to Long’s Peak, CO is in Fig 10(f).
Both PUMA and G-PUMA have the same view as shown in
Fig.10 (d) & 10(e).Elapsed time of PUMA is 9.25 seconds
whereas G-PUMA unwraps the real image within 4.9 seconds.
G-PUMA outperforms PUMA with a speed increase of about
45% on a real image and the error norm is same for both
algorithms.
In order to unwrap the phase, the memory consumed by the
PUMA Algorithm is 4.17 MB of memory for 32-bit system
and 7.23 MB of memory for 64-bit system whereas G-PUMA
unwraps phase by consuming very less memory of 3.20 MB.
(a) (b)
(c) (d)
(e) (f)
(g) (h)
Fig. 12(a) Wrapped phase image obtained from ENVISAT, area
corresponds to Mexicali, Baja California, USA (b) Extracted image
(1000x1000) of (a).(c) Image in (b) unwrapped by G-PUMA. (d)
Image in (b) unwrapped by PUMA.(e) 3-D image of (c). (f) 3-D
image of (d). (g) Correlation map of (a). (h) Google image of (a).
So finally, G-PUMA shows a graceful performance
improvement in both time (45%) and memory (23 % for 32-
bit and 55 % for 64-bit systems) for real image.
2) ENVISAT DATA (Area corresponds to Mexicali,
Baja California )
In this experiment, the original phase data of Interferometric
Synthetic Aperture Radar provided by ENVISAT are
unwrapped by both the algorithms and results are noted. The
ENVISAT interferogram of size (6000 X 12000) is shown in
Figure12(a).Its area corresponds to Mexicali, Baja California,
USA. The mid region of the interferogram is the earthquake
occurred area and its associated fringes. To process the
interferogram on PC workstation we have extracted some part
Total ENVISAT Interferogram
1000 2000 3000 4000 5000 6000
2000
4000
6000
8000
10000
12000
Extracted 1000x1000 ENVISAT Interferogram
100 200 300 400 500 600 700 800 900 1000
100
200
300
400
500
600
700
800
900
1000
G-Puma solution
100 200 300 400 500 600 700 800 900 1000
100
200
300
400
500
600
700
800
900
1000
Puma solution
100 200 300 400 500 600 700 800 900 1000
100
200
300
400
500
600
700
800
900
1000
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 10, Number 14 (2015) pp 34120-34131
© Research India Publications. http://www.ripublication.com
34132
of the interferogram (1000 X 1000) and processed. As shown
in Figure 12(b), the extracted area corresponds to the tip area
of the earthquake and processed by both the algorithms.
Figure 12(c) is the unwrapped phase by the G –PUMA
Algorithm and Figure 12(d) is the unwrapped phase by the
PUMA algorithm. The 3-D rendered image of Figure12(c) and
12(d) are shown in Figure 12(e) and 12(f) respectively.
Elapsed time of PUMA is 246 seconds whereas the G-PUMA
unwraps the real phase within 63 seconds. The Correlation
map of the corresponding area is shown in the Figure 12(g)
and Google image of that area is shown in Fig 12(h).
Memory consumed by PUMA is 60MB for 32-bit and 104
MB for 64-bit systems, where as the memory consumed by G-
PUMA is just 46 MB for both 32 and 64 bit systems. G-
PUMA out performs PUMA with a speed increase of about
74% and memory of about 55 % for 64 bit and 30 % for 32-bit
systems.
VI. CONCLUSION
An unwrapping via Gridcut method abbreviated as G-PUMA
is proposed in this letter. This method performs very well for
both the Convex and Non Convex potentials. The proposed
method does the unwrapping using Gridcut Graph Cut as an
Optimization step. The advantage is significant performance
gain in speed and memory consumption, which renders our
method particularly useful for interferogram’s of large size.
Our experimental evaluation shows that the proposed method
can achieve good result to the simulation phase map and the
real interferometric synthetic aperture radar phase image.
Acknowledgment
The authors would like to express great thanks for the help
from Daniel Sýkora and Ondřej Jamriška[12], Professor J. M.
Bioucas-Dias [8] in the Instituto de Telecomunicações,
Instituto Superior Técnico, Lisbon and Gonçalo Valadão[8]
PhD student in Electrical and Computer Engineering at
ISTand special thanks to ENVISAT for providing the data of
El Major-Cupacah earthquake.
References
[1] Ghiglia, Dennis C., and Mark D. Pritt. Two-
dimensional phase unwrapping: theory, algorithms,
and software. New York:: Wiley, 1998.
[2] Graham, Leroy C. "Synthetic interferometer radar for
topographic mapping." Proceedings of the IEEE 62,
no. 6 (1974): 763-768.
[3] Ferraioli, Giampaolo, AymenShabou, Florence
Tupin, and Vito Pascazio. "Multichannel phase
unwrapping with graph cuts." Geoscience and
Remote Sensing Letters, IEEE 6, no. 3 (2009): 562-
566.
[4] Ferraioli, Giampaolo, AymenShabou, Florence
Tupin, and Vito Pascazio. "Fast InSAR multichannel
phase unwrapping for DEM generation." In Urban
Remote Sensing Event, 2009 Joint, pp. 1-6. IEEE,
2009.
[5] Shabou, Aymen, Fabio Baselice, and
GiampaoloFerraioli. "Urban digital elevation model
reconstruction using very high resolution
multichannel InSAR data." Geoscience and Remote
Sensing, IEEE Transactions on 50, no. 11 (2012):
4748-4758.
[6] Zhong, Heping, Jinsong Tang, Sen Zhang, and
Xuebo Zhang. "A quality-guided and local minimum
discontinuity based phase unwrapping algorithm for
insar/insasinterferograms." (2014): 1-1.
[7] Wang, Yang, Haifeng Huang, and Manqing Wu. "A
new phase unwrapping method for interferograms
with discontinuities." In Radar Conference, 2014
IEEE, pp. 0056-0059. IEEE, 2014.
[8] Bioucas-Dias, José M., andGonçaloValadão. "Phase
unwrapping via graph cuts." Image Processing, IEEE
Transactions on 16, no. 3 (2007): 698-709.
[9] Kolmogorov, Vladimir, and RaminZabin. "What
energy functions can be minimized via graph cuts?."
Pattern Analysis and Machine Intelligence, IEEE
Transactions on 26, no. 2 (2004): 147-159.
[10] Boykov, Yuri, and Vladimir Kolmogorov. "An
experimental comparison of min-cut/max-flow
algorithms for energy minimization in vision."
Pattern Analysis and Machine Intelligence, IEEE
Transactions on 26, no. 9 (2004): 1124-1137.
[11] Goldberg, Andrew V., SagiHed, Haim Kaplan,
Robert E. Tarjan, and Renato F. Werneck.
"Maximum flows by incremental breadth-first
search." In Algorithms–ESA 2011, pp. 457-468.
Springer Berlin Heidelberg, 2011.
[12] Jamriska, Ondrej, Daniel Sykora, and Alexander
Hornung. "Cache-efficient graph cuts on structured
grids." In Computer Vision and Pattern Recognition
(CVPR), 2012 IEEE Conference on, pp. 3673-3680.
IEEE, 2012.
[13] Syakrani, Nurjannah, Tati LR Mengko,
AndriyanBayuSuksmono, and Edy Tri Baskoro.
"Comparison of PUMA and CUNWRAP to 2-D
phase unwrapping." In Electrical Engineering and
Informatics (ICEEI), 2011 International Conference
on, pp. 1-6. IEEE, 2011.
[14] Sharoze Ali, Habibulla Khan, IdrisShaik, Firoz Ali.
"I-PUMA: Fast Phase Unwrapping Via IBFS Graph
Cuts."International Journal of Engineering and
Technology 7, no. 1 (2015): 254-265.
[15] Arora, Chetan, Subhashis Banerjee, PremKalra, and
S. N. Maheshwari. "An efficient graph cut algorithm
for computer vision problems." In Computer Vision
ECCV 2010, pp. 552-565. Springer Berlin
Heidelberg, 2010.