Multiclass Dataset statistics#
[1]:
from aitlas.datasets import (
AIDDataset,
EurosatDataset,
PatternNetDataset,
Resisc45Dataset,
RSD46WHUDataset,
RSICB256Dataset,
RSSCN7Dataset,
SAT6Dataset,
SiriWhuDataset,
UcMercedDataset,
WHURS19Dataset,
CLRSDataset,
BrazilianCoffeeScenesDataset,
Optimal31Dataset,
So2SatDataset
)
AID dataset#
[2]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/AID",
"csv_file": "/media/hdd/multi-class/AID/train.csv"
}
train_dataset = AIDDataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 8000
[2]:
Label | Count | |
---|---|---|
0 | Airport | 280 |
1 | BareLand | 249 |
2 | BaseballField | 168 |
3 | Beach | 323 |
4 | Bridge | 294 |
5 | Center | 204 |
6 | Church | 190 |
7 | Commercial | 281 |
8 | DenseResidential | 328 |
9 | Desert | 241 |
10 | Farmland | 293 |
11 | Forest | 205 |
12 | Industrial | 338 |
13 | Meadow | 213 |
14 | MediumResidential | 238 |
15 | Mountain | 270 |
16 | Park | 277 |
17 | Parking | 309 |
18 | Playground | 291 |
19 | Pond | 349 |
20 | Port | 321 |
21 | RailwayStation | 201 |
22 | Resort | 227 |
23 | River | 325 |
24 | School | 243 |
25 | SparseResidential | 224 |
26 | Square | 262 |
27 | Stadium | 236 |
28 | StorageTanks | 299 |
29 | Viaduct | 321 |


Eurosat dataset#
[4]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/EuroSAT",
"csv_file": "/media/hdd/multi-class/EuroSAT/train.csv"
}
train_dataset = EurosatDataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 21600
[4]:
Label | Count | |
---|---|---|
0 | AnnualCrop | 2421 |
1 | Forest | 2382 |
2 | HerbaceousVegetation | 2394 |
3 | Highway | 2000 |
4 | Industrial | 2004 |
5 | Pasture | 1600 |
6 | PermanentCrop | 1993 |
7 | Residential | 2426 |
8 | River | 2003 |
9 | SeaLake | 2377 |


PatternNet dataset#
[5]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/PatternNet",
"csv_file": "/media/hdd/multi-class/PatternNet/train.csv"
}
train_dataset = PatternNetDataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 24320
[5]:
Label | Count | |
---|---|---|
0 | airplane | 652 |
1 | baseball_field | 642 |
2 | basketball_court | 641 |
3 | beach | 654 |
4 | bridge | 639 |
5 | cemetery | 646 |
6 | chaparral | 630 |
7 | christmas_tree_farm | 634 |
8 | closed_road | 643 |
9 | coastal_mansion | 624 |
10 | crosswalk | 636 |
11 | dense_residential | 630 |
12 | ferry_terminal | 646 |
13 | football_field | 643 |
14 | forest | 658 |
15 | freeway | 634 |
16 | golf_course | 649 |
17 | harbor | 615 |
18 | intersection | 631 |
19 | mobile_home_park | 635 |
20 | nursing_home | 640 |
21 | oil_gas_field | 635 |
22 | oil_well | 653 |
23 | overpass | 645 |
24 | parking_lot | 637 |
25 | parking_space | 656 |
26 | railway | 647 |
27 | river | 657 |
28 | runway | 651 |
29 | runway_marking | 618 |
30 | shipping_yard | 625 |
31 | solar_panel | 634 |
32 | sparse_residential | 635 |
33 | storage_tank | 634 |
34 | swimming_pool | 632 |
35 | tennis_court | 646 |
36 | transformer_station | 652 |
37 | wastewater_treatment_plant | 641 |


