Codebase for the MSc thesis paper Aerial Imagery Pixel-level Segmentation
It is crucial to take note of your own GPU driver environment. For this work the following environment was available (High Performance Cluster at Eindhoven University of Technology):
- GCC & G++: 5.4.0 (20160609)
- Nvidia driver: 450.51.06
- CUDA driver: 11.0
- CUDA compilation tools (including nvcc): release 10.2, V10.2.89
- Using TensorFlow through Conda automatically installs the latest CuDNN version in your local environment.
This is for use with the dd-ml-benchmark implementation
- conda create --name fastai_gpu pytorch torchvision cudatoolkit=10.1 -c pytorch
- conda activate fastai_gpu
- conda install -c fastai fastai=1.0.61
- conda install opencv typing wandb scikit-learn
- pip install image-classifiers
This is for use with the dd-ml-benchmark implementation
- conda create --name keras_gpu keras tensorflow-gpu=1.15
- conda activate keras_gpu
- conda install opencv typing wandb scikit-learn
- pip install image-classifiers
This is for use with the models/research/deeplab Tensorflow implementation
- conda create --name tf1_gpu tensorflow-gpu=1.15
- conda activate tf1_gpu
- conda install -c conda-forge pillow tqdm numpy
- pip install tf_slim
- From tensorflow/models/research/ directory run: export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
DeepLabv3+ Tensorflow research codebase https://github.com/tensorflow/models/tree/master/research/deeplab extensions
- convert_rgb_to_index.py (altered to strip 3 dimensional segmentation labels to 1 dimensional)
- build_dd_data.py (altered for DroneDeploy compatiblity)
- data_generator.py (altered for DroneDeploy compatiblity)
- train-dd-full.sh, eval-dd.sh, vis-dd.sh (dataset adaptations inspired by this GitHub repo\footnote[2]{https://github.com/heaversm/deeplab-training})
DroneDeploy benchmark codebase https://github.com/dronedeploy/dd-ml-segmentation-benchmark extensions
- custom_training.py (implementation Focal loss function for fastai u-net)
- custom_training_keras.py (implementation Focal loss function for Keras u-net)
- images2chips.py (added test images conversion to tiles for DeepLabv3+ compatibility)
- scoring.py (added mean IOU and IOU score per class metric)