repository for the publication titled "Phenotyping urban built and natural environments with high-resolution satellite images and unsupervised deep learning"
# Clustering satellite images of Accra
Code used for the paper "Phenotyping urban built and natural environments with high-resolution
satellite images and unsupervised deep learning" published in STOTEN, 2023. Access here:
doi.org
The clustering algorithm was adapted from the DeepCluster algorithm by Caron (2018), which was published by Facebook research and
is also openly available, was run on 3 RTX6000 GPUs, 72GB memory and a runtime of approximately 24 h.
github.com
## Requirements
- Python 3
- the SciPy and scikit-learn packages
- a PyTorch install version 0.1.8 (pytorch.org)
- CUDA 8.0
- a Faiss install (Faiss)
- The ImageNet dataset (which can be automatically downloaded by recent version of torchvision)
## Usage
as defined in satcluster/DeepCluster/example_script.sh
```
main_sfeatures.py [-h] [--arch ARCH] [--sobel] [--clustering {Kmeans,PIC}]
[--nmb_cluster NMB_CLUSTER] [--lr LR] [--wd WD]
[--reassign REASSIGN] [--workers WORKERS] [--epochs EPOCHS]
[--start_epoch START_EPOCH] [--batch BATCH]
[--momentum MOMENTUM] [--resume PATH]
[--checkpoints CHECKPOINTS] [--seed SEED] [--exp EXP] [--features_epoch] [--features_epoch]
[--verbose]
DIR
positional arguments:
DIR path to dataset
optional arguments:
-h, --help show this help message and exit
--arch ARCH, -a ARCH11CNN architecture (default: vgg16)
--sobel Sobel filtering
--clustering {Kmeans,PIC}
clustering algorithm (default: Kmeans)
--nmb_cluster NMB_CLUSTER, --k NMB_CLUSTER
number of cluster for k-means (default: 8)
--lr LR learning rate (default: 0.0001)
--wd WD weight decay pow (default: -5)
--reassign REASSIGN how many epochs of training between two consecutive
reassignments of clusters (default: 1)
--workers WORKERS number of data loading workers (default: 4)
--epochs EPOCHS number of total epochs to run (default: 20)
--start_epoch START …