﻿

# pdf template itextsharp c# : Add hyperlink to pdf SDK software service wpf .net asp.net dnn Thesis-hongtu5-part61

1.2. ALTERNATIVE VIDEO SEGMENTATION ALGORITHMS
39
Wiener ﬁlters are also expensive in computation and memory requirement.
N frame buﬀers are needed to store a history of frames. Background pixel
prediction and coeﬃcients updating are very costly since a set of linear functions
are needed to obtain the value. p multiplication and p−1 additions are needed
for prediction, plus the solution of a linear equation of order p.
An alternative approach for linear prediction is to use Kalman ﬁlters. Basic
Kalman ﬁlter theory can be found in many literatures, e.g. [12,13,15]. Kalman
ﬁlters are widely used for many background subtraction applications, e.g. [13–
15]. It predicts the current background pixel value by recursive computing
from the previous estimate and the new input data. A brief formulation of the
theory is given in the below according to , while a detailed description of
Kalman ﬁlters can be found in .
Kalman ﬁlters provide an optimal estimate of the state of the process x
t
,
by minimizing the diﬀerence of the average of the estimated outputs and the
averageof the measures, which is characterized by the variance of the estimation
error. The deﬁnition of a state can vary in diﬀerent applications, e.g. the
estimated value of the background pixel and its derivative in . Kalman
ﬁltering is performed in essentially two steps: prediction and correction: In the
prediction step, the current state of the system is predicted from the previous
state as
ˆx
t
=Aˆx
t−1
,
(1.7)
where A is the state transition matrix, ˆx
t−1
is the previous state estimate and
ˆx
t
is the estimation of the current state before correction. In order to minimize
the diﬀerence between the measure and the estimated state value I
t
−H
ˆ
x
t
.I
t
is the current observation and H is the transition matrix that maps the state
to the measurements. A variance of such diﬀerence is calculated based on
P
t
=AP
t−1
A
T
+Q
t
,
(1.8)
where Q
t
represents the process noise, P
t−1
is the previous estimation error
variance and P
t
is the estimation of error variance based on current prediction
state value. With a ﬁlter gain factor calculated by
K
t
=
P
t
C
T
CP
t
CT + R
t
,
(1.9)
where R
t
represents the variances of measurement noise and C is the transition
matrix that maps the state to the measurement. The corrected state estimation
becomes
ˆ
x
t
=
ˆ
x
t−1
+K
t
(I
t
−Hx
t
),
(1.10)
and the variance after correction is reduced to
P
t
=(1 − K
t
C)P
t
.
(1.11)
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
Add hyperlink to pdf - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
40
CHAPTER 1. SEGMENTATION
Ridder et al.  use both background pixel intensity value and its temporal
derivative B
t
and B
t
as the state value:
ˆx
t
=
B
t
B
t
,
(1.12)
and the parameters are selected as follows:
A=
1 0.7
0 0.7
and H =
1 0
.
(1.13)
The gain factor K
t
varies between a slow adaptation rate α
1
and a fast
2
depending on whether the current observation is a back-
ground pixel or not:
K
t
=
α
1
α
1
if I
t−1
is foreground, and
α
2
α
2
otherwise.
(1.14)
In summary, a recursive background prediction approach with Kalman ﬁl-
ters can be obtained by combining equations 1.10,1.12,1.13 and 1.14, which can
be formulated as follows:
B
t
B
t
=A
B
t−1
B
t−1
+K
t
I
t
−HA
B
t−1
B
t−1

