Code Monkey home page Code Monkey logo

teamtrack's Introduction

TeamTrack: A Dataset for Multi-Sport Multi-Object Tracking in Full-pitch Videos

This repository contains the source code and the official benchmark dataset for the paper "TeamTrack: A Dataset for Multi-Sport Multi-Object Tracking in Full-pitch Videos".

TeamTrack dataset banner


Introduction

Multi-object tracking (MOT) is a critical and challenging task in computer vision, particularly in situations involving objects with similar appearances but diverse movements, as seen in team sports. Current methods, largely reliant on object detection and appearance, often fail to track targets in such complex scenarios accurately. This limitation is further exacerbated by the lack of comprehensive and diverse datasets covering the full view of sports pitches. Addressing these issues, we introduce TeamTrack, a pioneering benchmark dataset specifically designed for MOT in sports. TeamTrack is an extensive collection of full-pitch video data from various sports, including soccer, basketball, and handball. Furthermore, we perform a comprehensive analysis and benchmarking effort to underscore TeamTrack's utility and potential impact. Our work signifies a crucial step forward, promising to elevate the precision and effectiveness of MOT in complex, dynamic settings such as team sports.

Dataset

The TeamTrack dataset features high-resolution (4K to 8K) full-pitch videos from soccer, basketball, and handball games. It contains over 4 million annotated bounding boxes with unique IDs and serves as an extensive benchmark dataset for multi-object tracking in team sports.

You can download the TeamTrack dataset from either Google Drive link or Kaggle.

The dataset is organized into three main categories, each represented as a folder in Kaggle and/or a .zip file in Google Drive:

  • teamtrack: the TeamTrack tracking data formatted in SportsLabKit.
  • teamtrack-mot: the TeamTrack tracking data formatted in MOT Challenge style. Refer to the MOT Challenge official docs for more information on this format.
  • teamtrack-trajectory: the TeamTrack tracking data projected to pitch coordinates for use as trajectory data.

After downloading and unzipping the files from Google Drive or Kaggle, your directory for teamtrack and teamtrack-mot should look like this:

๐Ÿ“ {teamtrack, teamtrack-mot}/
โ”œโ”€๐Ÿ“ basketball_side/
โ”œโ”€๐Ÿ“ basketball_side_2/
โ”œโ”€๐Ÿ“ basketball_top/
โ”œโ”€๐Ÿ“ handball_side/
โ”œโ”€๐Ÿ“ soccer_side/
โ””โ”€๐Ÿ“ soccer_top/

Since teamtrack-trajectory only contains sports recorded with a fixed side-view camera your directory should look like this:

๐Ÿ“ teamtrack-trajectory/
โ”œโ”€๐Ÿ“ basketball/
โ”œโ”€๐Ÿ“ handball/
โ””โ”€๐Ÿ“ soccer/

For teamtrack, each dataset will contain:

๐Ÿ“ {dataset}/
โ”œโ”€๐Ÿ“ test/
โ”‚ โ”œโ”€๐Ÿ“ annotations/ # .csv files
โ”‚ โ””โ”€๐Ÿ“ videos/ # .mp4 files
โ”œโ”€๐Ÿ“ train/
โ””โ”€๐Ÿ“ val/

For teamtrack-mot, the MOT format is used. This format is widely used in the multi-object tracking community and is compatible with TrackEval. Each dataset will contain:

๐Ÿ“ {dataset}/
โ”œโ”€๐Ÿ“ test/
โ”‚   โ”œโ”€๐Ÿ“ {sequence_name_1}
โ”‚   โ”‚   โ”œโ”€๐Ÿ“ gt/
โ”‚   โ”‚   โ”‚   โ””โ”€๐Ÿ“„ gt.txt # contains ground truth data
โ”‚   โ”‚   โ”œโ”€๐Ÿ“ img1/ # empty folder
โ”‚   โ”‚   โ”œโ”€๐Ÿ“„ img1.mp4 # video file for sequence
โ”‚   โ”‚   โ””โ”€๐Ÿ“„ seqinfo.ini
โ”‚   โ”‚   ...
โ”‚   โ””โ”€๐Ÿ“ {sequence_name_x}/
โ”œโ”€๐Ÿ“ train/
โ””โ”€๐Ÿ“ val/

The MOT format is a simple text format that contains one object instance per line. Each line in the file represents a single object and contains the following information: frame number, object ID, bounding box coordinates (top-left x, top-left y, width, height), confidence score, class, visibility. For more details, refer to the MOT Challenge official docs.

For teamtrack-trajectory, each dataset will contain:

๐Ÿ“ {dataset}/
โ”œโ”€๐Ÿ“ test/
โ”œโ”€๐Ÿ“ train/
โ””โ”€๐Ÿ“ val/

Please ensure that your local copy of the dataset matches this structure before running the experiments.

Scripts

Currently in preparation.

In the scripts directory, you can find code to reproduce the following experiments described in the paper:

  1. Object Detection: The fine-tuning process for the YOLOv8 model on the TeamTrack dataset.

  2. Trajectory Forecasting: Training and evaluating the trajectory forecasting models (Constant, LSTM, GNN) on the TeamTrack dataset.

  3. Multi-Object Tracking: Scripts to run multiple object tracking.

๐Ÿ“ scripts/
โ”œโ”€๐Ÿ“ tracking/    # scripts to run benchmarks on detection and tracking
โ”œโ”€๐Ÿ“ forecasting/ # scripts to run benchmarks on trajectory forecasting
โ”œโ”€๐Ÿ“ detection/   # scripts to run object detection
โ””โ”€๐Ÿ“ preproc/     # scripts to run preprocessing on data

Notebooks

Currently in preparation.

Notebooks contatining detailed analysis of the TeamTrack dataset is also provided in the 'notebooks' directory. It includes metrics such as IoU on adjacent frames, frequency of relative position switches, cosine distances of re-identification features, and others.

Citation

If you find our work useful for your research, please consider citing:

BibTeX Entry Goes Here (will update in the future)

teamtrack's People

Contributors

atomscott avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

thejasonfisher

teamtrack's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.