Comments (8)
No worries, I'll be curious to hear how it works out.
Cheers!
from pytorch-psetae.
Hi jnyborg,
Thanks a lot! You are making a very good point, ConvLSTM for instance have shown the ability to detect and filter out cloudy pixels and there's no reason why the attention-based approach couldn't.
It's rather a case of old habits die hard: we were using this dataset to develop earlier methods that were more sensitive to clouds, hence the cloud filtering. But there is not specific reason to do it anymore, and we will remove this preprocessing step in our future datasets.
Regarding the interpolation method, yes it requires a cloud mask and cloudy pixels are replaced by the linear interpolation of the previous and next available clear pixel.
from pytorch-psetae.
This paper is actually more relevant. The same cloud filtering ability is shown for the Transformer.
from pytorch-psetae.
Thanks for the help! I was also suspecting that it might be due to other methods. But skipping this step should make it a lot easier to preprocess my dataset.
Also, I was wondering: when you evaluate your model, do you still randomly sample pixels from test parcels? Or did you find it beneficial to include all pixels at inference time?
from pytorch-psetae.
You're welcome!
Yes we keep the random sampling at inference time to keep things simple.
I think we tried averaging the prediction over several different samplings but with no noteworthy improvement.
The upside of this is that you could only keep S pixels from each parcel once your model is trained, thus reducing even more you dataset size for inference.
from pytorch-psetae.
That's an interesting idea, a bit like test-time augmentation but for pixel-sets---too bad it didn't yield noteworthy improvements. Thanks again for the quick response, I should be set for now to test out your approach on my own dataset!
from pytorch-psetae.
Can confirm it works just fine with cloudy pixels. I've been running with L1C data with cloud coverage <90%, and the lightweight version of your model recovers almost the full performance of a ResNet16+GRU model (94.8 vs 96.1 in test F1 score). Tweaking your training a bit by adding weight decay and a cosine annealing learning rate schedule (which my model also benefits from) further increases F1 to 95.8, so I think your model can very well surpass my CNN based model as you show in your paper with a bit more tuning---my CNN model also benefits from a lot of augmentation.
This is super cool! This is a reduction in model parameters from 25 million to 160.000 in my case, and also reducing data from 58GB compressed to 20GB uncompressed, making it so much nicer to work with. And the fact that we can throw away 99% of parameters with no performance drop is... well, kind of interesting. I very much look forward to experimenting further with your approach!
from pytorch-psetae.
Thanks for the feedback! And I am glad to hear that the improvements we saw both in performance and in technical constraints also apply for your setup and dataset, that's good news.
from pytorch-psetae.
Related Issues (20)
- Question about THEIA tiles pre-processing HOT 4
- dataset HOT 1
- Is dates.json mandatory? HOT 7
- GeoTiff and GeoJson HOT 2
- How to normalize data if I have dataset not for everyday? HOT 14
- Inference issue HOT 2
- Timestamp HOT 4
- Dataset.py script + geomfeat.json
- Tensor reshape HOT 4
- Duplicating pixels, DataLoader, pooling functions HOT 2
- What is the crop type of the 19 classes? And the 44classes?
- How to train on the dataset which is sequential? HOT 4
- How do I build my own dataset? HOT 2
- Importance of dates.json and dataset with several seasons
- Generation of normalisation_values.pkl HOT 1
- Possibility on training binary classes? HOT 1
- Question regarding the normalization values HOT 1
- About dataset. HOT 2
- Question HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pytorch-psetae.