• Stars
    star
    145
  • Rank 254,144 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Source code for JRMOT: A Real-Time 3D Multi-Object Tracker and a New Large-Scale Dataset

JRMOT ROS package

The repository contains the code for the work "JRMOT: A Real-Time 3D Multi-Object Tracker and a New Large-Scale Dataset".

Note that due to the global pandemic, this repository is still a work in progress. Updates will be made as soon as possible.

Introduction

JRMOT is a 3D multi object tracking system that:

  • Is real-time
  • Is online
  • Fuses 2D and 3D information
  • Achieves State of the Art performance on KITTI

We also release JRDB:

  • A dataset with over 2 million annotated boxes and 3500 time consistent trajectories in 2D and 3D
  • Captured in social, human-centric settings
  • Captured by our social mobile-manipulator JackRabbot
  • Contains 360 degree cylindrical images, stereo camera images, 3D pointclouds and more sensing modalties

All information, including download links for JRDB can be found here.

JRMOT

system overview

  • Our system is built on top of state of the art 2D and 3D detectors (mask-RCNN and F-PointNet respectively). These detections are associated with predicted track locations at every time step.
  • Association is done via a novel feature fusion, as well as a cost selection procedure, followed by Kalman state gating and JPDA.
  • Given the JPDA output, we use both 2D and 3D detections in a novel multi-modal Kalman filter to update the track locations.

Using the code

There are 3 nodes forming parts of the ROS package:

  • 3d_detector.py: Runs F-PointNet, which performs 3D detection and 3D feature extraction
  • template.py: Runs Aligned-Re-ID, which performs 2D feature extraction
  • tracker_3d_node.py: Performs tracking while taking both 2D detections + features and 3D detections + features as input

The launch file in the folder "launch" launches all 3 nodes.

Dependencies

