Skip to content

Commit bc44b7f

Browse files
Initial Commit
1 parent 7fa77fd commit bc44b7f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+96100
-3
lines changed

Diff for: .gitignore

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
Data/Datasets/ADEChallengeData2016/images/
3+
4+
Data/Datasets/ADEChallengeData2016/annotations/
5+
6+
Data/Datasets/ADEChallengeData2016/noisy_annotations_RGB/
7+
8+
Data/Datasets/ADEChallengeData2016/noisy_scores_RGB/
9+
10+
Data/Datasets/MITIndoor67/noisy_annotations_RGB/
11+
12+
Data/Datasets/MITIndoor67/noisy_scores_RGB/
13+
14+
Data/Datasets/MITIndoor67/train/
15+
16+
Data/Datasets/MITIndoor67/val/
17+
18+
Results/
19+
20+
__pycache__/
21+
22+
\.idea/
23+
24+
*.tar

Diff for: Config/Conda_Env.yml

+120
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
name: SA-Scene-Recognition
2+
channels:
3+
- conda-forge
4+
- defaults
5+
dependencies:
6+
- _libgcc_mutex=0.1=main
7+
- blas=1.0=mkl
8+
- bzip2=1.0.6=h14c3975_1002
9+
- ca-certificates=2019.6.16=hecc5488_0
10+
- cairo=1.16.0=h18b612c_1001
11+
- certifi=2019.6.16=py37_0
12+
- cffi=1.12.3=py37h8022711_0
13+
- cloudpickle=1.2.1=py_0
14+
- cudatoolkit=10.0.130=0
15+
- cudnn=7.6.0=cuda10.0_0
16+
- cycler=0.10.0=py_1
17+
- cytoolz=0.9.0.1=py37h14c3975_1001
18+
- dask-core=2.1.0=py_0
19+
- dbus=1.13.6=he372182_0
20+
- decorator=4.4.0=py_0
21+
- expat=2.2.5=he1b5a44_1003
22+
- ffmpeg=4.1.3=h167e202_0
23+
- fontconfig=2.13.1=he4413a7_1000
24+
- freetype=2.10.0=he983fc9_0
25+
- geos=3.7.2=he1b5a44_1
26+
- gettext=0.19.8.1=hc5be6a0_1002
27+
- giflib=5.1.9=h516909a_0
28+
- glib=2.58.3=h6f030ca_1001
29+
- gmp=6.1.2=hf484d3e_1000
30+
- gnutls=3.6.5=hd3a4fd2_1002
31+
- graphite2=1.3.13=hf484d3e_1000
32+
- gst-plugins-base=1.14.5=h0935bb2_0
33+
- gstreamer=1.14.5=h36ae1b5_0
34+
- harfbuzz=2.4.0=h37c48d4_1
35+
- hdf5=1.10.5=nompi_h3c11f04_1100
36+
- icu=58.2=hf484d3e_1000
37+
- imageio=2.5.0=py37_0
38+
- imgaug=0.2.9=py_1
39+
- intel-openmp=2019.4=243
40+
- jasper=1.900.1=h07fcdf6_1006
41+
- jpeg=9c=h14c3975_1001
42+
- kiwisolver=1.1.0=py37hc9558a2_0
43+
- lame=3.100=h14c3975_1001
44+
- libblas=3.8.0=10_mkl
45+
- libcblas=3.8.0=10_mkl
46+
- libffi=3.2.1=he1b5a44_1006
47+
- libgcc-ng=9.1.0=hdf63c60_0
48+
- libgfortran-ng=7.3.0=hdf63c60_0
49+
- libiconv=1.15=h516909a_1005
50+
- liblapack=3.8.0=10_mkl
51+
- liblapacke=3.8.0=10_mkl
52+
- libpng=1.6.37=hed695b0_0
53+
- libstdcxx-ng=9.1.0=hdf63c60_0
54+
- libtiff=4.0.10=h57b8799_1003
55+
- libuuid=2.32.1=h14c3975_1000
56+
- libwebp=1.0.2=h576950b_1
57+
- libxcb=1.13=h14c3975_1002
58+
- libxml2=2.9.9=h13577e0_1
59+
- lz4-c=1.8.3=he1b5a44_1001
60+
- matplotlib=3.1.1=py37_0
61+
- matplotlib-base=3.1.1=py37hfd891ef_0
62+
- mkl=2019.4=243
63+
- mkl_fft=1.0.13=py37h516909a_1
64+
- mkl_random=1.0.4=py37hf2d7682_0
65+
- ncurses=6.1=hf484d3e_1002
66+
- nettle=3.4.1=h1bed415_1002
67+
- networkx=2.3=py_0
68+
- ninja=1.9.0=h6bb024c_0
69+
- numpy=1.16.4=py37h7e9f1db_0
70+
- numpy-base=1.16.4=py37hde5b4d6_0
71+
- olefile=0.46=py_0
72+
- opencv=4.1.0=py37h3aa1047_5
73+
- openh264=1.8.0=hdbcaa40_1000
74+
- openssl=1.1.1c=h516909a_0
75+
- pcre=8.41=hf484d3e_1003
76+
- pillow=6.1.0=py37he7afcd5_0
77+
- pip=19.1.1=py37_0
78+
- pixman=0.38.0=h516909a_1003
79+
- pthread-stubs=0.4=h14c3975_1001
80+
- pycparser=2.19=py37_1
81+
- pyparsing=2.4.0=py_0
82+
- pyqt=5.9.2=py37hcca6a23_0
83+
- python=3.7.3=h33d41f4_1
84+
- python-dateutil=2.8.0=py_0
85+
- pytorch=1.0.1=cuda100py37he554f03_0
86+
- pywavelets=1.0.3=py37hd352d35_1
87+
- pyyaml=5.1.1=py37h516909a_0
88+
- qt=5.9.7=h52cfd70_2
89+
- readline=8.0=hf8c457e_0
90+
- scikit-image=0.15.0=py37hb3f55d8_2
91+
- scipy=1.3.0=py37h921218d_0
92+
- setuptools=41.0.1=py37_0
93+
- shapely=1.6.4=py37hec07ddf_1006
94+
- sip=4.19.8=py37hf484d3e_1000
95+
- six=1.12.0=py37_1000
96+
- sqlite=3.29.0=hcee41ef_0
97+
- tk=8.6.9=hed695b0_1002
98+
- toolz=0.9.0=py_1
99+
- torchvision=0.2.1=py37_1000
100+
- tornado=6.0.3=py37h516909a_0
101+
- wheel=0.33.4=py37_0
102+
- x264=1!152.20180806=h14c3975_0
103+
- xorg-kbproto=1.0.7=h14c3975_1002
104+
- xorg-libice=1.0.9=h516909a_1004
105+
- xorg-libsm=1.2.3=h84519dc_1000
106+
- xorg-libx11=1.6.7=h14c3975_1000
107+
- xorg-libxau=1.0.9=h14c3975_0
108+
- xorg-libxdmcp=1.1.3=h516909a_0
109+
- xorg-libxext=1.3.4=h516909a_0
110+
- xorg-libxrender=0.9.10=h516909a_1002
111+
- xorg-renderproto=0.11.1=h14c3975_1002
112+
- xorg-xextproto=7.3.0=h14c3975_1002
113+
- xorg-xproto=7.0.31=h14c3975_1007
114+
- xz=5.2.4=h14c3975_1001
115+
- yaml=0.1.7=h14c3975_1001
116+
- zlib=1.2.11=h14c3975_1004
117+
- zstd=1.4.0=h3b9ef0a_0
118+
- pip:
119+
- addict==2.2.1
120+

