GithubHelp home page GithubHelp logo

claramartiny / droughtwatch Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 2.0 113.75 MB

Predict drought conditions in Northern Kenya using deep learning models (CNN) on satellite images.

Makefile 0.49% Python 7.22% Jupyter Notebook 92.02% JavaScript 0.21% Dockerfile 0.05%

droughtwatch's Introduction

Data analysis

  • Description: This project leverages deep learning and computer vision for drought resilience, using satellite images and human expert labels to detect drought conditions in Northern Kenya.

  • Data Source: USGS Landsat 8 Collection 1 Tier 1 and Real-Time data Raw Scenes

  • Type of analysis:

  • Dataset: The current dataset consists of 86,317 train and 10,778 validation satellite images, 65x65 pixels each, in 10 spectrum bands, with 10,774 images withheld to test long-term generalization (107,869 total). Human experts (pastoralists) have labeled these with the number of cows that the geographic location at the center of the image could support (0, 1, 2, or 3+ cows).Each pixel represents a 30 meter square, so the images at full size are 1.95 kilometers across. Pastoralists are asked to rate the quality of the area within 20 meters of where they are standing, which corresponds to an area slightly larger a single pixel. Since forage quality is correlated across space, the larger image may be useful for prediction.

The data is in TFRecords format, split into train and val, and takes up 4.3GB (2.15GB zipped). You can learn more about the format of the satellite images here: https://developers.google.com/earth-engine/datasets/catalog/LANDSAT_LC08_C01_T1_RT

Startup the project

The initial setup.

Create virtualenv and install the project:

  $ sudo apt-get install virtualenv python-pip python-dev
  $ deactivate; virtualenv ~/venv ; source ~/venv/bin/activate ;\
    pip install pip -U; pip install -r requirements.txt

Unittest test:

  $ make clean install test

Check for droughtwatch in gitlab.com/{group}. If your project is not set please add it:

  • Create a new project on gitlab.com/{group}/droughtwatch
  • Then populate it:
  $ ##   e.g. if group is "{group}" and project_name is "droughtwatch"
  $ git remote add origin [email protected]:{group}/droughtwatch.git
  $ git push -u origin master
  $ git push -u origin --tags

Functionnal test with a script:

  $ cd /tmp
  $ droughtwatch-run

Install

Go to gitlab.com/{group}/droughtwatch to see the project, manage issues, setup you ssh public key, ...

Create a python3 virtualenv and activate it:

  $ sudo apt-get install virtualenv python-pip python-dev
  $ deactivate; virtualenv -ppython3 ~/venv ; source ~/venv/bin/activate

Clone the project and install it:

  $ git clone gitlab.com/{group}/droughtwatch
  $ cd droughtwatch
  $ pip install -r requirements.txt
  $ make clean install test                # install and test

Functionnal test with a script:

  $ cd /tmp
  $ droughtwatch-run

droughtwatch's People

Contributors

claramartiny avatar camilbelmaachi avatar ludo915 avatar tom-sachs avatar

Stargazers

 avatar  avatar Alice Martinez avatar Marie avatar Robin Cole avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.