+
Security Surveillance
System
Jeanette Miranda
Continuing work by Peter Schiffman and Zac Kelton
May 17, 2013
ENGN256: Computer Vision
+
Indoor Security Surveillance
System
One static webcam
Background
Motion detection and location
Pan, tilt, zoom network camera
Correlation of motion in static webcam feed to motion in ptz feed
Track most important motion
+
Background, Motion detection and
location
Both largely the same as mid project presentation
Background
Ability to capture clean background image for testing
Grayscale background image
Motion detection and location
Varying number of objects to track dependent on threshold at
pixel level
Absolute difference between current frame and current
background
Apply threshold
Morphological operators to clean up mask
+
Camera Calibration
SURF Feature Detector with FLANN (Fast Library for
Approximate Nearest Neighbors) based matcher
Center of motion for ip camera from center of feature points
that match to within bounding box of motion on static camera
Experimented with 2D homography – unsuccessful results
Limit on how far center of motion for ip camera can move per
frame
For ip camera to move, need to be minimum distance away
from center (prevent shutter)
+
Network Camera
From spec sheet available at: http://www.123securityproducts.com/pz8111w.html
LAN – NETGEAR Fast Ethernet Switch (FS105) between laptop
and network camera
Web API for pan, tilt, zoom, mjpg video stream, etc
+
Screenshots
Static Camera (white rectangle
bounding box of motion)
IP Camera (white circle
center of motion)
+
Screenshots
Static Camera (white rectangle
bounding box of motion)
IP Camera (white circle
center of motion)
+
Code
Multithreaded implementation in C++
Motion detection and background generation can do more
intensive computation, and then skip frames to compensate
Libraries (opensource):
Opencv: http://code.opencv.org/projects/opencv/wiki
CVBlob: https://code.google.com/p/cvblob/
cURLpp: https://code.google.com/p/curlpp/
Available on GitHub (currently only tested on OSx)
https://github.com/jcmiranda/SurveillanceSystem
+
Future Directions
More robust motion detection for static camera
More exploration of different approaches to camera
calibration
Exploiting knowledge of when the camera moves
3d calibration rig – opencv support for chessboard?
Fast motion location on ip camera feed without background to
supplement matching?
Continuity of motion path
Tuning delays between moves and minimum offset necessary to
cause a move