Skip to content

Commit 99cf98f

Browse files
authored
Add source code
1 parent afcde79 commit 99cf98f

17 files changed

Lines changed: 1765 additions & 2 deletions

LICENSE

Lines changed: 352 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,62 @@
1-
# SCENE
2-
Source code will be published soon.
1+
# SCENE: Reasoning about Traffic Scenes using Heterogeneous Graph Neural Networks
2+
3+
Official repository of the paper:\
4+
**[SCENE: Reasoning about Traffic Scenes using Heterogeneous Graph Neural Networks](https://arxiv.org/abs/2301.03512)**\
5+
Thomas Monninger*, Julian Schmidt*, Jan Rupprecht, David Raba, Julian Jordan, Daniel Frank, Steffen Staab and Klaus Dietmayer\
6+
*Thomas Monninger and Julian Schmidt are co-first authors. The order was determined alphabetically.\
7+
\
8+
IEEE Robotics and Automation Letters (RA-L), 2023
9+
10+
<img src="images/overview.png" width="60%">
11+
12+
The repository contains the source code of our graph convolution operator and our experiments on publicly available knowledge graph datasets.
13+
14+
## Citation
15+
If you use our source code, please cite:
16+
```bibtex
17+
@Article{monningerschmidt2023scene,
18+
author={Monninger, Thomas and Schmidt, Julian and Rupprecht, Jan and Raba, David and Jordan, Julian and Frank, Daniel and Staab, Steffen and Dietmayer, Klaus},
19+
journal={IEEE Robotics and Automation Letters},
20+
title={SCENE: Reasoning About Traffic Scenes Using Heterogeneous Graph Neural Networks},
21+
year={2023},
22+
volume={8},
23+
number={3},
24+
pages={1531--1538},
25+
doi={10.1109/LRA.2023.3234771}}
26+
```
27+
28+
## License
29+
<a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/">
30+
<img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/88x31.png"
31+
/></a><br />SCENE is licensed under <a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/"
32+
>Creative Commons Attribution-NonCommercial 4.0 International License</a>.
33+
34+
Check [LICENSE](LICENSE) for more information.
35+
36+
## Installation
37+
### Install Anaconda
38+
We recommend using Anaconda.
39+
The installation is described on the following page:\
40+
https://docs.anaconda.com/anaconda/install/linux/
41+
42+
### Install Required Packages
43+
```sh
44+
conda env create -f environment.yml
45+
```
46+
47+
### Activate Environment
48+
```sh
49+
conda activate scene
50+
```
51+
52+
## Generate Results
53+
```sh
54+
python3 main.py --dataset=aifb
55+
```
56+
Options for `--dataset` are `aifb`, `mutag`, `bgs` and `am`.
57+
58+
## Results
59+
Results are stored in the `results/` folder.
60+
By default, it contains the original results obtained on our test system.\
61+
Values are reported in [our paper](https://arxiv.org/abs/2301.03512).\
62+
Test system specifications: Intel Core i9-7920X, NVIDIA GeForce RTX 2080 Ti.

configs/aifb.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
epochs: 60
2+
dropout: 0.5
3+
weight_decay: 1e-4
4+
learning_rate: 3e-3
5+
degree_cutting: 10
6+
hidden_size: 128
7+
num_heads: 2

configs/am.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
epochs: 120
2+
dropout: 0.3
3+
weight_decay: 0.0003
4+
learning_rate: 5e-5
5+
degree_cutting: 10
6+
hidden_size: 512
7+
num_heads: 8

configs/bgs.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
epochs: 200
2+
dropout: 0.2
3+
weight_decay: 0.004
4+
learning_rate: 0.0004
5+
degree_cutting: 1
6+
hidden_size: 64
7+
num_heads: 4

configs/mutag.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
epochs: 200
2+
dropout: 0.7
3+
weight_decay: 0.0002
4+
learning_rate: 5e-5
5+
degree_cutting: 2
6+
hidden_size: 512
7+
num_heads: 8

environment.yml

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
name: scene
2+
channels:
3+
- pytorch
4+
- dglteam
5+
- conda-forge
6+
- defaults
7+
dependencies:
8+
- _libgcc_mutex=0.1=main
9+
- _openmp_mutex=5.1=1_gnu
10+
- absl-py=1.4.0=pyhd8ed1ab_0
11+
- aiohttp=3.7.0=py37h8f50634_0
12+
- async-timeout=3.0.1=py_1000
13+
- attrs=22.2.0=pyh71513ae_0
14+
- blas=1.0=mkl
15+
- blinker=1.5=pyhd8ed1ab_0
16+
- bottleneck=1.3.5=py37h7deecbd_0
17+
- brotlipy=0.7.0=py37h540881e_1004
18+
- bzip2=1.0.8=h7b6447c_0
19+
- c-ares=1.18.1=h7f98852_0
20+
- ca-certificates=2022.12.7=ha878542_0
21+
- cachetools=5.3.0=pyhd8ed1ab_0
22+
- certifi=2022.12.7=pyhd8ed1ab_0
23+
- cffi=1.15.0=py37h036bc23_0
24+
- chardet=3.0.4=py37he5f6b98_1008
25+
- charset-normalizer=2.1.1=pyhd8ed1ab_0
26+
- click=8.1.3=py37h89c1867_0
27+
- colorama=0.4.6=pyhd8ed1ab_0
28+
- cryptography=37.0.2=py37h38fbfac_0
29+
- cudatoolkit=10.2.89=hfd86e86_1
30+
- decorator=5.1.1=pyhd3eb1b0_0
31+
- dgl-cuda10.2=0.7.1=py37_0
32+
- ffmpeg=4.3=hf484d3e_0
33+
- fftw=3.3.9=h27cfd23_1
34+
- flit-core=3.6.0=pyhd3eb1b0_0
35+
- freetype=2.12.1=h4a9f257_0
36+
- fsspec=2023.1.0=pyhd8ed1ab_0
37+
- future=0.18.2=py37h89c1867_5
38+
- giflib=5.2.1=h5eee18b_1
39+
- gmp=6.2.1=h295c915_3
40+
- gnutls=3.6.15=he1e5248_0
41+
- google-auth=2.16.0=pyh1a96a4e_1
42+
- google-auth-oauthlib=0.4.6=pyhd8ed1ab_0
43+
- grpcio=1.38.1=py37hb27c1af_0
44+
- idna=3.4=pyhd8ed1ab_0
45+
- importlib-metadata=4.11.4=py37h89c1867_0
46+
- intel-openmp=2021.4.0=h06a4308_3561
47+
- jpeg=9b=h024ee3a_2
48+
- lame=3.100=h7b6447c_0
49+
- lcms2=2.12=h3be6417_0
50+
- ld_impl_linux-64=2.38=h1181459_1
51+
- libffi=3.4.2=h6a678d5_6
52+
- libgcc-ng=11.2.0=h1234567_1
53+
- libgfortran-ng=11.2.0=h00389a5_1
54+
- libgfortran5=11.2.0=h1234567_1
55+
- libgomp=11.2.0=h1234567_1
56+
- libiconv=1.16=h7f8727e_2
57+
- libidn2=2.3.2=h7f8727e_0
58+
- libpng=1.6.37=hbc83047_0
59+
- libprotobuf=3.18.0=h780b84a_1
60+
- libstdcxx-ng=11.2.0=h1234567_1
61+
- libtasn1=4.16.0=h27cfd23_0
62+
- libtiff=4.1.0=h2733197_1
63+
- libunistring=0.9.10=h27cfd23_0
64+
- libuv=1.40.0=h7b6447c_0
65+
- libwebp=1.2.0=h89dd481_0
66+
- lz4-c=1.9.4=h6a678d5_0
67+
- markdown=3.4.1=pyhd8ed1ab_0
68+
- markupsafe=2.1.1=py37h540881e_1
69+
- mkl=2021.4.0=h06a4308_640
70+
- mkl-service=2.4.0=py37h7f8727e_0
71+
- mkl_fft=1.3.1=py37hd3c417c_0
72+
- mkl_random=1.2.2=py37h51133e4_0
73+
- multidict=6.0.2=py37h540881e_1
74+
- ncurses=6.4=h6a678d5_0
75+
- nettle=3.7.3=hbbd107a_1
76+
- networkx=2.2=py37_1
77+
- ninja=1.10.2=h06a4308_5
78+
- ninja-base=1.10.2=hd09550d_5
79+
- numexpr=2.8.4=py37he184ba9_0
80+
- numpy=1.21.5=py37h6c91a56_3
81+
- numpy-base=1.21.5=py37ha15fc14_3
82+
- oauthlib=3.2.2=pyhd8ed1ab_0
83+
- openh264=2.1.1=h4ff587b_0
84+
- openssl=1.1.1s=h7f8727e_0
85+
- packaging=23.0=pyhd8ed1ab_0
86+
- pandas=1.3.5=py37h8c16a72_0
87+
- pillow=9.3.0=py37hace64e9_1
88+
- pip=22.3.1=py37h06a4308_0
89+
- protobuf=3.18.0=py37hcd2ae1e_0
90+
- pyasn1=0.4.8=py_0
91+
- pyasn1-modules=0.2.7=py_0
92+
- pycparser=2.21=pyhd8ed1ab_0
93+
- pydeprecate=0.3.1=pyhd8ed1ab_0
94+
- pyjwt=2.6.0=pyhd8ed1ab_0
95+
- pyopenssl=22.0.0=pyhd8ed1ab_1
96+
- pysocks=1.7.1=py37h89c1867_5
97+
- python=3.7.16=h7a1cb2a_0
98+
- python-dateutil=2.8.2=pyhd3eb1b0_0
99+
- python_abi=3.7=2_cp37m
100+
- pytorch=1.9.0=py3.7_cuda10.2_cudnn7.6.5_0
101+
- pytorch-lightning=1.4.9=pyhd8ed1ab_0
102+
- pytz=2022.7=py37h06a4308_0
103+
- pyu2f=0.1.5=pyhd8ed1ab_0
104+
- pyyaml=6.0=py37h540881e_4
105+
- readline=8.2=h5eee18b_0
106+
- requests=2.28.2=pyhd8ed1ab_0
107+
- requests-oauthlib=1.3.1=pyhd8ed1ab_0
108+
- rsa=4.9=pyhd8ed1ab_0
109+
- scipy=1.7.3=py37h6c91a56_2
110+
- setuptools=65.6.3=py37h06a4308_0
111+
- six=1.16.0=pyhd3eb1b0_1
112+
- sqlite=3.40.1=h5082296_0
113+
- tensorboard=2.11.2=pyhd8ed1ab_0
114+
- tensorboard-data-server=0.6.0=py37h38fbfac_2
115+
- tensorboard-plugin-wit=1.8.1=pyhd8ed1ab_0
116+
- tk=8.6.12=h1ccaba5_0
117+
- torchaudio=0.9.0=py37
118+
- torchmetrics=0.5.1=pyhd8ed1ab_0
119+
- torchvision=0.10.0=py37_cu102
120+
- tqdm=4.64.1=pyhd8ed1ab_0
121+
- typing_extensions=4.4.0=py37h06a4308_0
122+
- urllib3=1.26.14=pyhd8ed1ab_0
123+
- werkzeug=2.2.2=pyhd8ed1ab_0
124+
- wheel=0.37.1=pyhd3eb1b0_0
125+
- xz=5.2.10=h5eee18b_1
126+
- yaml=0.2.5=h7f98852_2
127+
- yarl=1.6.0=py37h8f50634_0
128+
- zipp=3.12.1=pyhd8ed1ab_0
129+
- zlib=1.2.13=h5eee18b_0
130+
- zstd=1.4.9=haebb681_0
131+
- pip:
132+
- isodate==0.6.1
133+
- pyparsing==3.0.9
134+
- rdflib==6.0.2

images/overview.png

202 KB
Loading

0 commit comments

Comments
 (0)