how to save pdf file in c# windows application : Add a link to a pdf in acrobat application control utility html web page windows visual studio Thesis-hongtu10-part55

2.4. LABELING
89
FSM
2
Cluster memory
FSM
1
Labelmemory
Figure 2.8:
Overview of the implemented architecture.
should be seen as an advantage. In comparison, both types of labeling algo-
rithms can extract maximum and minimum coordinates and the number of
pixels in each cluster. In addition, the contour tracing algorithm can calculate
moments (center of gravity) and fill holes inside the clusters. Thus, the contour
tracing label algorithm is more suitable to be used in a automated surveillance
system.
2.4.1 Architecture
An overview of the architecture is illustrated in Figure 2.8. The first Finite
State Machine (F SM
1
)in Figure 2.8, first writes the incoming frame into the
labeling memory, since the contour tracing phase can not start without the
complete frame. Secondly, a global scan starts from left to right and top to
bottom, searching for the upper leftmost pixel equal to one in a cluster. This
pixel is marked as starting point and the contour of that cluster is traced,
writing the label to each contour pixel.
As the input frame is being sequentially written into the label memory, the
location of the first and last 1 in the input is set as start point and end point
respectively. When the global scan starts, the first visited address is the start
point and the last visited location is the end point. Depending on the input,
this procedure can in many cases reduce memory accesses without additional
complex hardware.
During the contour tracing phase, FSM
1
outputs the coordinates for every
contour pixel together with control signals to F SM
2
. FSM
2
updates the max-
imum /minimum coordinates for every label together with the variables used
to calculate moments. The dual memory architecture, depicted in Figure 2.8,
is a memory pipeline which gives the tracking stage access to the label infor-
mation of the previous frame, i.e. when the F SMs are updating one of the two
memories, they give access to the other.
Add a link to a pdf in acrobat - 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
c# read pdf from url; add hyperlink to pdf acrobat
Add a link to a pdf in acrobat - 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 hyperlinks to pdf; clickable links in pdf files
90
CHAPTER 2. SYSTEM INTEGRATION OF AUTOMATED VIDEO SURVEILLANCE
SYSTEM
An example of a labeled motion mask is shown in Fig. 2.1c. Each label is
represented by a color.
2.5 Feature extraction
Features are used to separate the tracking/classification part of the system
from the image stream. This is necessary since the amount of data in the
image stream is very large and the tracking/classification part is implemented in
software running on an embedded processor. A feature is a property extracted
from an object in the image, e.g. size, color, texture, or shape, that can separate
different objects or recognize a certain object class.
Features are calculated for each object in each video frame and if several
features are used, heavy calculations are required. This means that they often
are well suited to be implemented in hardware. With good features, the amount
of data that the track/classification algorithms have to handle can be reduced
to a level that is suitable for an embedded software implementation
Agood feature describes each object with a unique and compact code and
does not change if the object is scaled, rotated, or enters an area with different
lighting. This is necessary to be able to track an object through different
environments. For example, to track a person standing under a lamp close to
the camera that moves away from the camera to a darker corner of the room,
features that are size- and lighting-invariant are required.
In this system we have three types of features. First, the once that can
be acquired from the contour tracing in the label unit, i.e., minimum and
maximum X and Y coordinates, the number of pixels (size), and center of
gravity coordinates. These features are often enough to track non-occluded
objects in the video stream. Secondly, color features are calculated to solve
occlusions, these include color-mean, -variance, and -histogram of an object.
These features have been chosen since they can be calculated from streaming
data without any reordering of the pixels and produce a small number of data,
i.e. minimum processing time and memory requirements. In addition, color
features are size invariant and with the right color space also lighting invariant.
Thirdly, the tracking program calculates prediction features, such as motion
and size predictions, where the size prediction corresponds to motion prediction
in the direction towards or away from the camera. These features are used to
make an initial guess about which objects from previous frame corresponds to
which objects in the current frame.
2.6 Tracking
Tracking are most suitable to implement in software, since this process involves
alot of exceptions and bookkeeping. Another concern is updating the algo-
C# PDF Converter Library SDK to convert PDF to other file formats
manipulate & convert standard PDF documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat.
add url to pdf; add links to pdf document
2.7. RESULTS
91
Figure 2.9:
The system development board.
rithms or modify them to fit a certain scenario, which is also easily done with a
software solution. Thus, our tracking is performed in software and it consists of
two parts; clustering and matching. Clustering is necessary since segmentation
is not perfect and larger objects, like humans, are often split into more than
one object. Clustering, merge smaller objects into larger ones based on the
size of the objects found in previous frame. Matching is performed between all
stored objects and all new clustered objects, based on the least mean error of
the features.
The features described in the previous section are sufficient to perform
tracking of moving objects in the video stream during the period they are
present in the view of the surveillance camera. However, they are not reliable
to keep track of an object that walks out from the scene and reenters at a later
time. Partial and total occlusion can be handled in most cases but if two or
more persons enter the scene with similar clothing occlusion handling between
those persons becomes unreliable. The obvious solution to these problems is
to include more and better features, which is currently investigated.
2.7 Results
The system is implemented on a Xilinx VirtexIIpro vp30 FPGA development
board, with a 256MB DDR SDRAM and two FPGA embedded Power PCs.
AKODAK KAC-9648 CMOS sensor is used to capture color images at 25 fps
with a 320x240 resolution. The development board is shown in Fig. 2.9 with
the sensor attached directly onto the board. A custom made VGA-controller
provides a monitor with results from the different parts of the system.
Real time segmentation performance is achieved on video sequences with 3
92
CHAPTER 2. SYSTEM INTEGRATION OF AUTOMATED VIDEO SURVEILLANCE
SYSTEM
Gaussian distributions per pixel at an operating frequency of 100 MHz. The
off-chip SDRAM is used to fulfill the requirements to store the large amount
of Gaussian parameter data. With the proposed memory reduction scheme ap-
plied to experimental test video inputs, off-chip memory bandwidth is reduced
from 1.37 Gbit/s to 0.55 Gbit/s. The morphology unit supports structuring
elements (SE) up to the size of 15x15 pixels with individual settings for width
and height. The SE size can be changed during runtime and is individual for
each erosion/dilation unit. The datapath memory and intermediate FIFOs are
less than 3.2 kbit per unit and the operating speed is 100 MHz. The labeling
unit extracts min and max coordinates of up to 64 objects per frame. The dual
memory architecture requires 300 kbit of memory and the operating speed is
67 MHz. The color feature extraction and the tracking algorithm are currently
running in software on the embedded Power PC. In the next versions of the
system, moment calculation will be added to the labeling part and the color
feature extraction will be moved to hardware.
The system prototype is modular, in the sense that each block can be re-
placed with other algorithms without changing the system architecture. Fur-
thermore, each unit is parameterized in order to evaluate long and short time
effects of various settings. More information and example videos can be found
at the project homepage [53].
2.7.1 Bottlenecks
The presented system use a resolution of 320x240, which is rather low com-
pared to modern digital video cameras. This resolution is used since there is a
limited amount of resources, especially memory, on the FPGA. However, future
surveillance systems will most likely require a higher resolution and therefore
it is of interest to study the bottlenecks of the system and how they react to
an increased resolution. For example, if the resolution increase to 640x480,
i.e. four times as many pixels per image, and the frame rate remains 25 fps,
how will this affect the different parts of the system and what can be done to
decrease the impact of an increased resolution?
The segmentation algorithm scales linearly, i.e. the critical memory band-
width increases to 5.5 Gbit/s with the straight forward implementation and 2.2
Gbit/s with the presented memory reduction scheme. To reduce the bandwidth
further the approach used in [54] could be used, where the distributions are not
updated every frame. The morphology unit is much less affected by a resolution
increase, since the memory is only dependent on the width of the image. If the
SE is increased to match the higher resolution, i.e. to 31x31 pixels, only 2.5
times more memory is required in the data path and the intermediate FIFOs
are unaffected. In the label unit, both label memories increase with a factor
of 4. One way to reduce this could be to only keep one label memory used
2.8. CONCLUSIONS
93
by the contour tracing algorithm as it is, and compress the resulting labeled
image into a smaller memory using a compression scheme, e.g. run length en-
coding or JBIG [55]. In terms of memory, feature extraction is unaffected by
the resolution increase, since it only works on streaming data and only stores
the result. It will however, require 4 times as many clock cycles to execute,
this is true for all previous blocks as well. The only part totally unaffected by
the resolution increase is the tracking part. Neither the number of objects nor
the number of features per object is affected by a resolution increase.
2.8 Conclusions
In this paper a real-time hardware platform for an automated digital surveil-
lance system is presented. The platform has been developed in order to identify
and propose solutions to computational and memory bottlenecks. Due to the
real-time processing it also substantially reduces analysis of long terms effects
due to changes in the algorithms and to parametric changes. A memory scheme
reducing memory accesses with > 60% in video segmentation is proposed. Fur-
thermore, a low complexity morphology architecture in combination with a
labeling unit and the video segmentation part is presented. Feature extraction
and tracking is currently implemented in software on an embedded Power PC
on the FPGA. While the feature extraction is moving towards a hardware im-
plementation the tracking will stay in software. A simplified system prototype
is running on an FPGA development board.
Bibliography
[1] D. A. Migliore, M. Matteucci, and M. Naccari, “View-based detection
and analysis of periodic motion,” in Proc. of the 4th ACM international
workshop on Video surveillance and sensor networks, California, USA,
October, 2006, pp. 215–218.
[2] S. Chien, S. Ma, and L. Chen, “Efficient moving object segmentation al-
gorithm using background registration technique,” IEEE tran. on circuits
and systems for video technology, July 2002.
[3] J. Moon, D. Kim, and R. Park, “Video matting based on background esti-
mation,” Enformatic Transactions on Engineering, Computing and Tech-
nology, December 2004.
[4] Q. Zhang and R. Klette, “Robust background subtraction and mainte-
nance,” in Proc. of the 17th International Conference on Pattern Recog-
nition (ICPR), Cambridge, UK, August, 2004, pp. 90–93.
[5] R. C. Gonzalez and R. E.Woods, Digital Image Processing (2nd Edition).
Prentice Hall, 2002.
[6] R. Cutler and L. Davis, “View-based detection and analysis of periodic
motion,” in 14th International Conference on Pattern Recognition, Bris-
bane , Australia, August, 1998.
[7] B. Lo and S. Velastin, “Automatic congestion detection system for un-
derground platforms,” in Proc. of International Symposium on Intelligent
Multimedia, Video and Speech Processing, Hongkong, China, May, 2001,
pp. 158–161.
95
96
BIBLIOGRAPHY
[8] F. Porikli, “Multiplicative background-foreground estimation under un-
controlled illumination using intrinsic images,” in Proc. of IEEE Work-
shop on Motion and Video Computing (WACV/MOTION’05), Colorado,
USA, January, 2005, pp. 20–25.
[9] C. Wren, A. Azarbayejani, T. Darrell, and A. Pentland, “Pfinder: Real-
time tracking of the human body,” IEEE Transactions on Pattern Analysis
and Machine Intelligence, July 1997.
[10] D. Koller, J. Weber, T. Huang, J. Malik, G. Ogasawara, B. Rao, and
S. Russell, “Multiplicative background-foreground estimation under un-
controlled illumination using intrinsic images,” in Proc. of the IEEE Inter-
national Conference on Pattern Recognition, Jerusalem, Isreal, October,
1994, pp. 126–131.
[11] J. K. K. Toyama, B. Brumitt, and B. Meyers, “Wallflower:principles and
practice of background maintenance,” in Proc. IEEE International Con-
ference on Computer Vision and Pattern Recognition, 1999.
[12] S. Haykin, Adaptive Filter Theory (4th Edition). Prentice Hall, 2001.
[13] J. Zhong and S. Sclaroff, “Segmenting foreground objects from a dynamic
textured background via a robust kalman filter,” in Proc. European Con-
ference on Computer Vision (ECCV), pp. 44–50.
[14] S. Messelodi, C. M. Modena, N. Segata, and M. Zanin, “A kalman fil-
ter based background updating algorithm robust to sharp illumination
changes,” in Proc. of the 13th International Conference on Image Analy-
sis and Processing, Cagliari, Italy, pp. 163–170.
[15] C. Ridder, O. Munkelt, , and H. Kirchner, “Adaptive background estima-
tion and foreground detection using kalman-filtering,” in Proc. of Inter-
national Conference on recent Advances in Mechatronics (ICRAM), UN-
ESCO Chair on Mechatronics, Istanbul, Turkey, pp. 193–199.
[16] J. Markhoul, “Linear prediction: A tutorial review,” in Proceedings of the
IEEE, April, 1975, pp. 561–580.
[17] N. Friedman and S. Russell, “Image segmentation invideo sequences: A
probabilistic approach,” in Proc. of the Thirteenth Conference on Uncer-
tainty in Artificial Intelligence(UAI), pp. 175–181.
[18] C. Stauffer and W. Grimson, “Adaptive background mixture models for
real-time tracking,” in Proc. IEEE Conference on Computer Vision and
Pattern Recognition, 1999.
BIBLIOGRAPHY
97
[19] O. Javed, K. Shafique, and M. Shah, “A hierarchical approach to robust
background subtraction using color and gradient information,” in Proc.
Workshop on Motion and Video Computing, 2002.
[20] L. Li, W. Huang, I. Y, H. Gu, and Q. Tian, “Foreground object detection
in changing background based on color co-occurrence statistics,” in Proc.
6th IEEE WS on Applications of Computer Vision, 2002.
[21] M. Harville, G. Gordon, and J. Woodfill, “Adaptive video background
modeling using color and depth,” in Proc. IEEE International Conference
on Image Processing, 2001.
[22] Y. Zhang, Z. Liang, Z. Hou, H. Wang, and M. Tan, “An adaptive mixture
gaussian background model with online background reconstruction and
adjustable foreground mergence time for motion segementation,” in Proc.
IEEE International Conference on Industrial Technology, 2005.
[23] H.Wang and D. Suter, “A re-evaluation of mixture-of-gaussian background
modeling,” in roc. IEEE International Conference on Acoustics, Speech,
and Signal Processing, 2005.
[24] Y. Xu, D.Xu, Y. Liu, and A. Wu, “Illumination invariant motion estima-
tion for video segmentation,” in Proc. IEEE International Conference on
Acoustics, Speech, and Signal Processing, 2004.
[25] P. W. Power and J. A. Schoonees, “Understanding background mixture
models for foreground segmentation,” in Proc. of Image and Vision Com-
puting, Auckland, New Zealand, November 2002, pp. 267–271.
[26] A. Elgammal, D. Harwood, and L. Davis, “Non-parametricmodel for back-
ground subtraction,” in Proc. European Conference on Computer Vision
(ECCV), Dublin, Ireland, pp. 751 – 767.
[27] D. Magee, “Tracking multiple vehicles using foreground, background and
motion models,” Image and Vision Computing, no. 22, pp. 143–145, 2004.
[28] F. Kristensen, P. Nilsson, and V.
¨
Owall, “Background segmentation be-
yond rgb,” in Proc. Asian Conference on Computer Vision, 2006.
[29] Color-space converter:
RGB
to Y C
r
C
b
. [Online]. Available:
http://www.xilinx.com/bvdocs/appnotes/xapp930.pdf
[30] H. Jiang, H. Ard¨o, and V.
¨
Owall, “Hardware accelerator design for video
segmentation with multi-modal background modelling,” in Proc. IEEE
International Symposium on Circuits and Systems, 2005.
98
BIBLIOGRAPHY
[31] K. Batcher, “Sorting networks and their applications,” in Proc. of the
AFIPS Spring Joint Computing Conference, 1986.
[32] M. Ajtai, J. Komlos, and E. Szemeredi, “An o(n log n) sorting network,” in
Proceedings of the 25th ACM Symposium on Theory of Computing, 1983.
[33] G.V.Russo and M.Russo, “A novel class of sorting networks,” IEEE tran.
circuits and systems I: Fundamental Theory and Applications, July 1996.
[34] Axis communications. [Online]. Available: http://www.axis.com/
[35] H. Hedberg, F. Kristensen, P. Nilsson, and V.
¨
Owall, “Low complexity ar-
chitecture for binary image erosion and dilation using structuring element
decomposition,” in Proc. IEEE International Symposium on Circuits and
Systems, 2005.
[36] Xilinx
university
program.
[Online].
Available:
http://www.xilinx.com/univ/xupv2p.html
[37] Kodak
image
sensor.
[Online].
Available:
http://www.kodak.com/US/en/dpq/site/SENSORS/name/
ISSCMOSProductFamily
[38] F. Kristensen, P. Nilsson, and V.
¨
Owall, “Background Segmentation Be-
yond RGB,” in Seventh biennial Asian Conference on Computer Vision,
Hyderabad, India, jan 2006.
[39] O. Schreer, I. Feldmann, U. G¨olz, and P. Kauff, “Fast and Robust Shadow
Detection in Videoconference Apllication,” 2002.
[40] K. Wong, K. Lam, and W. Siu, “An Efficient Color Compensation Scheme
for Skin Color Segmentation,” in Proc. of IEEE International Symposium
on Circuits and Systems, Bangkok, Thailand, Mar. 2003.
[41] C. Garcia and G. Tziritas, “Face Detection Using Quantized Skin Color
Regions Merging and Wavelet Packet Analysis,” IEEE Transactions on
Multimedia, vol. 1, pp. 264–277, 1999.
[42] H. Wang and S. Shang, “A Highly Efficient System for Automatic Face
Region Detection in MPEG Video,” IEEE Transactions on Circuits and
Systems for Video Technology, vol. 7, pp. 615–628, 1997.
[43] C. Stauffer and W. E. L. Grimson, “Adaptive background mixture models
for real-time tracking,” in Proc. of IEEE Computer Society Conference on
CVPR’99, Ft. Collins, USA.
Documents you may be interested
Documents you may be interested