-
Notifications
You must be signed in to change notification settings - Fork 379
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Land cover mapping tutorial #2449
base: main
Are you sure you want to change the base?
Conversation
@burakekim Can you add the tutorial to the table of content in the rst file? Then one can view it in the CI docs to review as well :) |
The initial and somewhat end-to-end draft is now out:
There are quite a few things I want to correct and improve:
P.S. In the next iteration, I am thinking of renaming the case study to |
Co-authored-by: Adam J. Stewart <[email protected]>
Still need to actually look at the code, but here are responses to your TODOs:
Note that this needs to run in CI, preferably in seconds, not days. We can monkeypatch certain hyperparams to make this faster, but it shouldn't require a GPU.
Happy to do this if it makes the above faster while still getting good results.
Avoid big data, this needs to run in CI where we have very limited storage, don't want to wait 10 min to download data during a tutorial. Not sure what you mean by opportunistic sampling, but there are various GeoDataset splitting methods that you can use to chop a tile into east/west splits, grids, etc.
I think both add value. Basically, we should have some kind of binary semantic segmentation application, and some kind of multiclass semantic segmentation application. They don't both have to be for agriculture though. For binary, something like building mapping may make more sense. Also, tasks involving agriculture benefit greatly from time-series data. I'm planning on extending this tutorial for time series once we add support for it. So don't worry too much about the details right now, they will change in the future. This will also make the big data problem even worse, so keep the images small for now.
Would prefer to avoid any additional dependencies if we can. Any reason we can't plot a static map with matplotlib?
I agree with the rename. Both "Crop Classification" and "Crop Type Mapping" are common names. I think the latter may actually be even more common, and more technically correct. A computer vision person may argue that this is semantic segmentation, not classification. Of course, semantic segmentation is just pixelwise classification, so the distinction isn't too important. |
Adding a new tutorial according to #2418
This tutorial demonstrates how to combine Sentinel-2 and
CDLEuroCrops datasets using theSentinel2CDLDataModuleSentinel2EuroCropsDataModule
. It covers training a semantic segmentation model, along with evaluation and inference steps.