Computer Vision System Toolbox

Object Tracking and Motion Estimation

Computer vision often involves the tracking of moving objects in video. Computer Vision System Toolbox provides a comprehensive set of algorithms and functions for object tracking and motion estimation tasks.

Object Tracking

Computer Vision System Toolbox provides video tracking algorithms, such as continuously adaptive mean shift (CAMShift) and Kanade-Lucas-Tomasi (KLT). You can use these algorithms for tracking a single object or as building blocks in a more complex tracking system. The system toolbox also provides a framework for multiple object tracking that includes Kalman filtering and the Hungarian algorithm for assigning object detections to tracks.

KLT tracks a set of feature points from frame to frame and can be used in video stabilization, camera motion estimation, and object tracking applications.

Detected feature points and object tracked using KLT.
Detected feature points (left) and tracked object using KLT (right).

CAMShift uses a moving rectangular window that traverses the back projection of an object’s color histogram to track the location, size, and orientation of the object from frame to frame.

Multiple Object Tracking Framework

Computer Vision System Toolbox provides an extensible framework to track multiple objects in a video stream and includes the following to facilitate multiple object tracking:

  • Kalman filtering to predict a physical object's future location, reduce noise in the detected location, and help associate multiple objects with their corresponding tracks
  • Hungarian algorithm to assign object detections to tracks
  • Moving object detection using blob analysis and foreground detection
  • Annotation capabilities to visualize object location and add object label
Multiple objects tracked using the Computer Vision System Toolbox multiple object tracking framework

Multiple objects tracked using the Computer Vision System Toolbox multiple object tracking framework. The trails indicate trajectories of tracked objects.

Motion Estimation

Motion estimation is the process of determining the movement of blocks between adjacent video frames. The system toolbox provides a variety of motion estimation algorithms, such as optical flow, block matching, and template matching. These algorithms create motion vectors, which relate to the whole image, blocks, arbitrary patches, or individual pixels. For block and template matching, the evaluation metrics for finding the best match include MSE, MAD, MaxAD, SAD, and SSD.

Detecting moving objects using a stationary camera. Optical flow is calculated and detected motion is shown by overlaying the flow field on top of each frame.

Detecting moving objects using a stationary camera. Optical flow is calculated and detected motion is shown by overlaying the flow field on top of each frame.

Next: Camera Calibration

Try Computer Vision System Toolbox

Get trial software

MATLAB/Simulink를 이용한 자동차 Active Safety System 개발 및 검증

View webinar