Diff for: Config/config_ADE20K.yaml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
EXP:
2+
ID: ADE20K
3+
OUTPUT_DIR: Results
4+
5+
DATASET:
6+
NAME: ADEChallengeData2016
7+
ROOT: /home/vpu/Semantic-Aware-Scene-Recognition/Data/Datasets
8+
SCENE_LABELS: ./Data/Datasets/ADEChallengeData2016/sceneCategories.txt
9+
SEM_LABELS: ./Data/Datasets/ADEChallengeData2016/objectInfo150.txt
10+
N_CLASSES_SCENE: 1055
11+
N_CLASSES_SEM: 151
12+
13+
DATALOADER:
14+
NUM_WORKERS: 8
15+
16+
MODEL:
17+
PATH: ./Data/Model Zoo/ADEChallengeData2016/
18+
NAME: SAScene_ResNet18_ADE
19+
ONLY_RGB: FALSE
20+
ONLY_SEM: FALSE
21+
22+
TRAINING:
23+
PRINT_FREQ: 10
24+
PRECOMPUTED_SEM: TRUE
25+
BATCH_SIZE:
26+
TRAIN: 100
27+
TEST: 100
28+
LR: 2.5e-4
29+
LR_DECAY: 10
30+
MOMENTUM: 0.9
31+
OPTIMIZER: DFW
32+
POLY_POWER: 0.9
33+
WEIGHT_DECAY: 5.0e-4
34+
AVERAGE_LOSS: 20
35+
36+
VALIDATION:
37+
PRINT_FREQ: 10
38+
BATCH_SIZE:
39+
TRAIN: 100
40+
TEST: 10
41+
TEN_CROPS: TRUE

