pdf template itextsharp c# : Add page number to pdf hyperlink application software tool html winforms .net online Thesis-hongtu6-part62

1.3. ALGORITHM MODIFICATIONS
49
80
85
90
95
100
105
60
70
80
90
100
40
50
60
70
80
90
R
RGB SPACE
G
B
A
B
C
D
E
Figure 1.7:
Acloser look of 2 Gaussian distributions on the bottom in
the left figure.
corresponding distributions are shown in figure 1.8and 1.9. By transforming
RGB into Y C
b
C
r
space, the correlation among different color coordinates are
mostly removed, resulting in nearly independent color components. With vary-
ing illumination environment, only the Y component (intensity) varies accord-
ingly, leaving C
b
and C
r
components (chromaticity) more or less independent.
In [28], such feature is utilized for shadow reduction. Consequently, values of
three independent components of a pixel in Y C
b
C
r
color space tends to spread
equally. As shown in figure 1.8, most pixel distributions are transformed from
cylinders back to spheres, capable of being modeled with a single distribu-
tion. The transformation from RGB to Y C
b
C
r
is linear, and can be calculated
according to the following:
Y = 16 + 65.481 × R + 128.553 × G + 24.966 × B
(1.27)
C
b
=128 − 37.797 × R − 74.203 × G + 112.0 × B
(1.28)
C
r
=128 + 112.0 × R − 93.786 × G − 18.214 × B.
(1.29)
Only minor hardware overhead with a few extra multipliers and adders are
introduced, where multiplication with constant can be further utilized to reduce
hardware complexity. Simplifications can be performed to further reduce the
Add page number to pdf hyperlink - 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 link to pdf; add url to pdf
Add page number to pdf hyperlink - 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
change link in pdf file; pdf hyperlink
50
CHAPTER 1. SEGMENTATION
80
100
120
110
120
130
140
120
125
130
135
140
Cb
YCbCr SPACE
Y
Cr
Figure 1.8:
5Sphere distributions in Y C
b
C
r
Space space.
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
V
Figure 1.9:
Unpredictable distributions in HSV Space.
1.3. ALGORITHM MODIFICATIONS
51
Detection
MUX
Monitor
Parameter
Update
CMOS
Sensor
Sensor
Interface
RGB2YCbCr
Network
Sorting
Matching
Logic
VGA
Controller
DDR SDRAM
Parameter
Coding &
Decoding
Foreground
FPGA
Figure 1.10:
The conceptual block diagram of the segmentation unit.
number of multipliers to be 4 [29]. HSV color space, on the other hand, also
with correlated coordinates, is no better than RGB color space if not worse.
Unpredictable pixel clusters appeared occasionally as shown in figure 1.9, which
is impossible to model using Gaussian distributions.
1.3.2 Algorithm Simplifications
We propose two simplifications to the algorithm. In the original algorithm
specification, unbounded growing distribution will absorb more pixels. As a
result, the weight of that distribution will soon dominate all others. To over-
come this, in [18], all updated Gaussian distributions are sorted according to
the ratio ω/σ. In this way, the distribution with dominant weight but large
variance does not get to the top, identified as background distribution. In our
approach, with Y C
b
C
r
color space transformation, no upper bound is needed.
All distributions can be simply sorted by their weights only, effectively elimi-
nating division operations in the implementation.
Another simplification made in the process of foreground/background detec-
tion is instead of using equation 1, the determination can be made by checking
the weight of each distribution only. This is due to the fact that one pixel clus-
ter will not spread out in several distributions by color space transformation to
YC
b
C
r
.The equation that determines the background distribution is changed
to
B= argmin
k
k
>H).
(1.30)
52
CHAPTER 1. SEGMENTATION
+/− 1
Mux
DDR SDRAM
Decoding
RGB2YCbCr
+/− 0.25
Sensor
Interface
Wordlength
Reduction
>
D
Counter
Sorting
VGACtrl
Pixel
Locality
Binary
Mask
> H
unmatched parameter update
[Weight]
16
30
[Weight]
46
Camera
DDR
Buffer
DDR
Buffer
Match
&Switch
DDR controller
24
24
[Mean]
24
6[Variance]
46
46
24
16
'0'
'1'
6
[Variance]
[Mean]
3 Gauss
46x3
FPGA
No_Match
YCbCr
Parameter Update
rCbCY
3 Gauss
46x3
3x50
3x46
[Mean]
16
1
3
2
[Mean, Variance]
[Mean, Variance]
16
30
46
α1
1−α1
1−α1
1−α1
Figure 1.11:
The system architecture of the segmentation unit.
1.4. HARDWARE IMPLEMENTATION OF SEGMENTATION UNIT
53
This results in automatic single or multi modal background model without
having to adjust the value of H.
1.4 Hardware Implementation of Segmentation Unit
To perform the algorithm with VGA resolution in real-time, a dedicated hard-
ware architecture, with a streamlined data flow and memory bandwidth reduc-
tion schemes, is implemented to address the computation capacity and memory
bandwidth bottlenecks. Algorithm modifications covered in previous sections
are implemented with potential benefits on hardware efficiency and segmenta-
tion quality. This is a large improvement to the previous work [30], where only
352×288 resolution is achieved without any memory reduction schemes and
algorithm modifications. In this section, a thorough description of the whole
system architecture of the segmentation unit is given, followed by detailed dis-
cussions on memory reduction schemes.
To help for a better understanding of the architecture, a simplified con-
ceptual block diagram of the whole system is given in figure 1.10 to illustrate
the dataflow within the system. From the figure, the whole system starts with
CMOS image sensor capturing video sequence in real-time and feeding it to
the system through a sensor interface. The interface is designed to be able to
control the parameters of the image sensor on run-time, e.g. analog gain and
integration time, so that better image quality can be obtained within different
environments. The sensor interface is also responsible for sampling the image
data transferred from off-chip. In our implementation, an over sampling scheme
by higher clock frequency (100Mhz) is used to ensure the accuracy of the image
data. The image data is captured with one color component at a time, and
three complete color components are sent to the system after serial-parallel
transform. To handle different clock frequencies, input FIFOs, implemented as
distributed RAMs, are used to interface to both the segmentation logic and the
VGA controller where the original video data can be monitored on a screen.
The image data from the sensor are RGB values, and need to be converted into
YC
b
C
r
components before entering the segmentation logic block according to
the algorithm modification above. Each pixel has a series of corresponding
Gaussian distributions, where are stored on off-chip memories (DDR SDRAM)
due to its size. With all the Gaussian parameters read from the DDR SDRAM
and decoded by the parameter encoder/decoder, a match is calculated in the
matching logic block to check if the incoming pixel matches any of the exist-
ing distributions. The match and switch block is composed of mainly com-
parators and multiplexer so that any the matching Gaussian parameters are
multiplexed to a specific output port. The output from the matching block is
reordered Gaussian distributions with the matching distribution switched to a
specific port. The Gaussian distributions are updated according to the algo-
54
CHAPTER 1. SEGMENTATION
rithm modifications mentioned above, from where the foreground/background
detection can start by checking the weight of the updated matched Gaussian
distribution. The output is a binary stream to be multiplexed to the monitor,
indicating foreground and background pixels with white and black colors. The
updated Gaussian parameters have to be sorted for use in the next frame, and
all distributions should be ordered according to their weight. This is imple-
mented in a dedicated sorting network that will be covered in more details in
the following section. To reduce heavy memory bandwidth incurred by access-
ing off-chip DDR SDRAM that stores one frame of Gaussian distributions, an
encoding/decoding block is designed by utilizing pixel localities in succeeding
neighboring pixels. This is covered in more detail in Section 1.4.3.
In the following sections, implementation details of the architecture shown
in figure 1.11 are explained with an emphasis on the parts with algorithm mod-
ifications, which are indicated by shaded area. From the figure, with the image
data captured and transformed into Y C
b
C
r
color space as explained earlier,
the match and switch block tries to match the incoming pixel with Gaussian
distributions taken from the previous frame. To avoid the competition sev-
eral Gaussian distributions matching the incoming pixel, only the one with
highest likelihood (large weight) is selected as the matching distribution. A
matched Gaussian is switched to the bottom(3 in the figure). In case no match
is found, a No
match signal is asserted for use in later blocks. Depending
on if there is a match for a distribution, each distribution is updated accord-
ingly. For the matched Gaussian distribution, a proposed updating scheme
is implemented with only adders/subtractors for the mean and variance val-
ues. Depending on whether the incoming Y C
b
C
r
value is larger than the mean
values, a addition or subtraction is applied for parameter updating. Similar
updating schemes are utilized for variance update. The proposed parameter
update results in low hardware complexity by replacing the hardware costly
operations in equation1.20 and 1.21, e.g. square and multiplication with large
wordlength with incrementors/decrementors. Other benefits of the proposed
updating schemes are described in detail in section 1.4.2. For the case that no
match is found, a MUX is used together with a No
match signal to update all
parameters for the distribution (3 in the figure) with predefined values.
1.4.1 Sorting
The updated Gaussian parameters have to be sorted for use in the next frame.
In order to reduce hardware complexity found in parallel sorting networks,
such as [31] [32] [33], while still maintaining the speed, a specific feature in
the algorithm is explored. By observing that only one Gaussian distribution is
updated at a time and all the distributions are initially sorted, the sorting of
NGaussian distributions can be changed to rearranging an updated distribu-
1.4. HARDWARE IMPLEMENTATION OF SEGMENTATION UNIT
55
MUX
MUX
MUX
MUX
MUX
MUX
MUX
MUX
MUX
Gauss 1 
Gauss 2 
Gauss 4
Gauss 5 
Updated Gauss 3
Ordered Gauss 
1,2,4,5
sel
sel
sel
sel
sel
sel
sel
sel
Ordered updated 
Gauss 1,3,2,4,5 
Gauss 1 
Gauss 5 
Gauss 4 
Gauss 2 
Gauss 3 
Gauss 1 
Gauss 1 
Gauss 1 
Gauss 2 
Gauss 2 
Gauss 5 
Gauss 5 
Gauss 4 
Gauss 4
Gauss 5 
Figure 1.12:
The sorting architecture. Five Gaussian are sorted according
to their weight. The architecture scales well with increasing number of
Gaussian due to its fixed logic level (one comparator and one MUX).
56
CHAPTER 1. SEGMENTATION
Table 1.2:
Hardware complexity within different sorting architecture, where p
is log
2
N.
Scheme
Nr. of Comparators
Nr. of Stages
Proposed
N− 1
2
[31]
(p
2
−p + 4)2
p−2
−1
(
1
4
)(N)(log
2
N)
2
Odd-even trans. sort
O(N)
O(N
2
)
Bitonic Sort
O(N log N)
2
O(log N )
2
tion among N-1 ordered distributions. As a result, both the number of sorting
stages and the number of comparators are reduced to only one sorting stage
with N-1 comparators and N MUXes. This results in both increased speed and
reduced area. The architecture for the sorting network is shown in figure 1.12.
From the figure, all unmatched ordered Gaussian distributions are compared
with the updated distribution (3 in the figure), and the output of each com-
parators signifies which distribution is to be multiplexed to the output, e.g.
if the weight of any unmatched distribution is smaller than the updated one,
all unmatched distributions below the current one is switched to the output
at the next MUX below. Such an architecture scales very easily to support
sorting more Gaussian distributions. The number of stages will not increase
with the number of Gaussian distributions to be sorted. Due to memory band-
width limitation, only 3 Gaussians needed to be sorted in our implementation
which makes it trivial task. However, if in future implementations with more
Gaussians per pixel is wanted, e.g. 9 Gaussians, such an architecture will be
useful to reduce hardware complexity. A comparison of hardware complexity
between proposed sorting architecture and other schemes mentioned above is
shown in table1.2. The foreground detection is achieved by simply comparing
the weight of the distribution on the bottom with a predefined parameter H
according to the simplifications made in previous sections. All sorted Gaussian
parameters are encoded and decoded before and after writing to and reading
from a DDR SDRAM, with manipulated data flow controlled by a custom made
DDR controller. The encoding and decoding scheme is explained in details in
section 1.4.3. A sequence of binary data indicating background and foreground
is multiplexed out to a monitor through a VGA controller.
1.4.2 Wordlength Reduction
Slow background updating requires large dynamic range for each parameter in
the distributions. This is due to the fact that parameter values are changed
slightly between frames, but could accumulate over time. In this section, pa-
rameter wordlength reduction is investigated for potential memory bandwidth
1.4. HARDWARE IMPLEMENTATION OF SEGMENTATION UNIT
57
0
200
400
600
800
1000
1200
1400
0
10
20
30
40
50
60
70
80
90
100
zoom in area
(a) The original parameter updating scheme in presence of relatively fast light
changes. Red color component values (solid line) of a pixel over frames are plotted
together with updated mean values for the red color channel (diamond line).
120
140
160
180
200
220
240
260
280
300
45
50
55
60
65
70
75
(b) A closer look at the zoom in area in the the figure above.
Figure 1.13:
The results from the original parameter updating scheme.
58
CHAPTER 1. SEGMENTATION
0
200
400
600
800
1000
1200
1400
0
10
20
30
40
50
60
70
80
90
100
zoom in area
(a) The proposed parameter updating scheme in presence of relatively fast light
changes. Red color component values (solid line) of a pixel over frames are plotted
together with updated mean values for the red color channel (star line).
180
200
220
240
260
280
44
46
48
50
52
54
56
58
60
62
64
(b) A closer look at the zoom in area in the figure above
Figure 1.14:
The results from the proposed parameter updating schemes.
Documents you may be interested
Documents you may be interested