Skip to content

MRucka/Drought-Watch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ConvNet drought conditions prediction using multispectral satellite images

This repo is a record of our (me along with my 2 university friends) struggles to take first place in Weights & Biases "Drought Watch" community benchmark, but more importantly - to develop a robust model capable of monitoring drought conditions in Kenya!

I strongly encourage you to check out and contribute to Weights & Biases community benchmarks!
Also, feel free to use our ideas to develop your own classifiers!

Our ideas

Since the beginnig, we wanted to do something special.
First of all, we developed a handcrafted clouds detection method in order to discard the most cloudy and noisy images using dependencies between spectra (concretely, between Thermal Infrareds and Blue - we assume that such images should be marked properly and not used when assessing).
We have also started developing a handcrafted method for shadows removal based on this article. However, only RGB shadow removal has been implemented so far and it doesn't increase model's accuracy.
See this notebook for neat visualization of methods mentioned above.
However, we hope that the biggest possible game changer will be applying ideas from this article. The authors state that ConvNets are not capable of learning some useful global features. They precalculate features and inject them in the last FC layers.
A script for calculating the features has been already implemented, but calculations are presently too slow to use it while training on account of no vectorization (100ms vs 2s).

What we have achieved so far

We've developed a high-accuracy, 3rd place (77.13%) model by searching for the best hyperparameters and utilizing clouds detection mentioned above.
The model seems to be too complex (oscilating val_accuracy), but there's still much to be done!

Environment

The model was developed and trained using TensorFlow 2 and Google Colab GPU.

What's next

In the near future, we are going to try:

  • EfficientNet architectures;
  • Haralick features code review & vectorization;
  • clouds detection code vectorization;
  • data augmentation techniques.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published