Resisc45 dataset#
[6]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/RESISC45",
"csv_file": "/media/hdd/multi-class/RESISC45/train.csv"
}
train_dataset = Resisc45Dataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 25200
[6]:
Label | Count | |
---|---|---|
0 | airplane | 545 |
1 | airport | 555 |
2 | baseball_diamond | 561 |
3 | basketball_court | 560 |
4 | beach | 581 |
5 | bridge | 557 |
6 | chaparral | 547 |
7 | church | 559 |
8 | circular_farmland | 562 |
9 | cloud | 563 |
10 | commercial_area | 557 |
11 | dense_residential | 565 |
12 | desert | 566 |
13 | forest | 576 |
14 | freeway | 562 |
15 | golf_course | 568 |
16 | ground_track_field | 563 |
17 | harbor | 556 |
18 | industrial_area | 568 |
19 | intersection | 569 |
20 | island | 555 |
21 | lake | 565 |
22 | meadow | 551 |
23 | medium_residential | 566 |
24 | mobile_home_park | 557 |
25 | mountain | 537 |
26 | overpass | 561 |
27 | palace | 549 |
28 | parking_lot | 579 |
29 | railway | 535 |
30 | railway_station | 567 |
31 | rectangular_farmland | 566 |
32 | river | 565 |
33 | roundabout | 558 |
34 | runway | 560 |
35 | sea_ice | 549 |
36 | ship | 564 |
37 | snowberg | 558 |
38 | sparse_residential | 566 |
39 | stadium | 568 |
40 | storage_tank | 540 |
41 | tennis_court | 572 |
42 | terrace | 570 |
43 | thermal_power_station | 556 |
44 | wetland | 546 |


RSD46WHU dataset train split#
[7]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/RSD46-WHU/train",
"csv_file": "/media/hdd/multi-class/RSD46-WHU/train/train.csv"
}
train_dataset = RSD46WHUDataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 99381
[7]:
Label | Count | |
---|---|---|
0 | Airplane | 2575 |
1 | Airport | 1405 |
2 | Artificial dense forest land | 2388 |
3 | Artificial sparse forest land | 2404 |
4 | Bare land | 851 |
5 | Basketball court | 2534 |
6 | Blue structured factory building | 2611 |
7 | Building | 2940 |
8 | Construction site | 2786 |
9 | Cross river bridge | 1910 |
10 | Crossroads | 1741 |
11 | Dense tall building | 2608 |
12 | Dock | 2675 |
13 | Fish pond | 1372 |
14 | Footbridge | 2230 |
15 | Graff | 2559 |
16 | Grassland | 2408 |
17 | Low scattered building | 2039 |
18 | Lrregular farmland | 2665 |
19 | Medium density scattered building | 894 |
20 | Medium density structured building | 3015 |
21 | Natural dense forest land | 2550 |
22 | Natural sparse forest land | 2519 |
23 | Oiltank | 1368 |
24 | Overpass | 2128 |
25 | Parking lot | 2598 |
26 | Plasticgreenhouse | 863 |
27 | Playground | 2728 |
28 | Railway | 2646 |
29 | Red structured factory building | 2536 |
30 | Refinery | 2259 |
31 | Regular farmland | 2728 |
32 | Scattered blue roof factory building | 2593 |
33 | Scattered red roof factory building | 2497 |
34 | Sewage plant-type-one | 458 |
35 | Sewage plant-type-two | 364 |
36 | Ship | 2563 |
37 | Solar power station | 2579 |
38 | Sparse residential area | 2534 |
39 | Square | 2813 |
40 | Steelsmelter | 2494 |
41 | Storage land | 1798 |
42 | Tennis court | 1322 |
43 | Thermal power plant | 1074 |
44 | Vegetable plot | 2452 |
45 | Water | 2307 |