The following are dependencies of the code:

  • 2D detector: The 2D detector is not included in this package. To interface with your own 2D detector, please modify the file template.py to subscribe to the correct topic, and also to handle the conversion from ROS message to numpy array.
  • Spencer People Tracking messages: The final tracker output is in a Spencer People Tracking message. Please install this package and include these message types.
  • Various python packages: These can be found in requirements.txt.. Please install all dependencies prior to running the code (including CUDA and cuDNN. Additionally, this code requires a solver called Gurobi. Instructions to install gurobipy can be found here.
  • Weight files: The trained weights, (trained on JRDB) for FPointNet and Aligne-ReID can be found here.

Citation

If you find this work useful, please cite:

@INPROCEEDINGS{shenoi2020jrmot,
  author={A. {Shenoi} and M. {Patel} and J. {Gwak} and P. {Goebel} and A. {Sadeghian} and H. {Rezatofighi} and R. {Mart\'in-Mart\'in} and S. {Savarese}},
  booktitle={2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, 
  title={JRMOT: A Real-Time 3D Multi-Object Tracker and a New Large-Scale Dataset}, 
  year={2020},
  volume={},
  number={},
  pages={10335-10342},
  doi={10.1109/IROS45743.2020.9341635}}

If you utilise our dataset, please also cite:

@article{martin2019jrdb,
  title={JRDB: A dataset and benchmark of egocentric visual perception for navigation in human environments},
  author={Mart{\'i}n-Mart{\'i}n, Roberto and Patel, Mihir and Rezatofighi, Hamid and Shenoi, Abhijeet and Gwak, JunYoung and Frankel, Eric and Sadeghian, Amir and Savarese, Silvio},
  journal={arXiv preprint arXiv:1910.11792},
  year={2019}
}

More Repositories

1

GibsonEnv

Gibson Environments: Real-World Perception for Embodied Agents
C
864
star
2

taskonomy

Taskonomy: Disentangling Task Transfer Learning [Best Paper, CVPR2018]
Python
845
star
3

cs131_notes

Class notes for CS 131.
TeX
736
star
4

iGibson

A Simulation Environment to train Robots in Large Realistic Interactive Scenes
Python
656
star
5

CS131_release

Released assignments for the Stanford's CS131 course on Computer Vision.
Jupyter Notebook
454
star
6

OmniGibson

OmniGibson: a platform for accelerating Embodied AI research built upon NVIDIA's Omniverse engine. Join our Discord for support: https://discord.gg/bccR5vGFEx
Python
425
star
7

ReferringRelationships

Python
260
star
8

3DSceneGraph

The data skeleton from "3D Scene Graph: A Structure for Unified Semantics, 3D Space, and Camera" http://3dscenegraph.stanford.edu
Python
237
star
9

RubiksNet

Official repo for ECCV 2020 paper - RubiksNet: Learnable 3D-Shift for Efficient Video Action Recognition
Python
99
star
10

feedback-networks

The repo of Feedback Networks, CVPR17
Lua
89
star
11

ntp

Neural Task Programming
81
star
12

STR-PIP

Spatiotemporal Relationship Reasoning for Pedestrian Intent Prediction
Python
74
star
13

bddl

Jupyter Notebook
67
star
14

robovat

RoboVat: A unified toolkit for simulated and real-world robotic task environments.
Python
67
star
15

iGibsonChallenge2021

Python
55
star
16

behavior

Code to evaluate a solution in the BEHAVIOR benchmark: starter code, baselines, submodules to iGibson and BDDL repos
Python
52
star
17

atp-video-language

Official repo for CVPR 2022 (Oral) paper: Revisiting the "Video" in Video-Language Understanding. Contains code for the Atemporal Probe (ATP).
Python
47
star
18

GibsonSim2RealChallenge

GibsonSim2RealChallenge @ CVPR2020
Python
35
star
19

moma

A dataset for multi-object multi-actor activity parsing
Jupyter Notebook
34
star
20

NTP-vat-release

The PyBullet wrapper (Vat) for Neural Task Programming
Python
34
star
21

mini_behavior

MiniGrid Implementation of BEHAVIOR Tasks
Python
28
star
22

BehaviorChallenge2021

Python
25
star
23

HMS

The repository of the code base of "Multi-Layer Semantic and Geometric Modeling with Neural Message Passing in 3D Scene Graphs for Hierarchical Mechanical Search"
Python
25
star
24

ac-teach

Code for the CoRL 2019 paper AC-Teach: A Bayesian Actor-Critic Method for Policy Learning with an Ensemble of Suboptimal Teachers
Python
24
star
25

STGraph

Codebase for CVPR 2020 paper "Spatio-Temporal Graph for Video Captioning with Knowledge Distillation"
22
star
26

cavin

Python
20
star
27

alignment

ELIGN: Expectation Alignment as a Multi-agent Intrinsic Reward
Python
19
star
28

Sonicverse

HTML
17
star
29

Gym

Custom version of OpenAI Gym
Python
14
star
30

causal_induction

Codebase for "Causal Induction from Visual Observations for Goal-Directed Tasks"
Python
12
star
31

keto

Python
12
star
32

Lasersuite

Forked robosuite for LASER project
Python
11
star
33

perls2

PErception and Robotic Learning System v2
Python
11
star
34

STIP

Python
10
star
35

behavioral_navigation_nlp

Code for translating navigation instructions in natural language to a high-level plan for behavioral navigation for robot navigation
Python
9
star
36

bullet3

C++
8
star
37

arxivbot

Python
8
star
38

egl_probe

A helpful module for listing available GPUs for EGL rendering.
C
6
star
39

ssai

Socially Situated AI
4
star
40

ig_navigation

Python
4
star
41

omnigibson-eccv-tutorial

Jupyter Notebook
4
star
42

RL-Pseudocode

AppleScript
4
star
43

ARPL

Adversarially Robust Policy Learning
Python
4
star
44

sail-blog-new-post

The repository for making new post submissions to the SAIL Blog
HTML
3
star
45

behavior-website-old

HTML
2
star
46

behavior-baselines

Python
2
star
47

behavior-website

SCSS
1
star
48

iris

IRIS: Implicit Reinforcement without Interaction at Scale for Control from Large-Scale Robot Manipulation Datasets
1
star
49

bullet3_ik

Pybullet frozen at version 1.9.5 - purely for using its IK implementation.
C++
1
star