Diff for: Config/config_MITIndoor.yaml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
EXP:
2+
ID: MITIndoor67
3+
OUTPUT_DIR: Results
4+
5+
DATASET:
6+
NAME: MITIndoor67
7+
ROOT: /home/vpu/Semantic-Aware-Scene-Recognition/Data/Datasets
8+
SCENE_LABELS: ./Data/Datasets/MITIndoor67/scene_names.txt
9+
SEM_LABELS: ./Data/Datasets/ADEChallengeData2016/objectInfo150.txt
10+
N_CLASSES_SCENE: 67
11+
N_CLASSES_SEM: 151
12+
13+
DATALOADER:
14+
NUM_WORKERS: 8
15+
16+
MODEL:
17+
PATH: ./Data/Model Zoo/MITIndoor67/
18+
NAME: SAScene_ResNet18_MIT
19+
ONLY_RGB: FALSE
20+
ONLY_SEM: FALSE
21+
22+
TRAINING:
23+
PRINT_FREQ: 10
24+
PRECOMPUTED_SEM: TRUE
25+
BATCH_SIZE:
26+
TRAIN: 100
27+
TEST: 100
28+
LR: 2.5e-4
29+
LR_DECAY: 10
30+
MOMENTUM: 0.9
31+
OPTIMIZER: DFW
32+
POLY_POWER: 0.9
33+
WEIGHT_DECAY: 5.0e-4
34+
AVERAGE_LOSS: 20
35+
36+
VALIDATION:
37+
PRINT_FREQ: 10
38+
BATCH_SIZE:
39+
TRAIN: 100
40+
TEST: 10
41+
TEN_CROPS: TRUE

Diff for: Config/config_Places365.yaml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
EXP:
2+
ID: places365_standard
3+
OUTPUT_DIR: Results
4+
5+
DATASET:
6+
NAME: places365_standard
7+
ROOT: /home/vpu/Semantic-Aware-Scene-Recognition/Data/Datasets
8+
SCENE_LABELS: ./Data/Datasets/places365_standard/scene_names.txt
9+
SEM_LABELS: ./Data/Datasets/ADEChallengeData2016/objectInfo150.txt
10+
N_CLASSES_SCENE: 365
11+
N_CLASSES_SEM: 151
12+
13+
DATALOADER:
14+
NUM_WORKERS: 8
15+
16+
MODEL:
17+
PATH: ./Data/Model Zoo/places365_standard/
18+
NAME: SAScene_ResNet18_Places
19+
ONLY_RGB: FALSE
20+
ONLY_SEM: FALSE
21+
22+
TRAINING:
23+
PRINT_FREQ: 10
24+
PRECOMPUTED_SEM: TRUE
25+
BATCH_SIZE:
26+
TRAIN: 100
27+
TEST: 100
28+
LR: 2.5e-4
29+
LR_DECAY: 10
30+
MOMENTUM: 0.9
31+
OPTIMIZER: DFW
32+
POLY_POWER: 0.9
33+
WEIGHT_DECAY: 5.0e-4
34+
AVERAGE_LOSS: 20
35+
36+
VALIDATION:
37+
PRINT_FREQ: 10
38+
BATCH_SIZE:
39+
TRAIN: 100
40+
TEST: 10
41+
TEN_CROPS: TRUE