RSD46WHU dataset test split#
[10]:
test_dataset_config = {
"data_dir": "/media/hdd/multi-class/RSD46-WHU/val",
"csv_file": "/media/hdd/multi-class/RSD46-WHU/val/test.csv"
}
test_dataset = RSD46WHUDataset(test_dataset_config)
print(f"Total number of images: {len(test_dataset)}")
fig = test_dataset.show_batch(20, True)
fig = test_dataset.data_distribution_barchart()
test_dataset.data_distribution_table()
Total number of images: 17512
[10]:
Label | Count | |
---|---|---|
0 | Airplane | 454 |
1 | Airport | 247 |
2 | Artificial dense forest land | 420 |
3 | Artificial sparse forest land | 424 |
4 | Bare land | 150 |
5 | Basketball court | 447 |
6 | Blue structured factory building | 460 |
7 | Building | 518 |
8 | Construction site | 491 |
9 | Cross river bridge | 337 |
10 | Crossroads | 307 |
11 | Dense tall building | 460 |
12 | Dock | 472 |
13 | Fish pond | 241 |
14 | Footbridge | 393 |
15 | Graff | 451 |
16 | Grassland | 424 |
17 | Low scattered building | 359 |
18 | Lrregular farmland | 470 |
19 | Medium density scattered building | 157 |
20 | Medium density structured building | 532 |
21 | Natural dense forest land | 450 |
22 | Natural sparse forest land | 445 |
23 | Oiltank | 241 |
24 | Overpass | 375 |
25 | Parking lot | 458 |
26 | Plasticgreenhouse | 152 |
27 | Playground | 481 |
28 | Railway | 466 |
29 | Red structured factory building | 447 |
30 | Refinery | 399 |
31 | Regular farmland | 481 |
32 | Scattered blue roof factory building | 457 |
33 | Scattered red roof factory building | 440 |
34 | Sewage plant-type-one | 80 |
35 | Sewage plant-type-two | 64 |
36 | Ship | 451 |
37 | Solar power station | 454 |
38 | Sparse residential area | 447 |
39 | Square | 496 |
40 | Steelsmelter | 439 |
41 | Storage land | 316 |
42 | Tennis court | 232 |
43 | Thermal power plant | 189 |
44 | Vegetable plot | 432 |
45 | Water | 406 |


RSICB256 dataset#
[11]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/RSI-CB256",
"csv_file": "/media/hdd/multi-class/RSI-CB256/train.csv"
}
train_dataset = RSICB256Dataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 19798
[11]:
Label | Count | |
---|---|---|
0 | airplane | 288 |
1 | airport_runway | 535 |
2 | artificial_grassland | 222 |
3 | avenue | 443 |
4 | bare_land | 663 |
5 | bridge | 372 |
6 | city_building | 810 |
7 | coastline | 360 |
8 | container | 521 |
9 | crossroads | 448 |
10 | dam | 260 |
11 | desert | 866 |
12 | dry_farm | 1027 |
13 | forest | 885 |
14 | green_farmland | 516 |
15 | highway | 180 |
16 | hirst | 502 |
17 | lakeshore | 363 |
18 | mangrove | 812 |
19 | marina | 297 |
20 | mountain | 670 |
21 | parkinglot | 364 |
22 | pipeline | 162 |
23 | residents | 658 |
24 | river | 440 |
25 | river_protection_forest | 441 |
26 | sandbeach | 432 |
27 | sapling | 695 |
28 | sea | 834 |
29 | shrubwood | 1058 |
30 | snow_mountain | 920 |
31 | sparse_forest | 886 |
32 | storage_room | 1042 |
33 | stream | 554 |
34 | town | 272 |


RSSCN7 dataset#
[12]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/RSSCN7",
"csv_file": "/media/hdd/multi-class/RSSCN7/train.csv"
}
train_dataset = RSSCN7Dataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 2240
[12]:
Label | Count | |
---|---|---|
0 | farm_land | 305 |
1 | forest | 322 |
2 | grass_land | 323 |
3 | industrial_region | 310 |
4 | parking_lot | 348 |
5 | residential_region | 317 |
6 | river_lake | 315 |


SAT6 train split#
[13]:
train_dataset_config = {
"mat_file": "/media/hdd/multi-class/SAT/sat-6-full.mat",
"mode": "train"
}
train_dataset = SAT6Dataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 324000
[13]:
Label | Count | |
---|---|---|
0 | barren land | 73397 |
1 | buildings | 14923 |
2 | grassland | 50347 |
3 | roads | 8192 |
4 | trees | 56809 |
5 | water bodies | 120332 |


SAT6 test split#
[14]:
test_dataset_config = {
"mat_file": "/media/hdd/multi-class/SAT/sat-6-full.mat",
"mode": "test"
}
test_dataset = SAT6Dataset(test_dataset_config)
print(f"Total number of images: {len(test_dataset)}")
fig = test_dataset.show_batch(20, True)
fig = test_dataset.data_distribution_barchart()
test_dataset.data_distribution_table()
Total number of images: 81000
[14]:
Label | Count | |
---|---|---|
0 | barren land | 18367 |
1 | buildings | 3714 |
2 | grassland | 12596 |
3 | roads | 2070 |
4 | trees | 14185 |
5 | water bodies | 30068 |


