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.
This can be easily performed in opencv using a class known as BackgroundSubtractor. Find more information about background subtractor here @ Opencv docs.
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.
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.