+ 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