c# pdf reader text : Delete blank page from pdf application control tool html azure web page online SzeliskiBook_20100903_draft76-part654

A.1 Matrix decompositions
739
distribution around their mean, as shown in Section5.1.1 (5.135.15), Section14.2.1 (14.9),
and AppendixB.1.1(B.10). FigureA.1shows how the principal components of the covari-
ance matrix C denote the principal axes u
j
of the uncertainty ellipsoid corresponding to this
point distribution and how the 
j
=
p
j
denote the standard deviations along each axis.
The eigenvalues and eigenvectors of C and the singular values and singular vectors of A
are closelyrelated. Given
A= UV
T
;
(A.11)
we get
C= AA
T
=UV
T
VU
T
=UU
T
:
(A.12)
From this, we see that 
i
=
2
i
and that the left singular vectors of A are the eigenvectors of
C.
This relationship gives us an efficient method for computing the eigenvalue decomposi-
tion of large matrices thatare rankdeficient, such as the scatter matrices observedin comput-
ing eigenfaces (Section14.2.1). Observe that the covariance matrix C in(14.9) is exactly the
same as C in (A.8). Note also that the individual difference-from-mean images a
i
=x
i
x
are longvectors of lengthP (the number of pixels in the image), whilethe total number of ex-
emplars N (the number of faces in the training database) is much smaller. Instead of forming
C= AA
T
,which is P  P, we form the matrix
^
C= A
T
A;
(A.13)
which is N  N. (This involves taking the dot product between every pair of difference
images a
i
and a
j
.) The eigenvalues of
^
Care the squared singular values of A, namely 
2
,
andare hence alsothe eigenvalues of C. The eigenvectors of
^
Care the right singular vectors
V of A, from which the desired eigenfaces U, which are the left singular vectors of A, can
be computed as
U= AV 
1
:
(A.14)
This final step isessentiallycomputingthe eigenfaces as linear combinations of the difference
images (TurkandPentland1991a). If you have access to a high-quality linear algebra pack-
age such as LAPACK, routines for efficiently computing a small number of the left singular
vectors and singular values of rectangular matrices such as A are usually provided (Ap-
pendixC.2). However, if storing all of the images in memory is prohibitive, the construction
of
^
Cin (A.13) can be used instead.
How can eigenvalue and singular value decompositions actually be computed? Notice
that an eigenvector is defined by the equation
i
u
i
=Cu
i
or (
i
 C)u
