GithubHelp home page GithubHelp logo

sportstrack's Introduction

#sportstrack

This repository is an official implementation of the SportsTrack: An Innovative Method for Tracking Athletes in Sports Scenes

1st place of 2022 ECCV Sports MOT challenge.

Result On SportsMOT test

Method HOTA AssA DetA MOTA weight
SportsTrack 76.264 73.538 79.180 89.316 baidu/onedrive

Quick Start

  • Download SportsMOT dataset from here

  • set data root path of sports MOT dataset

export SPORTSTRACK_ROOT=...
ls  ${SPORTSTRACK_ROOT}/data/sportsmot_publish/dataset/test

output

v_1UDUODIBSsc_c001  v_2ChiYdg5bxI_c058  v_2Dw9QNH5KtU_c014  v_7FTsO8S3h88_c007  v_9p0i81kAEwE_c010  v_BdD9xu0E2H4_c011  v_czYZnO9QxYQ_c020
...
  • build gmc

build gmc need opencv4

cd gmc
mkdir build
cd build
cmake ..
make
./gmc ${SPORTSTRACK_ROOT}/data/sportsmot_publish/dataset/test/*   #this will generate a gmc.txt file in each input directorys
./gmc ${SPORTSTRACK_ROOT}/data/sportsmot_publish/dataset/val/* 
  • run algorithm
python main.py --split val --gpus 0    #track on val dataset 

or

python main.py --split test --gpus 0  #track on test dataset

or use multi process

python multi_process_main.py --split test --gpus 0   #use multiprocess to track on test dataset 
  • post process
python postprocess_tools/merge_tracks.py --image_dir ... --input_txt_dir ... --output_txt_dir ...
python postprocess_tools/interpolation.py --input_txt_dir ... --output_txt_dir ...

Example:

 python postprocess_tools/merge_tracks.py --image_dir ${SPORTSTRACK_ROOT}/data/sportsmot_publish/dataset/test --input_txt_dir ${SPORTSTRACK_ROOT}/tmp/sportsmot-test/PDSMV2SportsTrackerT1/data/ --output_txt_dir ${SPORTSTRACK_ROOT}/tmp/sportsmot-test/PDSMV2SportsTrackerT1/data_merge
 python postprocess_tools/interpolation.py --input_txt_dir ${SPORTSTRACK_ROOT}/tmp/sportsmot-test/PDSMV2SportsTrackerT1/data_merge/ --output_txt_dir ${SPORTSTRACK_ROOT}/tmp/sportsmot-test/PDSMV2SportsTrackerT1/data_inter

requirements

install wml

git clone [email protected]:vghost2008/wml.git
cd wml
export PYTHONPATH=${PYTHONPATH}:`pwd`

Team members

  • Jie Wang
  • Xiaodong Yang
  • YuZhou Peng
  • Ting Wang
  • Yanming Zhang

Acknowledge

We acknowledge the excellent implementation from YOLOX , FastReID and HRNet.

sportstrack's People

Contributors

vghost2008 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

Watchers

 avatar  avatar  avatar

sportstrack's Issues

compiling gmc

Hello,

I'm not having success at compiling gmc. When i install a fresh conda environment with python 3.8 and opencv (4.6), i get a linking error ... Can you advise on the best way to build this?

(sportstrack) atao@atao-i9:~/devel/public/sportstrack/gmc$ cd build
(sportstrack) atao@atao-i9:~/devel/public/sportstrack/gmc/build$ cmake ..
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /home/atao/.miniconda/envs/sportstrack (found version "4.6.0") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/atao/devel/public/sportstrack/gmc/build
(sportstrack) atao@atao-i9:~/devel/public/sportstrack/gmc/build$ make
Scanning dependencies of target gmc
[ 50%] Building CXX object CMakeFiles/gmc.dir/main.cpp.o
[100%] Linking CXX executable gmc
/usr/bin/ld: /home/atao/.miniconda/envs/sportstrack/lib/libQt5Core.so.5: undefined reference to `std::__exception_ptr::exception_ptr::_M_release()@CXXABI_1.3.13'
/usr/bin/ld: /home/atao/.miniconda/envs/sportstrack/lib/libopencv_core.so.4.6.0: undefined reference to `std::condition_variable::wait(std::unique_lock<std::mutex>&)@GLIBCXX_3.4.30'
/usr/bin/ld: /home/atao/.miniconda/envs/sportstrack/lib/libQt5Widgets.so.5: undefined reference to `std::__throw_bad_array_new_length()@GLIBCXX_3.4.29'
/usr/bin/ld: /home/atao/.miniconda/envs/sportstrack/lib/libQt5Core.so.5: undefined reference to `std::__exception_ptr::exception_ptr::_M_addref()@CXXABI_1.3.13'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/gmc.dir/build.make:98: gmc] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/gmc.dir/all] Error 2
make: *** [Makefile:84: all] Error 2```

make: Nothing to be done for 'folder'

I try to use the comman that "make ./gmc D:/code/tracking/code/SportsMOT-main/sportsmot_publish/dataset/basketball/train/*"
but get nothing to be done for ....
I wonder if there were something wrong, the dataset is part of the SportsMOT and it contain the img1 folder and gt folder and seqinfo.ini in a folder...
the result is below...
image
hopping your reply and give me some advise, thank you very much!!!

SportsTrack for Mobile Devices

Hi,
I recently discovered your work and looks extremely interesting. I wonder if it would be very difficult to port the code to run in a mobile device, of course, at a certain cost in accuracy.
Thank you

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.