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