.
(1.15)
The Kalman ﬁltering approach is eﬃcient for hardware implementation.
From equation 1.15, three matrix multiplication with size of 2 are needed.
Memory requirement is low with one frame of estimated background pixel value
stored. The linear predictive approach is reported to achieve better results
than the many other algorithms e.g. median or mean ﬁltering approaches,
especially in dealing with camouﬂage problem , where foreground pixels
holding similar color as that of the background pixels are undetected.
1.2.5 Mixture of Gaussian
So far, predictive methods have been discussed which model the background
scene as a time series and develop a linear dynamical model to recover the cur-
rent input based on past observations. By minimizing the variance between the
predicted value and past observations, the estimated background pixel is adap-
tive to the current situation where its value could vary slowly over time. While
this class of algorithms may work well with quasi-static background scenes with
slow lighting changes, it fails to deal with multi-modal situations, which will
be discussed in detail in the following sections. Instead of utilizing the order
of incoming observations to predict the current background value, a Gaussian
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Change Word hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Word to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Change Excel hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Excel to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
1.2. ALTERNATIVE VIDEO SEGMENTATION ALGORITHMS
41
distribution can be used to model a static background value by accounting for
the noise introduced by small illumination changes, camera jitter and surface
texture. In , three Gaussian are used to model background scenes for traﬃc
surveillance. The hypothesis is made that each pixel will contain the color of
either the road, the shadows or the vehicles. Stauﬀer et al.  generalized
the idea by extending the number of Gaussian for each pixel to deal with a
multi-modal background environment, which are quite common in both indoor
and outdoor environments. A multi-modal background is caused by repetitive
background object motion, e.g. swaying trees or ﬂickering of a monitor. As a
pixel lying in the region where repetitive motion occurs will generally consists
of two or more background colors, the RGB value of that speciﬁc pixel will have
several pixel distributions in the RGB color space. The idea of multi-modal
distribution is illustrated by ﬁgure 1.3. From the ﬁgure, a typical indoor envi-
ronment in 1.3(a) consists of static background objects, which are stationary
all the time. A pixel value in any location will stay within one single distri-
bution over time. This is in contrast with the outdoor environment in ﬁgure
1.3(c), where quasi-static background objects e.g. swaying leaves of a tree, are
present in the scene. Pixel value from these regions contains multiple back-
ground colors from time to time, e.g. the color of the leave, the color of house
or something in between.
With multi-modal environments, the value of quasi-static background pixels
tends to jump between diﬀerent distributions, which will be modeled by ﬁtting
diﬀerent Gaussians for each distribution. The idea of Mixture of Gaussians
(MoG) is quite popular and many diﬀerent variants are developed [19–24] based
on it.
1.2.5.1 Algorithm Formulation
The Stauﬀer-Grimson algorithm is formulated as modeling a pixel process with
amixture of Gaussian distributions. A pixel process is deﬁned as the recent
history values of each pixel obtained from a number of consecutive frames.
For a static background pixel process, the values will rather be pixel clusters
than identical points when they are plotted in a RGB color space. This is due
to the variations caused by many factors, e.g. surface texture, illumination
ﬂuctuations, or camera noise. To model such a background pixel process, a
Gaussian distribution can be used with a mean equal to the averagebackground
color and variances accounting for the value ﬂuctuation. More complicated
background pixel processes appear when it contains more than one background
object surfaces, e.g. a background pixel of a road is covered by leaves of a
tree from time to time. In such cases, a mixture of Gaussian distributions
are necessary to model multi-modal background distributions. Formally, the
Stauﬀer-Grimson algorithm tries to address background modeling as in the
How to C#: Basic SDK Concept of XDoc.PDF for .NET
You may add PDF document protection functionality into your C# program. Hyperlink Edit. XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document
VB.NET PDF: Basic SDK Concept of XDoc.PDF
You may add PDF document protection functionality into your VB.NET program. Hyperlink Edit. XDoc.PDF for .NET allows VB.NET developers to edit hyperlink of PDF
42
CHAPTER 1. SEGMENTATION
50
100
150
200
250
300
50
100
150
200
(a) A typical indoor environment taken in
the staircase.
70
80
90
100
110
60
70
80
90
30
40
50
60
70
80
90
R
(b) A pixel value sampled over time in
the indoor environment contains uni-modal
pixel distributions.
50
100
150
200
250
300
50
100
150
200
(c) A dynamic outdoor environment con-
taining swaying trees.
160
180
200
220
190
200
210
220
230
180
190
200
210
220
230
240
R
G
B
(d) A pixel value sampled over time in the
region that contain leaves of a tree will gen-
erally become multi-modal distributions in
the RGB color space.
Figure 1.3:
Background pixel distributions taken in diﬀerent environ-
ments possess diﬀerent properties in the RGB color space.
following:
Each pixel is represented by a set of Gaussian distributions k ⊂ {1,2...K},
where the number of distributions K is assumed to be constant (usually be-
tween 3 and 7). Some of the K distributions correspond to background objects
and the rest are regarded as foreground. Each of the mixture of Gaussians is
weighted with a parameter ω
k
,which represents probability of current obser-
vation belonging to the distribution, thus the equation
Σ
K
k=1
ω
k
=1.
(1.16)
The probability of the current pixel value X being in distribution k is cal-
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Change Word hyperlink to PDF hyperlink and bookmark. C#.NET Sample Code: Convert Word to PDF in C#.NET Project. Add necessary references:
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract hyperlink inside PDF. PDF Write. Insert text, text box into PDF. Edit, delete text from PDF. Insert images into PDF. Edit, remove images from PDF. Add,
1.2. ALTERNATIVE VIDEO SEGMENTATION ALGORITHMS
43
0
50
100
150
200
250
300
0
0.005
0.01
0.015
0.02
0.025
Color intensity level
Probability
Gauss1
Mixture of Gauss
Gauss2
Gauss3
Figure 1.4:
Three Gaussian distributions are plotted in the ﬁgure with
their mean and variance as {80, 20}, {100, 5}, {200, 10} respectively.
Their prior weight is speciﬁed as {0.2, 0.2, 0.6}. The probability of a
new pixel observation belonging to one of the distributions can be seen
as a sum of three Gaussian distributions .
culated as:
f(X|k) =
1
(2π)
n
2
k
|
1
2
e
1
2
(X−µ
k
)
T
Σ
−1
k
(X−µ
k
)
,
(1.17)
where µ
k
is the mean and Σ
k
is the covariance matrix of the K
th
distribution.
Thus, the probability of a pixel belonging to one of the Gaussian distribution is
the sum of probabilities of belonging to each of the Gaussian distribution, which
is illustrated in 1.4 . A further assumption is usually made that the diﬀerent
color component is independent of each other so that the covariance matrix
is diagonal - more suitable for calculations, e.g. matrix inversion. Stauﬀer
et.al. go even further in assuming that the variances are identical, implying for
example that deviations in the red, green, and blue dimensions of a color space
have the same statistics. While such simpliﬁcation reduce the computational
complexity, it has certain side eﬀects which will be discussed in the following
sections.
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Export PowerPoint hyperlink to PDF. VB.NET Demo Code for Converting PowerPoint to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Export PowerPoint hyperlink to PDF in .NET console application. C#.NET Demo Code: Convert PowerPoint to PDF in C#.NET Application. Add necessary references:
44
CHAPTER 1. SEGMENTATION
The most general solution to the foreground segmentation can be brieﬂy
formulated as: at each sample time t, the most likely distribution k from a set
of observations is estimated from X, along with a procedure for demarcating
the foreground states from the background states.
This is done by the following: A match is deﬁned as the incoming pixel
within J times the standard deviation oﬀ the center, where in  J is selected
as 2.5. Mathematically, the portion of the Gaussian distributions belonging to
the background is determined by
B= argmin
b
b
k=1
ω
k
>H
,
(1.18)
where H is a predeﬁned parameter and ω
k
is the weight of distribution k. If a
match is found, the matched distribution is updated as:
ω
k,t
=(1 − α)ω
k,t−1
(1.19)
µ
t
=(1 − ρ)µ
t−1
+ρX
t
(1.20)
σ
2
=(1 − ρ)σ
2
t−1
+ρ(X
t
−µ
t
)
T
(X
t
−µ
t
);
(1.21)
where µ, σ are the mean and variance respectively, α, ρ are the learning factors,
and X
t
are the incoming RGB values. The mean, variance and weight factors
are updated frame by frame. For those unmatched, the weight is updated
according to
ω
k,t
=(1 − α)ω
k,t−1
,
(1.22)
while the mean and the variance remain the same. If none of the distributions
are matched, the one with the lowest weight is replaced by a distribution with
the incoming pixel value as its mean, a low weight and a large variance.
1.2.6 Kernel Density Model
In , it was discovered that the histogram of a dynamic background in an
outdoor environment covers a wide spectrum of gray levels (or intensity level
of diﬀerent color component), and all these variations occur in a short period
of time, e.g. 30 seconds. Modeling such a dynamic background scene with a
limited number of Gaussian distributions are not feasible.
In order to adapt fast to the very recent information about an image se-
quence, a kernel density function background modeling can be used which only
use a recent history of past values to distinguish foreground from background
pixels.
Given a history of past values x
1
,x
2
,...x
N
,a kernel density function can be
formulated as the following:
1.2. ALTERNATIVE VIDEO SEGMENTATION ALGORITHMS
45
The probability of a new observation having a value of x
t
can be calculated
using a density function:
Pr(x
t
)=
1
n
N
i=1
K(x
t
−x
i
).
(1.23)
What this equation actually indicates is that a new background observation
can be predicted by the combination of its recent past history samples. If K is
chosen to be a Gaussian distribution, then the density estimation becomes
Pr(x
t
)=
1
N
N
i=1
1
(2π)
d
2
|Σ|
1
2
e
1
2
(x
t
−x
i
)
T
Σ
−1
(x
t
−x
i
)
.
(1.24)
Under similar assumptions as the mixture of Gaussian approach, if diﬀerent
color components are independent of each other, the covariance matrix Σ be-
comes
Σ=
δ
2
1
0
0
0 δ
2
2
0
0
0 δ2
3
(1.25)
and the density estimation is reduced to
Pr(x
t
)=
1
N
N
i=1
d
j=1
1
2πδ
2
j
e
1
2
(x
t
j
−x
i
j
)
2
δ
2
j
.
(1.26)
From the deﬁnition of probability estimation, a foreground/background
classiﬁcation process can be carried out by checking the probability value
against a threshold value, e.g. if Pr(xt) < th, the new observation can not
be predicted by its past history, thus recognized as a foreground pixel. Kernel
density estimation generalize the idea of the Gaussian mixture model, where
each single sample of the N samples is considered to be a Gaussian distribu-
tion by itself. Thus it can also handle multi-modal background scenarios. The
probability calculation only depends on its N past values, which makes the
algorithm quickly adapt to the dynamic background scene.
Regarding hardware implementation complexity, the kernel density model
needs to store N past frames, which makes it a memory intensive task. The
calculation of probability in equation 1.26 is costly. In , a look-up table
is suggested to store precalculated value for each x
t
−x
i
. This will further
increase the requirement on the memory.
1.2.7 Summary
Awide range of segmentation algorithms have been discussed, each with re-
lated robustness to diﬀerent situations and each with diﬀerent computational
46
CHAPTER 1. SEGMENTATION
Table 1.1:
Algorithm Comparison.
FD
Median
LPF
MoG
KDE
Algorithm per-
formance
fast
fast
medium
medium
slow
Memory
re-
quirement
1frame
50 −300
frames
1frame of
mean
1 frame
of
k
Gaus-
sian
parame-
ters
n
frames
of
k
Gaus-
sian
parame-
ters
Segmentation
quality
worst
low
acceptable
good
best
Hardware
complexity
very low
medium
low
to
medium
low
high
complexity. A comparison is made in  on segmentation qualities of some of
the algorithms. In fact, an unbiased comparison with a signiﬁcant benchmark
is absent. No perfect system exists to handle all kinds of issues within diﬀer-
ent background models. Furthermore, for realistic implementation of such a
system performance (frame rate, resolution, etc.). From the discussion above,
asummary is made in Table 1.1 concerning Algorithm performance, memory
requirements, the segmentation quality and hardware complexity.
From the table, it can be seen that Stauﬀer-Grimson algorithm gives good
segmentation quality with relatively low hardware complexity and memory
requirements. In , a frame rate of 11-13 FPS is obtained for a frame size
of 160×120 on an SGI O2 workstation. In our software implementation on an
AMD 4400+ processor, a frame rate of 4-6 FPS is observed for video sequences
with 352×288 resolution.
In this thesis, the hardware accelerator design is based on Stauﬀer-Grimson
algorithm with several modiﬁcations for better segmentation quality and hard-
ware eﬃciency. A variety of memory access reduction schemes are implemented,
resulting in more than 70% memory bandwidth reduction.
1.3 Algorithm Modiﬁcations
The Mixture of Gaussian algorithm works eﬃciently only in controlled envi-
ronments. Issues regarding algorithm weaknesses in diﬀerent situations are
addressed in many publications [19–21, 23]. In this section, instead of mainly
1.3. ALGORITHM MODIFICATIONS
47
50
100
150
200
250
300
50
100
150
200
Figure 1.5:
Indoor environment taken in the lab.
focusing on improving algorithm robustness, we propose several modiﬁcations
to the algorithm, with a major concern on their impacts that could lead to
potentially improved hardware eﬃciency.
1.3.1 Color Space Transformation
In theory, multi-modal situations only occur when repetitive background ob-
jects are present in the scene. However, this is not always true in practice.
Consider an indoor environment where the illumination comes from a ﬂuores-
cence lamp. An example video sequence of such environment is taken from our
lab, which is shown in ﬁgure 1.5. In our experiments, 5 pixels are picked up
evenly from the scene are measured over time. Their RGB value distributions
are drawn in ﬁgure 1.6. Clearly from the ﬁgure, instead of 5 sphere like pixel
distributions, the shapes of the pixel clusters are rather cylindrical. Pixel val-
ues tend to jump around more in one direction than another in the presence
of illumination variations caused by the ﬂuorescence lamp and camera jitter.
This should be distinguished from the situation where one sphere distribution
is moving slowly towards one direction due to slight daylight changes. Such
acase is handled by updating the corresponding mean values in the original
background model. Without an upper bound for the variance, the sphere de-