Diff for: Config/config_SUN397.yaml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
EXP:
2+
ID: SUN397
3+
OUTPUT_DIR: Results
4+
5+
DATASET:
6+
NAME: SUN397
7+
ROOT: /home/vpu/Semantic-Aware-Scene-Recognition/Data/Datasets
8+
SCENE_LABELS: ./Data/Datasets/SUN397/scene_names.txt
9+
SEM_LABELS: ./Data/Datasets/ADEChallengeData2016/objectInfo150.txt
10+
N_CLASSES_SCENE: 397
11+
N_CLASSES_SEM: 151
12+
13+
DATALOADER:
14+
NUM_WORKERS: 8
15+
16+
MODEL:
17+
PATH: ./Data/Model Zoo/SUN397/
18+
NAME: SAScene_ResNet18_SUN
19+
ONLY_RGB: FALSE
20+
ONLY_SEM: FALSE
21+
22+
TRAINING:
23+
PRINT_FREQ: 10
24+
PRECOMPUTED_SEM: TRUE
25+
BATCH_SIZE:
26+
TRAIN: 100
27+
TEST: 100
28+
LR: 2.5e-4
29+
LR_DECAY: 10
30+
MOMENTUM: 0.9
31+
OPTIMIZER: DFW
32+
POLY_POWER: 0.9
33+
WEIGHT_DECAY: 5.0e-4
34+
AVERAGE_LOSS: 20
35+
36+
VALIDATION:
37+
PRINT_FREQ: 10
38+
BATCH_SIZE:
39+
TRAIN: 100
40+
TEST: 10
41+
TEN_CROPS: TRUE

Diff for: Data/Datasets/ADEChallengeData2016/README.md

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# ADE20K Dataset Setup
2+
Instructions to download and setup [ADE20K Dataset](https://groups.csail.mit.edu/vision/datasets/ADE20K/).
3+
4+
## Setup
5+
### RGB Images
6+
7+
1. To download ADE20K training and validation sets (RGB Images) run the following script (~1GB) from the repository folder:
8+
9+
bash ./Scripts/download_ADE20K.sh [PATH]
10+
11+
For example:
12+
13+
bash ./Scripts/download_ADE20K.sh ./Data/Datasets/ADEChallengeData2016
14+
15+
2. Copy the [PATH] to the `config_ADE20K.yaml` configuration file:
16+
17+
DATASET:
18+
NAME: ADEChallengeData2016
19+
ROOT: [WRITE PATH HERE]
20+
21+
### [RECOMMENDED] Precomputed Semantic Segmentation Information
22+
23+
1. To download precomputed Semantic Segmentation maks for faster training and validation (labels and scores) run the following script (~3GB) from the repository folder:
24+
25+
bash ./Scripts/download_ADE20K_extra.sh [PATH FOR DATASET]
26+
27+
For example
28+
29+
bash ./Scripts/download_ADE20K_extra.sh ./Data/Datasets/ADEChallengeData2016
30+
31+
2. To use precomputed semantic segmentation activate the option `PRECOMPUTED_SEM` in `config_ADE20K.yaml` configuration file:
32+
33+
PRECOMPUTED_SEM: TRUE
34+
35+
## Dataset Structure
36+
The dataset must follow the following structure:
37+
```
38+
|----images
39+
|--- training
40+
ADE_train_00000001.jpg
41+
...
42+
|--- validation
43+
ADE_val_00000001.jpg
44+
...
45+
|----noisy_annotations_RGB
46+
|--- training
47+
ADE_train_00000001.png
48+
...
49+
|--- validation
50+
ADE_train_00000001.png
51+
...
52+
|----noisy_scores_RGB
53+
|--- training
54+
ADE_train_00000001.png
55+
...
56+
|--- validation
57+
ADE_train_00000001.png
58+
...
59+
```
60+
61+
Note that *noisy_annotations* and *noisy_scores* folders are only necessary if precomputed semantic segmentation is used.

0 commit comments

Comments
 (0)