Giter Site home page Giter Site logo

mintusf / land_cover_segmentation Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 1.0 129.59 MB

Segmentation for land cover using raw satellite data (Sentinel 2La)

License: Apache License 2.0

Python 28.02% Jupyter Notebook 71.98%
satellite-imagery remote-sensing segmentation land-cover

land_cover_segmentation's Introduction

Hello there ๐Ÿ‘‹




land_cover_segmentation's People

Contributors

mintusf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

mookfan akmmes

land_cover_segmentation's Issues

Update README

Summary

Update README with:

  • how to run explanation
  • folders explanation

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Fix global stats calculation

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Update environment scripts

Summary

Update environment scripts

Goal

Update environment scripts

Todo

  • sudo user in container
  • setup_env for AWS

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add logger

Summary

Add logger

Goal

Add logger

Todo

  • log config
  • log metrics
  • log chackpoints

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add evaluation logger

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add visualization

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add github actions

Summary

Add github actions

Goal

Add github actions

Todo

  • flake8
  • CI pipeline
  • auto assign

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add comet logging

Summary

Add comet logging

Goal

Add comet logging

Todo

  • metrics
  • config

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Split dataloader

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add config

Summary

Add config

Goal

Add config

Todo

  • Add config

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Fix device selection

Summary

Fix device selection

Goal

Fix device selection

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add dataloader type from ["train", "val"]

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

convert to TensorRT

Summary

In order to make inference faster, we will convert to TensorRT

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Infer big raster

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add focal loss

Summary

Add focal loss

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add class importance for weights

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Implement train and val step

Summary

Implement train and val step

Goal

Implement train and val step

Todo

  • train step
  • val step

Deadline

xx/xx

Parent issue

#10

References

None

Notes

None

Decide and implement labeling

Summary

In the dataset, there are for types of masks (as described here):

  • IGBP (International Geosphere-Bioshpere Programme): 67% accuracy
  • LCCS LC (land cover): 74% accuracy
  • LCCS LU (land use): 81% accuracy
  • LCCS SH (surface hydrology): 87% accuracy
    The goal is to decide how to combine these 4 types in order to create one ground truth.

image

Goal

Describe the definition by which this issue will be closed.

Todo

  • perform masks EDA
  • decide labeling generation
  • implement

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Prepare train/val/test dataset split

Summary

Prepare train/val/test dataset split

Goal

Prepare lists for training

Todo

  • Prepare train/val/test dataset split

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Split test to test and infer

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Classes count to json and load from it

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Make .py script to count classes

Summary

Currently it is done by notebook, but it is more convenient to implement it in the training pipeline.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add data augmentation

Summary

Add data augmentation

Goal

Describe the definition by which this issue will be closed.

Todo

  • random resize crop
  • histogram shifting

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add dataset with snow/ice labels

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add stepLR scheduler

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Implement getters for training

Summary

Implement getters for:

  • loss
  • optimizer
  • lr scheduler
  • model
  • dataloader

Goal

Implement all getters

Todo

  • implement all getters

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add HRNet architecture

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Implement train loop

Summary

Implement training loop in order to train segmentation model.

References

None

Notes

None

Calculate metrics per batch

Summary

If we keep appending targets and preds, GPU is out of memory.
In order to improve space complexity, let's calculate confusion matrix per batch and keep adding it to global confusion matrix.
After all batches are calculated, recall and precision can be calculated using only confusion matrix.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Save predicted mask to raster

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add device to config

Summary

Add device to config

Goal

Add device to config

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

#10

References

None

Notes

None

Add pipenv env

Summary

Add pipenv env

Goal

Add pipenv env

Todo

  • Add pipenv env

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add dataloader

Summary

In order to load data, dataloader should be implemented.
It will load input data (satellite image), as well as ground truth (land cover segmentation).

Goal

Implement dataloader

Todo

  • implement satellite image loading
  • implement mask loading
  • implement transform

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Optimize masks

Summary

In order to optimize predictions, we will make following updates to masks:

  • merge open forest with dense forest
  • remove wetlands by replacing with water and urban

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add weighted loss

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

Add class label to alphablend

Summary

Describe this issue summary here.

Goal

Describe the definition by which this issue will be closed.

Todo

  • task1 to do
  • task2 to do

Deadline

xx/xx

Parent issue

None

References

None

Notes

None

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.