SiriWhu dataset#
[15]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/SIRI-WHU",
"csv_file": "/media/hdd/multi-class/SIRI-WHU/train.csv"
}
train_dataset = SiriWhuDataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 1920
[15]:
Label | Count | |
---|---|---|
0 | agriculture | 157 |
1 | commercial | 163 |
2 | harbor | 158 |
3 | idle_land | 153 |
4 | industrial | 159 |
5 | meadow | 161 |
6 | overpass | 168 |
7 | park | 159 |
8 | pond | 153 |
9 | residential | 161 |
10 | river | 167 |
11 | water | 161 |


UcMerced dataset#
[16]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/UCMerced",
"csv_file": "/media/hdd/multi-class/UCMerced/train.csv"
}
train_dataset = UcMercedDataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 1680
[16]:
Label | Count | |
---|---|---|
0 | agricultural | 81 |
1 | airplane | 79 |
2 | baseballdiamond | 77 |
3 | beach | 89 |
4 | buildings | 76 |
5 | chaparral | 84 |
6 | denseresidential | 81 |
7 | forest | 81 |
8 | freeway | 79 |
9 | golfcourse | 76 |
10 | harbor | 79 |
11 | intersection | 84 |
12 | mediumresidential | 81 |
13 | mobilehomepark | 78 |
14 | overpass | 77 |
15 | parkinglot | 78 |
16 | river | 78 |
17 | runway | 82 |
18 | sparseresidential | 82 |
19 | storagetanks | 79 |
20 | tenniscourt | 79 |


WHURS19 dataset#
[17]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/WHU-RS19",
"csv_file": "/media/hdd/multi-class/WHU-RS19/train.csv"
}
train_dataset = WHURS19Dataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 804
[17]:
Label | Count | |
---|---|---|
0 | Airport | 47 |
1 | Beach | 39 |
2 | Bridge | 39 |
3 | Commercial | 46 |
4 | Desert | 37 |
5 | Farmland | 40 |
6 | Forest | 41 |
7 | Industrial | 42 |
8 | Meadow | 49 |
9 | Mountain | 39 |
10 | Park | 40 |
11 | Parking | 40 |
12 | Pond | 42 |
13 | Port | 43 |
14 | Residential | 47 |
15 | River | 45 |
16 | Viaduct | 42 |
17 | footballField | 46 |
18 | railwayStation | 40 |


CLRS dataset#
[18]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/CLRS",
"csv_file": "/media/hdd/multi-class/CLRS/train.csv"
}
train_dataset = CLRSDataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 12000
[18]:
Label | Count | |
---|---|---|
0 | airport | 479 |
1 | bare-land | 477 |
2 | beach | 476 |
3 | bridge | 486 |
4 | commercial | 476 |
5 | desert | 481 |
6 | farmland | 498 |
7 | forest | 497 |
8 | golf-course | 466 |
9 | highway | 481 |
10 | industrial | 491 |
11 | meadow | 473 |
12 | mountain | 484 |
13 | overpass | 482 |
14 | park | 456 |
15 | parking | 465 |
16 | playground | 480 |
17 | port | 483 |
18 | railway | 488 |
19 | railway-station | 492 |
20 | residential | 469 |
21 | river | 476 |
22 | runway | 474 |
23 | stadium | 490 |
24 | storage-tank | 480 |


Brazilian Coffee Scenes dataset#
[19]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/BCS",
"csv_file": "/media/hdd/multi-class/BCS/train.csv"
}
train_dataset = BrazilianCoffeeScenesDataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 2876
[19]:
Label | Count | |
---|---|---|
0 | coffee | 1438 |
1 | noncoffee | 1438 |


Optimal 31 Dataset#
[20]:
train_dataset_config = {
"data_dir": "/media/hdd/multi-class/Optimal31",
"csv_file": "/media/hdd/multi-class/Optimal31/train.csv"
}
train_dataset = Optimal31Dataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 1860
[20]:
Label | Count | |
---|---|---|
0 | airplane | 60 |
1 | airport | 60 |
2 | baseball_diamond | 60 |
3 | basketball_court | 60 |
4 | beach | 60 |
5 | bridge | 60 |
6 | chaparral | 60 |
7 | church | 60 |
8 | circular_farmland | 60 |
9 | commercial_area | 60 |
10 | dense_residential | 60 |
11 | desert | 60 |
12 | forest | 60 |
13 | freeway | 60 |
14 | golf_course | 60 |
15 | ground_track_field | 60 |
16 | harbor | 60 |
17 | industrial_area | 60 |
18 | intersection | 60 |
19 | island | 60 |
20 | lake | 60 |
21 | meadow | 60 |
22 | medium_residential | 60 |
23 | mobile_home_park | 60 |
24 | mountain | 60 |
25 | overpass | 60 |
26 | parking_lot | 60 |
27 | railway | 60 |
28 | rectangular_farmland | 60 |
29 | roundabout | 60 |
30 | runway | 60 |


