• Stars
    star
    136
  • Rank 267,670 (Top 6 %)
  • Language
  • License
    MIT License
  • Created about 3 years ago
  • Updated about 1 year ago

Reviews

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

Repository Details

[NeurIPS2021] Learning Distilled Collaboration Graph for Multi-Agent Perception

DiscoNet: Learning Distilled Collaboration Graph for Multi-Agent Perception [NeurIPS 2021]

Yiming Li, Shunli Ren, Pengxiang Wu, Siheng Chen, Chen Feng, Wenjun Zhang

"Learn a digraph with matrix-valued edge weight for multi-agent perception."

Documentation Status PyTorch Linux GitLab issues total GitHub stars

News

[2022-07] We updated the codebase to coperception library and dataset to V2X-Sim 2.0. New tasks including segmentation and tracking are included.

[2021-11] Our paper is available on arxiv.

[2021-10] Our dataset V2X-Sim 1.0 is available here.

[2021-09] 🔥 DiscoNet is accepted at NeurIPS 2021.

Abstract

To promote better performance-bandwidth trade-off for multi-agent perception, we propose a novel distilled collaboration graph (DiscoGraph) to model trainable, pose-aware, and adaptive collaboration among agents. Our key novelties lie in two aspects. First, we propose a teacher-student framework to train DiscoGraph via knowledge distillation. The teacher model employs an early collaboration with holistic-view inputs; the student model is based on intermediate collaboration with single-view inputs. Our framework trains DiscoGraph by constraining post-collaboration feature maps in the student model to match the correspondences in the teacher model. Second, we propose a matrix-valued edge weight in DiscoGraph. In such a matrix, each element reflects the inter-agent attention at a specific spatial region, allowing an agent to adaptively highlight the informative regions. During inference, we only need to use the student model named as the distilled collaboration network (DiscoNet). Attributed to the teacher-student framework, multiple agents with the shared DiscoNet could collaboratively approach the performance of a hypothetical teacher model with a holistic view. Our approach is validated on V2X-Sim 1.0, a large-scale multi-agent perception dataset that we synthesized using CARLA and SUMO co-simulation. Our quantitative and qualitative experiments in multi-agent 3D object detection show that DiscoNet could not only achieve a better performance-bandwidth trade-off than the state-of-the-art collaborative perception methods, but also bring more straightforward design rationale. Our code is available on https://github.com/ai4ce/DiscoNet.

Getting started

Please refer to the docs website of coperception for detailed documentations: https://coperception.readthedocs.io/en/latest/
Installation:

Download dataset:

  • Original dataset (you are going to parse this dataset yourself with create_data.py scripts for specific tasks): Google Drive (US)
  • Parsed datasets for detection and segmentation tasks and model checkpoints: Google Drive (US)

How to create datasets & run tasks:

Example arguments to run DiscoNet:
(assume dataset created properly according to the documentations)

  • Detection / segmentation:
    Inside coperception codebase:

    cd tools/det
    

    or

    cd tools/seg
    

    Training:

    python train_codet.py \
        --data  /path/to/training/dataset \
        --com disco \
        --log --batch 4 \
        --kd_flag 1 \
        --resume_teacher /path/to/teacher/checkpoint.pth \
        --auto_resume_path logs \
        --logpath logs \
        --nepoch 100 \
        -- rsu [0/1]

    Testing:

    python test_codet.py \
        --data /path/to/testing/dataset \
        --com disco \
        --resume /path/to/teacher/checkpoint.pth \
        --tracking \
        --logpath logs \
        --visualization 1 \
        --rsu 1
  • Tracking: Inside coperception codebase:

    cd tools/track
    

    Run tracker:

    make sort \
        mode=disco/[no_rsu/with_rsu] \
        split [test/val] \
        from_agent 1 \
        to_agent 6 \
        det_logs_path /path/to/detection/checkpoints.pth 

    See performance:

    make eval
        mode=disco \
        rsu=[0/1] \
        from_agent=1 \
        to_agent=6 \
        split=test

Acknowledgment

This project is not possible without the following great codebases.

Citation

If you find V2X-Sim 1.0 or DiscoNet useful in your research, please cite our paper.

@InProceedings{Li_2021_NeurIPS,
    title = {Learning Distilled Collaboration Graph for Multi-Agent Perception},
    author = {Li, Yiming and Ren, Shunli and Wu, Pengxiang and Chen, Siheng and Feng, Chen and Zhang, Wenjun},
    booktitle = {Thirty-fifth Conference on Neural Information Processing Systems (NeurIPS 2021)},
    year = {2021}
}

