/advent/scripts
126 | $ python test.py --cfg ./configs/advent.yml
127 | ```
128 | To test MinEnt:
129 | ```bash
130 | $ python test.py --cfg ./configs/minent.yml
131 | ```
132 |
133 | ## Acknowledgements
134 | This codebase is heavily borrowed from [AdaptSegNet](https://github.com/wasidennis/AdaptSegNet) and [Pytorch-Deeplab](https://github.com/speedinghzl/Pytorch-Deeplab).
135 |
136 | ## License
137 | ADVENT is released under the [Apache 2.0 license](./LICENSE).
138 |
--------------------------------------------------------------------------------
/ADVENT/advent/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BOBrown/SegNet_Source/4dc9c93c77a64b0338038cc9e192006b11a5efe2/ADVENT/advent/__init__.py
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/Potsdam.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | from advent.dataset.base_dataset import BaseDataset
4 | from advent.utils.serialization import json_load
5 | from advent.utils import project_root
6 |
7 | DEFAULT_INFO_PATH = project_root / 'advent/dataset/Vaihingen/info.json'
8 |
9 | class Potsdam(BaseDataset):
10 | def __init__(self, root, list_path, set='all',
11 | max_iters=None, crop_size=(512, 512), mean=(128, 128, 128),
12 | info_path = DEFAULT_INFO_PATH):
13 | super().__init__(root, list_path, set, max_iters, crop_size, None, mean)
14 |
15 | self.info = json_load(info_path)
16 | self.class_names = np.array(self.info['label'], dtype=np.str)
17 |
18 | def get_metadata(self, name):
19 | img_file = self.root / 'images' / name
20 | label_file = self.root / 'labels' / name
21 | return img_file, label_file
22 |
23 | def __getitem__(self, index):
24 | img_file, label_file, name = self.files[index]
25 | image = self.get_image(img_file)
26 | label = self.get_labels(label_file)
27 | image = self.preprocess(image)
28 | return image.copy(), label-1, np.array(image.shape), name
29 |
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/PotsdamIRRG/val.txt:
--------------------------------------------------------------------------------
1 | top_potsdam_2_10_IRRG_01.png
2 | top_potsdam_2_10_IRRG_02.png
3 | top_potsdam_2_10_IRRG_03.png
4 | top_potsdam_2_10_IRRG_04.png
5 | top_potsdam_2_10_IRRG_05.png
6 | top_potsdam_2_10_IRRG_06.png
7 | top_potsdam_2_10_IRRG_07.png
8 | top_potsdam_2_10_IRRG_08.png
9 | top_potsdam_2_10_IRRG_09.png
10 | top_potsdam_2_10_IRRG_10.png
11 | top_potsdam_2_10_IRRG_100.png
12 | top_potsdam_2_10_IRRG_101.png
13 | top_potsdam_2_10_IRRG_102.png
14 | top_potsdam_2_10_IRRG_103.png
15 | top_potsdam_2_10_IRRG_104.png
16 | top_potsdam_2_10_IRRG_105.png
17 | top_potsdam_2_10_IRRG_106.png
18 | top_potsdam_2_10_IRRG_107.png
19 | top_potsdam_2_10_IRRG_108.png
20 | top_potsdam_2_10_IRRG_109.png
21 | top_potsdam_2_10_IRRG_11.png
22 | top_potsdam_2_10_IRRG_110.png
23 | top_potsdam_2_10_IRRG_111.png
24 | top_potsdam_2_10_IRRG_112.png
25 | top_potsdam_2_10_IRRG_113.png
26 | top_potsdam_2_10_IRRG_114.png
27 | top_potsdam_2_10_IRRG_115.png
28 | top_potsdam_2_10_IRRG_116.png
29 | top_potsdam_2_10_IRRG_117.png
30 | top_potsdam_2_10_IRRG_118.png
31 | top_potsdam_2_10_IRRG_119.png
32 | top_potsdam_2_10_IRRG_12.png
33 | top_potsdam_7_8_IRRG_106.png
34 | top_potsdam_7_8_IRRG_107.png
35 | top_potsdam_7_8_IRRG_108.png
36 | top_potsdam_7_8_IRRG_109.png
37 | top_potsdam_7_8_IRRG_11.png
38 | top_potsdam_7_8_IRRG_110.png
39 | top_potsdam_7_8_IRRG_111.png
40 | top_potsdam_7_8_IRRG_112.png
41 | top_potsdam_7_8_IRRG_113.png
42 | top_potsdam_7_8_IRRG_114.png
43 | top_potsdam_7_8_IRRG_115.png
44 | top_potsdam_7_8_IRRG_116.png
45 | top_potsdam_7_8_IRRG_117.png
46 | top_potsdam_7_8_IRRG_118.png
47 | top_potsdam_7_8_IRRG_119.png
48 | top_potsdam_7_8_IRRG_12.png
49 | top_potsdam_7_8_IRRG_120.png
50 | top_potsdam_7_8_IRRG_121.png
51 | top_potsdam_7_8_IRRG_13.png
52 | top_potsdam_7_8_IRRG_14.png
53 | top_potsdam_7_8_IRRG_15.png
54 | top_potsdam_7_8_IRRG_16.png
55 | top_potsdam_7_8_IRRG_17.png
56 | top_potsdam_7_8_IRRG_18.png
57 | top_potsdam_7_8_IRRG_19.png
58 | top_potsdam_7_8_IRRG_20.png
59 | top_potsdam_7_8_IRRG_21.png
60 | top_potsdam_7_8_IRRG_22.png
61 | top_potsdam_7_8_IRRG_23.png
62 | top_potsdam_7_8_IRRG_24.png
63 | top_potsdam_7_8_IRRG_25.png
64 | top_potsdam_7_8_IRRG_26.png
65 | top_potsdam_2_10_IRRG_27.png
66 | top_potsdam_2_10_IRRG_28.png
67 | top_potsdam_2_10_IRRG_29.png
68 | top_potsdam_2_10_IRRG_30.png
69 | top_potsdam_2_10_IRRG_31.png
70 | top_potsdam_2_10_IRRG_32.png
71 | top_potsdam_2_10_IRRG_33.png
72 | top_potsdam_2_10_IRRG_34.png
73 | top_potsdam_2_10_IRRG_35.png
74 | top_potsdam_2_10_IRRG_36.png
75 | top_potsdam_2_10_IRRG_37.png
76 | top_potsdam_2_10_IRRG_38.png
77 | top_potsdam_2_10_IRRG_39.png
78 | top_potsdam_2_10_IRRG_40.png
79 | top_potsdam_2_10_IRRG_41.png
80 | top_potsdam_2_10_IRRG_42.png
81 | top_potsdam_2_10_IRRG_43.png
82 | top_potsdam_2_10_IRRG_44.png
83 | top_potsdam_2_10_IRRG_45.png
84 | top_potsdam_2_10_IRRG_46.png
85 | top_potsdam_2_10_IRRG_47.png
86 | top_potsdam_2_10_IRRG_48.png
87 | top_potsdam_2_10_IRRG_49.png
88 | top_potsdam_2_10_IRRG_50.png
89 | top_potsdam_2_10_IRRG_51.png
90 | top_potsdam_2_10_IRRG_52.png
91 | top_potsdam_2_10_IRRG_53.png
92 | top_potsdam_2_10_IRRG_54.png
93 | top_potsdam_2_10_IRRG_55.png
94 | top_potsdam_2_10_IRRG_56.png
95 | top_potsdam_2_10_IRRG_57.png
96 | top_potsdam_2_10_IRRG_58.png
97 | top_potsdam_2_10_IRRG_59.png
98 | top_potsdam_2_10_IRRG_60.png
99 | top_potsdam_2_10_IRRG_61.png
100 | top_potsdam_2_10_IRRG_62.png
101 | top_potsdam_2_10_IRRG_63.png
102 | top_potsdam_2_10_IRRG_64.png
103 | top_potsdam_2_10_IRRG_65.png
104 | top_potsdam_2_10_IRRG_66.png
105 | top_potsdam_2_10_IRRG_67.png
106 | top_potsdam_2_10_IRRG_68.png
107 | top_potsdam_2_10_IRRG_69.png
108 | top_potsdam_2_10_IRRG_70.png
109 | top_potsdam_2_10_IRRG_71.png
110 | top_potsdam_2_10_IRRG_72.png
111 | top_potsdam_2_10_IRRG_73.png
112 | top_potsdam_2_10_IRRG_74.png
113 | top_potsdam_2_10_IRRG_75.png
114 | top_potsdam_2_10_IRRG_76.png
115 | top_potsdam_2_10_IRRG_77.png
116 | top_potsdam_2_10_IRRG_78.png
117 | top_potsdam_2_10_IRRG_79.png
118 | top_potsdam_2_10_IRRG_80.png
119 | top_potsdam_2_10_IRRG_81.png
120 | top_potsdam_2_10_IRRG_82.png
121 | top_potsdam_2_10_IRRG_83.png
122 | top_potsdam_2_10_IRRG_84.png
123 | top_potsdam_2_10_IRRG_85.png
124 | top_potsdam_2_10_IRRG_86.png
125 | top_potsdam_2_10_IRRG_87.png
126 | top_potsdam_2_10_IRRG_88.png
127 | top_potsdam_2_10_IRRG_89.png
128 | top_potsdam_2_10_IRRG_90.png
129 | top_potsdam_2_10_IRRG_91.png
130 | top_potsdam_2_10_IRRG_92.png
131 | top_potsdam_2_10_IRRG_93.png
132 | top_potsdam_2_10_IRRG_94.png
133 | top_potsdam_2_10_IRRG_95.png
134 | top_potsdam_2_10_IRRG_96.png
135 | top_potsdam_2_10_IRRG_97.png
136 | top_potsdam_2_10_IRRG_98.png
137 | top_potsdam_2_10_IRRG_99.png
138 | top_potsdam_2_11_IRRG_01.png
139 | top_potsdam_2_11_IRRG_02.png
140 | top_potsdam_2_11_IRRG_03.png
141 | top_potsdam_2_11_IRRG_04.png
142 | top_potsdam_2_11_IRRG_05.png
143 | top_potsdam_2_11_IRRG_06.png
144 | top_potsdam_2_11_IRRG_07.png
145 | top_potsdam_2_11_IRRG_08.png
146 | top_potsdam_2_11_IRRG_09.png
147 | top_potsdam_2_11_IRRG_10.png
148 | top_potsdam_2_11_IRRG_100.png
149 | top_potsdam_2_11_IRRG_101.png
150 | top_potsdam_2_11_IRRG_102.png
151 | top_potsdam_2_11_IRRG_103.png
152 | top_potsdam_2_11_IRRG_104.png
153 | top_potsdam_2_11_IRRG_105.png
154 | top_potsdam_2_11_IRRG_106.png
155 | top_potsdam_2_11_IRRG_107.png
156 | top_potsdam_2_11_IRRG_108.png
157 | top_potsdam_2_11_IRRG_109.png
158 | top_potsdam_2_11_IRRG_11.png
159 | top_potsdam_2_11_IRRG_110.png
160 | top_potsdam_2_11_IRRG_111.png
161 | top_potsdam_2_11_IRRG_112.png
162 | top_potsdam_2_11_IRRG_113.png
163 | top_potsdam_2_11_IRRG_114.png
164 | top_potsdam_2_11_IRRG_115.png
165 | top_potsdam_2_11_IRRG_116.png
166 | top_potsdam_2_11_IRRG_117.png
167 | top_potsdam_2_11_IRRG_118.png
168 | top_potsdam_2_11_IRRG_119.png
169 | top_potsdam_2_11_IRRG_12.png
170 | top_potsdam_2_11_IRRG_120.png
171 | top_potsdam_2_11_IRRG_121.png
172 | top_potsdam_2_11_IRRG_13.png
173 | top_potsdam_2_11_IRRG_14.png
174 | top_potsdam_2_11_IRRG_15.png
175 | top_potsdam_2_11_IRRG_16.png
176 | top_potsdam_2_11_IRRG_17.png
177 | top_potsdam_2_11_IRRG_18.png
178 | top_potsdam_2_11_IRRG_19.png
179 | top_potsdam_2_11_IRRG_20.png
180 | top_potsdam_2_11_IRRG_21.png
181 | top_potsdam_2_11_IRRG_22.png
182 | top_potsdam_2_11_IRRG_23.png
183 | top_potsdam_2_11_IRRG_24.png
184 | top_potsdam_2_11_IRRG_25.png
185 | top_potsdam_2_11_IRRG_26.png
186 | top_potsdam_2_11_IRRG_27.png
187 | top_potsdam_2_11_IRRG_28.png
188 | top_potsdam_2_11_IRRG_29.png
189 | top_potsdam_2_11_IRRG_30.png
190 | top_potsdam_2_11_IRRG_31.png
191 | top_potsdam_2_11_IRRG_32.png
192 | top_potsdam_2_11_IRRG_33.png
193 | top_potsdam_2_11_IRRG_34.png
194 | top_potsdam_2_11_IRRG_35.png
195 | top_potsdam_2_11_IRRG_36.png
196 | top_potsdam_2_11_IRRG_37.png
197 | top_potsdam_2_11_IRRG_38.png
198 | top_potsdam_2_11_IRRG_39.png
199 | top_potsdam_2_11_IRRG_40.png
200 | top_potsdam_2_11_IRRG_41.png
201 | top_potsdam_2_11_IRRG_42.png
202 | top_potsdam_2_11_IRRG_43.png
203 | top_potsdam_2_11_IRRG_44.png
204 | top_potsdam_2_11_IRRG_45.png
205 | top_potsdam_2_11_IRRG_46.png
206 | top_potsdam_2_11_IRRG_47.png
207 | top_potsdam_2_11_IRRG_48.png
208 | top_potsdam_2_11_IRRG_49.png
209 | top_potsdam_2_11_IRRG_50.png
210 | top_potsdam_2_11_IRRG_51.png
211 | top_potsdam_2_11_IRRG_52.png
212 | top_potsdam_2_11_IRRG_53.png
213 | top_potsdam_2_11_IRRG_54.png
214 | top_potsdam_2_11_IRRG_55.png
215 | top_potsdam_2_11_IRRG_56.png
216 | top_potsdam_2_11_IRRG_57.png
217 | top_potsdam_2_11_IRRG_58.png
218 | top_potsdam_2_11_IRRG_59.png
219 | top_potsdam_2_11_IRRG_60.png
220 | top_potsdam_2_11_IRRG_61.png
221 | top_potsdam_2_11_IRRG_62.png
222 | top_potsdam_2_11_IRRG_63.png
223 | top_potsdam_2_11_IRRG_64.png
224 | top_potsdam_2_11_IRRG_65.png
225 | top_potsdam_2_11_IRRG_66.png
226 | top_potsdam_2_11_IRRG_67.png
227 | top_potsdam_2_11_IRRG_68.png
228 | top_potsdam_2_11_IRRG_69.png
229 | top_potsdam_2_11_IRRG_70.png
230 | top_potsdam_2_11_IRRG_71.png
231 | top_potsdam_2_11_IRRG_72.png
232 | top_potsdam_2_11_IRRG_73.png
233 | top_potsdam_2_11_IRRG_74.png
234 | top_potsdam_2_11_IRRG_75.png
235 | top_potsdam_2_11_IRRG_76.png
236 | top_potsdam_2_11_IRRG_77.png
237 | top_potsdam_2_11_IRRG_78.png
238 | top_potsdam_2_11_IRRG_79.png
239 | top_potsdam_2_11_IRRG_80.png
240 | top_potsdam_2_11_IRRG_81.png
241 | top_potsdam_2_11_IRRG_82.png
242 | top_potsdam_2_11_IRRG_83.png
243 | top_potsdam_2_11_IRRG_84.png
244 | top_potsdam_2_11_IRRG_85.png
245 | top_potsdam_2_11_IRRG_86.png
246 | top_potsdam_2_11_IRRG_87.png
247 | top_potsdam_2_11_IRRG_88.png
248 | top_potsdam_2_11_IRRG_89.png
249 | top_potsdam_2_11_IRRG_90.png
250 | top_potsdam_2_11_IRRG_91.png
251 | top_potsdam_2_11_IRRG_92.png
252 | top_potsdam_2_11_IRRG_93.png
253 | top_potsdam_2_11_IRRG_94.png
254 | top_potsdam_2_11_IRRG_95.png
255 | top_potsdam_2_11_IRRG_96.png
256 | top_potsdam_2_11_IRRG_97.png
257 | top_potsdam_2_11_IRRG_98.png
258 | top_potsdam_2_11_IRRG_99.png
259 | top_potsdam_2_12_IRRG_01.png
260 | top_potsdam_2_12_IRRG_02.png
261 | top_potsdam_2_12_IRRG_03.png
262 | top_potsdam_2_12_IRRG_04.png
263 | top_potsdam_2_12_IRRG_05.png
264 | top_potsdam_2_12_IRRG_06.png
265 | top_potsdam_2_12_IRRG_07.png
266 | top_potsdam_2_12_IRRG_08.png
267 | top_potsdam_2_12_IRRG_09.png
268 | top_potsdam_2_12_IRRG_10.png
269 | top_potsdam_2_12_IRRG_100.png
270 | top_potsdam_2_12_IRRG_101.png
271 | top_potsdam_2_12_IRRG_102.png
272 | top_potsdam_2_12_IRRG_103.png
273 | top_potsdam_2_12_IRRG_104.png
274 | top_potsdam_2_12_IRRG_105.png
275 | top_potsdam_2_12_IRRG_106.png
276 | top_potsdam_2_12_IRRG_107.png
277 | top_potsdam_2_12_IRRG_108.png
278 | top_potsdam_2_12_IRRG_109.png
279 | top_potsdam_2_12_IRRG_11.png
280 | top_potsdam_2_12_IRRG_110.png
281 | top_potsdam_2_12_IRRG_111.png
282 | top_potsdam_2_12_IRRG_112.png
283 | top_potsdam_2_12_IRRG_113.png
284 | top_potsdam_2_12_IRRG_114.png
285 | top_potsdam_2_12_IRRG_115.png
286 | top_potsdam_2_12_IRRG_116.png
287 | top_potsdam_2_12_IRRG_117.png
288 | top_potsdam_2_12_IRRG_118.png
289 | top_potsdam_2_12_IRRG_119.png
290 | top_potsdam_2_12_IRRG_12.png
291 | top_potsdam_2_12_IRRG_120.png
292 | top_potsdam_2_12_IRRG_121.png
293 | top_potsdam_2_12_IRRG_13.png
294 | top_potsdam_2_12_IRRG_14.png
295 | top_potsdam_2_12_IRRG_15.png
296 | top_potsdam_2_12_IRRG_16.png
297 | top_potsdam_2_12_IRRG_17.png
298 | top_potsdam_2_12_IRRG_18.png
299 | top_potsdam_2_12_IRRG_19.png
300 | top_potsdam_2_12_IRRG_20.png
301 | top_potsdam_2_12_IRRG_21.png
302 | top_potsdam_2_12_IRRG_22.png
303 | top_potsdam_2_12_IRRG_23.png
304 | top_potsdam_2_12_IRRG_24.png
305 | top_potsdam_2_12_IRRG_25.png
306 | top_potsdam_2_12_IRRG_26.png
307 | top_potsdam_2_12_IRRG_27.png
308 | top_potsdam_2_12_IRRG_28.png
309 | top_potsdam_2_12_IRRG_29.png
310 | top_potsdam_2_12_IRRG_30.png
311 | top_potsdam_2_12_IRRG_31.png
312 | top_potsdam_2_12_IRRG_32.png
313 | top_potsdam_2_12_IRRG_33.png
314 | top_potsdam_2_12_IRRG_34.png
315 | top_potsdam_2_12_IRRG_35.png
316 | top_potsdam_2_12_IRRG_36.png
317 | top_potsdam_2_12_IRRG_37.png
318 | top_potsdam_2_12_IRRG_38.png
319 | top_potsdam_2_12_IRRG_39.png
320 | top_potsdam_2_12_IRRG_40.png
321 | top_potsdam_2_12_IRRG_41.png
322 | top_potsdam_2_12_IRRG_42.png
323 | top_potsdam_2_12_IRRG_43.png
324 | top_potsdam_2_12_IRRG_44.png
325 | top_potsdam_2_12_IRRG_45.png
326 | top_potsdam_2_12_IRRG_46.png
327 | top_potsdam_2_12_IRRG_47.png
328 | top_potsdam_2_12_IRRG_48.png
329 | top_potsdam_2_12_IRRG_49.png
330 | top_potsdam_2_12_IRRG_50.png
331 | top_potsdam_2_12_IRRG_51.png
332 | top_potsdam_2_12_IRRG_52.png
333 | top_potsdam_2_12_IRRG_53.png
334 | top_potsdam_2_12_IRRG_54.png
335 | top_potsdam_2_12_IRRG_55.png
336 | top_potsdam_2_12_IRRG_56.png
337 | top_potsdam_2_12_IRRG_57.png
338 | top_potsdam_2_12_IRRG_58.png
339 | top_potsdam_2_12_IRRG_59.png
340 | top_potsdam_2_12_IRRG_60.png
341 | top_potsdam_2_12_IRRG_61.png
342 | top_potsdam_2_12_IRRG_62.png
343 | top_potsdam_2_12_IRRG_63.png
344 | top_potsdam_2_12_IRRG_64.png
345 | top_potsdam_2_12_IRRG_65.png
346 | top_potsdam_2_12_IRRG_66.png
347 | top_potsdam_2_12_IRRG_67.png
348 | top_potsdam_2_12_IRRG_68.png
349 | top_potsdam_2_12_IRRG_69.png
350 | top_potsdam_2_12_IRRG_70.png
351 | top_potsdam_2_12_IRRG_71.png
352 | top_potsdam_2_12_IRRG_72.png
353 | top_potsdam_2_12_IRRG_73.png
354 | top_potsdam_2_12_IRRG_74.png
355 | top_potsdam_2_12_IRRG_75.png
356 | top_potsdam_2_12_IRRG_76.png
357 | top_potsdam_2_12_IRRG_77.png
358 | top_potsdam_2_12_IRRG_78.png
359 | top_potsdam_2_12_IRRG_79.png
360 | top_potsdam_2_12_IRRG_80.png
361 | top_potsdam_2_12_IRRG_81.png
362 | top_potsdam_2_12_IRRG_82.png
363 | top_potsdam_2_12_IRRG_83.png
364 | top_potsdam_2_12_IRRG_84.png
365 | top_potsdam_2_12_IRRG_85.png
366 | top_potsdam_2_12_IRRG_86.png
367 | top_potsdam_2_12_IRRG_87.png
368 | top_potsdam_2_12_IRRG_88.png
369 | top_potsdam_2_12_IRRG_89.png
370 | top_potsdam_2_12_IRRG_90.png
371 | top_potsdam_2_12_IRRG_91.png
372 | top_potsdam_2_12_IRRG_92.png
373 | top_potsdam_2_12_IRRG_93.png
374 | top_potsdam_2_12_IRRG_94.png
375 | top_potsdam_2_12_IRRG_95.png
376 | top_potsdam_2_12_IRRG_96.png
377 | top_potsdam_2_12_IRRG_97.png
378 | top_potsdam_2_12_IRRG_98.png
379 | top_potsdam_2_12_IRRG_99.png
380 | top_potsdam_2_13_IRRG_01.png
381 | top_potsdam_2_13_IRRG_02.png
382 | top_potsdam_2_13_IRRG_03.png
383 | top_potsdam_2_13_IRRG_04.png
384 | top_potsdam_2_13_IRRG_05.png
385 | top_potsdam_2_13_IRRG_06.png
386 | top_potsdam_2_13_IRRG_07.png
387 | top_potsdam_2_13_IRRG_08.png
388 | top_potsdam_2_13_IRRG_09.png
389 | top_potsdam_2_13_IRRG_10.png
390 | top_potsdam_2_13_IRRG_100.png
391 | top_potsdam_2_13_IRRG_101.png
392 | top_potsdam_2_13_IRRG_102.png
393 | top_potsdam_2_13_IRRG_103.png
394 | top_potsdam_2_13_IRRG_104.png
395 | top_potsdam_2_13_IRRG_105.png
396 | top_potsdam_2_13_IRRG_106.png
397 | top_potsdam_2_13_IRRG_107.png
398 | top_potsdam_2_13_IRRG_108.png
399 | top_potsdam_2_13_IRRG_109.png
400 | top_potsdam_2_13_IRRG_11.png
401 | top_potsdam_2_13_IRRG_110.png
402 | top_potsdam_2_13_IRRG_111.png
403 | top_potsdam_2_13_IRRG_112.png
404 | top_potsdam_2_13_IRRG_113.png
405 | top_potsdam_2_13_IRRG_114.png
406 | top_potsdam_2_13_IRRG_115.png
407 | top_potsdam_2_13_IRRG_116.png
408 | top_potsdam_2_13_IRRG_117.png
409 | top_potsdam_2_13_IRRG_118.png
410 | top_potsdam_2_13_IRRG_119.png
411 | top_potsdam_2_13_IRRG_12.png
412 | top_potsdam_2_13_IRRG_120.png
413 | top_potsdam_2_13_IRRG_121.png
414 | top_potsdam_2_13_IRRG_13.png
415 | top_potsdam_2_13_IRRG_14.png
416 | top_potsdam_2_13_IRRG_15.png
417 | top_potsdam_2_13_IRRG_16.png
418 | top_potsdam_2_13_IRRG_17.png
419 | top_potsdam_2_13_IRRG_18.png
420 | top_potsdam_2_13_IRRG_19.png
421 | top_potsdam_2_13_IRRG_20.png
422 | top_potsdam_2_13_IRRG_21.png
423 | top_potsdam_2_13_IRRG_22.png
424 | top_potsdam_2_13_IRRG_23.png
425 | top_potsdam_2_13_IRRG_24.png
426 | top_potsdam_2_13_IRRG_25.png
427 | top_potsdam_2_13_IRRG_26.png
428 | top_potsdam_2_13_IRRG_27.png
429 | top_potsdam_2_13_IRRG_28.png
430 | top_potsdam_2_13_IRRG_29.png
431 | top_potsdam_2_13_IRRG_30.png
432 | top_potsdam_2_13_IRRG_31.png
433 | top_potsdam_2_13_IRRG_32.png
434 | top_potsdam_2_13_IRRG_33.png
435 | top_potsdam_2_13_IRRG_34.png
436 | top_potsdam_2_13_IRRG_35.png
437 | top_potsdam_2_13_IRRG_36.png
438 | top_potsdam_2_13_IRRG_37.png
439 | top_potsdam_2_13_IRRG_38.png
440 | top_potsdam_2_13_IRRG_39.png
441 | top_potsdam_2_13_IRRG_40.png
442 | top_potsdam_2_13_IRRG_41.png
443 | top_potsdam_2_13_IRRG_42.png
444 | top_potsdam_2_13_IRRG_43.png
445 | top_potsdam_2_13_IRRG_44.png
446 | top_potsdam_2_13_IRRG_45.png
447 | top_potsdam_2_13_IRRG_46.png
448 | top_potsdam_2_13_IRRG_47.png
449 | top_potsdam_2_13_IRRG_48.png
450 | top_potsdam_2_13_IRRG_49.png
451 | top_potsdam_2_13_IRRG_50.png
452 | top_potsdam_2_13_IRRG_51.png
453 | top_potsdam_2_13_IRRG_52.png
454 | top_potsdam_2_13_IRRG_53.png
455 | top_potsdam_2_13_IRRG_54.png
456 | top_potsdam_2_13_IRRG_55.png
457 | top_potsdam_2_13_IRRG_56.png
458 | top_potsdam_2_13_IRRG_57.png
459 | top_potsdam_2_13_IRRG_58.png
460 | top_potsdam_2_13_IRRG_59.png
461 | top_potsdam_2_13_IRRG_60.png
462 | top_potsdam_2_13_IRRG_61.png
463 | top_potsdam_2_13_IRRG_62.png
464 | top_potsdam_2_13_IRRG_63.png
465 | top_potsdam_2_13_IRRG_64.png
466 | top_potsdam_2_13_IRRG_65.png
467 | top_potsdam_2_13_IRRG_66.png
468 | top_potsdam_2_13_IRRG_67.png
469 | top_potsdam_2_13_IRRG_68.png
470 | top_potsdam_2_13_IRRG_69.png
471 | top_potsdam_2_13_IRRG_70.png
472 | top_potsdam_2_13_IRRG_71.png
473 | top_potsdam_2_13_IRRG_72.png
474 | top_potsdam_2_13_IRRG_73.png
475 | top_potsdam_2_13_IRRG_74.png
476 | top_potsdam_2_13_IRRG_75.png
477 | top_potsdam_2_13_IRRG_76.png
478 | top_potsdam_2_13_IRRG_77.png
479 | top_potsdam_2_13_IRRG_78.png
480 | top_potsdam_2_13_IRRG_79.png
481 | top_potsdam_2_13_IRRG_80.png
482 | top_potsdam_2_13_IRRG_81.png
483 | top_potsdam_2_13_IRRG_82.png
484 | top_potsdam_2_13_IRRG_83.png
485 | top_potsdam_2_13_IRRG_84.png
486 | top_potsdam_2_13_IRRG_85.png
487 | top_potsdam_2_13_IRRG_86.png
488 | top_potsdam_2_13_IRRG_87.png
489 | top_potsdam_2_13_IRRG_88.png
490 | top_potsdam_2_13_IRRG_89.png
491 | top_potsdam_2_13_IRRG_90.png
492 | top_potsdam_2_13_IRRG_91.png
493 | top_potsdam_2_13_IRRG_92.png
494 | top_potsdam_2_13_IRRG_93.png
495 | top_potsdam_2_13_IRRG_94.png
496 | top_potsdam_2_13_IRRG_95.png
497 | top_potsdam_2_13_IRRG_96.png
498 | top_potsdam_2_13_IRRG_97.png
499 | top_potsdam_2_13_IRRG_98.png
500 | top_potsdam_2_13_IRRG_99.png
501 | top_potsdam_2_14_IRRG_01.png
502 | top_potsdam_2_14_IRRG_02.png
503 | top_potsdam_2_14_IRRG_03.png
504 | top_potsdam_2_14_IRRG_04.png
505 | top_potsdam_2_14_IRRG_05.png
506 | top_potsdam_2_14_IRRG_06.png
507 | top_potsdam_2_14_IRRG_07.png
508 | top_potsdam_2_14_IRRG_08.png
509 | top_potsdam_2_14_IRRG_09.png
510 | top_potsdam_3_14_IRRG_57.png
511 | top_potsdam_3_14_IRRG_58.png
512 | top_potsdam_3_14_IRRG_59.png
513 | top_potsdam_3_14_IRRG_60.png
514 | top_potsdam_3_14_IRRG_61.png
515 | top_potsdam_3_14_IRRG_62.png
516 | top_potsdam_3_14_IRRG_63.png
517 | top_potsdam_3_14_IRRG_64.png
518 | top_potsdam_3_14_IRRG_65.png
519 | top_potsdam_3_14_IRRG_66.png
520 | top_potsdam_3_14_IRRG_67.png
521 | top_potsdam_3_14_IRRG_68.png
522 | top_potsdam_3_14_IRRG_69.png
523 | top_potsdam_3_14_IRRG_70.png
524 | top_potsdam_3_14_IRRG_71.png
525 | top_potsdam_3_14_IRRG_72.png
526 | top_potsdam_3_14_IRRG_73.png
527 | top_potsdam_3_14_IRRG_74.png
528 | top_potsdam_3_14_IRRG_75.png
529 | top_potsdam_3_14_IRRG_76.png
530 | top_potsdam_3_14_IRRG_77.png
531 | top_potsdam_3_14_IRRG_78.png
532 | top_potsdam_3_14_IRRG_79.png
533 | top_potsdam_3_14_IRRG_80.png
534 | top_potsdam_3_14_IRRG_81.png
535 | top_potsdam_3_14_IRRG_82.png
536 | top_potsdam_3_14_IRRG_83.png
537 | top_potsdam_3_14_IRRG_84.png
538 | top_potsdam_3_14_IRRG_85.png
539 | top_potsdam_3_14_IRRG_86.png
540 | top_potsdam_3_14_IRRG_87.png
541 | top_potsdam_3_14_IRRG_88.png
542 | top_potsdam_3_14_IRRG_89.png
543 | top_potsdam_3_14_IRRG_90.png
544 | top_potsdam_3_14_IRRG_91.png
545 | top_potsdam_3_14_IRRG_92.png
546 | top_potsdam_3_14_IRRG_93.png
547 | top_potsdam_3_14_IRRG_94.png
548 | top_potsdam_3_14_IRRG_95.png
549 | top_potsdam_3_14_IRRG_96.png
550 | top_potsdam_3_14_IRRG_97.png
551 | top_potsdam_3_14_IRRG_98.png
552 | top_potsdam_3_14_IRRG_99.png
553 | top_potsdam_4_10_IRRG_01.png
554 | top_potsdam_4_10_IRRG_02.png
555 | top_potsdam_4_10_IRRG_03.png
556 | top_potsdam_4_10_IRRG_04.png
557 | top_potsdam_4_10_IRRG_05.png
558 | top_potsdam_4_10_IRRG_06.png
559 | top_potsdam_4_10_IRRG_07.png
560 | top_potsdam_4_10_IRRG_08.png
561 | top_potsdam_4_10_IRRG_09.png
562 | top_potsdam_4_10_IRRG_10.png
563 | top_potsdam_4_10_IRRG_100.png
564 | top_potsdam_4_10_IRRG_101.png
565 | top_potsdam_4_10_IRRG_102.png
566 | top_potsdam_4_10_IRRG_103.png
567 | top_potsdam_4_10_IRRG_104.png
568 | top_potsdam_4_10_IRRG_105.png
569 | top_potsdam_4_10_IRRG_106.png
570 | top_potsdam_4_10_IRRG_107.png
571 | top_potsdam_4_10_IRRG_108.png
572 | top_potsdam_4_10_IRRG_109.png
573 | top_potsdam_4_10_IRRG_11.png
574 | top_potsdam_4_10_IRRG_110.png
575 | top_potsdam_4_10_IRRG_111.png
576 | top_potsdam_4_10_IRRG_112.png
577 | top_potsdam_4_10_IRRG_113.png
578 | top_potsdam_4_10_IRRG_114.png
579 | top_potsdam_4_10_IRRG_115.png
580 | top_potsdam_4_10_IRRG_116.png
581 | top_potsdam_4_10_IRRG_117.png
582 | top_potsdam_4_10_IRRG_118.png
583 | top_potsdam_4_10_IRRG_119.png
584 | top_potsdam_4_10_IRRG_12.png
585 | top_potsdam_4_10_IRRG_120.png
586 | top_potsdam_4_10_IRRG_121.png
587 | top_potsdam_4_10_IRRG_13.png
588 | top_potsdam_4_10_IRRG_14.png
589 | top_potsdam_4_10_IRRG_15.png
590 | top_potsdam_4_10_IRRG_16.png
591 | top_potsdam_4_10_IRRG_17.png
592 | top_potsdam_4_10_IRRG_18.png
593 | top_potsdam_4_10_IRRG_19.png
594 | top_potsdam_4_10_IRRG_20.png
595 | top_potsdam_4_10_IRRG_21.png
596 | top_potsdam_4_10_IRRG_22.png
597 | top_potsdam_4_10_IRRG_23.png
598 | top_potsdam_4_10_IRRG_24.png
599 | top_potsdam_4_10_IRRG_25.png
600 | top_potsdam_4_10_IRRG_26.png
601 | top_potsdam_4_10_IRRG_27.png
602 | top_potsdam_4_10_IRRG_28.png
603 | top_potsdam_4_10_IRRG_29.png
604 | top_potsdam_4_10_IRRG_30.png
605 | top_potsdam_4_10_IRRG_31.png
606 | top_potsdam_4_10_IRRG_32.png
607 | top_potsdam_4_10_IRRG_33.png
608 | top_potsdam_4_10_IRRG_34.png
609 | top_potsdam_4_10_IRRG_35.png
610 | top_potsdam_4_10_IRRG_36.png
611 | top_potsdam_4_10_IRRG_37.png
612 | top_potsdam_4_10_IRRG_38.png
613 | top_potsdam_4_10_IRRG_39.png
614 | top_potsdam_4_10_IRRG_40.png
615 | top_potsdam_4_10_IRRG_41.png
616 | top_potsdam_4_10_IRRG_42.png
617 | top_potsdam_4_10_IRRG_43.png
618 | top_potsdam_4_10_IRRG_44.png
619 | top_potsdam_4_10_IRRG_45.png
620 | top_potsdam_4_10_IRRG_46.png
621 | top_potsdam_4_10_IRRG_47.png
622 | top_potsdam_4_10_IRRG_48.png
623 | top_potsdam_4_10_IRRG_49.png
624 | top_potsdam_4_10_IRRG_50.png
625 | top_potsdam_4_10_IRRG_51.png
626 | top_potsdam_4_10_IRRG_52.png
627 | top_potsdam_4_10_IRRG_53.png
628 | top_potsdam_4_10_IRRG_54.png
629 | top_potsdam_4_10_IRRG_55.png
630 | top_potsdam_4_10_IRRG_56.png
631 | top_potsdam_4_10_IRRG_57.png
632 | top_potsdam_4_10_IRRG_58.png
633 | top_potsdam_4_10_IRRG_59.png
634 | top_potsdam_4_10_IRRG_60.png
635 | top_potsdam_4_10_IRRG_61.png
636 | top_potsdam_4_10_IRRG_62.png
637 | top_potsdam_4_10_IRRG_63.png
638 | top_potsdam_4_10_IRRG_64.png
639 | top_potsdam_4_10_IRRG_65.png
640 | top_potsdam_4_10_IRRG_66.png
641 | top_potsdam_4_10_IRRG_67.png
642 | top_potsdam_4_10_IRRG_68.png
643 | top_potsdam_4_10_IRRG_69.png
644 | top_potsdam_4_10_IRRG_70.png
645 | top_potsdam_4_10_IRRG_71.png
646 | top_potsdam_4_10_IRRG_72.png
647 | top_potsdam_4_10_IRRG_73.png
648 | top_potsdam_4_10_IRRG_74.png
649 | top_potsdam_4_10_IRRG_75.png
650 | top_potsdam_4_10_IRRG_76.png
651 | top_potsdam_4_10_IRRG_77.png
652 | top_potsdam_4_10_IRRG_78.png
653 | top_potsdam_4_10_IRRG_79.png
654 | top_potsdam_4_10_IRRG_80.png
655 | top_potsdam_4_10_IRRG_81.png
656 | top_potsdam_4_10_IRRG_82.png
657 | top_potsdam_4_10_IRRG_83.png
658 | top_potsdam_4_10_IRRG_84.png
659 | top_potsdam_4_10_IRRG_85.png
660 | top_potsdam_4_10_IRRG_86.png
661 | top_potsdam_4_10_IRRG_87.png
662 | top_potsdam_4_10_IRRG_88.png
663 | top_potsdam_4_10_IRRG_89.png
664 | top_potsdam_4_10_IRRG_90.png
665 | top_potsdam_4_10_IRRG_91.png
666 | top_potsdam_4_10_IRRG_92.png
667 | top_potsdam_4_10_IRRG_93.png
668 | top_potsdam_4_10_IRRG_94.png
669 | top_potsdam_4_10_IRRG_95.png
670 | top_potsdam_4_10_IRRG_96.png
671 | top_potsdam_4_10_IRRG_97.png
672 | top_potsdam_4_10_IRRG_98.png
673 | top_potsdam_4_10_IRRG_99.png
674 | top_potsdam_4_11_IRRG_01.png
675 | top_potsdam_4_11_IRRG_02.png
676 | top_potsdam_4_11_IRRG_03.png
677 | top_potsdam_4_11_IRRG_04.png
678 | top_potsdam_4_11_IRRG_05.png
679 | top_potsdam_4_11_IRRG_06.png
680 | top_potsdam_4_11_IRRG_07.png
681 | top_potsdam_4_11_IRRG_08.png
682 | top_potsdam_4_11_IRRG_09.png
683 | top_potsdam_4_11_IRRG_10.png
684 | top_potsdam_4_11_IRRG_100.png
685 | top_potsdam_4_11_IRRG_101.png
686 | top_potsdam_4_11_IRRG_102.png
687 | top_potsdam_4_11_IRRG_103.png
688 | top_potsdam_4_11_IRRG_104.png
689 | top_potsdam_4_11_IRRG_105.png
690 | top_potsdam_4_11_IRRG_106.png
691 | top_potsdam_4_11_IRRG_107.png
692 | top_potsdam_4_11_IRRG_108.png
693 | top_potsdam_4_11_IRRG_109.png
694 | top_potsdam_4_11_IRRG_11.png
695 | top_potsdam_4_11_IRRG_110.png
696 | top_potsdam_3_10_IRRG_56.png
697 | top_potsdam_3_10_IRRG_57.png
698 | top_potsdam_3_10_IRRG_58.png
699 | top_potsdam_3_10_IRRG_59.png
700 | top_potsdam_3_10_IRRG_60.png
701 | top_potsdam_3_10_IRRG_61.png
702 | top_potsdam_3_10_IRRG_62.png
703 | top_potsdam_3_10_IRRG_63.png
704 | top_potsdam_3_10_IRRG_64.png
705 | top_potsdam_3_10_IRRG_65.png
706 | top_potsdam_3_10_IRRG_66.png
707 | top_potsdam_3_10_IRRG_67.png
708 | top_potsdam_3_10_IRRG_68.png
709 | top_potsdam_3_10_IRRG_69.png
710 | top_potsdam_3_10_IRRG_70.png
711 | top_potsdam_3_10_IRRG_71.png
712 | top_potsdam_3_10_IRRG_72.png
713 | top_potsdam_3_10_IRRG_73.png
714 | top_potsdam_3_10_IRRG_74.png
715 | top_potsdam_3_10_IRRG_75.png
716 | top_potsdam_3_10_IRRG_76.png
717 | top_potsdam_3_10_IRRG_77.png
718 | top_potsdam_3_10_IRRG_78.png
719 | top_potsdam_3_10_IRRG_79.png
720 | top_potsdam_3_10_IRRG_80.png
721 | top_potsdam_3_10_IRRG_81.png
722 | top_potsdam_3_10_IRRG_82.png
723 | top_potsdam_4_10_IRRG_01.png
724 | top_potsdam_4_10_IRRG_02.png
725 | top_potsdam_4_10_IRRG_03.png
726 | top_potsdam_4_10_IRRG_04.png
727 | top_potsdam_4_10_IRRG_05.png
728 | top_potsdam_4_10_IRRG_06.png
729 | top_potsdam_4_10_IRRG_07.png
730 | top_potsdam_4_10_IRRG_08.png
731 | top_potsdam_4_10_IRRG_09.png
732 | top_potsdam_4_10_IRRG_10.png
733 | top_potsdam_4_10_IRRG_100.png
734 | top_potsdam_4_10_IRRG_101.png
735 | top_potsdam_4_10_IRRG_102.png
736 | top_potsdam_4_10_IRRG_103.png
737 | top_potsdam_4_10_IRRG_104.png
738 | top_potsdam_4_10_IRRG_105.png
739 | top_potsdam_4_10_IRRG_106.png
740 | top_potsdam_4_10_IRRG_107.png
741 | top_potsdam_4_10_IRRG_108.png
742 | top_potsdam_4_10_IRRG_109.png
743 | top_potsdam_4_10_IRRG_11.png
744 | top_potsdam_4_10_IRRG_110.png
745 | top_potsdam_4_10_IRRG_111.png
746 | top_potsdam_4_10_IRRG_112.png
747 | top_potsdam_4_10_IRRG_113.png
748 | top_potsdam_4_10_IRRG_114.png
749 | top_potsdam_4_10_IRRG_115.png
750 | top_potsdam_4_10_IRRG_116.png
751 | top_potsdam_4_10_IRRG_117.png
752 | top_potsdam_4_10_IRRG_118.png
753 | top_potsdam_4_10_IRRG_119.png
754 | top_potsdam_4_10_IRRG_12.png
755 | top_potsdam_4_10_IRRG_120.png
756 | top_potsdam_4_10_IRRG_121.png
757 | top_potsdam_4_10_IRRG_13.png
758 | top_potsdam_4_10_IRRG_14.png
759 | top_potsdam_4_10_IRRG_15.png
760 | top_potsdam_4_10_IRRG_16.png
761 | top_potsdam_4_10_IRRG_17.png
762 | top_potsdam_4_10_IRRG_18.png
763 | top_potsdam_4_10_IRRG_19.png
764 | top_potsdam_4_10_IRRG_20.png
765 | top_potsdam_4_10_IRRG_21.png
766 | top_potsdam_4_10_IRRG_22.png
767 | top_potsdam_4_10_IRRG_23.png
768 | top_potsdam_4_10_IRRG_24.png
769 | top_potsdam_4_10_IRRG_25.png
770 | top_potsdam_4_10_IRRG_26.png
771 | top_potsdam_4_10_IRRG_27.png
772 | top_potsdam_4_10_IRRG_28.png
773 | top_potsdam_4_10_IRRG_29.png
774 | top_potsdam_4_10_IRRG_30.png
775 | top_potsdam_4_10_IRRG_31.png
776 | top_potsdam_4_10_IRRG_32.png
777 | top_potsdam_4_10_IRRG_33.png
778 | top_potsdam_4_10_IRRG_34.png
779 | top_potsdam_4_10_IRRG_35.png
780 | top_potsdam_4_10_IRRG_36.png
781 | top_potsdam_4_10_IRRG_37.png
782 | top_potsdam_4_10_IRRG_38.png
783 | top_potsdam_4_10_IRRG_39.png
784 | top_potsdam_4_10_IRRG_40.png
785 | top_potsdam_4_10_IRRG_41.png
786 | top_potsdam_4_10_IRRG_42.png
787 | top_potsdam_5_13_IRRG_63.png
788 | top_potsdam_5_13_IRRG_64.png
789 | top_potsdam_5_13_IRRG_65.png
790 | top_potsdam_5_13_IRRG_66.png
791 | top_potsdam_5_13_IRRG_67.png
792 | top_potsdam_5_13_IRRG_68.png
793 | top_potsdam_5_13_IRRG_69.png
794 | top_potsdam_5_13_IRRG_70.png
795 | top_potsdam_5_13_IRRG_71.png
796 | top_potsdam_5_13_IRRG_72.png
797 | top_potsdam_5_13_IRRG_73.png
798 | top_potsdam_5_13_IRRG_74.png
799 | top_potsdam_5_13_IRRG_75.png
800 | top_potsdam_5_13_IRRG_76.png
801 | top_potsdam_5_13_IRRG_77.png
802 | top_potsdam_5_13_IRRG_78.png
803 | top_potsdam_5_13_IRRG_79.png
804 | top_potsdam_5_13_IRRG_80.png
805 | top_potsdam_5_13_IRRG_81.png
806 | top_potsdam_5_13_IRRG_82.png
807 | top_potsdam_5_13_IRRG_83.png
808 | top_potsdam_5_13_IRRG_84.png
809 | top_potsdam_5_13_IRRG_85.png
810 | top_potsdam_5_13_IRRG_86.png
811 | top_potsdam_5_13_IRRG_87.png
812 | top_potsdam_5_13_IRRG_88.png
813 | top_potsdam_5_13_IRRG_89.png
814 | top_potsdam_5_13_IRRG_90.png
815 | top_potsdam_5_13_IRRG_91.png
816 | top_potsdam_5_13_IRRG_92.png
817 | top_potsdam_5_13_IRRG_93.png
818 | top_potsdam_5_13_IRRG_94.png
819 | top_potsdam_5_13_IRRG_95.png
820 | top_potsdam_5_13_IRRG_96.png
821 | top_potsdam_5_13_IRRG_97.png
822 | top_potsdam_5_13_IRRG_98.png
823 | top_potsdam_5_13_IRRG_99.png
824 | top_potsdam_5_14_IRRG_01.png
825 | top_potsdam_5_14_IRRG_02.png
826 | top_potsdam_5_14_IRRG_03.png
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/PotsdamRGB/info.json:
--------------------------------------------------------------------------------
1 | {
2 | "classes":19,
3 | "label2train":[
4 | [0, 255],
5 | [1, 255],
6 | [2, 255],
7 | [3, 255],
8 | [4, 255],
9 | [5, 255],
10 | [6, 255],
11 | [7, 0],
12 | [8, 1],
13 | [9, 255],
14 | [10, 255],
15 | [11, 2],
16 | [12, 3],
17 | [13, 4],
18 | [14, 255],
19 | [15, 255],
20 | [16, 255],
21 | [17, 5],
22 | [18, 255],
23 | [19, 6],
24 | [20, 7],
25 | [21, 8],
26 | [22, 9],
27 | [23, 10],
28 | [24, 11],
29 | [25, 12],
30 | [26, 13],
31 | [27, 14],
32 | [28, 15],
33 | [29, 255],
34 | [30, 255],
35 | [31, 16],
36 | [32, 17],
37 | [33, 18],
38 | [-1, 255]],
39 | "label":[
40 | "road",
41 | "sidewalk",
42 | "building",
43 | "wall",
44 | "fence",
45 | "pole",
46 | "light",
47 | "sign",
48 | "vegetation",
49 | "terrain",
50 | "sky",
51 | "person",
52 | "rider",
53 | "car",
54 | "truck",
55 | "bus",
56 | "train",
57 | "motocycle",
58 | "bicycle"],
59 | "palette":[
60 | [128,64,128],
61 | [244,35,232],
62 | [70,70,70],
63 | [102,102,156],
64 | [190,153,153],
65 | [153,153,153],
66 | [250,170,30],
67 | [220,220,0],
68 | [107,142,35],
69 | [152,251,152],
70 | [70,130,180],
71 | [220,20,60],
72 | [255,0,0],
73 | [0,0,142],
74 | [0,0,70],
75 | [0,60,100],
76 | [0,80,100],
77 | [0,0,230],
78 | [119,11,32],
79 | [0,0,0]],
80 | "mean":[
81 | 73.158359210711552,
82 | 82.908917542625858,
83 | 72.392398761941593],
84 | "std":[
85 | 47.675755341814678,
86 | 48.494214368814916,
87 | 47.736546325441594]
88 | }
89 |
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/PotsdamRGB/val.txt:
--------------------------------------------------------------------------------
1 | top_potsdam_2_10_RGB_01.png
2 | top_potsdam_2_10_RGB_02.png
3 | top_potsdam_2_10_RGB_03.png
4 | top_potsdam_2_10_RGB_04.png
5 | top_potsdam_2_10_RGB_05.png
6 | top_potsdam_2_10_RGB_06.png
7 | top_potsdam_2_10_RGB_07.png
8 | top_potsdam_2_10_RGB_08.png
9 | top_potsdam_2_10_RGB_09.png
10 | top_potsdam_2_10_RGB_10.png
11 | top_potsdam_2_10_RGB_100.png
12 | top_potsdam_2_10_RGB_101.png
13 | top_potsdam_2_10_RGB_102.png
14 | top_potsdam_2_10_RGB_103.png
15 | top_potsdam_2_10_RGB_104.png
16 | top_potsdam_2_10_RGB_105.png
17 | top_potsdam_2_10_RGB_106.png
18 | top_potsdam_2_10_RGB_107.png
19 | top_potsdam_2_10_RGB_108.png
20 | top_potsdam_2_10_RGB_109.png
21 | top_potsdam_2_10_RGB_11.png
22 | top_potsdam_2_10_RGB_110.png
23 | top_potsdam_2_10_RGB_111.png
24 | top_potsdam_2_10_RGB_112.png
25 | top_potsdam_2_10_RGB_113.png
26 | top_potsdam_2_10_RGB_114.png
27 | top_potsdam_2_10_RGB_115.png
28 | top_potsdam_2_10_RGB_116.png
29 | top_potsdam_2_10_RGB_117.png
30 | top_potsdam_2_10_RGB_118.png
31 | top_potsdam_2_10_RGB_119.png
32 | top_potsdam_2_10_RGB_12.png
33 | top_potsdam_7_8_RGB_106.png
34 | top_potsdam_7_8_RGB_107.png
35 | top_potsdam_7_8_RGB_108.png
36 | top_potsdam_7_8_RGB_109.png
37 | top_potsdam_7_8_RGB_11.png
38 | top_potsdam_7_8_RGB_110.png
39 | top_potsdam_7_8_RGB_111.png
40 | top_potsdam_7_8_RGB_112.png
41 | top_potsdam_7_8_RGB_113.png
42 | top_potsdam_7_8_RGB_114.png
43 | top_potsdam_7_8_RGB_115.png
44 | top_potsdam_7_8_RGB_116.png
45 | top_potsdam_7_8_RGB_117.png
46 | top_potsdam_7_8_RGB_118.png
47 | top_potsdam_7_8_RGB_119.png
48 | top_potsdam_7_8_RGB_12.png
49 | top_potsdam_7_8_RGB_120.png
50 | top_potsdam_7_8_RGB_121.png
51 | top_potsdam_7_8_RGB_13.png
52 | top_potsdam_7_8_RGB_14.png
53 | top_potsdam_7_8_RGB_15.png
54 | top_potsdam_7_8_RGB_16.png
55 | top_potsdam_7_8_RGB_17.png
56 | top_potsdam_7_8_RGB_18.png
57 | top_potsdam_7_8_RGB_19.png
58 | top_potsdam_7_8_RGB_20.png
59 | top_potsdam_7_8_RGB_21.png
60 | top_potsdam_7_8_RGB_22.png
61 | top_potsdam_7_8_RGB_23.png
62 | top_potsdam_7_8_RGB_24.png
63 | top_potsdam_7_8_RGB_25.png
64 | top_potsdam_7_8_RGB_26.png
65 | top_potsdam_2_10_RGB_27.png
66 | top_potsdam_2_10_RGB_28.png
67 | top_potsdam_2_10_RGB_29.png
68 | top_potsdam_2_10_RGB_30.png
69 | top_potsdam_2_10_RGB_31.png
70 | top_potsdam_2_10_RGB_32.png
71 | top_potsdam_2_10_RGB_33.png
72 | top_potsdam_2_10_RGB_34.png
73 | top_potsdam_2_10_RGB_35.png
74 | top_potsdam_2_10_RGB_36.png
75 | top_potsdam_2_10_RGB_37.png
76 | top_potsdam_2_10_RGB_38.png
77 | top_potsdam_2_10_RGB_39.png
78 | top_potsdam_2_10_RGB_40.png
79 | top_potsdam_2_10_RGB_41.png
80 | top_potsdam_2_10_RGB_42.png
81 | top_potsdam_2_10_RGB_43.png
82 | top_potsdam_2_10_RGB_44.png
83 | top_potsdam_2_10_RGB_45.png
84 | top_potsdam_2_10_RGB_46.png
85 | top_potsdam_2_10_RGB_47.png
86 | top_potsdam_2_10_RGB_48.png
87 | top_potsdam_2_10_RGB_49.png
88 | top_potsdam_2_10_RGB_50.png
89 | top_potsdam_2_10_RGB_51.png
90 | top_potsdam_2_10_RGB_52.png
91 | top_potsdam_2_10_RGB_53.png
92 | top_potsdam_2_10_RGB_54.png
93 | top_potsdam_2_10_RGB_55.png
94 | top_potsdam_2_10_RGB_56.png
95 | top_potsdam_2_10_RGB_57.png
96 | top_potsdam_2_10_RGB_58.png
97 | top_potsdam_2_10_RGB_59.png
98 | top_potsdam_2_10_RGB_60.png
99 | top_potsdam_2_10_RGB_61.png
100 | top_potsdam_2_10_RGB_62.png
101 | top_potsdam_2_10_RGB_63.png
102 | top_potsdam_2_10_RGB_64.png
103 | top_potsdam_2_10_RGB_65.png
104 | top_potsdam_2_10_RGB_66.png
105 | top_potsdam_2_10_RGB_67.png
106 | top_potsdam_2_10_RGB_68.png
107 | top_potsdam_2_10_RGB_69.png
108 | top_potsdam_2_10_RGB_70.png
109 | top_potsdam_2_10_RGB_71.png
110 | top_potsdam_2_10_RGB_72.png
111 | top_potsdam_2_10_RGB_73.png
112 | top_potsdam_2_10_RGB_74.png
113 | top_potsdam_2_10_RGB_75.png
114 | top_potsdam_2_10_RGB_76.png
115 | top_potsdam_2_10_RGB_77.png
116 | top_potsdam_2_10_RGB_78.png
117 | top_potsdam_2_10_RGB_79.png
118 | top_potsdam_2_10_RGB_80.png
119 | top_potsdam_2_10_RGB_81.png
120 | top_potsdam_2_10_RGB_82.png
121 | top_potsdam_2_10_RGB_83.png
122 | top_potsdam_2_10_RGB_84.png
123 | top_potsdam_2_10_RGB_85.png
124 | top_potsdam_2_10_RGB_86.png
125 | top_potsdam_2_10_RGB_87.png
126 | top_potsdam_2_10_RGB_88.png
127 | top_potsdam_2_10_RGB_89.png
128 | top_potsdam_2_10_RGB_90.png
129 | top_potsdam_2_10_RGB_91.png
130 | top_potsdam_2_10_RGB_92.png
131 | top_potsdam_2_10_RGB_93.png
132 | top_potsdam_2_10_RGB_94.png
133 | top_potsdam_2_10_RGB_95.png
134 | top_potsdam_2_10_RGB_96.png
135 | top_potsdam_2_10_RGB_97.png
136 | top_potsdam_2_10_RGB_98.png
137 | top_potsdam_2_10_RGB_99.png
138 | top_potsdam_2_11_RGB_01.png
139 | top_potsdam_2_11_RGB_02.png
140 | top_potsdam_2_11_RGB_03.png
141 | top_potsdam_2_11_RGB_04.png
142 | top_potsdam_2_11_RGB_05.png
143 | top_potsdam_2_11_RGB_06.png
144 | top_potsdam_2_11_RGB_07.png
145 | top_potsdam_2_11_RGB_08.png
146 | top_potsdam_2_11_RGB_09.png
147 | top_potsdam_2_11_RGB_10.png
148 | top_potsdam_2_11_RGB_100.png
149 | top_potsdam_2_11_RGB_101.png
150 | top_potsdam_2_11_RGB_102.png
151 | top_potsdam_2_11_RGB_103.png
152 | top_potsdam_2_11_RGB_104.png
153 | top_potsdam_2_11_RGB_105.png
154 | top_potsdam_2_11_RGB_106.png
155 | top_potsdam_2_11_RGB_107.png
156 | top_potsdam_2_11_RGB_108.png
157 | top_potsdam_2_11_RGB_109.png
158 | top_potsdam_2_11_RGB_11.png
159 | top_potsdam_2_11_RGB_110.png
160 | top_potsdam_2_11_RGB_111.png
161 | top_potsdam_2_11_RGB_112.png
162 | top_potsdam_2_11_RGB_113.png
163 | top_potsdam_2_11_RGB_114.png
164 | top_potsdam_2_11_RGB_115.png
165 | top_potsdam_2_11_RGB_116.png
166 | top_potsdam_2_11_RGB_117.png
167 | top_potsdam_2_11_RGB_118.png
168 | top_potsdam_2_11_RGB_119.png
169 | top_potsdam_2_11_RGB_12.png
170 | top_potsdam_2_11_RGB_120.png
171 | top_potsdam_2_11_RGB_121.png
172 | top_potsdam_2_11_RGB_13.png
173 | top_potsdam_2_11_RGB_14.png
174 | top_potsdam_2_11_RGB_15.png
175 | top_potsdam_2_11_RGB_16.png
176 | top_potsdam_2_11_RGB_17.png
177 | top_potsdam_2_11_RGB_18.png
178 | top_potsdam_2_11_RGB_19.png
179 | top_potsdam_2_11_RGB_20.png
180 | top_potsdam_2_11_RGB_21.png
181 | top_potsdam_2_11_RGB_22.png
182 | top_potsdam_2_11_RGB_23.png
183 | top_potsdam_2_11_RGB_24.png
184 | top_potsdam_2_11_RGB_25.png
185 | top_potsdam_2_11_RGB_26.png
186 | top_potsdam_2_11_RGB_27.png
187 | top_potsdam_2_11_RGB_28.png
188 | top_potsdam_2_11_RGB_29.png
189 | top_potsdam_2_11_RGB_30.png
190 | top_potsdam_2_11_RGB_31.png
191 | top_potsdam_2_11_RGB_32.png
192 | top_potsdam_2_11_RGB_33.png
193 | top_potsdam_2_11_RGB_34.png
194 | top_potsdam_2_11_RGB_35.png
195 | top_potsdam_2_11_RGB_36.png
196 | top_potsdam_2_11_RGB_37.png
197 | top_potsdam_2_11_RGB_38.png
198 | top_potsdam_2_11_RGB_39.png
199 | top_potsdam_2_11_RGB_40.png
200 | top_potsdam_2_11_RGB_41.png
201 | top_potsdam_2_11_RGB_42.png
202 | top_potsdam_2_11_RGB_43.png
203 | top_potsdam_2_11_RGB_44.png
204 | top_potsdam_2_11_RGB_45.png
205 | top_potsdam_2_11_RGB_46.png
206 | top_potsdam_2_11_RGB_47.png
207 | top_potsdam_2_11_RGB_48.png
208 | top_potsdam_2_11_RGB_49.png
209 | top_potsdam_2_11_RGB_50.png
210 | top_potsdam_2_11_RGB_51.png
211 | top_potsdam_2_11_RGB_52.png
212 | top_potsdam_2_11_RGB_53.png
213 | top_potsdam_2_11_RGB_54.png
214 | top_potsdam_2_11_RGB_55.png
215 | top_potsdam_2_11_RGB_56.png
216 | top_potsdam_2_11_RGB_57.png
217 | top_potsdam_2_11_RGB_58.png
218 | top_potsdam_2_11_RGB_59.png
219 | top_potsdam_2_11_RGB_60.png
220 | top_potsdam_2_11_RGB_61.png
221 | top_potsdam_2_11_RGB_62.png
222 | top_potsdam_2_11_RGB_63.png
223 | top_potsdam_2_11_RGB_64.png
224 | top_potsdam_2_11_RGB_65.png
225 | top_potsdam_2_11_RGB_66.png
226 | top_potsdam_2_11_RGB_67.png
227 | top_potsdam_2_11_RGB_68.png
228 | top_potsdam_2_11_RGB_69.png
229 | top_potsdam_2_11_RGB_70.png
230 | top_potsdam_2_11_RGB_71.png
231 | top_potsdam_2_11_RGB_72.png
232 | top_potsdam_2_11_RGB_73.png
233 | top_potsdam_2_11_RGB_74.png
234 | top_potsdam_2_11_RGB_75.png
235 | top_potsdam_2_11_RGB_76.png
236 | top_potsdam_2_11_RGB_77.png
237 | top_potsdam_2_11_RGB_78.png
238 | top_potsdam_2_11_RGB_79.png
239 | top_potsdam_2_11_RGB_80.png
240 | top_potsdam_2_11_RGB_81.png
241 | top_potsdam_2_11_RGB_82.png
242 | top_potsdam_2_11_RGB_83.png
243 | top_potsdam_2_11_RGB_84.png
244 | top_potsdam_2_11_RGB_85.png
245 | top_potsdam_2_11_RGB_86.png
246 | top_potsdam_2_11_RGB_87.png
247 | top_potsdam_2_11_RGB_88.png
248 | top_potsdam_2_11_RGB_89.png
249 | top_potsdam_2_11_RGB_90.png
250 | top_potsdam_2_11_RGB_91.png
251 | top_potsdam_2_11_RGB_92.png
252 | top_potsdam_2_11_RGB_93.png
253 | top_potsdam_2_11_RGB_94.png
254 | top_potsdam_2_11_RGB_95.png
255 | top_potsdam_2_11_RGB_96.png
256 | top_potsdam_2_11_RGB_97.png
257 | top_potsdam_2_11_RGB_98.png
258 | top_potsdam_2_11_RGB_99.png
259 | top_potsdam_2_12_RGB_01.png
260 | top_potsdam_2_12_RGB_02.png
261 | top_potsdam_2_12_RGB_03.png
262 | top_potsdam_2_12_RGB_04.png
263 | top_potsdam_2_12_RGB_05.png
264 | top_potsdam_2_12_RGB_06.png
265 | top_potsdam_2_12_RGB_07.png
266 | top_potsdam_2_12_RGB_08.png
267 | top_potsdam_2_12_RGB_09.png
268 | top_potsdam_2_12_RGB_10.png
269 | top_potsdam_2_12_RGB_100.png
270 | top_potsdam_2_12_RGB_101.png
271 | top_potsdam_2_12_RGB_102.png
272 | top_potsdam_2_12_RGB_103.png
273 | top_potsdam_2_12_RGB_104.png
274 | top_potsdam_2_12_RGB_105.png
275 | top_potsdam_2_12_RGB_106.png
276 | top_potsdam_2_12_RGB_107.png
277 | top_potsdam_2_12_RGB_108.png
278 | top_potsdam_2_12_RGB_109.png
279 | top_potsdam_2_12_RGB_11.png
280 | top_potsdam_2_12_RGB_110.png
281 | top_potsdam_2_12_RGB_111.png
282 | top_potsdam_2_12_RGB_112.png
283 | top_potsdam_2_12_RGB_113.png
284 | top_potsdam_2_12_RGB_114.png
285 | top_potsdam_2_12_RGB_115.png
286 | top_potsdam_2_12_RGB_116.png
287 | top_potsdam_2_12_RGB_117.png
288 | top_potsdam_2_12_RGB_118.png
289 | top_potsdam_2_12_RGB_119.png
290 | top_potsdam_2_12_RGB_12.png
291 | top_potsdam_2_12_RGB_120.png
292 | top_potsdam_2_12_RGB_121.png
293 | top_potsdam_2_12_RGB_13.png
294 | top_potsdam_2_12_RGB_14.png
295 | top_potsdam_2_12_RGB_15.png
296 | top_potsdam_2_12_RGB_16.png
297 | top_potsdam_2_12_RGB_17.png
298 | top_potsdam_2_12_RGB_18.png
299 | top_potsdam_2_12_RGB_19.png
300 | top_potsdam_2_12_RGB_20.png
301 | top_potsdam_2_12_RGB_21.png
302 | top_potsdam_2_12_RGB_22.png
303 | top_potsdam_2_12_RGB_23.png
304 | top_potsdam_2_12_RGB_24.png
305 | top_potsdam_2_12_RGB_25.png
306 | top_potsdam_2_12_RGB_26.png
307 | top_potsdam_2_12_RGB_27.png
308 | top_potsdam_2_12_RGB_28.png
309 | top_potsdam_2_12_RGB_29.png
310 | top_potsdam_2_12_RGB_30.png
311 | top_potsdam_2_12_RGB_31.png
312 | top_potsdam_2_12_RGB_32.png
313 | top_potsdam_2_12_RGB_33.png
314 | top_potsdam_2_12_RGB_34.png
315 | top_potsdam_2_12_RGB_35.png
316 | top_potsdam_2_12_RGB_36.png
317 | top_potsdam_2_12_RGB_37.png
318 | top_potsdam_2_12_RGB_38.png
319 | top_potsdam_2_12_RGB_39.png
320 | top_potsdam_2_12_RGB_40.png
321 | top_potsdam_2_12_RGB_41.png
322 | top_potsdam_2_12_RGB_42.png
323 | top_potsdam_2_12_RGB_43.png
324 | top_potsdam_2_12_RGB_44.png
325 | top_potsdam_2_12_RGB_45.png
326 | top_potsdam_2_12_RGB_46.png
327 | top_potsdam_2_12_RGB_47.png
328 | top_potsdam_2_12_RGB_48.png
329 | top_potsdam_2_12_RGB_49.png
330 | top_potsdam_2_12_RGB_50.png
331 | top_potsdam_2_12_RGB_51.png
332 | top_potsdam_2_12_RGB_52.png
333 | top_potsdam_2_12_RGB_53.png
334 | top_potsdam_2_12_RGB_54.png
335 | top_potsdam_2_12_RGB_55.png
336 | top_potsdam_2_12_RGB_56.png
337 | top_potsdam_2_12_RGB_57.png
338 | top_potsdam_2_12_RGB_58.png
339 | top_potsdam_2_12_RGB_59.png
340 | top_potsdam_2_12_RGB_60.png
341 | top_potsdam_2_12_RGB_61.png
342 | top_potsdam_2_12_RGB_62.png
343 | top_potsdam_2_12_RGB_63.png
344 | top_potsdam_2_12_RGB_64.png
345 | top_potsdam_2_12_RGB_65.png
346 | top_potsdam_2_12_RGB_66.png
347 | top_potsdam_2_12_RGB_67.png
348 | top_potsdam_2_12_RGB_68.png
349 | top_potsdam_2_12_RGB_69.png
350 | top_potsdam_2_12_RGB_70.png
351 | top_potsdam_2_12_RGB_71.png
352 | top_potsdam_2_12_RGB_72.png
353 | top_potsdam_2_12_RGB_73.png
354 | top_potsdam_2_12_RGB_74.png
355 | top_potsdam_2_12_RGB_75.png
356 | top_potsdam_2_12_RGB_76.png
357 | top_potsdam_2_12_RGB_77.png
358 | top_potsdam_2_12_RGB_78.png
359 | top_potsdam_2_12_RGB_79.png
360 | top_potsdam_2_12_RGB_80.png
361 | top_potsdam_2_12_RGB_81.png
362 | top_potsdam_2_12_RGB_82.png
363 | top_potsdam_2_12_RGB_83.png
364 | top_potsdam_2_12_RGB_84.png
365 | top_potsdam_2_12_RGB_85.png
366 | top_potsdam_2_12_RGB_86.png
367 | top_potsdam_2_12_RGB_87.png
368 | top_potsdam_2_12_RGB_88.png
369 | top_potsdam_2_12_RGB_89.png
370 | top_potsdam_2_12_RGB_90.png
371 | top_potsdam_2_12_RGB_91.png
372 | top_potsdam_2_12_RGB_92.png
373 | top_potsdam_2_12_RGB_93.png
374 | top_potsdam_2_12_RGB_94.png
375 | top_potsdam_2_12_RGB_95.png
376 | top_potsdam_2_12_RGB_96.png
377 | top_potsdam_2_12_RGB_97.png
378 | top_potsdam_2_12_RGB_98.png
379 | top_potsdam_2_12_RGB_99.png
380 | top_potsdam_2_13_RGB_01.png
381 | top_potsdam_2_13_RGB_02.png
382 | top_potsdam_2_13_RGB_03.png
383 | top_potsdam_2_13_RGB_04.png
384 | top_potsdam_2_13_RGB_05.png
385 | top_potsdam_2_13_RGB_06.png
386 | top_potsdam_2_13_RGB_07.png
387 | top_potsdam_2_13_RGB_08.png
388 | top_potsdam_2_13_RGB_09.png
389 | top_potsdam_2_13_RGB_10.png
390 | top_potsdam_2_13_RGB_100.png
391 | top_potsdam_2_13_RGB_101.png
392 | top_potsdam_2_13_RGB_102.png
393 | top_potsdam_2_13_RGB_103.png
394 | top_potsdam_2_13_RGB_104.png
395 | top_potsdam_2_13_RGB_105.png
396 | top_potsdam_2_13_RGB_106.png
397 | top_potsdam_2_13_RGB_107.png
398 | top_potsdam_2_13_RGB_108.png
399 | top_potsdam_2_13_RGB_109.png
400 | top_potsdam_2_13_RGB_11.png
401 | top_potsdam_2_13_RGB_110.png
402 | top_potsdam_2_13_RGB_111.png
403 | top_potsdam_2_13_RGB_112.png
404 | top_potsdam_2_13_RGB_113.png
405 | top_potsdam_2_13_RGB_114.png
406 | top_potsdam_2_13_RGB_115.png
407 | top_potsdam_2_13_RGB_116.png
408 | top_potsdam_2_13_RGB_117.png
409 | top_potsdam_2_13_RGB_118.png
410 | top_potsdam_2_13_RGB_119.png
411 | top_potsdam_2_13_RGB_12.png
412 | top_potsdam_2_13_RGB_120.png
413 | top_potsdam_2_13_RGB_121.png
414 | top_potsdam_2_13_RGB_13.png
415 | top_potsdam_2_13_RGB_14.png
416 | top_potsdam_2_13_RGB_15.png
417 | top_potsdam_2_13_RGB_16.png
418 | top_potsdam_2_13_RGB_17.png
419 | top_potsdam_2_13_RGB_18.png
420 | top_potsdam_2_13_RGB_19.png
421 | top_potsdam_2_13_RGB_20.png
422 | top_potsdam_2_13_RGB_21.png
423 | top_potsdam_2_13_RGB_22.png
424 | top_potsdam_2_13_RGB_23.png
425 | top_potsdam_2_13_RGB_24.png
426 | top_potsdam_2_13_RGB_25.png
427 | top_potsdam_2_13_RGB_26.png
428 | top_potsdam_2_13_RGB_27.png
429 | top_potsdam_2_13_RGB_28.png
430 | top_potsdam_2_13_RGB_29.png
431 | top_potsdam_2_13_RGB_30.png
432 | top_potsdam_2_13_RGB_31.png
433 | top_potsdam_2_13_RGB_32.png
434 | top_potsdam_2_13_RGB_33.png
435 | top_potsdam_2_13_RGB_34.png
436 | top_potsdam_2_13_RGB_35.png
437 | top_potsdam_2_13_RGB_36.png
438 | top_potsdam_2_13_RGB_37.png
439 | top_potsdam_2_13_RGB_38.png
440 | top_potsdam_2_13_RGB_39.png
441 | top_potsdam_2_13_RGB_40.png
442 | top_potsdam_2_13_RGB_41.png
443 | top_potsdam_2_13_RGB_42.png
444 | top_potsdam_2_13_RGB_43.png
445 | top_potsdam_2_13_RGB_44.png
446 | top_potsdam_2_13_RGB_45.png
447 | top_potsdam_2_13_RGB_46.png
448 | top_potsdam_2_13_RGB_47.png
449 | top_potsdam_2_13_RGB_48.png
450 | top_potsdam_2_13_RGB_49.png
451 | top_potsdam_2_13_RGB_50.png
452 | top_potsdam_2_13_RGB_51.png
453 | top_potsdam_2_13_RGB_52.png
454 | top_potsdam_2_13_RGB_53.png
455 | top_potsdam_2_13_RGB_54.png
456 | top_potsdam_2_13_RGB_55.png
457 | top_potsdam_2_13_RGB_56.png
458 | top_potsdam_2_13_RGB_57.png
459 | top_potsdam_2_13_RGB_58.png
460 | top_potsdam_2_13_RGB_59.png
461 | top_potsdam_2_13_RGB_60.png
462 | top_potsdam_2_13_RGB_61.png
463 | top_potsdam_2_13_RGB_62.png
464 | top_potsdam_2_13_RGB_63.png
465 | top_potsdam_2_13_RGB_64.png
466 | top_potsdam_2_13_RGB_65.png
467 | top_potsdam_2_13_RGB_66.png
468 | top_potsdam_2_13_RGB_67.png
469 | top_potsdam_2_13_RGB_68.png
470 | top_potsdam_2_13_RGB_69.png
471 | top_potsdam_2_13_RGB_70.png
472 | top_potsdam_2_13_RGB_71.png
473 | top_potsdam_2_13_RGB_72.png
474 | top_potsdam_2_13_RGB_73.png
475 | top_potsdam_2_13_RGB_74.png
476 | top_potsdam_2_13_RGB_75.png
477 | top_potsdam_2_13_RGB_76.png
478 | top_potsdam_2_13_RGB_77.png
479 | top_potsdam_2_13_RGB_78.png
480 | top_potsdam_2_13_RGB_79.png
481 | top_potsdam_2_13_RGB_80.png
482 | top_potsdam_2_13_RGB_81.png
483 | top_potsdam_2_13_RGB_82.png
484 | top_potsdam_2_13_RGB_83.png
485 | top_potsdam_2_13_RGB_84.png
486 | top_potsdam_2_13_RGB_85.png
487 | top_potsdam_2_13_RGB_86.png
488 | top_potsdam_2_13_RGB_87.png
489 | top_potsdam_2_13_RGB_88.png
490 | top_potsdam_2_13_RGB_89.png
491 | top_potsdam_2_13_RGB_90.png
492 | top_potsdam_2_13_RGB_91.png
493 | top_potsdam_2_13_RGB_92.png
494 | top_potsdam_2_13_RGB_93.png
495 | top_potsdam_2_13_RGB_94.png
496 | top_potsdam_2_13_RGB_95.png
497 | top_potsdam_2_13_RGB_96.png
498 | top_potsdam_2_13_RGB_97.png
499 | top_potsdam_2_13_RGB_98.png
500 | top_potsdam_2_13_RGB_99.png
501 | top_potsdam_2_14_RGB_01.png
502 | top_potsdam_2_14_RGB_02.png
503 | top_potsdam_2_14_RGB_03.png
504 | top_potsdam_2_14_RGB_04.png
505 | top_potsdam_2_14_RGB_05.png
506 | top_potsdam_2_14_RGB_06.png
507 | top_potsdam_2_14_RGB_07.png
508 | top_potsdam_2_14_RGB_08.png
509 | top_potsdam_2_14_RGB_09.png
510 | top_potsdam_3_14_RGB_57.png
511 | top_potsdam_3_14_RGB_58.png
512 | top_potsdam_3_14_RGB_59.png
513 | top_potsdam_3_14_RGB_60.png
514 | top_potsdam_3_14_RGB_61.png
515 | top_potsdam_3_14_RGB_62.png
516 | top_potsdam_3_14_RGB_63.png
517 | top_potsdam_3_14_RGB_64.png
518 | top_potsdam_3_14_RGB_65.png
519 | top_potsdam_3_14_RGB_66.png
520 | top_potsdam_3_14_RGB_67.png
521 | top_potsdam_3_14_RGB_68.png
522 | top_potsdam_3_14_RGB_69.png
523 | top_potsdam_3_14_RGB_70.png
524 | top_potsdam_3_14_RGB_71.png
525 | top_potsdam_3_14_RGB_72.png
526 | top_potsdam_3_14_RGB_73.png
527 | top_potsdam_3_14_RGB_74.png
528 | top_potsdam_3_14_RGB_75.png
529 | top_potsdam_3_14_RGB_76.png
530 | top_potsdam_3_14_RGB_77.png
531 | top_potsdam_3_14_RGB_78.png
532 | top_potsdam_3_14_RGB_79.png
533 | top_potsdam_3_14_RGB_80.png
534 | top_potsdam_3_14_RGB_81.png
535 | top_potsdam_3_14_RGB_82.png
536 | top_potsdam_3_14_RGB_83.png
537 | top_potsdam_3_14_RGB_84.png
538 | top_potsdam_3_14_RGB_85.png
539 | top_potsdam_3_14_RGB_86.png
540 | top_potsdam_3_14_RGB_87.png
541 | top_potsdam_3_14_RGB_88.png
542 | top_potsdam_3_14_RGB_89.png
543 | top_potsdam_3_14_RGB_90.png
544 | top_potsdam_3_14_RGB_91.png
545 | top_potsdam_3_14_RGB_92.png
546 | top_potsdam_3_14_RGB_93.png
547 | top_potsdam_3_14_RGB_94.png
548 | top_potsdam_3_14_RGB_95.png
549 | top_potsdam_3_14_RGB_96.png
550 | top_potsdam_3_14_RGB_97.png
551 | top_potsdam_3_14_RGB_98.png
552 | top_potsdam_3_14_RGB_99.png
553 | top_potsdam_4_10_RGB_01.png
554 | top_potsdam_4_10_RGB_02.png
555 | top_potsdam_4_10_RGB_03.png
556 | top_potsdam_4_10_RGB_04.png
557 | top_potsdam_4_10_RGB_05.png
558 | top_potsdam_4_10_RGB_06.png
559 | top_potsdam_4_10_RGB_07.png
560 | top_potsdam_4_10_RGB_08.png
561 | top_potsdam_4_10_RGB_09.png
562 | top_potsdam_4_10_RGB_10.png
563 | top_potsdam_4_10_RGB_100.png
564 | top_potsdam_4_10_RGB_101.png
565 | top_potsdam_4_10_RGB_102.png
566 | top_potsdam_4_10_RGB_103.png
567 | top_potsdam_4_10_RGB_104.png
568 | top_potsdam_4_10_RGB_105.png
569 | top_potsdam_4_10_RGB_106.png
570 | top_potsdam_4_10_RGB_107.png
571 | top_potsdam_4_10_RGB_108.png
572 | top_potsdam_4_10_RGB_109.png
573 | top_potsdam_4_10_RGB_11.png
574 | top_potsdam_4_10_RGB_110.png
575 | top_potsdam_4_10_RGB_111.png
576 | top_potsdam_4_10_RGB_112.png
577 | top_potsdam_4_10_RGB_113.png
578 | top_potsdam_4_10_RGB_114.png
579 | top_potsdam_4_10_RGB_115.png
580 | top_potsdam_4_10_RGB_116.png
581 | top_potsdam_4_10_RGB_117.png
582 | top_potsdam_4_10_RGB_118.png
583 | top_potsdam_4_10_RGB_119.png
584 | top_potsdam_4_10_RGB_12.png
585 | top_potsdam_4_10_RGB_120.png
586 | top_potsdam_4_10_RGB_121.png
587 | top_potsdam_4_10_RGB_13.png
588 | top_potsdam_4_10_RGB_14.png
589 | top_potsdam_4_10_RGB_15.png
590 | top_potsdam_4_10_RGB_16.png
591 | top_potsdam_4_10_RGB_17.png
592 | top_potsdam_4_10_RGB_18.png
593 | top_potsdam_4_10_RGB_19.png
594 | top_potsdam_4_10_RGB_20.png
595 | top_potsdam_4_10_RGB_21.png
596 | top_potsdam_4_10_RGB_22.png
597 | top_potsdam_4_10_RGB_23.png
598 | top_potsdam_4_10_RGB_24.png
599 | top_potsdam_4_10_RGB_25.png
600 | top_potsdam_4_10_RGB_26.png
601 | top_potsdam_4_10_RGB_27.png
602 | top_potsdam_4_10_RGB_28.png
603 | top_potsdam_4_10_RGB_29.png
604 | top_potsdam_4_10_RGB_30.png
605 | top_potsdam_4_10_RGB_31.png
606 | top_potsdam_4_10_RGB_32.png
607 | top_potsdam_4_10_RGB_33.png
608 | top_potsdam_4_10_RGB_34.png
609 | top_potsdam_4_10_RGB_35.png
610 | top_potsdam_4_10_RGB_36.png
611 | top_potsdam_4_10_RGB_37.png
612 | top_potsdam_4_10_RGB_38.png
613 | top_potsdam_4_10_RGB_39.png
614 | top_potsdam_4_10_RGB_40.png
615 | top_potsdam_4_10_RGB_41.png
616 | top_potsdam_4_10_RGB_42.png
617 | top_potsdam_4_10_RGB_43.png
618 | top_potsdam_4_10_RGB_44.png
619 | top_potsdam_4_10_RGB_45.png
620 | top_potsdam_4_10_RGB_46.png
621 | top_potsdam_4_10_RGB_47.png
622 | top_potsdam_4_10_RGB_48.png
623 | top_potsdam_4_10_RGB_49.png
624 | top_potsdam_4_10_RGB_50.png
625 | top_potsdam_4_10_RGB_51.png
626 | top_potsdam_4_10_RGB_52.png
627 | top_potsdam_4_10_RGB_53.png
628 | top_potsdam_4_10_RGB_54.png
629 | top_potsdam_4_10_RGB_55.png
630 | top_potsdam_4_10_RGB_56.png
631 | top_potsdam_4_10_RGB_57.png
632 | top_potsdam_4_10_RGB_58.png
633 | top_potsdam_4_10_RGB_59.png
634 | top_potsdam_4_10_RGB_60.png
635 | top_potsdam_4_10_RGB_61.png
636 | top_potsdam_4_10_RGB_62.png
637 | top_potsdam_4_10_RGB_63.png
638 | top_potsdam_4_10_RGB_64.png
639 | top_potsdam_4_10_RGB_65.png
640 | top_potsdam_4_10_RGB_66.png
641 | top_potsdam_4_10_RGB_67.png
642 | top_potsdam_4_10_RGB_68.png
643 | top_potsdam_4_10_RGB_69.png
644 | top_potsdam_4_10_RGB_70.png
645 | top_potsdam_4_10_RGB_71.png
646 | top_potsdam_4_10_RGB_72.png
647 | top_potsdam_4_10_RGB_73.png
648 | top_potsdam_4_10_RGB_74.png
649 | top_potsdam_4_10_RGB_75.png
650 | top_potsdam_4_10_RGB_76.png
651 | top_potsdam_4_10_RGB_77.png
652 | top_potsdam_4_10_RGB_78.png
653 | top_potsdam_4_10_RGB_79.png
654 | top_potsdam_4_10_RGB_80.png
655 | top_potsdam_4_10_RGB_81.png
656 | top_potsdam_4_10_RGB_82.png
657 | top_potsdam_4_10_RGB_83.png
658 | top_potsdam_4_10_RGB_84.png
659 | top_potsdam_4_10_RGB_85.png
660 | top_potsdam_4_10_RGB_86.png
661 | top_potsdam_4_10_RGB_87.png
662 | top_potsdam_4_10_RGB_88.png
663 | top_potsdam_4_10_RGB_89.png
664 | top_potsdam_4_10_RGB_90.png
665 | top_potsdam_4_10_RGB_91.png
666 | top_potsdam_4_10_RGB_92.png
667 | top_potsdam_4_10_RGB_93.png
668 | top_potsdam_4_10_RGB_94.png
669 | top_potsdam_4_10_RGB_95.png
670 | top_potsdam_4_10_RGB_96.png
671 | top_potsdam_4_10_RGB_97.png
672 | top_potsdam_4_10_RGB_98.png
673 | top_potsdam_4_10_RGB_99.png
674 | top_potsdam_4_11_RGB_01.png
675 | top_potsdam_4_11_RGB_02.png
676 | top_potsdam_4_11_RGB_03.png
677 | top_potsdam_4_11_RGB_04.png
678 | top_potsdam_4_11_RGB_05.png
679 | top_potsdam_4_11_RGB_06.png
680 | top_potsdam_4_11_RGB_07.png
681 | top_potsdam_4_11_RGB_08.png
682 | top_potsdam_4_11_RGB_09.png
683 | top_potsdam_4_11_RGB_10.png
684 | top_potsdam_4_11_RGB_100.png
685 | top_potsdam_4_11_RGB_101.png
686 | top_potsdam_4_11_RGB_102.png
687 | top_potsdam_4_11_RGB_103.png
688 | top_potsdam_4_11_RGB_104.png
689 | top_potsdam_4_11_RGB_105.png
690 | top_potsdam_4_11_RGB_106.png
691 | top_potsdam_4_11_RGB_107.png
692 | top_potsdam_4_11_RGB_108.png
693 | top_potsdam_4_11_RGB_109.png
694 | top_potsdam_4_11_RGB_11.png
695 | top_potsdam_4_11_RGB_110.png
696 | top_potsdam_3_10_RGB_56.png
697 | top_potsdam_3_10_RGB_57.png
698 | top_potsdam_3_10_RGB_58.png
699 | top_potsdam_3_10_RGB_59.png
700 | top_potsdam_3_10_RGB_60.png
701 | top_potsdam_3_10_RGB_61.png
702 | top_potsdam_3_10_RGB_62.png
703 | top_potsdam_3_10_RGB_63.png
704 | top_potsdam_3_10_RGB_64.png
705 | top_potsdam_3_10_RGB_65.png
706 | top_potsdam_3_10_RGB_66.png
707 | top_potsdam_3_10_RGB_67.png
708 | top_potsdam_3_10_RGB_68.png
709 | top_potsdam_3_10_RGB_69.png
710 | top_potsdam_3_10_RGB_70.png
711 | top_potsdam_3_10_RGB_71.png
712 | top_potsdam_3_10_RGB_72.png
713 | top_potsdam_3_10_RGB_73.png
714 | top_potsdam_3_10_RGB_74.png
715 | top_potsdam_3_10_RGB_75.png
716 | top_potsdam_3_10_RGB_76.png
717 | top_potsdam_3_10_RGB_77.png
718 | top_potsdam_3_10_RGB_78.png
719 | top_potsdam_3_10_RGB_79.png
720 | top_potsdam_3_10_RGB_80.png
721 | top_potsdam_3_10_RGB_81.png
722 | top_potsdam_3_10_RGB_82.png
723 | top_potsdam_4_10_RGB_01.png
724 | top_potsdam_4_10_RGB_02.png
725 | top_potsdam_4_10_RGB_03.png
726 | top_potsdam_4_10_RGB_04.png
727 | top_potsdam_4_10_RGB_05.png
728 | top_potsdam_4_10_RGB_06.png
729 | top_potsdam_4_10_RGB_07.png
730 | top_potsdam_4_10_RGB_08.png
731 | top_potsdam_4_10_RGB_09.png
732 | top_potsdam_4_10_RGB_10.png
733 | top_potsdam_4_10_RGB_100.png
734 | top_potsdam_4_10_RGB_101.png
735 | top_potsdam_4_10_RGB_102.png
736 | top_potsdam_4_10_RGB_103.png
737 | top_potsdam_4_10_RGB_104.png
738 | top_potsdam_4_10_RGB_105.png
739 | top_potsdam_4_10_RGB_106.png
740 | top_potsdam_4_10_RGB_107.png
741 | top_potsdam_4_10_RGB_108.png
742 | top_potsdam_4_10_RGB_109.png
743 | top_potsdam_4_10_RGB_11.png
744 | top_potsdam_4_10_RGB_110.png
745 | top_potsdam_4_10_RGB_111.png
746 | top_potsdam_4_10_RGB_112.png
747 | top_potsdam_4_10_RGB_113.png
748 | top_potsdam_4_10_RGB_114.png
749 | top_potsdam_4_10_RGB_115.png
750 | top_potsdam_4_10_RGB_116.png
751 | top_potsdam_4_10_RGB_117.png
752 | top_potsdam_4_10_RGB_118.png
753 | top_potsdam_4_10_RGB_119.png
754 | top_potsdam_4_10_RGB_12.png
755 | top_potsdam_4_10_RGB_120.png
756 | top_potsdam_4_10_RGB_121.png
757 | top_potsdam_4_10_RGB_13.png
758 | top_potsdam_4_10_RGB_14.png
759 | top_potsdam_4_10_RGB_15.png
760 | top_potsdam_4_10_RGB_16.png
761 | top_potsdam_4_10_RGB_17.png
762 | top_potsdam_4_10_RGB_18.png
763 | top_potsdam_4_10_RGB_19.png
764 | top_potsdam_4_10_RGB_20.png
765 | top_potsdam_4_10_RGB_21.png
766 | top_potsdam_4_10_RGB_22.png
767 | top_potsdam_4_10_RGB_23.png
768 | top_potsdam_4_10_RGB_24.png
769 | top_potsdam_4_10_RGB_25.png
770 | top_potsdam_4_10_RGB_26.png
771 | top_potsdam_4_10_RGB_27.png
772 | top_potsdam_4_10_RGB_28.png
773 | top_potsdam_4_10_RGB_29.png
774 | top_potsdam_4_10_RGB_30.png
775 | top_potsdam_4_10_RGB_31.png
776 | top_potsdam_4_10_RGB_32.png
777 | top_potsdam_4_10_RGB_33.png
778 | top_potsdam_4_10_RGB_34.png
779 | top_potsdam_4_10_RGB_35.png
780 | top_potsdam_4_10_RGB_36.png
781 | top_potsdam_4_10_RGB_37.png
782 | top_potsdam_4_10_RGB_38.png
783 | top_potsdam_4_10_RGB_39.png
784 | top_potsdam_4_10_RGB_40.png
785 | top_potsdam_4_10_RGB_41.png
786 | top_potsdam_4_10_RGB_42.png
787 | top_potsdam_5_13_RGB_63.png
788 | top_potsdam_5_13_RGB_64.png
789 | top_potsdam_5_13_RGB_65.png
790 | top_potsdam_5_13_RGB_66.png
791 | top_potsdam_5_13_RGB_67.png
792 | top_potsdam_5_13_RGB_68.png
793 | top_potsdam_5_13_RGB_69.png
794 | top_potsdam_5_13_RGB_70.png
795 | top_potsdam_5_13_RGB_71.png
796 | top_potsdam_5_13_RGB_72.png
797 | top_potsdam_5_13_RGB_73.png
798 | top_potsdam_5_13_RGB_74.png
799 | top_potsdam_5_13_RGB_75.png
800 | top_potsdam_5_13_RGB_76.png
801 | top_potsdam_5_13_RGB_77.png
802 | top_potsdam_5_13_RGB_78.png
803 | top_potsdam_5_13_RGB_79.png
804 | top_potsdam_5_13_RGB_80.png
805 | top_potsdam_5_13_RGB_81.png
806 | top_potsdam_5_13_RGB_82.png
807 | top_potsdam_5_13_RGB_83.png
808 | top_potsdam_5_13_RGB_84.png
809 | top_potsdam_5_13_RGB_85.png
810 | top_potsdam_5_13_RGB_86.png
811 | top_potsdam_5_13_RGB_87.png
812 | top_potsdam_5_13_RGB_88.png
813 | top_potsdam_5_13_RGB_89.png
814 | top_potsdam_5_13_RGB_90.png
815 | top_potsdam_5_13_RGB_91.png
816 | top_potsdam_5_13_RGB_92.png
817 | top_potsdam_5_13_RGB_93.png
818 | top_potsdam_5_13_RGB_94.png
819 | top_potsdam_5_13_RGB_95.png
820 | top_potsdam_5_13_RGB_96.png
821 | top_potsdam_5_13_RGB_97.png
822 | top_potsdam_5_13_RGB_98.png
823 | top_potsdam_5_13_RGB_99.png
824 | top_potsdam_5_14_RGB_01.png
825 | top_potsdam_5_14_RGB_02.png
826 | top_potsdam_5_14_RGB_03.png
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/Vaihingen.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | from advent.utils import project_root
4 | from advent.utils.serialization import json_load
5 | from advent.dataset.base_dataset import BaseDataset
6 |
7 | DEFAULT_INFO_PATH = project_root / 'advent/dataset/Vaihingen/info.json'
8 |
9 |
10 | class Vaihingen(BaseDataset):
11 | def __init__(self, root, list_path, set='val',
12 | max_iters=None,
13 | crop_size=(512, 512), mean=(128, 128, 128),
14 | load_labels=True,
15 | info_path=DEFAULT_INFO_PATH, labels_size=None):
16 | super().__init__(root, list_path, set, max_iters, crop_size, labels_size, mean)
17 |
18 | self.load_labels = load_labels
19 | self.info = json_load(info_path)
20 | self.class_names = np.array(self.info['label'], dtype=np.str)
21 |
22 | def get_metadata(self, name):
23 | img_file = self.root / 'images' / name
24 | label_file = self.root / 'labels' / name
25 | return img_file, label_file
26 |
27 | def __getitem__(self, index):
28 | img_file, label_file, name = self.files[index]
29 | label = self.get_labels(label_file)
30 | image = self.get_image(img_file)
31 | image = self.preprocess(image)
32 | return image.copy(), label-1, np.array(image.shape), name
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/Vaihingen/Vaihingen_test.txt:
--------------------------------------------------------------------------------
1 | top_mosaic_09cm_area10_1.png
2 | top_mosaic_09cm_area10_10.png
3 | top_mosaic_09cm_area10_11.png
4 | top_mosaic_09cm_area10_12.png
5 | top_mosaic_09cm_area10_13.png
6 | top_mosaic_09cm_area10_14.png
7 | top_mosaic_09cm_area10_15.png
8 | top_mosaic_09cm_area10_16.png
9 | top_mosaic_09cm_area10_17.png
10 | top_mosaic_09cm_area10_18.png
11 | top_mosaic_09cm_area10_19.png
12 | top_mosaic_09cm_area10_2.png
13 | top_mosaic_09cm_area10_20.png
14 | top_mosaic_09cm_area10_21.png
15 | top_mosaic_09cm_area10_22.png
16 | top_mosaic_09cm_area10_23.png
17 | top_mosaic_09cm_area10_24.png
18 | top_mosaic_09cm_area10_25.png
19 | top_mosaic_09cm_area10_26.png
20 | top_mosaic_09cm_area10_27.png
21 | top_mosaic_09cm_area10_28.png
22 | top_mosaic_09cm_area10_29.png
23 | top_mosaic_09cm_area10_3.png
24 | top_mosaic_09cm_area10_30.png
25 | top_mosaic_09cm_area10_31.png
26 | top_mosaic_09cm_area10_32.png
27 | top_mosaic_09cm_area10_33.png
28 | top_mosaic_09cm_area10_34.png
29 | top_mosaic_09cm_area10_35.png
30 | top_mosaic_09cm_area10_36.png
31 | top_mosaic_09cm_area10_37.png
32 | top_mosaic_09cm_area10_38.png
33 | top_mosaic_09cm_area10_39.png
34 | top_mosaic_09cm_area10_4.png
35 | top_mosaic_09cm_area10_40.png
36 | top_mosaic_09cm_area10_41.png
37 | top_mosaic_09cm_area10_42.png
38 | top_mosaic_09cm_area10_43.png
39 | top_mosaic_09cm_area10_44.png
40 | top_mosaic_09cm_area10_45.png
41 | top_mosaic_09cm_area10_46.png
42 | top_mosaic_09cm_area10_47.png
43 | top_mosaic_09cm_area10_48.png
44 | top_mosaic_09cm_area10_5.png
45 | top_mosaic_09cm_area10_6.png
46 | top_mosaic_09cm_area10_7.png
47 | top_mosaic_09cm_area10_8.png
48 | top_mosaic_09cm_area10_9.png
49 | top_mosaic_09cm_area11_1.png
50 | top_mosaic_09cm_area11_10.png
51 | top_mosaic_09cm_area11_11.png
52 | top_mosaic_09cm_area11_12.png
53 | top_mosaic_09cm_area11_13.png
54 | top_mosaic_09cm_area11_14.png
55 | top_mosaic_09cm_area11_15.png
56 | top_mosaic_09cm_area11_16.png
57 | top_mosaic_09cm_area11_17.png
58 | top_mosaic_09cm_area11_18.png
59 | top_mosaic_09cm_area11_19.png
60 | top_mosaic_09cm_area11_2.png
61 | top_mosaic_09cm_area11_20.png
62 | top_mosaic_09cm_area11_21.png
63 | top_mosaic_09cm_area11_22.png
64 | top_mosaic_09cm_area11_23.png
65 | top_mosaic_09cm_area11_24.png
66 | top_mosaic_09cm_area11_25.png
67 | top_mosaic_09cm_area11_26.png
68 | top_mosaic_09cm_area11_27.png
69 | top_mosaic_09cm_area11_28.png
70 | top_mosaic_09cm_area11_29.png
71 | top_mosaic_09cm_area11_3.png
72 | top_mosaic_09cm_area11_30.png
73 | top_mosaic_09cm_area11_31.png
74 | top_mosaic_09cm_area11_32.png
75 | top_mosaic_09cm_area11_33.png
76 | top_mosaic_09cm_area11_34.png
77 | top_mosaic_09cm_area11_35.png
78 | top_mosaic_09cm_area11_36.png
79 | top_mosaic_09cm_area11_37.png
80 | top_mosaic_09cm_area11_38.png
81 | top_mosaic_09cm_area11_39.png
82 | top_mosaic_09cm_area11_4.png
83 | top_mosaic_09cm_area11_40.png
84 | top_mosaic_09cm_area11_41.png
85 | top_mosaic_09cm_area11_42.png
86 | top_mosaic_09cm_area11_43.png
87 | top_mosaic_09cm_area11_44.png
88 | top_mosaic_09cm_area11_45.png
89 | top_mosaic_09cm_area11_46.png
90 | top_mosaic_09cm_area11_47.png
91 | top_mosaic_09cm_area11_48.png
92 | top_mosaic_09cm_area11_49.png
93 | top_mosaic_09cm_area11_5.png
94 | top_mosaic_09cm_area11_50.png
95 | top_mosaic_09cm_area11_51.png
96 | top_mosaic_09cm_area11_52.png
97 | top_mosaic_09cm_area11_53.png
98 | top_mosaic_09cm_area11_54.png
99 | top_mosaic_09cm_area11_6.png
100 | top_mosaic_09cm_area11_7.png
101 | top_mosaic_09cm_area11_8.png
102 | top_mosaic_09cm_area11_9.png
103 | top_mosaic_09cm_area12_1.png
104 | top_mosaic_09cm_area12_10.png
105 | top_mosaic_09cm_area12_11.png
106 | top_mosaic_09cm_area12_12.png
107 | top_mosaic_09cm_area12_13.png
108 | top_mosaic_09cm_area12_14.png
109 | top_mosaic_09cm_area12_15.png
110 | top_mosaic_09cm_area12_16.png
111 | top_mosaic_09cm_area12_17.png
112 | top_mosaic_09cm_area12_18.png
113 | top_mosaic_09cm_area12_19.png
114 | top_mosaic_09cm_area12_2.png
115 | top_mosaic_09cm_area12_20.png
116 | top_mosaic_09cm_area12_21.png
117 | top_mosaic_09cm_area12_22.png
118 | top_mosaic_09cm_area12_23.png
119 | top_mosaic_09cm_area12_24.png
120 | top_mosaic_09cm_area12_25.png
121 | top_mosaic_09cm_area12_26.png
122 | top_mosaic_09cm_area12_27.png
123 | top_mosaic_09cm_area12_28.png
124 | top_mosaic_09cm_area12_29.png
125 | top_mosaic_09cm_area12_3.png
126 | top_mosaic_09cm_area12_30.png
127 | top_mosaic_09cm_area12_31.png
128 | top_mosaic_09cm_area12_32.png
129 | top_mosaic_09cm_area12_33.png
130 | top_mosaic_09cm_area12_34.png
131 | top_mosaic_09cm_area12_35.png
132 | top_mosaic_09cm_area12_36.png
133 | top_mosaic_09cm_area12_37.png
134 | top_mosaic_09cm_area12_38.png
135 | top_mosaic_09cm_area12_39.png
136 | top_mosaic_09cm_area12_4.png
137 | top_mosaic_09cm_area12_40.png
138 | top_mosaic_09cm_area12_41.png
139 | top_mosaic_09cm_area12_42.png
140 | top_mosaic_09cm_area12_43.png
141 | top_mosaic_09cm_area12_44.png
142 | top_mosaic_09cm_area12_45.png
143 | top_mosaic_09cm_area12_46.png
144 | top_mosaic_09cm_area12_47.png
145 | top_mosaic_09cm_area12_48.png
146 | top_mosaic_09cm_area12_49.png
147 | top_mosaic_09cm_area12_5.png
148 | top_mosaic_09cm_area12_50.png
149 | top_mosaic_09cm_area12_51.png
150 | top_mosaic_09cm_area12_52.png
151 | top_mosaic_09cm_area12_53.png
152 | top_mosaic_09cm_area12_54.png
153 | top_mosaic_09cm_area12_6.png
154 | top_mosaic_09cm_area12_7.png
155 | top_mosaic_09cm_area12_8.png
156 | top_mosaic_09cm_area12_9.png
157 | top_mosaic_09cm_area14_1.png
158 | top_mosaic_09cm_area14_10.png
159 | top_mosaic_09cm_area14_11.png
160 | top_mosaic_09cm_area14_12.png
161 | top_mosaic_09cm_area14_13.png
162 | top_mosaic_09cm_area14_14.png
163 | top_mosaic_09cm_area14_15.png
164 | top_mosaic_09cm_area14_16.png
165 | top_mosaic_09cm_area14_17.png
166 | top_mosaic_09cm_area14_18.png
167 | top_mosaic_09cm_area14_19.png
168 | top_mosaic_09cm_area14_2.png
169 | top_mosaic_09cm_area14_20.png
170 | top_mosaic_09cm_area14_21.png
171 | top_mosaic_09cm_area14_22.png
172 | top_mosaic_09cm_area14_23.png
173 | top_mosaic_09cm_area14_24.png
174 | top_mosaic_09cm_area14_25.png
175 | top_mosaic_09cm_area14_26.png
176 | top_mosaic_09cm_area14_27.png
177 | top_mosaic_09cm_area14_28.png
178 | top_mosaic_09cm_area14_29.png
179 | top_mosaic_09cm_area14_3.png
180 | top_mosaic_09cm_area14_30.png
181 | top_mosaic_09cm_area14_31.png
182 | top_mosaic_09cm_area14_32.png
183 | top_mosaic_09cm_area14_33.png
184 | top_mosaic_09cm_area14_34.png
185 | top_mosaic_09cm_area14_35.png
186 | top_mosaic_09cm_area14_36.png
187 | top_mosaic_09cm_area14_37.png
188 | top_mosaic_09cm_area14_38.png
189 | top_mosaic_09cm_area14_39.png
190 | top_mosaic_09cm_area14_4.png
191 | top_mosaic_09cm_area14_40.png
192 | top_mosaic_09cm_area14_41.png
193 | top_mosaic_09cm_area14_42.png
194 | top_mosaic_09cm_area14_43.png
195 | top_mosaic_09cm_area14_44.png
196 | top_mosaic_09cm_area14_45.png
197 | top_mosaic_09cm_area14_46.png
198 | top_mosaic_09cm_area14_47.png
199 | top_mosaic_09cm_area14_48.png
200 | top_mosaic_09cm_area14_49.png
201 | top_mosaic_09cm_area14_5.png
202 | top_mosaic_09cm_area14_50.png
203 | top_mosaic_09cm_area14_51.png
204 | top_mosaic_09cm_area14_52.png
205 | top_mosaic_09cm_area14_53.png
206 | top_mosaic_09cm_area14_54.png
207 | top_mosaic_09cm_area14_6.png
208 | top_mosaic_09cm_area14_7.png
209 | top_mosaic_09cm_area14_8.png
210 | top_mosaic_09cm_area14_9.png
211 | top_mosaic_09cm_area15_1.png
212 | top_mosaic_09cm_area15_10.png
213 | top_mosaic_09cm_area15_11.png
214 | top_mosaic_09cm_area15_12.png
215 | top_mosaic_09cm_area15_13.png
216 | top_mosaic_09cm_area15_14.png
217 | top_mosaic_09cm_area15_15.png
218 | top_mosaic_09cm_area15_16.png
219 | top_mosaic_09cm_area15_17.png
220 | top_mosaic_09cm_area15_18.png
221 | top_mosaic_09cm_area15_19.png
222 | top_mosaic_09cm_area15_2.png
223 | top_mosaic_09cm_area15_20.png
224 | top_mosaic_09cm_area15_21.png
225 | top_mosaic_09cm_area15_22.png
226 | top_mosaic_09cm_area15_23.png
227 | top_mosaic_09cm_area15_24.png
228 | top_mosaic_09cm_area15_25.png
229 | top_mosaic_09cm_area15_26.png
230 | top_mosaic_09cm_area15_27.png
231 | top_mosaic_09cm_area15_28.png
232 | top_mosaic_09cm_area15_29.png
233 | top_mosaic_09cm_area15_3.png
234 | top_mosaic_09cm_area15_30.png
235 | top_mosaic_09cm_area15_31.png
236 | top_mosaic_09cm_area15_32.png
237 | top_mosaic_09cm_area15_33.png
238 | top_mosaic_09cm_area15_34.png
239 | top_mosaic_09cm_area15_35.png
240 | top_mosaic_09cm_area15_36.png
241 | top_mosaic_09cm_area15_37.png
242 | top_mosaic_09cm_area15_38.png
243 | top_mosaic_09cm_area15_39.png
244 | top_mosaic_09cm_area15_4.png
245 | top_mosaic_09cm_area15_40.png
246 | top_mosaic_09cm_area15_41.png
247 | top_mosaic_09cm_area15_42.png
248 | top_mosaic_09cm_area15_43.png
249 | top_mosaic_09cm_area15_44.png
250 | top_mosaic_09cm_area15_45.png
251 | top_mosaic_09cm_area15_46.png
252 | top_mosaic_09cm_area15_47.png
253 | top_mosaic_09cm_area15_48.png
254 | top_mosaic_09cm_area15_49.png
255 | top_mosaic_09cm_area15_5.png
256 | top_mosaic_09cm_area15_50.png
257 | top_mosaic_09cm_area15_51.png
258 | top_mosaic_09cm_area15_52.png
259 | top_mosaic_09cm_area15_53.png
260 | top_mosaic_09cm_area15_54.png
261 | top_mosaic_09cm_area15_6.png
262 | top_mosaic_09cm_area15_7.png
263 | top_mosaic_09cm_area15_8.png
264 | top_mosaic_09cm_area15_9.png
265 | top_mosaic_09cm_area16_1.png
266 | top_mosaic_09cm_area16_10.png
267 | top_mosaic_09cm_area16_11.png
268 | top_mosaic_09cm_area16_12.png
269 | top_mosaic_09cm_area16_13.png
270 | top_mosaic_09cm_area16_14.png
271 | top_mosaic_09cm_area16_15.png
272 | top_mosaic_09cm_area16_16.png
273 | top_mosaic_09cm_area16_17.png
274 | top_mosaic_09cm_area16_18.png
275 | top_mosaic_09cm_area16_19.png
276 | top_mosaic_09cm_area16_2.png
277 | top_mosaic_09cm_area16_20.png
278 | top_mosaic_09cm_area16_21.png
279 | top_mosaic_09cm_area16_22.png
280 | top_mosaic_09cm_area16_23.png
281 | top_mosaic_09cm_area16_24.png
282 | top_mosaic_09cm_area16_25.png
283 | top_mosaic_09cm_area16_26.png
284 | top_mosaic_09cm_area16_27.png
285 | top_mosaic_09cm_area16_28.png
286 | top_mosaic_09cm_area16_29.png
287 | top_mosaic_09cm_area16_3.png
288 | top_mosaic_09cm_area16_30.png
289 | top_mosaic_09cm_area16_31.png
290 | top_mosaic_09cm_area16_32.png
291 | top_mosaic_09cm_area16_33.png
292 | top_mosaic_09cm_area16_34.png
293 | top_mosaic_09cm_area16_35.png
294 | top_mosaic_09cm_area16_36.png
295 | top_mosaic_09cm_area16_37.png
296 | top_mosaic_09cm_area16_38.png
297 | top_mosaic_09cm_area16_39.png
298 | top_mosaic_09cm_area16_4.png
299 | top_mosaic_09cm_area16_40.png
300 | top_mosaic_09cm_area16_41.png
301 | top_mosaic_09cm_area16_42.png
302 | top_mosaic_09cm_area16_43.png
303 | top_mosaic_09cm_area16_44.png
304 | top_mosaic_09cm_area16_45.png
305 | top_mosaic_09cm_area16_46.png
306 | top_mosaic_09cm_area16_47.png
307 | top_mosaic_09cm_area16_48.png
308 | top_mosaic_09cm_area16_49.png
309 | top_mosaic_09cm_area16_5.png
310 | top_mosaic_09cm_area16_50.png
311 | top_mosaic_09cm_area16_51.png
312 | top_mosaic_09cm_area16_52.png
313 | top_mosaic_09cm_area16_53.png
314 | top_mosaic_09cm_area16_54.png
315 | top_mosaic_09cm_area16_6.png
316 | top_mosaic_09cm_area16_7.png
317 | top_mosaic_09cm_area16_8.png
318 | top_mosaic_09cm_area16_9.png
319 | top_mosaic_09cm_area17_1.png
320 | top_mosaic_09cm_area17_10.png
321 | top_mosaic_09cm_area17_11.png
322 | top_mosaic_09cm_area17_12.png
323 | top_mosaic_09cm_area17_13.png
324 | top_mosaic_09cm_area17_14.png
325 | top_mosaic_09cm_area17_15.png
326 | top_mosaic_09cm_area17_16.png
327 | top_mosaic_09cm_area17_17.png
328 | top_mosaic_09cm_area17_18.png
329 | top_mosaic_09cm_area17_19.png
330 | top_mosaic_09cm_area17_2.png
331 | top_mosaic_09cm_area17_20.png
332 | top_mosaic_09cm_area17_21.png
333 | top_mosaic_09cm_area17_22.png
334 | top_mosaic_09cm_area17_23.png
335 | top_mosaic_09cm_area17_24.png
336 | top_mosaic_09cm_area17_25.png
337 | top_mosaic_09cm_area17_26.png
338 | top_mosaic_09cm_area17_27.png
339 | top_mosaic_09cm_area17_28.png
340 | top_mosaic_09cm_area17_29.png
341 | top_mosaic_09cm_area17_3.png
342 | top_mosaic_09cm_area17_30.png
343 | top_mosaic_09cm_area17_31.png
344 | top_mosaic_09cm_area17_32.png
345 | top_mosaic_09cm_area17_4.png
346 | top_mosaic_09cm_area17_5.png
347 | top_mosaic_09cm_area17_6.png
348 | top_mosaic_09cm_area17_7.png
349 | top_mosaic_09cm_area17_8.png
350 | top_mosaic_09cm_area17_9.png
351 | top_mosaic_09cm_area1_1.png
352 | top_mosaic_09cm_area1_10.png
353 | top_mosaic_09cm_area1_11.png
354 | top_mosaic_09cm_area1_12.png
355 | top_mosaic_09cm_area1_13.png
356 | top_mosaic_09cm_area1_14.png
357 | top_mosaic_09cm_area1_15.png
358 | top_mosaic_09cm_area1_16.png
359 | top_mosaic_09cm_area1_17.png
360 | top_mosaic_09cm_area1_18.png
361 | top_mosaic_09cm_area1_19.png
362 | top_mosaic_09cm_area1_2.png
363 | top_mosaic_09cm_area1_20.png
364 | top_mosaic_09cm_area1_21.png
365 | top_mosaic_09cm_area1_22.png
366 | top_mosaic_09cm_area1_23.png
367 | top_mosaic_09cm_area1_24.png
368 | top_mosaic_09cm_area1_25.png
369 | top_mosaic_09cm_area1_26.png
370 | top_mosaic_09cm_area1_27.png
371 | top_mosaic_09cm_area1_28.png
372 | top_mosaic_09cm_area1_29.png
373 | top_mosaic_09cm_area1_3.png
374 | top_mosaic_09cm_area1_30.png
375 | top_mosaic_09cm_area1_31.png
376 | top_mosaic_09cm_area1_32.png
377 | top_mosaic_09cm_area1_33.png
378 | top_mosaic_09cm_area1_34.png
379 | top_mosaic_09cm_area1_35.png
380 | top_mosaic_09cm_area1_36.png
381 | top_mosaic_09cm_area1_37.png
382 | top_mosaic_09cm_area1_38.png
383 | top_mosaic_09cm_area1_39.png
384 | top_mosaic_09cm_area1_4.png
385 | top_mosaic_09cm_area1_40.png
386 | top_mosaic_09cm_area1_41.png
387 | top_mosaic_09cm_area1_42.png
388 | top_mosaic_09cm_area1_43.png
389 | top_mosaic_09cm_area1_44.png
390 | top_mosaic_09cm_area1_45.png
391 | top_mosaic_09cm_area1_46.png
392 | top_mosaic_09cm_area1_47.png
393 | top_mosaic_09cm_area1_48.png
394 | top_mosaic_09cm_area1_49.png
395 | top_mosaic_09cm_area1_5.png
396 | top_mosaic_09cm_area1_50.png
397 | top_mosaic_09cm_area1_51.png
398 | top_mosaic_09cm_area1_52.png
399 | top_mosaic_09cm_area1_53.png
400 | top_mosaic_09cm_area1_54.png
401 | top_mosaic_09cm_area1_6.png
402 | top_mosaic_09cm_area1_7.png
403 | top_mosaic_09cm_area1_8.png
404 | top_mosaic_09cm_area1_9.png
405 | top_mosaic_09cm_area21_1.png
406 | top_mosaic_09cm_area21_10.png
407 | top_mosaic_09cm_area21_11.png
408 | top_mosaic_09cm_area21_12.png
409 | top_mosaic_09cm_area21_13.png
410 | top_mosaic_09cm_area21_14.png
411 | top_mosaic_09cm_area21_15.png
412 | top_mosaic_09cm_area21_16.png
413 | top_mosaic_09cm_area21_17.png
414 | top_mosaic_09cm_area21_18.png
415 | top_mosaic_09cm_area21_19.png
416 | top_mosaic_09cm_area21_2.png
417 | top_mosaic_09cm_area21_20.png
418 | top_mosaic_09cm_area21_21.png
419 | top_mosaic_09cm_area21_22.png
420 | top_mosaic_09cm_area21_23.png
421 | top_mosaic_09cm_area21_24.png
422 | top_mosaic_09cm_area21_25.png
423 | top_mosaic_09cm_area21_26.png
424 | top_mosaic_09cm_area21_27.png
425 | top_mosaic_09cm_area21_28.png
426 | top_mosaic_09cm_area21_29.png
427 | top_mosaic_09cm_area21_3.png
428 | top_mosaic_09cm_area21_30.png
429 | top_mosaic_09cm_area21_31.png
430 | top_mosaic_09cm_area21_32.png
431 | top_mosaic_09cm_area21_33.png
432 | top_mosaic_09cm_area21_34.png
433 | top_mosaic_09cm_area21_35.png
434 | top_mosaic_09cm_area21_36.png
435 | top_mosaic_09cm_area21_37.png
436 | top_mosaic_09cm_area21_38.png
437 | top_mosaic_09cm_area21_39.png
438 | top_mosaic_09cm_area21_4.png
439 | top_mosaic_09cm_area21_40.png
440 | top_mosaic_09cm_area21_41.png
441 | top_mosaic_09cm_area21_42.png
442 | top_mosaic_09cm_area21_43.png
443 | top_mosaic_09cm_area21_44.png
444 | top_mosaic_09cm_area21_45.png
445 | top_mosaic_09cm_area21_46.png
446 | top_mosaic_09cm_area21_47.png
447 | top_mosaic_09cm_area21_48.png
448 | top_mosaic_09cm_area21_5.png
449 | top_mosaic_09cm_area21_6.png
450 | top_mosaic_09cm_area21_7.png
451 | top_mosaic_09cm_area21_8.png
452 | top_mosaic_09cm_area21_9.png
453 | top_mosaic_09cm_area23_1.png
454 | top_mosaic_09cm_area23_10.png
455 | top_mosaic_09cm_area23_11.png
456 | top_mosaic_09cm_area23_12.png
457 | top_mosaic_09cm_area23_13.png
458 | top_mosaic_09cm_area23_14.png
459 | top_mosaic_09cm_area23_15.png
460 | top_mosaic_09cm_area23_16.png
461 | top_mosaic_09cm_area23_17.png
462 | top_mosaic_09cm_area23_18.png
463 | top_mosaic_09cm_area23_19.png
464 | top_mosaic_09cm_area23_2.png
465 | top_mosaic_09cm_area23_20.png
466 | top_mosaic_09cm_area23_21.png
467 | top_mosaic_09cm_area23_22.png
468 | top_mosaic_09cm_area23_23.png
469 | top_mosaic_09cm_area23_24.png
470 | top_mosaic_09cm_area23_25.png
471 | top_mosaic_09cm_area23_26.png
472 | top_mosaic_09cm_area23_27.png
473 | top_mosaic_09cm_area23_28.png
474 | top_mosaic_09cm_area23_29.png
475 | top_mosaic_09cm_area23_3.png
476 | top_mosaic_09cm_area23_30.png
477 | top_mosaic_09cm_area23_31.png
478 | top_mosaic_09cm_area23_32.png
479 | top_mosaic_09cm_area23_33.png
480 | top_mosaic_09cm_area23_34.png
481 | top_mosaic_09cm_area23_35.png
482 | top_mosaic_09cm_area23_36.png
483 | top_mosaic_09cm_area23_37.png
484 | top_mosaic_09cm_area23_38.png
485 | top_mosaic_09cm_area23_39.png
486 | top_mosaic_09cm_area23_4.png
487 | top_mosaic_09cm_area23_40.png
488 | top_mosaic_09cm_area23_41.png
489 | top_mosaic_09cm_area23_42.png
490 | top_mosaic_09cm_area23_43.png
491 | top_mosaic_09cm_area23_44.png
492 | top_mosaic_09cm_area23_45.png
493 | top_mosaic_09cm_area23_46.png
494 | top_mosaic_09cm_area23_47.png
495 | top_mosaic_09cm_area23_48.png
496 | top_mosaic_09cm_area23_5.png
497 | top_mosaic_09cm_area23_6.png
498 | top_mosaic_09cm_area23_7.png
499 | top_mosaic_09cm_area23_8.png
500 | top_mosaic_09cm_area23_9.png
501 | top_mosaic_09cm_area26_1.png
502 | top_mosaic_09cm_area26_10.png
503 | top_mosaic_09cm_area26_11.png
504 | top_mosaic_09cm_area26_12.png
505 | top_mosaic_09cm_area26_13.png
506 | top_mosaic_09cm_area26_14.png
507 | top_mosaic_09cm_area26_15.png
508 | top_mosaic_09cm_area26_16.png
509 | top_mosaic_09cm_area26_17.png
510 | top_mosaic_09cm_area26_18.png
511 | top_mosaic_09cm_area26_19.png
512 | top_mosaic_09cm_area26_2.png
513 | top_mosaic_09cm_area26_20.png
514 | top_mosaic_09cm_area26_21.png
515 | top_mosaic_09cm_area26_22.png
516 | top_mosaic_09cm_area26_23.png
517 | top_mosaic_09cm_area26_24.png
518 | top_mosaic_09cm_area26_25.png
519 | top_mosaic_09cm_area26_26.png
520 | top_mosaic_09cm_area26_27.png
521 | top_mosaic_09cm_area26_28.png
522 | top_mosaic_09cm_area26_29.png
523 | top_mosaic_09cm_area26_3.png
524 | top_mosaic_09cm_area26_30.png
525 | top_mosaic_09cm_area26_31.png
526 | top_mosaic_09cm_area26_32.png
527 | top_mosaic_09cm_area26_33.png
528 | top_mosaic_09cm_area26_34.png
529 | top_mosaic_09cm_area26_35.png
530 | top_mosaic_09cm_area26_36.png
531 | top_mosaic_09cm_area26_37.png
532 | top_mosaic_09cm_area26_38.png
533 | top_mosaic_09cm_area26_39.png
534 | top_mosaic_09cm_area26_4.png
535 | top_mosaic_09cm_area26_40.png
536 | top_mosaic_09cm_area26_41.png
537 | top_mosaic_09cm_area26_42.png
538 | top_mosaic_09cm_area26_43.png
539 | top_mosaic_09cm_area26_44.png
540 | top_mosaic_09cm_area26_45.png
541 | top_mosaic_09cm_area26_46.png
542 | top_mosaic_09cm_area26_47.png
543 | top_mosaic_09cm_area26_48.png
544 | top_mosaic_09cm_area26_49.png
545 | top_mosaic_09cm_area26_5.png
546 | top_mosaic_09cm_area26_50.png
547 | top_mosaic_09cm_area26_6.png
548 | top_mosaic_09cm_area26_7.png
549 | top_mosaic_09cm_area26_8.png
550 | top_mosaic_09cm_area26_9.png
551 | top_mosaic_09cm_area28_1.png
552 | top_mosaic_09cm_area28_10.png
553 | top_mosaic_09cm_area28_11.png
554 | top_mosaic_09cm_area28_12.png
555 | top_mosaic_09cm_area28_13.png
556 | top_mosaic_09cm_area28_14.png
557 | top_mosaic_09cm_area28_15.png
558 | top_mosaic_09cm_area28_16.png
559 | top_mosaic_09cm_area28_17.png
560 | top_mosaic_09cm_area28_18.png
561 | top_mosaic_09cm_area28_19.png
562 | top_mosaic_09cm_area28_2.png
563 | top_mosaic_09cm_area28_20.png
564 | top_mosaic_09cm_area28_21.png
565 | top_mosaic_09cm_area28_22.png
566 | top_mosaic_09cm_area28_23.png
567 | top_mosaic_09cm_area28_24.png
568 | top_mosaic_09cm_area28_25.png
569 | top_mosaic_09cm_area28_26.png
570 | top_mosaic_09cm_area28_27.png
571 | top_mosaic_09cm_area28_28.png
572 | top_mosaic_09cm_area28_29.png
573 | top_mosaic_09cm_area28_3.png
574 | top_mosaic_09cm_area28_30.png
575 | top_mosaic_09cm_area28_31.png
576 | top_mosaic_09cm_area28_32.png
577 | top_mosaic_09cm_area28_33.png
578 | top_mosaic_09cm_area28_34.png
579 | top_mosaic_09cm_area28_35.png
580 | top_mosaic_09cm_area28_36.png
581 | top_mosaic_09cm_area28_37.png
582 | top_mosaic_09cm_area28_38.png
583 | top_mosaic_09cm_area28_39.png
584 | top_mosaic_09cm_area28_4.png
585 | top_mosaic_09cm_area28_40.png
586 | top_mosaic_09cm_area28_41.png
587 | top_mosaic_09cm_area28_42.png
588 | top_mosaic_09cm_area28_43.png
589 | top_mosaic_09cm_area28_44.png
590 | top_mosaic_09cm_area28_45.png
591 | top_mosaic_09cm_area28_46.png
592 | top_mosaic_09cm_area28_47.png
593 | top_mosaic_09cm_area28_48.png
594 | top_mosaic_09cm_area28_49.png
595 | top_mosaic_09cm_area28_5.png
596 | top_mosaic_09cm_area28_50.png
597 | top_mosaic_09cm_area28_51.png
598 | top_mosaic_09cm_area28_52.png
599 | top_mosaic_09cm_area28_53.png
600 | top_mosaic_09cm_area28_54.png
601 | top_mosaic_09cm_area28_6.png
602 | top_mosaic_09cm_area28_7.png
603 | top_mosaic_09cm_area28_8.png
604 | top_mosaic_09cm_area28_9.png
605 | top_mosaic_09cm_area29_1.png
606 | top_mosaic_09cm_area29_10.png
607 | top_mosaic_09cm_area29_11.png
608 | top_mosaic_09cm_area29_12.png
609 | top_mosaic_09cm_area29_13.png
610 | top_mosaic_09cm_area29_14.png
611 | top_mosaic_09cm_area29_15.png
612 | top_mosaic_09cm_area29_16.png
613 | top_mosaic_09cm_area29_17.png
614 | top_mosaic_09cm_area29_18.png
615 | top_mosaic_09cm_area29_19.png
616 | top_mosaic_09cm_area29_2.png
617 | top_mosaic_09cm_area29_20.png
618 | top_mosaic_09cm_area29_21.png
619 | top_mosaic_09cm_area29_22.png
620 | top_mosaic_09cm_area29_23.png
621 | top_mosaic_09cm_area29_24.png
622 | top_mosaic_09cm_area29_25.png
623 | top_mosaic_09cm_area29_26.png
624 | top_mosaic_09cm_area29_27.png
625 | top_mosaic_09cm_area29_28.png
626 | top_mosaic_09cm_area29_29.png
627 | top_mosaic_09cm_area29_3.png
628 | top_mosaic_09cm_area29_30.png
629 | top_mosaic_09cm_area29_31.png
630 | top_mosaic_09cm_area29_32.png
631 | top_mosaic_09cm_area29_33.png
632 | top_mosaic_09cm_area29_34.png
633 | top_mosaic_09cm_area29_35.png
634 | top_mosaic_09cm_area29_36.png
635 | top_mosaic_09cm_area29_37.png
636 | top_mosaic_09cm_area29_38.png
637 | top_mosaic_09cm_area29_39.png
638 | top_mosaic_09cm_area29_4.png
639 | top_mosaic_09cm_area29_40.png
640 | top_mosaic_09cm_area29_41.png
641 | top_mosaic_09cm_area29_42.png
642 | top_mosaic_09cm_area29_43.png
643 | top_mosaic_09cm_area29_44.png
644 | top_mosaic_09cm_area29_45.png
645 | top_mosaic_09cm_area29_46.png
646 | top_mosaic_09cm_area29_47.png
647 | top_mosaic_09cm_area29_48.png
648 | top_mosaic_09cm_area29_49.png
649 | top_mosaic_09cm_area29_5.png
650 | top_mosaic_09cm_area29_50.png
651 | top_mosaic_09cm_area29_51.png
652 | top_mosaic_09cm_area29_52.png
653 | top_mosaic_09cm_area29_53.png
654 | top_mosaic_09cm_area29_54.png
655 | top_mosaic_09cm_area29_6.png
656 | top_mosaic_09cm_area29_7.png
657 | top_mosaic_09cm_area29_8.png
658 | top_mosaic_09cm_area29_9.png
659 | top_mosaic_09cm_area30_1.png
660 | top_mosaic_09cm_area30_10.png
661 | top_mosaic_09cm_area30_11.png
662 | top_mosaic_09cm_area30_12.png
663 | top_mosaic_09cm_area30_13.png
664 | top_mosaic_09cm_area30_14.png
665 | top_mosaic_09cm_area30_15.png
666 | top_mosaic_09cm_area30_16.png
667 | top_mosaic_09cm_area30_17.png
668 | top_mosaic_09cm_area30_18.png
669 | top_mosaic_09cm_area30_19.png
670 | top_mosaic_09cm_area30_2.png
671 | top_mosaic_09cm_area30_20.png
672 | top_mosaic_09cm_area30_21.png
673 | top_mosaic_09cm_area30_22.png
674 | top_mosaic_09cm_area30_23.png
675 | top_mosaic_09cm_area30_24.png
676 | top_mosaic_09cm_area30_25.png
677 | top_mosaic_09cm_area30_26.png
678 | top_mosaic_09cm_area30_27.png
679 | top_mosaic_09cm_area30_28.png
680 | top_mosaic_09cm_area30_29.png
681 | top_mosaic_09cm_area30_3.png
682 | top_mosaic_09cm_area30_30.png
683 | top_mosaic_09cm_area30_31.png
684 | top_mosaic_09cm_area30_32.png
685 | top_mosaic_09cm_area30_33.png
686 | top_mosaic_09cm_area30_34.png
687 | top_mosaic_09cm_area30_35.png
688 | top_mosaic_09cm_area30_36.png
689 | top_mosaic_09cm_area30_37.png
690 | top_mosaic_09cm_area30_38.png
691 | top_mosaic_09cm_area30_39.png
692 | top_mosaic_09cm_area30_4.png
693 | top_mosaic_09cm_area30_40.png
694 | top_mosaic_09cm_area30_41.png
695 | top_mosaic_09cm_area30_42.png
696 | top_mosaic_09cm_area30_43.png
697 | top_mosaic_09cm_area30_44.png
698 | top_mosaic_09cm_area30_45.png
699 | top_mosaic_09cm_area30_46.png
700 | top_mosaic_09cm_area30_47.png
701 | top_mosaic_09cm_area30_48.png
702 | top_mosaic_09cm_area30_49.png
703 | top_mosaic_09cm_area30_5.png
704 | top_mosaic_09cm_area30_50.png
705 | top_mosaic_09cm_area30_51.png
706 | top_mosaic_09cm_area30_52.png
707 | top_mosaic_09cm_area30_53.png
708 | top_mosaic_09cm_area30_54.png
709 | top_mosaic_09cm_area30_6.png
710 | top_mosaic_09cm_area30_7.png
711 | top_mosaic_09cm_area30_8.png
712 | top_mosaic_09cm_area30_9.png
713 | top_mosaic_09cm_area31_1.png
714 | top_mosaic_09cm_area31_10.png
715 | top_mosaic_09cm_area31_11.png
716 | top_mosaic_09cm_area31_12.png
717 | top_mosaic_09cm_area31_13.png
718 | top_mosaic_09cm_area31_14.png
719 | top_mosaic_09cm_area31_15.png
720 | top_mosaic_09cm_area31_16.png
721 | top_mosaic_09cm_area31_17.png
722 | top_mosaic_09cm_area31_18.png
723 | top_mosaic_09cm_area31_19.png
724 | top_mosaic_09cm_area31_2.png
725 | top_mosaic_09cm_area31_20.png
726 | top_mosaic_09cm_area31_21.png
727 | top_mosaic_09cm_area31_22.png
728 | top_mosaic_09cm_area31_23.png
729 | top_mosaic_09cm_area31_24.png
730 | top_mosaic_09cm_area31_25.png
731 | top_mosaic_09cm_area31_26.png
732 | top_mosaic_09cm_area31_27.png
733 | top_mosaic_09cm_area31_28.png
734 | top_mosaic_09cm_area31_29.png
735 | top_mosaic_09cm_area31_3.png
736 | top_mosaic_09cm_area31_30.png
737 | top_mosaic_09cm_area31_31.png
738 | top_mosaic_09cm_area31_32.png
739 | top_mosaic_09cm_area31_33.png
740 | top_mosaic_09cm_area31_34.png
741 | top_mosaic_09cm_area31_35.png
742 | top_mosaic_09cm_area31_36.png
743 | top_mosaic_09cm_area31_37.png
744 | top_mosaic_09cm_area31_38.png
745 | top_mosaic_09cm_area31_39.png
746 | top_mosaic_09cm_area31_4.png
747 | top_mosaic_09cm_area31_40.png
748 | top_mosaic_09cm_area31_41.png
749 | top_mosaic_09cm_area31_42.png
750 | top_mosaic_09cm_area31_43.png
751 | top_mosaic_09cm_area31_44.png
752 | top_mosaic_09cm_area31_45.png
753 | top_mosaic_09cm_area31_46.png
754 | top_mosaic_09cm_area31_47.png
755 | top_mosaic_09cm_area31_48.png
756 | top_mosaic_09cm_area31_5.png
757 | top_mosaic_09cm_area31_6.png
758 | top_mosaic_09cm_area31_7.png
759 | top_mosaic_09cm_area31_8.png
760 | top_mosaic_09cm_area31_9.png
761 | top_mosaic_09cm_area32_1.png
762 | top_mosaic_09cm_area32_10.png
763 | top_mosaic_09cm_area32_11.png
764 | top_mosaic_09cm_area32_12.png
765 | top_mosaic_09cm_area32_13.png
766 | top_mosaic_09cm_area32_14.png
767 | top_mosaic_09cm_area32_15.png
768 | top_mosaic_09cm_area32_16.png
769 | top_mosaic_09cm_area32_17.png
770 | top_mosaic_09cm_area32_18.png
771 | top_mosaic_09cm_area32_19.png
772 | top_mosaic_09cm_area32_2.png
773 | top_mosaic_09cm_area32_20.png
774 | top_mosaic_09cm_area32_21.png
775 | top_mosaic_09cm_area32_22.png
776 | top_mosaic_09cm_area32_23.png
777 | top_mosaic_09cm_area32_24.png
778 | top_mosaic_09cm_area32_25.png
779 | top_mosaic_09cm_area32_26.png
780 | top_mosaic_09cm_area32_27.png
781 | top_mosaic_09cm_area32_28.png
782 | top_mosaic_09cm_area32_29.png
783 | top_mosaic_09cm_area32_3.png
784 | top_mosaic_09cm_area32_30.png
785 | top_mosaic_09cm_area32_31.png
786 | top_mosaic_09cm_area32_32.png
787 | top_mosaic_09cm_area32_33.png
788 | top_mosaic_09cm_area32_34.png
789 | top_mosaic_09cm_area32_35.png
790 | top_mosaic_09cm_area32_36.png
791 | top_mosaic_09cm_area32_37.png
792 | top_mosaic_09cm_area32_38.png
793 | top_mosaic_09cm_area32_39.png
794 | top_mosaic_09cm_area32_4.png
795 | top_mosaic_09cm_area32_40.png
796 | top_mosaic_09cm_area32_41.png
797 | top_mosaic_09cm_area32_42.png
798 | top_mosaic_09cm_area32_43.png
799 | top_mosaic_09cm_area32_44.png
800 | top_mosaic_09cm_area32_45.png
801 | top_mosaic_09cm_area32_46.png
802 | top_mosaic_09cm_area32_47.png
803 | top_mosaic_09cm_area32_48.png
804 | top_mosaic_09cm_area32_5.png
805 | top_mosaic_09cm_area32_6.png
806 | top_mosaic_09cm_area32_7.png
807 | top_mosaic_09cm_area32_8.png
808 | top_mosaic_09cm_area32_9.png
809 | top_mosaic_09cm_area34_1.png
810 | top_mosaic_09cm_area34_10.png
811 | top_mosaic_09cm_area34_11.png
812 | top_mosaic_09cm_area34_12.png
813 | top_mosaic_09cm_area34_13.png
814 | top_mosaic_09cm_area34_14.png
815 | top_mosaic_09cm_area34_15.png
816 | top_mosaic_09cm_area34_16.png
817 | top_mosaic_09cm_area34_17.png
818 | top_mosaic_09cm_area34_18.png
819 | top_mosaic_09cm_area34_19.png
820 | top_mosaic_09cm_area34_2.png
821 | top_mosaic_09cm_area34_20.png
822 | top_mosaic_09cm_area34_21.png
823 | top_mosaic_09cm_area34_22.png
824 | top_mosaic_09cm_area34_23.png
825 | top_mosaic_09cm_area34_24.png
826 | top_mosaic_09cm_area34_25.png
827 | top_mosaic_09cm_area34_26.png
828 | top_mosaic_09cm_area34_27.png
829 | top_mosaic_09cm_area34_28.png
830 | top_mosaic_09cm_area34_29.png
831 | top_mosaic_09cm_area34_3.png
832 | top_mosaic_09cm_area34_30.png
833 | top_mosaic_09cm_area34_31.png
834 | top_mosaic_09cm_area34_32.png
835 | top_mosaic_09cm_area34_4.png
836 | top_mosaic_09cm_area34_5.png
837 | top_mosaic_09cm_area34_6.png
838 | top_mosaic_09cm_area34_7.png
839 | top_mosaic_09cm_area34_8.png
840 | top_mosaic_09cm_area34_9.png
841 | top_mosaic_09cm_area35_1.png
842 | top_mosaic_09cm_area35_10.png
843 | top_mosaic_09cm_area35_11.png
844 | top_mosaic_09cm_area35_12.png
845 | top_mosaic_09cm_area35_13.png
846 | top_mosaic_09cm_area35_14.png
847 | top_mosaic_09cm_area35_15.png
848 | top_mosaic_09cm_area35_16.png
849 | top_mosaic_09cm_area35_17.png
850 | top_mosaic_09cm_area35_18.png
851 | top_mosaic_09cm_area35_19.png
852 | top_mosaic_09cm_area35_2.png
853 | top_mosaic_09cm_area35_20.png
854 | top_mosaic_09cm_area35_21.png
855 | top_mosaic_09cm_area35_22.png
856 | top_mosaic_09cm_area35_23.png
857 | top_mosaic_09cm_area35_24.png
858 | top_mosaic_09cm_area35_25.png
859 | top_mosaic_09cm_area35_26.png
860 | top_mosaic_09cm_area35_27.png
861 | top_mosaic_09cm_area35_28.png
862 | top_mosaic_09cm_area35_29.png
863 | top_mosaic_09cm_area35_3.png
864 | top_mosaic_09cm_area35_30.png
865 | top_mosaic_09cm_area35_31.png
866 | top_mosaic_09cm_area35_32.png
867 | top_mosaic_09cm_area35_33.png
868 | top_mosaic_09cm_area35_34.png
869 | top_mosaic_09cm_area35_35.png
870 | top_mosaic_09cm_area35_36.png
871 | top_mosaic_09cm_area35_37.png
872 | top_mosaic_09cm_area35_38.png
873 | top_mosaic_09cm_area35_39.png
874 | top_mosaic_09cm_area35_4.png
875 | top_mosaic_09cm_area35_40.png
876 | top_mosaic_09cm_area35_41.png
877 | top_mosaic_09cm_area35_42.png
878 | top_mosaic_09cm_area35_43.png
879 | top_mosaic_09cm_area35_44.png
880 | top_mosaic_09cm_area35_45.png
881 | top_mosaic_09cm_area35_46.png
882 | top_mosaic_09cm_area35_47.png
883 | top_mosaic_09cm_area35_48.png
884 | top_mosaic_09cm_area35_49.png
885 | top_mosaic_09cm_area35_5.png
886 | top_mosaic_09cm_area35_50.png
887 | top_mosaic_09cm_area35_51.png
888 | top_mosaic_09cm_area35_52.png
889 | top_mosaic_09cm_area35_53.png
890 | top_mosaic_09cm_area35_54.png
891 | top_mosaic_09cm_area35_6.png
892 | top_mosaic_09cm_area35_7.png
893 | top_mosaic_09cm_area35_8.png
894 | top_mosaic_09cm_area35_9.png
895 | top_mosaic_09cm_area37_1.png
896 | top_mosaic_09cm_area37_10.png
897 | top_mosaic_09cm_area37_11.png
898 | top_mosaic_09cm_area37_12.png
899 | top_mosaic_09cm_area37_13.png
900 | top_mosaic_09cm_area37_14.png
901 | top_mosaic_09cm_area37_15.png
902 | top_mosaic_09cm_area37_16.png
903 | top_mosaic_09cm_area37_17.png
904 | top_mosaic_09cm_area37_18.png
905 | top_mosaic_09cm_area37_19.png
906 | top_mosaic_09cm_area37_2.png
907 | top_mosaic_09cm_area37_20.png
908 | top_mosaic_09cm_area37_21.png
909 | top_mosaic_09cm_area37_22.png
910 | top_mosaic_09cm_area37_23.png
911 | top_mosaic_09cm_area37_24.png
912 | top_mosaic_09cm_area37_25.png
913 | top_mosaic_09cm_area37_26.png
914 | top_mosaic_09cm_area37_27.png
915 | top_mosaic_09cm_area37_28.png
916 | top_mosaic_09cm_area37_29.png
917 | top_mosaic_09cm_area37_3.png
918 | top_mosaic_09cm_area37_30.png
919 | top_mosaic_09cm_area37_31.png
920 | top_mosaic_09cm_area37_32.png
921 | top_mosaic_09cm_area37_33.png
922 | top_mosaic_09cm_area37_34.png
923 | top_mosaic_09cm_area37_35.png
924 | top_mosaic_09cm_area37_36.png
925 | top_mosaic_09cm_area37_4.png
926 | top_mosaic_09cm_area37_5.png
927 | top_mosaic_09cm_area37_6.png
928 | top_mosaic_09cm_area37_7.png
929 | top_mosaic_09cm_area37_8.png
930 | top_mosaic_09cm_area37_9.png
931 | top_mosaic_09cm_area38_1.png
932 | top_mosaic_09cm_area38_10.png
933 | top_mosaic_09cm_area38_100.png
934 | top_mosaic_09cm_area38_101.png
935 | top_mosaic_09cm_area38_102.png
936 | top_mosaic_09cm_area38_103.png
937 | top_mosaic_09cm_area38_104.png
938 | top_mosaic_09cm_area38_11.png
939 | top_mosaic_09cm_area38_12.png
940 | top_mosaic_09cm_area38_13.png
941 | top_mosaic_09cm_area38_14.png
942 | top_mosaic_09cm_area38_15.png
943 | top_mosaic_09cm_area38_16.png
944 | top_mosaic_09cm_area38_17.png
945 | top_mosaic_09cm_area38_18.png
946 | top_mosaic_09cm_area38_19.png
947 | top_mosaic_09cm_area38_2.png
948 | top_mosaic_09cm_area38_20.png
949 | top_mosaic_09cm_area38_21.png
950 | top_mosaic_09cm_area38_22.png
951 | top_mosaic_09cm_area38_23.png
952 | top_mosaic_09cm_area38_24.png
953 | top_mosaic_09cm_area38_25.png
954 | top_mosaic_09cm_area38_26.png
955 | top_mosaic_09cm_area38_27.png
956 | top_mosaic_09cm_area38_28.png
957 | top_mosaic_09cm_area38_29.png
958 | top_mosaic_09cm_area38_3.png
959 | top_mosaic_09cm_area38_30.png
960 | top_mosaic_09cm_area38_31.png
961 | top_mosaic_09cm_area38_32.png
962 | top_mosaic_09cm_area38_33.png
963 | top_mosaic_09cm_area38_34.png
964 | top_mosaic_09cm_area38_35.png
965 | top_mosaic_09cm_area38_36.png
966 | top_mosaic_09cm_area38_37.png
967 | top_mosaic_09cm_area38_38.png
968 | top_mosaic_09cm_area38_39.png
969 | top_mosaic_09cm_area38_4.png
970 | top_mosaic_09cm_area38_40.png
971 | top_mosaic_09cm_area38_41.png
972 | top_mosaic_09cm_area38_42.png
973 | top_mosaic_09cm_area38_43.png
974 | top_mosaic_09cm_area38_44.png
975 | top_mosaic_09cm_area38_45.png
976 | top_mosaic_09cm_area38_46.png
977 | top_mosaic_09cm_area38_47.png
978 | top_mosaic_09cm_area38_48.png
979 | top_mosaic_09cm_area38_49.png
980 | top_mosaic_09cm_area38_5.png
981 | top_mosaic_09cm_area38_50.png
982 | top_mosaic_09cm_area38_51.png
983 | top_mosaic_09cm_area38_52.png
984 | top_mosaic_09cm_area38_53.png
985 | top_mosaic_09cm_area38_54.png
986 | top_mosaic_09cm_area38_55.png
987 | top_mosaic_09cm_area38_56.png
988 | top_mosaic_09cm_area38_57.png
989 | top_mosaic_09cm_area38_58.png
990 | top_mosaic_09cm_area38_59.png
991 | top_mosaic_09cm_area38_6.png
992 | top_mosaic_09cm_area38_60.png
993 | top_mosaic_09cm_area38_61.png
994 | top_mosaic_09cm_area38_62.png
995 | top_mosaic_09cm_area38_63.png
996 | top_mosaic_09cm_area38_64.png
997 | top_mosaic_09cm_area38_65.png
998 | top_mosaic_09cm_area38_66.png
999 | top_mosaic_09cm_area38_67.png
1000 | top_mosaic_09cm_area38_68.png
1001 | top_mosaic_09cm_area38_69.png
1002 | top_mosaic_09cm_area38_7.png
1003 | top_mosaic_09cm_area38_70.png
1004 | top_mosaic_09cm_area38_71.png
1005 | top_mosaic_09cm_area38_72.png
1006 | top_mosaic_09cm_area38_73.png
1007 | top_mosaic_09cm_area38_74.png
1008 | top_mosaic_09cm_area38_75.png
1009 | top_mosaic_09cm_area38_76.png
1010 | top_mosaic_09cm_area38_77.png
1011 | top_mosaic_09cm_area38_78.png
1012 | top_mosaic_09cm_area38_79.png
1013 | top_mosaic_09cm_area38_8.png
1014 | top_mosaic_09cm_area38_80.png
1015 | top_mosaic_09cm_area38_81.png
1016 | top_mosaic_09cm_area38_82.png
1017 | top_mosaic_09cm_area38_83.png
1018 | top_mosaic_09cm_area38_84.png
1019 | top_mosaic_09cm_area38_85.png
1020 | top_mosaic_09cm_area38_86.png
1021 | top_mosaic_09cm_area38_87.png
1022 | top_mosaic_09cm_area38_88.png
1023 | top_mosaic_09cm_area38_89.png
1024 | top_mosaic_09cm_area38_9.png
1025 | top_mosaic_09cm_area38_90.png
1026 | top_mosaic_09cm_area38_91.png
1027 | top_mosaic_09cm_area38_92.png
1028 | top_mosaic_09cm_area38_93.png
1029 | top_mosaic_09cm_area38_94.png
1030 | top_mosaic_09cm_area38_95.png
1031 | top_mosaic_09cm_area38_96.png
1032 | top_mosaic_09cm_area38_97.png
1033 | top_mosaic_09cm_area38_98.png
1034 | top_mosaic_09cm_area38_99.png
1035 | top_mosaic_09cm_area3_1.png
1036 | top_mosaic_09cm_area3_10.png
1037 | top_mosaic_09cm_area3_11.png
1038 | top_mosaic_09cm_area3_12.png
1039 | top_mosaic_09cm_area3_13.png
1040 | top_mosaic_09cm_area3_14.png
1041 | top_mosaic_09cm_area3_15.png
1042 | top_mosaic_09cm_area3_16.png
1043 | top_mosaic_09cm_area3_17.png
1044 | top_mosaic_09cm_area3_18.png
1045 | top_mosaic_09cm_area3_19.png
1046 | top_mosaic_09cm_area3_2.png
1047 | top_mosaic_09cm_area3_20.png
1048 | top_mosaic_09cm_area3_21.png
1049 | top_mosaic_09cm_area3_22.png
1050 | top_mosaic_09cm_area3_23.png
1051 | top_mosaic_09cm_area3_24.png
1052 | top_mosaic_09cm_area3_25.png
1053 | top_mosaic_09cm_area3_26.png
1054 | top_mosaic_09cm_area3_27.png
1055 | top_mosaic_09cm_area3_28.png
1056 | top_mosaic_09cm_area3_29.png
1057 | top_mosaic_09cm_area3_3.png
1058 | top_mosaic_09cm_area3_30.png
1059 | top_mosaic_09cm_area3_31.png
1060 | top_mosaic_09cm_area3_32.png
1061 | top_mosaic_09cm_area3_33.png
1062 | top_mosaic_09cm_area3_34.png
1063 | top_mosaic_09cm_area3_35.png
1064 | top_mosaic_09cm_area3_36.png
1065 | top_mosaic_09cm_area3_37.png
1066 | top_mosaic_09cm_area3_38.png
1067 | top_mosaic_09cm_area3_39.png
1068 | top_mosaic_09cm_area3_4.png
1069 | top_mosaic_09cm_area3_40.png
1070 | top_mosaic_09cm_area3_41.png
1071 | top_mosaic_09cm_area3_42.png
1072 | top_mosaic_09cm_area3_43.png
1073 | top_mosaic_09cm_area3_44.png
1074 | top_mosaic_09cm_area3_45.png
1075 | top_mosaic_09cm_area3_46.png
1076 | top_mosaic_09cm_area3_47.png
1077 | top_mosaic_09cm_area3_48.png
1078 | top_mosaic_09cm_area3_49.png
1079 | top_mosaic_09cm_area3_5.png
1080 | top_mosaic_09cm_area3_50.png
1081 | top_mosaic_09cm_area3_51.png
1082 | top_mosaic_09cm_area3_52.png
1083 | top_mosaic_09cm_area3_53.png
1084 | top_mosaic_09cm_area3_54.png
1085 | top_mosaic_09cm_area3_55.png
1086 | top_mosaic_09cm_area3_56.png
1087 | top_mosaic_09cm_area3_57.png
1088 | top_mosaic_09cm_area3_58.png
1089 | top_mosaic_09cm_area3_59.png
1090 | top_mosaic_09cm_area3_6.png
1091 | top_mosaic_09cm_area3_60.png
1092 | top_mosaic_09cm_area3_7.png
1093 | top_mosaic_09cm_area3_8.png
1094 | top_mosaic_09cm_area3_9.png
1095 | top_mosaic_09cm_area4_1.png
1096 | top_mosaic_09cm_area4_10.png
1097 | top_mosaic_09cm_area4_11.png
1098 | top_mosaic_09cm_area4_12.png
1099 | top_mosaic_09cm_area4_13.png
1100 | top_mosaic_09cm_area4_14.png
1101 | top_mosaic_09cm_area4_15.png
1102 | top_mosaic_09cm_area4_16.png
1103 | top_mosaic_09cm_area4_17.png
1104 | top_mosaic_09cm_area4_18.png
1105 | top_mosaic_09cm_area4_19.png
1106 | top_mosaic_09cm_area4_2.png
1107 | top_mosaic_09cm_area4_20.png
1108 | top_mosaic_09cm_area4_21.png
1109 | top_mosaic_09cm_area4_22.png
1110 | top_mosaic_09cm_area4_23.png
1111 | top_mosaic_09cm_area4_24.png
1112 | top_mosaic_09cm_area4_25.png
1113 | top_mosaic_09cm_area4_26.png
1114 | top_mosaic_09cm_area4_27.png
1115 | top_mosaic_09cm_area4_28.png
1116 | top_mosaic_09cm_area4_29.png
1117 | top_mosaic_09cm_area4_3.png
1118 | top_mosaic_09cm_area4_30.png
1119 | top_mosaic_09cm_area4_31.png
1120 | top_mosaic_09cm_area4_32.png
1121 | top_mosaic_09cm_area4_33.png
1122 | top_mosaic_09cm_area4_34.png
1123 | top_mosaic_09cm_area4_35.png
1124 | top_mosaic_09cm_area4_36.png
1125 | top_mosaic_09cm_area4_37.png
1126 | top_mosaic_09cm_area4_38.png
1127 | top_mosaic_09cm_area4_39.png
1128 | top_mosaic_09cm_area4_4.png
1129 | top_mosaic_09cm_area4_40.png
1130 | top_mosaic_09cm_area4_41.png
1131 | top_mosaic_09cm_area4_42.png
1132 | top_mosaic_09cm_area4_43.png
1133 | top_mosaic_09cm_area4_44.png
1134 | top_mosaic_09cm_area4_45.png
1135 | top_mosaic_09cm_area4_46.png
1136 | top_mosaic_09cm_area4_47.png
1137 | top_mosaic_09cm_area4_48.png
1138 | top_mosaic_09cm_area4_5.png
1139 | top_mosaic_09cm_area4_6.png
1140 | top_mosaic_09cm_area4_7.png
1141 | top_mosaic_09cm_area4_8.png
1142 | top_mosaic_09cm_area4_9.png
1143 | top_mosaic_09cm_area6_1.png
1144 | top_mosaic_09cm_area6_10.png
1145 | top_mosaic_09cm_area6_11.png
1146 | top_mosaic_09cm_area6_12.png
1147 | top_mosaic_09cm_area6_13.png
1148 | top_mosaic_09cm_area6_14.png
1149 | top_mosaic_09cm_area6_15.png
1150 | top_mosaic_09cm_area6_16.png
1151 | top_mosaic_09cm_area6_17.png
1152 | top_mosaic_09cm_area6_18.png
1153 | top_mosaic_09cm_area6_19.png
1154 | top_mosaic_09cm_area6_2.png
1155 | top_mosaic_09cm_area6_20.png
1156 | top_mosaic_09cm_area6_21.png
1157 | top_mosaic_09cm_area6_22.png
1158 | top_mosaic_09cm_area6_23.png
1159 | top_mosaic_09cm_area6_24.png
1160 | top_mosaic_09cm_area6_25.png
1161 | top_mosaic_09cm_area6_26.png
1162 | top_mosaic_09cm_area6_27.png
1163 | top_mosaic_09cm_area6_28.png
1164 | top_mosaic_09cm_area6_29.png
1165 | top_mosaic_09cm_area6_3.png
1166 | top_mosaic_09cm_area6_30.png
1167 | top_mosaic_09cm_area6_31.png
1168 | top_mosaic_09cm_area6_32.png
1169 | top_mosaic_09cm_area6_33.png
1170 | top_mosaic_09cm_area6_34.png
1171 | top_mosaic_09cm_area6_35.png
1172 | top_mosaic_09cm_area6_36.png
1173 | top_mosaic_09cm_area6_37.png
1174 | top_mosaic_09cm_area6_38.png
1175 | top_mosaic_09cm_area6_39.png
1176 | top_mosaic_09cm_area6_4.png
1177 | top_mosaic_09cm_area6_40.png
1178 | top_mosaic_09cm_area6_41.png
1179 | top_mosaic_09cm_area6_42.png
1180 | top_mosaic_09cm_area6_43.png
1181 | top_mosaic_09cm_area6_44.png
1182 | top_mosaic_09cm_area6_45.png
1183 | top_mosaic_09cm_area6_46.png
1184 | top_mosaic_09cm_area6_47.png
1185 | top_mosaic_09cm_area6_48.png
1186 | top_mosaic_09cm_area6_5.png
1187 | top_mosaic_09cm_area6_6.png
1188 | top_mosaic_09cm_area6_7.png
1189 | top_mosaic_09cm_area6_8.png
1190 | top_mosaic_09cm_area6_9.png
1191 |
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/Vaihingen/Vaihingen_validation.txt:
--------------------------------------------------------------------------------
1 | top_mosaic_09cm_area13_1.png
2 | top_mosaic_09cm_area13_10.png
3 | top_mosaic_09cm_area13_11.png
4 | top_mosaic_09cm_area13_12.png
5 | top_mosaic_09cm_area13_13.png
6 | top_mosaic_09cm_area13_14.png
7 | top_mosaic_09cm_area13_15.png
8 | top_mosaic_09cm_area13_16.png
9 | top_mosaic_09cm_area13_17.png
10 | top_mosaic_09cm_area13_18.png
11 | top_mosaic_09cm_area13_19.png
12 | top_mosaic_09cm_area13_2.png
13 | top_mosaic_09cm_area13_20.png
14 | top_mosaic_09cm_area13_21.png
15 | top_mosaic_09cm_area13_22.png
16 | top_mosaic_09cm_area13_23.png
17 | top_mosaic_09cm_area13_24.png
18 | top_mosaic_09cm_area13_25.png
19 | top_mosaic_09cm_area13_26.png
20 | top_mosaic_09cm_area13_27.png
21 | top_mosaic_09cm_area13_28.png
22 | top_mosaic_09cm_area13_29.png
23 | top_mosaic_09cm_area13_3.png
24 | top_mosaic_09cm_area13_30.png
25 | top_mosaic_09cm_area13_31.png
26 | top_mosaic_09cm_area13_32.png
27 | top_mosaic_09cm_area13_33.png
28 | top_mosaic_09cm_area13_34.png
29 | top_mosaic_09cm_area13_35.png
30 | top_mosaic_09cm_area13_36.png
31 | top_mosaic_09cm_area13_37.png
32 | top_mosaic_09cm_area13_38.png
33 | top_mosaic_09cm_area13_39.png
34 | top_mosaic_09cm_area13_4.png
35 | top_mosaic_09cm_area13_40.png
36 | top_mosaic_09cm_area13_41.png
37 | top_mosaic_09cm_area13_42.png
38 | top_mosaic_09cm_area13_43.png
39 | top_mosaic_09cm_area13_44.png
40 | top_mosaic_09cm_area13_45.png
41 | top_mosaic_09cm_area13_46.png
42 | top_mosaic_09cm_area13_47.png
43 | top_mosaic_09cm_area13_48.png
44 | top_mosaic_09cm_area13_49.png
45 | top_mosaic_09cm_area13_5.png
46 | top_mosaic_09cm_area13_50.png
47 | top_mosaic_09cm_area13_51.png
48 | top_mosaic_09cm_area13_52.png
49 | top_mosaic_09cm_area13_53.png
50 | top_mosaic_09cm_area13_54.png
51 | top_mosaic_09cm_area13_55.png
52 | top_mosaic_09cm_area13_56.png
53 | top_mosaic_09cm_area13_57.png
54 | top_mosaic_09cm_area13_58.png
55 | top_mosaic_09cm_area13_59.png
56 | top_mosaic_09cm_area13_6.png
57 | top_mosaic_09cm_area13_60.png
58 | top_mosaic_09cm_area13_61.png
59 | top_mosaic_09cm_area13_62.png
60 | top_mosaic_09cm_area13_63.png
61 | top_mosaic_09cm_area13_64.png
62 | top_mosaic_09cm_area13_65.png
63 | top_mosaic_09cm_area13_66.png
64 | top_mosaic_09cm_area13_67.png
65 | top_mosaic_09cm_area13_68.png
66 | top_mosaic_09cm_area13_69.png
67 | top_mosaic_09cm_area13_7.png
68 | top_mosaic_09cm_area13_70.png
69 | top_mosaic_09cm_area13_71.png
70 | top_mosaic_09cm_area13_72.png
71 | top_mosaic_09cm_area13_73.png
72 | top_mosaic_09cm_area13_74.png
73 | top_mosaic_09cm_area13_75.png
74 | top_mosaic_09cm_area13_76.png
75 | top_mosaic_09cm_area13_77.png
76 | top_mosaic_09cm_area13_78.png
77 | top_mosaic_09cm_area13_79.png
78 | top_mosaic_09cm_area13_8.png
79 | top_mosaic_09cm_area13_80.png
80 | top_mosaic_09cm_area13_9.png
81 | top_mosaic_09cm_area20_1.png
82 | top_mosaic_09cm_area20_10.png
83 | top_mosaic_09cm_area20_11.png
84 | top_mosaic_09cm_area20_12.png
85 | top_mosaic_09cm_area20_13.png
86 | top_mosaic_09cm_area20_14.png
87 | top_mosaic_09cm_area20_15.png
88 | top_mosaic_09cm_area20_16.png
89 | top_mosaic_09cm_area20_17.png
90 | top_mosaic_09cm_area20_18.png
91 | top_mosaic_09cm_area20_19.png
92 | top_mosaic_09cm_area20_2.png
93 | top_mosaic_09cm_area20_20.png
94 | top_mosaic_09cm_area20_21.png
95 | top_mosaic_09cm_area20_22.png
96 | top_mosaic_09cm_area20_23.png
97 | top_mosaic_09cm_area20_24.png
98 | top_mosaic_09cm_area20_25.png
99 | top_mosaic_09cm_area20_26.png
100 | top_mosaic_09cm_area20_27.png
101 | top_mosaic_09cm_area20_28.png
102 | top_mosaic_09cm_area20_29.png
103 | top_mosaic_09cm_area20_3.png
104 | top_mosaic_09cm_area20_30.png
105 | top_mosaic_09cm_area20_31.png
106 | top_mosaic_09cm_area20_32.png
107 | top_mosaic_09cm_area20_33.png
108 | top_mosaic_09cm_area20_34.png
109 | top_mosaic_09cm_area20_35.png
110 | top_mosaic_09cm_area20_36.png
111 | top_mosaic_09cm_area20_37.png
112 | top_mosaic_09cm_area20_38.png
113 | top_mosaic_09cm_area20_39.png
114 | top_mosaic_09cm_area20_4.png
115 | top_mosaic_09cm_area20_40.png
116 | top_mosaic_09cm_area20_41.png
117 | top_mosaic_09cm_area20_42.png
118 | top_mosaic_09cm_area20_43.png
119 | top_mosaic_09cm_area20_44.png
120 | top_mosaic_09cm_area20_45.png
121 | top_mosaic_09cm_area20_46.png
122 | top_mosaic_09cm_area20_47.png
123 | top_mosaic_09cm_area20_48.png
124 | top_mosaic_09cm_area20_5.png
125 | top_mosaic_09cm_area20_6.png
126 | top_mosaic_09cm_area20_7.png
127 | top_mosaic_09cm_area20_8.png
128 | top_mosaic_09cm_area20_9.png
129 | top_mosaic_09cm_area22_1.png
130 | top_mosaic_09cm_area22_10.png
131 | top_mosaic_09cm_area22_11.png
132 | top_mosaic_09cm_area22_12.png
133 | top_mosaic_09cm_area22_13.png
134 | top_mosaic_09cm_area22_14.png
135 | top_mosaic_09cm_area22_15.png
136 | top_mosaic_09cm_area22_16.png
137 | top_mosaic_09cm_area22_17.png
138 | top_mosaic_09cm_area22_18.png
139 | top_mosaic_09cm_area22_19.png
140 | top_mosaic_09cm_area22_2.png
141 | top_mosaic_09cm_area22_20.png
142 | top_mosaic_09cm_area22_21.png
143 | top_mosaic_09cm_area22_22.png
144 | top_mosaic_09cm_area22_23.png
145 | top_mosaic_09cm_area22_24.png
146 | top_mosaic_09cm_area22_25.png
147 | top_mosaic_09cm_area22_26.png
148 | top_mosaic_09cm_area22_27.png
149 | top_mosaic_09cm_area22_28.png
150 | top_mosaic_09cm_area22_29.png
151 | top_mosaic_09cm_area22_3.png
152 | top_mosaic_09cm_area22_30.png
153 | top_mosaic_09cm_area22_31.png
154 | top_mosaic_09cm_area22_32.png
155 | top_mosaic_09cm_area22_33.png
156 | top_mosaic_09cm_area22_34.png
157 | top_mosaic_09cm_area22_35.png
158 | top_mosaic_09cm_area22_36.png
159 | top_mosaic_09cm_area22_37.png
160 | top_mosaic_09cm_area22_38.png
161 | top_mosaic_09cm_area22_39.png
162 | top_mosaic_09cm_area22_4.png
163 | top_mosaic_09cm_area22_40.png
164 | top_mosaic_09cm_area22_41.png
165 | top_mosaic_09cm_area22_42.png
166 | top_mosaic_09cm_area22_43.png
167 | top_mosaic_09cm_area22_44.png
168 | top_mosaic_09cm_area22_45.png
169 | top_mosaic_09cm_area22_46.png
170 | top_mosaic_09cm_area22_47.png
171 | top_mosaic_09cm_area22_48.png
172 | top_mosaic_09cm_area22_5.png
173 | top_mosaic_09cm_area22_6.png
174 | top_mosaic_09cm_area22_7.png
175 | top_mosaic_09cm_area22_8.png
176 | top_mosaic_09cm_area22_9.png
177 | top_mosaic_09cm_area24_1.png
178 | top_mosaic_09cm_area24_10.png
179 | top_mosaic_09cm_area24_11.png
180 | top_mosaic_09cm_area24_12.png
181 | top_mosaic_09cm_area24_13.png
182 | top_mosaic_09cm_area24_14.png
183 | top_mosaic_09cm_area24_15.png
184 | top_mosaic_09cm_area24_16.png
185 | top_mosaic_09cm_area24_17.png
186 | top_mosaic_09cm_area24_18.png
187 | top_mosaic_09cm_area24_19.png
188 | top_mosaic_09cm_area24_2.png
189 | top_mosaic_09cm_area24_20.png
190 | top_mosaic_09cm_area24_21.png
191 | top_mosaic_09cm_area24_22.png
192 | top_mosaic_09cm_area24_23.png
193 | top_mosaic_09cm_area24_24.png
194 | top_mosaic_09cm_area24_25.png
195 | top_mosaic_09cm_area24_26.png
196 | top_mosaic_09cm_area24_27.png
197 | top_mosaic_09cm_area24_28.png
198 | top_mosaic_09cm_area24_29.png
199 | top_mosaic_09cm_area24_3.png
200 | top_mosaic_09cm_area24_30.png
201 | top_mosaic_09cm_area24_31.png
202 | top_mosaic_09cm_area24_32.png
203 | top_mosaic_09cm_area24_33.png
204 | top_mosaic_09cm_area24_34.png
205 | top_mosaic_09cm_area24_35.png
206 | top_mosaic_09cm_area24_36.png
207 | top_mosaic_09cm_area24_37.png
208 | top_mosaic_09cm_area24_38.png
209 | top_mosaic_09cm_area24_39.png
210 | top_mosaic_09cm_area24_4.png
211 | top_mosaic_09cm_area24_40.png
212 | top_mosaic_09cm_area24_41.png
213 | top_mosaic_09cm_area24_42.png
214 | top_mosaic_09cm_area24_43.png
215 | top_mosaic_09cm_area24_44.png
216 | top_mosaic_09cm_area24_45.png
217 | top_mosaic_09cm_area24_46.png
218 | top_mosaic_09cm_area24_47.png
219 | top_mosaic_09cm_area24_48.png
220 | top_mosaic_09cm_area24_5.png
221 | top_mosaic_09cm_area24_6.png
222 | top_mosaic_09cm_area24_7.png
223 | top_mosaic_09cm_area24_8.png
224 | top_mosaic_09cm_area24_9.png
225 | top_mosaic_09cm_area27_1.png
226 | top_mosaic_09cm_area27_10.png
227 | top_mosaic_09cm_area27_11.png
228 | top_mosaic_09cm_area27_12.png
229 | top_mosaic_09cm_area27_13.png
230 | top_mosaic_09cm_area27_14.png
231 | top_mosaic_09cm_area27_15.png
232 | top_mosaic_09cm_area27_16.png
233 | top_mosaic_09cm_area27_17.png
234 | top_mosaic_09cm_area27_18.png
235 | top_mosaic_09cm_area27_19.png
236 | top_mosaic_09cm_area27_2.png
237 | top_mosaic_09cm_area27_20.png
238 | top_mosaic_09cm_area27_21.png
239 | top_mosaic_09cm_area27_22.png
240 | top_mosaic_09cm_area27_23.png
241 | top_mosaic_09cm_area27_24.png
242 | top_mosaic_09cm_area27_25.png
243 | top_mosaic_09cm_area27_26.png
244 | top_mosaic_09cm_area27_27.png
245 | top_mosaic_09cm_area27_28.png
246 | top_mosaic_09cm_area27_29.png
247 | top_mosaic_09cm_area27_3.png
248 | top_mosaic_09cm_area27_30.png
249 | top_mosaic_09cm_area27_31.png
250 | top_mosaic_09cm_area27_32.png
251 | top_mosaic_09cm_area27_33.png
252 | top_mosaic_09cm_area27_34.png
253 | top_mosaic_09cm_area27_35.png
254 | top_mosaic_09cm_area27_36.png
255 | top_mosaic_09cm_area27_37.png
256 | top_mosaic_09cm_area27_38.png
257 | top_mosaic_09cm_area27_39.png
258 | top_mosaic_09cm_area27_4.png
259 | top_mosaic_09cm_area27_40.png
260 | top_mosaic_09cm_area27_41.png
261 | top_mosaic_09cm_area27_42.png
262 | top_mosaic_09cm_area27_43.png
263 | top_mosaic_09cm_area27_44.png
264 | top_mosaic_09cm_area27_45.png
265 | top_mosaic_09cm_area27_46.png
266 | top_mosaic_09cm_area27_47.png
267 | top_mosaic_09cm_area27_48.png
268 | top_mosaic_09cm_area27_49.png
269 | top_mosaic_09cm_area27_5.png
270 | top_mosaic_09cm_area27_50.png
271 | top_mosaic_09cm_area27_51.png
272 | top_mosaic_09cm_area27_52.png
273 | top_mosaic_09cm_area27_53.png
274 | top_mosaic_09cm_area27_54.png
275 | top_mosaic_09cm_area27_55.png
276 | top_mosaic_09cm_area27_56.png
277 | top_mosaic_09cm_area27_57.png
278 | top_mosaic_09cm_area27_58.png
279 | top_mosaic_09cm_area27_59.png
280 | top_mosaic_09cm_area27_6.png
281 | top_mosaic_09cm_area27_60.png
282 | top_mosaic_09cm_area27_61.png
283 | top_mosaic_09cm_area27_62.png
284 | top_mosaic_09cm_area27_63.png
285 | top_mosaic_09cm_area27_64.png
286 | top_mosaic_09cm_area27_65.png
287 | top_mosaic_09cm_area27_66.png
288 | top_mosaic_09cm_area27_7.png
289 | top_mosaic_09cm_area27_8.png
290 | top_mosaic_09cm_area27_9.png
291 | top_mosaic_09cm_area2_1.png
292 | top_mosaic_09cm_area2_10.png
293 | top_mosaic_09cm_area2_11.png
294 | top_mosaic_09cm_area2_12.png
295 | top_mosaic_09cm_area2_13.png
296 | top_mosaic_09cm_area2_14.png
297 | top_mosaic_09cm_area2_15.png
298 | top_mosaic_09cm_area2_16.png
299 | top_mosaic_09cm_area2_17.png
300 | top_mosaic_09cm_area2_18.png
301 | top_mosaic_09cm_area2_19.png
302 | top_mosaic_09cm_area2_2.png
303 | top_mosaic_09cm_area2_20.png
304 | top_mosaic_09cm_area2_21.png
305 | top_mosaic_09cm_area2_22.png
306 | top_mosaic_09cm_area2_23.png
307 | top_mosaic_09cm_area2_24.png
308 | top_mosaic_09cm_area2_25.png
309 | top_mosaic_09cm_area2_26.png
310 | top_mosaic_09cm_area2_27.png
311 | top_mosaic_09cm_area2_28.png
312 | top_mosaic_09cm_area2_29.png
313 | top_mosaic_09cm_area2_3.png
314 | top_mosaic_09cm_area2_30.png
315 | top_mosaic_09cm_area2_31.png
316 | top_mosaic_09cm_area2_32.png
317 | top_mosaic_09cm_area2_33.png
318 | top_mosaic_09cm_area2_34.png
319 | top_mosaic_09cm_area2_35.png
320 | top_mosaic_09cm_area2_36.png
321 | top_mosaic_09cm_area2_37.png
322 | top_mosaic_09cm_area2_38.png
323 | top_mosaic_09cm_area2_39.png
324 | top_mosaic_09cm_area2_4.png
325 | top_mosaic_09cm_area2_40.png
326 | top_mosaic_09cm_area2_41.png
327 | top_mosaic_09cm_area2_42.png
328 | top_mosaic_09cm_area2_43.png
329 | top_mosaic_09cm_area2_44.png
330 | top_mosaic_09cm_area2_45.png
331 | top_mosaic_09cm_area2_46.png
332 | top_mosaic_09cm_area2_47.png
333 | top_mosaic_09cm_area2_48.png
334 | top_mosaic_09cm_area2_49.png
335 | top_mosaic_09cm_area2_5.png
336 | top_mosaic_09cm_area2_50.png
337 | top_mosaic_09cm_area2_51.png
338 | top_mosaic_09cm_area2_52.png
339 | top_mosaic_09cm_area2_53.png
340 | top_mosaic_09cm_area2_54.png
341 | top_mosaic_09cm_area2_55.png
342 | top_mosaic_09cm_area2_56.png
343 | top_mosaic_09cm_area2_57.png
344 | top_mosaic_09cm_area2_58.png
345 | top_mosaic_09cm_area2_59.png
346 | top_mosaic_09cm_area2_6.png
347 | top_mosaic_09cm_area2_60.png
348 | top_mosaic_09cm_area2_61.png
349 | top_mosaic_09cm_area2_62.png
350 | top_mosaic_09cm_area2_63.png
351 | top_mosaic_09cm_area2_64.png
352 | top_mosaic_09cm_area2_65.png
353 | top_mosaic_09cm_area2_66.png
354 | top_mosaic_09cm_area2_67.png
355 | top_mosaic_09cm_area2_68.png
356 | top_mosaic_09cm_area2_69.png
357 | top_mosaic_09cm_area2_7.png
358 | top_mosaic_09cm_area2_70.png
359 | top_mosaic_09cm_area2_71.png
360 | top_mosaic_09cm_area2_72.png
361 | top_mosaic_09cm_area2_8.png
362 | top_mosaic_09cm_area2_9.png
363 | top_mosaic_09cm_area5_1.png
364 | top_mosaic_09cm_area5_10.png
365 | top_mosaic_09cm_area5_11.png
366 | top_mosaic_09cm_area5_12.png
367 | top_mosaic_09cm_area5_13.png
368 | top_mosaic_09cm_area5_14.png
369 | top_mosaic_09cm_area5_15.png
370 | top_mosaic_09cm_area5_16.png
371 | top_mosaic_09cm_area5_17.png
372 | top_mosaic_09cm_area5_18.png
373 | top_mosaic_09cm_area5_19.png
374 | top_mosaic_09cm_area5_2.png
375 | top_mosaic_09cm_area5_20.png
376 | top_mosaic_09cm_area5_21.png
377 | top_mosaic_09cm_area5_22.png
378 | top_mosaic_09cm_area5_23.png
379 | top_mosaic_09cm_area5_24.png
380 | top_mosaic_09cm_area5_25.png
381 | top_mosaic_09cm_area5_26.png
382 | top_mosaic_09cm_area5_27.png
383 | top_mosaic_09cm_area5_28.png
384 | top_mosaic_09cm_area5_29.png
385 | top_mosaic_09cm_area5_3.png
386 | top_mosaic_09cm_area5_30.png
387 | top_mosaic_09cm_area5_31.png
388 | top_mosaic_09cm_area5_32.png
389 | top_mosaic_09cm_area5_33.png
390 | top_mosaic_09cm_area5_34.png
391 | top_mosaic_09cm_area5_35.png
392 | top_mosaic_09cm_area5_36.png
393 | top_mosaic_09cm_area5_37.png
394 | top_mosaic_09cm_area5_38.png
395 | top_mosaic_09cm_area5_39.png
396 | top_mosaic_09cm_area5_4.png
397 | top_mosaic_09cm_area5_40.png
398 | top_mosaic_09cm_area5_41.png
399 | top_mosaic_09cm_area5_42.png
400 | top_mosaic_09cm_area5_43.png
401 | top_mosaic_09cm_area5_44.png
402 | top_mosaic_09cm_area5_45.png
403 | top_mosaic_09cm_area5_46.png
404 | top_mosaic_09cm_area5_47.png
405 | top_mosaic_09cm_area5_48.png
406 | top_mosaic_09cm_area5_5.png
407 | top_mosaic_09cm_area5_6.png
408 | top_mosaic_09cm_area5_7.png
409 | top_mosaic_09cm_area5_8.png
410 | top_mosaic_09cm_area5_9.png
411 | top_mosaic_09cm_area7_1.png
412 | top_mosaic_09cm_area7_10.png
413 | top_mosaic_09cm_area7_11.png
414 | top_mosaic_09cm_area7_12.png
415 | top_mosaic_09cm_area7_13.png
416 | top_mosaic_09cm_area7_14.png
417 | top_mosaic_09cm_area7_15.png
418 | top_mosaic_09cm_area7_16.png
419 | top_mosaic_09cm_area7_17.png
420 | top_mosaic_09cm_area7_18.png
421 | top_mosaic_09cm_area7_19.png
422 | top_mosaic_09cm_area7_2.png
423 | top_mosaic_09cm_area7_20.png
424 | top_mosaic_09cm_area7_21.png
425 | top_mosaic_09cm_area7_22.png
426 | top_mosaic_09cm_area7_23.png
427 | top_mosaic_09cm_area7_24.png
428 | top_mosaic_09cm_area7_25.png
429 | top_mosaic_09cm_area7_26.png
430 | top_mosaic_09cm_area7_27.png
431 | top_mosaic_09cm_area7_28.png
432 | top_mosaic_09cm_area7_29.png
433 | top_mosaic_09cm_area7_3.png
434 | top_mosaic_09cm_area7_30.png
435 | top_mosaic_09cm_area7_31.png
436 | top_mosaic_09cm_area7_32.png
437 | top_mosaic_09cm_area7_33.png
438 | top_mosaic_09cm_area7_34.png
439 | top_mosaic_09cm_area7_35.png
440 | top_mosaic_09cm_area7_36.png
441 | top_mosaic_09cm_area7_37.png
442 | top_mosaic_09cm_area7_38.png
443 | top_mosaic_09cm_area7_39.png
444 | top_mosaic_09cm_area7_4.png
445 | top_mosaic_09cm_area7_40.png
446 | top_mosaic_09cm_area7_41.png
447 | top_mosaic_09cm_area7_42.png
448 | top_mosaic_09cm_area7_43.png
449 | top_mosaic_09cm_area7_44.png
450 | top_mosaic_09cm_area7_45.png
451 | top_mosaic_09cm_area7_46.png
452 | top_mosaic_09cm_area7_47.png
453 | top_mosaic_09cm_area7_48.png
454 | top_mosaic_09cm_area7_5.png
455 | top_mosaic_09cm_area7_6.png
456 | top_mosaic_09cm_area7_7.png
457 | top_mosaic_09cm_area7_8.png
458 | top_mosaic_09cm_area7_9.png
459 | top_mosaic_09cm_area8_1.png
460 | top_mosaic_09cm_area8_10.png
461 | top_mosaic_09cm_area8_11.png
462 | top_mosaic_09cm_area8_12.png
463 | top_mosaic_09cm_area8_13.png
464 | top_mosaic_09cm_area8_14.png
465 | top_mosaic_09cm_area8_15.png
466 | top_mosaic_09cm_area8_16.png
467 | top_mosaic_09cm_area8_17.png
468 | top_mosaic_09cm_area8_18.png
469 | top_mosaic_09cm_area8_19.png
470 | top_mosaic_09cm_area8_2.png
471 | top_mosaic_09cm_area8_20.png
472 | top_mosaic_09cm_area8_21.png
473 | top_mosaic_09cm_area8_22.png
474 | top_mosaic_09cm_area8_23.png
475 | top_mosaic_09cm_area8_24.png
476 | top_mosaic_09cm_area8_25.png
477 | top_mosaic_09cm_area8_26.png
478 | top_mosaic_09cm_area8_27.png
479 | top_mosaic_09cm_area8_28.png
480 | top_mosaic_09cm_area8_29.png
481 | top_mosaic_09cm_area8_3.png
482 | top_mosaic_09cm_area8_30.png
483 | top_mosaic_09cm_area8_31.png
484 | top_mosaic_09cm_area8_32.png
485 | top_mosaic_09cm_area8_33.png
486 | top_mosaic_09cm_area8_34.png
487 | top_mosaic_09cm_area8_35.png
488 | top_mosaic_09cm_area8_36.png
489 | top_mosaic_09cm_area8_37.png
490 | top_mosaic_09cm_area8_38.png
491 | top_mosaic_09cm_area8_39.png
492 | top_mosaic_09cm_area8_4.png
493 | top_mosaic_09cm_area8_40.png
494 | top_mosaic_09cm_area8_41.png
495 | top_mosaic_09cm_area8_42.png
496 | top_mosaic_09cm_area8_43.png
497 | top_mosaic_09cm_area8_44.png
498 | top_mosaic_09cm_area8_45.png
499 | top_mosaic_09cm_area8_46.png
500 | top_mosaic_09cm_area8_47.png
501 | top_mosaic_09cm_area8_48.png
502 | top_mosaic_09cm_area8_5.png
503 | top_mosaic_09cm_area8_6.png
504 | top_mosaic_09cm_area8_7.png
505 | top_mosaic_09cm_area8_8.png
506 | top_mosaic_09cm_area8_9.png
507 |
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/Vaihingen/info.json:
--------------------------------------------------------------------------------
1 | {
2 | "classes":6,
3 | "label2train":[
4 | [0, 255],
5 | [1, 255],
6 | [2, 255],
7 | [3, 255],
8 | [4, 255],
9 | [5, 255],
10 | [6, 255],
11 | [7, 0],
12 | [8, 1],
13 | [9, 255],
14 | [10, 255],
15 | [11, 2],
16 | [12, 3],
17 | [13, 4],
18 | [14, 255],
19 | [15, 255],
20 | [16, 255],
21 | [17, 5],
22 | [18, 255],
23 | [19, 6],
24 | [20, 7],
25 | [21, 8],
26 | [22, 9],
27 | [23, 10],
28 | [24, 11],
29 | [25, 12],
30 | [26, 13],
31 | [27, 14],
32 | [28, 15],
33 | [29, 255],
34 | [30, 255],
35 | [31, 16],
36 | [32, 17],
37 | [33, 18],
38 | [-1, 255]],
39 | "label":[
40 | "Clutter background",
41 | "Impervious surfaces",
42 | "Car",
43 | "Tree",
44 | "Low vegetation",
45 | "Building"],
46 | "palette":[
47 | [128,64,128],
48 | [244,35,232],
49 | [70,70,70],
50 | [102,102,156],
51 | [190,153,153],
52 | [153,153,153],
53 | [250,170,30],
54 | [220,220,0],
55 | [107,142,35],
56 | [152,251,152],
57 | [70,130,180],
58 | [220,20,60],
59 | [255,0,0],
60 | [0,0,142],
61 | [0,0,70],
62 | [0,60,100],
63 | [0,80,100],
64 | [0,0,230],
65 | [119,11,32],
66 | [0,0,0]],
67 | "mean":[
68 | 73.158359210711552,
69 | 82.908917542625858,
70 | 72.392398761941593],
71 | "std":[
72 | 47.675755341814678,
73 | 48.494214368814916,
74 | 47.736546325441594]
75 | }
76 |
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/Vaihingen/val.txt:
--------------------------------------------------------------------------------
1 | top_mosaic_09cm_area13_1.png
2 | top_mosaic_09cm_area13_10.png
3 | top_mosaic_09cm_area13_11.png
4 | top_mosaic_09cm_area13_12.png
5 | top_mosaic_09cm_area13_13.png
6 | top_mosaic_09cm_area13_14.png
7 | top_mosaic_09cm_area13_15.png
8 | top_mosaic_09cm_area13_16.png
9 | top_mosaic_09cm_area13_17.png
10 | top_mosaic_09cm_area13_18.png
11 | top_mosaic_09cm_area13_19.png
12 | top_mosaic_09cm_area13_2.png
13 | top_mosaic_09cm_area13_20.png
14 | top_mosaic_09cm_area13_21.png
15 | top_mosaic_09cm_area13_22.png
16 | top_mosaic_09cm_area13_23.png
17 | top_mosaic_09cm_area13_24.png
18 | top_mosaic_09cm_area13_25.png
19 | top_mosaic_09cm_area13_26.png
20 | top_mosaic_09cm_area13_27.png
21 | top_mosaic_09cm_area13_28.png
22 | top_mosaic_09cm_area13_29.png
23 | top_mosaic_09cm_area13_3.png
24 | top_mosaic_09cm_area13_30.png
25 | top_mosaic_09cm_area13_31.png
26 | top_mosaic_09cm_area13_32.png
27 | top_mosaic_09cm_area13_33.png
28 | top_mosaic_09cm_area13_34.png
29 | top_mosaic_09cm_area13_35.png
30 | top_mosaic_09cm_area13_36.png
31 | top_mosaic_09cm_area13_37.png
32 | top_mosaic_09cm_area13_38.png
33 | top_mosaic_09cm_area13_39.png
34 | top_mosaic_09cm_area13_4.png
35 | top_mosaic_09cm_area13_40.png
36 | top_mosaic_09cm_area13_41.png
37 | top_mosaic_09cm_area13_42.png
38 | top_mosaic_09cm_area13_43.png
39 | top_mosaic_09cm_area13_44.png
40 | top_mosaic_09cm_area13_45.png
41 | top_mosaic_09cm_area13_46.png
42 | top_mosaic_09cm_area13_47.png
43 | top_mosaic_09cm_area13_48.png
44 | top_mosaic_09cm_area13_49.png
45 | top_mosaic_09cm_area13_5.png
46 | top_mosaic_09cm_area13_50.png
47 | top_mosaic_09cm_area13_51.png
48 | top_mosaic_09cm_area13_52.png
49 | top_mosaic_09cm_area13_53.png
50 | top_mosaic_09cm_area13_54.png
51 | top_mosaic_09cm_area13_55.png
52 | top_mosaic_09cm_area13_56.png
53 | top_mosaic_09cm_area13_57.png
54 | top_mosaic_09cm_area13_58.png
55 | top_mosaic_09cm_area13_59.png
56 | top_mosaic_09cm_area13_6.png
57 | top_mosaic_09cm_area13_60.png
58 | top_mosaic_09cm_area13_61.png
59 | top_mosaic_09cm_area13_62.png
60 | top_mosaic_09cm_area13_63.png
61 | top_mosaic_09cm_area13_64.png
62 | top_mosaic_09cm_area13_65.png
63 | top_mosaic_09cm_area13_66.png
64 | top_mosaic_09cm_area13_67.png
65 | top_mosaic_09cm_area13_68.png
66 | top_mosaic_09cm_area13_69.png
67 | top_mosaic_09cm_area13_7.png
68 | top_mosaic_09cm_area13_70.png
69 | top_mosaic_09cm_area13_71.png
70 | top_mosaic_09cm_area13_72.png
71 | top_mosaic_09cm_area13_73.png
72 | top_mosaic_09cm_area13_74.png
73 | top_mosaic_09cm_area13_75.png
74 | top_mosaic_09cm_area13_76.png
75 | top_mosaic_09cm_area13_77.png
76 | top_mosaic_09cm_area13_78.png
77 | top_mosaic_09cm_area13_79.png
78 | top_mosaic_09cm_area13_8.png
79 | top_mosaic_09cm_area13_80.png
80 | top_mosaic_09cm_area13_9.png
81 | top_mosaic_09cm_area20_1.png
82 | top_mosaic_09cm_area20_10.png
83 | top_mosaic_09cm_area20_11.png
84 | top_mosaic_09cm_area20_12.png
85 | top_mosaic_09cm_area20_13.png
86 | top_mosaic_09cm_area20_14.png
87 | top_mosaic_09cm_area20_15.png
88 | top_mosaic_09cm_area20_16.png
89 | top_mosaic_09cm_area20_17.png
90 | top_mosaic_09cm_area20_18.png
91 | top_mosaic_09cm_area20_19.png
92 | top_mosaic_09cm_area20_2.png
93 | top_mosaic_09cm_area20_20.png
94 | top_mosaic_09cm_area20_21.png
95 | top_mosaic_09cm_area20_22.png
96 | top_mosaic_09cm_area20_23.png
97 | top_mosaic_09cm_area20_24.png
98 | top_mosaic_09cm_area20_25.png
99 | top_mosaic_09cm_area20_26.png
100 | top_mosaic_09cm_area20_27.png
101 | top_mosaic_09cm_area20_28.png
102 | top_mosaic_09cm_area20_29.png
103 | top_mosaic_09cm_area20_3.png
104 | top_mosaic_09cm_area20_30.png
105 | top_mosaic_09cm_area20_31.png
106 | top_mosaic_09cm_area20_32.png
107 | top_mosaic_09cm_area20_33.png
108 | top_mosaic_09cm_area20_34.png
109 | top_mosaic_09cm_area20_35.png
110 | top_mosaic_09cm_area20_36.png
111 | top_mosaic_09cm_area20_37.png
112 | top_mosaic_09cm_area20_38.png
113 | top_mosaic_09cm_area20_39.png
114 | top_mosaic_09cm_area20_4.png
115 | top_mosaic_09cm_area20_40.png
116 | top_mosaic_09cm_area20_41.png
117 | top_mosaic_09cm_area20_42.png
118 | top_mosaic_09cm_area20_43.png
119 | top_mosaic_09cm_area20_44.png
120 | top_mosaic_09cm_area20_45.png
121 | top_mosaic_09cm_area20_46.png
122 | top_mosaic_09cm_area20_47.png
123 | top_mosaic_09cm_area20_48.png
124 | top_mosaic_09cm_area20_5.png
125 | top_mosaic_09cm_area20_6.png
126 | top_mosaic_09cm_area20_7.png
127 | top_mosaic_09cm_area20_8.png
128 | top_mosaic_09cm_area20_9.png
129 | top_mosaic_09cm_area22_1.png
130 | top_mosaic_09cm_area22_10.png
131 | top_mosaic_09cm_area22_11.png
132 | top_mosaic_09cm_area22_12.png
133 | top_mosaic_09cm_area22_13.png
134 | top_mosaic_09cm_area22_14.png
135 | top_mosaic_09cm_area22_15.png
136 | top_mosaic_09cm_area22_16.png
137 | top_mosaic_09cm_area22_17.png
138 | top_mosaic_09cm_area22_18.png
139 | top_mosaic_09cm_area22_19.png
140 | top_mosaic_09cm_area22_2.png
141 | top_mosaic_09cm_area22_20.png
142 | top_mosaic_09cm_area22_21.png
143 | top_mosaic_09cm_area22_22.png
144 | top_mosaic_09cm_area22_23.png
145 | top_mosaic_09cm_area22_24.png
146 | top_mosaic_09cm_area22_25.png
147 | top_mosaic_09cm_area22_26.png
148 | top_mosaic_09cm_area22_27.png
149 | top_mosaic_09cm_area22_28.png
150 | top_mosaic_09cm_area22_29.png
151 | top_mosaic_09cm_area22_3.png
152 | top_mosaic_09cm_area22_30.png
153 | top_mosaic_09cm_area22_31.png
154 | top_mosaic_09cm_area22_32.png
155 | top_mosaic_09cm_area22_33.png
156 | top_mosaic_09cm_area22_34.png
157 | top_mosaic_09cm_area22_35.png
158 | top_mosaic_09cm_area22_36.png
159 | top_mosaic_09cm_area22_37.png
160 | top_mosaic_09cm_area22_38.png
161 | top_mosaic_09cm_area22_39.png
162 | top_mosaic_09cm_area22_4.png
163 | top_mosaic_09cm_area22_40.png
164 | top_mosaic_09cm_area22_41.png
165 | top_mosaic_09cm_area22_42.png
166 | top_mosaic_09cm_area22_43.png
167 | top_mosaic_09cm_area22_44.png
168 | top_mosaic_09cm_area22_45.png
169 | top_mosaic_09cm_area22_46.png
170 | top_mosaic_09cm_area22_47.png
171 | top_mosaic_09cm_area22_48.png
172 | top_mosaic_09cm_area22_5.png
173 | top_mosaic_09cm_area22_6.png
174 | top_mosaic_09cm_area22_7.png
175 | top_mosaic_09cm_area22_8.png
176 | top_mosaic_09cm_area22_9.png
177 | top_mosaic_09cm_area24_1.png
178 | top_mosaic_09cm_area24_10.png
179 | top_mosaic_09cm_area24_11.png
180 | top_mosaic_09cm_area24_12.png
181 | top_mosaic_09cm_area24_13.png
182 | top_mosaic_09cm_area24_14.png
183 | top_mosaic_09cm_area24_15.png
184 | top_mosaic_09cm_area24_16.png
185 | top_mosaic_09cm_area24_17.png
186 | top_mosaic_09cm_area24_18.png
187 | top_mosaic_09cm_area24_19.png
188 | top_mosaic_09cm_area24_2.png
189 | top_mosaic_09cm_area24_20.png
190 | top_mosaic_09cm_area24_21.png
191 | top_mosaic_09cm_area24_22.png
192 | top_mosaic_09cm_area24_23.png
193 | top_mosaic_09cm_area24_24.png
194 | top_mosaic_09cm_area24_25.png
195 | top_mosaic_09cm_area24_26.png
196 | top_mosaic_09cm_area24_27.png
197 | top_mosaic_09cm_area24_28.png
198 | top_mosaic_09cm_area24_29.png
199 | top_mosaic_09cm_area24_3.png
200 | top_mosaic_09cm_area24_30.png
201 | top_mosaic_09cm_area24_31.png
202 | top_mosaic_09cm_area24_32.png
203 | top_mosaic_09cm_area24_33.png
204 | top_mosaic_09cm_area24_34.png
205 | top_mosaic_09cm_area24_35.png
206 | top_mosaic_09cm_area24_36.png
207 | top_mosaic_09cm_area24_37.png
208 | top_mosaic_09cm_area24_38.png
209 | top_mosaic_09cm_area24_39.png
210 | top_mosaic_09cm_area24_4.png
211 | top_mosaic_09cm_area24_40.png
212 | top_mosaic_09cm_area24_41.png
213 | top_mosaic_09cm_area24_42.png
214 | top_mosaic_09cm_area24_43.png
215 | top_mosaic_09cm_area24_44.png
216 | top_mosaic_09cm_area24_45.png
217 | top_mosaic_09cm_area24_46.png
218 | top_mosaic_09cm_area24_47.png
219 | top_mosaic_09cm_area24_48.png
220 | top_mosaic_09cm_area24_5.png
221 | top_mosaic_09cm_area24_6.png
222 | top_mosaic_09cm_area24_7.png
223 | top_mosaic_09cm_area24_8.png
224 | top_mosaic_09cm_area24_9.png
225 | top_mosaic_09cm_area27_1.png
226 | top_mosaic_09cm_area27_10.png
227 | top_mosaic_09cm_area27_11.png
228 | top_mosaic_09cm_area27_12.png
229 | top_mosaic_09cm_area27_13.png
230 | top_mosaic_09cm_area27_14.png
231 | top_mosaic_09cm_area27_15.png
232 | top_mosaic_09cm_area27_16.png
233 | top_mosaic_09cm_area27_17.png
234 | top_mosaic_09cm_area27_18.png
235 | top_mosaic_09cm_area27_19.png
236 | top_mosaic_09cm_area27_2.png
237 | top_mosaic_09cm_area27_20.png
238 | top_mosaic_09cm_area27_21.png
239 | top_mosaic_09cm_area27_22.png
240 | top_mosaic_09cm_area27_23.png
241 | top_mosaic_09cm_area27_24.png
242 | top_mosaic_09cm_area27_25.png
243 | top_mosaic_09cm_area27_26.png
244 | top_mosaic_09cm_area27_27.png
245 | top_mosaic_09cm_area27_28.png
246 | top_mosaic_09cm_area27_29.png
247 | top_mosaic_09cm_area27_3.png
248 | top_mosaic_09cm_area27_30.png
249 | top_mosaic_09cm_area27_31.png
250 | top_mosaic_09cm_area27_32.png
251 | top_mosaic_09cm_area27_33.png
252 | top_mosaic_09cm_area27_34.png
253 | top_mosaic_09cm_area27_35.png
254 | top_mosaic_09cm_area27_36.png
255 | top_mosaic_09cm_area27_37.png
256 | top_mosaic_09cm_area27_38.png
257 | top_mosaic_09cm_area27_39.png
258 | top_mosaic_09cm_area27_4.png
259 | top_mosaic_09cm_area27_40.png
260 | top_mosaic_09cm_area27_41.png
261 | top_mosaic_09cm_area27_42.png
262 | top_mosaic_09cm_area27_43.png
263 | top_mosaic_09cm_area27_44.png
264 | top_mosaic_09cm_area27_45.png
265 | top_mosaic_09cm_area27_46.png
266 | top_mosaic_09cm_area27_47.png
267 | top_mosaic_09cm_area27_48.png
268 | top_mosaic_09cm_area27_49.png
269 | top_mosaic_09cm_area27_5.png
270 | top_mosaic_09cm_area27_50.png
271 | top_mosaic_09cm_area27_51.png
272 | top_mosaic_09cm_area27_52.png
273 | top_mosaic_09cm_area27_53.png
274 | top_mosaic_09cm_area27_54.png
275 | top_mosaic_09cm_area27_55.png
276 | top_mosaic_09cm_area27_56.png
277 | top_mosaic_09cm_area27_57.png
278 | top_mosaic_09cm_area27_58.png
279 | top_mosaic_09cm_area27_59.png
280 | top_mosaic_09cm_area27_6.png
281 | top_mosaic_09cm_area27_60.png
282 | top_mosaic_09cm_area27_61.png
283 | top_mosaic_09cm_area27_62.png
284 | top_mosaic_09cm_area27_63.png
285 | top_mosaic_09cm_area27_64.png
286 | top_mosaic_09cm_area27_65.png
287 | top_mosaic_09cm_area27_66.png
288 | top_mosaic_09cm_area27_7.png
289 | top_mosaic_09cm_area27_8.png
290 | top_mosaic_09cm_area27_9.png
291 | top_mosaic_09cm_area2_1.png
292 | top_mosaic_09cm_area2_10.png
293 | top_mosaic_09cm_area2_11.png
294 | top_mosaic_09cm_area2_12.png
295 | top_mosaic_09cm_area2_13.png
296 | top_mosaic_09cm_area2_14.png
297 | top_mosaic_09cm_area2_15.png
298 | top_mosaic_09cm_area2_16.png
299 | top_mosaic_09cm_area2_17.png
300 | top_mosaic_09cm_area2_18.png
301 | top_mosaic_09cm_area2_19.png
302 | top_mosaic_09cm_area2_2.png
303 | top_mosaic_09cm_area2_20.png
304 | top_mosaic_09cm_area2_21.png
305 | top_mosaic_09cm_area2_22.png
306 | top_mosaic_09cm_area2_23.png
307 | top_mosaic_09cm_area2_24.png
308 | top_mosaic_09cm_area2_25.png
309 | top_mosaic_09cm_area2_26.png
310 | top_mosaic_09cm_area2_27.png
311 | top_mosaic_09cm_area2_28.png
312 | top_mosaic_09cm_area2_29.png
313 | top_mosaic_09cm_area2_3.png
314 | top_mosaic_09cm_area2_30.png
315 | top_mosaic_09cm_area2_31.png
316 | top_mosaic_09cm_area2_32.png
317 | top_mosaic_09cm_area2_33.png
318 | top_mosaic_09cm_area2_34.png
319 | top_mosaic_09cm_area2_35.png
320 | top_mosaic_09cm_area2_36.png
321 | top_mosaic_09cm_area2_37.png
322 | top_mosaic_09cm_area2_38.png
323 | top_mosaic_09cm_area2_39.png
324 | top_mosaic_09cm_area2_4.png
325 | top_mosaic_09cm_area2_40.png
326 | top_mosaic_09cm_area2_41.png
327 | top_mosaic_09cm_area2_42.png
328 | top_mosaic_09cm_area2_43.png
329 | top_mosaic_09cm_area2_44.png
330 | top_mosaic_09cm_area2_45.png
331 | top_mosaic_09cm_area2_46.png
332 | top_mosaic_09cm_area2_47.png
333 | top_mosaic_09cm_area2_48.png
334 | top_mosaic_09cm_area2_49.png
335 | top_mosaic_09cm_area2_5.png
336 | top_mosaic_09cm_area2_50.png
337 | top_mosaic_09cm_area2_51.png
338 | top_mosaic_09cm_area2_52.png
339 | top_mosaic_09cm_area2_53.png
340 | top_mosaic_09cm_area2_54.png
341 | top_mosaic_09cm_area2_55.png
342 | top_mosaic_09cm_area2_56.png
343 | top_mosaic_09cm_area2_57.png
344 | top_mosaic_09cm_area2_58.png
345 | top_mosaic_09cm_area2_59.png
346 | top_mosaic_09cm_area2_6.png
347 | top_mosaic_09cm_area2_60.png
348 | top_mosaic_09cm_area2_61.png
349 | top_mosaic_09cm_area2_62.png
350 | top_mosaic_09cm_area2_63.png
351 | top_mosaic_09cm_area2_64.png
352 | top_mosaic_09cm_area2_65.png
353 | top_mosaic_09cm_area2_66.png
354 | top_mosaic_09cm_area2_67.png
355 | top_mosaic_09cm_area2_68.png
356 | top_mosaic_09cm_area2_69.png
357 | top_mosaic_09cm_area2_7.png
358 | top_mosaic_09cm_area2_70.png
359 | top_mosaic_09cm_area2_71.png
360 | top_mosaic_09cm_area2_72.png
361 | top_mosaic_09cm_area2_8.png
362 | top_mosaic_09cm_area2_9.png
363 | top_mosaic_09cm_area5_1.png
364 | top_mosaic_09cm_area5_10.png
365 | top_mosaic_09cm_area5_11.png
366 | top_mosaic_09cm_area5_12.png
367 | top_mosaic_09cm_area5_13.png
368 | top_mosaic_09cm_area5_14.png
369 | top_mosaic_09cm_area5_15.png
370 | top_mosaic_09cm_area5_16.png
371 | top_mosaic_09cm_area5_17.png
372 | top_mosaic_09cm_area5_18.png
373 | top_mosaic_09cm_area5_19.png
374 | top_mosaic_09cm_area5_2.png
375 | top_mosaic_09cm_area5_20.png
376 | top_mosaic_09cm_area5_21.png
377 | top_mosaic_09cm_area5_22.png
378 | top_mosaic_09cm_area5_23.png
379 | top_mosaic_09cm_area5_24.png
380 | top_mosaic_09cm_area5_25.png
381 | top_mosaic_09cm_area5_26.png
382 | top_mosaic_09cm_area5_27.png
383 | top_mosaic_09cm_area5_28.png
384 | top_mosaic_09cm_area5_29.png
385 | top_mosaic_09cm_area5_3.png
386 | top_mosaic_09cm_area5_30.png
387 | top_mosaic_09cm_area5_31.png
388 | top_mosaic_09cm_area5_32.png
389 | top_mosaic_09cm_area5_33.png
390 | top_mosaic_09cm_area5_34.png
391 | top_mosaic_09cm_area5_35.png
392 | top_mosaic_09cm_area5_36.png
393 | top_mosaic_09cm_area5_37.png
394 | top_mosaic_09cm_area5_38.png
395 | top_mosaic_09cm_area5_39.png
396 | top_mosaic_09cm_area5_4.png
397 | top_mosaic_09cm_area5_40.png
398 | top_mosaic_09cm_area5_41.png
399 | top_mosaic_09cm_area5_42.png
400 | top_mosaic_09cm_area5_43.png
401 | top_mosaic_09cm_area5_44.png
402 | top_mosaic_09cm_area5_45.png
403 | top_mosaic_09cm_area5_46.png
404 | top_mosaic_09cm_area5_47.png
405 | top_mosaic_09cm_area5_48.png
406 | top_mosaic_09cm_area5_5.png
407 | top_mosaic_09cm_area5_6.png
408 | top_mosaic_09cm_area5_7.png
409 | top_mosaic_09cm_area5_8.png
410 | top_mosaic_09cm_area5_9.png
411 | top_mosaic_09cm_area7_1.png
412 | top_mosaic_09cm_area7_10.png
413 | top_mosaic_09cm_area7_11.png
414 | top_mosaic_09cm_area7_12.png
415 | top_mosaic_09cm_area7_13.png
416 | top_mosaic_09cm_area7_14.png
417 | top_mosaic_09cm_area7_15.png
418 | top_mosaic_09cm_area7_16.png
419 | top_mosaic_09cm_area7_17.png
420 | top_mosaic_09cm_area7_18.png
421 | top_mosaic_09cm_area7_19.png
422 | top_mosaic_09cm_area7_2.png
423 | top_mosaic_09cm_area7_20.png
424 | top_mosaic_09cm_area7_21.png
425 | top_mosaic_09cm_area7_22.png
426 | top_mosaic_09cm_area7_23.png
427 | top_mosaic_09cm_area7_24.png
428 | top_mosaic_09cm_area7_25.png
429 | top_mosaic_09cm_area7_26.png
430 | top_mosaic_09cm_area7_27.png
431 | top_mosaic_09cm_area7_28.png
432 | top_mosaic_09cm_area7_29.png
433 | top_mosaic_09cm_area7_3.png
434 | top_mosaic_09cm_area7_30.png
435 | top_mosaic_09cm_area7_31.png
436 | top_mosaic_09cm_area7_32.png
437 | top_mosaic_09cm_area7_33.png
438 | top_mosaic_09cm_area7_34.png
439 | top_mosaic_09cm_area7_35.png
440 | top_mosaic_09cm_area7_36.png
441 | top_mosaic_09cm_area7_37.png
442 | top_mosaic_09cm_area7_38.png
443 | top_mosaic_09cm_area7_39.png
444 | top_mosaic_09cm_area7_4.png
445 | top_mosaic_09cm_area7_40.png
446 | top_mosaic_09cm_area7_41.png
447 | top_mosaic_09cm_area7_42.png
448 | top_mosaic_09cm_area7_43.png
449 | top_mosaic_09cm_area7_44.png
450 | top_mosaic_09cm_area7_45.png
451 | top_mosaic_09cm_area7_46.png
452 | top_mosaic_09cm_area7_47.png
453 | top_mosaic_09cm_area7_48.png
454 | top_mosaic_09cm_area7_5.png
455 | top_mosaic_09cm_area7_6.png
456 | top_mosaic_09cm_area7_7.png
457 | top_mosaic_09cm_area7_8.png
458 | top_mosaic_09cm_area7_9.png
459 | top_mosaic_09cm_area8_1.png
460 | top_mosaic_09cm_area8_10.png
461 | top_mosaic_09cm_area8_11.png
462 | top_mosaic_09cm_area8_12.png
463 | top_mosaic_09cm_area8_13.png
464 | top_mosaic_09cm_area8_14.png
465 | top_mosaic_09cm_area8_15.png
466 | top_mosaic_09cm_area8_16.png
467 | top_mosaic_09cm_area8_17.png
468 | top_mosaic_09cm_area8_18.png
469 | top_mosaic_09cm_area8_19.png
470 | top_mosaic_09cm_area8_2.png
471 | top_mosaic_09cm_area8_20.png
472 | top_mosaic_09cm_area8_21.png
473 | top_mosaic_09cm_area8_22.png
474 | top_mosaic_09cm_area8_23.png
475 | top_mosaic_09cm_area8_24.png
476 | top_mosaic_09cm_area8_25.png
477 | top_mosaic_09cm_area8_26.png
478 | top_mosaic_09cm_area8_27.png
479 | top_mosaic_09cm_area8_28.png
480 | top_mosaic_09cm_area8_29.png
481 | top_mosaic_09cm_area8_3.png
482 | top_mosaic_09cm_area8_30.png
483 | top_mosaic_09cm_area8_31.png
484 | top_mosaic_09cm_area8_32.png
485 | top_mosaic_09cm_area8_33.png
486 | top_mosaic_09cm_area8_34.png
487 | top_mosaic_09cm_area8_35.png
488 | top_mosaic_09cm_area8_36.png
489 | top_mosaic_09cm_area8_37.png
490 | top_mosaic_09cm_area8_38.png
491 | top_mosaic_09cm_area8_39.png
492 | top_mosaic_09cm_area8_4.png
493 | top_mosaic_09cm_area8_40.png
494 | top_mosaic_09cm_area8_41.png
495 | top_mosaic_09cm_area8_42.png
496 | top_mosaic_09cm_area8_43.png
497 | top_mosaic_09cm_area8_44.png
498 | top_mosaic_09cm_area8_45.png
499 | top_mosaic_09cm_area8_46.png
500 | top_mosaic_09cm_area8_47.png
501 | top_mosaic_09cm_area8_48.png
502 | top_mosaic_09cm_area8_5.png
503 | top_mosaic_09cm_area8_6.png
504 | top_mosaic_09cm_area8_7.png
505 | top_mosaic_09cm_area8_8.png
506 | top_mosaic_09cm_area8_9.png
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BOBrown/SegNet_Source/4dc9c93c77a64b0338038cc9e192006b11a5efe2/ADVENT/advent/dataset/__init__.py
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/base_dataset.py:
--------------------------------------------------------------------------------
1 | from pathlib import Path
2 |
3 | import numpy as np
4 | from PIL import Image
5 | from torch.utils import data
6 |
7 |
8 | class BaseDataset(data.Dataset):
9 | def __init__(self, root, list_path, set_,
10 | max_iters, image_size, labels_size, mean):
11 | self.root = Path(root)
12 | self.set = set_
13 | self.list_path = list_path.format(self.set)
14 | self.image_size = image_size
15 | if labels_size is None:
16 | self.labels_size = self.image_size
17 | else:
18 | self.labels_size = labels_size
19 | self.mean = mean
20 | with open(self.list_path) as f:
21 | self.img_ids = [i_id.strip() for i_id in f]
22 | if max_iters is not None:
23 | self.img_ids = self.img_ids * int(np.ceil(float(max_iters) / len(self.img_ids)))
24 | self.files = []
25 | for name in self.img_ids:
26 | img_file, label_file = self.get_metadata(name)
27 | self.files.append((img_file, label_file, name))
28 |
29 | def get_metadata(self, name):
30 | raise NotImplementedError
31 |
32 | def __len__(self):
33 | return len(self.files)
34 |
35 | def preprocess(self, image):
36 | image = image[:, :, ::-1] # change to BGR
37 | image -= self.mean
38 | return image.transpose((2, 0, 1))
39 |
40 | def get_image(self, file):
41 | return _load_img(file, self.image_size, Image.BICUBIC, rgb=True)
42 |
43 | def get_labels(self, file):
44 | return _load_img(file, self.labels_size, Image.NEAREST, rgb=False)
45 |
46 |
47 | def _load_img(file, size, interpolation, rgb):
48 | img = Image.open(file)
49 | if rgb:
50 | img = img.convert('RGB')
51 | img = img.resize(size, interpolation)
52 | return np.asarray(img, np.float32)
53 |
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/cityscapes.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | from advent.utils import project_root
4 | from advent.utils.serialization import json_load
5 | from advent.dataset.base_dataset import BaseDataset
6 |
7 | DEFAULT_INFO_PATH = project_root / 'advent/dataset/cityscapes_list/info.json'
8 |
9 |
10 | class CityscapesDataSet(BaseDataset):
11 | def __init__(self, root, list_path, set='val',
12 | max_iters=None,
13 | crop_size=(321, 321), mean=(128, 128, 128),
14 | load_labels=True,
15 | info_path=DEFAULT_INFO_PATH, labels_size=None):
16 | super().__init__(root, list_path, set, max_iters, crop_size, labels_size, mean)
17 |
18 | self.load_labels = load_labels
19 | self.info = json_load(info_path)
20 | self.class_names = np.array(self.info['label'], dtype=np.str)
21 | self.mapping = np.array(self.info['label2train'], dtype=np.int)
22 | self.map_vector = np.zeros((self.mapping.shape[0],), dtype=np.int64)
23 | for source_label, target_label in self.mapping:
24 | self.map_vector[source_label] = target_label
25 |
26 | def get_metadata(self, name):
27 | img_file = self.root / 'leftImg8bit' / self.set / name
28 | label_name = name.replace("leftImg8bit", "gtFine_labelIds")
29 | label_file = self.root / 'gtFine' / self.set / label_name
30 | return img_file, label_file
31 |
32 | def map_labels(self, input_):
33 | return self.map_vector[input_.astype(np.int64, copy=False)]
34 |
35 | def __getitem__(self, index):
36 | img_file, label_file, name = self.files[index]
37 | label = self.get_labels(label_file)
38 | label = self.map_labels(label).copy()
39 | image = self.get_image(img_file)
40 | image = self.preprocess(image)
41 | return image.copy(), label, np.array(image.shape), name
42 |
--------------------------------------------------------------------------------
/ADVENT/advent/dataset/gta5.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | from advent.dataset.base_dataset import BaseDataset
4 |
5 |
6 | class GTA5DataSet(BaseDataset):
7 | def __init__(self, root, list_path, set='all',
8 | max_iters=None, crop_size=(321, 321), mean=(128, 128, 128)):
9 | super().__init__(root, list_path, set, max_iters, crop_size, None, mean)
10 |
11 | # map to cityscape's ids
12 | self.id_to_trainid = {7: 0, 8: 1, 11: 2, 12: 3, 13: 4, 17: 5,
13 | 19: 6, 20: 7, 21: 8, 22: 9, 23: 10, 24: 11, 25: 12,
14 | 26: 13, 27: 14, 28: 15, 31: 16, 32: 17, 33: 18}
15 |
16 | def get_metadata(self, name):
17 | img_file = self.root / 'images' / name
18 | label_file = self.root / 'labels' / name
19 | return img_file, label_file
20 |
21 | def __getitem__(self, index):
22 | img_file, label_file, name = self.files[index]
23 | image = self.get_image(img_file)
24 | label = self.get_labels(label_file)
25 | # re-assign labels to match the format of Cityscapes
26 | label_copy = 255 * np.ones(label.shape, dtype=np.float32)
27 | for k, v in self.id_to_trainid.items():
28 | label_copy[label == k] = v
29 | image = self.preprocess(image)
30 | return image.copy(), label_copy.copy(), np.array(image.shape), name
31 |
--------------------------------------------------------------------------------
/ADVENT/advent/model/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BOBrown/SegNet_Source/4dc9c93c77a64b0338038cc9e192006b11a5efe2/ADVENT/advent/model/__init__.py
--------------------------------------------------------------------------------
/ADVENT/advent/model/deeplabv3.py:
--------------------------------------------------------------------------------
1 | import torch.nn as nn
2 | import torch.nn.functional as F
3 |
4 | affine_par = True
5 |
6 |
7 | class Bottleneck(nn.Module):
8 | expansion = 4
9 |
10 | def __init__(self, inplanes, planes, stride=1, dilation=1, downsample=None):
11 | super(Bottleneck, self).__init__()
12 | # change
13 | self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, stride=stride, bias=False)
14 | self.bn1 = nn.BatchNorm2d(planes, affine=affine_par)
15 | for i in self.bn1.parameters():
16 | i.requires_grad = False
17 | padding = dilation
18 | # change
19 | self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=1,
20 | padding=padding, bias=False, dilation=dilation)
21 | self.bn2 = nn.BatchNorm2d(planes, affine=affine_par)
22 | for i in self.bn2.parameters():
23 | i.requires_grad = False
24 | self.conv3 = nn.Conv2d(planes, planes * 4, kernel_size=1, bias=False)
25 | self.bn3 = nn.BatchNorm2d(planes * 4, affine=affine_par)
26 | for i in self.bn3.parameters():
27 | i.requires_grad = False
28 | self.relu = nn.ReLU(inplace=True)
29 | self.downsample = downsample
30 | self.stride = stride
31 |
32 | def forward(self, x):
33 | residual = x
34 | out = self.conv1(x)
35 | out = self.bn1(out)
36 | out = self.relu(out)
37 | out = self.conv2(out)
38 | out = self.bn2(out)
39 | out = self.relu(out)
40 | out = self.conv3(out)
41 | out = self.bn3(out)
42 | if self.downsample is not None:
43 | residual = self.downsample(x)
44 | out += residual
45 | out = self.relu(out)
46 |
47 | return out
48 |
49 |
50 | class ClassifierModule(nn.Module):
51 | def __init__(self, inplanes, dilation_series, padding_series, num_classes):
52 | super(ClassifierModule, self).__init__()
53 | self.conv2d_list = nn.ModuleList()
54 | for dilation, padding in zip(dilation_series, padding_series):
55 | self.conv2d_list.append(
56 | nn.Conv2d(inplanes, num_classes, kernel_size=3, stride=1, padding=padding,
57 | dilation=dilation, bias=True))
58 |
59 | for m in self.conv2d_list:
60 | m.weight.data.normal_(0, 0.01)
61 |
62 | def forward(self, x):
63 | out = self.conv2d_list[0](x)
64 | for i in range(len(self.conv2d_list) - 1):
65 | out += self.conv2d_list[i + 1](x)
66 | return out
67 |
68 | class ClassifierModule_GAP(nn.Module):
69 | def __init__(self, inplanes, dilation_series, padding_series, num_classes):
70 | super(ClassifierModule_GAP, self).__init__()
71 | self.conv2d_list = nn.ModuleList()
72 | for dilation, padding in zip(dilation_series, padding_series):
73 | self.conv2d_list.append(
74 | nn.Conv2d(inplanes, num_classes, kernel_size=3, stride=1, padding=padding,
75 | dilation=dilation, bias=True))
76 |
77 | for m in self.conv2d_list:
78 | m.weight.data.normal_(0, 0.01)
79 |
80 | self.global_avg_pool = nn.Sequential(nn.AdaptiveAvgPool2d((1, 1)),
81 | nn.Conv2d(inplanes, num_classes, 1, stride=1, bias=False),
82 | nn.BatchNorm2d(num_classes),
83 | nn.ReLU())
84 |
85 | def forward(self, x):
86 | out = self.conv2d_list[0](x)
87 | out_gap = self.global_avg_pool(x)
88 | out_gap = F.upsample(out_gap, size=out.size()[2:], mode='bilinear', align_corners=True)
89 | for i in range(len(self.conv2d_list) - 1):
90 | out += self.conv2d_list[i + 1](x)
91 | out = out + out_gap
92 | return out
93 |
94 |
95 | class ResNetMulti(nn.Module):
96 | def __init__(self, block, layers, num_classes, multi_level):
97 | self.multi_level = multi_level
98 | self.inplanes = 64
99 | super(ResNetMulti, self).__init__()
100 | self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3,
101 | bias=False)
102 | self.bn1 = nn.BatchNorm2d(64, affine=affine_par)
103 | for i in self.bn1.parameters():
104 | i.requires_grad = False
105 | self.relu = nn.ReLU(inplace=True)
106 | self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1, ceil_mode=True) # change
107 | self.layer1 = self._make_layer(block, 64, layers[0])
108 | self.layer2 = self._make_layer(block, 128, layers[1], stride=2)
109 | if self.multi_level:
110 | self.low_layers = ClassifierModule(512, [6, 12, 18, 24], [6, 12, 18, 24], num_classes)
111 | self.layer3 = self._make_layer(block, 256, layers[2], stride=1, dilation=2)
112 | self.layer4 = self._make_layer(block, 512, layers[3], stride=1, dilation=4)
113 | if self.multi_level:
114 | self.layer5 = ClassifierModule(1024, [6, 12, 18, 24], [6, 12, 18, 24], num_classes)
115 | #self.layer6 = ClassifierModule(2048, [6, 12, 18, 24], [6, 12, 18, 24], num_classes)
116 | self.layer6 = ClassifierModule_GAP(2048, [6, 12, 18, 24], [6, 12, 18, 24], num_classes)
117 |
118 | for m in self.modules():
119 | if isinstance(m, nn.Conv2d):
120 | m.weight.data.normal_(0, 0.01)
121 | elif isinstance(m, nn.BatchNorm2d):
122 | m.weight.data.fill_(1)
123 | m.bias.data.zero_()
124 |
125 | def _make_layer(self, block, planes, blocks, stride=1, dilation=1):
126 | downsample = None
127 | if (stride != 1
128 | or self.inplanes != planes * block.expansion
129 | or dilation == 2
130 | or dilation == 4):
131 | downsample = nn.Sequential(
132 | nn.Conv2d(self.inplanes, planes * block.expansion,
133 | kernel_size=1, stride=stride, bias=False),
134 | nn.BatchNorm2d(planes * block.expansion, affine=affine_par))
135 | for i in downsample._modules['1'].parameters():
136 | i.requires_grad = False
137 | layers = []
138 | layers.append(
139 | block(self.inplanes, planes, stride, dilation=dilation, downsample=downsample))
140 | self.inplanes = planes * block.expansion
141 | for i in range(1, blocks):
142 | layers.append(block(self.inplanes, planes, dilation=dilation))
143 |
144 | return nn.Sequential(*layers)
145 |
146 | def forward(self, x):
147 | x = self.conv1(x)
148 | x = self.bn1(x)
149 | x = self.relu(x)
150 | x = self.maxpool(x)
151 | x = self.layer1(x)
152 | x = self.layer2(x)
153 | x = self.layer3(x)
154 | if self.multi_level:
155 | x1 = self.layer5(x) # produce segmap 2
156 | else:
157 | x1 = None
158 | x2 = self.layer4(x)
159 | x2 = self.layer6(x2) # produce segmap 3
160 | return x1, x2
161 |
162 | def get_1x_lr_params_no_scale(self):
163 | """
164 | This generator returns all the parameters of the net except for
165 | the last classification layer. Note that for each batchnorm layer,
166 | requires_grad is set to False in deeplab_resnet.py, therefore this function does not return
167 | any batchnorm parameter
168 | """
169 | b = []
170 |
171 | b.append(self.conv1)
172 | b.append(self.bn1)
173 | b.append(self.layer1)
174 | b.append(self.layer2)
175 | b.append(self.layer3)
176 | b.append(self.layer4)
177 |
178 | for i in range(len(b)):
179 | for j in b[i].modules():
180 | jj = 0
181 | for k in j.parameters():
182 | jj += 1
183 | if k.requires_grad:
184 | yield k
185 |
186 | def get_10x_lr_params(self):
187 | """
188 | This generator returns all the parameters for the last layer of the net,
189 | which does the classification of pixel into classes
190 | """
191 | b = []
192 | if self.multi_level:
193 | b.append(self.layer5.parameters())
194 | b.append(self.layer6.parameters())
195 |
196 | for j in range(len(b)):
197 | for i in b[j]:
198 | yield i
199 |
200 | def optim_parameters(self, lr):
201 | return [{'params': self.get_1x_lr_params_no_scale(), 'lr': lr},
202 | {'params': self.get_10x_lr_params(), 'lr': 10 * lr}]
203 |
204 | class ResNetSingle(nn.Module):
205 | def __init__(self, block, layers, num_classes, multi_level):
206 | self.multi_level = multi_level
207 | self.inplanes = 64
208 | super(ResNetSingle, self).__init__()
209 | self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3,
210 | bias=False)
211 | self.bn1 = nn.BatchNorm2d(64, affine=affine_par)
212 | for i in self.bn1.parameters():
213 | i.requires_grad = False
214 | self.relu = nn.ReLU(inplace=True)
215 | self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1, ceil_mode=True) # change
216 | self.layer1 = self._make_layer(block, 64, layers[0])
217 | self.layer2 = self._make_layer(block, 128, layers[1], stride=2)
218 | self.layer3 = self._make_layer(block, 256, layers[2], stride=1, dilation=2)
219 | self.layer4 = self._make_layer(block, 512, layers[3], stride=1, dilation=4)
220 | if self.multi_level:
221 | self.layer5 = ClassifierModule(1024, [6, 12, 18, 24], [6, 12, 18, 24], num_classes)
222 | #self.layer6 = ClassifierModule(2048, [6, 12, 18, 24], [6, 12, 18, 24], num_classes)
223 | self.layer6 = ClassifierModule_GAP(2048, [6, 12, 18, 24], [6, 12, 18, 24], num_classes)
224 | for m in self.modules():
225 | if isinstance(m, nn.Conv2d):
226 | m.weight.data.normal_(0, 0.01)
227 | elif isinstance(m, nn.BatchNorm2d):
228 | m.weight.data.fill_(1)
229 | m.bias.data.zero_()
230 |
231 | def _make_layer(self, block, planes, blocks, stride=1, dilation=1):
232 | downsample = None
233 | if (stride != 1
234 | or self.inplanes != planes * block.expansion
235 | or dilation == 2
236 | or dilation == 4):
237 | downsample = nn.Sequential(
238 | nn.Conv2d(self.inplanes, planes * block.expansion,
239 | kernel_size=1, stride=stride, bias=False),
240 | nn.BatchNorm2d(planes * block.expansion, affine=affine_par))
241 | for i in downsample._modules['1'].parameters():
242 | i.requires_grad = False
243 | layers = []
244 | layers.append(
245 | block(self.inplanes, planes, stride, dilation=dilation, downsample=downsample))
246 | self.inplanes = planes * block.expansion
247 | for i in range(1, blocks):
248 | layers.append(block(self.inplanes, planes, dilation=dilation))
249 |
250 | return nn.Sequential(*layers)
251 |
252 | def forward(self, x):
253 | x = self.conv1(x)
254 | x = self.bn1(x)
255 | x = self.relu(x)
256 | x = self.maxpool(x)
257 | x = self.layer1(x)
258 | x = self.layer2(x)
259 | x = self.layer3(x)
260 | if self.multi_level:
261 | x1 = self.layer5(x) # produce segmap 1
262 | else:
263 | x1 = None
264 | x2 = self.layer4(x)
265 | x2 = self.layer6(x2) # produce segmap 2
266 | return x1, x2
267 |
268 | def get_1x_lr_params_no_scale(self):
269 | """
270 | This generator returns all the parameters of the net except for
271 | the last classification layer. Note that for each batchnorm layer,
272 | requires_grad is set to False in deeplab_resnet.py, therefore this function does not return
273 | any batchnorm parameter
274 | """
275 | b = []
276 |
277 | b.append(self.conv1)
278 | b.append(self.bn1)
279 | b.append(self.layer1)
280 | b.append(self.layer2)
281 | b.append(self.layer3)
282 | b.append(self.layer4)
283 |
284 | for i in range(len(b)):
285 | for j in b[i].modules():
286 | jj = 0
287 | for k in j.parameters():
288 | jj += 1
289 | if k.requires_grad:
290 | yield k
291 |
292 | def get_10x_lr_params(self):
293 | """
294 | This generator returns all the parameters for the last layer of the net,
295 | which does the classification of pixel into classes
296 | """
297 | b = []
298 | if self.multi_level:
299 | b.append(self.layer5.parameters())
300 | b.append(self.layer6.parameters())
301 |
302 | for j in range(len(b)):
303 | for i in b[j]:
304 | yield i
305 |
306 | def optim_parameters(self, lr):
307 | return [{'params': self.get_1x_lr_params_no_scale(), 'lr': lr},
308 | {'params': self.get_10x_lr_params(), 'lr': 10 * lr}]
309 |
310 |
311 | def get_deeplab_v3(num_classes=19, multi_level=True):
312 | model = ResNetMulti(Bottleneck, [3, 4, 23, 3], num_classes, multi_level)
313 | return model
314 |
315 | def get_deeplab_v3_single(num_classes=19, multi_level=True):
316 | model = ResNetSingle(Bottleneck, [3, 4, 23, 3], num_classes, multi_level)
317 | return model
318 |
--------------------------------------------------------------------------------
/ADVENT/advent/model/discriminator.py:
--------------------------------------------------------------------------------
1 | from torch import nn
2 |
3 |
4 | def get_fc_discriminator(num_classes, ndf=128):
5 | return nn.Sequential(
6 | nn.Conv2d(num_classes, ndf, kernel_size=4, stride=2, padding=1),
7 | nn.LeakyReLU(negative_slope=0.2, inplace=True),
8 | nn.Conv2d(ndf, ndf * 2, kernel_size=4, stride=2, padding=1),
9 | nn.LeakyReLU(negative_slope=0.2, inplace=True),
10 | nn.Conv2d(ndf * 2, ndf * 4, kernel_size=4, stride=2, padding=1),
11 | nn.LeakyReLU(negative_slope=0.2, inplace=True),
12 | nn.Conv2d(ndf * 4, ndf * 8, kernel_size=4, stride=2, padding=1),
13 | nn.LeakyReLU(negative_slope=0.2, inplace=True),
14 | nn.Conv2d(ndf * 8, 1, kernel_size=4, stride=2, padding=1),
15 | )
16 |
17 | # def get_fc_discriminator(num_classes, ndf=32):
18 | # return nn.Sequential(
19 | # nn.Conv2d(num_classes, ndf, kernel_size=3, stride=1, padding=1),
20 | # nn.LeakyReLU(negative_slope=0.2, inplace=True),
21 | # nn.Conv2d(ndf, ndf * 2, kernel_size=3, stride=1, padding=1),
22 | # nn.LeakyReLU(negative_slope=0.2, inplace=True),
23 | # nn.Conv2d(ndf * 2, ndf * 4, kernel_size=3, stride=1, padding=1),
24 | # nn.LeakyReLU(negative_slope=0.2, inplace=True),
25 | # nn.Conv2d(ndf * 4, ndf * 8, kernel_size=4, stride=2, padding=1),
26 | # nn.LeakyReLU(negative_slope=0.2, inplace=True),
27 | # nn.Conv2d(ndf * 8, 1, kernel_size=4, stride=2, padding=1),
28 | # )
--------------------------------------------------------------------------------
/ADVENT/advent/scripts/configs/advent.yml:
--------------------------------------------------------------------------------
1 | SOURCE: PotsdamIRRG #Vaihingen PotsdamIRRG
2 | TARGET: Vaihingen
3 | NUM_WORKERS: 8
4 | GPU_ID: 0
5 | EXP_NAME: 'deeplab_v3_PotsdamIRRG_source'
6 |
7 |
8 | TRAIN:
9 | MODEL: DeepLabv3
10 | RESTORE_FROM: ../../pretrained_models/DeepLab_resnet_pretrained_imagenet.pth
11 | #../../pretrained_models/DeepLab_resnet_pretrained_imagenet.pth
12 | MULTI_LEVEL: False
13 | LAMBDA_SEG_MAIN: 1.0
14 | LAMBDA_SEG_AUX: 0.1
15 | LAMBDA_SEG_LOW: 0.1
16 |
17 | TEST:
18 | MODE: best
--------------------------------------------------------------------------------
/ADVENT/advent/scripts/test.py:
--------------------------------------------------------------------------------
1 | import sys
2 | sys.path.append('./ADVENT')
3 | import pdb
4 |
5 | import argparse
6 | import os
7 | import os.path as osp
8 | import pprint
9 | import warnings
10 |
11 | from torch.utils import data
12 |
13 | from advent.model.deeplabv3 import get_deeplab_v3_single as get_deeplab_v3
14 |
15 | from advent.dataset.Vaihingen import Vaihingen
16 | from advent.dataset.Potsdam import Potsdam
17 | from advent.train_setup.config import cfg, cfg_from_file
18 | from advent.train_setup.eval_single import evaluate_single_model
19 |
20 | warnings.filterwarnings("ignore", message="numpy.dtype size changed")
21 | warnings.filterwarnings("ignore")
22 |
23 |
24 | def get_arguments():
25 | """
26 | Parse input arguments
27 | """
28 | parser = argparse.ArgumentParser(description="Code for evaluation")
29 | parser.add_argument('--cfg', type=str, default=None,
30 | help='optional config file', )
31 | parser.add_argument("--exp-suffix", type=str, default=None,
32 | help="optional experiment suffix")
33 | return parser.parse_args()
34 |
35 |
36 | def main(config_file, exp_suffix):
37 | # LOAD ARGS
38 | assert config_file is not None, 'Missing cfg file'
39 | cfg_from_file(config_file)
40 | # auto-generate exp name if not specified
41 | if cfg.EXP_NAME == '':
42 | cfg.EXP_NAME = f'{cfg.SOURCE}2{cfg.TARGET}_{cfg.TRAIN.MODEL}_{cfg.TRAIN.DA_METHOD}'
43 | if exp_suffix:
44 | cfg.EXP_NAME += f'_{exp_suffix}'
45 | # auto-generate snapshot path if not specified
46 | if cfg.TEST.SNAPSHOT_DIR[0] == '':
47 | cfg.TEST.SNAPSHOT_DIR[0] = osp.join(cfg.EXP_ROOT_SNAPSHOT, cfg.EXP_NAME)
48 | os.makedirs(cfg.TEST.SNAPSHOT_DIR[0], exist_ok=True)
49 |
50 | print('Using config:')
51 | pprint.pprint(cfg)
52 | # load models
53 | models = []
54 | n_models = len(cfg.TEST.MODEL)
55 | if cfg.TEST.MODE == 'best':
56 | assert n_models == 1, 'Not yet supported'
57 | for i in range(n_models):
58 | if cfg.TEST.MODEL[i] == 'DeepLabv3':
59 | model = get_deeplab_v3(num_classes=cfg.NUM_CLASSES,
60 | multi_level=cfg.TEST.MULTI_LEVEL[i])
61 | elif cfg.TEST.MODEL[i] == 'UNET':
62 | model = UNet(n_channels=3, n_classes=cfg.NUM_CLASSES, bilinear=True)
63 | else:
64 | raise NotImplementedError(f"Not yet supported {cfg.TEST.MODEL[i]}")
65 | models.append(model)
66 |
67 | if os.environ.get('ADVENT_DRY_RUN', '0') == '1':
68 | return
69 |
70 | # dataloaders
71 | #pdb.set_trace()
72 | # test_dataset = Vaihingen(root=cfg.DATA_DIRECTORY_TARGET,
73 | # list_path='/root/code/CCDA_LGFA/ADVENT/advent/dataset/Vaihingen/{}.txt',
74 | # set=cfg.TEST.SET_TARGET,
75 | # info_path=cfg.TEST.INFO_TARGET,
76 | # crop_size=cfg.TEST.INPUT_SIZE_TARGET,
77 | # mean=cfg.TEST.IMG_MEAN,
78 | # labels_size=cfg.TEST.OUTPUT_SIZE_TARGET)
79 | # test_loader = data.DataLoader(test_dataset,
80 | # batch_size=cfg.TEST.BATCH_SIZE_TARGET,
81 | # num_workers=cfg.NUM_WORKERS,
82 | # shuffle=False,
83 | # pin_memory=True)
84 | # -----reverse-----
85 | test_dataset = Potsdam(root=cfg.DATA_DIRECTORY_TARGET,
86 | list_path='/root/code/CCDA_LGFA/ADVENT/advent/dataset/PotsdamIRRG/{}.txt',
87 | set=cfg.TEST.SET_TARGET,
88 | info_path=cfg.TEST.INFO_TARGET,
89 | crop_size=cfg.TEST.INPUT_SIZE_TARGET,
90 | mean=cfg.TEST.IMG_MEAN)
91 | test_loader = data.DataLoader(test_dataset,
92 | batch_size=cfg.TEST.BATCH_SIZE_TARGET,
93 | num_workers=cfg.NUM_WORKERS,
94 | shuffle=False,
95 | pin_memory=True)
96 |
97 | # eval
98 | evaluate_single_model(models, test_loader, cfg)
99 |
100 |
101 | if __name__ == '__main__':
102 | args = get_arguments()
103 | print('Called with args:')
104 | print(args)
105 | main(args.cfg, args.exp_suffix)
106 |
--------------------------------------------------------------------------------
/ADVENT/advent/scripts/train.py:
--------------------------------------------------------------------------------
1 | import argparse
2 | import os
3 | import os.path as osp
4 | import pprint
5 | import random
6 | import warnings
7 |
8 | import numpy as np
9 | import yaml
10 | import torch
11 | from torch.utils import data
12 |
13 | from advent.model.deeplabv3 import get_deeplab_v3_single as get_deeplab_v3
14 |
15 |
16 | from advent.dataset.Potsdam import Potsdam
17 | from advent.dataset.Vaihingen import Vaihingen
18 |
19 | from advent.train_setup.config import cfg, cfg_from_file
20 | from advent.train_setup.train_single import train_single_model
21 |
22 | warnings.filterwarnings("ignore", message="numpy.dtype size changed")
23 | warnings.filterwarnings("ignore")
24 |
25 |
26 | def get_arguments():
27 | """
28 | Parse input arguments
29 | """
30 | parser = argparse.ArgumentParser(description="Code for domain adaptation (DA) training")
31 | parser.add_argument('--cfg', type=str, default=None,
32 | help='optional config file', )
33 | parser.add_argument("--random-train", action="store_true",
34 | help="not fixing random seed.")
35 | parser.add_argument("--tensorboard", action="store_true",
36 | help="visualize training loss with tensorboardX.")
37 | parser.add_argument("--viz-every-iter", type=int, default=None,
38 | help="visualize results.")
39 | parser.add_argument("--exp-suffix", type=str, default=None,
40 | help="optional experiment suffix")
41 | return parser.parse_args()
42 |
43 |
44 | def main():
45 | # LOAD ARGS
46 | args = get_arguments()
47 | print('Called with args:')
48 | print(args)
49 |
50 | assert args.cfg is not None, 'Missing cfg file'
51 | cfg_from_file(args.cfg)
52 | # auto-generate exp name if not specified
53 | if cfg.EXP_NAME == '':
54 | cfg.EXP_NAME = f'{cfg.SOURCE}2{cfg.TARGET}_{cfg.TRAIN.MODEL}_{cfg.TRAIN.DA_METHOD}'
55 |
56 | if args.exp_suffix:
57 | cfg.EXP_NAME += f'_{args.exp_suffix}'
58 | # auto-generate snapshot path if not specified
59 | if cfg.TRAIN.SNAPSHOT_DIR == '':
60 | cfg.TRAIN.SNAPSHOT_DIR = osp.join(cfg.EXP_ROOT_SNAPSHOT, cfg.EXP_NAME)
61 | os.makedirs(cfg.TRAIN.SNAPSHOT_DIR, exist_ok=True)
62 | # tensorboard
63 | if args.tensorboard:
64 | if cfg.TRAIN.TENSORBOARD_LOGDIR == '':
65 | cfg.TRAIN.TENSORBOARD_LOGDIR = osp.join(cfg.EXP_ROOT_LOGS, 'tensorboard', cfg.EXP_NAME)
66 | os.makedirs(cfg.TRAIN.TENSORBOARD_LOGDIR, exist_ok=True)
67 | if args.viz_every_iter is not None:
68 | cfg.TRAIN.TENSORBOARD_VIZRATE = args.viz_every_iter
69 | else:
70 | cfg.TRAIN.TENSORBOARD_LOGDIR = ''
71 | print('Using config:')
72 | pprint.pprint(cfg)
73 |
74 | # INIT
75 | _init_fn = None
76 | if not args.random_train:
77 | torch.manual_seed(cfg.TRAIN.RANDOM_SEED)
78 | torch.cuda.manual_seed(cfg.TRAIN.RANDOM_SEED)
79 | np.random.seed(cfg.TRAIN.RANDOM_SEED)
80 | random.seed(cfg.TRAIN.RANDOM_SEED)
81 |
82 | def _init_fn(worker_id):
83 | np.random.seed(cfg.TRAIN.RANDOM_SEED + worker_id)
84 |
85 | if os.environ.get('ADVENT_DRY_RUN', '0') == '1':
86 | return
87 |
88 | # LOAD SEGMENTATION NET
89 | assert osp.exists(cfg.TRAIN.RESTORE_FROM), f'Missing init model {cfg.TRAIN.RESTORE_FROM}'
90 | if cfg.TRAIN.MODEL == 'DeepLabv3':
91 | model = get_deeplab_v3(num_classes=cfg.NUM_CLASSES, multi_level=cfg.TRAIN.MULTI_LEVEL)
92 | saved_state_dict = torch.load(cfg.TRAIN.RESTORE_FROM)
93 | if 'DeepLab_resnet_pretrained_imagenet' in cfg.TRAIN.RESTORE_FROM:
94 | new_params = model.state_dict().copy()
95 | for i in saved_state_dict:
96 | i_parts = i.split('.')
97 | if not i_parts[1] == 'layer5':
98 | new_params['.'.join(i_parts[1:])] = saved_state_dict[i]
99 | model.load_state_dict(new_params)
100 | else:
101 | model.load_state_dict(saved_state_dict)
102 | elif cfg.TRAIN.MODEL == 'UNET':
103 | model = UNet(n_channels=3, n_classes=cfg.NUM_CLASSES, bilinear=True)
104 | else:
105 | raise NotImplementedError(f"Not yet supported {cfg.TRAIN.MODEL}")
106 | print('Model loaded')
107 |
108 | # DATALOADERS
109 | # source_dataset = Potsdam(root=cfg.DATA_DIRECTORY_SOURCE,
110 | # list_path=cfg.DATA_LIST_SOURCE,
111 | # set=cfg.TRAIN.SET_SOURCE,
112 | # max_iters=cfg.TRAIN.MAX_ITERS * cfg.TRAIN.BATCH_SIZE_SOURCE,
113 | # crop_size=cfg.TRAIN.INPUT_SIZE_SOURCE,
114 | # mean=cfg.TRAIN.IMG_MEAN)
115 | #
116 | # source_loader = data.DataLoader(source_dataset,
117 | # batch_size=cfg.TRAIN.BATCH_SIZE_SOURCE,
118 | # num_workers=cfg.NUM_WORKERS,
119 | # shuffle=True,
120 | # pin_memory=True,
121 | # worker_init_fn=_init_fn)
122 |
123 | # ---==reverse-----
124 | source_dataset = Vaihingen(root=cfg.DATA_DIRECTORY_SOURCE,
125 | list_path=cfg.DATA_LIST_SOURCE,
126 | set=cfg.TRAIN.SET_SOURCE,
127 | max_iters=cfg.TRAIN.MAX_ITERS * cfg.TRAIN.BATCH_SIZE_SOURCE,
128 | crop_size=cfg.TRAIN.INPUT_SIZE_SOURCE,
129 | mean=cfg.TRAIN.IMG_MEAN)
130 | source_loader = data.DataLoader(source_dataset,
131 | batch_size=cfg.TRAIN.BATCH_SIZE_SOURCE,
132 | num_workers=cfg.NUM_WORKERS,
133 | shuffle=True,
134 | pin_memory=True,
135 | worker_init_fn=_init_fn)
136 |
137 | with open(osp.join(cfg.TRAIN.SNAPSHOT_DIR, 'train_cfg.yml'), 'w') as yaml_file:
138 | yaml.dump(cfg, yaml_file, default_flow_style=False)
139 |
140 | # UDA TRAINING
141 | train_single_model(model, source_loader, cfg)
142 |
143 |
144 | if __name__ == '__main__':
145 | main()
146 |
--------------------------------------------------------------------------------
/ADVENT/advent/train_setup/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BOBrown/SegNet_Source/4dc9c93c77a64b0338038cc9e192006b11a5efe2/ADVENT/advent/train_setup/__init__.py
--------------------------------------------------------------------------------
/ADVENT/advent/train_setup/config.py:
--------------------------------------------------------------------------------
1 | import os.path as osp
2 |
3 | import numpy as np
4 | from easydict import EasyDict
5 |
6 | from advent.utils import project_root
7 | from advent.utils.serialization import yaml_load
8 |
9 |
10 | cfg = EasyDict()
11 |
12 | # COMMON CONFIGS
13 | # source domain
14 | cfg.SOURCE = 'PotsdamIRRG'
15 | #cfg.SOURCE = 'Vaihingen' #Vaihingen
16 | # target domain
17 | cfg.TARGET = 'Vaihingen'
18 | # Number of workers for dataloading
19 | cfg.NUM_WORKERS = 4
20 | # List of training images
21 | #cfg.DATA_LIST_SOURCE = str(project_root / 'advent/dataset/PotsdamRGB/{}.txt')
22 | cfg.DATA_LIST_SOURCE = str(project_root / 'advent/dataset/PotsdamIRRG/{}.txt')
23 | cfg.DATA_LIST_TARGET = str(project_root / 'advent/dataset/Vaihingen/{}.txt')
24 | #------reverse-------
25 | #cfg.DATA_LIST_SOURCE = str(project_root / 'advent/dataset/Vaihingen/{}.txt')
26 | #cfg.DATA_LIST_TARGET = str(project_root / 'advent/dataset/PotsdamIRRG/{}.txt')
27 |
28 | # Directories
29 | #cfg.DATA_DIRECTORY_SOURCE = str(project_root / 'data/PotsdamRGB') #str(project_root / 'data/GTA5')
30 | cfg.DATA_DIRECTORY_SOURCE = str(project_root / 'data/PotsdamIRRG')
31 | cfg.DATA_DIRECTORY_TARGET = str(project_root / 'data/Vaihingen')
32 | #------reverse-------
33 | #cfg.DATA_DIRECTORY_SOURCE = str(project_root / 'data/Vaihingen')
34 | #cfg.DATA_DIRECTORY_TARGET = str(project_root / 'data/PotsdamIRRG')
35 |
36 | # Number of object classes
37 | cfg.NUM_CLASSES = 6
38 | # Exp dirs
39 | cfg.EXP_NAME = 'PotsIRRG_to_Vaih_4_3'
40 |
41 | cfg.EXP_ROOT = project_root / 'experiments'
42 | cfg.EXP_ROOT_SNAPSHOT = osp.join(cfg.EXP_ROOT, 'snapshots')
43 | cfg.EXP_ROOT_LOGS = osp.join(cfg.EXP_ROOT, 'logs')
44 | # CUDA
45 | cfg.GPU_ID = 0
46 |
47 | # TRAIN CONFIGS
48 | cfg.TRAIN = EasyDict()
49 | cfg.TRAIN.SET_SOURCE = 'train'
50 | cfg.TRAIN.SET_TARGET = 'train'
51 | cfg.TRAIN.BATCH_SIZE_SOURCE = 4 # NEED TO CHANGE; 4 for deeplab; 8 for UNET
52 | cfg.TRAIN.BATCH_SIZE_TARGET = 4
53 | cfg.TRAIN.IGNORE_LABEL = 255
54 | cfg.TRAIN.INPUT_SIZE_SOURCE = (512, 512)
55 | cfg.TRAIN.INPUT_SIZE_TARGET = (512, 512)
56 | # Class info
57 | cfg.TRAIN.INFO_SOURCE = ''
58 | cfg.TRAIN.INFO_TARGET = str(project_root / 'advent/dataset/Vaihingen/info.json')
59 | # Segmentation network params
60 | cfg.TRAIN.MODEL = 'DeepLabv3'
61 | cfg.TRAIN.MULTI_LEVEL = False
62 | cfg.TRAIN.RESTORE_FROM = ''
63 | #----Vaihingen------#
64 | #R_mean is 119.997608, G_mean is 81.249737, B_mean is 80.672294
65 | #R_var is 54.817944, G_var is 38.977894, B_var is 37.568813
66 |
67 | #----PotsdamRGB------#
68 | #R_mean is 86.761490, G_mean is 92.735321, B_mean is 86.099505
69 | #R_var is 35.850524, G_var is 35.415636, B_var is 36.807795
70 |
71 | #------PotsdamIRRG----#
72 | #R_mean is 97.835882, G_mean is 92.735321, B_mean is 86.099505
73 | #R_var is 36.242923, G_var is 35.415636, B_var is 36.807795
74 |
75 | #ori
76 | #B:104.00698793, G:116.66876762, R:122.67891434
77 | cfg.TRAIN.IMG_MEAN = np.array((104.00698793, 116.66876762, 122.67891434), dtype=np.float32)
78 | cfg.TRAIN.IMG_MEAN_V = np.array((80.672294, 81.249737, 119.997608), dtype=np.float32)
79 | cfg.TRAIN.IMG_MEAN_PR = np.array((86.099505, 92.735321, 86.761490), dtype=np.float32)
80 | cfg.TRAIN.IMG_MEAN_PIR = np.array((86.099505, 92.735321, 97.835882), dtype=np.float32)
81 | cfg.TRAIN.LEARNING_RATE = 2.5e-4 # NEED TO CHANGE; 2.5e-4 for deeplab; 0.001 for UNET
82 | cfg.TRAIN.MOMENTUM = 0.9
83 | cfg.TRAIN.WEIGHT_DECAY = 0.0005
84 | cfg.TRAIN.POWER = 0.9 # learning rate decay
85 | cfg.TRAIN.LAMBDA_SEG_MAIN = 1.0
86 | cfg.TRAIN.LAMBDA_SEG_AUX = 0.1 # weight of conv4 prediction. Used in multi-level setting.
87 | cfg.TRAIN.LAMBDA_SEG_LOW = 0.1
88 |
89 |
90 | # Adversarial training params
91 | cfg.TRAIN.GANLOSS = 'LS' # Option: BCE and LS
92 | cfg.TRAIN.LEARNING_RATE_D = 1e-4
93 |
94 | # Other params
95 | cfg.TRAIN.MAX_ITERS = 60000 #250000
96 | cfg.TRAIN.EARLY_STOP = 30000 #120000
97 | cfg.TRAIN.SAVE_PRED_EVERY = 1000
98 | cfg.TRAIN.SNAPSHOT_DIR = ''
99 | cfg.TRAIN.RANDOM_SEED = 1234
100 | cfg.TRAIN.TENSORBOARD_LOGDIR = ''
101 | cfg.TRAIN.TENSORBOARD_VIZRATE = 50 #100
102 |
103 | # TEST CONFIGS
104 | cfg.TEST = EasyDict()
105 | cfg.TEST.MODE = 'best' # {'single', 'best'}
106 | # model
107 | cfg.TEST.MODEL = ('DeepLabv3',) # DeepLabv3 UNET
108 | cfg.TEST.MODEL_WEIGHT = (1.0,)
109 | cfg.TEST.MULTI_LEVEL = (False,)
110 | cfg.TEST.IMG_MEAN = np.array((104.00698793, 116.66876762, 122.67891434), dtype=np.float32)
111 | cfg.TEST.IMG_MEAN_V = np.array((80.672294, 81.249737, 119.997608), dtype=np.float32)
112 | cfg.TEST.IMG_MEAN_PR = np.array((86.099505, 92.735321, 86.761490), dtype=np.float32)
113 | cfg.TEST.IMG_MEAN_PIR = np.array((86.099505, 92.735321, 97.835882), dtype=np.float32)
114 | cfg.TEST.RESTORE_FROM = ('',)
115 | cfg.TEST.SNAPSHOT_DIR = ('',) # used in 'best' mode
116 | cfg.TEST.SNAPSHOT_STEP = 1000 # used in 'best' mode
117 | cfg.TEST.SNAPSHOT_MAXITER = 60000 # used in 'best' mode
118 | # Test sets
119 | cfg.TEST.SET_TARGET = 'test'
120 | cfg.TEST.BATCH_SIZE_TARGET = 1
121 | cfg.TEST.INPUT_SIZE_TARGET = (512, 512)
122 | cfg.TEST.OUTPUT_SIZE_TARGET = (512, 512)
123 | cfg.TEST.INFO_TARGET = str(project_root / 'advent/dataset/Vaihingen/info.json')
124 | cfg.TEST.WAIT_MODEL = True
125 |
126 |
127 | def _merge_a_into_b(a, b):
128 | """Merge config dictionary a into config dictionary b, clobbering the
129 | options in b whenever they are also specified in a.
130 | """
131 | if type(a) is not EasyDict:
132 | return
133 |
134 | for k, v in a.items():
135 | # a must specify keys that are in b
136 | # if not b.has_key(k):
137 | if k not in b:
138 | raise KeyError(f'{k} is not a valid config key')
139 |
140 | # the types must match, too
141 | old_type = type(b[k])
142 | if old_type is not type(v):
143 | if isinstance(b[k], np.ndarray):
144 | v = np.array(v, dtype=b[k].dtype)
145 | else:
146 | raise ValueError(f'Type mismatch ({type(b[k])} vs. {type(v)}) '
147 | f'for config key: {k}')
148 |
149 | # recursively merge dicts
150 | if type(v) is EasyDict:
151 | try:
152 | _merge_a_into_b(a[k], b[k])
153 | except Exception:
154 | print(f'Error under config key: {k}')
155 | raise
156 | else:
157 | b[k] = v
158 |
159 |
160 | def cfg_from_file(filename):
161 | """Load a config file and merge it into the default options.
162 | """
163 | yaml_cfg = EasyDict(yaml_load(filename))
164 | _merge_a_into_b(yaml_cfg, cfg)
165 |
--------------------------------------------------------------------------------
/ADVENT/advent/train_setup/eval_single.py:
--------------------------------------------------------------------------------
1 | import os.path as osp
2 | import time
3 |
4 | import numpy as np
5 | import torch
6 | from torch import nn
7 | from tqdm import tqdm
8 |
9 | from advent.utils.func import per_class_iu, fast_hist
10 | from advent.utils.serialization import pickle_dump, pickle_load
11 |
12 |
13 | def evaluate_single_model( models, test_loader, cfg,
14 | fixed_test_size=True,
15 | verbose=True):
16 | device = cfg.GPU_ID
17 | interp = None
18 | if fixed_test_size:
19 | interp = nn.Upsample(size=(cfg.TEST.OUTPUT_SIZE_TARGET[1], cfg.TEST.OUTPUT_SIZE_TARGET[0]), mode='bilinear', align_corners=True)
20 | # eval
21 | if cfg.TEST.MODE == 'single':
22 | eval_single(cfg, models,
23 | device, test_loader, interp, fixed_test_size,
24 | verbose)
25 | elif cfg.TEST.MODE == 'best':
26 | eval_best(cfg, models,
27 | device, test_loader, interp, fixed_test_size,
28 | verbose)
29 | else:
30 | raise NotImplementedError(f"Not yet supported test mode {cfg.TEST.MODE}")
31 |
32 |
33 | def eval_single(cfg, models,
34 | device, test_loader, interp,
35 | fixed_test_size, verbose):
36 | assert len(cfg.TEST.RESTORE_FROM) == len(models), 'Number of models are not matched'
37 | for checkpoint, model in zip(cfg.TEST.RESTORE_FROM, models):
38 | load_checkpoint_for_evaluation(model, checkpoint, device)
39 | # eval
40 | hist = np.zeros((cfg.NUM_CLASSES, cfg.NUM_CLASSES))
41 | for index, batch in tqdm(enumerate(test_loader)):
42 | image, label, _, name = batch
43 | if not fixed_test_size:
44 | interp = nn.Upsample(size=(label.shape[1], label.shape[2]), mode='bilinear', align_corners=True)
45 | with torch.no_grad():
46 | output = None
47 | for model, model_weight in zip(models, cfg.TEST.MODEL_WEIGHT):
48 | pred_main = model(image.cuda(device))[1]
49 | output_ = interp(pred_main).cpu().data[0].numpy()
50 | if output is None:
51 | output = model_weight * output_
52 | else:
53 | output += model_weight * output_
54 | assert output is not None, 'Output is None'
55 | output = output.transpose(1, 2, 0)
56 | output = np.argmax(output, axis=2)
57 | label = label.numpy()[0]
58 | hist += fast_hist(label.flatten(), output.flatten(), cfg.NUM_CLASSES)
59 | inters_over_union_classes = per_class_iu(hist)
60 | print(f'mIoU = \t{round(np.nanmean(inters_over_union_classes) * 100, 2)}')
61 | if verbose:
62 | display_stats(cfg, test_loader.dataset.class_names, inters_over_union_classes)
63 |
64 |
65 | def eval_best(cfg, models,
66 | device, test_loader, interp,
67 | fixed_test_size, verbose):
68 | assert len(models) == 1, 'Not yet supported multi models in this mode'
69 | assert osp.exists(cfg.TEST.SNAPSHOT_DIR[0]), 'SNAPSHOT_DIR is not found'
70 | start_iter = cfg.TEST.SNAPSHOT_STEP
71 | step = cfg.TEST.SNAPSHOT_STEP
72 | max_iter = cfg.TEST.SNAPSHOT_MAXITER
73 | cache_path = osp.join(cfg.TEST.SNAPSHOT_DIR[0], 'all_res.pkl')
74 | if osp.exists(cache_path):
75 | all_res = pickle_load(cache_path)
76 | else:
77 | all_res = {}
78 | cur_best_miou = -1
79 | cur_best_model = ''
80 | for i_iter in range(start_iter, max_iter + 1, step):
81 | restore_from = osp.join(cfg.TEST.SNAPSHOT_DIR[0], f'model_{i_iter}.pth')
82 | if not osp.exists(restore_from):
83 | # continue
84 | if cfg.TEST.WAIT_MODEL:
85 | print('Waiting for model..!')
86 | while not osp.exists(restore_from):
87 | time.sleep(5)
88 | print("Evaluating model", restore_from)
89 | if i_iter not in all_res.keys():
90 | load_checkpoint_for_evaluation(models[0], restore_from, device)
91 | # eval
92 | hist = np.zeros((cfg.NUM_CLASSES, cfg.NUM_CLASSES))
93 | # for index, batch in enumerate(test_loader):
94 | # image, _, _, name = batch
95 | test_iter = iter(test_loader)
96 | for index in tqdm(range(len(test_loader))):
97 | image, label, _, name = next(test_iter)
98 | if not fixed_test_size:
99 | interp = nn.Upsample(size=(label.shape[1], label.shape[2]), mode='bilinear', align_corners=True)
100 | with torch.no_grad():
101 | pred_main = models[0](image.cuda(device))[1]
102 | output = interp(pred_main).cpu().data[0].numpy()
103 | output = output.transpose(1, 2, 0)
104 | output = np.argmax(output, axis=2)
105 | label = label.numpy()[0]
106 | hist += fast_hist(label.flatten(), output.flatten(), cfg.NUM_CLASSES)
107 | if verbose and index > 0 and index % 100 == 0:
108 | print('{:d} / {:d}: {:0.2f}'.format(
109 | index, len(test_loader), 100 * np.nanmean(per_class_iu(hist))))
110 | inters_over_union_classes = per_class_iu(hist)
111 | all_res[i_iter] = inters_over_union_classes
112 | pickle_dump(all_res, cache_path)
113 | else:
114 | inters_over_union_classes = all_res[i_iter]
115 | computed_miou = round(np.nanmean(inters_over_union_classes) * 100, 2)
116 | if cur_best_miou < computed_miou:
117 | cur_best_miou = computed_miou
118 | cur_best_model = restore_from
119 | print('\tCurrent mIoU:', computed_miou)
120 | print('\tCurrent best model:', cur_best_model)
121 | print('\tCurrent best mIoU:', cur_best_miou)
122 | if verbose:
123 | display_stats(cfg, test_loader.dataset.class_names, inters_over_union_classes)
124 |
125 |
126 | def load_checkpoint_for_evaluation(model, checkpoint, device):
127 | saved_state_dict = torch.load(checkpoint)
128 | model.load_state_dict(saved_state_dict)
129 | model.eval()
130 | model.cuda(device)
131 |
132 |
133 | def display_stats(cfg, name_classes, inters_over_union_classes):
134 | for ind_class in range(cfg.NUM_CLASSES):
135 | print(name_classes[ind_class]
136 | + '\t' + str(round(inters_over_union_classes[ind_class] * 100, 2)))
137 |
--------------------------------------------------------------------------------
/ADVENT/advent/train_setup/train_single.py:
--------------------------------------------------------------------------------
1 | # --------------------------------------------------------
2 | # Domain adpatation training
3 | # Copyright (c) 2019 valeo.ai
4 | #
5 | # Written by Tuan-Hung Vu
6 | # --------------------------------------------------------
7 | import os
8 | import sys
9 | from pathlib import Path
10 |
11 | import os.path as osp
12 | import numpy as np
13 | import torch
14 | import torch.backends.cudnn as cudnn
15 | import torch.nn.functional as F
16 | import torch.optim as optim
17 | from tensorboardX import SummaryWriter
18 | from torch import nn
19 | from torchvision.utils import make_grid
20 | from tqdm import tqdm
21 |
22 | from advent.model.discriminator import get_fc_discriminator
23 | from advent.utils.func import adjust_learning_rate, adjust_learning_rate_discriminator
24 | from advent.utils.func import loss_calc, bce_loss, ls_loss
25 | from advent.utils.loss import entropy_loss
26 | from advent.utils.func import prob_2_entropy
27 | from advent.utils.viz_segmask import colorize_mask
28 |
29 |
30 | def train_deeplab(model, trainloader, cfg):
31 |
32 | # Create the model and start the training.
33 | input_size_source = cfg.TRAIN.INPUT_SIZE_SOURCE
34 | device = cfg.GPU_ID
35 | num_classes = cfg.NUM_CLASSES
36 | viz_tensorboard = os.path.exists(cfg.TRAIN.TENSORBOARD_LOGDIR)
37 | if viz_tensorboard:
38 | writer = SummaryWriter(log_dir=cfg.TRAIN.TENSORBOARD_LOGDIR)
39 |
40 | # SEGMNETATION NETWORK
41 | model.train()
42 | model.to(device)
43 | cudnn.benchmark = True
44 | cudnn.enabled = True
45 |
46 | # OPTIMIZERS
47 | # segnet's optimizer
48 | optimizer = optim.SGD(model.optim_parameters(cfg.TRAIN.LEARNING_RATE),
49 | lr=cfg.TRAIN.LEARNING_RATE,
50 | momentum=cfg.TRAIN.MOMENTUM,
51 | weight_decay=cfg.TRAIN.WEIGHT_DECAY)
52 |
53 | # interpolate output segmaps
54 | interp = nn.Upsample(size=(input_size_source[1], input_size_source[0]), mode='bilinear',
55 | align_corners=True)
56 |
57 | trainloader_iter = enumerate(trainloader)
58 | for i_iter in tqdm(range(cfg.TRAIN.EARLY_STOP + 1)):
59 |
60 | # reset optimizers
61 | optimizer.zero_grad()
62 | # adapt LR if needed
63 | adjust_learning_rate(optimizer, i_iter, cfg)
64 |
65 | # train on source
66 | _, batch = trainloader_iter.__next__()
67 | images_source, labels, _, _ = batch
68 | pred_src_aux, pred_src_main = model(images_source.cuda(device))
69 | if cfg.TRAIN.MULTI_LEVEL:
70 | pred_src_aux = interp(pred_src_aux)
71 | loss_seg_src_aux = loss_calc(pred_src_aux, labels, device)
72 | else:
73 | loss_seg_src_aux = 0
74 | pred_src_main = interp(pred_src_main)
75 | loss_seg_src_main = loss_calc(pred_src_main, labels, device)
76 | loss = (cfg.TRAIN.LAMBDA_SEG_MAIN * loss_seg_src_main
77 | + cfg.TRAIN.LAMBDA_SEG_AUX * loss_seg_src_aux)
78 | loss.backward()
79 |
80 | optimizer.step()
81 | current_losses = {'loss_seg_src_aux': loss_seg_src_aux,
82 | 'loss_seg_src_main': loss_seg_src_main}
83 | print_losses(current_losses, i_iter)
84 |
85 | if i_iter % cfg.TRAIN.SAVE_PRED_EVERY == 0 and i_iter != 0:
86 | print('taking snapshot ...')
87 | print('exp =', cfg.TRAIN.SNAPSHOT_DIR)
88 | snapshot_dir = Path(cfg.TRAIN.SNAPSHOT_DIR)
89 | torch.save(model.state_dict(), snapshot_dir / f'model_{i_iter}.pth')
90 | if i_iter >= cfg.TRAIN.EARLY_STOP - 1:
91 | break
92 | sys.stdout.flush()
93 |
94 | # Visualize with tensorboard
95 | if viz_tensorboard:
96 | log_losses_tensorboard(writer, current_losses, i_iter)
97 |
98 | if i_iter % cfg.TRAIN.TENSORBOARD_VIZRATE == cfg.TRAIN.TENSORBOARD_VIZRATE - 1:
99 | draw_in_tensorboard(writer, images_source, i_iter, pred_src_main, num_classes, 'S')
100 |
101 |
102 | def draw_in_tensorboard(writer, images, i_iter, pred_main, num_classes, type_):
103 | grid_image = make_grid(images[:3].clone().cpu().data, 3, normalize=True)
104 | writer.add_image(f'Image - {type_}', grid_image, i_iter)
105 |
106 | grid_image = make_grid(torch.from_numpy(np.array(colorize_mask(np.asarray(
107 | np.argmax(F.softmax(pred_main).cpu().data[0].numpy().transpose(1, 2, 0),
108 | axis=2), dtype=np.uint8)).convert('RGB')).transpose(2, 0, 1)), 3,
109 | normalize=False, range=(0, 255))
110 | writer.add_image(f'Prediction - {type_}', grid_image, i_iter)
111 |
112 | output_sm = F.softmax(pred_main).cpu().data[0].numpy().transpose(1, 2, 0)
113 | output_ent = np.sum(-np.multiply(output_sm, np.log2(output_sm)), axis=2,
114 | keepdims=False)
115 | grid_image = make_grid(torch.from_numpy(output_ent), 3, normalize=True,
116 | range=(0, np.log2(num_classes)))
117 | writer.add_image(f'Entropy - {type_}', grid_image, i_iter)
118 |
119 | def print_losses(current_losses, i_iter):
120 | list_strings = []
121 | for loss_name, loss_value in current_losses.items():
122 | list_strings.append(f'{loss_name} = {to_numpy(loss_value):.3f} ')
123 | full_string = ' '.join(list_strings)
124 | tqdm.write(f'iter = {i_iter} {full_string}')
125 |
126 |
127 | def log_losses_tensorboard(writer, current_losses, i_iter):
128 | for loss_name, loss_value in current_losses.items():
129 | writer.add_scalar(f'data/{loss_name}', to_numpy(loss_value), i_iter)
130 |
131 |
132 | def to_numpy(tensor):
133 | if isinstance(tensor, (int, float)):
134 | return tensor
135 | else:
136 | return tensor.data.cpu().numpy()
137 |
138 |
139 | def train_single_model(model, trainloader, cfg):
140 | train_deeplab(model, trainloader, cfg)
--------------------------------------------------------------------------------
/ADVENT/advent/unet/__init__.py:
--------------------------------------------------------------------------------
1 | from .unet_model import UNet
2 |
--------------------------------------------------------------------------------
/ADVENT/advent/unet/unet_model.py:
--------------------------------------------------------------------------------
1 | """ Full assembly of the parts to form the complete network """
2 |
3 | import torch.nn.functional as F
4 |
5 | from .unet_parts import *
6 |
7 |
8 | class UNet(nn.Module):
9 | def __init__(self, n_channels, n_classes, bilinear=True):
10 | super(UNet, self).__init__()
11 | self.n_channels = n_channels
12 | self.n_classes = n_classes
13 | self.bilinear = bilinear
14 |
15 | self.inc = DoubleConv(n_channels, 64)
16 | self.down1 = Down(64, 128)
17 | self.down2 = Down(128, 256)
18 | self.down3 = Down(256, 512)
19 | factor = 2 if bilinear else 1
20 | self.down4 = Down(512, 1024 // factor)
21 | self.up1 = Up(1024, 512 // factor, bilinear)
22 | self.up2 = Up(512, 256 // factor, bilinear)
23 | self.up3 = Up(256, 128 // factor, bilinear)
24 | self.up4 = Up(128, 64, bilinear)
25 | self.outc = OutConv(64, n_classes)
26 |
27 | def forward(self, x):
28 | x1 = self.inc(x)
29 | x2 = self.down1(x1)
30 | x3 = self.down2(x2)
31 | x4 = self.down3(x3)
32 | x5 = self.down4(x4)
33 | x = self.up1(x5, x4)
34 | x = self.up2(x, x3)
35 | x = self.up3(x, x2)
36 | x = self.up4(x, x1)
37 | logits = self.outc(x)
38 | return logits
39 |
--------------------------------------------------------------------------------
/ADVENT/advent/unet/unet_parts.py:
--------------------------------------------------------------------------------
1 | """ Parts of the U-Net model """
2 |
3 | import torch
4 | import torch.nn as nn
5 | import torch.nn.functional as F
6 |
7 |
8 | class DoubleConv(nn.Module):
9 | """(convolution => [BN] => ReLU) * 2"""
10 |
11 | def __init__(self, in_channels, out_channels, mid_channels=None):
12 | super().__init__()
13 | if not mid_channels:
14 | mid_channels = out_channels
15 | self.double_conv = nn.Sequential(
16 | nn.Conv2d(in_channels, mid_channels, kernel_size=3, padding=1),
17 | nn.BatchNorm2d(mid_channels),
18 | nn.ReLU(inplace=True),
19 | nn.Conv2d(mid_channels, out_channels, kernel_size=3, padding=1),
20 | nn.BatchNorm2d(out_channels),
21 | nn.ReLU(inplace=True)
22 | )
23 |
24 | def forward(self, x):
25 | return self.double_conv(x)
26 |
27 |
28 | class Down(nn.Module):
29 | """Downscaling with maxpool then double conv"""
30 |
31 | def __init__(self, in_channels, out_channels):
32 | super().__init__()
33 | self.maxpool_conv = nn.Sequential(
34 | nn.MaxPool2d(2),
35 | DoubleConv(in_channels, out_channels)
36 | )
37 |
38 | def forward(self, x):
39 | return self.maxpool_conv(x)
40 |
41 |
42 | class Up(nn.Module):
43 | """Upscaling then double conv"""
44 |
45 | def __init__(self, in_channels, out_channels, bilinear=True):
46 | super().__init__()
47 |
48 | # if bilinear, use the normal convolutions to reduce the number of channels
49 | if bilinear:
50 | self.up = nn.Upsample(scale_factor=2, mode='bilinear', align_corners=True)
51 | self.conv = DoubleConv(in_channels, out_channels, in_channels // 2)
52 | else:
53 | self.up = nn.ConvTranspose2d(in_channels , in_channels // 2, kernel_size=2, stride=2)
54 | self.conv = DoubleConv(in_channels, out_channels)
55 |
56 |
57 | def forward(self, x1, x2):
58 | x1 = self.up(x1)
59 | # input is CHW
60 | diffY = x2.size()[2] - x1.size()[2]
61 | diffX = x2.size()[3] - x1.size()[3]
62 |
63 | x1 = F.pad(x1, [diffX // 2, diffX - diffX // 2,
64 | diffY // 2, diffY - diffY // 2])
65 | # if you have padding issues, see
66 | # https://github.com/HaiyongJiang/U-Net-Pytorch-Unstructured-Buggy/commit/0e854509c2cea854e247a9c615f175f76fbb2e3a
67 | # https://github.com/xiaopeng-liao/Pytorch-UNet/commit/8ebac70e633bac59fc22bb5195e513d5832fb3bd
68 | x = torch.cat([x2, x1], dim=1)
69 | return self.conv(x)
70 |
71 |
72 | class OutConv(nn.Module):
73 | def __init__(self, in_channels, out_channels):
74 | super(OutConv, self).__init__()
75 | self.conv = nn.Conv2d(in_channels, out_channels, kernel_size=1)
76 |
77 | def forward(self, x):
78 | return self.conv(x)
79 |
--------------------------------------------------------------------------------
/ADVENT/advent/utils/__init__.py:
--------------------------------------------------------------------------------
1 | import pathlib
2 |
3 | project_root = pathlib.Path(__file__).resolve().parents[2]
4 |
5 | __all__ = ['project_root']
6 |
--------------------------------------------------------------------------------
/ADVENT/advent/utils/func.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import torch
3 | import torch.nn as nn
4 |
5 | from advent.utils.loss import cross_entropy_2d
6 |
7 |
8 | def bce_loss(y_pred, y_label):
9 | y_truth_tensor = torch.FloatTensor(y_pred.size())
10 | y_truth_tensor.fill_(y_label)
11 | y_truth_tensor = y_truth_tensor.to(y_pred.get_device())
12 | return nn.BCEWithLogitsLoss()(y_pred, y_truth_tensor)
13 |
14 | def ls_loss(y_pred, y_label):
15 | y_truth_tensor = torch.FloatTensor(y_pred.size())
16 | y_truth_tensor.fill_(y_label)
17 | y_truth_tensor = y_truth_tensor.to(y_pred.get_device())
18 | return nn.MSELoss()(y_pred, y_truth_tensor)
19 |
20 | def loss_calc(pred, label, device):
21 | """
22 | This function returns cross entropy loss for semantic segmentation
23 | """
24 | # out shape batch_size x channels x h x w -> batch_size x channels x h x w
25 | # label shape h x w x 1 x batch_size -> batch_size x 1 x h x w
26 | label = label.long().to(device)
27 | return cross_entropy_2d(pred, label)
28 |
29 |
30 | def lr_poly(base_lr, iter, max_iter, power):
31 | """ Poly_LR scheduler
32 | """
33 | return base_lr * ((1 - float(iter) / max_iter) ** power)
34 |
35 |
36 | def _adjust_learning_rate(optimizer, i_iter, cfg, learning_rate):
37 | lr = lr_poly(learning_rate, i_iter, cfg.TRAIN.MAX_ITERS, cfg.TRAIN.POWER)
38 | optimizer.param_groups[0]['lr'] = lr
39 | if len(optimizer.param_groups) > 1:
40 | optimizer.param_groups[1]['lr'] = lr * 10
41 |
42 |
43 | def adjust_learning_rate(optimizer, i_iter, cfg):
44 | """ adject learning rate for main segnet
45 | """
46 | _adjust_learning_rate(optimizer, i_iter, cfg, cfg.TRAIN.LEARNING_RATE)
47 |
48 |
49 | def adjust_learning_rate_discriminator(optimizer, i_iter, cfg):
50 | _adjust_learning_rate(optimizer, i_iter, cfg, cfg.TRAIN.LEARNING_RATE_D)
51 |
52 |
53 | def prob_2_entropy(prob):
54 | """ convert probabilistic prediction maps to weighted self-information maps
55 | """
56 | n, c, h, w = prob.size()
57 | return -torch.mul(prob, torch.log2(prob + 1e-30)) / np.log2(c)
58 |
59 |
60 | def fast_hist(a, b, n):
61 | k = (a >= 0) & (a < n)
62 | return np.bincount(n * a[k].astype(int) + b[k], minlength=n ** 2).reshape(n, n)
63 |
64 |
65 | def per_class_iu(hist):
66 | return np.diag(hist) / (hist.sum(1) + hist.sum(0) - np.diag(hist))
67 |
--------------------------------------------------------------------------------
/ADVENT/advent/utils/loss.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import torch
3 | import torch.nn.functional as F
4 | from torch.autograd import Variable
5 |
6 |
7 | def cross_entropy_2d(predict, target):
8 | """
9 | Args:
10 | predict:(n, c, h, w)
11 | target:(n, h, w)
12 | """
13 | assert not target.requires_grad
14 | assert predict.dim() == 4
15 | assert target.dim() == 3
16 | assert predict.size(0) == target.size(0), f"{predict.size(0)} vs {target.size(0)}"
17 | assert predict.size(2) == target.size(1), f"{predict.size(2)} vs {target.size(1)}"
18 | assert predict.size(3) == target.size(2), f"{predict.size(3)} vs {target.size(3)}"
19 | n, c, h, w = predict.size()
20 | target_mask = (target >= 0) * (target != 255)
21 | target = target[target_mask]
22 | if not target.data.dim():
23 | return Variable(torch.zeros(1))
24 | predict = predict.transpose(1, 2).transpose(2, 3).contiguous()
25 | predict = predict[target_mask.view(n, h, w, 1).repeat(1, 1, 1, c)].view(-1, c)
26 | loss = F.cross_entropy(predict, target, size_average=True)
27 | return loss
28 |
29 |
30 | def entropy_loss(v):
31 | """
32 | Entropy loss for probabilistic prediction vectors
33 | input: batch_size x channels x h x w
34 | output: batch_size x 1 x h x w
35 | """
36 | assert v.dim() == 4
37 | n, c, h, w = v.size()
38 | return -torch.sum(torch.mul(v, torch.log2(v + 1e-30))) / (n * h * w * np.log2(c))
39 |
--------------------------------------------------------------------------------
/ADVENT/advent/utils/serialization.py:
--------------------------------------------------------------------------------
1 | import pickle
2 | import json
3 | import yaml
4 | from pathlib import Path
5 | import os
6 |
7 |
8 | def make_parent(file_path):
9 | file_path = Path(file_path)
10 | os.makedirs(file_path.parent, exist_ok=True)
11 |
12 |
13 | def pickle_dump(python_object, file_path):
14 | make_parent(file_path)
15 | with open(file_path, 'wb') as f:
16 | pickle.dump(python_object, f)
17 |
18 |
19 | def pickle_load(file_path):
20 | with open(file_path, 'rb') as f:
21 | return pickle.load(f)
22 |
23 |
24 | def json_load(file_path):
25 | with open(file_path, 'r') as fp:
26 | return json.load(fp)
27 |
28 |
29 | def yaml_dump(python_object, file_path):
30 | make_parent(file_path)
31 | with open(file_path, 'w') as f:
32 | yaml.dump(python_object, f, default_flow_style=False)
33 |
34 |
35 | def yaml_load(file_path):
36 | with open(file_path, 'r') as f:
37 | return yaml.load(f)
38 |
--------------------------------------------------------------------------------
/ADVENT/advent/utils/viz_segmask.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from PIL import Image
3 |
4 | palette = [128, 64, 128, 244, 35, 232, 70, 70, 70, 102, 102, 156,
5 | 190, 153, 153, 153, 153, 153, 250,
6 | 170, 30,
7 | 220, 220, 0, 107, 142, 35, 152, 251, 152,
8 | 70, 130, 180, 220, 20, 60, 255, 0, 0, 0, 0,
9 | 142, 0, 0, 70,
10 | 0, 60, 100, 0, 80, 100, 0, 0, 230, 119, 11, 32]
11 | zero_pad = 256 * 3 - len(palette)
12 | for i in range(zero_pad):
13 | palette.append(0)
14 |
15 |
16 | def colorize_mask(mask):
17 | # mask: numpy array of the mask
18 | new_mask = Image.fromarray(mask.astype(np.uint8)).convert('P')
19 | new_mask.putpalette(palette)
20 | return new_mask
21 |
--------------------------------------------------------------------------------
/ADVENT/setup.py:
--------------------------------------------------------------------------------
1 | from setuptools import find_packages
2 | from setuptools import setup
3 |
4 | setup(name='ADVENT',
5 | install_requires=['pyyaml', 'tensorboardX',
6 | 'easydict', 'matplotlib',
7 | 'scipy', 'scikit-image',
8 | 'future', 'setuptools',
9 | 'tqdm', 'cffi'],
10 | packages=find_packages())
11 |
--------------------------------------------------------------------------------
/ADVENT/teaser.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BOBrown/SegNet_Source/4dc9c93c77a64b0338038cc9e192006b11a5efe2/ADVENT/teaser.jpg
--------------------------------------------------------------------------------
/ADVENT/tox.ini:
--------------------------------------------------------------------------------
1 | [flake8]
2 | exclude = .git,__pycache__,build,dist
3 | max-line-length = 99
4 | ignore = E121,E123,E126,E226,E24,E704,W503,W504,N812
5 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
Curriculum-style Local-to-global Adaptation for Cross-domain Remote Sensing Image Segmentation
3 |
4 |
5 |
8 |
9 |
12 |
13 |
16 |
17 |
18 |

19 |
20 |
21 |
22 |
23 |
24 | If you find our code or paper useful to your research work, please consider citing our work using the following bibtex:
25 | ```
26 | @article{zhang2021curriculum,
27 | title={Curriculum-Style Local-to-Global Adaptation for Cross-Domain Remote Sensing Image Segmentation},
28 | author={Zhang, Bo and Chen, Tao and Wang, Bin},
29 | journal={IEEE Transactions on Geoscience and Remote Sensing},
30 | volume={60},
31 | pages={1--12},
32 | year={2021},
33 | publisher={IEEE}
34 | }
35 | ```
36 |
37 | ## Preprocessing data
38 | Following [DualGAN](https://www.sciencedirect.com/science/article/pii/S0924271621000423), we crop the whole images in Potsdam IR-R-G dataset into the size of 512 × 512 with both horizontal and vertical strides of 512 pixels, and generate 4598 patches. For Vaihingen dataset, we crop the whole images into a size of 512 × 512 with both horizontal and vertical strides of 256 pixels and obtain 1696 patches
39 |
40 | The following processed datasets are used in our paper:
41 | - PotsdamIRRG \[[Dataset Page](https://drive.google.com/file/d/1EuTBY25cq65KBYfCcCkcMqB0pMOQHGNw/view?usp=sharing)\]
42 | - PotsdamRGB \[[Dataset Page](https://drive.google.com/file/d/1EuTBY25cq65KBYfCcCkcMqB0pMOQHGNw/view?usp=sharing)\]
43 | - Vaihingen \[[Dataset Page](https://drive.google.com/file/d/1EuTBY25cq65KBYfCcCkcMqB0pMOQHGNw/view?usp=sharing)\]
44 |
45 | After dowloading datasets, copy the data.zip to /ADVENT/. and extract it:
46 | ```
47 | unzip data.zip
48 | ```
49 |
50 | ## Dowloading the ImageNet pretrained model
51 | - ImageNet pretrained weights \[[Dataset Page](https://drive.google.com/file/d/1CZIJ5IJMPrsFB5URU76GJ5LjWqpRKjSM/view?usp=sharing)\]
52 |
53 | ## Train the source-only model from ImageNet pretrained model
54 | ```
55 | cd /SegNet_Source/ADVENT/.
56 | pip install -e .
57 | cd /SegNet_Source/ADVENT/scripts/.
58 | python train.py --cfg /root/code/SegNet_Source/ADVENT/advent/scripts/configs/advent.yml
59 | ```
60 |
61 | ## Test the source-only model
62 | ```
63 | python test.py --cfg /root/code/SegNet_Source/ADVENT/advent/scripts/configs/advent.yml
64 | ```
65 |
66 | ## Contact
67 | We have tried our best to verify the correctness of our released data, code and trained model weights.
68 | However, there are a large number of experiment settings, all of which have been extracted and reorganized from our original codebase.
69 | There may be some undetected bugs or errors in the current release.
70 | If you encounter any issues or have questions about using this code, please feel free to contact us via bo.zhangzx@gmail.com
71 |
72 |
--------------------------------------------------------------------------------