Track an object across a CCTV Network with non-overlapping camera views.
Chopiness is due to a low framerate camera being used to record CCTV Footage
- Directions in /DEPENDENCIES folder
- opencv and opencv_contrib
- numpy
- PyTorch
- matplotlib
When a tracking subject is selected by the user, they are "remembered" by the algorithm. While in the view of a single camera, the subject is tracked using a general object tracking algorithm from OpenCV. When the subject has left the view of a given camera, the surrounding cameras are searched for the tracking subject using the user's initial selection as a reference. Once the algorithm identifies the tracking subject in new camera, single camera tracking resumes. The algorithm outputs a
The algorithm outputs a video of the tracking subject travelling through the network with a bounding box around them. Below, are still frames from the output video produced on our sample footage.
The algorithm relies on a user-inputted "map" of the camera network (showing relative location and camera adjacency) entered here:
The user can "place" cameras in placement mode, then indicate the adjacency through the "connections" in connection mode.