Object Tracking

Object tracking is the tracking of a moving object. It is essential for image based AI tasks. In computer vision a video stream from a camera is used to track the moving object.These moving objects can be anything, it may be a hand of person or a vehicle or it may be a fighter jet aircraft.

Traditional Methods

Various methods are used to track objects.

1) Absolute Difference 

It is the most simple and old method to track an object. In this method the  incoming video frame is subtracted from the one before. Mathematically,
I (c) = I ( i ) - I ( j )
Ideally, I ( c ) = 0, when there is no change in consecutive frames.


This can be easily performed in opencv using a class known as BackgroundSubtractor. Find more information about background subtractor here @ Opencv docs.

2) Census Transform  

In census transform a signature vector is generated for an object To understand this lets have an example.
Lets suppose we have a 3x3 mask which is convolving with the image, such that it assign binary value to each pixal. This value is 1, if the pixel value is greater than the center value of the mask and 0 if its less than the center value. This way it generates a signature vector for each pixel, i.e 11011101. This process can be seen in figure below.
A list of signature vector is generated for each frame. Then the signature vector of the predecessor frame is compared with the successor frame.

Deep Learning Methods

Various deep learning based methods are currently used to track objects due to their improved performance. These include, 
1. YOLOv8 (You Only Look Once - Version 8) and other varients.
2. DETR (DEtection TRansformer)
3. EfficientDet
4. FocalNet
5. CenterNet
6. Sparse R-CNN

No comments:

Post a Comment

I FEEL AWESOME WHEN YOU COMMENT.