download pdf file in asp.net using c# : Convert doc to pdf with hyperlinks Library software class asp.net winforms .net ajax Thesis-hongtu8-part64

1.4. HARDWARE IMPLEMENTATION OF SEGMENTATION UNIT
69
50
100
150
200
250
300
50
100
150
200
(a) Scene “parklot”
0
500
1000
1500
2000
2500
3000
0.85
0.9
0.95
1
Frame
Memory BW reduction
0.5
0.6
0.7
0.8
0.9
(b) Memory reduction in Scene parklot
Figure 1.23:
Memory reduction results tested in Scene “parklot”. Video
sequences are provided by AXIS Communications [34].
Convert doc to pdf with hyperlinks - 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 hyperlink to pdf in; add links to pdf in acrobat
Convert doc to pdf with hyperlinks - 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
clickable pdf links; add hyperlink pdf document
70
CHAPTER 1. SEGMENTATION
0
500
1000
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
Frame
Memory bandwidth reduction
0.9
0.8
0.7
0.6
0.5
0.5
0.6
0.7
0.8
0.9
0.45
0.5
0.55
0.6
0.65
0.7
0.75
Threshold
memory bandwidth reduction
Figure 1.24:
Memory bandwidth reductions achieved in the video se-
quences from our lab. Left: memory bandwidth reduction over frames.
Right: Memory bandwidth reduction over threshold value.
Figure 1.25:
The results before and after morphological filtering for differ-
ent thresholds: (left) Original result, (middle) Threshold of 0.8, (right)
Threshold of 0.4.
VB.NET PDF Page Replace Library: replace PDF pages in C#.net, ASP.
PDF to text, C#.NET convert PDF to images VB.NET, including text, image, hyperlinks, etc. String = Program.RootPath + "\\" Output.pdf" doc.Save(outputFilePath
add url pdf; convert a word document to pdf with hyperlinks
VB.NET PDF Thumbnail Create SDK: Draw thumbnail images for PDF in
PDF to svg, C#.NET convert PDF to text, C#.NET convert PDF to images Dim inputFilePath As String = Program.RootPath + "\\" 1.pdf" Dim doc As PDFDocument
c# read pdf from url; pdf link to email
1.5. SYSTEM INTEGRATION AND FPGA PROTOTYPE
71
With a low threshold value where less overlapping Gaussian distributions are
regarded as the same, more savings could be achieved. However, more noise
is generated due to increasing mismatches in the matching block. Fortunately,
such noise is found non-accumulating and therefore can be reduced by later
morphological filtering [35]. Figures 1.20,1.21,1.22,1.23 show the memory
bandwidth savings over frames with various threshold values. The simula-
tion results are obtained from matlab, with four video sequences provided by
AXIS [34] are evaluated for both indoor and outdoor scenes. The sequences are
selected to reflect a range of real-world background environments with possible
difficulties for many segmentation and tracking algorithms. The scene “stairs”
comprises people moving up and down the stairs randomly. Gradual illumi-
nation changes together with shadows are the major disturbing factors. The
scene “hallway” focus on the scenarios with people moving closer or further
away from the camera. The foreground object size is varying over time. The
scene “trees” address the issue of quasi-static environments where a swaying
tree is present as the dynamic background object. The scene “parklot” presents
aenvironment with walking people, moving cars of different size. Gradual illu-
mination as well as waking foreground object are also within the focus. It can
be seen from the sequences, memory reductions scheme works robustly within
different real-world environments with variation only in the beginning due to
varied foreground actives. During initialization phase, only background pixels
are present, which exhibit high similarity within neighboring pixels. With fore-
ground objects entering the scene, part of Gaussian distributions are replaced,
which results in the decrease of number of similar Gaussian distributions. The
trends will continue until it reaches a certain point where most pixel locations
contains a foreground distribution. The decrease will flattens out in the end
since more foreground objects always replace the distribution that represent
aforeground pixel. Foreground objects activities can vary in different video
scenes, e.g. continuous activities in figure 1.20(a) where people going up and
down the stairs all the time, and the two peak activity periods around frames
600 − 900 and frames 2100 −2500 in figure 1.21(a), where people walking by in
two discrete time period. In the long run, the bandwidth savings tends to sta-
bilize (around 50%−75% depending on threshold value) after the initialization
phase. Another test sequence is also experimented in our lab. Similar results
are observed as shown in figure 1.24. The quality of segmentation results before
and after morphology are shown in figure 1.25, where it is clear that memory
reduction comes at the cost of segmentation quality. Too low threshold value
results in clustered noises that would not be filtered out by morphological fil-
tering. In this implementation, a threshold value of 0.8 is selected, combined
with wordlength reduction scheme, a memory bandwidth reduction of over 70%
is accomplished. To evaluate long term effects of memory bandwidth reduction
scheme, FPGA platform is required to collect data in real time.
72
CHAPTER 1. SEGMENTATION
Table 1.4:
Hardware complexity for different blocks within segmentation unit.
Logic Block
Nr. of Slices (%)
Nr. Block RAMs
Match
253 (4%)
0
Switch
652 (11%)
0
Parameter Update
483 (8%)
0
Pixel Locality
1530 (25%)
0
Sensor Interface
540 (9%)
3
Sorting
355 (6%)
0
DDR controller
1599 (26%)
24
RGB2Y C
b
C
r
181 (3%)
0
VGA controller
377 (6%)
57
1.5 System Integration and FPGA Prototype
The segmentation unit is prototyped in an Xilinx VIrtexII vp30 development
board, as shown in figure 1.26. The board come with one DDR memory slot
with customized on board signal traces that minimizes the skew between differ-
ent signals. Virtex II vp30 is equipped with two on-chip PowerPC embedded
processor cores. The number of on-chip block RAMs is 136, with 2448 Kb in
total. A custom-made PCB extension board is mounted on the FPGA board
to support image data read in through a image sensor. A dedicated VGA con-
troller is developed streaming output data into a monitor, where the results
from different stage of the logic can be monitored. Detailed description of the
system integration of the whole tracking system is covered in the next chapter.
In table 1.4, a summary of the hardware complexities of different blocks in the
segmentation is given. It can be seen that algorithm modifications results in a
low hardware complexity in parameter updating block, which merely occupies
8% of the total utilized resources. However, memory reduction scheme with
pixel locality incurs relatively costly in hardware, where many multiplications
are needed to calculate the cube volumes. DDR controller contributes to a
large part of the whole design resources, due to complicated memory command
and data signal manipulations, clock schemes, and buffer controls. The hard-
ware complexity of sorting and color space transformation is low by after op-
timizations. VGA controller consumes most of the on-chip memory resources.
Dual-port block RAMs are used as video RAMS in the VGA controller, which
are shared by different blocks of the whole surveillance system to display the
results from different stages on a monitor . Block RAMs are also used as data
buffers to support DDR burst read and write operations.
1.7. CONCLUSIONS
73
Figure 1.26:
FGPA prototypes.
1.6 Results
The system is implemented on a Xilinx VirtexIIpro vp30 FPGA [36] develop-
ment board as shown in figure 1.26. The whole design is partitioned into 3
clock domains for different blocks, and asynchronous FIFOs are used to inter-
face blocks working with different clocks. A KODAK KAC-9648 CMOS sen-
sor [37] is used to capture color images stream into the FPGA platform. Real
time segmentation performance is achieved on video sequences with 3 Gaussian
distributions per pixel. With the proposed memory reduction schemes, off-chip
memory bandwidth is reduced by more than 70%. A summary of the whole
design is given in Table 1.3.
1.7 Conclusions
A Real-time video segmentation unit is implemented on an Xilinx VirtexII
FPGA platform, serving as a real-time testbench for evaluating long term ef-
fects of the corresponding algorithm. The segmentation unit is an important
part of the whole tracking system developed at the department. With real
time performance, tracking schemes can be evaluated in varied environments
74
CHAPTER 1. SEGMENTATION
for system robustness testing . Software/hardware partition is facilitated in an
FPGA platform, where high level operations e.g. features extraction in a track-
ing algorithm can be implemented in software. The calculation and memory
intensive tasks e.g. segmentation, morphology are left to customized hardware
architecture. For the implementation of the hardware units, memory usage is
identified as the main bottleneck of the whole system, which is is common in
many image processing systems. This is especially true for segmentation since
most algorithms operates in pixel-wise structures. To address the issue a joint
memory reduction scheme is proposed by utilizing pixel locality and wordlength
reduction. By measuring similarity of neighboring gaussian distributions with
overlapping volume of two cubes, threshold can be set to classify Gaussian
similarities. Wordlength reduction is as important for memory bandwidth re-
duction. By utilizing coarse parameter updating scheme, wordlength for each
Gaussian parameters is reduced by more than 43%, which effectively decrease
the memory bandwidth to off-chip memories. The substantial bandwidth re-
duction comes at the cost of segmentation quality. By setting a threshold value
to a low value, noise generated can not be removed by morphology operation.
Careful tradeoffs should be made based on different application environments.
Algorithm modifications are of great importance for the efficiency of the hard-
ware implementation. By utilizing Y C
b
C
r
color space, several simplifications
can be made that results in potential hardware savings.
Chapter
2
System Integration of Automated Video Surveil-
lance System
In this chapter, an original paper is presented for system integration of a real-
time video surveillance embedded system:
Fredrik Kristensen, Hugo Hedberg, Hongtu Jiang, Peter Nilsson, and Vik-
tor
¨
Owall, ”Hardware Aspects of a Real-Time Surveillance System” , in
Proc. of The Sixth IEEE International Workshop on Visual Surveillance.
The author’s contribution is on the segmentation part. Many parts of the
paper have been changed since the publication. This work is currently being
updated and revised. A journal paper is in preparation to be submitted in
February, 2007.
75
76
CHAPTER 2. SYSTEM INTEGRATION OF AUTOMATED VIDEO SURVEILLANCE
SYSTEM
Abstract
This paper presents the implementation of an automated digital video surveil-
lance system for real-time performance on an embedded platform. To achieve
real-time performance, the system includes hardware accelerators for video
segmentation, morphological operations, labeling and feature extraction while
tracking is handled in software. By implementing a complete system on an
embedded platform, bottlenecks in computational complexity and memory re-
quirements can be identified and addressed. A memory access reduction scheme
for the video segmentation part that utilizes pixel locality is proposed which
shows the potential of reducing accesses with >60%. It is also shown how a
low-complexity addition to the segmentation rule can reduce the affect of shad-
ows. Furthermore, a low complexity morphology architecture with low memory
requirements is presented together with a labeling unit based on a contour trac-
ing technique. The system is running in real-time at an FPGA development
board with a resolution of 320×240 at 25 frames per second.
2.1. INTRODUCTION
77
Figure 2.1:
Surveillance system, (a) original image, (b) binary motion
mask, (c) filtered and labeled motion mask, (d) detected objects, (e)
detected objects improved result, and (f) tracking results
2.1 Introduction
In this paper we outline an attempt to automate digital surveillance running
on embedded platforms in real-time. The goal is to hardware accelerate com-
putationally complex parts of a self contained intelligent surveillance camera
that can track moving objects. The demands on video surveillance systems are
rapidly increasing regarding parameters such as frame rate and resolution. Fur-
thermore, with an ever increasing data rate together with an increased number
of video streams an automated process for extracting relevant information is
required. Due to the large amount of input data and the computational com-
plexity of the algorithms, software implementations are not yet sufficient to
sustain real-time performance on embedded platforms. Therefore, algorithms
that are well suited to be implemented as dedicated hardware accelerators with
streamlined dataflow are required. The presented hardware platform has been
developed with the goal of identifying computational and memory access bottle-
necks. Furthermore, when proposing modifications to the original algorithms
to overcome these bottlenecks extensive simulations are needed, especially if
long-term effects in the video sequences can be envisioned. Utilizing a recon-
figurableplatform based on a Field Programmable Gate Array (FPGA) reduces
the simulation and development time considerably.
Aconceptual overview of the surveillance system is shown in Fig. 2.1. The
78
CHAPTER 2. SYSTEM INTEGRATION OF AUTOMATED VIDEO SURVEILLANCE
SYSTEM
camera feeds the image processing system with a real-time image stream of
25 frames per second (fps). A segmentation algorithm, in this case Gaussian
Mixture background Model (GMM), preprocesses the image stream and pro-
duces a binary mask in which zeros and ones correspond to background and
foreground, respectively. In theory, only the moving parts of an image should
be distinguished as independent objects in the binary mask. However, in re-
ality the mask will be distorted with noise and single objects are shattered,
e.g., if parts of the moving object has the same color as the background. In
order to remove noise and merge shattered objects, one or more morphological
operations are performed on the mask. These morphological operations will
produce a frame of connected clusters which have to be identified, i.e. labeled,
and features should be extracted to be sent as input to the tracking algorithm.
The main bottlenecks of the segmentation algorithm, shared with many
other image based algorithms, are the high memory bandwidth and the overall
memory requirements. A reduced memory access scheme is proposed, which
introduces coding of the Gaussian parameters using pixel locality. A reduction
of >60% is indicated but results in increased noise in the binary mask. However,
this noise is non-accumulating and can be reduced by the morphology operation
at no extra cost. Long term effects of the memory reduction scheme as well
as more advanced version have to be further investigated. Furthermore, it
has been investigated how different color spaces affect the segmentation result
in terms of noise and shadow sensitivity. A low complexity and low memory
requirement architecture for morphological operations is presented which allows
for a larger number of such operations to be performed. In addition, a labeling
unit based on a contour tracing technique is presented which extracts features
at low extra cost.
Typical examples of intermediate results are shown in Fig. 2.1. In Fig. 2.1a
the original image is shown and the segmented binary mask in Fig. 2.1b. The
labeled objects are shown in Fig. 2.1c were we can notify that the noise has
been removed. By modifying the segmentation algorithm to be able to identify
potential shadows we see that these can be removed to a large extent, e.g. the
large shadow attached to the lower right side of the mid-person as shown in
Fig 2.1d and e. Finally, Fig. 2.1f shows the output from the tracking algorithm
where the objects are identified by the colored bounding boxes.
2.2 Segmentation
Compared to many other algorithms for video segmentation, one based on
Gaussian Mixture background Model (GMM) was proposed in [18] with the
unique feature of robustness in multi-modal background scenarios. A GMM
is required for modeling repetitive background object motion, for example,
swaying trees, reflections on a lake surface, a flickering monitor, etc. A pixel
Documents you may be interested
Documents you may be interested