2.2. SEGMENTATION
79
located in theregion where repetitive motion occurs will generally consist of two
or more background colors, i.e. the RGB value of that specific pixel toggles
over time. This would result in false foreground object detection with most
other adaptive background estimation approaches.
The advantage of the GMM is achieved by updating several Gaussian pa-
rameters for each pixel, imposing a computational complexity and high memory
bandwidth that prohibit real-time performance using a general purpose com-
puter. In our simulations, on an AMD 4400+ dual core processor, a frame rate
of only 4-6 fps is achieved for video sequences with 320x240 resolution. For a
real-time video surveillance system with higher resolution, hardware accelera-
tion is required.
2.2.1 Algorithm formulation
The algorithm is briefly formulated as follows: Measured from consecutive
video frames, the values of any pixel can be regarded as a Gaussian distribu-
tion. Characterized by mean and variance values, the distribution represents
alocation centered at its mean values in the RGB color space, where the pixel
value is most likely to be observed over frames. A pixel containing several
background object colors, eg. the leaves of a swaying tree and a road, can be
modeled with a mixture of Gaussian distributions with different weights. The
weight of each distribution indicates the probability of matching a new incom-
ing pixel. A match is defined as the incoming pixel within certain deviation
off the center. In this paper, J times the standard deviation of the distirbu-
tion is used as matching threshold [18], where J is 2.5. The higher the weight
is, the more likely the distribution belongs to the background. Mathemati-
cally, the portion of the Gaussian distributions belonging to the background is
determined by
B= argmin
b
b
k=1
ω
k
>H
,
where H is a predefined parameter and ω is the weight. The mean, variance and
weight factors are updated frame by frame. If a match is found, the matched
distribution is updated as:
ω
k,t
=(1 − α)ω
k,t
+α,
µ
t
=(1 − ρ)µ
t−1
+ρX
t
σ
2
=(1 − ρ)σ
2
t−1
+ρ(X
t
−µ
t
)
T
(X
t
−µ
t
);
where µ, σ
2
are the mean and variance respectively, and α, ρ are learning fac-
tors. For those unmatched, the weight is updated according to
ω
k,t
=(1 − α)ω
k,t
,
Pdf link to email - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
add a link to a pdf; clickable links in pdf
Pdf link to email - 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
add hyperlink pdf file; pdf links
80
CHAPTER 2. SYSTEM INTEGRATION OF AUTOMATED VIDEO SURVEILLANCE
SYSTEM
Sensor
interface
CMOS
sensor
Matching
logic
Parameter
update
Sorting
network
Segmented
binary stream
Sorted
Gaussian
parameters
Monitor
VGA
Controller
morphology
XILINX FPGA
Sorted
Gaussian
parameters
Compressed
parameters
DDR SDRAM
Foreground
detection
Parameter
Reforming
To
Figure 2.2:
The system architecture of the segmentation unit.
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.
Maintaining a mixture of Gaussian distributions for each pixel is costly in
terms of both calculation capacity and memory storage, especially with large
frame size. To manage the RGB data from a video camera in real time, a
dedicated hardware architecture is developed with a streamlined data flow.
The hardware architecture as shown in Fig. 2.2 is presented in [30] and briefly
explained as follows: A pixel value is read into the matching logicblock from the
sensor together with all the parameters for the mixture of Gaussian distribution
and a match is calculated. In case an incoming pixel matches several Gaussian
distributions, only the one with highest weight is selected as the matching
distribution.
2.2.2 Hardware implementation
After the updated Gaussian parameters have been sorted foreground detection
is achieved simply by summing up the weights of all the Gaussian distributions
that have a higher likelihood than the updated one. By comparing the sum
with a predefined parameter H, a sequence of binary data indicating background
and foreground is streamed out to both the morphology block and the VGA
controller.
2.2.3 Memory bandwidth reduction
Slow background updating process requires high precision for each parameter
in the distributions. This is due to the fact that parameter values are changed
RasterEdge.com General FAQs for Products
copy and email the secure download link to the assistance, please contact us via email (support@rasteredge & profession imaging controls, PDF document, image to
add link to pdf; add links to pdf
RasterEdge Product Licensing Discount
s). After confirming the informations provided, we will send you an email that contains price(s) at a discount and the online order link for new licensing.
adding links to pdf in preview; pdf email link
2.2. SEGMENTATION
81
Frames
Threshold
MemoryBWreduction
MemoryBWreduction
0.45
0.45
0.5
0.5
0.5
0.5
0.55
0.55
0.6
0.6
0.6
0.6
0.65
0.65
0.7
0.7
0.7
0.7
0.75
0.75
0.8
0.8
0.8
0.85
0.9
0.9
0.9
0.95
0
500
1000
Figure 2.3:
Memory bandwidth reduction over frames is shown to the left
and memory bandwidth reduction versus different threshold is shown to
the right.
slightly at a time, but could accumulate over time. From C++ simulation, both
mean and variance for a Gaussian distribution in adjacent frames vary in the
order of 10
−4
to record slight light changes. For a fixed number representation,
28 bits are assigned to each RGB mean parameters and the variance takes 24
bits. The weight (likelihood) for each Gaussian distribution is updated using
alearning factor. To avoid an over-segmentation effect with a fast learning
factor, 16 bits are used for the weight with a slow learning factor (eg. 0.0002).
One Gaussian distribution consists of the weight together with 3 means and
1variance and contributes to 124 bits. For a video sequences with 320x240
resolution, a total of 27 Mbit Gaussian parameter data have to be stored and
updated for each new frame, which is far beyond the on-chip memory resources.
In this paper, a data compression scheme is proposed which utilizes sim-
ilarities for Gaussian distributions in adjacent areas. We classify ”similar”
Gaussians in the following way: from the definition of a matching process, each
Gaussian distribution can be regarded as a three dimensional cube in the RGB
space, where the center of the cube is composed of RGB mean values whereas
the border to the center is specified by J times variance. One way to measure
the similarity between two distributions is to check how much of the two cubes
volume that overlap. If the overlap volume takes up a certain percentage of
both Gaussian cubes, they are regarded as ”similar”. The reason for such crite-
ria lies in the fact that a pixel that matches to one distribution will most likely
match to the other, if they have enough overlapping volume. The percentage
is a threshold parameter that can be set to different values among different
simulations.
In the architecture, two similar distributions are treated as equivalent. By
only saving non overlapping distributions together with the number of equiva-
lent succeeding distributions, memory bandwidth is reduced. From simulation
RasterEdge Product Renewal and Update
4. Order email. Our support team will send you the purchase link. HTML5 Viewer for .NET; XDoc.Windows Viewer for .NET; XDoc.Converter for .NET; XDoc.PDF for .NET;
adding hyperlinks to pdf files; add hyperlink in pdf
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create PDF file from PowerPoint free online without email.
adding hyperlinks to a pdf; add links to pdf online
82
CHAPTER 2. SYSTEM INTEGRATION OF AUTOMATED VIDEO SURVEILLANCE
SYSTEM
a)
b)
c)
Figure 2.4:
The result before and after morphological filtering for differ-
ent thresholds, (a) original result, (b) with 0.8, and (c) with 0.4 thresh-
old.
in C++, various threshold values areselected to evaluate the efficiency for mem-
ory bandwidth reduction. With a low threshold value where less overlapping
Gaussians are regarded as the same, more savings could be achieved. However,
more noise is generated in the segmented image due to increasing mismatches
in the matching block. Fortunately, such noise is found non-accumulating and
therefore can be reduced by later morphological filtering. Fig. 2.3 shows the
memory bandwidth savings over frames with various threshold values. From
the figure, large memory bandwidth savings (around 95%) are achieved from
the start to approximately 380 frames, in which case no foreground object en-
ters the scene and only one out of three Gaussian distributions are updated to
contain the background. With more foreground objects moving in and occu-
pying a bigger part of the frame, the number of similar Gaussian distributions
drops dramatically, but tends to stabilize after some time when most pixels
contains both foreground and background distributions. It is also shown in
the figure that low threshold, by relaxing the criteria of similarity, results in
more memory bandwidth savings. The quality of segmentation results before
and after morphology is shown in Fig. 2.4. From these Figures, it is clear
that memory reduction comes at the cost of segmentation quality. Too low
threshold value results in noise clusters that would not be filtered out by mor-
phological filtering. In this implementation, a threshold value of 0.8 is selected,
with memory bandwidth savings of around 60%. To evaluate long term ef-
fects of memory bandwidth reduction scheme, FPGA platform is required to
collect data in real time. In future implementations, commonly used video
compression scheme such as transform coding using a DCT or DWT are under
consideration for further Gaussian parameter compressions.
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Free online Word to PDF converter without email.
add links to pdf file; add hyperlink pdf
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Convert Excel to PDF document free online without email.
change link in pdf; add links to pdf document
2.2. SEGMENTATION
83
c)
C
r
C
b
b)
X
C
r
C
b
X
X
X
X
X
C
r
d)
C
b
X
X
X
X
X
X
X
X
X
a)
Figure 2.5:
The original result (a) and the result with three different
shadow detection rules (b,c,d) in the C
b
C
r
plane, where X is the stored
mean of C
b
C
r
,five example points are shown for each rule. A new pixel
part of a potential shadow if it falls in the gray area and there is a
negative change in the Y component.
2.2.4 Shadow reduction
One drawback with the Gaussian mixture model segmentation algorithm is
that it is sensitive to shadows and noise. Thus it has been investigated in
[38] how different color spaces affect the segmentation result in terms of noise
and shadow sensitivity. The YC
b
C
r
color space was found to be best, due to
numeric stability and an independent brightness channel. The investigation
was conducted with the implementation aspects in mind, i.e. simple changes
that easily could be incorporated in the existing hardware.
To reduce the number of detected shadows, pixels that could be part of a
potential shadow have to be recognized. Assuming white light, Y will always
be smaller when shaded and that C
b
and C
r
will go towards the origin. With
this information a simple rule for shadows can be formed; A potential shadow
is found if a negative change is detected in Y and C
b
C
r
have moved slightly
towards origin, compared to the stored mean of YC
b
C
r
.In addition, a shadow
is not detected if a too large negative change in Y is found. Without this
limit, a pixel that change color from white to black would be classified as a
shadow which would result in a loss of sensitivity instead of a shadow reduction.
Based on experimental results, a suitable indoor value for the maximum allowed
negative change in Y is around 20-30% of the dynamic range of Y .
In the upper part of Fig. 2.5 three different rules for the C
b
C
r
plane to
detect potential shadows are shown. All three assume that a negative change
in Y has already been detected. The gray areas represent the part of the C
b
C
r
plane where a new pixel is ruled to be a potential shadow. The area location
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
Create editable Word file online without email. Supports transfer from password protected PDF. VB.NET class source code for .NET framework.
pdf link open in new window; pdf link
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
and .docx. Create editable Word file online without email. Password protected PDF file can be printed to Word for mail merge. C# source
accessible links in pdf; add links to pdf in acrobat
84
CHAPTER 2. SYSTEM INTEGRATION OF AUTOMATED VIDEO SURVEILLANCE
SYSTEM
is based on the stored mean of C
b
and C
r
,five example points are shown for
each rule. With the first rule a new pixel is part of a potential shadow if the
sum of absolute differences in C
b
C
r
is less than a threshold. The second rule
compares the difference in C
b
and C
r
separately to thresholds that depend on
the position of the stored mean of C
b
,C
r
. The last rule allows changes in a
small sector from origin or, if the values are close to origin, in a small box
around the stored mean of C
b
,C
r
[39]. The segmentation result with the three
different shadow rules are shown in Fig. 2.5. As seen, most of the shadows
are removed compared to Fig. 2.5a, with all three rules. However, the rule in
Fig. 2.5d removes a part of the objects neck as well, due to acceptance of large
changes in color and that color can move away from origin and still be classified
as a shadow. In this particular image no significant performance difference can
be seen between the two first rules. From a hardware complexity perspective,
the first rule is simplest, since it only requires add and compare operations.
The second rule is more complex since the thresholds depend on the location
of the stored mean of C
b
C
r
and the third rule is most complex, since it requires
adivision to approximate the arctan function.
If any form of human recognition is to be included in the surveillance sys-
tem, face detection becomes very important. To increase the chances of correct
segmentation of faces, we try to find pixels with skin tone and use that infor-
mation to improve the foreground/background decision. Skin tones differ much
between human races, from black to white and with different tones of red and
yellow. However, in the YC
b
C
r
color space, these colors are tightly distributed
in the C
b
C
r
plane along the Y axis. This means that the Y component can be
disregarded, since human skin tone has about the same color distribution in
C
b
C
r
for most Y values [40] [41] [42].
With these methods, pixels that are likely to be part of a shadow or human
skin can be found and the decision kernel of the segmentation algorithm can be
altered to vary the likelihood of including these pixels as part of the foreground.
Shadows should have a lower and human skin should have a higher probability
to be included in the foreground. In the original paper [43], the threshold used
to find a match is a constant, J, times the deviation. We propose to increase
this constant if a potential shadow is detected and to decrease it if a potential
skin pixel is detected. A matching distribution is found if
−JS
h
std < (Y
new
Y) < Jstd,
|Cb
new
Cb| <
JS
k
std, and
|Cr
new
Cr| <
JS
k
std
are true. Here std is the standard deviation, S
h
is 1 if no shadow is found and
> 1 if a shadow is found, and S
k
is < 1 if the new pixel has skin color and
1else. Fig. 2.1e shows the result of the improved segmentation with J = 2.5,
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Export PDF from Excel with cell border or no border. Free online Excel to PDF converter without email. Quick integrate online C# source code into .NET class.
add links pdf document; adding hyperlinks to pdf
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
application. Free online PowerPoint to PDF converter without email. C# source code is provided for .NET WinForms class. Evaluation
add a link to a pdf in preview; check links in pdf
2.3. MORPHOLOGY
85
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0
0
0
0
1
1
1
0
0
0
Input
Output
0
0
0
0
0
0
B
1
B
2
Window
Window
Figure 2.6:
Input and output to an erosion operation were the SE is
decomposed into B
1
and B
2
.
S
h
=2, and S
k
=0.5.
2.3 Morphology
Erosion and Dilation (E&D) are the two foundations in mathematical mor-
phology, since most morphologic operations can be broken down into these two
basic operations [44]. For example, operations such as opening, closing, gradi-
ent, and skeletonization are performed with these two base functions. Derived
from these facts, the need for efficient architectures to perform E&D becomes
evident. To address this issue a low complexity architecture has been proposed
in [45].
To easily incorporate the E&D unit into the system, some requirements
are placed on the architecture. First and most important, input and output
data must be processed sequentially from first to last pixel in the binary image
to avoid unnecessary memory handling. In addition, this allows burst reads
from memory and that several E&D units can be placed sequentially after
each other without any storage in between. Secondly, the hardware should be
small, simple, and fast in order to allow as much time and hardware space for
the object classification/tracking part of the system as possible. To increase
the overall performance of the system, it is also desirable that the size of the
Structuring Element (SE) can be changed during run time. With a flexible SE
size comes the ability to compensate for different types of noise and to sort
out certain types of objects in the mask, e.g., high and thin objects (standing
humans) or wide and low objects (side view of cars). In this paper A will
represent the binary input image and B the structuring element.
If the SE is both reflection invariant, i.e. B =
ˆ
B, and decomposable, i.e
86
CHAPTER 2. SYSTEM INTEGRATION OF AUTOMATED VIDEO SURVEILLANCE
SYSTEM
B= B
1
⊕B
2
.Then the following two equations can be derived
A⊕ B = (A ⊕ B
1
)⊕ B
2
=((A
⊖B
1
)⊖ B
2
)
(2.1)
A⊖ B = A ⊖ (B
1
⊕B
2
)= (A ⊖ B
1
)⊖ B
2
(2.2)
where
is bit inversion, ⊕ is dilation, and ⊖ is erosion. However to find decom-
positions to a general SE is a hard problem and not always possible [46] [47]. In
addition, for a SE to be reflection invariant it has to be symmetric both in re-
spect to the x and y direction, e.g., a square or a circle. However, one common
class of SEs that is both decomposable and reflection invariant is rectangles
of ones. This type of SE is well suited for the opening and closing operations
that are needed in this system. An example of erosion with a decomposed SE
is shown in Fig. 2.6, were the SE is decomposed into B
1
and B
2
. The input is
first eroded with B
1
and then B
2
.The first position of B
1
and B
2
that produce
aone is shown in the Figure, together with location in the output of this one.
With a decomposed SE, the number of comparisons per output is decreased
from the number of ones in B to the number of ones in B
1
plus B
2
,in this case
from 15 to 8.
The proposed architecture is based on Equation 2.1 and 2.2, in order to
take advantage of the reduced number of comparisons that a decomposed SE
require. In addition, when comparing Equation 2.1 and 2.2, it can be seen that
only the erosion operation with a decomposed SE has to be implemented. To
perform a dilation, the input A and the result is inverted. Hence, the same
inner kernel can be used for both operations.
With a rectangular SE of ones, erosion can be performed as a summation
followed by a comparison. To perform binary erosion, bits in A that lies directly
below the current position of B are added and compared to the size of B. If the
sum is equal to the size of B the result is one otherwise zero. When combining
this with decomposition, the summation can be broken up into two stages,
where the first stage compares the number of ones under B
1
to the width of
B
1
and the second stage compares the number of ones under B
2
in the result
from the first stage to the height of B
2
.
2.3.1 Architecture
In Fig. 2.7, the architecture of the datapath is shown together with the wordlength
in each stage. The architecture includes logic to insert padding and to choose
between erosion and dilation operation. The input and output parts, stage-
0 and 3, have a single bit wordlength, whereas the wordlengths in stage-1
and 2 depends on the largest supported size of B. The wordlengths are,
⌈log
2
(B
width
)⌉ and ⌈log
2
(B
height
)⌉ in stage-1 and 2, respectively. Thus, the
2.3. MORPHOLOGY
87
Er/Dil
Stage-3,
W
L
=1
’0’
’0’
W-Boundary
sum
2
Padd.W
ff
Rowmem
Padd.N
N-Boundary
Er/Dil
’1’
Eor S-Boundary
Stage-0,
W
L
=1
sum
1
Stage-1,
W
L
=log
2
(B
width
)
Stage-2,
W
L
=log
2
(B
height
)
sum
1
==B
width
sum
2
== B
height
Figure 2.7:
Architecture of the datapath in the erosion and dilation unit
and the wordlength (W
L
)in each stage.
total amount of required memory to perform dilation or erosion is
Mem = ⌈log
2
(B
width
)⌉ + ⌈log
2
(B
height
)⌉A
columns
bits,
where the first part is the flip-flop in stage-1 and second part is the row memory
in stage-2. For example, with a resolution of A = 240× 320 bits and the size of
B= 15 × 15, the required amount of memory is ⌈log
2
(15)⌉+ ⌈log
2
(15)⌉ · 320 =
1.25 kbit. The delay line implementations in [48] and [49], with the same A and
Bwould require (B
height
−1)A
columns
+B
width
=4.4 kbit of memory, which is
≈3.5 times more than the required memory in the presented implementation.
When sliding B
1
over a row in A, each position in A is used as many times
as the width of B
1
to calculate the sum. However, if a running sum records the
number of consecutive ones in the currently processed input row, each input
is used only once. In Fig. 2.7, the flip-flop (ff) in stage-1 stores the sum of
consecutive ones. When the input is one, the recorded sum is increased and if
the input is zero the sum is reset to zero. Each time the sum plus the input
equals the width of B
1
,stage-1 outputs a one to stage-2 and the old sum, i.e.,
B
1width
−1 , is kept to be compared to the next input. The same principle
is used in stage-2 but instead of a flip-flop a row memory is used to store the
number of consecutive hits from stage-1, i.e. number of rows above the current
point with B
1width
consecutive ones, for each column in A.
The morphological operation used in this system is an opening (erosion
followed by dilation), and due to the pipelined nature of the architecture, two
E&D units in series will not increase the execution time and only add a few
clock cycles delay. In fact, the opening operation can be performed directly
on the output stream from the segmentation unit without adding any image
memories and without adding anything to the overall execution time of the
system.
An example of a filtered segmentation result is shown in Fig. 2.1c. An
opening operation is performed with a SE size of 5x3 (height x width) pixels
88
CHAPTER 2. SYSTEM INTEGRATION OF AUTOMATED VIDEO SURVEILLANCE
SYSTEM
in the erosion part and 7x5 in the dilation part.
2.4 Labeling
After segmentation, a binary frame is produced containing connected clusters of
pixels that represent different objects. Assuming that noise has been removed
by the morphology unit, the frame now only contain objects of interest that
can be tracked and classified. To be able to separate and distinguish between
these clusters, they have to be identified, i.e. labeled.
Various labeling algorithms have been proposed and a survey of various
algorithms can be found in [50]. A common property for all these algorithms
is that they are memory access intense. Furthermore, all algorithms have to
handle the same obstacle, i.e. label collisions. In a binary image, a typical label
collision occur when a u shaped object is encountered. Since an image typically
is scanned from top to bottom and from left to right, it is not possible to know
that the two pillars in the u is part of the same object until the bottom part
of the u is encountered. Two common methods to handle this problem is:
• Equivalence Table Based Algorithms – Two scans with a corresponding
equivalence table.
• Contour Tracing Based Algorithms – A single scan with contour tracing.
Equivalence table based algorithms [51] scan through the memory writing
every label collision into an equivalence table. The first label scan is completed
on the fly as the frame is written into the memory by comparing each pixel
with its neighbors to the left and above. After the first scan all pixels are
assigned a label and all collisions have been detected. The second scan resolves
all collisions and reduce the number of labels per cluster to one.
Contour tracing based algorithms [52] is a technique that requires one global
scan together with some additional random memory accesses for the contour
tracing procedure. The major advantage is that label collisions will never occur
since when an unlabeled cluster is encountered, the contour of that cluster is
labeled immediately and every pixel within a label is regarded as part of the
same cluster. If a cluster with a labeled contour is encountered, the scan
proceeds without modification continuing until an unlabeled pixel is reached,
restarting the contour tracing procedure, or the last pixel is reached. If a cluster
has a hole inside its contour, this hole will not be traced. Every pixel between
two labels can therefore be considered a part of an object, cluster holes are
filled.
Extracting properties by post processing in the tracking stage or by a gen-
eral purpose processor can be time consuming, thus every property that can
be extracted by an algorithm without inferring additional hardware complexity
Documents you may be interested
Documents you may be interested