@article{Li_2021_RAL,
    title = {V2X-Sim: Multi-Agent Collaborative Perception Dataset and Benchmark for Autonomous Driving},
    author = {Li, Yiming and Ma, Dekun and An, Ziyan and Wang, Zixun and Zhong, Yiqi and Chen, Siheng and Feng, Chen},
    journal = {IEEE Robotics and Automation Letters},
    year = {2022}
}

More Repositories

1

DeepMapping

[CVPR2019 Oral] Self-supervised Point Cloud Map Estimation
Python
193
star
2

SSCBench

SSCBench: A Large-Scale 3D Semantic Scene Completion Benchmark for Autonomous Driving
Python
166
star
3

DeepMapping2

[CVPR2023] DeepMapping2: Self-Supervised Large-Scale LiDAR Map Optimization
Python
156
star
4

peac

[ICRA2014] Fast Plane Extraction Using Agglomerative Hierarchical Clustering (AHC)
C++
134
star
5

Occ4cast

Occ4cast: LiDAR-based 4D Occupancy Completion and Forecasting
Python
112
star
6

V2X-Sim

[RA-L2022] V2X-Sim Dataset and Benchmark
111
star
7

FLAT

[ICCV2021 Oral] Fooling LiDAR by Attacking GPS Trajectory
Python
67
star
8

SPARE3D

[CVPR2020] A Dataset for SPAtial REasoning on Three-View Line Drawings
Python
52
star
9

MARS

[CVPR2024] Multiagent Multitraversal Multimodal Self-Driving: Open MARS Dataset
Python
36
star
10

NYU-VPR

[IROS2021] NYU-VPR: Long-Term Visual Place Recognition Benchmark with View Direction and Data Anonymization Influences
Python
31
star
11

EgoPAT3D

[CVPR 2022] Egocentric Action Target Prediction in 3D
Jupyter Notebook
29
star
12

LLM4VPR

Can multimodal LLM help visual place recognition?
Python
28
star
13

insta360_ros_driver

A ROS driver for Insta360 cameras, enabling real-time image capture, processing, and publishing in ROS environments.
Python
27
star
14

DeepExplorer

[RSS2023] Metric-Free Exploration for Topological Mapping by Task and Motion Imitation in Feature Space
Python
26
star
15

Self-Supervised-SPARE3D

[CVPR 2022] Self-supervised Spatial Reasoning on Multi-View Line Drawings
Python
24
star
16

RealCity3D

Jupyter Notebook
22
star
17

DeepSoRo

[RA-L/ICRA2020] Real-time Soft Body 3D Proprioception via Deep Vision-based Sensing
Python
22
star
18

FusionSense

Integrates the vision, touch, and common-sense information of foundational models, customized to the agent's perceptual needs.
Python
19
star
19

SNAC

[ICLR2023] Learning Simultaneous Navigation and Construction in Grid Worlds
Python
18
star
20

SeeDo

Human Demo Videos to Robot Action Plans
Python
16
star
21

TF-VPR

Self-supervised place recognition by exploring temporal and feature neighborhoods
Python
15
star
22

DeepParticleRobot

[ICRA'22] A Deep Reinforcement Learning Environment for Particle Robot Navigation and Object Manipulation
Python
13
star
23

pyAprilTag

python wrapper of AprilTag implemented in cv2cg, used for Robot Perception course
C++
10
star
24

NYC-Indoor-VPR

Python
9
star
25

BAGSFit

Primitive Fitting Using Deep Boundary Aware Geometric Segmentation
9
star
26

vis_nav_player

[ROB-GY 6203] Example Visual Navigation Player Code for Course Project
Python
5
star
27

NYC-Event-VPR

Python
5
star
28

Mobile3DPrinting

https://ai4ce.github.io/Mobile3DPrinting/
4
star
29

PointCloudSimulator

Code for simulating 2D point clouds
Python
3
star
30

M3DP-Sim

C++
2
star
31

pyP2Mesh

python wrapper for finding a point's closest point on a triangle mesh
Python
2
star
32

VIP_SelfDrive

Makefile
2
star
33

EgoPAT3Dv2

Python
2
star
34

LUWA

Jupyter Notebook
1
star
35

ai4ce_robot_ROS2_drivers

This repo contains all the ROS2 driver packages modified at AI4CE lab for working with various robots
1
star