Giter Club home page Giter Club logo

3d-multi-object-tracker's Introduction

visitors

3D Multi-Object Tracker

This project is developed for tracking multiple objects in 3D scene. The visualization code is from here. This is a re-produced and simplified version of paper. We have made some changes to support more detectors and adapt the HOTA metric. We also provided a simple guide to submit results to the KITTI test set.

Features

  • Fast: currently, the codes can achieve 700 FPS using only CPU (not include detection and data op), can perform tracking on all kitti val sequence in several seconds.
  • Support online, near online and global implementation. The overall framework of design is shown below:

Kitti Results

Car/Pedestrian tracking results on the Kitti tracking val seq [1,6,8,10,12,13,14,15,16,18,19] using second-iou, point-rcnn and pv-rcnn detections. We also followed the HOTA metric, and tuned the parameters by first considering the HOTA performance.

detector online near online (latency=2s) global
point-rcnn 76.653 77.576 78.853
second-iou 77.29/48.011 78.17/50.362 78.799/51.20
pv-rcnn 78.289/49.662 79.48/50.824 80.075/51.753

Online: CA-based KF + greedy matching. Near online: online + rescoring tracks in a temporal window. Global: online + rescoring tracks globally.

  • 2022/9/23 Update CasTrack. The detections are obtained by CasA detector trained on KITTI 3D detection trainval set. Currently rank first on the KITTI tracking dataset πŸ”₯!
Detector online near online (latency=2s) global detections (training & testing set)
CasA 82.59 83.24 83.34 detections download link(40M)

Waymo Results

Vehicle/Pedestrian/Cyclist online tracking results, evaluated by MOTA/L2 metrics of Waymo benchmark.

  • 2022/9/23 Update CasTrack-waymo, currently ranks third on Waymo tracking benchmark πŸ”₯! You can download the CasA detections from here (Please register with waymo before downloading, as the Waymo open dataset is under strict non-commercial license).
detector set Vehicle_L2 Pedestrian_L2 Cyclist_L2 ALL_NS_L2
CasA val set 59.30 62.78 61.72 61.27
CasA test set 63.66 64.79 59.34 62.60

Prepare data

You can download the Kitti tracking pose data from here, and you can download the point-rcnn, second-iou and pv-rcnn detections from here. You can download the CasA detections(including training & testing set) from here.

To run this code, you should organize Kitti tracking dataset as below:

# Kitti Tracking Dataset       
└── kitti_tracking
       β”œβ”€β”€ testing 
       |      β”œβ”€β”€calib
       |      |    β”œβ”€β”€0000.txt
       |      |    β”œβ”€β”€....txt
       |      |    └──0028.txt
       |      β”œβ”€β”€image_02
       |      |    β”œβ”€β”€0000
       |      |    β”œβ”€β”€....
       |      |    └──0028
       |      β”œβ”€β”€pose
       |      |    β”œβ”€β”€0000
       |      |    |    └──pose.txt
       |      |    β”œβ”€β”€....
       |      |    └──0028
       |      |         └──pose.txt
       |      β”œβ”€β”€label_02
       |      |    β”œβ”€β”€0000.txt
       |      |    β”œβ”€β”€....txt
       |      |    └──0028.txt
       |      └──velodyne
       |           β”œβ”€β”€0000
       |           β”œβ”€β”€....
       |           └──0028      
       └── training # the structure is same as testing set
              β”œβ”€β”€calib
              β”œβ”€β”€image_02
              β”œβ”€β”€pose
              β”œβ”€β”€label_02
              └──velodyne 

Detections

└── point-rcnn
       β”œβ”€β”€ training
       |      β”œβ”€β”€0000
       |      |    β”œβ”€β”€000001.txt
       |      |    β”œβ”€β”€....txt
       |      |    └──000153.txt
       |      β”œβ”€β”€...
       |      └──0020
       └──testing 

Requirements

python3
numpy
opencv
yaml

Quick start

  • Please modify the dataset path and detections path in the yaml file to your own path.
  • Then run python3 kitti_3DMOT.py config/online/pvrcnn_mot.yaml
  • The results are automatically saved to evaluation/results/sha_key/data, and evaluated by HOTA metrics.

Notes

The evaluation codes are copied from Kitti.

3d-multi-object-tracker's People

Contributors

hailanyi avatar

Watchers

 avatar

Forkers

gaoqiangwu

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.