Segmentation

We implement lowerbound, upperbound, when2com, who2com, V2VNet as our benchmark segmentation methods. Please see more details in our paper.

Preparation

  • Download V2XSIM datasets from our website
  • Run the code below to generate preprocessed data. You can also download the preprocessed dataset directly from the web page provided above.
make_create_data

You might want to consult ./Makefile for all the arguments you can pass in.
For example, the target for create_data is:

create_data:
    python create_data_det.py \
    --root $(original_data_path) \
    --split $(split) \
    --scene_begin $(scene_begin) \
    --scene_end $(scene_end) \
    --savepath $(create_data_save_path) \
    --from_agent $(from_agent) \
    --to_agent $(to_agent)

You should at least set original_data_path to the path of V2X-Sim dataset on your machine, and create_data_save_path to the path of the folder where you want to save the preprocessed data.
You can set the variables at the top of Makefile, or you can pass them in as arguments.
For other arguments, please see the comments in Makefile.

Training

Train benchmark detectors: - Lowerbound / Upperbound / V2VNet / When2Com

make train com=[lowerbound/upperbound/v2v/when2com] rsu=[0/1]
  • DiscoNet
# DiscoNet
make train_disco

# DiscoNet with no cross road (RSU) data
make train_disco_no_rsu
  • When2com_warp
# When2com_warp
make train com=when2com warp_flag=1 rsu=[0/1]
  • Note: Who2com is trained the same way as When2com. They only differ in inference.

Evaluation

Evaluate benchmark detectors:

  • Lowerbound
# with RSU
make test com=[lowerbound/upperbound/v2v/when2com/who2com]

# no RSU
make test_no_rsu com=[lowerbound/upperbound/v2v/when2com/who2com]
  • When2com
# with RSU
make test com=when2com inference=activated warp_flag=[0/1]

# no RSU
make test_no_rsu com=when2com inference=activated warp_flag=[0/1]
  • Who2com
# with RSU
make test com=who2com inference=argmax_test warp_flag=[0/1]

# no RSU
make test_no_rsu com=who2com inference=argmax_test warp_flag=[0/1]

Results

The number in parentheses indicates the performance gain or loss when RSU is involved during training.

Method Vehicle Sidewalk Terrain Road Building Pedestrian Vegetation mIoU
Lower-bound 45.93 (+2.22) 42.39 (-2.75) 47.03 (+0.20) 65.76 (-1.27) 25.38 (-1.89) 20.59 (-3.09) 35.83 (+0.66) 36.64 (-0.87)
Co-lower-bound 47.67 (+2.43) 48.79 (-1.41) 50.92 (+0.85) 70.00 (-0.65) 25.26 (+0.17) 10.78 (-1.77) 39.46 (+2.69) 38.38 (+0.46)
When2com 48.43 (+0.03) 33.06 (+1.38) 36.89 (+1.76) 57.74 (+1.56) 29.20 (+1.18) 20.37 (+0.57) 39.17 (-0.01) 34.49 (+0.88)
When2com* 47.74 (+1.23) 33.60 (-0.40) 35.81 (+1.05) 56.75 (+0.48) 26.11 (-0.92) 19.16 (+0.04) 39.64 (-2.55) 33.81 (-0.47)
Who2com 48.40 (+0.06) 32.76 (+1.68) 36.04 (+2.61) 57.51 (+1.79) 29.17 (+1.21) 20.36 (+0.58) 39.08 (+0.08) 34.31 (+1.06)
Who2com* 47.74 (+1.23) 33.60 (-0.40) 35.81 (+1.05) 56.75 (+0.48) 26.11 (-0.92) 19.16 (+0.04) 39.64 (-2.55) 33.81 (-0.47)
V2VNet 58.42 (+3.09) 48.33 (-3.87) 48.51 (-1.59) 70.02 (+0.46) 28.58 (+5.18) 21.99 (+0.57) 41.42 (+0.35) 41.11 (+0.74)
DiscoNet 56.66 (+1.19) 46.98 (-1.74) 50.22 (-1.05) 68.62 (-0.25) 27.36 (+5.58) 22.02 (-0.82) 42.50 (+0.95) 40.84 (+0.53)
Upper-bound 64.09 (+5.34) 41.34 (+2.42) 48.20 (+0.74) 67.05 (+2.04) 29.07 (+0.74) 31.54 (+3.15) 45.04 (+0.70) 42.29 (+1.98)