Git Product home page Git Product logo

gp's Introduction

About

The goal of Trackista is to help the managers and coaches by generating the tracking data of players in the key plays of football matches, with an end to end system provided, Trackista has three cameras covering the whole field, then through monitoring the movement of each player, Trackista calculates a top view perspective positions of the players, encapsulating the games state for the key plays of a game into a small feature space that can be used in modelling, and also facilitates conveying managerial instruction for the players, in addition to that Trackista generates insightful statistics about the players with respect to the plays provided, to quantify their movements and evaluate whether it meets expectation.

System Architecture

This section describes the system architecture for Trackista. The block diagram and the description of each module will be discussed. Our system consists of five main modules which are: Image un-distortion, Image stitching, Model-Field construction, Object Detection, Multi-object tracking and Statistics Generation.

System Architecture

According to the Block diagram, we have 3 cameras (left, right and center). The first module in the system is Stitching Module which generates stitched image which is used in the whole pipeline.

After that Operator clicks on the playground corners and crossbars to construct model field which discretizes the playground into particles. Then Player detection module takes these particles and tries to search for current particles which cover current player position. After that Player tracking module is responsible for tracking these particles and updating their position using new observations.

Finally, Tracking output is used to generate statistics for each player.

Image Stitching

After fixing the Radial Distortion of the cameras, the three video feeds are stitched together.

The center and left camera stitched feed

The center and right camera stitched feed

The final stitched image

Construct a Model-field

Object detection is about surrounding the players by bounding boxes. To get perfect fit bounding boxes, it’s important to find a method that’s different from the common flow of using deep learning models like YOLO which puts a bounding box that can be of any size on the player. Well-fit bounding boxes can be found by utilizing the two-point perspective of the pitch plane. It’s also important to discretize the football pitch into particles for less computation power. The football pitch is also transformed into a top-view football image. Using this transformation, the search of particles whether on the football image or the top view image will become fast with random access.

The model field

Player Detection

Player Detection uses the output of model field (particles) to set detections (observations) which are used to correct predictions in the Kalman filter in the tracking module.

Player detection flow

Player detection output

Player Tracking

The function of tracking module is to get observations of objects and associate these observations with their corresponding tracks; first initialize the tracks with the initial observations, goes on to predict based on the current states, matches these predictions with the incoming stream of observations (detections), this leads keeping the track identity intact with the flow of the analyzed video, tracking data is calculated for the players on the field and are exported to structured files suitable for further analysis.

Tracking Flow

Tracking Players

Statistics Generation

This module takes the tracker output and generates statistics for football analysis. This module is important for football analysts because it shows meaningful data for them that will guide them to do their analysis.

statistics_flow

heatmap

gp's People

Contributors

mhomran avatar sirsayed98 avatar

Watchers

 avatar

gp'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.