Project for using machine learning for analysis of multispectral Sentinel 2 satellite images
Clone this repository
This project requires Python, TensorFlow and GDAL. The author has used the Anaconda python distribution and installed TensorFlow and GDAL trough the conda and conda-forge package repositories. PyCharm is used as an IDE. The new Anaconda enabled PyCharm may be more convenient than the standard version?
The NVIDIA Cuda libraries has to be installed separately
First install the newest NVIDIA drivers and the Cuda packages.
Install Anaconda Python and PyCharm.
It is recommended to install tensorflow in a separate conda environment
conda create -n tensorflow_gpuenv tensorflow-gpu
conda activate tensorflow_gpuenv
Currently the conda-forge version of GDAL must be used as it has Jpeg2000 support (needed for loading Sentinel 2 images):
conda install -c conda-forge gdal
training_data.py - cut the 100x100km satellite image tile (100000x100000 pixels) into training-friendly tiles of 128x128 and 64x64 pixels, pack several channels into the same tiff file. Create feature images as training targets. Assemble lists of suitable training - validation - test images.
cnn.py - Build a convolutional neural network and run training and test.
cluster_test.py and senteniel_api.py - experimental and unfinished code
- Rune Aasgaard - Initial work
- Summer interns: Bjørn Magnus Valberg Iversen, Arild Dalsgård, and Erling Ljunggren