Transcript .ppt
EEL 6883
Spring 2007
Software Engineering II
Gleyner Garden
Video Surveillance Project
Introduction
Motion JPG IP Cameras are rapidly
becoming more popular and common
Used by private schools and daycare centers
Private companies use them to monitor multiple
buildings/areas simultaneously
Private homeowners use them for home security
Motivation
1. Security
I live in Melbourne, but my
family and I stay in Orlando at
least one weekend a month…
I would like a supplemental
security system to let me
know what’s going on at my
front door.
2. DOGS! Or Rude Owners
I love ‘em, but I don’t have
one
I shouldn’t have to watch
where I step when I’m playing
in the yard with my 2 year-old
daughter, but I do.
Motivation
3. Seemed like it would be fun
There are plenty of applications out there that
do this
The camera I purchased came bundled with
something better than what I created
Design
Started with this:
Design
With a new baby coming in 8 weeks, I
should probably stick to one $200 camera
Design
Documentation, courtesy of doxygen
Camera
Looked into:
D-Link
Axis
Panasonic
Mostly read customer reviews on merchant
websites like Amazon
Camera
Went with this one:
http://www.securityideas.com/stca1.html
Motion Detection
Image processing library: CxImage (FREE!)
Algorithm goes as follows:
Resize the image to an arbitrary # of pixels using
CxImage::Resample
CxImage::FFT2 Computes the bidimensional FFT or
DFT of the image
Using transformed image, I loop through it and create
an image signature array of a set size (if you have a
lot of processing power go with a higher #)
Store image signature array as your base image
Motion Detection
Do the same thing again for subsequent
images
Create a normalized # we can map to our
“sensitivity threshold”
If the threshold exceeds the calculated
difference in the image, we have detected
motion
Problems
Very sensitive to the amount of light
Solution could be to automatically calculate a
base image every half hour or so
Don’t have a mechanism for limiting the
amount of emails sent, if motion persists
I could limit the # of emails sent to a certain
# per period of time
Demonstration
Hope this works… never tried it from here