c# pdf reader table : Delete page on pdf SDK control API wpf azure windows sharepoint SzeliskiBook_20100903_draft30-part604

5.1 Active contours
279
(a)
(b)
(c)
Figure 5.8 Head tracking using CONDENSATION (Isard and Blake e 1998 )  c 1998
Springer: (a) sample set representation of head estimate distribution; (b) multiple measure-
ments at each control vertex location; (c) multi-hypothesis tracking over time.
Particle filteringtechniques representaprobabilitydistributionusingacollectionof weighted
point samples (Figure5.7a) (Andrieu,deFreitas,Doucetetal.2003;Bishop2006;Koller
and Friedman 2009). Toupdatethelocations s ofthesamplesaccordingtothelineardy-
namics (deterministic drift), the centers of the samples are updated according to (5.18) and
multiple samples are generated for each point (Figure5.7b). These are then perturbed to
account for the stochastic diffusion, i.e., their locations are moved by random vectors taken
from the distribution of w.
6
Finally, the weights of these samples are multiplied by the mea-
surement probability density, i.e., we take each sample and measure its likelihood given the
current (new) measurements. Because the point samples represent and propagate conditional
estimates of the multi-modal density,IsardandBlake (1998) dubbed their algorithm CONdi-
tional DENSity propagATION or CONDENSATION.
Figure5.8a shows what a factored sample of a head tracker might look like, drawing
ared B-spline contour for each of (a subset of) the particles being tracked. Figure5.8b
shows why the measurement density itself is often multi-modal: the locations of the edges
perpendicular to the spline curve can have multiple local maxima due to background clutter.
Finally, Figure5.8c shows the temporal evolution of the conditional density (x coordinate of
the head and shoulder tracker centroid) as it tracks several people over time.
hypothesis tracking (Bar-ShalomandFortmann1988;ChamandRehg1999).
6
Notethat becauseofthestructureofthesesteps, non-lineardynamics and non-Gaussian noisecan be used.
Delete page on 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 pdf acrobat; delete blank pages in pdf
Delete page on 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
cut pages out of pdf online; delete pages in pdf
280
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
Figure 5.9 Intelligent scissors: (a) as the mouse traces the white path, the scissors follow
the orange path along the object boundary (the green curves show intermediate positions)
(MortensenandBarrett1995)
c
1995 ACM; (b) regular scissors can sometimes jump to a
stronger (incorrect) boundary; (c) after trainingto the previous segment, similar edge profiles
are preferred (MortensenandBarrett1998)
c
1995 Elsevier.
5.1.3 Scissors
Active contours allow a user to roughly specify a boundary of interest and have the system
evolve the contour towards a more accurate location as well as track it over time. The results
of this curve evolution, however, may be unpredictable andmay requireadditionaluser-based
hints to achieve the desired result.
An alternative approach is to have the system optimize the contour in real time as the
user is drawing (Mortensen1999). The intelligent scissors system developed byMortensen
and Barrett(1995)doesjustthat. Astheuserdrawsaroughoutline(thewhitecurvein
Figure5.9a), the system computes and draws a better curve that clings tohigh-contrast edges
(the orange curve).
Tocompute the optimal curve path(live-wire), the image isfirst pre-processedtoassociate
low costs with edges (links between neighboring horizontal, vertical, and diagonal, i.e., N
8
neighbors) that are likely to be boundary elements. Their system uses a combinationof zero-
crossing, gradient magnitudes, and gradient orientations to compute these costs.
Next, as the user traces a rough curve, the system continuously recomputes the lowest-
cost path between the starting seed point and the current mouse location using Dijkstra’s al-
gorithm, a breadth-first dynamic programming algorithm that terminates at the current target
location.
In order to keep the system from jumping around unpredictably, the system will “freeze”
the curve to date (reset the seed point) after a period of inactivity. To prevent the live wire
from jumping onto adjacent higher-contrast contours, the system also “learns” the intensity
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C# File: Merge PDF; C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; C# Read: PDF
delete pages from a pdf reader; delete page pdf
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
cut pages from pdf online; cut pages from pdf file
5.1 Active contours
281
-1
+1
ϕ
= 0
∆ϕ
g(I)
Figure 5.10 Level set evolution for a geodesic active contour. The embedding function 
is updated based on the curvature of the underlying surface modulated by the edge/speed
function g(I), as well as the gradient of g(I), thereby attracting it to strong edges.
profileunder the current optimized curve, anduses this topreferentiallykeepthewire moving
along the same (or a similar looking) boundary (Figure5.9b–c).
Several extensions have been proposed to the basic algorithm, which works remarkably
well even in its original form. MortensenandBarrett(1999) use tobogganing, which is a
simple form of watershed region segmentation, to pre-segment the image into regions whose
boundaries become candidates for optimized curve paths. The resulting region boundaries
are turnedintoa much smaller graph, where nodes are located wherever three or four regions
meet. The Dijkstra algorithm is then run on this reduced graph, resulting in much faster (and
often more stable) performance. Another extension to intelligent scissors is to use a proba-
bilistic framework that takes into account the current trajectory of the boundary, resulting in
asystem calledJetStream (P´erez,Blake,andGangnet2001).
Instead of re-computing an optimal curve at each time instant, a simpler system can be
developed by simply “snapping” the current mouse position to the nearest likely boundary
point(Gleicher1995). Applicationsof theseboundaryextraction techniques toimagecutting
and pasting are presented in Section10.4.
5.1.4 Level Sets
Alimitation of active contours based on parametric curves of the form f(s), e.g., snakes, B-
snakes, and CONDENSATION, is that it is challenging to change the topology of the curve
as it evolves. (McInerneyandTerzopoulos(19992000) describe one approach to doing
this.) Furthermore, if the shape changes dramatically, curve reparameterization may also be
required.
Analternative representation for such closedcontours is touse a level set, where the zero-
crossing(s) of a characteristic (or signed distance (Section3.3.3)) function define the curve.
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
PDF: Insert PDF Page. VB.NET PDF - How to Insert a New Page to PDF in VB.NET. Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document in VB.NET Program.
reader extract pages from pdf; delete pages in pdf reader
C# PDF remove image library: remove, delete images from PDF in C#.
C# File: Merge PDF; C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; C# Read: PDF
delete pdf page acrobat; delete pdf pages online
282
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
Level sets evolve to fit and track objects of interest by modifying the underlying embedding
function (another name for this 2D function) (x;y) instead of the curve f(s) (Malladi,
Sethian, and Vemuri 1995; Sethian 1999; Sapiro 2001; Osher and Paragios 2003).Toreduce
the amount of computation required, only a small strip (frontier) around the locations of the
current zero-crossing needs to updated at each step, which results in what are called fast
marching methods (Sethian1999).
Anexample of anevolution equationis the geodesicactive contour proposedbyCaselles,
Kimmel, and Sapiro(1997)and Yezzi, Kichenassamy, Kumar et al.(1997),
d
dt
= jrjdiv
g(I)
r
jrj
= g(I)jrjdiv
r
jrj
+rg(I)  r;
(5.19)
whereg(I) is a generalizedversion of the snake edge potential (5.5). To get an intuitive sense
of the curve’s behavior, assume that the embedding function  is a signed distance function
away from the curve (Figure5.10), in which case jj = 1. The first term in Equation (5.19)
moves the curve in the direction of its curvature, i.e., it acts to straighten the curve, under
the influence of the modulation function g(I). The second term moves the curve down the
gradient of g(I), encouraging the curve to migrate towards minima of g(I).
While this level-set formulation can readily change topology, it is still susceptible to lo-
cal minima, since it is based on local measurements such as image gradients. An alternative
approach is to re-cast the problem in a segmentation framework, where the energy measures
the consistency of the image statistics (e.g., color, texture, motion) inside and outside the seg-
mented regions (Cremers,Rousson,andDeriche2007;RoussonandParagios2008;Houhou,
Thiran, and Bresson 2008). Theseapproachesbuildonearlierenergy-basedsegmentation
frameworks introduced byLeclerc (1989),MumfordandShah(1989), andChanandVese
(1992), which are discussed in more detail in Section5.5. Examples of such level-set seg-
mentations are shownin Figure5.11, whichshows the evolutionof thelevel sets from a series
of distributed circles towards the final binary segmentation.
For more information on level sets and their applications, please see the collection of
papers editedbyOsherandParagios(2003) as well as the series of Workshops on Variational
andLevelSet Methods in Computer Vision (Paragios,Faugeras,Chanetal.2005) andSpecial
Issues on Scale Space and Variational Methods in Computer Vision (ParagiosandSgallari
2009).
5.1.5 Application: Contour tracking and rotoscoping
Active contours can be used in a wide variety of object-trackingapplications (BlakeandIsard
1998; Yilmaz, Javed, and Shah 2006).Forexample,theycanbeusedtotrackfacialfeatures
VB.NET PDF delete text library: delete, remove text from PDF file
VB.NET: Delete a Character in PDF Page. It demonstrates how to delete a character in the first page of sample PDF file with the location of (123F, 187F).
copy pages from pdf into new pdf; delete pages from pdf file online
VB.NET PDF remove image library: remove, delete images from PDF in
C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; Delete image objects in selected PDF page in ASPX webpage.
delete a page from a pdf file; delete page on pdf
5.1 Active contours
283
(a)
(b)
Figure 5.11 Level set segmentation (Cremers, Rousson, and d Deriche e 2007)  c 2007
Springer: (a) grayscale image segmentation and (b) color image segmentation. Uni-variate
and multi-variate Gaussians are used to model the foreground and background pixel dis-
tributions. The initial circles evolve towards an accurate segmentation of foreground and
background, adapting their topology as they evolve.
for performance-drivenanimation(TerzopoulosandWaters1990;Lee,Terzopoulos,andWa-
ters 1995; Parke and Waters 1996; Bregler, Covell, and Slaney 1997)(Figure5.2b).Theycan
also be used to track heads and people, as shown in Figure5.8, as well as moving vehicles
(ParagiosandDeriche2000). Additional applications include medical image segmentation,
where contours can be tracked from slice to slice in computerized tomography (3D medical
imagery) (CootesandTaylor2001) or over time, as in ultrasound scans.
An interesting application that is closer to computer animation and visual effects is ro-
toscoping, which uses the tracked contours to deform a set of hand-drawn animations (or
to modify or replace the original video frames).
7
Agarwala, Hertzmann, Seitz et al.(2004)
presentasystem based ontrackinghand-drawnB-spline contours drawnat selectedkeyframes,
using acombination of geometricandappearance-based criteria (Figure5.12). They also pro-
vide an excellentreview of previous rotoscopingand image-based, contour-tracking systems.
Thetermcomesfromadevice(arotoscope)thatprojectedframesofalive-actionfilmunderneathanacetateso
that artists could draw animations directly overtheactors’ shapes.
C# PDF delete text Library: delete, remove text from PDF file in
C#.NET Sample Code: Delete Text from Specified PDF Page. The following demo code will show how to delete text in specified PDF page. // Open a document.
delete pages of pdf reader; delete page from pdf reader
C# PDF metadata Library: add, remove, update PDF metadata in C#.
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata in .NET Project. Remove and delete metadata from PDF file.
delete pages from pdf document; copy page from pdf
284
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
(d)
Figure 5.12 Keyframe-basedrotoscoping (Agarwala,Hertzmann,Seitzetal.2004)
c
2004
ACM: (a) original frames; (b) rotoscoped contours; (c) re-colored blouse; (d) rotoscoped
hand-drawn animation.
Additional applications of rotoscoping (object contour detection and segmentation), such
as cuttingandpastingobjects fromonephotographinto another, are presentedinSection10.4.
5.2 Split and merge
As mentioned in the introduction to this chapter, the simplest possible technique for seg-
menting a grayscale image is to select a threshold and then compute connected components
(Section3.3.2). Unfortunately, a single threshold is rarely sufficient for the whole image
because of lighting and intra-object statistical variations.
In this section, we describe a number of algorithms that proceed either by recursively
splitting the whole image intopieces based on region statistics or, conversely, mergingpixels
andregions together in ahierarchical fashion. Itis alsopossible tocombine bothsplitting and
merging by starting with a medium-grain segmentation (in a quadtree representation) and
then allowing both merging and splitting operations (HorowitzandPavlidis1976;Pavlidis
and Liow 1990).
5.2.1 Watershed
Atechnique related tothresholding, since it operates ona grayscale image, is watershed com-
putation (VincentandSoille1991). This technique segments an image into several catchment
basins, which are the regions of an image (interpreted as a height field or landscape) where
5.2 Split and merge
285
(a)
(b)
(c)
Figure 5.13 Locally constrained watershed segmentation (Beare2006)
c
2006 IEEE: (a)
original confocal microscopy image with marked seeds (line segments); (b) standard water-
shed segmentation; (c) locally constrained watershedsegmentation.
rain would flow intothe same lake. Anefficientwayto compute such regions is tostartflood-
ing the landscape at all of the local minima and to label ridges wherever differently evolving
components meet. The whole algorithm can be implemented using a priority queue of pixels
and breadth-first search (VincentandSoille1991).
8
Since images rarely have dark regions separated by lighter ridges, watershed segmen-
tation is usually applied to a smoothed version of the gradient magnitude image, which also
makes it usable withcolor images. As analternative, the maximum orientedenergy ina steer-
able filter (3.283.29) (FreemanandAdelson1991) can be used as the basis of the oriented
watershed transform developed byArbel
´
aez, Maire, Fowlkes et al.(2010). Suchtechniques
end up finding smooth regions separated by visible (higher gradient) boundaries. Since such
boundaries are what active contours usuallyfollow, active contour algorithms (Mortensenand
Barrett 1999; Li, Sun, Tang et al. 2004)oftenprecomputesuchasegmentationusingeither
the watershed or the related tobogganing technique (Section5.1.3).
Unfortunately, watershed segmentation associates a unique region with each local mini-
mum, which can lead to over-segmentation. Watershed segmentation is therefore often used
as part of an interactive system, where the user first marks seed locations (with a click or
ashort stroke) that correspond to the centers of different desired components. Figure5.13
shows the results of running the watershed algorithm with some manually placed markers on
aconfocal microscopy image. It also shows the result for an improved version of watershed
that uses local morphology to smoothout and optimize the boundaries separating the regions
(Beare2006).
Arelatedalgorithm canbeusedto computemaximallystableextremalregions(MSERs)efficiently (Sec-
tion4.1.1) (Nist´erandStew´enius2008).
286
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
5.2.2 Region splitting (divisive clustering)
Splitting the image into successivelyfiner regions is one of the oldesttechniques in computer
vision. Ohlander,Price,andReddy(1978) present such a technique, which first computes a
histogram for the whole image and then finds a threshold that best separates the large peaks
in the histogram. This process is repeated until regions are either fairly uniform or below a
certainsize.
More recent splittingalgorithms often optimizesome metric of intra-regionsimilarity and
inter-region dissimilarity. These are covered in Sections5.4 and5.5.
5.2.3 Region merging (agglomerative clustering)
Region merging techniques also date back to the beginnings of computer vision. Briceand
Fennema(1970)useadualgridforrepresentingboundariesbetweenpixelsandmergere-
gions based on their relative boundary lengths and the strength of the visible edges at these
boundaries.
In data clustering, algorithms can link clusters together based on the distance between
their closest points (single-link clustering), their farthest points (complete-link clustering), or
something in between (Jain,Topchy,Lawetal.2004). Kamvar,Klein,andManning(2002)
provide a probabilistic interpretation of these algorithms and show how additional models
can be incorporated within this framework.
Avery simple version of pixel-based merging combines adjacent regions whose average
color difference is below a threshold or whose regions are too small. Segmenting the image
into such superpixels (Mori,Ren,Efrosetal.2004), which are not semantically meaningful,
can be a useful pre-processingstage tomake higher-level algorithms suchas stereo matching
(Zitnick, Kang, Uyttendaeleetal.2004;Taguchi, Wilburn, andZitnick2008), optic flow
(Zitnick,Jojic,andKang2005;Brox,Bregler,andMalik2009), and recognition (Mori,Ren,
Efros et al. 2004; Mori 2005; Gu, Lim, Arbelaez et al. 2009; Lim, Arbel´aez, Gu et al. 2009)
both faster and more robust.
5.2.4 Graph-based segmentation
While many merging algorithms simply apply a fixed rule that groups pixels and regions
together,FelzenszwalbandHuttenlocher(2004b) present a merging algorithm that uses rel-
ative dissimilarities between regions to determine which ones should be merged; it produces
an algorithm that provably optimizes a global grouping metric. They start with a pixel-to-
pixel dissimilarity measure w(e) that measures, for example, intensity differences between
N
8
neighbors. (Alternatively, they can use the jointfeature space distances (5.42) introduced
byComaniciuandMeer(2002), which we discuss in Section5.3.2.)
5.2 Split and merge
287
(a)
(b)
(c)
Figure 5.14 Graph-based merging segmentation (FelzenszwalbandHuttenlocher2004b)
c 2004 Springer: (a) input grayscale image that is successfully segmented intothree regions
even though the variation inside the smaller rectangle is larger than the variation across the
middle edge; (b) input grayscale image; (c) resulting segmentation using an N
8
pixel neigh-
borhood.
For any region R, its internal difference is defined as the largest edge weight in the re-
gion’s minimum spanning tree,
Int(R) =
min
e2MST(R)
w(e):
(5.20)
For any two adjacent regions with at least one edge connecting their vertices, the difference
between these regions is defined as the minimum weight edge connectingthe two regions,
Dif (R
1
;R
2
)=
min
e=(v
1
;v
2
)jv
1
2R
1
;v
2
2R
2
w(e):
(5.21)
Their algorithm merges any two adjacent regions whose difference is smaller than the mini-
mum internal difference of these tworegions,
MInt(R
1
;R
2
)= min(Int(R
1
)+ (R
1
);Int(R
2
)+ (R
2
));
(5.22)
where (R) is a heuristic region penalty thatFelzenszwalbandHuttenlocher(2004b) set to
k=jRj, but which can be set to any application-specific measure of region goodness.
By merging regions in decreasing order of the edges separating them (which can be effi-
ciently evaluated using a variant of Kruskal’s minimum spanning tree algorithm), they prov-
ably produce segmentations that are neither too fine (there exist regions that could have been
merged) nor too coarse (there are regions that could be split without being mergeable). For
fixed-size pixel neighborhoods, the running time for this algorithm is O(N logN), where N
is the number of image pixels, which makes it one of the fastest segmentation algorithms
(ParisandDurand2007). Figure5.14 shows two examples of images segmented using their
technique.
288
Computer Vision: Algorithms and Applications (September 3, 2010 draft)
(a)
(b)
(c)
(d)
Figure 5.15 Coarse to fine node aggregation in segmentation by weighted aggregation
(SWA) (Sharon,Galun,Sharonetal.2006)  c 2006 Macmillan Publishers Ltd [Nature]: (a)
original gray-level pixel grid; (b) inter-pixel couplings, where thicker lines indicate stronger
couplings; (c) after one level of coarsening, where each original pixel is strongly coupled to
one of the coarse-level nodes; (d) after two levels of coarsening.
5.2.5 Probabilistic aggregation
Alpert, Galun, Basri et al.(2007)developaprobabilisticmergingalgorithmbasedontwo
cues, namely gray-level similarity and texture similarity. The gray-level similarity between
regions R
i
andR
j
is basedonthe minimalexternal difference from other neighboringregions,
+
local
=min(
+
i
;
+
j
);
(5.23)
where 
+
i
=min
k
j
ik
jand 
ik
is the difference in average intensities between regions R
i
and R
k
.This is compared to the average intensity difference,
local
=
i
+
j
2
;
(5.24)
where 
i
=
P
k
(
ik
ik
)=
P
k
(
ik
)and 
ik
is the boundary length between regions R
i
and
R
k
. The texture similarity is defined using relative differences between histogram bins of
simple oriented Sobel filter responses. The pairwise statistics 
+
local
and 
local
are used to
compute the likelihoods p
ij
that two regions should be merged. (See the paper byAlpert,
Galun, Basri et al.(2007)formoredetails.)
Merging proceeds in a hierarchical fashion inspired by algebraic multigrid techniques
(Brandt1986;Briggs,Henson,andMcCormick2000) and previously used byAlpert,Galun,
Basri et al.(2007)intheirsegmentationbyweightedaggregation(SWA)algorithm(Sharon,
Galun, Sharon et al. 2006),whichwediscussinSection5.4. AsubsetofthenodesCV
that are (collectively) strongly coupled toall of the original nodes (regions) are used to define
the problem at a coarser scale (Figure5.15), where strong coupling is defined as
P
j2C
p
ij
P
j2V
p
ij
>;
(5.25)
Documents you may be interested
Documents you may be interested