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