i
=0:
(A.15)
Delete blank page from pdf - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete pages from a pdf file; delete pdf pages reader
Delete blank page from pdf - 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 pdf file; delete blank pages in pdf online
740
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(This can be derived from (A.6) by post-multiplying both sides by u
i
.) Since the latter equa-
tion is homogeneous, i.e., it has a zero right-hand-side, it can only have a non-zero (non-
trivial) solution for u
i
if the system is rank deficient, i.e.,
j(I   C)j = 0:
(A.16)
Evaluating this determinant yields a characteristic polynomial equation in , which can be
solved for small problems, e.g., 2 2or 3 3 matrices, in closed form.
For larger matrices, iterative algorithms that first reduce the matrixC to a real symmetric
tridiagonal form using orthogonal transforms and then perform QR iterations are normally
used(GolubandVanLoan1996;TrefethenandBau1997;Bj¨orckandDahlquist2010). Since
these techniques are rather involved, itisbesttousea linearalgebrapackagesuchas LAPACK
(Anderson,Bai,Bischofetal.1999)—see AppendixC.2.
Factorization with missing data requires different kinds of iterative algorithms, which of-
ten involve either hallucinating the missing terms or minimizing some weighted reconstruc-
tion metric, which is intrinsically much more challenging than regular factorization. This
area has been widely studied in computer vision (Shum,Ikeuchi,andReddy1995;Dela
Torre and Black 2003; Huynh, Hartley, and Heyden 2003; Buchanan and Fitzgibbon 2005;
Gross, Matthews, and Baker 2006; Torresani, Hertzmann, and Bregler 2008)andissome-
times called generalized PCA. However, this term is also sometimes used to denote algebraic
subspace clustering techniques, which is the subject of a forthcoming monograph byVidal,
Ma, and Sastry(2010).
A.1.3 QR factorization
Awidelyusedtechnique for stablysolvingpoorlyconditioned least squares problems(Bj¨orck
1996)andasthebasisofmorecomplexalgorithms,suchascomputingtheSVDandeigen-
value decompositions, is the QR factorization,
A= QR;
(A.17)
where Q is an orthonormal (or unitary) matrix QQ
T
= I and R is upper triangular.
3
In
computer vision, QR can be used to convert a camera matrix into a rotation matrix and
an upper-triangular calibration matrix (6.35) and also in various self-calibration algorithms
(Section7.2.2). The most common algorithms for computing QR decompositions, modified
Gram–Schmidt, Householder transformations, and Givens rotations, are described byGolub
and Van Loan(1996), Trefethen and Bau(1997),and Bj¨orck and Dahlquist(2010)andare
Theterm“R”comesfromtheGermannameforthelower–upper(LU)decomposition,whichisLRfor“links”
and “rechts”(left and right ofthe diagonal).
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. doc2.Save(outPutFilePath). Add and Insert Blank Page to PDF File Using VB.
delete pages out of a pdf file; delete page from pdf reader
C# PDF Page Insert Library: insert pages into PDF file in C#.net
as how to merge PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET Add and Insert Blank Page to PDF File in
add or remove pages from pdf; delete pages from pdf
A.1 Matrix decompositions
741
procedure Cholesky(C;R):
R= C
for i = 0:::n   1
for j = i + 1:::n  1
R
j;j:n 1
=R
j;j:n 1
r
ij
r
1
ii
R
i;j:n 1
R
i;i:n 1
=r
1=2
ii
R
i;i:n 1
Algorithm A.1 Cholesky decomposition of the matrixC into its upper triangular form R.
also found in LAPACK. Unlike the SVD and eigenvalue decompositions, QR factorization
does not require iteration and can be computed exactlyin O(MN
2
+N
3
)operations, where
Mis the number of rows and N is the number of columns (for a tall matrix).
A.1.4 Cholesky factorization
Cholesky factorizationcan be applied to any symmetric positive definite matrix C to convert
it into a product of symmetric lower and upper triangular matrices,
C= LL
T
=R
T
R;
(A.18)
where L is a lower-triangular matrix and R is an upper-triangular matrix. Unlike Gaussian
elimination, which may require pivoting (row and column reordering) or may become un-
stable (sensitive to roundoff errors or reordering), Cholesky factorization remains stable for
positivedefinite matrices, such as those thatarise from normal equations inleastsquaresprob-
lems (AppendixA.2). Because of the form of (A.18), the matrices L and R are sometimes
called matrix square roots.
4
The algorithm to compute an upper triangular Cholesky decomposition of C is a straight-
forward symmetric generalizationof Gaussian eliminationandis basedon the decomposition
(Bj¨orck1996;GolubandVanLoan1996)
C
=
"
c
T
c C
11
#
(A.19)
=
"
1=2
0
T
c  1=2 I
#"
1
0
T
0 C
11
c  1cT
#"
1=2
1=2
c
T
0
I
#
(A.20)
Infact,thereexistsawholefamilyofmatrixsquareroots.AnymatrixoftheformLQorQR,whereQisa
unitary matrix,is asquareroot of C.
C# Create PDF Library SDK to convert PDF from other file formats
Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create a new PDF Document with one Blank Page in C# Project.
delete pdf pages in preview; delete a page from a pdf online
C# PDF Page Replace Library: replace PDF pages in C#.net, ASP.NET
pageIdx, The page index of the deleted blank page. 0
delete page pdf file reader; delete page pdf file
742
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
=
R
T
0
C
1
R
0
;
(A.21)
which, through recursion, can be turned into
C= R
T
0
:::R
T
n 1
R
n 1
:::R
0
=R
T
R:
(A.22)
AlgorithmA.1provides a more procedural definition, which can store the upper-triangular
matrix R in the same space as C, if desired. The total operation count for Cholesky factor-
ization is O(N
3
)for a dense matrix but can be significantly lower for sparse matrices with
low fill-in (AppendixA.4).
NotethatCholeskydecompositioncanalsobeappliedtoblock-structured matrices, where
the term   in (A.19) is now a square block sub-matrix and c is a rectangular matrix (Golub
and Van Loan 1996). Thecomputationofsquarerootscanbeavoidedbyleavingthe on
the diagonal of the middle factor in (A.20), which results in the C = LDL
T
factorization,
where D is a diagonal matrix. However, since square roots are relatively fast on modern
computers, this is not worth the bother andCholesky factorization is usually preferred.
A.2 Linear least squares
Least squares fitting problems are pervasive in computer vision. For example, the alignment
of images based on matching feature points involves the minimization of a squared distance
objective function (6.2),
E
LS
=
X
i
kr
i
k
2
=
X
i
kf(x
i
;p)   x
0
i
k
2
;
(A.23)
where
r
i
=f(x
i
;p)   x
0
i
=^x
0
i
~x
0
i
(A.24)
is the residual between the measured location ^x
0
i
and its corresponding current predicted lo-
cation ~x
0
i
=f(x
i
;p). More complex versions of least squares problems, such as large-scale
structure from motion (Section7.4), may involve the minimization of functions of thousands
of variables. Even problems such as image filtering (Section3.4.3) and regularization (Sec-
tion3.7.1) mayinvolve the minimization of sums of squared errors.
FigureA.2a shows an example of a simple least squares line fitting problem, where the
quantities being estimatedare the lineequation parameters (m;b). Whenthesampledvertical
values y
i
are assumed to be noisy versions of points on the line y = mx + b, the optimal
estimates for (m;b) can be found by minimizing the squared vertical residuals
E
VLS
=
X
i
jy
i
(mx
i
+b)j
2
:
(A.25)
C# Word - Insert Blank Word Page in C#.NET
such as how to merge Word document files by C# code, how to rotate Word document page, how to delete Word page Add and Insert a blank Page to Word File in C#.
delete pages pdf online; delete pages from pdf in reader
C# PowerPoint - Insert Blank PowerPoint Page in C#.NET
document files by C# code, how to rotate PowerPoint document page, how to delete PowerPoint page using C# Add and Insert a blank Page to PowerPoint File in C#.
delete blank pages in pdf files; delete pages from pdf preview
A.2 Linear least squares
743
Note that the function being fitted neednot itself be linear to use linear least squares. All that
is required is that the functionbe linear intheunknown parameters. For example, polynomial
fitting can be written as
E
PLS
=
X
i
jy
i
(
p
X
j=0
a
j
x
j
i
)j
2
;
(A.26)
while sinusoid fitting with unknown amplitude A and phase  (but known frequency f) can
be written as
E
SLS
=
X
i
jy
i
A sin(2fx
i
+)j
2
=
X
i
jy
i
(B sin2fx
i
+C cos2fx
i
)j
2
; (A.27)
which is linear in (B;C).
In general, it is more common to denote the unknown parameters using x and towrite the
general form of linear least squares as5
E
LLS
=
X
i
ja
i
x  b
i
j
2
=kAx  bk
2
:
(A.28)
Expanding the above equation gives us
E
LLS
=x
T
(A
T
A)x   2x
T
(A
T
b) + kbk
2
;
(A.29)
whose minimum valuefor x canbefoundbysolving the associatednormalequations(Bj¨orck
1996; Golub and Van Loan 1996)
(A
T
A)x = A
T
b:
(A.30)
The preferred way to solve the normal equations is to use Cholesky factorization. Let
C= A
T
A= R
T
R;
(A.31)
where R is the upper-triangular Cholesky factor of the Hessian C, and
d= A
T
b:
(A.32)
After factorization, the solution for x can be obtained as
R
T
z= d; Rx = z;
(A.33)
whichinvolves thesolution of two triangular systems, i.e., forward and backwardsubstitution
(Bj¨orck1996).
Beextracarefulininterpretingthevariablenameshere.Inthe2Dline-fittingexample,xisusedtodenotethe
horizontal axis,butin the general least squaresproblem,x = (m;b) denotes the unknown parametervector.
VB.NET PDF: Get Started with PDF Library
Field Data. Data: Auto Fill-in Field Data. Field: Insert, Delete, Update Field. of .NET PDF SDK with Simple Sample Code for Creating Blank Page to PDF in VB
add and delete pages in pdf online; delete a page from a pdf file
VB.NET Create PDF Library SDK to convert PDF from other file
Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. VB.NET: Create a New PDF Document with One Blank Page.
delete page from pdf file; delete pages from pdf acrobat reader
744
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
x
y
b
m
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
page. AddPage: Prior to the currently displayed PDF page to add a blank page. DeletePage: Delete the currently displayed PDF page.
delete page in pdf document; delete pages from pdf without acrobat
A.2 Linear least squares
745
The above error metric has a trivial minimum solution at x = 0 and is, in fact, homoge-
neous inx. For this reason, we augmentthis minimization problem with the requirement that
kxk
2
=1. which results in the eigenvalue problem
x= argmin
x
x
T
(A
T
A)x such that kxk
2
=1:
(A.36)
The value of x that minimizes this constrained problem is the eigenvector associated with the
smallest eigenvalue of A
T
A. This is the same as the last right singular vector of A, since
A
=
UV ;
(A.37)
A
T
A
=
V
2
V;
(A.38)
A
T
Av
k
=
2
k
;
(A.39)
which is minimized by selecting the smallest 
k
value.
FigureA.2b shows a line fitting problem where, in this case, the measurement errors are
assumed to be isotropic in (x;y). The solution for the best line equation ax+ by + c = 0 is
found by minimizing
E
TLS 2D
=
X
i
(ax
i
+by
i
+c)
2
;
(A.40)
i.e., finding the eigenvector associated with the smallest eigenvalue of
6
C= A
T
A=
X
i
2
6
4
x
i
y
i
1
3
7
5
h
x
i
y
i
1
i
:
(A.41)
Notice, however, that minimizing
P
i
(a
i
x)
2
in (A.35) is only statistically optimal (Ap-
pendixB.1.1) if all of the measured terms in the a
i
,e.g., the (x
i
;y
i
;1) measurements, have
equal noise. This is definitely not the case in the line-fitting example of FigureA.2b (A.40),
since the 1 values are noise-free. To mitigate this, we first subtract the mean x and y values
from all the measured points
^x
i
=
x
i
x
(A.42)
^y
i
=
y
i
y
(A.43)
and then fit the 2D line equation a(x  x) + b(y   y) = 0 by minimizing
E
TLS 2Dm
=
X
i
(a^x
i
+b^y
i
)
2
:
(A.44)
6Again,becarefulwiththevariablenameshere.Themeasurementequationisa
i
=(x
i
;y
i
;1)and theunknown
parameters arex = (a;b;c).
746
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
The more general case where each individual measurementcomponentcan have different
noise level, as is the case in estimating essential and fundamental matrices (Section7.2), is
called the heteroscedastic errors-in-variable (HEIV) model and is discussed byMateiand
Meer(2006).
A.3 Non-linear least squares
In many visionproblems, suchas structurefrom motion, theleastsquares problem formulated
in (A.23) involves functions f(x
i
;p) that are not linear in the unknown parameters p. This
problem isknownas non-linearleastsquares or non-linear regression(Bj¨orck1996;Madsen,
Nielsen, and Tingleff 2004; Nocedal and Wright 2006).Itisusuallysolvedbyiterativelyre-
linearizing (A.23) around the current estimate of p using the gradient derivative (Jacobian)
J= @f=@p andcomputing anincremental improvement p.
As shown in Equations (6.136.17), this results in
E
NLS
(p) =
X
i
kf(x
i
;p + p)   x
0
i
k
2
(A.45)
X
i
kJ(x
i
;p)p   r
i
k
2
;
(A.46)
wherethe Jacobians J(x
i
;p) and residualvectors r
i
playthe same roleinforming thenormal
equations as a
i
and b
i
in (A.28).
Because the above approximation only holds near a local minimum or for small values
of p, the update p   p + p may not always decrease the summed square residual error
(A.45). One way to mitigate this problem is to take a smaller step,
 p + p; 0 <   1:
(A.47)
Asimple way to determine a reasonable value of  is to start with 1 and successively halve
the value, which is a simple form of line search (Al-BaaliandFletcher.1986;Bj¨orck1996;
Nocedal and Wright 2006).
Another approach to ensuring a downhill step in error is to add a diagonal damping term
to the approximate Hessian
C=
X
i
J
T
(x
i
)J(x
i
);
(A.48)
i.e., to solve
[C +  diag(C)]p = d;
(A.49)
where
d=
X
i
J
T
(x
i
)r
i
;
(A.50)
A.4 Direct sparse matrix techniques
747
which is called a damped Gauss–Newton method. The damping parameter  is increased if
the squared residual is not decreasing as fast as expected, i.e., as predicted by (A.46), and
is decreased if the expected decrease is obtained (Madsen,Nielsen,andTingleff2004). The
combination of the Newton (first-order Taylor series) approximation (A.46) and the adaptive
damping parameter  is commonly known as the Levenberg–Marquardt algorithm (Leven-
berg 1944; Marquardt 1963)andisanexampleofmoregeneraltrustregionmethods,which
are discussed inmore detail in(Bj¨orck1996;Conn,Gould,andToint2000;Madsen,Nielsen,
and Tingleff 2004; Nocedal and Wright 2006).
When the initial solution is far away from its quadratic region of convergence around a
localminimum, largeresidualmethods, e.g., Newton-type methods, whichadda second-order
term to the Taylor series expansion in (A.46), may converge faster. Quasi-Newton methods
such as BFGS, which require only gradient evaluations, can also be useful if memory size is
an issue. Such techniques are discussed in textbooks and papers on numerical optimization
(Toint1987;Bj¨orck1996;Conn,Gould,andToint2000;NocedalandWright2006).
A.4 Direct sparse matrix techniques
Many optimization problems in computer vision, such as bundle adjustment (Szeliskiand
Kang 1994; Triggs, McLauchlan, Hartley et al. 1999; Hartley and Zisserman 2004; Snavely,
Seitz, and Szeliski 2008b; Agarwal, Snavely, Simon et al. 2009)haveJacobianand(approx-
imate) Hessian matrices that are extremely sparse (Section7.4.1). For example, Figure7.9a
shows the bipartite model typical of structure from motion problems, in which most points
are only observed by a subset of the cameras, which results in the sparsity patterns for the
Jacobian and Hessian shown in Figure7.9b–c.
Whenever the Hessianmatrix is sparse enough, it is moreefficient to use sparse Cholesky
factorization instead of regular Cholesky factorization. In such sparse direct techniques, the
Hessian matrix C and its associated Cholesky factor R are stored in compressed form, in
which the amount of storage is proportional to the number of (potentially) non-zero entries
(Bj¨orck1996;Davis2006).
7
Algorithms for computing the non-zero elements in C and R
from the sparsity pattern of the Jacobian matrix J are given byBj¨orck(1996, Section 6.4),
and algorithms for computing the numerical Cholesky and QR decompositions (once the
sparsity pattern has been computed and storage allocated) are discussed byBj¨orck (1996,
Section 6.5).
7
For example, you can store a list of (i;j;c
ij
)triples. One example of such a scheme is compressed sparse
row (CSR) storage. An alternative storage method called skyline, which stores adjacent vertical spans of non-zero
elements (Bathe2007), is sometimes used in finite element analysis. Banded systems such as snakes (5.3)can store
just the non-zero band elements (Bj¨orck1996,Section 6.2)and can be solved in O(nb2),where nis thenumberof
variables and bis the bandwidth.
748
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
A.4.1 Variable reordering
The key to efficiently solving sparse problems using direct (non-iterative) techniques is to
determine an efficient ordering for the variables, which reduces the amount of fill-in, i.e., the
number of non-zero entries in R that were zero in the original C matrix. We already saw in
Section7.4.1 how storing the more numerous 3D point parameters before the camera param-
eters and using the Schur complement (7.56) results in a more efficient algorithm. Similarly,
sorting parameters by time in video-based reconstruction problems usually results in lower
fill-in. Furthermore, any problem whose adjacency graph (the graph corresponding to the
sparsity pattern) is a tree can be solved in linear time with an appropriate reordering of the
variables (putting all the children before their parents). All of these are examples of good
reordering techniques.
In the general case of unstructured data, there are many heuristics available to find good
reorderings (Bj¨orck1996;Davis2006).
8
For general adjacency (sparsity) graphs, minimum
degree orderings generally produce good results. For planar graphs, whichoften arise on im-
ageor spline grids (Section8.3), nesteddissection, which recursively splits the graph intotwo
equal halves along a frontier (or boundary) of small size, generally works well. Such domain
decomposition (or multi-frontal) techniques also enable the use of parallel processing, since
independent sub-graphs can be processed in parallel on separate processors (Davis2008).
Theoverallsetof steps usedtoperform the direct solutionof sparseleastsquares problems
are summarized in AlgorithmA.2, which is a modified version of Algorithm 6.6.1 byBj¨orck
(1996, Section 6.6)). If a series of related least squares problems is being solved, as is the
case in iterativenon-linear least squares (AppendixA.3), steps 1–3 canbeperformedaheadof
time and reused for each new invocation withdifferent C and d values. When the problem is
block-structured, as isthecase instructurefrom motionwherepoint(structure) variableshave
dense 33sub-entries in C and cameras have66 (or larger) entries, the costof performing
the reordering computation is small compared to the actual numerical factorization, which
can benefit from block-structured matrix operations (GolubandVanLoan1996). It is also
possible to apply sparse reordering and multifrontal techniques to QR factorization (Davis
2008),whichmaybepreferablewhentheleastsquaresproblemsarepoorlyconditioned.
A.5 Iterative techniques
When problems become large, the amount of memory required to store the Hessian matrix
Cand its factor R, and the amount of time it takes to compute the factorization, can be-
come prohibitively large, especially when there are large amounts of fill-in. This is often
8
Finding theoptimal reordering with minimalfill-in is provably NP-hard.
Documents you may be interested
Documents you may be interested