So2Sat Dataset train split#
[22]:
train_dataset_config = {
"h5_file": "/media/hdd/multi-class/So2Sat/training.h5"
}
train_dataset = So2SatDataset(train_dataset_config)
print(f"Total number of images: {len(train_dataset)}")
fig = train_dataset.show_batch(20, True)
fig = train_dataset.data_distribution_barchart()
train_dataset.data_distribution_table()
Total number of images: 352366
[22]:
Label | Count | |
---|---|---|
0 | Compact high_rise | 5068.0 |
1 | Compact middle_rise | 24431.0 |
2 | Compact low_rise | 31693.0 |
3 | Open high_rise | 8651.0 |
4 | Open middle_rise | 16493.0 |
5 | Open low_rise | 35290.0 |
6 | Lightweight low_rise | 3269.0 |
7 | Large low_rise | 39326.0 |
8 | Sparsely built | 13584.0 |
9 | Heavy industry | 11954.0 |
10 | Dense trees | 42902.0 |
11 | Scattered trees | 9514.0 |
12 | Bush or scrub | 9165.0 |
13 | Low plants | 41377.0 |
14 | Bare rock or paved | 2392.0 |
15 | Bare soil or sand | 7898.0 |
16 | Water | 49359.0 |


So2Sat Dataset validation split#
[23]:
validation_dataset_config = {
"h5_file": "/media/hdd/multi-class/So2Sat/validation.h5"
}
validation_dataset = So2SatDataset(validation_dataset_config)
print(f"Total number of images: {len(validation_dataset)}")
fig = validation_dataset.show_batch(20, True)
fig = validation_dataset.data_distribution_barchart()
validation_dataset.data_distribution_table()
Total number of images: 24119
[23]:
Label | Count | |
---|---|---|
0 | Compact high_rise | 256.0 |
1 | Compact middle_rise | 1254.0 |
2 | Compact low_rise | 2353.0 |
3 | Open high_rise | 849.0 |
4 | Open middle_rise | 757.0 |
5 | Open low_rise | 1906.0 |
6 | Lightweight low_rise | 474.0 |
7 | Large low_rise | 3395.0 |
8 | Sparsely built | 1914.0 |
9 | Heavy industry | 860.0 |
10 | Dense trees | 2287.0 |
11 | Scattered trees | 382.0 |
12 | Bush or scrub | 1202.0 |
13 | Low plants | 2747.0 |
14 | Bare rock or paved | 202.0 |
15 | Bare soil or sand | 672.0 |
16 | Water | 2609.0 |


So2Sat Dataset test split#
[24]:
test_dataset_config = {
"h5_file": "/media/hdd/multi-class/So2Sat/testing.h5"
}
test_dataset = So2SatDataset(test_dataset_config)
print(f"Total number of images: {len(test_dataset)}")
fig = test_dataset.show_batch(20, True)
fig = test_dataset.data_distribution_barchart()
test_dataset.data_distribution_table()
Total number of images: 24188
[24]:
Label | Count | |
---|---|---|
0 | Compact high_rise | 266.0 |
1 | Compact middle_rise | 1262.0 |
2 | Compact low_rise | 2465.0 |
3 | Open high_rise | 857.0 |
4 | Open middle_rise | 763.0 |
5 | Open low_rise | 1936.0 |
6 | Lightweight low_rise | 503.0 |
7 | Large low_rise | 3496.0 |
8 | Sparsely built | 2013.0 |
9 | Heavy industry | 908.0 |
10 | Dense trees | 2368.0 |
11 | Scattered trees | 433.0 |
12 | Bush or scrub | 1166.0 |
13 | Low plants | 2435.0 |
14 | Bare rock or paved | 205.0 |
15 | Bare soil or sand | 572.0 |
16 | Water | 2540.0 |


[ ]: