c# pdf reader table : Delete page from pdf document control Library utility azure asp.net windows visual studio SzeliskiBook_20100903_draft41-part616

8.1 Translational alignment
389
Fourier-based alignment relies on the fact that the Fourier transform of a shifted signal
has the same magnitude as the original signal but a linearly varying phase (Section3.4), i.e.,
FfI
1
(x + u)g = F fI
1
(x)ge
ju!
=I
1
(!)e
ju!
;
(8.17)
where ! is the vector-valued angular frequency of the Fourier transform and we use cal-
ligraphic notation I
1
(!) = F fI
1
(x)g to denote the Fourier transform of a signal (Sec-
tion3.4).
Another useful property of Fourier transforms is that convolution in the spatial domain
corresponds to multiplication in the Fourier domain (Section3.4).
6
Thus, the Fourier trans-
form of the cross-correlation function E
CC
can be written as
FfE
CC
(u)g = F
(
X
i
I
0
(x
i
)I
1
(x
i
+u)
)
=F fI
0
(u)
I
1
(u)g = I
0
(!)I
1
(!); (8.18)
where
f(u)
g(u) =
X
i
f(x
i
)g(x
i
+u)
(8.19)
is the correlation function, i.e., the convolution of one signal with the reverse of the other,
and I
1
(!) is the complex conjugate of I
1
(!). This is because convolution is defined as the
summation of one signal with the reverse of the other (Section3.4).
Thus, to efficiently evaluate E
CC
over the range of all possible values of u, we take the
Fourier transforms of both images I
0
(x) and I
1
(x), multiply both transforms together (after
conjugating the second one), and take the inverse transform of the result. The Fast Fourier
Transform algorithm can compute the transform of an N  M image in O(NM logNM)
operations (Bracewell1986). This can be significantly faster than the O(N2M2) operations
required to do a full search when the full range of image overlaps is considered.
While Fourier-based convolution is often used to accelerate the computation of image
correlations, it can also be used to accelerate the sum of squared differences function (andits
variants). Consider the SSD formula given in (8.1). Its Fourier transform can be written as
FfE
SSD
(u)g =
F
(
X
i
[I
1
(x
i
+u)   I
0
(x
i
)]
2
)
=
(!)
X
i
[I
2
0
(x
i
)+ I
2
1
(x
i
)]  2I
0
(!)I
1
(!):
(8.20)
Thus, the SSD function can be computed by taking twice the correlation function and sub-
tracting it from the sum of the energies in the two images.
Infact,theFouriershiftproperty(8.17)derivesfromtheconvolutiontheorembyobservingthatshiftingis
equivalentto convolution with adisplaced deltafunction (x  u).
Delete page from pdf document - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete blank page from pdf; delete page from pdf file online
Delete page from pdf document - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
delete pages from pdf acrobat; delete pages from pdf without acrobat
390
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
Windowed correlation. Unfortunately,theFourierconvolutiontheoremonlyapplieswhen
the summation over x
i
is performed over all the pixels in both images, using a circular shift
of the image when accessing pixels outside the original boundaries. While this is acceptable
for small shifts and comparably sized images, it makes no sense when the images overlap by
asmall amount or one image is a small subset of the other.
In thatcase, the cross-correlation functionshouldbereplacedwitha windowed(weighted)
cross-correlation function,
E
WCC
(u) =
X
i
w
0
(x
i
)I
0
(x
i
)w
1
(x
i
+u)I
1
(x
i
+u);
(8.21)
= [w
0
(x)I
0
(x)][w
1
(x)I
1
(x)]
(8.22)
where the weighting functions w
0
and w
1
are zero outside the valid ranges of the images
and both images are padded so that circular shifts return 0 values outside the original image
boundaries.
An even more interesting case is the computation of the weighted SSD function intro-
duced in Equation (8.5),
E
WSSD
(u) =
X
i
w
0
(x
i
)w
1
(x
i
+u)[I
1
(x
i
+u)   I
0
(x
i
)]
2
:
(8.23)
Expandingthis as asum of correlations andderivingthe appropriate setof Fourier transforms
is left for Exercise8.1.
Thesame kindof derivationcan also beappliedto the bias–gaincorrected sum of squared
difference function E
BG
(8.9). Again, Fourier transforms can be used to efficiently compute
all the correlations needed to perform the linear regression in the bias and gain parameters in
order to estimate the exposure-compensated difference for eachpotential shift (Exercise8.1).
Phase correlation. Avariantofregularcorrelation(8.18)thatissometimesusedformotion
estimationis phase correlation (KuglinandHines1975;Brown1992). Here, the spectrum of
the two signals being matched is whitened by dividing each per-frequency product in (8.18)
by the magnitudes of the Fourier transforms,
FfE
PC
(u)g =
I
0
(!)I
1
(!)
kI
0
(!)kkI
1
(!)k
(8.24)
before taking the final inverse Fourier transform. In the case of noiseless signals with perfect
(cyclic) shift, we have I
1
(x+ u) = I
0
(x) and hence, from Equation (8.17), we obtain
FfI
1
(x + u)g =
I
1
(!)e
2ju!
=I
0
(!) and
FfE
PC
(u)g =
e
2ju!
:
(8.25)
C# PDF Page Insert Library: insert pages into PDF file in C#.net
page processing functions, such as how to merge PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET, how to
delete pages pdf file; add and remove pages from a pdf
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Page Process. File: Merge, Append PDF Files. File: Split PDF Document. File: Compress PDF. Page: Create Thumbnails. Page: Insert PDF Pages. Page: Delete Existing
reader extract pages from pdf; delete pages on pdf file
8.1 Translational alignment
391
The output of phase correlation (under ideal conditions) is therefore a single spike (impulse)
located at the correct value of u, which (in principle) makes it easier to find the correct
estimate.
Phase correlation has a reputation in some quarters of outperforming regular correlation,
butthis behavior depends on the characteristics of the signals and noise. If theoriginalimages
are contaminated by noise in a narrow frequency band (e.g., low-frequency noise or peaked
frequency“hum”), thewhiteningprocesseffectivelyde-emphasizes thenoiseinthese regions.
However, if the original signals have very low signal-to-noise ratio at some frequencies (say,
two blurry or low-textured images with lots of high-frequency noise), the whitening process
can actually decrease performance (see Exercise8.1).
Recently, gradient cross-correlation has emerged as a promising alternative to phase cor-
relation (ArgyriouandVlachos2003), although further systematic studies are probably war-
ranted. Phase correlation has also been studied byFleetandJepson (1990) as a method for
estimating general optical flow and stereo disparity.
Rotations and scale. WhileFourier-basedalignmentismostlyusedtoestimatetransla-
tionalshifts betweenimages, it can, under certainlimited conditions, alsobe usedto estimate
in-plane rotations and scales. Consider two images that are related purely by rotation, i.e.,
I
1
(
^
Rx) = I
0
(x):
(8.26)
If we re-sample the images into polar coordinates,
~
I
0
(r;) = I
0
(rcos;r sin ) and
~
I
1
(r;) = I
1
(r cos ;r sin);
(8.27)
we obtain
~
I
1
(r; +
^
) =
~
I
0
(r;):
(8.28)
The desired rotation can then be estimated using a Fast Fourier Transform (FFT) shift-based
technique.
If the two images are also related by a scale,
I
1
(e
^s
^
Rx) = I
0
(x);
(8.29)
we can re-sample into log-polar coordinates,
~
I
0
(s;) = I
0
(e
s
cos ;e
s
sin ) and
~
I
1
(s;) = I
1
(e
s
cos ;e
s
sin );
(8.30)
to obtain
~
I
1
(s + ^s; +
^
) = I
0
(s;):
(8.31)
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document in VB.NET Program. DLLs for Adding Page into PDF Document in VB.NET Class.
delete pages from a pdf; delete pages from pdf document
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
document. If you find certain page in your PDF document is unnecessary, you may want to delete this page directly. Moreover, when
delete page in pdf online; copy pages from pdf to word
392
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
I
x
e
i
Δ
u
I
0
(x
i
)
I
1
(x
i
+u)
J
1
(x
i
+u)
I
0
I
1
x
i
Figure 8.2 Taylor series approximation of a function and the incremental computation of
the optical flow correction amount. J
1
(x
i
+u) is the image gradient at (x
i
+u) and e
i
is
the current intensity difference.
In this case, care must be taken to choose a suitable range of s values that reasonablysamples
the original image.
For images that are also translated by a small amount,
I
1
(e
^s
^
Rx + t) = I
0
(x);
(8.32)
De Castro and Morandi(1987)proposeaningenioussolutionthatusesseveralstepstoesti-
mate the unknown parameters. First, both images are converted to the Fourier domain and
only the magnitudes of the transformed images are retained. In principle, the Fourier mag-
nitude images are insensitive to translations in the image plane (although the usual caveats
about border effects apply). Next, the two magnitude images are alignedin rotation andscale
using the polar or log-polar representations. Once rotation and scale are estimated, one of the
images can be de-rotated and scaled and a regular translational algorithm can be applied to
estimate the translational shift.
Unfortunately, this trick only applies when the images have large overlap (small transla-
tionalmotion). For more general motion of patches or images, the parametric motion estima-
tor described in Section8.2 or the feature-based approaches described in Section6.1 need to
be used.
8.1.3 Incremental refinement
The techniques described up till now can estimate alignment to the nearest pixel (or poten-
tially fractional pixel if smaller search steps are used). In general, image stabilization and
stitching applications require much higher accuracies to obtainacceptable results.
To obtain better sub-pixel estimates, we can use one of several techniques described by
Tian and Huhns(1986). Onepossibilityistoevaluateseveraldiscrete(integerorfractional)
values of (u;v) around the best value found so far and to interpolate the matching score to
find an analytic minimum.
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
Dim filepath As String = "" Dim outPutFilePath As String = "" Dim doc As PDFDocument = New PDFDocument(filepath) ' Copy the first page of PDF document.
delete a page from a pdf in preview; add and delete pages in pdf
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
String filepath = @""; String outPutFilePath = @""; PDFDocument doc = new PDFDocument(filepath); // Copy the first page of PDF document.
delete pages from pdf in preview; add and remove pages from pdf file online
8.1 Translational alignment
393
Amore commonly used approach, first proposed byLucas andKanade (1981), is to
perform gradient descent on the SSD energy function (8.1), using a Taylor series expansion
of the image function (Figure8.2),
E
LK SSD
(u + u) =
X
i
[I
1
(x
i
+u + u)   I
0
(x
i
)]
2
(8.33)
X
i
[I
1
(x
i
+u) + J
1
(x
i
+u)u   I
0
(x
i
)]
2
(8.34)
=
X
i
[J
1
(x
i
+u)u + e
i
]
2
;
(8.35)
where
J
1
(x
i
+u) = rI
1
(x
i
+u) = (
@I
1
@x
;
@I
1
@y
)(x
i
+u)
(8.36)
is the image gradient or Jacobian at (x
i
+u) and
e
i
=I
1
(x
i
+u)   I
0
(x
i
);
(8.37)
first introduced in (8.1), is the current intensity error.
7
The gradient at a particular sub-pixel
location (x
i
+u) can be computed using a variety of techniques, the simplest of which is
to simply take the horizontal and vertical differences between pixels x and x + (1;0) or
x+ (0;1). More sophisticated derivatives can sometimes lead to noticeable performance
improvements.
The linearized form of the incremental update to the SSD error (8.35) is often called the
optical flow constraint or brightness constancy constraint equation
I
x
u+ I
y
v+ I
t
=0;
(8.38)
where the subscripts in I
x
and I
y
denote spatial derivatives, and I
t
is called the temporal
derivative, which makes sense if we are computing instantaneous velocity in a video se-
quence. When squared and summed or integrated over a region, it can be used to compute
optic flow(HornandSchunck1981).
The above least squares problem (8.35) can be minimized by solving the associated nor-
mal equations (AppendixA.2),
Au = b
(8.39)
where
A=
X
i
J
T
1
(x
i
+u)J
1
(x
i
+u)
(8.40)
Wefollowtheconvention,commonlyusedinroboticsandbyBakerandMatthews(2004),thatderivativeswith
respect to (column)vectorsresult in row vectors,so thatfewertransposes areneeded in the formulas.
C# PDF metadata Library: add, remove, update PDF metadata in C#.
C#.NET PDF SDK - Edit PDF Document Metadata in C#.NET. Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata in .NET Project.
cut pages from pdf preview; delete page from pdf online
VB.NET PDF delete text library: delete, remove text from PDF file
187.0F) Dim aChar As PDFTextCharacter = textMgr.SelectChar(page, cursor) ' delete a selected As String = Program.RootPath + "\\" output.pdf" doc.Save
acrobat remove pages from pdf; delete a page from a pdf
394
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
and
b=  
X
i
e
i
J
T
1
(x
i
+u)
(8.41)
are called the (Gauss–Newton approximationof the) Hessianand gradient-weighted residual
vector, respectively.
8
These matrices are also often written as
A=
"
P
I
2
x
P
I
x
I
y
P
I
x
I
y
P
I
2
y
#
and b =  
"
P
I
x
I
t
P
I
y
I
t
#
:
(8.42)
The gradients required for J
1
(x
i
+u) can be evaluated at the same time as the image
warps required to estimate I
1
(x
i
+u) (Section3.6.1 (3.89)) and, in fact, are often computed
as a side-product of image interpolation. If efficiency is a concern, these gradients can be
replaced by the gradients in the template image,
J
1
(x
i
+u)  J
0
(x
i
);
(8.43)
since near the correct alignment, the template and displaced target images should look sim-
ilar. This has the advantage of allowing the pre-computation of the Hessian and Jacobian
images, which can result in significant computational savings (HagerandBelhumeur1998;
Baker and Matthews 2004). Afurtherreductionincomputationcanbeobtainedbywriting
the warped image I
1
(x
i
+u) used to compute e
i
in (8.37) as a convolution of a sub-pixel
interpolation filter with the discrete samples in I
1
(PelegandRav-Acha2006). Precomput-
ing the inner product between the gradient field and shifted version of I
1
allows the iterative
re-computationof e
i
to be performedin constanttime (independent of the number of pixels).
The effectiveness of the above incremental update rule relies on the quality of the Taylor
series approximation. When far away from the true displacement (say, 1–2 pixels), several
iterations may be needed. It is possible, however, to estimate a value for J
1
using a least
squares fit to a series of larger displacements in order to increase the range of convergence
(JurieandDhome2002) or to “learn” a special-purpose recognizer for a given patch (Avi-
dan 2001; Williams, Blake, and Cipolla 2003; Lepetit, Pilet, and Fua 2006; Hinterstoisser,
Benhimane, Navab et al. 2008;
¨
Ozuysal, Calonder, Lepetit et al. 2010)asdiscussedinSec-
tion4.1.4.
Acommonly used stoppingcriterionfor incrementalupdating is tomonitor the magnitude
of the displacement correction kuk and to stop when it drops below a certain threshold (say,
1=
10
of a pixel). For larger motions, it is usual to combine the incremental update rule with a
hierarchical coarse-to-fine search strategy, as described in Section8.1.1.
ThetrueHessianisthefullsecondderivativeoftheerrorfunctionE,whichmaynotbepositivedefinite—see
Section6.1.3 and AppendixA.3.
8.1 Translational alignment
395
x
x
i
x
i
+u
u
i
(a)
(b)
(c)
Figure 8.3 Aperture problems for different image regions, denoted by the orange and red
L-shaped structures, overlaid in the same image to make it easier to diagram the flow. (a) A
window w(x
i
)centered at x
i
(black circle) can uniquely be matched to its corresponding
structure at x
i
+u in the second (red) image. (b) A windowcenteredon the edge exhibits the
classic aperture problem, since it can be matched to a 1D family of possible locations. (c) In
acompletely textureless region, the matches become totally unconstrained.
Conditioningand aperture problems. Sometimes,theinversionofthelinearsystem(8.39)
can be poorly conditioned because of lack of two-dimensional texture in the patch being
aligned. A commonly occurring example of this is the aperture problem, first identified in
some of the early papers on optical flow (HornandSchunck1981) and then studied more ex-
tensivelybyAnandan(1989). Consider animagepatch that consists of aslanted edge moving
to the right (Figure8.3). Only the normal component of the velocity (displacement) can be
reliably recovered in this case. This manifests itself in (8.39) as a rank-deficient matrix A,
i.e., one whose smaller eigenvalue is very close to zero.
9
WhenEquation(8.39) is solved, the component of thedisplacementalongtheedge is very
poorly conditioned and can result in wild guesses under small noise perturbations. One way
to mitigate this problem is to add a prior (soft constraint) on the expected range of motions
(Simoncelli,Adelson,andHeeger1991;Baker,Gross,andMatthews2004;Govindu2006).
This can be accomplished by adding a small value to the diagonal of A, which essentially
biases the solutiontowards smaller u values that still (mostly) minimize the squared error.
However, the pure Gaussian model assumed when using a simple (fixed) quadratic prior,
as in (Simoncelli,Adelson,andHeeger1991), does not always hold in practice, e.g., because
of aliasing along strong edges (Triggs2004). For this reason, it may be prudent to add some
small fraction (say, 5%) of the larger eigenvalue to the smaller one before doing the matrix
inversion.
9Thematrix A
is by construction always guaranteed to be symmetric positive semi-definite, i.e., it has real
non-negative eigenvalues.
396
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
Figure 8.4 SSD surfaces corresponding to three locations (red crosses) in an image:
(a) highly textured area, strong minimum, low uncertainty; (b) strong edge, aperture prob-
lem, high uncertainty in one direction;(c) weak texture, no clear minimum, large uncertainty.
8.1 Translational alignment
397
Uncertainty modeling. Thereliabilityofaparticularpatch-basedmotionestimatecanbe
captured more formally with an uncertainty model. The simplest such model is a covariance
matrix, whichcaptures the expected variance inthe motionestimatein all possible directions.
As discussed in Section6.1.4 and AppendixB.6, under small amounts of additive Gaussian
noise, it can be shown that the covariance matrix 
u
is proportional to the inverse of the
Hessian A,
u
=
2
n
A
1
;
(8.44)
where 2
n
is the variance of the additive Gaussian noise (Anandan1989;Matthies,Kanade,
and Szeliski 1989; Szeliski 1989).
For larger amounts of noise, the linearization performed by the Lucas–Kanade algorithm
in (8.35) is only approximate, so the above quantity becomes a Cramer–Rao lower bound on
the truecovariance. Thus, the minimum andmaximum eigenvalues of the HessianAcannow
be interpreted as the (scaled) inverse variances in the least-certain andmost-certain directions
of motion. (A more detailed analysis using a more realistic model of image noise is given by
Steele and Jaynes(2005).)Figure8.4showsthelocalSSDsurfacesforthreedifferentpixel
locations inan image. As youcan see, the surface has a clear minimum inthe highly textured
region and suffers from the aperture problem near the strong edge.
Bias and gain, weighting, and robust error metrics. TheLucas–Kanadeupdaterulecan
also be applied to the bias–gain equation(8.9) to obtain
E
LK BG
(u + u) =
X
i
[J
1
(x
i
+u)u + e
i
I
0
(x
i
 ]
2
(8.45)
(LucasandKanade1981;Gennert1988;FuhandMaragos1991;Baker,Gross,andMatthews
2003).Theresulting44systemofequationscanbesolvedtosimultaneouslyestimatethe
translational displacement update u and the bias and gain parameters  and .
Asimilar formulationcanbe derived for images (templates) thathavea linearappearance
variation,
I
1
(x+ u)  I
0
(x) +
X
j
j
B
j
(x);
(8.46)
where the B
j
(x) are the basis images and the 
j
are the unknown coefficients (Hagerand
Belhumeur 1998; Baker, Gross, Ishikawa et al. 2003; Baker, Gross, and Matthews 2003).
Potential linear appearance variations include illumination changes (HagerandBelhumeur
1998)andsmallnon-rigiddeformations(Black and Jepson 1998).
Aweighted (windowed) version of the Lucas–Kanade algorithm is also possible:
E
LK WSSD
(u + u) =
X
i
w
0
(x
i
)w
1
(x
i
+u)[J
1
(x
i
+u)u + e
i
]
2
:
(8.47)
398
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
Notethathere, inderiving theLucas–Kanade updatefrom theoriginalweighted SSDfunction
(8.5), we have neglected taking the derivative of the w
1
(x
i
+u) weighting function with
respect to u, which is usually acceptable in practice, especially if the weighting function is a
binary mask with relatively fewtransitions.
Baker, Gross, Ishikawa et al.(2003)onlyusethew
0
(x) term, which is reasonable if the
two images have the same extent and no (independent) cutouts in the overlap region. They
also discuss the idea of making the weighting proportional to rI(x), which helps for very
noisy images, where the gradient itself is noisy. Similar observations, formulated in terms
of total least squares (VanHuffelandVandewalle1991;VanHuffelandLemmerling2002),
have been made by other researchers studying optical flow (WeberandMalik1995;Bab-
Hadiashar and Suter 1998b; M¨uhlich and Mester 1998).Lastly,Baker, Gross, Ishikawa et al.
(2003) show how evaluatingEquation (8.47) at just the most reliable (highest gradient) pixels
does not significantly reduce performance for large enough images, even if only 5–10% of
the pixels are used. (This idea was originally proposed byDellaertandCollins(1999), who
used a more sophisticated selection criterion.)
The Lucas–Kanade incremental refinement step can also be applied to the robust error
metric introduced in Section8.1,
E
LK SRD
(u + u) =
X
i
(J
1
(x
i
+u)u + e
i
);
(8.48)
which can be solved using the iteratively reweighted least squares technique described in
Section6.1.4.
8.2 Parametric motion
Many image alignment tasks, for example image stitching with handheld cameras, require
the use of more sophisticated motion models, as described in Section2.1.2. Since these
models, e.g., affine deformations, typically have more parameters than pure translation, a
full search over the possible range of values is impractical. Instead, the incremental Lucas–
Kanade algorithm can be generalized to parametric motion models and used in conjunction
with a hierarchical search algorithm (LucasandKanade1981;RehgandWitkin1991;Fuh
and Maragos 1991; Bergen, Anandan, Hanna et al. 1992; Shashua and Toelg 1997; Shashua
and Wexler 2001; Baker and Matthews 2004).
For parametric motion, instead of using a single constant translation vector u, we use
aspatially varying motion field or correspondence map, x
0
(x;p), parameterized by a low-
dimensional vector p, where x
0
can be any of the motion models presented in Section2.1.2.
Documents you may be interested
Documents you may be interested