Skip to main content

Object Tracking

/img/content-concepts-raw-computer-vision-object-tracking-img.png

Introduction​

  • Definition: Object tracking is the process of 1) Taking an initial set of object detections (such as an input set of bounding box coordinates, 2) Creating a unique ID for each of the initial detections, and then 3) tracking each of the objects as they move around frames in a video, maintaining the assignment of unique IDs.
  • Applications: In-store consumer behavior tracking, Apply security policies like crowd management, traffic management, vision-based control, human-computer interface, medical imaging, augmented reality, robotics.
  • Scope: Track objects in images and videos, 2-dimensional tracking, Bounding boxes and pixel masks, Single and Multiple Object Tracking
  • Tools: Detectron2, OpenCV

Models​

FairMOT​

On the Fairness of Detection and Re-Identification in Multiple Object Tracking. arXiv, 2020.

DeepSORT​

Simple Online and Realtime Tracking with a Deep Association Metric. arXiv, 2017.

Detect object with models like YOLO or Mask R-CNN and then track using DeepSORT.

GOTURN​

Learning to Track at 100 FPS with Deep Regression Networks. arXiv, 2016.

CNN offline learning tracker.

MDNet​

Real-Time MDNet. arXiv, 2018.

CNN online learning tracker.

ROLO​

Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking. arXiv, 2016.

CNN + LSTM tracker.

Process flow​

Step 1: Collect the data

Capture via camera, scrap from the internet or use public datasets

Step 2: Train Object Detection Model

Train an object detector model (or use existing one if available in open-source domain)

Step 3: Annotate the data

Apply object detector on the images to create a training set for object tracking

Step 4: Data Preparation

Clean the data and make it ready for modeling

Step 5: Train the Tracker

Build and train an object tracking model (e.g. DeepSORT, FairMOT) to accurately track the target object in images/videos. Track the progress and experiments

Step 6: Model Validation

Validate the final set of models and select/assemble the final model

Step 7: UAT Testing

Wrap the model inference engine in API for client testing

Step 8: Deployment

Deploy the model on cloud or edge as per the requirement

Step 9: Documentation

Prepare the documentation and transfer all assets to the client

Use Cases​

Pedestrian Tracking​

Pedestrian Tracking with YOLOv3 and DeepSORT. Check out this notion.

Object Tracking​

Object tracking with FRCNN and SORT. Check out this notion.

Object Tracking​

Tested out 5 algorithms on videos - OpticalFlow, DenseFlow, Camshift, MeanShift and Single Object Tracking with OpenCV. Check out this notion.

Social Distancing Violation Detection​

People and Vehicle Counter Detection​