c# pdf reader table : Delete pages in pdf online control Library utility azure asp.net windows visual studio SzeliskiBook_20100903_draft40-part615

7.7 Exercises
379
Ex 7.4: Factorization Implement the factorization algorithm described in Section7.3 us-
ing point tracks you computed in Exercise4.5.
1. (Optional) Implement uncertaintyrescaling(AnandanandIrani2002) andcomment on
whether this improves your results.
2. (Optional) Implement one of the perspective improvements to factorization discussed
inSection7.3.1(ChristyandHoraud1996;SturmandTriggs1996;Triggs1996). Does
this produce significantly lower reprojection errors? Can you upgrade this reconstruc-
tion to a metric one?
Ex 7.5: Bundle adjuster Implement a full bundle adjuster. This may sound daunting, but
it really is not.
1. Devise the internal data structures andexternal file representations to holdyour camera
parameters (position, orientation, and focal length), 3D point locations (Euclidean or
homogeneous), and 2D point tracks (frameandpointidentifier as wellas 2Dlocations).
2. Use some other technique, such as factorization, to initialize the 3D point and camera
locations from your 2D tracks (e.g., a subset of points that appears in all frames).
3. Implement the code corresponding to the forward transformations in Figure7.7, i.e.,
for each 2D point measurement, take the corresponding 3D point, map it through the
cameratransformations(including perspective projectionandfocal length scaling), and
compare it to the 2D point measurement to get a residual error.
4. Take the residual error and compute its derivatives with respect to all the unknown
motionandstructureparameters, usingbackwardchaining, as shown, e.g., inFigure7.7
and Equation (6.47). This gives you the sparse Jacobian J used in Equations (6.13
6.17)andEquation(6.43).
5. Use a sparse least squares or linear system solver, e.g., MATLAB, SparseSuite, or
SPARSKIT (see AppendixA.4andA.5), to solve the correspondinglinearized system,
adding a small amount of diagonal preconditioning, as in Levenberg–Marquardt.
6. Update your parameters, make sure your rotation matrices are still orthonormal (e.g.,
byre-computing them from your quaternions), and continue iteratingwhile monitoring
your residual error.
7. (Optional) Use the “Schur complement trick” (7.56) to reduce the size of the system
being solved (Triggs,McLauchlan,Hartleyetal.1999;HartleyandZisserman2004;
Lourakis and Argyros 2009; Engels, Stew´enius, and Nist´er 2006).
Delete pages in pdf online - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete a page from a pdf; delete pages on pdf
Delete pages in pdf online - 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 page on pdf file; delete page on pdf reader
380
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
8. (Optional) Implement your own iterative sparse solver, e.g., conjugate gradient, and
compare its performance to a direct method.
9. (Optional) Makeyour bundleadjuster robust tooutliers, or try adding some of the other
improvements discussedin (Engels,Stew´enius,andNist´er2006). Canyou thinkof any
other ways to make your algorithm even faster or more robust?
Ex 7.6: Match move and augmented reality Use the results of the previous exercise to
superimpose a rendered 3D model on top of video. See Section7.4.2 for more details and
ideas. Check for how “locked down” the objects are.
Ex 7.7: Line-based reconstruction Augment the previously developed bundle adjuster to
include lines, possibly with known 3Dorientations.
Optionally, use co-planar sets of points and lines to hypothesize planes and to enforce
co-planarity (SchaffalitzkyandZisserman2002;RobertsonandCipolla2002)
Ex 7.8: Flexible bundle adjuster Design a bundle adjuster that allows for arbitrary chains
of transformations andprior knowledge aboutthe unknowns, as suggested inFigures7.77.8.
Ex 7.9: Unordered image matching Computethe camera pose and3Dstructureof a scene
from an arbitrary collection of photographs (BrownandLowe2003;Snavely, Seitz, and
Szeliski 2006).
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C# view PDF online, C# convert PDF to tiff, C# read PDF, C# convert PDF to text, C# extract PDF pages, C# comment annotate PDF, C# delete PDF pages, C# convert
cut pages from pdf; delete pages from a pdf document
C# PDF Page Insert Library: insert pages into PDF file in C#.net
document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET, how to reorganize PDF document pages and how
delete pdf pages reader; delete pages from pdf acrobat reader
Chapter 8
Dense motion estimation
8.1 Translational alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
8.1.1 Hierarchical motion estimation. . . . . . . . . . . . . . . . . . . . . 387
8.1.2 Fourier-based alignment . . . . . . . . . . . . . . . . . . . . . . . . 388
8.1.3 Incremental refinement. . . . . . . . . . . . . . . . . . . . . . . . . 392
8.2 Parametric motion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
8.2.1 Application: Video stabilization . . . . . . . . . . . . . . . . . . . . 401
8.2.2 Learned motion models. . . . . . . . . . . . . . . . . . . . . . . . . 403
8.3 Spline-based motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
8.3.1 Application: Medical image registration . . . . . . . . . . . . . . . . 408
8.4 Optical flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
8.4.1 Multi-frame motion estimation. . . . . . . . . . . . . . . . . . . . . 413
8.4.2 Application: Video denoising . . . . . . . . . . . . . . . . . . . . . 414
8.4.3 Application: De-interlacing . . . . . . . . . . . . . . . . . . . . . . 415
8.5 Layered motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
8.5.1 Application: Frame interpolation. . . . . . . . . . . . . . . . . . . . 418
8.5.2 Transparent layers and reflections . . . . . . . . . . . . . . . . . . . 419
8.6 Additional reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
8.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
add and insert one or multiple pages to existing adobe PDF document in VB.NET. Ability to create a blank PDF page with related by using following online VB.NET
cut pages out of pdf online; delete pdf pages online
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
C# view PDF online, C# convert PDF to tiff, C# read PDF, C# convert PDF to text, C# extract PDF pages, C# comment annotate PDF, C# delete PDF pages, C# convert
delete blank pages in pdf files; copy pages from pdf into new pdf
382
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
flow
initial layers final layers
layers with pixel assignmentsand flow
(c)
(d)
(e)
(f)
Figure 8.1 Motion estimation: (a–b) regularization-based optical flow (NagelandEnkel-
mann 1986)
c
1986 IEEE; (c–d) layered motion estimation (WangandAdelson1994)
c
1994 IEEE; (e–f) sample image and ground truth flow from evaluation database (Baker,
Black, Lewis et al. 2007) c 2007IEEE.
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages;
delete pdf pages acrobat; delete page from pdf preview
VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
C# view PDF online, C# convert PDF to tiff, C# read PDF, C# convert PDF to text, C# extract PDF pages, C# comment annotate PDF, C# delete PDF pages, C# convert
delete pages from pdf; delete pages out of a pdf file
8Dense motion estimation
383
Algorithms for aligning images and estimating motioninvideosequences areamongthemost
widely used in computer vision. For example, frame-rate image alignment is widely used in
camcorders and digital cameras to implement their image stabilization (IS) feature.
An early example of a widely used image registration algorithm is the patch-based trans-
lational alignment (optical flow) technique developed byLucasandKanade(1981). Variants
of this algorithm are used in almost all motion-compensated video compression schemes
such as MPEG and H.263 (LeGall1991). Similar parametric motion estimation algorithms
have found a wide variety of applications, including video summarization (Teodosioand
Bender 1993; Irani and Anandan 1998),videostabilization(Hansen, Anandan, Dana et al.
1994; Srinivasan, Chellappa, Veeraraghavan et al. 2005; Matsushita, Ofek, Ge et al. 2006),
and video compression (Irani, Hsu, andAnandan1995;Lee, geChen, lungBruceLinet
al. 1997). Moresophisticatedimageregistrationalgorithmshavealsobeendevelopedfor
medical imaging and remote sensing. Image registration techniques are surveyed byBrown
(1992),Zitov’aaandFlusser(2003),Goshtasby(2005), andSzeliski(2006a).
To estimate the motion between two or more images, a suitable error metric must first
be chosen to compare the images (Section8.1). Once this has been established, a suitable
search technique must be devised. The simplest technique is to exhaustively try all possible
alignments, i.e., to do a full search. In practice, this may be too slow, so hierarchical coarse-
to-fine techniques (Section8.1.1) based onimage pyramids are normally used. Alternatively,
Fourier transforms (Section8.1.2) can be used to speed up the computation.
To get sub-pixel precision in the alignment, incremental methods (Section8.1.3) based
on a Taylor series expansion of the image function are often used. These can also be applied
to parametric motion models (Section8.2), which model global image transformations such
as rotation or shearing. Motion estimation can be made more reliable by learning the typi-
cal dynamics or motion statistics of the scenes or objects being tracked, e.g., the natural gait
of walking people (Section8.2.2). For more complex motions, piecewise parametric spline
motion models (Section8.3) can be used. In the presence of multiple independent (and per-
haps non-rigid) motions, general-purpose optical flow (or optic flow) techniques need to be
used (Section8.4). For even more complex motions that include a lot of occlusions, layered
motion models (Section8.5), which decompose the scene into coherently moving layers, can
workwell.
In this chapter, we describe each of these techniques in more detail. Additional details
can be found in review and comparative evaluation papers on motion estimation (Barron,
Fleet, andBeauchemin 1994; Mitiche and Bouthemy 1996;Stiller and Konrad 1999; Szeliski
2006a; Baker, Black, Lewis et al. 2007).
VB.NET PDF - Annotate PDF Online with VB.NET HTML5 PDF Viewer
VB.NET PDF - Annotate PDF Online with VB.NET HTML5 PDF Viewer. Explanation about transparency. VB.NET HTML5 PDF Viewer: Annotate PDF Online. This
delete pdf page acrobat; delete page pdf file reader
C# HTML5 PDF Viewer SDK to convert and export PDF document to
C# view PDF online, C# convert PDF to tiff, C# read PDF, C# convert PDF to text, C# extract PDF pages, C# comment annotate PDF, C# delete PDF pages, C# convert
delete blank page in pdf online; delete a page from a pdf online
384
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
8.1 Translational alignment
The simplest way to establish an alignment between two images or image patches is to shift
one image relative to the other. Given a template image I
0
(x) sampled at discrete pixel
locations fx
i
=(x
i
;y
i
)g, we wish to find where it is located in image I
1
(x). A least squares
solution to this problem is to find the minimum of the sum of squared differences (SSD)
function
E
SSD
(u) =
X
i
[I
1
(x
i
+u)   I
0
(x
i
)]
2
=
X
i
e
2
i
;
(8.1)
where u = (u;v) is the displacement and e
i
=I
1
(x
i
+u)   I
0
(x
i
)is called the residual
error (or the displaced frame difference in the video coding literature).
1
(We ignore for the
moment the possibility that parts of I
0
may lie outside the boundaries of I
1
or be otherwise
not visible.) The assumption that corresponding pixel values remain the same in the two
images is often called the brightness constancy constraint.
2
In general, the displacementu can be fractional, so a suitable interpolation function must
be applied to image I
1
(x). In practice, a bilinear interpolant is often used but bicubic inter-
polation can yield slightly better results (SzeliskiandScharstein2004). Color images can be
processedby summingdifferences across all three color channels, although it is alsopossible
to first transform the images into a different color space or to only use the luminance (which
is often done in video encoders).
Robust error metrics. Wecanmaketheaboveerrormetricmorerobusttooutliersbyre-
placing the squarederror terms with a robustfunction(e
i
)(Huber1981;Hampel,Ronchetti,
Rousseeuw et al. 1986; Black and Anandan 1996; Stewart 1999)toobtain
E
SRD
(u) =
X
i
(I
1
(x
i
+u)   I
0
(x
i
)) =
X
i
(e
i
):
(8.2)
The robust norm (e) is a function that grows less quickly than the quadratic penalty associ-
ated with least squares. One such function, sometimes used in motion estimation for video
coding because of its speed, is the sum of absolute differences (SAD) metric
3
or L
1
norm,
i.e.,
E
SAD
(u) =
X
i
jI
1
(x
i
+u)   I
0
(x
i
)j =
X
i
je
i
j:
(8.3)
1
The usual justification for using least squares is that it is the optimal estimatewith respect to Gaussian noise.
Seethe discussion belowon robusterror metricsas well asAppendixB.3.
2
Brightness constancy (Horn1974) is the tendency for objects to maintain their perceived brightness under
varying illuminationconditions.
3
Invideo compression,e.g.,theH.264 standard (http://www.itu.int/rec/T-REC-H.264),thesumofabsolutetrans-
formed differences (SATD),whichmeasures thedifferences in afrequency transform space,e.g., using a Hadamard
transform, isoften used sinceit more accurately predicts quality (Richardson2003).
8.1 Translational alignment
385
However, since this functionis not differentiable attheorigin, it is notwellsuited togradient-
descent approaches such as the ones presented in Section8.1.3.
Instead, a smoothly varying function that is quadratic for small values but grows more
slowly away from the origin is often used.BlackandRangarajan(1996) discuss a variety of
such functions, including the Geman–McClure function,
GM
(x) =
x
2
1+ x2=a2
;
(8.4)
where a is a constant that can be thought of as an outlier threshold. An appropriate value for
the threshold can itself be derived using robust statistics (Huber1981;Hampel,Ronchetti,
Rousseeuw et al. 1986; Rousseeuw and Leroy1987),e.g.,bycomputingthemedianabsolute
deviation, MAD = med
i
je
i
j, and multiplying it by 1.4 to obtain a robust estimate of the
standard deviation of the inlier noise process (Stewart1999).
Spatially varying weights. Theerrormetricsaboveignorethatfactthatforagivenalign-
ment, some of the pixels being compared may lie outside the original image boundaries.
Furthermore, we may want to partially or completely downweight the contributions of cer-
tain pixels. For example, we may want to selectively “erase” some parts of an image from
consideration whenstitching a mosaic where unwantedforegroundobjects havebeen cut out.
For applications such as background stabilization, we may want to downweight the middle
part of the image, which often contains independently moving objects being tracked by the
camera.
All of these tasks canbe accomplished byassociatinga spatially varyingper-pixel weight
value with each of the two images being matched. The error metric then becomes the
weighted (or windowed) SSDfunction,
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.5)
where the weighting functions w
0
and w
1
are zero outside the image boundaries.
If a large range of potential motions is allowed, the above metric can have a bias towards
smaller overlap solutions. To counteract this bias, the windowed SSD score can be divided
by the overlap area
A=
X
i
w
0
(x
i
)w
1
(x
i
+u)
(8.6)
to compute a per-pixel (or mean) squared pixel error E
WSSD
=A. The square root of this
quantity is the root mean square intensity error
RMS =
p
E
WSSD
=A
(8.7)
often reported in comparative studies.
386
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
Bias and gain (exposuredifferences). Often,thetwoimagesbeingalignedwerenottaken
with the same exposure. A simple modelof linear (affine) intensity variation between the two
images is the bias and gain model,
I
1
(x+ u) = (1+ )I
0
(x) + ;
(8.8)
where  is the bias and  is the gain (Lucas andKanade1981;Gennert1988;Fuhand
Maragos 1991; Baker, Gross, and Matthews 2003; Evangelidis and Psarakis 2008).Theleast
squares formulation then becomes
E
BG
(u) =
X
i
[I
1
(x
i
+u)   (1+ )I
0
(x
i
)  ]
2
=
X
i
[I
0
(x
i
)+    e
i
]
2
:
(8.9)
Rather than taking a simple squared difference between corresponding patches, it becomes
necessary to perform a linear regression (AppendixA.2), which is somewhat more costly.
Note that for color images, it may be necessary to estimate a different bias and gain for each
color channel to compensate for the automatic color correction performed by some digital
cameras (Section2.3.2). Bias andgaincompensationis also usedin videocodecs, where it is
known as weighted prediction (Richardson2003).
Amore general (spatiallyvarying, non-parametric) model of intensity variation, which is
computed as part of the registration process, is used in (Negahdaripour1998;JiaandTang
2003; Seitz and Baker 2009). Thiscanbeusefulfordealingwithlocalvariationssuchas
the vignetting caused by wide-angle lenses, wide apertures, or lens housings. It is also pos-
sible to pre-process the images before comparing their values, e.g., using band-pass filtered
images (Anandan1989;Bergen,Anandan,Hannaetal.1992), gradients (Scharstein1994;
Papenberg, Bruhn, Brox et al. 2006),orusingotherlocaltransformationssuchashistograms
or rank transforms (Cox, Roy,andHingorani1995;ZabihandWoodfill1994), or to max-
imize mutual information (ViolaandWellsIII1997;Kim, Kolmogorov,andZabih2003).
Hirschm¨uller and Scharstein(2009)compareanumberoftheseapproachesandreporton
their relative performance in scenes with exposure differences.
Correlation. Analternativetotakingintensitydifferencesistoperformcorrelation,i.e.,to
maximize the product (or cross-correlation) of the two aligned images,
E
CC
(u) =
X
i
I
0
(x
i
)I
1
(x
i
+u):
(8.10)
Atfirstglance, this may appear tomake bias and gainmodelingunnecessary, sincetheimages
will prefer to line up regardless of their relative scales and offsets. However, this is actually
not true. If a very bright patch exists in I
1
(x), the maximum product may actually lie in that
area.
8.1 Translational alignment
387
For this reason, normalized cross-correlation is more commonly used,
E
NCC
(u) =
P
i
[I
0
(x
i
I
0
][I
1
(x
i
+u)  
I
1
]
q
P
i
[I
0
(x
i
I
0
]2
q
P
i
[I
1
(x
i
+u)  
I
1
]2
;
(8.11)
where
I
0
=
1
N
X
i
I
0
(x
i
) and
(8.12)
I
1
=
1
N
X
i
I
1
(x
i
+u)
(8.13)
are the meanimages of the correspondingpatches andN is the number of pixels in the patch.
The normalizedcross-correlation score is always guaranteedto be in the range [ 1;1], which
makes it easier to handle in some higher-level applications, such as deciding which patches
truly match. Normalized correlation works well when matching images taken with different
exposures, e.g., when creating high dynamic range images (Section10.2). Note, however,
that the NCC score is undefinedif either of the twopatches has zero variance (and, in fact, its
performance degrades for noisy low-contrast regions).
Avariant on NCC, which is related to the bias–gain regression implicit in the matching
score (8.9), is the normalized SSDscore
E
NSSD
(u) =
1
2
P
i
[I
0
(x
i
I
0
]  [I
1
(x
i
+u)  
I
1
]
2
q
P
i
[I
0
(x
i
I
0
]2 + [I
1
(x
i
+u)  
I
1
]2
(8.14)
recently proposed byCriminisi,Shotton,Blakeetal.(2007). In their experiments, they find
that it produces comparable results to NCC, but is more efficient when applied to a large
number of overlapping patches using a moving average technique (Section3.2.2).
8.1.1 Hierarchical motion estimation
Now that we have a well-defined alignment cost function to optimize, how can we find its
minimum? The simplest solution is to do a full search over some range of shifts, using ei-
ther integer or sub-pixel steps. This is often the approach used for block matching in motion
compensated video compression, where a range of possible motions (say, 16 pixels) is ex-
plored.4
To accelerate this search process, hierarchical motion estimation is often used: an image
pyramid (Section3.5) is constructed and a search over a smaller number of discrete pixels
4
In stereomatching(Section11.1.2),anexplicitsearch overall possibledisparities (i.e.,aplanesweep)is almost
always performed, since the number of search hypotheses is much smaller due to the 1D nature of the potential
displacements.
388
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(corresponding to the same range of motion) is first performed atcoarser levels (Quam1984;
Anandan 1989; Bergen, Anandan, Hanna et al. 1992). Themotionestimatefromonelevel
of the pyramid is then used to initialize a smaller local search at the next finer level. Al-
ternatively, several seeds (good solutions) from the coarse level can be used to initialize the
fine-level search. While this is not guaranteed to produce the same result as a full search, it
usually works almost as well and is much faster.
More formally, let
I
(l)
k
(x
j
~
I
(l 1)
k
(2x
j
)
(8.15)
be the decimated image at level l obtained by subsampling (downsampling) a smoothed ver-
sionof the image atlevell 1. SeeSection3.5for how to perform therequireddownsampling
(pyramid construction) without introducing too much aliasing.
At the coarsest level, we search for the best displacement u
(l)
that minimizes the dif-
ference between images I
(l)
0
and I
(l)
1
. This is usually done using a full search over some
range of displacements u
(l)
22
l
[ S;S]
2
,where S is the desired search range at the finest
(original) resolution level, optionally followed by the incremental refinement step described
in Section8.1.3.
Once a suitable motion vector has been estimated, it is used to predict a likely displace-
ment
^u
(l 1)
2u
(l)
(8.16)
for the next finer level.
5
The search over displacements is then repeated at the finer level over
amuch narrower range of displacements, say ^u
(l 1)
1, again optionally combined withan
incremental refinement step (Anandan1989). Alternatively, one of theimages can be warped
(resampled) by the current motion estimate, in which case only small incremental motions
need to be computed at the finer level. A nice description of the whole process, extended to
parametric motion estimation (Section8.2), is provided byBergen,Anandan,Hannaetal.
(1992).
8.1.2 Fourier-based alignment
When the search range corresponds to a significant fractionof the larger image (as is the case
in image stitching, see Chapter9), the hierarchical approach may not work that well, since
it is often not possible to coarsen the representation too much before significant features are
blurred away. In this case, a Fourier-based approach may be preferable.
Thisdoubling ofdisplacements is onlynecessary ifdisplacementsaredefinedinintegerpixelcoordinates,
which is the usual case in the literature (Bergen,Anandan,Hannaetal.1992). If normalized device coordinates
(Section2.1.5)areused instead,the displacements(and searchranges)need not change from level tolevel,although
the step sizes will need to beadjusted,to keep search steps ofroughly onepixel.
Documents you may be interested
Documents you may be interested