Video Tracking of Multiple Moving and Hidden Targets

Detection and tracking of moving objects are essential components to many computer vision applications such as vehicle safety mechanisms, systems for shooting down missiles and revolutionary security cameras.

In this project we used the MATLAB environment to implement a tracking system. This system should be capable of tracking multiple moving targets that appear in a video and predicting their positions when they become hidden.

In order to achieve this goal, we used the following tools: Kalman Filter, image processing techniques and the Hungarian Assignment Algorithm. Image processing is used mainly to detect targets, while Kalman Filter and the Hungarian Algorithm are used to track targets.

One of the system’s features is automatic target recognition (ATR). This recognition is based around movement detection by subtracting consecutive frames from the video. This operation assists in creating a foreground mask for each frame. Lastly, targets are detected from the mask using blob analysis.

Another feature of the system is the ability to predict the locations of hidden targets and distinguish between targets. This means that when for example, two targets cross each other, the system preserves the identity of each target. Kalman Filter can predict the location of the hidden target and the Hungarian Algorithm infers which target is which.

The output of the algorithm is the same video provided to it, however, in the output video each target as surrounded by a rectangular bounding box which displays a unique ID on top.

The system was fit to the specific scenario we worked on and might not work properly on other scenarios due to the many parameters it contains. Nevertheless, one can change adjust the different parameter in order to fit the system to his video.